From 3474be85bb94d3708a4989cdb4ae4018b9cd8f6b Mon Sep 17 00:00:00 2001
From: Sami Spets <savasp@utu.fi>
Date: Mon, 9 Dec 2019 08:35:41 +0200
Subject: [PATCH] Removed react code (client folder)

---
 web-service/client/.gitignore           |    18 -
 web-service/client/package-lock.json    | 13159 ----------------------
 web-service/client/package.json         |    30 -
 web-service/client/public/index.html    |    31 -
 web-service/client/src/App.css          |    41 -
 web-service/client/src/App.js           |    50 -
 web-service/client/src/Configuration.js |     5 -
 web-service/client/src/Login.js         |    27 -
 web-service/client/src/Stream.js        |    16 -
 web-service/client/src/Streams.js       |    59 -
 web-service/client/src/Thumbnail.js     |    48 -
 web-service/client/src/index.js         |     8 -
 web-service/client/src/libde265.js      | 11426 -------------------
 web-service/client/src/libde265.min.js  |   462 -
 14 files changed, 25380 deletions(-)
 delete mode 100644 web-service/client/.gitignore
 delete mode 100644 web-service/client/package-lock.json
 delete mode 100644 web-service/client/package.json
 delete mode 100644 web-service/client/public/index.html
 delete mode 100644 web-service/client/src/App.css
 delete mode 100644 web-service/client/src/App.js
 delete mode 100644 web-service/client/src/Configuration.js
 delete mode 100644 web-service/client/src/Login.js
 delete mode 100644 web-service/client/src/Stream.js
 delete mode 100644 web-service/client/src/Streams.js
 delete mode 100644 web-service/client/src/Thumbnail.js
 delete mode 100644 web-service/client/src/index.js
 delete mode 100644 web-service/client/src/libde265.js
 delete mode 100644 web-service/client/src/libde265.min.js

diff --git a/web-service/client/.gitignore b/web-service/client/.gitignore
deleted file mode 100644
index 927d17bb9..000000000
--- a/web-service/client/.gitignore
+++ /dev/null
@@ -1,18 +0,0 @@
-# See https://help.github.com/ignore-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-
-# testing
-/coverage
-
-# production
-/build
-
-# misc
-.DS_Store
-.env
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
diff --git a/web-service/client/package-lock.json b/web-service/client/package-lock.json
deleted file mode 100644
index 14231a541..000000000
--- a/web-service/client/package-lock.json
+++ /dev/null
@@ -1,13159 +0,0 @@
-{
-  "name": "client",
-  "version": "0.1.0",
-  "lockfileVersion": 1,
-  "requires": true,
-  "dependencies": {
-    "@babel/code-frame": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
-      "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
-      "requires": {
-        "@babel/highlight": "^7.0.0"
-      }
-    },
-    "@babel/core": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz",
-      "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==",
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "@babel/generator": "^7.5.5",
-        "@babel/helpers": "^7.5.5",
-        "@babel/parser": "^7.5.5",
-        "@babel/template": "^7.4.4",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5",
-        "convert-source-map": "^1.1.0",
-        "debug": "^4.1.0",
-        "json5": "^2.1.0",
-        "lodash": "^4.17.13",
-        "resolve": "^1.3.2",
-        "semver": "^5.4.1",
-        "source-map": "^0.5.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "@babel/generator": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz",
-      "integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==",
-      "requires": {
-        "@babel/types": "^7.6.0",
-        "jsesc": "^2.5.1",
-        "lodash": "^4.17.13",
-        "source-map": "^0.5.0",
-        "trim-right": "^1.0.1"
-      }
-    },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
-      "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
-      "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-react-jsx": {
-      "version": "7.3.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz",
-      "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==",
-      "requires": {
-        "@babel/types": "^7.3.0",
-        "esutils": "^2.0.0"
-      }
-    },
-    "@babel/helper-call-delegate": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
-      "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.4.4",
-        "@babel/traverse": "^7.4.4",
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-create-class-features-plugin": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz",
-      "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-member-expression-to-functions": "^7.5.5",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5",
-        "@babel/helper-split-export-declaration": "^7.4.4"
-      }
-    },
-    "@babel/helper-define-map": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
-      "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/types": "^7.5.5",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
-      "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
-      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-get-function-arity": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
-      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
-      "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
-      "requires": {
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
-      "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
-      "requires": {
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
-      "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
-      "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "@babel/template": "^7.4.4",
-        "@babel/types": "^7.5.5",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
-      "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
-      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA=="
-    },
-    "@babel/helper-regex": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
-      "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
-      "requires": {
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
-      "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-wrap-function": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
-      "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.5.5",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
-      "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
-      "requires": {
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
-      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
-      "requires": {
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
-      "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.2.0"
-      }
-    },
-    "@babel/helpers": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz",
-      "integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==",
-      "requires": {
-        "@babel/template": "^7.6.0",
-        "@babel/traverse": "^7.6.0",
-        "@babel/types": "^7.6.0"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
-      "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
-      "requires": {
-        "chalk": "^2.0.0",
-        "esutils": "^2.0.2",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "@babel/parser": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
-      "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g=="
-    },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
-      "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0",
-        "@babel/plugin-syntax-async-generators": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-class-properties": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz",
-      "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==",
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.5.5",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-decorators": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz",
-      "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==",
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-decorators": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
-      "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
-      "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-json-strings": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz",
-      "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
-      "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
-      "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
-      "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-decorators": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz",
-      "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-dynamic-import": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
-      "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-flow": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz",
-      "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
-      "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-jsx": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz",
-      "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
-      "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
-      "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-typescript": {
-      "version": "7.3.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz",
-      "integrity": "sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
-      "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
-      "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
-      "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz",
-      "integrity": "sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
-      "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-define-map": "^7.5.5",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
-      "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
-      "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
-      "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
-      "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
-      "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-flow-strip-types": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz",
-      "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-flow": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
-      "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
-      "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
-      "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
-      "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
-      "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
-      "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
-      "requires": {
-        "@babel/helper-module-transforms": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
-      "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
-      "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz",
-      "integrity": "sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==",
-      "requires": {
-        "regexp-tree": "^0.1.13"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
-      "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
-      "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
-      "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
-      "requires": {
-        "@babel/helper-call-delegate": "^7.4.4",
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-property-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
-      "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-react-constant-elements": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.0.tgz",
-      "integrity": "sha512-np/nPuII8DHOZWB3u8u+NSeKlEz0eBrOlnVksIQog4C9NGVzXO+NLxMcXn4Eu4GMFzOw2W6Tyo6L3+Wv8z9Y5w==",
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-react-display-name": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz",
-      "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-react-jsx": {
-      "version": "7.3.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz",
-      "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==",
-      "requires": {
-        "@babel/helper-builder-react-jsx": "^7.3.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-react-jsx-self": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz",
-      "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-react-jsx-source": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz",
-      "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.4.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
-      "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
-      "requires": {
-        "regenerator-transform": "^0.14.0"
-      }
-    },
-    "@babel/plugin-transform-reserved-words": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
-      "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-runtime": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz",
-      "integrity": "sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "resolve": "^1.8.1",
-        "semver": "^5.5.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
-      "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.2.2",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
-      "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
-      "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
-      "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
-      "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-typescript": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz",
-      "integrity": "sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog==",
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.6.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-typescript": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz",
-      "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      }
-    },
-    "@babel/preset-env": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.0.tgz",
-      "integrity": "sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
-        "@babel/plugin-proposal-dynamic-import": "^7.5.0",
-        "@babel/plugin-proposal-json-strings": "^7.2.0",
-        "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-syntax-async-generators": "^7.2.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.2.0",
-        "@babel/plugin-syntax-json-strings": "^7.2.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
-        "@babel/plugin-transform-arrow-functions": "^7.2.0",
-        "@babel/plugin-transform-async-to-generator": "^7.5.0",
-        "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
-        "@babel/plugin-transform-block-scoping": "^7.6.0",
-        "@babel/plugin-transform-classes": "^7.5.5",
-        "@babel/plugin-transform-computed-properties": "^7.2.0",
-        "@babel/plugin-transform-destructuring": "^7.6.0",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/plugin-transform-duplicate-keys": "^7.5.0",
-        "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
-        "@babel/plugin-transform-for-of": "^7.4.4",
-        "@babel/plugin-transform-function-name": "^7.4.4",
-        "@babel/plugin-transform-literals": "^7.2.0",
-        "@babel/plugin-transform-member-expression-literals": "^7.2.0",
-        "@babel/plugin-transform-modules-amd": "^7.5.0",
-        "@babel/plugin-transform-modules-commonjs": "^7.6.0",
-        "@babel/plugin-transform-modules-systemjs": "^7.5.0",
-        "@babel/plugin-transform-modules-umd": "^7.2.0",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.0",
-        "@babel/plugin-transform-new-target": "^7.4.4",
-        "@babel/plugin-transform-object-super": "^7.5.5",
-        "@babel/plugin-transform-parameters": "^7.4.4",
-        "@babel/plugin-transform-property-literals": "^7.2.0",
-        "@babel/plugin-transform-regenerator": "^7.4.5",
-        "@babel/plugin-transform-reserved-words": "^7.2.0",
-        "@babel/plugin-transform-shorthand-properties": "^7.2.0",
-        "@babel/plugin-transform-spread": "^7.2.0",
-        "@babel/plugin-transform-sticky-regex": "^7.2.0",
-        "@babel/plugin-transform-template-literals": "^7.4.4",
-        "@babel/plugin-transform-typeof-symbol": "^7.2.0",
-        "@babel/plugin-transform-unicode-regex": "^7.4.4",
-        "@babel/types": "^7.6.0",
-        "browserslist": "^4.6.0",
-        "core-js-compat": "^3.1.1",
-        "invariant": "^2.2.2",
-        "js-levenshtein": "^1.1.3",
-        "semver": "^5.5.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "@babel/preset-react": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz",
-      "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-transform-react-display-name": "^7.0.0",
-        "@babel/plugin-transform-react-jsx": "^7.0.0",
-        "@babel/plugin-transform-react-jsx-self": "^7.0.0",
-        "@babel/plugin-transform-react-jsx-source": "^7.0.0"
-      }
-    },
-    "@babel/preset-typescript": {
-      "version": "7.3.3",
-      "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz",
-      "integrity": "sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-transform-typescript": "^7.3.2"
-      }
-    },
-    "@babel/runtime": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz",
-      "integrity": "sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==",
-      "requires": {
-        "regenerator-runtime": "^0.13.2"
-      }
-    },
-    "@babel/template": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
-      "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.6.0",
-        "@babel/types": "^7.6.0"
-      },
-      "dependencies": {
-        "@babel/parser": {
-          "version": "7.6.0",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz",
-          "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ=="
-        }
-      }
-    },
-    "@babel/traverse": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz",
-      "integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==",
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "@babel/generator": "^7.6.0",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "@babel/parser": "^7.6.0",
-        "@babel/types": "^7.6.0",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0",
-        "lodash": "^4.17.13"
-      },
-      "dependencies": {
-        "@babel/parser": {
-          "version": "7.6.0",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz",
-          "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ=="
-        }
-      }
-    },
-    "@babel/types": {
-      "version": "7.6.1",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
-      "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
-      "requires": {
-        "esutils": "^2.0.2",
-        "lodash": "^4.17.13",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "@cnakazawa/watch": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz",
-      "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==",
-      "requires": {
-        "exec-sh": "^0.3.2",
-        "minimist": "^1.2.0"
-      }
-    },
-    "@csstools/convert-colors": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
-      "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw=="
-    },
-    "@csstools/normalize.css": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-9.0.1.tgz",
-      "integrity": "sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA=="
-    },
-    "@hapi/address": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.1.tgz",
-      "integrity": "sha512-DYuHzu978pP1XW1GD3HGvLnAFjbQTIgc2+V153FGkbS2pgo9haigCdwBnUDrbhaOkgiJlbZvoEqDrcxSLHpiWA=="
-    },
-    "@hapi/bourne": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
-      "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA=="
-    },
-    "@hapi/hoek": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.4.tgz",
-      "integrity": "sha512-Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow=="
-    },
-    "@hapi/joi": {
-      "version": "15.1.1",
-      "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
-      "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
-      "requires": {
-        "@hapi/address": "2.x.x",
-        "@hapi/bourne": "1.x.x",
-        "@hapi/hoek": "8.x.x",
-        "@hapi/topo": "3.x.x"
-      }
-    },
-    "@hapi/topo": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.3.tgz",
-      "integrity": "sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ==",
-      "requires": {
-        "@hapi/hoek": "8.x.x"
-      }
-    },
-    "@jest/console": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz",
-      "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==",
-      "requires": {
-        "@jest/source-map": "^24.9.0",
-        "chalk": "^2.0.1",
-        "slash": "^2.0.0"
-      }
-    },
-    "@jest/core": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz",
-      "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==",
-      "requires": {
-        "@jest/console": "^24.7.1",
-        "@jest/reporters": "^24.9.0",
-        "@jest/test-result": "^24.9.0",
-        "@jest/transform": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "ansi-escapes": "^3.0.0",
-        "chalk": "^2.0.1",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.1.15",
-        "jest-changed-files": "^24.9.0",
-        "jest-config": "^24.9.0",
-        "jest-haste-map": "^24.9.0",
-        "jest-message-util": "^24.9.0",
-        "jest-regex-util": "^24.3.0",
-        "jest-resolve": "^24.9.0",
-        "jest-resolve-dependencies": "^24.9.0",
-        "jest-runner": "^24.9.0",
-        "jest-runtime": "^24.9.0",
-        "jest-snapshot": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "jest-validate": "^24.9.0",
-        "jest-watcher": "^24.9.0",
-        "micromatch": "^3.1.10",
-        "p-each-series": "^1.0.0",
-        "realpath-native": "^1.1.0",
-        "rimraf": "^2.5.4",
-        "slash": "^2.0.0",
-        "strip-ansi": "^5.0.0"
-      },
-      "dependencies": {
-        "jest-resolve": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
-          "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
-          "requires": {
-            "@jest/types": "^24.9.0",
-            "browser-resolve": "^1.11.3",
-            "chalk": "^2.0.1",
-            "jest-pnp-resolver": "^1.2.1",
-            "realpath-native": "^1.1.0"
-          }
-        }
-      }
-    },
-    "@jest/environment": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz",
-      "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==",
-      "requires": {
-        "@jest/fake-timers": "^24.9.0",
-        "@jest/transform": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "jest-mock": "^24.9.0"
-      }
-    },
-    "@jest/fake-timers": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz",
-      "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "jest-message-util": "^24.9.0",
-        "jest-mock": "^24.9.0"
-      }
-    },
-    "@jest/reporters": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz",
-      "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==",
-      "requires": {
-        "@jest/environment": "^24.9.0",
-        "@jest/test-result": "^24.9.0",
-        "@jest/transform": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "chalk": "^2.0.1",
-        "exit": "^0.1.2",
-        "glob": "^7.1.2",
-        "istanbul-lib-coverage": "^2.0.2",
-        "istanbul-lib-instrument": "^3.0.1",
-        "istanbul-lib-report": "^2.0.4",
-        "istanbul-lib-source-maps": "^3.0.1",
-        "istanbul-reports": "^2.2.6",
-        "jest-haste-map": "^24.9.0",
-        "jest-resolve": "^24.9.0",
-        "jest-runtime": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "jest-worker": "^24.6.0",
-        "node-notifier": "^5.4.2",
-        "slash": "^2.0.0",
-        "source-map": "^0.6.0",
-        "string-length": "^2.0.0"
-      },
-      "dependencies": {
-        "jest-resolve": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
-          "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
-          "requires": {
-            "@jest/types": "^24.9.0",
-            "browser-resolve": "^1.11.3",
-            "chalk": "^2.0.1",
-            "jest-pnp-resolver": "^1.2.1",
-            "realpath-native": "^1.1.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "@jest/source-map": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz",
-      "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
-      "requires": {
-        "callsites": "^3.0.0",
-        "graceful-fs": "^4.1.15",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "callsites": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-          "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "@jest/test-result": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz",
-      "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==",
-      "requires": {
-        "@jest/console": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "@types/istanbul-lib-coverage": "^2.0.0"
-      }
-    },
-    "@jest/test-sequencer": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz",
-      "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==",
-      "requires": {
-        "@jest/test-result": "^24.9.0",
-        "jest-haste-map": "^24.9.0",
-        "jest-runner": "^24.9.0",
-        "jest-runtime": "^24.9.0"
-      }
-    },
-    "@jest/transform": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz",
-      "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==",
-      "requires": {
-        "@babel/core": "^7.1.0",
-        "@jest/types": "^24.9.0",
-        "babel-plugin-istanbul": "^5.1.0",
-        "chalk": "^2.0.1",
-        "convert-source-map": "^1.4.0",
-        "fast-json-stable-stringify": "^2.0.0",
-        "graceful-fs": "^4.1.15",
-        "jest-haste-map": "^24.9.0",
-        "jest-regex-util": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "micromatch": "^3.1.10",
-        "pirates": "^4.0.1",
-        "realpath-native": "^1.1.0",
-        "slash": "^2.0.0",
-        "source-map": "^0.6.1",
-        "write-file-atomic": "2.4.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "@jest/types": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
-      "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
-      "requires": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^1.1.1",
-        "@types/yargs": "^13.0.0"
-      }
-    },
-    "@mrmlnc/readdir-enhanced": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
-      "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
-      "requires": {
-        "call-me-maybe": "^1.0.1",
-        "glob-to-regexp": "^0.3.0"
-      }
-    },
-    "@nodelib/fs.stat": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
-      "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw=="
-    },
-    "@svgr/babel-plugin-add-jsx-attribute": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz",
-      "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig=="
-    },
-    "@svgr/babel-plugin-remove-jsx-attribute": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz",
-      "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ=="
-    },
-    "@svgr/babel-plugin-remove-jsx-empty-expression": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz",
-      "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w=="
-    },
-    "@svgr/babel-plugin-replace-jsx-attribute-value": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz",
-      "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w=="
-    },
-    "@svgr/babel-plugin-svg-dynamic-title": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz",
-      "integrity": "sha512-p6z6JJroP989jHWcuraeWpzdejehTmLUpyC9smhTBWyPN0VVGe2phbYxpPTV7Vh8XzmFrcG55idrnfWn/2oQEw=="
-    },
-    "@svgr/babel-plugin-svg-em-dimensions": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz",
-      "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w=="
-    },
-    "@svgr/babel-plugin-transform-react-native-svg": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz",
-      "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw=="
-    },
-    "@svgr/babel-plugin-transform-svg-component": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz",
-      "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw=="
-    },
-    "@svgr/babel-preset": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.1.tgz",
-      "integrity": "sha512-rPFKLmyhlh6oeBv3j2vEAj2nd2QbWqpoJLKzBLjwQVt+d9aeXajVaPNEqrES2spjXKR4OxfgSs7U0NtmAEkr0Q==",
-      "requires": {
-        "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0",
-        "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0",
-        "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0",
-        "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0",
-        "@svgr/babel-plugin-svg-dynamic-title": "^4.3.1",
-        "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0",
-        "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0",
-        "@svgr/babel-plugin-transform-svg-component": "^4.2.0"
-      }
-    },
-    "@svgr/core": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.2.tgz",
-      "integrity": "sha512-N+tP5CLFd1hP9RpO83QJPZY3NL8AtrdqNbuhRgBkjE/49RnMrrRsFm1wY8pueUfAGvzn6tSXUq29o6ah8RuR5w==",
-      "requires": {
-        "@svgr/plugin-jsx": "^4.3.2",
-        "camelcase": "^5.3.1",
-        "cosmiconfig": "^5.2.1"
-      }
-    },
-    "@svgr/hast-util-to-babel-ast": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz",
-      "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==",
-      "requires": {
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@svgr/plugin-jsx": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz",
-      "integrity": "sha512-+1GW32RvmNmCsOkMoclA/TppNjHPLMnNZG3/Ecscxawp051XJ2MkO09Hn11VcotdC2EPrDfT8pELGRo+kbZ1Eg==",
-      "requires": {
-        "@babel/core": "^7.4.5",
-        "@svgr/babel-preset": "^4.3.1",
-        "@svgr/hast-util-to-babel-ast": "^4.3.2",
-        "svg-parser": "^2.0.0"
-      }
-    },
-    "@svgr/plugin-svgo": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz",
-      "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==",
-      "requires": {
-        "cosmiconfig": "^5.2.1",
-        "merge-deep": "^3.0.2",
-        "svgo": "^1.2.2"
-      }
-    },
-    "@svgr/webpack": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.2.tgz",
-      "integrity": "sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w==",
-      "requires": {
-        "@babel/core": "^7.4.5",
-        "@babel/plugin-transform-react-constant-elements": "^7.0.0",
-        "@babel/preset-env": "^7.4.5",
-        "@babel/preset-react": "^7.0.0",
-        "@svgr/core": "^4.3.2",
-        "@svgr/plugin-jsx": "^4.3.2",
-        "@svgr/plugin-svgo": "^4.3.1",
-        "loader-utils": "^1.2.3"
-      }
-    },
-    "@types/babel__core": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz",
-      "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==",
-      "requires": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "@types/babel__generator": "*",
-        "@types/babel__template": "*",
-        "@types/babel__traverse": "*"
-      }
-    },
-    "@types/babel__generator": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.0.2.tgz",
-      "integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@types/babel__template": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
-      "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
-      "requires": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@types/babel__traverse": {
-      "version": "7.0.7",
-      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz",
-      "integrity": "sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==",
-      "requires": {
-        "@babel/types": "^7.3.0"
-      }
-    },
-    "@types/eslint-visitor-keys": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
-      "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag=="
-    },
-    "@types/istanbul-lib-coverage": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz",
-      "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg=="
-    },
-    "@types/istanbul-lib-report": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz",
-      "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==",
-      "requires": {
-        "@types/istanbul-lib-coverage": "*"
-      }
-    },
-    "@types/istanbul-reports": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz",
-      "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==",
-      "requires": {
-        "@types/istanbul-lib-coverage": "*",
-        "@types/istanbul-lib-report": "*"
-      }
-    },
-    "@types/json-schema": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz",
-      "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A=="
-    },
-    "@types/q": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz",
-      "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw=="
-    },
-    "@types/stack-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
-      "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw=="
-    },
-    "@types/yargs": {
-      "version": "13.0.2",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.2.tgz",
-      "integrity": "sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==",
-      "requires": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "@types/yargs-parser": {
-      "version": "13.1.0",
-      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz",
-      "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg=="
-    },
-    "@typescript-eslint/eslint-plugin": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz",
-      "integrity": "sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g==",
-      "requires": {
-        "@typescript-eslint/experimental-utils": "1.13.0",
-        "eslint-utils": "^1.3.1",
-        "functional-red-black-tree": "^1.0.1",
-        "regexpp": "^2.0.1",
-        "tsutils": "^3.7.0"
-      }
-    },
-    "@typescript-eslint/experimental-utils": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz",
-      "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==",
-      "requires": {
-        "@types/json-schema": "^7.0.3",
-        "@typescript-eslint/typescript-estree": "1.13.0",
-        "eslint-scope": "^4.0.0"
-      }
-    },
-    "@typescript-eslint/parser": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.13.0.tgz",
-      "integrity": "sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ==",
-      "requires": {
-        "@types/eslint-visitor-keys": "^1.0.0",
-        "@typescript-eslint/experimental-utils": "1.13.0",
-        "@typescript-eslint/typescript-estree": "1.13.0",
-        "eslint-visitor-keys": "^1.0.0"
-      }
-    },
-    "@typescript-eslint/typescript-estree": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz",
-      "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==",
-      "requires": {
-        "lodash.unescape": "4.0.1",
-        "semver": "5.5.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.5.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
-          "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
-        }
-      }
-    },
-    "@webassemblyjs/ast": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
-      "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==",
-      "requires": {
-        "@webassemblyjs/helper-module-context": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/wast-parser": "1.8.5"
-      }
-    },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz",
-      "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ=="
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz",
-      "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA=="
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz",
-      "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q=="
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz",
-      "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==",
-      "requires": {
-        "@webassemblyjs/wast-printer": "1.8.5"
-      }
-    },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz",
-      "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow=="
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz",
-      "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "mamacro": "^0.0.3"
-      }
-    },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz",
-      "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ=="
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz",
-      "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5"
-      }
-    },
-    "@webassemblyjs/ieee754": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz",
-      "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==",
-      "requires": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "@webassemblyjs/leb128": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz",
-      "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==",
-      "requires": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/utf8": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz",
-      "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw=="
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz",
-      "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/helper-wasm-section": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5",
-        "@webassemblyjs/wasm-opt": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5",
-        "@webassemblyjs/wast-printer": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz",
-      "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/ieee754": "1.8.5",
-        "@webassemblyjs/leb128": "1.8.5",
-        "@webassemblyjs/utf8": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz",
-      "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz",
-      "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-api-error": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/ieee754": "1.8.5",
-        "@webassemblyjs/leb128": "1.8.5",
-        "@webassemblyjs/utf8": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz",
-      "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/floating-point-hex-parser": "1.8.5",
-        "@webassemblyjs/helper-api-error": "1.8.5",
-        "@webassemblyjs/helper-code-frame": "1.8.5",
-        "@webassemblyjs/helper-fsm": "1.8.5",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz",
-      "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/wast-parser": "1.8.5",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
-    },
-    "@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
-    },
-    "abab": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.1.tgz",
-      "integrity": "sha512-1zSbbCuoIjafKZ3mblY5ikvAb0ODUbqBnFuUb7f6uLeQhhGJ0vEV4ntmtxKLT2WgXCO94E07BjunsIw1jOMPZw=="
-    },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      }
-    },
-    "acorn": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz",
-      "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ=="
-    },
-    "acorn-globals": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
-      "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
-      "requires": {
-        "acorn": "^6.0.1",
-        "acorn-walk": "^6.0.1"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
-          "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA=="
-        }
-      }
-    },
-    "acorn-jsx": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
-      "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw=="
-    },
-    "acorn-walk": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
-      "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA=="
-    },
-    "address": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/address/-/address-1.1.0.tgz",
-      "integrity": "sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ=="
-    },
-    "adjust-sourcemap-loader": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz",
-      "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==",
-      "requires": {
-        "assert": "1.4.1",
-        "camelcase": "5.0.0",
-        "loader-utils": "1.2.3",
-        "object-path": "0.11.4",
-        "regex-parser": "2.2.10"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
-          "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA=="
-        }
-      }
-    },
-    "ajv": {
-      "version": "6.10.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
-      "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
-      "requires": {
-        "fast-deep-equal": "^2.0.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ=="
-    },
-    "ajv-keywords": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
-      "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
-    },
-    "alphanum-sort": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
-      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
-    },
-    "ansi-colors": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-      "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA=="
-    },
-    "ansi-escapes": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
-      "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="
-    },
-    "ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
-    },
-    "ansi-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "requires": {
-        "color-convert": "^1.9.0"
-      }
-    },
-    "anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "requires": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "aria-query": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
-      "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
-      "requires": {
-        "ast-types-flow": "0.0.7",
-        "commander": "^2.11.0"
-      }
-    },
-    "arity-n": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
-      "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U="
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
-    },
-    "array-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
-      "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM="
-    },
-    "array-filter": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
-      "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
-    },
-    "array-flatten": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
-      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
-    },
-    "array-includes": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
-      "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
-      "requires": {
-        "define-properties": "^1.1.2",
-        "es-abstract": "^1.7.0"
-      }
-    },
-    "array-map": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
-      "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
-    },
-    "array-reduce": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
-      "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
-    },
-    "array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "requires": {
-        "array-uniq": "^1.0.1"
-      }
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
-    },
-    "arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
-    },
-    "asap": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
-    },
-    "asn1": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
-      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
-      "requires": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "asn1.js": {
-      "version": "4.10.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
-      "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "assert": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
-      "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
-      "requires": {
-        "util": "0.10.3"
-      }
-    },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
-    },
-    "ast-types-flow": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
-      "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0="
-    },
-    "astral-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
-      "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="
-    },
-    "async": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
-      "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
-    },
-    "async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ=="
-    },
-    "async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
-    },
-    "autoprefixer": {
-      "version": "9.6.1",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz",
-      "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==",
-      "requires": {
-        "browserslist": "^4.6.3",
-        "caniuse-lite": "^1.0.30000980",
-        "chalk": "^2.4.2",
-        "normalize-range": "^0.1.2",
-        "num2fraction": "^1.2.2",
-        "postcss": "^7.0.17",
-        "postcss-value-parser": "^4.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "4.0.2",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
-          "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ=="
-        }
-      }
-    },
-    "aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
-    },
-    "aws4": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
-    },
-    "axobject-query": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz",
-      "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==",
-      "requires": {
-        "ast-types-flow": "0.0.7"
-      }
-    },
-    "babel-code-frame": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
-      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "requires": {
-        "chalk": "^1.1.3",
-        "esutils": "^2.0.2",
-        "js-tokens": "^3.0.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "js-tokens": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
-        }
-      }
-    },
-    "babel-eslint": {
-      "version": "10.0.2",
-      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.2.tgz",
-      "integrity": "sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q==",
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.0.0",
-        "@babel/traverse": "^7.0.0",
-        "@babel/types": "^7.0.0",
-        "eslint-scope": "3.7.1",
-        "eslint-visitor-keys": "^1.0.0"
-      },
-      "dependencies": {
-        "eslint-scope": {
-          "version": "3.7.1",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
-          "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        }
-      }
-    },
-    "babel-extract-comments": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz",
-      "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==",
-      "requires": {
-        "babylon": "^6.18.0"
-      }
-    },
-    "babel-jest": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz",
-      "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==",
-      "requires": {
-        "@jest/transform": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "@types/babel__core": "^7.1.0",
-        "babel-plugin-istanbul": "^5.1.0",
-        "babel-preset-jest": "^24.9.0",
-        "chalk": "^2.4.2",
-        "slash": "^2.0.0"
-      }
-    },
-    "babel-loader": {
-      "version": "8.0.6",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz",
-      "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==",
-      "requires": {
-        "find-cache-dir": "^2.0.0",
-        "loader-utils": "^1.0.2",
-        "mkdirp": "^0.5.1",
-        "pify": "^4.0.1"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
-        }
-      }
-    },
-    "babel-plugin-dynamic-import-node": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
-      "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
-      "requires": {
-        "object.assign": "^4.1.0"
-      }
-    },
-    "babel-plugin-istanbul": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
-      "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "find-up": "^3.0.0",
-        "istanbul-lib-instrument": "^3.3.0",
-        "test-exclude": "^5.2.3"
-      }
-    },
-    "babel-plugin-jest-hoist": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz",
-      "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==",
-      "requires": {
-        "@types/babel__traverse": "^7.0.6"
-      }
-    },
-    "babel-plugin-macros": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz",
-      "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==",
-      "requires": {
-        "@babel/runtime": "^7.4.2",
-        "cosmiconfig": "^5.2.0",
-        "resolve": "^1.10.0"
-      }
-    },
-    "babel-plugin-named-asset-import": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.3.tgz",
-      "integrity": "sha512-1XDRysF4894BUdMChT+2HHbtJYiO7zx5Be7U6bT8dISy7OdyETMGIAQBMPQCsY1YRf0xcubwnKKaDr5bk15JTA=="
-    },
-    "babel-plugin-syntax-object-rest-spread": {
-      "version": "6.13.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
-      "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
-    },
-    "babel-plugin-transform-object-rest-spread": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
-      "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
-      "requires": {
-        "babel-plugin-syntax-object-rest-spread": "^6.8.0",
-        "babel-runtime": "^6.26.0"
-      }
-    },
-    "babel-plugin-transform-react-remove-prop-types": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz",
-      "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA=="
-    },
-    "babel-preset-jest": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
-      "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==",
-      "requires": {
-        "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
-        "babel-plugin-jest-hoist": "^24.9.0"
-      }
-    },
-    "babel-preset-react-app": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-9.0.1.tgz",
-      "integrity": "sha512-v7MeY+QxdBhM9oU5uOQCIHLsErYkEbbjctXsb10II+KAnttbe0rvprvP785dRxfa9dI4ZbsGXsRU07Qdi5BtOw==",
-      "requires": {
-        "@babel/core": "7.5.5",
-        "@babel/plugin-proposal-class-properties": "7.5.5",
-        "@babel/plugin-proposal-decorators": "7.4.4",
-        "@babel/plugin-proposal-object-rest-spread": "7.5.5",
-        "@babel/plugin-syntax-dynamic-import": "7.2.0",
-        "@babel/plugin-transform-destructuring": "7.5.0",
-        "@babel/plugin-transform-flow-strip-types": "7.4.4",
-        "@babel/plugin-transform-react-display-name": "7.2.0",
-        "@babel/plugin-transform-runtime": "7.5.5",
-        "@babel/preset-env": "7.5.5",
-        "@babel/preset-react": "7.0.0",
-        "@babel/preset-typescript": "7.3.3",
-        "@babel/runtime": "7.5.5",
-        "babel-plugin-dynamic-import-node": "2.3.0",
-        "babel-plugin-macros": "2.6.1",
-        "babel-plugin-transform-react-remove-prop-types": "0.4.24"
-      },
-      "dependencies": {
-        "@babel/plugin-transform-destructuring": {
-          "version": "7.5.0",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz",
-          "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==",
-          "requires": {
-            "@babel/helper-plugin-utils": "^7.0.0"
-          }
-        },
-        "@babel/preset-env": {
-          "version": "7.5.5",
-          "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz",
-          "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==",
-          "requires": {
-            "@babel/helper-module-imports": "^7.0.0",
-            "@babel/helper-plugin-utils": "^7.0.0",
-            "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
-            "@babel/plugin-proposal-dynamic-import": "^7.5.0",
-            "@babel/plugin-proposal-json-strings": "^7.2.0",
-            "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
-            "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
-            "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-            "@babel/plugin-syntax-async-generators": "^7.2.0",
-            "@babel/plugin-syntax-dynamic-import": "^7.2.0",
-            "@babel/plugin-syntax-json-strings": "^7.2.0",
-            "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
-            "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
-            "@babel/plugin-transform-arrow-functions": "^7.2.0",
-            "@babel/plugin-transform-async-to-generator": "^7.5.0",
-            "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
-            "@babel/plugin-transform-block-scoping": "^7.5.5",
-            "@babel/plugin-transform-classes": "^7.5.5",
-            "@babel/plugin-transform-computed-properties": "^7.2.0",
-            "@babel/plugin-transform-destructuring": "^7.5.0",
-            "@babel/plugin-transform-dotall-regex": "^7.4.4",
-            "@babel/plugin-transform-duplicate-keys": "^7.5.0",
-            "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
-            "@babel/plugin-transform-for-of": "^7.4.4",
-            "@babel/plugin-transform-function-name": "^7.4.4",
-            "@babel/plugin-transform-literals": "^7.2.0",
-            "@babel/plugin-transform-member-expression-literals": "^7.2.0",
-            "@babel/plugin-transform-modules-amd": "^7.5.0",
-            "@babel/plugin-transform-modules-commonjs": "^7.5.0",
-            "@babel/plugin-transform-modules-systemjs": "^7.5.0",
-            "@babel/plugin-transform-modules-umd": "^7.2.0",
-            "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5",
-            "@babel/plugin-transform-new-target": "^7.4.4",
-            "@babel/plugin-transform-object-super": "^7.5.5",
-            "@babel/plugin-transform-parameters": "^7.4.4",
-            "@babel/plugin-transform-property-literals": "^7.2.0",
-            "@babel/plugin-transform-regenerator": "^7.4.5",
-            "@babel/plugin-transform-reserved-words": "^7.2.0",
-            "@babel/plugin-transform-shorthand-properties": "^7.2.0",
-            "@babel/plugin-transform-spread": "^7.2.0",
-            "@babel/plugin-transform-sticky-regex": "^7.2.0",
-            "@babel/plugin-transform-template-literals": "^7.4.4",
-            "@babel/plugin-transform-typeof-symbol": "^7.2.0",
-            "@babel/plugin-transform-unicode-regex": "^7.4.4",
-            "@babel/types": "^7.5.5",
-            "browserslist": "^4.6.0",
-            "core-js-compat": "^3.1.1",
-            "invariant": "^2.2.2",
-            "js-levenshtein": "^1.1.3",
-            "semver": "^5.5.0"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "requires": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      },
-      "dependencies": {
-        "core-js": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
-          "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
-        },
-        "regenerator-runtime": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-          "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
-        }
-      }
-    },
-    "babylon": {
-      "version": "6.18.0",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
-    },
-    "balanced-match": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        }
-      }
-    },
-    "base64-js": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
-      "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
-    },
-    "batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY="
-    },
-    "bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "requires": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
-    },
-    "binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw=="
-    },
-    "bluebird": {
-      "version": "3.5.5",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
-      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
-    },
-    "bn.js": {
-      "version": "4.11.8",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
-      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
-    },
-    "body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
-      "requires": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        },
-        "qs": {
-          "version": "6.7.0",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-          "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
-        }
-      }
-    },
-    "bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "requires": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      }
-    },
-    "boolbase": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
-      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "requires": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
-    },
-    "browser-process-hrtime": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
-      "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
-    },
-    "browser-resolve": {
-      "version": "1.11.3",
-      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
-      "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
-      "requires": {
-        "resolve": "1.1.7"
-      },
-      "dependencies": {
-        "resolve": {
-          "version": "1.1.7",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
-          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
-        }
-      }
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
-      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
-      "requires": {
-        "bn.js": "^4.1.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
-      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
-      "requires": {
-        "bn.js": "^4.1.1",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.2",
-        "elliptic": "^6.0.0",
-        "inherits": "^2.0.1",
-        "parse-asn1": "^5.0.0"
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "4.7.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz",
-      "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==",
-      "requires": {
-        "caniuse-lite": "^1.0.30000989",
-        "electron-to-chromium": "^1.3.247",
-        "node-releases": "^1.1.29"
-      }
-    },
-    "bser": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz",
-      "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==",
-      "requires": {
-        "node-int64": "^0.4.0"
-      }
-    },
-    "buffer": {
-      "version": "4.9.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
-      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
-      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
-    },
-    "buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g=="
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
-    },
-    "bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
-    },
-    "cacache": {
-      "version": "12.0.3",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
-      "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
-      "requires": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
-      }
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "call-me-maybe": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
-      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
-    },
-    "caller-callsite": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
-      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
-      "requires": {
-        "callsites": "^2.0.0"
-      }
-    },
-    "caller-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
-      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
-      "requires": {
-        "caller-callsite": "^2.0.0"
-      }
-    },
-    "callsites": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
-      "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
-    },
-    "camel-case": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
-      "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
-      "requires": {
-        "no-case": "^2.2.0",
-        "upper-case": "^1.1.1"
-      }
-    },
-    "camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
-    },
-    "caniuse-api": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
-      "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-lite": "^1.0.0",
-        "lodash.memoize": "^4.1.2",
-        "lodash.uniq": "^4.5.0"
-      }
-    },
-    "caniuse-lite": {
-      "version": "1.0.30000989",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz",
-      "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw=="
-    },
-    "capture-exit": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
-      "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
-      "requires": {
-        "rsvp": "^4.8.4"
-      }
-    },
-    "case-sensitive-paths-webpack-plugin": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz",
-      "integrity": "sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g=="
-    },
-    "caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
-    },
-    "chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "requires": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      }
-    },
-    "chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
-    },
-    "chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "requires": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "fsevents": "^1.2.7",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      },
-      "dependencies": {
-        "fsevents": {
-          "version": "1.2.9",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-          "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
-          "optional": true,
-          "requires": {
-            "nan": "^2.12.1",
-            "node-pre-gyp": "^0.12.0"
-          },
-          "dependencies": {
-            "abbrev": {
-              "version": "1.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "ansi-regex": {
-              "version": "2.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "aproba": {
-              "version": "1.2.0",
-              "bundled": true,
-              "optional": true
-            },
-            "are-we-there-yet": {
-              "version": "1.1.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^2.0.6"
-              }
-            },
-            "balanced-match": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "brace-expansion": {
-              "version": "1.1.11",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "balanced-match": "^1.0.0",
-                "concat-map": "0.0.1"
-              }
-            },
-            "chownr": {
-              "version": "1.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "code-point-at": {
-              "version": "1.1.0",
-              "bundled": true,
-              "optional": true
-            },
-            "concat-map": {
-              "version": "0.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "console-control-strings": {
-              "version": "1.1.0",
-              "bundled": true,
-              "optional": true
-            },
-            "core-util-is": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "debug": {
-              "version": "4.1.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "ms": "^2.1.1"
-              }
-            },
-            "deep-extend": {
-              "version": "0.6.0",
-              "bundled": true,
-              "optional": true
-            },
-            "delegates": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "detect-libc": {
-              "version": "1.0.3",
-              "bundled": true,
-              "optional": true
-            },
-            "fs-minipass": {
-              "version": "1.2.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "fs.realpath": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "gauge": {
-              "version": "2.7.4",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "aproba": "^1.0.3",
-                "console-control-strings": "^1.0.0",
-                "has-unicode": "^2.0.0",
-                "object-assign": "^4.1.0",
-                "signal-exit": "^3.0.0",
-                "string-width": "^1.0.1",
-                "strip-ansi": "^3.0.1",
-                "wide-align": "^1.1.0"
-              }
-            },
-            "glob": {
-              "version": "7.1.3",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.0.4",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-              }
-            },
-            "has-unicode": {
-              "version": "2.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "iconv-lite": {
-              "version": "0.4.24",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "safer-buffer": ">= 2.1.2 < 3"
-              }
-            },
-            "ignore-walk": {
-              "version": "3.0.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minimatch": "^3.0.4"
-              }
-            },
-            "inflight": {
-              "version": "1.0.6",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "once": "^1.3.0",
-                "wrappy": "1"
-              }
-            },
-            "inherits": {
-              "version": "2.0.3",
-              "bundled": true,
-              "optional": true
-            },
-            "ini": {
-              "version": "1.3.5",
-              "bundled": true,
-              "optional": true
-            },
-            "is-fullwidth-code-point": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "number-is-nan": "^1.0.0"
-              }
-            },
-            "isarray": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "minimatch": {
-              "version": "3.0.4",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "brace-expansion": "^1.1.7"
-              }
-            },
-            "minimist": {
-              "version": "0.0.8",
-              "bundled": true,
-              "optional": true
-            },
-            "minipass": {
-              "version": "2.3.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.0"
-              }
-            },
-            "minizlib": {
-              "version": "1.2.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "mkdirp": {
-              "version": "0.5.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minimist": "0.0.8"
-              }
-            },
-            "ms": {
-              "version": "2.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "needle": {
-              "version": "2.3.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "debug": "^4.1.0",
-                "iconv-lite": "^0.4.4",
-                "sax": "^1.2.4"
-              }
-            },
-            "node-pre-gyp": {
-              "version": "0.12.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "detect-libc": "^1.0.2",
-                "mkdirp": "^0.5.1",
-                "needle": "^2.2.1",
-                "nopt": "^4.0.1",
-                "npm-packlist": "^1.1.6",
-                "npmlog": "^4.0.2",
-                "rc": "^1.2.7",
-                "rimraf": "^2.6.1",
-                "semver": "^5.3.0",
-                "tar": "^4"
-              }
-            },
-            "nopt": {
-              "version": "4.0.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "abbrev": "1",
-                "osenv": "^0.1.4"
-              }
-            },
-            "npm-bundled": {
-              "version": "1.0.6",
-              "bundled": true,
-              "optional": true
-            },
-            "npm-packlist": {
-              "version": "1.4.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "ignore-walk": "^3.0.1",
-                "npm-bundled": "^1.0.1"
-              }
-            },
-            "npmlog": {
-              "version": "4.1.2",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "are-we-there-yet": "~1.1.2",
-                "console-control-strings": "~1.1.0",
-                "gauge": "~2.7.3",
-                "set-blocking": "~2.0.0"
-              }
-            },
-            "number-is-nan": {
-              "version": "1.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "object-assign": {
-              "version": "4.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "once": {
-              "version": "1.4.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "wrappy": "1"
-              }
-            },
-            "os-homedir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "os-tmpdir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "osenv": {
-              "version": "0.1.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "os-homedir": "^1.0.0",
-                "os-tmpdir": "^1.0.0"
-              }
-            },
-            "path-is-absolute": {
-              "version": "1.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "process-nextick-args": {
-              "version": "2.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "rc": {
-              "version": "1.2.8",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "deep-extend": "^0.6.0",
-                "ini": "~1.3.0",
-                "minimist": "^1.2.0",
-                "strip-json-comments": "~2.0.1"
-              },
-              "dependencies": {
-                "minimist": {
-                  "version": "1.2.0",
-                  "bundled": true,
-                  "optional": true
-                }
-              }
-            },
-            "readable-stream": {
-              "version": "2.3.6",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "core-util-is": "~1.0.0",
-                "inherits": "~2.0.3",
-                "isarray": "~1.0.0",
-                "process-nextick-args": "~2.0.0",
-                "safe-buffer": "~5.1.1",
-                "string_decoder": "~1.1.1",
-                "util-deprecate": "~1.0.1"
-              }
-            },
-            "rimraf": {
-              "version": "2.6.3",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "glob": "^7.1.3"
-              }
-            },
-            "safe-buffer": {
-              "version": "5.1.2",
-              "bundled": true,
-              "optional": true
-            },
-            "safer-buffer": {
-              "version": "2.1.2",
-              "bundled": true,
-              "optional": true
-            },
-            "sax": {
-              "version": "1.2.4",
-              "bundled": true,
-              "optional": true
-            },
-            "semver": {
-              "version": "5.7.0",
-              "bundled": true,
-              "optional": true
-            },
-            "set-blocking": {
-              "version": "2.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "signal-exit": {
-              "version": "3.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "string-width": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            },
-            "string_decoder": {
-              "version": "1.1.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            },
-            "strip-ansi": {
-              "version": "3.0.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "ansi-regex": "^2.0.0"
-              }
-            },
-            "strip-json-comments": {
-              "version": "2.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "tar": {
-              "version": "4.4.8",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "chownr": "^1.1.1",
-                "fs-minipass": "^1.2.5",
-                "minipass": "^2.3.4",
-                "minizlib": "^1.1.1",
-                "mkdirp": "^0.5.0",
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.2"
-              }
-            },
-            "util-deprecate": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "wide-align": {
-              "version": "1.1.3",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "string-width": "^1.0.2 || 2"
-              }
-            },
-            "wrappy": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "yallist": {
-              "version": "3.0.3",
-              "bundled": true,
-              "optional": true
-            }
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
-        }
-      }
-    },
-    "chownr": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz",
-      "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A=="
-    },
-    "chrome-trace-event": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
-      "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "ci-info": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
-      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "clean-css": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
-      "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
-      "requires": {
-        "source-map": "~0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "cli-cursor": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
-      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
-      "requires": {
-        "restore-cursor": "^2.0.0"
-      }
-    },
-    "cli-width": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
-    },
-    "cliui": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
-      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
-      "requires": {
-        "string-width": "^3.1.0",
-        "strip-ansi": "^5.2.0",
-        "wrap-ansi": "^5.1.0"
-      },
-      "dependencies": {
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "clone-deep": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz",
-      "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=",
-      "requires": {
-        "for-own": "^0.1.3",
-        "is-plain-object": "^2.0.1",
-        "kind-of": "^3.0.2",
-        "lazy-cache": "^1.0.3",
-        "shallow-clone": "^0.1.2"
-      }
-    },
-    "co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
-    },
-    "coa": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
-      "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
-      "requires": {
-        "@types/q": "^1.5.1",
-        "chalk": "^2.4.1",
-        "q": "^1.1.2"
-      }
-    },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
-      "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
-      "requires": {
-        "color-convert": "^1.9.1",
-        "color-string": "^1.5.2"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
-    },
-    "color-string": {
-      "version": "1.5.3",
-      "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
-      "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
-      "requires": {
-        "color-name": "^1.0.0",
-        "simple-swizzle": "^0.2.2"
-      }
-    },
-    "combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "requires": {
-        "delayed-stream": "~1.0.0"
-      }
-    },
-    "commander": {
-      "version": "2.20.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
-      "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
-    },
-    "common-tags": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
-      "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw=="
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
-    },
-    "compose-function": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
-      "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
-      "requires": {
-        "arity-n": "^1.0.4"
-      }
-    },
-    "compressible": {
-      "version": "2.0.17",
-      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
-      "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
-      "requires": {
-        "mime-db": ">= 1.40.0 < 2"
-      }
-    },
-    "compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
-      "requires": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        }
-      }
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "confusing-browser-globals": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz",
-      "integrity": "sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg=="
-    },
-    "connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg=="
-    },
-    "console-browserify": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
-      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
-      "requires": {
-        "date-now": "^0.1.4"
-      }
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
-    },
-    "contains-path": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
-      "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo="
-    },
-    "content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
-      "requires": {
-        "safe-buffer": "5.1.2"
-      }
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
-    },
-    "convert-source-map": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
-      "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
-    },
-    "cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
-    },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
-    },
-    "core-js": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.4.tgz",
-      "integrity": "sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ=="
-    },
-    "core-js-compat": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz",
-      "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==",
-      "requires": {
-        "browserslist": "^4.6.6",
-        "semver": "^6.3.0"
-      }
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
-    },
-    "cosmiconfig": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
-      "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
-      "requires": {
-        "import-fresh": "^2.0.0",
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.13.1",
-        "parse-json": "^4.0.0"
-      }
-    },
-    "create-ecdh": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
-      "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.0.0"
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "requires": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "css": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
-      "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
-      "requires": {
-        "inherits": "^2.0.3",
-        "source-map": "^0.6.1",
-        "source-map-resolve": "^0.5.2",
-        "urix": "^0.1.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "css-blank-pseudo": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz",
-      "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==",
-      "requires": {
-        "postcss": "^7.0.5"
-      }
-    },
-    "css-color-names": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
-      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
-    },
-    "css-declaration-sorter": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
-      "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
-      "requires": {
-        "postcss": "^7.0.1",
-        "timsort": "^0.3.0"
-      }
-    },
-    "css-has-pseudo": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz",
-      "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==",
-      "requires": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^5.0.0-rc.4"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "css-loader": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz",
-      "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==",
-      "requires": {
-        "camelcase": "^5.2.0",
-        "icss-utils": "^4.1.0",
-        "loader-utils": "^1.2.3",
-        "normalize-path": "^3.0.0",
-        "postcss": "^7.0.14",
-        "postcss-modules-extract-imports": "^2.0.0",
-        "postcss-modules-local-by-default": "^2.0.6",
-        "postcss-modules-scope": "^2.1.0",
-        "postcss-modules-values": "^2.0.0",
-        "postcss-value-parser": "^3.3.0",
-        "schema-utils": "^1.0.0"
-      },
-      "dependencies": {
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
-        }
-      }
-    },
-    "css-prefers-color-scheme": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz",
-      "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==",
-      "requires": {
-        "postcss": "^7.0.5"
-      }
-    },
-    "css-select": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
-      "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
-      "requires": {
-        "boolbase": "^1.0.0",
-        "css-what": "^2.1.2",
-        "domutils": "^1.7.0",
-        "nth-check": "^1.0.2"
-      }
-    },
-    "css-select-base-adapter": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
-      "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w=="
-    },
-    "css-tree": {
-      "version": "1.0.0-alpha.33",
-      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz",
-      "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==",
-      "requires": {
-        "mdn-data": "2.0.4",
-        "source-map": "^0.5.3"
-      }
-    },
-    "css-unit-converter": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
-      "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY="
-    },
-    "css-what": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
-      "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
-    },
-    "cssdb": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz",
-      "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ=="
-    },
-    "cssesc": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
-      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
-    },
-    "cssnano": {
-      "version": "4.1.10",
-      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz",
-      "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==",
-      "requires": {
-        "cosmiconfig": "^5.0.0",
-        "cssnano-preset-default": "^4.0.7",
-        "is-resolvable": "^1.0.0",
-        "postcss": "^7.0.0"
-      }
-    },
-    "cssnano-preset-default": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
-      "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==",
-      "requires": {
-        "css-declaration-sorter": "^4.0.1",
-        "cssnano-util-raw-cache": "^4.0.1",
-        "postcss": "^7.0.0",
-        "postcss-calc": "^7.0.1",
-        "postcss-colormin": "^4.0.3",
-        "postcss-convert-values": "^4.0.1",
-        "postcss-discard-comments": "^4.0.2",
-        "postcss-discard-duplicates": "^4.0.2",
-        "postcss-discard-empty": "^4.0.1",
-        "postcss-discard-overridden": "^4.0.1",
-        "postcss-merge-longhand": "^4.0.11",
-        "postcss-merge-rules": "^4.0.3",
-        "postcss-minify-font-values": "^4.0.2",
-        "postcss-minify-gradients": "^4.0.2",
-        "postcss-minify-params": "^4.0.2",
-        "postcss-minify-selectors": "^4.0.2",
-        "postcss-normalize-charset": "^4.0.1",
-        "postcss-normalize-display-values": "^4.0.2",
-        "postcss-normalize-positions": "^4.0.2",
-        "postcss-normalize-repeat-style": "^4.0.2",
-        "postcss-normalize-string": "^4.0.2",
-        "postcss-normalize-timing-functions": "^4.0.2",
-        "postcss-normalize-unicode": "^4.0.1",
-        "postcss-normalize-url": "^4.0.1",
-        "postcss-normalize-whitespace": "^4.0.2",
-        "postcss-ordered-values": "^4.1.2",
-        "postcss-reduce-initial": "^4.0.3",
-        "postcss-reduce-transforms": "^4.0.2",
-        "postcss-svgo": "^4.0.2",
-        "postcss-unique-selectors": "^4.0.1"
-      }
-    },
-    "cssnano-util-get-arguments": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
-      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8="
-    },
-    "cssnano-util-get-match": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
-      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0="
-    },
-    "cssnano-util-raw-cache": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
-      "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "cssnano-util-same-parent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
-      "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q=="
-    },
-    "csso": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
-      "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
-      "requires": {
-        "css-tree": "1.0.0-alpha.29"
-      },
-      "dependencies": {
-        "css-tree": {
-          "version": "1.0.0-alpha.29",
-          "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
-          "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
-          "requires": {
-            "mdn-data": "~1.1.0",
-            "source-map": "^0.5.3"
-          }
-        },
-        "mdn-data": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
-          "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA=="
-        }
-      }
-    },
-    "cssom": {
-      "version": "0.3.8",
-      "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
-      "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
-    },
-    "cssstyle": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
-      "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
-      "requires": {
-        "cssom": "0.3.x"
-      }
-    },
-    "cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
-    },
-    "d": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
-      "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
-      "requires": {
-        "es5-ext": "^0.10.50",
-        "type": "^1.0.1"
-      }
-    },
-    "damerau-levenshtein": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz",
-      "integrity": "sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA=="
-    },
-    "dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "data-urls": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
-      "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
-      "requires": {
-        "abab": "^2.0.0",
-        "whatwg-mimetype": "^2.2.0",
-        "whatwg-url": "^7.0.0"
-      },
-      "dependencies": {
-        "whatwg-url": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
-          "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
-          "requires": {
-            "lodash.sortby": "^4.7.0",
-            "tr46": "^1.0.1",
-            "webidl-conversions": "^4.0.2"
-          }
-        }
-      }
-    },
-    "date-now": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
-      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
-    },
-    "debug": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-      "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-      "requires": {
-        "ms": "^2.1.1"
-      }
-    },
-    "decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
-    },
-    "deep-equal": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz",
-      "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==",
-      "requires": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      }
-    },
-    "deep-is": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
-      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
-    },
-    "default-gateway": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
-      "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
-      "requires": {
-        "execa": "^1.0.0",
-        "ip-regex": "^2.1.0"
-      }
-    },
-    "define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "requires": {
-        "object-keys": "^1.0.12"
-      }
-    },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "requires": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "dependencies": {
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        }
-      }
-    },
-    "del": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
-      "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
-      "requires": {
-        "globby": "^6.1.0",
-        "is-path-cwd": "^1.0.0",
-        "is-path-in-cwd": "^1.0.0",
-        "p-map": "^1.1.1",
-        "pify": "^3.0.0",
-        "rimraf": "^2.2.8"
-      },
-      "dependencies": {
-        "globby": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-          "requires": {
-            "array-union": "^1.0.1",
-            "glob": "^7.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          },
-          "dependencies": {
-            "pify": {
-              "version": "2.3.0",
-              "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-              "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
-            }
-          }
-        }
-      }
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
-    },
-    "des.js": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
-      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
-    },
-    "detect-newline": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
-      "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I="
-    },
-    "detect-node": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
-      "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw=="
-    },
-    "detect-port-alt": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
-      "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
-      "requires": {
-        "address": "^1.0.1",
-        "debug": "^2.6.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        }
-      }
-    },
-    "diff-sequences": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
-      "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew=="
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "dir-glob": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
-      "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
-      "requires": {
-        "arrify": "^1.0.1",
-        "path-type": "^3.0.0"
-      }
-    },
-    "dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0="
-    },
-    "dns-packet": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
-      "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
-      "requires": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "requires": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-      "requires": {
-        "esutils": "^2.0.2"
-      }
-    },
-    "dom-converter": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
-      "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
-      "requires": {
-        "utila": "~0.4"
-      }
-    },
-    "dom-serializer": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz",
-      "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==",
-      "requires": {
-        "domelementtype": "^2.0.1",
-        "entities": "^2.0.0"
-      },
-      "dependencies": {
-        "domelementtype": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
-          "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ=="
-        }
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
-    },
-    "domelementtype": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
-      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
-    },
-    "domexception": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
-      "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
-      "requires": {
-        "webidl-conversions": "^4.0.2"
-      }
-    },
-    "domhandler": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
-      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
-      "requires": {
-        "domelementtype": "1"
-      }
-    },
-    "domutils": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
-      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
-      "requires": {
-        "dom-serializer": "0",
-        "domelementtype": "1"
-      }
-    },
-    "dot-prop": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
-      "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
-      "requires": {
-        "is-obj": "^1.0.0"
-      }
-    },
-    "dotenv": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
-      "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w=="
-    },
-    "dotenv-expand": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz",
-      "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU="
-    },
-    "duplexer": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
-      "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
-    },
-    "duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "requires": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
-    },
-    "electron-to-chromium": {
-      "version": "1.3.257",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.257.tgz",
-      "integrity": "sha512-EcKVmUeHCZelPA0wnIaSmpAN8karKhKBwFb+xLUjSVZ8sGRE1l3fst1zQZ7KJUkyJ7H5edPd4RP94pzC9sG00A=="
-    },
-    "elliptic": {
-      "version": "6.5.1",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz",
-      "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==",
-      "requires": {
-        "bn.js": "^4.4.0",
-        "brorand": "^1.0.1",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.0"
-      }
-    },
-    "emoji-regex": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
-    },
-    "emojis-list": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
-      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
-    },
-    "end-of-stream": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
-      "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
-      "requires": {
-        "once": "^1.4.0"
-      }
-    },
-    "enhanced-resolve": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
-      "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.4.0",
-        "tapable": "^1.0.0"
-      }
-    },
-    "entities": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
-      "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw=="
-    },
-    "errno": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
-      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "es-abstract": {
-      "version": "1.14.2",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz",
-      "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==",
-      "requires": {
-        "es-to-primitive": "^1.2.0",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.0",
-        "is-callable": "^1.1.4",
-        "is-regex": "^1.0.4",
-        "object-inspect": "^1.6.0",
-        "object-keys": "^1.1.1",
-        "string.prototype.trimleft": "^2.0.0",
-        "string.prototype.trimright": "^2.0.0"
-      }
-    },
-    "es-to-primitive": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
-      "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
-      "requires": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      }
-    },
-    "es5-ext": {
-      "version": "0.10.51",
-      "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz",
-      "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==",
-      "requires": {
-        "es6-iterator": "~2.0.3",
-        "es6-symbol": "~3.1.1",
-        "next-tick": "^1.0.0"
-      }
-    },
-    "es6-iterator": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
-      "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
-      "requires": {
-        "d": "1",
-        "es5-ext": "^0.10.35",
-        "es6-symbol": "^3.1.1"
-      }
-    },
-    "es6-symbol": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz",
-      "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==",
-      "requires": {
-        "d": "^1.0.1",
-        "es5-ext": "^0.10.51"
-      }
-    },
-    "escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
-    },
-    "escodegen": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz",
-      "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==",
-      "requires": {
-        "esprima": "^3.1.3",
-        "estraverse": "^4.2.0",
-        "esutils": "^2.0.2",
-        "optionator": "^0.8.1",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "esprima": {
-          "version": "3.1.3",
-          "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
-          "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "optional": true
-        }
-      }
-    },
-    "eslint": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.3.0.tgz",
-      "integrity": "sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow==",
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "ajv": "^6.10.0",
-        "chalk": "^2.1.0",
-        "cross-spawn": "^6.0.5",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^1.4.2",
-        "eslint-visitor-keys": "^1.1.0",
-        "espree": "^6.1.1",
-        "esquery": "^1.0.1",
-        "esutils": "^2.0.2",
-        "file-entry-cache": "^5.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.0.0",
-        "globals": "^11.7.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "inquirer": "^6.4.1",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.3.0",
-        "lodash": "^4.17.14",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.8.2",
-        "progress": "^2.0.0",
-        "regexpp": "^2.0.1",
-        "semver": "^6.1.2",
-        "strip-ansi": "^5.2.0",
-        "strip-json-comments": "^3.0.1",
-        "table": "^5.2.3",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "dependencies": {
-        "eslint-scope": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
-          "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "import-fresh": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
-          "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
-          "requires": {
-            "parent-module": "^1.0.0",
-            "resolve-from": "^4.0.0"
-          }
-        },
-        "resolve-from": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-          "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
-        }
-      }
-    },
-    "eslint-config-react-app": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.0.1.tgz",
-      "integrity": "sha512-GYXP3F/0PSHlYfGHhahqnJze8rYKxzXgrzXVqRRd4rDO40ga4NA3aHM7/HKbwceDN0/C1Ij3BoAWFawJgRbXEw==",
-      "requires": {
-        "confusing-browser-globals": "^1.0.8"
-      }
-    },
-    "eslint-import-resolver-node": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
-      "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
-      "requires": {
-        "debug": "^2.6.9",
-        "resolve": "^1.5.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        }
-      }
-    },
-    "eslint-loader": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz",
-      "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==",
-      "requires": {
-        "loader-fs-cache": "^1.0.0",
-        "loader-utils": "^1.0.2",
-        "object-assign": "^4.0.1",
-        "object-hash": "^1.1.4",
-        "rimraf": "^2.6.1"
-      }
-    },
-    "eslint-module-utils": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
-      "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
-      "requires": {
-        "debug": "^2.6.8",
-        "pkg-dir": "^2.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "find-up": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-          "requires": {
-            "locate-path": "^2.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-          "requires": {
-            "p-locate": "^2.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        },
-        "p-limit": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-          "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-          "requires": {
-            "p-try": "^1.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-          "requires": {
-            "p-limit": "^1.1.0"
-          }
-        },
-        "p-try": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
-        },
-        "pkg-dir": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-          "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-          "requires": {
-            "find-up": "^2.1.0"
-          }
-        }
-      }
-    },
-    "eslint-plugin-flowtype": {
-      "version": "3.13.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz",
-      "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==",
-      "requires": {
-        "lodash": "^4.17.15"
-      }
-    },
-    "eslint-plugin-import": {
-      "version": "2.18.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz",
-      "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==",
-      "requires": {
-        "array-includes": "^3.0.3",
-        "contains-path": "^0.1.0",
-        "debug": "^2.6.9",
-        "doctrine": "1.5.0",
-        "eslint-import-resolver-node": "^0.3.2",
-        "eslint-module-utils": "^2.4.0",
-        "has": "^1.0.3",
-        "minimatch": "^3.0.4",
-        "object.values": "^1.1.0",
-        "read-pkg-up": "^2.0.0",
-        "resolve": "^1.11.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "doctrine": {
-          "version": "1.5.0",
-          "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
-          "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
-          "requires": {
-            "esutils": "^2.0.2",
-            "isarray": "^1.0.0"
-          }
-        },
-        "find-up": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-          "requires": {
-            "locate-path": "^2.0.0"
-          }
-        },
-        "load-json-file": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
-          "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "parse-json": "^2.2.0",
-            "pify": "^2.0.0",
-            "strip-bom": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-          "requires": {
-            "p-locate": "^2.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        },
-        "p-limit": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-          "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-          "requires": {
-            "p-try": "^1.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-          "requires": {
-            "p-limit": "^1.1.0"
-          }
-        },
-        "p-try": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
-        },
-        "parse-json": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-          "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-          "requires": {
-            "error-ex": "^1.2.0"
-          }
-        },
-        "path-type": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
-          "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
-          "requires": {
-            "pify": "^2.0.0"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
-        },
-        "read-pkg": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
-          "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
-          "requires": {
-            "load-json-file": "^2.0.0",
-            "normalize-package-data": "^2.3.2",
-            "path-type": "^2.0.0"
-          }
-        },
-        "read-pkg-up": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
-          "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
-          "requires": {
-            "find-up": "^2.0.0",
-            "read-pkg": "^2.0.0"
-          }
-        }
-      }
-    },
-    "eslint-plugin-jsx-a11y": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz",
-      "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==",
-      "requires": {
-        "@babel/runtime": "^7.4.5",
-        "aria-query": "^3.0.0",
-        "array-includes": "^3.0.3",
-        "ast-types-flow": "^0.0.7",
-        "axobject-query": "^2.0.2",
-        "damerau-levenshtein": "^1.0.4",
-        "emoji-regex": "^7.0.2",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^2.2.1"
-      }
-    },
-    "eslint-plugin-react": {
-      "version": "7.14.3",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz",
-      "integrity": "sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==",
-      "requires": {
-        "array-includes": "^3.0.3",
-        "doctrine": "^2.1.0",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^2.1.0",
-        "object.entries": "^1.1.0",
-        "object.fromentries": "^2.0.0",
-        "object.values": "^1.1.0",
-        "prop-types": "^15.7.2",
-        "resolve": "^1.10.1"
-      },
-      "dependencies": {
-        "doctrine": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-          "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-          "requires": {
-            "esutils": "^2.0.2"
-          }
-        }
-      }
-    },
-    "eslint-plugin-react-hooks": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz",
-      "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA=="
-    },
-    "eslint-scope": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-      "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-      "requires": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      }
-    },
-    "eslint-utils": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
-      "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
-      "requires": {
-        "eslint-visitor-keys": "^1.0.0"
-      }
-    },
-    "eslint-visitor-keys": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
-      "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A=="
-    },
-    "espree": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz",
-      "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==",
-      "requires": {
-        "acorn": "^7.0.0",
-        "acorn-jsx": "^5.0.2",
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
-    },
-    "esquery": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
-      "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
-      "requires": {
-        "estraverse": "^4.0.0"
-      }
-    },
-    "esrecurse": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
-      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
-      "requires": {
-        "estraverse": "^4.1.0"
-      }
-    },
-    "estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
-    },
-    "esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
-    },
-    "etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
-    },
-    "eventemitter3": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
-      "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="
-    },
-    "events": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
-      "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
-    },
-    "eventsource": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
-      "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
-      "requires": {
-        "original": "^1.0.0"
-      }
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "exec-sh": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz",
-      "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg=="
-    },
-    "execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-      "requires": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      }
-    },
-    "exit": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
-      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw="
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        }
-      }
-    },
-    "expect": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz",
-      "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "ansi-styles": "^3.2.0",
-        "jest-get-type": "^24.9.0",
-        "jest-matcher-utils": "^24.9.0",
-        "jest-message-util": "^24.9.0",
-        "jest-regex-util": "^24.9.0"
-      }
-    },
-    "express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
-      "requires": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "array-flatten": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-          "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        },
-        "qs": {
-          "version": "6.7.0",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-          "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
-        }
-      }
-    },
-    "extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
-    },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "requires": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "external-editor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
-      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "requires": {
-        "chardet": "^0.7.0",
-        "iconv-lite": "^0.4.24",
-        "tmp": "^0.0.33"
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        }
-      }
-    },
-    "extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
-    },
-    "fast-deep-equal": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
-    },
-    "fast-glob": {
-      "version": "2.2.7",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
-      "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
-      "requires": {
-        "@mrmlnc/readdir-enhanced": "^2.2.1",
-        "@nodelib/fs.stat": "^1.1.2",
-        "glob-parent": "^3.1.0",
-        "is-glob": "^4.0.0",
-        "merge2": "^1.2.3",
-        "micromatch": "^3.1.10"
-      },
-      "dependencies": {
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        }
-      }
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
-    },
-    "fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
-    },
-    "faye-websocket": {
-      "version": "0.11.3",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
-      "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
-      "requires": {
-        "websocket-driver": ">=0.5.1"
-      }
-    },
-    "fb-watchman": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
-      "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
-      "requires": {
-        "bser": "^2.0.0"
-      }
-    },
-    "figgy-pudding": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
-      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
-    },
-    "figures": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
-      "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
-      "requires": {
-        "escape-string-regexp": "^1.0.5"
-      }
-    },
-    "file-entry-cache": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
-      "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
-      "requires": {
-        "flat-cache": "^2.0.1"
-      }
-    },
-    "file-loader": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz",
-      "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==",
-      "requires": {
-        "loader-utils": "^1.0.2",
-        "schema-utils": "^1.0.0"
-      }
-    },
-    "filesize": {
-      "version": "3.6.1",
-      "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
-      "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="
-    },
-    "fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "requires": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        }
-      }
-    },
-    "find-cache-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^2.0.0",
-        "pkg-dir": "^3.0.0"
-      }
-    },
-    "find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "requires": {
-        "locate-path": "^3.0.0"
-      }
-    },
-    "flat-cache": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
-      "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
-      "requires": {
-        "flatted": "^2.0.0",
-        "rimraf": "2.6.3",
-        "write": "1.0.3"
-      }
-    },
-    "flatted": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
-      "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg=="
-    },
-    "flatten": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
-      "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I="
-    },
-    "flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "requires": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "follow-redirects": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz",
-      "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==",
-      "requires": {
-        "debug": "^3.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
-    },
-    "for-own": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
-      "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
-      "requires": {
-        "for-in": "^1.0.1"
-      }
-    },
-    "forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
-    },
-    "fork-ts-checker-webpack-plugin": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz",
-      "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==",
-      "requires": {
-        "babel-code-frame": "^6.22.0",
-        "chalk": "^2.4.1",
-        "chokidar": "^2.0.4",
-        "micromatch": "^3.1.10",
-        "minimatch": "^3.0.4",
-        "semver": "^5.6.0",
-        "tapable": "^1.0.0",
-        "worker-rpc": "^0.1.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
-      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "requires": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      }
-    },
-    "forwarded": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
-      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
-    },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "fs-extra": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
-      "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
-      }
-    },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
-    },
-    "fsevents": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz",
-      "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==",
-      "optional": true
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
-    },
-    "functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
-    },
-    "get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
-    },
-    "get-own-enumerable-property-symbols": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
-      "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg=="
-    },
-    "get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-      "requires": {
-        "pump": "^3.0.0"
-      }
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
-    },
-    "getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "glob": {
-      "version": "7.1.4",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
-      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz",
-      "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==",
-      "requires": {
-        "is-glob": "^4.0.1"
-      }
-    },
-    "glob-to-regexp": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
-      "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
-    },
-    "global-modules": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
-      "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
-      "requires": {
-        "global-prefix": "^3.0.0"
-      }
-    },
-    "global-prefix": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
-      "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
-      "requires": {
-        "ini": "^1.3.5",
-        "kind-of": "^6.0.2",
-        "which": "^1.3.1"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        }
-      }
-    },
-    "globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
-    },
-    "globby": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz",
-      "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==",
-      "requires": {
-        "array-union": "^1.0.1",
-        "dir-glob": "2.0.0",
-        "fast-glob": "^2.0.2",
-        "glob": "^7.1.2",
-        "ignore": "^3.3.5",
-        "pify": "^3.0.0",
-        "slash": "^1.0.0"
-      },
-      "dependencies": {
-        "ignore": {
-          "version": "3.3.10",
-          "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
-          "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug=="
-        },
-        "slash": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
-          "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
-        }
-      }
-    },
-    "graceful-fs": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
-      "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
-    },
-    "growly": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
-      "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
-    },
-    "gzip-size": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
-      "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
-      "requires": {
-        "duplexer": "^0.1.1",
-        "pify": "^4.0.1"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
-        }
-      }
-    },
-    "handle-thing": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
-      "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ=="
-    },
-    "handlebars": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz",
-      "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==",
-      "requires": {
-        "neo-async": "^2.6.0",
-        "optimist": "^0.6.1",
-        "source-map": "^0.6.1",
-        "uglify-js": "^3.1.4"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
-    },
-    "har-validator": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
-      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
-      "requires": {
-        "ajv": "^6.5.5",
-        "har-schema": "^2.0.0"
-      }
-    },
-    "harmony-reflect": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz",
-      "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA=="
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
-        }
-      }
-    },
-    "has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
-    },
-    "has-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
-      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
-      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
-    },
-    "hex-color-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
-      "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ=="
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "hosted-git-info": {
-      "version": "2.8.4",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
-      "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ=="
-    },
-    "hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "requires": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "hsl-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
-      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4="
-    },
-    "hsla-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
-      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg="
-    },
-    "html-comment-regex": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
-      "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ=="
-    },
-    "html-encoding-sniffer": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
-      "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
-      "requires": {
-        "whatwg-encoding": "^1.0.1"
-      }
-    },
-    "html-entities": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
-      "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8="
-    },
-    "html-minifier": {
-      "version": "3.5.21",
-      "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
-      "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
-      "requires": {
-        "camel-case": "3.0.x",
-        "clean-css": "4.2.x",
-        "commander": "2.17.x",
-        "he": "1.2.x",
-        "param-case": "2.1.x",
-        "relateurl": "0.2.x",
-        "uglify-js": "3.4.x"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.17.1",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
-          "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
-        }
-      }
-    },
-    "html-webpack-plugin": {
-      "version": "4.0.0-beta.5",
-      "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz",
-      "integrity": "sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ==",
-      "requires": {
-        "html-minifier": "^3.5.20",
-        "loader-utils": "^1.1.0",
-        "lodash": "^4.17.11",
-        "pretty-error": "^2.1.1",
-        "tapable": "^1.1.0",
-        "util.promisify": "1.0.0"
-      }
-    },
-    "htmlparser2": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
-      "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
-      "requires": {
-        "domelementtype": "^1.3.1",
-        "domhandler": "^2.3.0",
-        "domutils": "^1.5.1",
-        "entities": "^1.1.1",
-        "inherits": "^2.0.1",
-        "readable-stream": "^3.1.1"
-      },
-      "dependencies": {
-        "entities": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
-          "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
-        }
-      }
-    },
-    "http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
-    },
-    "http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
-      "requires": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
-        }
-      }
-    },
-    "http-parser-js": {
-      "version": "0.4.10",
-      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
-      "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q="
-    },
-    "http-proxy": {
-      "version": "1.17.0",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
-      "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
-      "requires": {
-        "eventemitter3": "^3.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "http-proxy-middleware": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
-      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
-      "requires": {
-        "http-proxy": "^1.17.0",
-        "is-glob": "^4.0.0",
-        "lodash": "^4.17.11",
-        "micromatch": "^3.1.10"
-      }
-    },
-    "http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "icss-replace-symbols": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
-      "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0="
-    },
-    "icss-utils": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
-      "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
-      "requires": {
-        "postcss": "^7.0.14"
-      }
-    },
-    "identity-obj-proxy": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz",
-      "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=",
-      "requires": {
-        "harmony-reflect": "^1.4.6"
-      }
-    },
-    "ieee754": {
-      "version": "1.1.13",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
-      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
-    },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
-    },
-    "ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
-    },
-    "immer": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz",
-      "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg=="
-    },
-    "import-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
-      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
-      "requires": {
-        "import-from": "^2.1.0"
-      }
-    },
-    "import-fresh": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
-      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-      "requires": {
-        "caller-path": "^2.0.0",
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "import-from": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
-      "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "import-local": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
-      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
-      "requires": {
-        "pkg-dir": "^3.0.0",
-        "resolve-cwd": "^2.0.0"
-      }
-    },
-    "imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
-    },
-    "indexes-of": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
-      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
-    },
-    "infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
-    },
-    "ini": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
-      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
-    },
-    "inquirer": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
-      "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
-      "requires": {
-        "ansi-escapes": "^3.2.0",
-        "chalk": "^2.4.2",
-        "cli-cursor": "^2.1.0",
-        "cli-width": "^2.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^2.0.0",
-        "lodash": "^4.17.12",
-        "mute-stream": "0.0.7",
-        "run-async": "^2.2.0",
-        "rxjs": "^6.4.0",
-        "string-width": "^2.1.0",
-        "strip-ansi": "^5.1.0",
-        "through": "^2.3.6"
-      }
-    },
-    "internal-ip": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
-      "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
-      "requires": {
-        "default-gateway": "^4.2.0",
-        "ipaddr.js": "^1.9.0"
-      }
-    },
-    "invariant": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
-      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "requires": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "invert-kv": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
-      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
-    },
-    "ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
-    },
-    "ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk="
-    },
-    "ipaddr.js": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
-      "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
-    },
-    "is-absolute-url": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
-      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY="
-    },
-    "is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "is-arguments": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
-      "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
-    },
-    "is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "requires": {
-        "binary-extensions": "^1.0.0"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
-    },
-    "is-callable": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
-      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
-    },
-    "is-ci": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
-      "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
-      "requires": {
-        "ci-info": "^2.0.0"
-      }
-    },
-    "is-color-stop": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
-      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
-      "requires": {
-        "css-color-names": "^0.0.4",
-        "hex-color-regex": "^1.1.0",
-        "hsl-regex": "^1.0.0",
-        "hsla-regex": "^1.0.0",
-        "rgb-regex": "^1.0.1",
-        "rgba-regex": "^1.0.0"
-      }
-    },
-    "is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "is-date-object": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
-      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
-    },
-    "is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "requires": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
-        }
-      }
-    },
-    "is-directory": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
-      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
-    },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
-    },
-    "is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
-    },
-    "is-generator-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
-      "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ=="
-    },
-    "is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "is-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
-      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
-    },
-    "is-path-cwd": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
-      "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0="
-    },
-    "is-path-in-cwd": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
-      "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
-      "requires": {
-        "is-path-inside": "^1.0.0"
-      }
-    },
-    "is-path-inside": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
-      "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
-      "requires": {
-        "path-is-inside": "^1.0.1"
-      }
-    },
-    "is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "is-promise": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
-    },
-    "is-regex": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
-      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
-      "requires": {
-        "has": "^1.0.1"
-      }
-    },
-    "is-regexp": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
-      "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk="
-    },
-    "is-resolvable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
-      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg=="
-    },
-    "is-root": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
-      "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg=="
-    },
-    "is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
-    },
-    "is-svg": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
-      "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
-      "requires": {
-        "html-comment-regex": "^1.1.0"
-      }
-    },
-    "is-symbol": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
-      "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
-      "requires": {
-        "has-symbols": "^1.0.0"
-      }
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
-    },
-    "is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
-    },
-    "is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
-    },
-    "isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
-    },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
-    },
-    "istanbul-lib-coverage": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-      "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA=="
-    },
-    "istanbul-lib-instrument": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
-      "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
-      "requires": {
-        "@babel/generator": "^7.4.0",
-        "@babel/parser": "^7.4.3",
-        "@babel/template": "^7.4.0",
-        "@babel/traverse": "^7.4.3",
-        "@babel/types": "^7.4.0",
-        "istanbul-lib-coverage": "^2.0.5",
-        "semver": "^6.0.0"
-      }
-    },
-    "istanbul-lib-report": {
-      "version": "2.0.8",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
-      "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
-      "requires": {
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "supports-color": "^6.1.0"
-      },
-      "dependencies": {
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-source-maps": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
-      "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
-      "requires": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "rimraf": "^2.6.3",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "istanbul-reports": {
-      "version": "2.2.6",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
-      "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
-      "requires": {
-        "handlebars": "^4.1.2"
-      }
-    },
-    "jest": {
-      "version": "24.8.0",
-      "resolved": "https://registry.npmjs.org/jest/-/jest-24.8.0.tgz",
-      "integrity": "sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg==",
-      "requires": {
-        "import-local": "^2.0.0",
-        "jest-cli": "^24.8.0"
-      },
-      "dependencies": {
-        "jest-cli": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz",
-          "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==",
-          "requires": {
-            "@jest/core": "^24.9.0",
-            "@jest/test-result": "^24.9.0",
-            "@jest/types": "^24.9.0",
-            "chalk": "^2.0.1",
-            "exit": "^0.1.2",
-            "import-local": "^2.0.0",
-            "is-ci": "^2.0.0",
-            "jest-config": "^24.9.0",
-            "jest-util": "^24.9.0",
-            "jest-validate": "^24.9.0",
-            "prompts": "^2.0.1",
-            "realpath-native": "^1.1.0",
-            "yargs": "^13.3.0"
-          }
-        }
-      }
-    },
-    "jest-changed-files": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz",
-      "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "execa": "^1.0.0",
-        "throat": "^4.0.0"
-      }
-    },
-    "jest-config": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz",
-      "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==",
-      "requires": {
-        "@babel/core": "^7.1.0",
-        "@jest/test-sequencer": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "babel-jest": "^24.9.0",
-        "chalk": "^2.0.1",
-        "glob": "^7.1.1",
-        "jest-environment-jsdom": "^24.9.0",
-        "jest-environment-node": "^24.9.0",
-        "jest-get-type": "^24.9.0",
-        "jest-jasmine2": "^24.9.0",
-        "jest-regex-util": "^24.3.0",
-        "jest-resolve": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "jest-validate": "^24.9.0",
-        "micromatch": "^3.1.10",
-        "pretty-format": "^24.9.0",
-        "realpath-native": "^1.1.0"
-      },
-      "dependencies": {
-        "jest-resolve": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
-          "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
-          "requires": {
-            "@jest/types": "^24.9.0",
-            "browser-resolve": "^1.11.3",
-            "chalk": "^2.0.1",
-            "jest-pnp-resolver": "^1.2.1",
-            "realpath-native": "^1.1.0"
-          }
-        }
-      }
-    },
-    "jest-diff": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
-      "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
-      "requires": {
-        "chalk": "^2.0.1",
-        "diff-sequences": "^24.9.0",
-        "jest-get-type": "^24.9.0",
-        "pretty-format": "^24.9.0"
-      }
-    },
-    "jest-docblock": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz",
-      "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==",
-      "requires": {
-        "detect-newline": "^2.1.0"
-      }
-    },
-    "jest-each": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz",
-      "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "chalk": "^2.0.1",
-        "jest-get-type": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "pretty-format": "^24.9.0"
-      }
-    },
-    "jest-environment-jsdom": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz",
-      "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==",
-      "requires": {
-        "@jest/environment": "^24.9.0",
-        "@jest/fake-timers": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "jest-mock": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "jsdom": "^11.5.1"
-      }
-    },
-    "jest-environment-jsdom-fourteen": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz",
-      "integrity": "sha512-4vtoRMg7jAstitRzL4nbw83VmGH8Rs13wrND3Ud2o1fczDhMUF32iIrNKwYGgeOPUdfvZU4oy8Bbv+ni1fgVCA==",
-      "requires": {
-        "jest-mock": "^24.5.0",
-        "jest-util": "^24.5.0",
-        "jsdom": "^14.0.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
-          "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA=="
-        },
-        "jsdom": {
-          "version": "14.1.0",
-          "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz",
-          "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==",
-          "requires": {
-            "abab": "^2.0.0",
-            "acorn": "^6.0.4",
-            "acorn-globals": "^4.3.0",
-            "array-equal": "^1.0.0",
-            "cssom": "^0.3.4",
-            "cssstyle": "^1.1.1",
-            "data-urls": "^1.1.0",
-            "domexception": "^1.0.1",
-            "escodegen": "^1.11.0",
-            "html-encoding-sniffer": "^1.0.2",
-            "nwsapi": "^2.1.3",
-            "parse5": "5.1.0",
-            "pn": "^1.1.0",
-            "request": "^2.88.0",
-            "request-promise-native": "^1.0.5",
-            "saxes": "^3.1.9",
-            "symbol-tree": "^3.2.2",
-            "tough-cookie": "^2.5.0",
-            "w3c-hr-time": "^1.0.1",
-            "w3c-xmlserializer": "^1.1.2",
-            "webidl-conversions": "^4.0.2",
-            "whatwg-encoding": "^1.0.5",
-            "whatwg-mimetype": "^2.3.0",
-            "whatwg-url": "^7.0.0",
-            "ws": "^6.1.2",
-            "xml-name-validator": "^3.0.0"
-          }
-        },
-        "parse5": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
-          "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ=="
-        },
-        "whatwg-url": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
-          "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
-          "requires": {
-            "lodash.sortby": "^4.7.0",
-            "tr46": "^1.0.1",
-            "webidl-conversions": "^4.0.2"
-          }
-        },
-        "ws": {
-          "version": "6.2.1",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-          "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
-          "requires": {
-            "async-limiter": "~1.0.0"
-          }
-        }
-      }
-    },
-    "jest-environment-node": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz",
-      "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==",
-      "requires": {
-        "@jest/environment": "^24.9.0",
-        "@jest/fake-timers": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "jest-mock": "^24.9.0",
-        "jest-util": "^24.9.0"
-      }
-    },
-    "jest-get-type": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
-      "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q=="
-    },
-    "jest-haste-map": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz",
-      "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "anymatch": "^2.0.0",
-        "fb-watchman": "^2.0.0",
-        "fsevents": "^1.2.7",
-        "graceful-fs": "^4.1.15",
-        "invariant": "^2.2.4",
-        "jest-serializer": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "jest-worker": "^24.9.0",
-        "micromatch": "^3.1.10",
-        "sane": "^4.0.3",
-        "walker": "^1.0.7"
-      },
-      "dependencies": {
-        "fsevents": {
-          "version": "1.2.9",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-          "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
-          "optional": true,
-          "requires": {
-            "nan": "^2.12.1",
-            "node-pre-gyp": "^0.12.0"
-          },
-          "dependencies": {
-            "abbrev": {
-              "version": "1.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "ansi-regex": {
-              "version": "2.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "aproba": {
-              "version": "1.2.0",
-              "bundled": true,
-              "optional": true
-            },
-            "are-we-there-yet": {
-              "version": "1.1.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^2.0.6"
-              }
-            },
-            "balanced-match": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "brace-expansion": {
-              "version": "1.1.11",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "balanced-match": "^1.0.0",
-                "concat-map": "0.0.1"
-              }
-            },
-            "chownr": {
-              "version": "1.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "code-point-at": {
-              "version": "1.1.0",
-              "bundled": true,
-              "optional": true
-            },
-            "concat-map": {
-              "version": "0.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "console-control-strings": {
-              "version": "1.1.0",
-              "bundled": true,
-              "optional": true
-            },
-            "core-util-is": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "debug": {
-              "version": "4.1.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "ms": "^2.1.1"
-              }
-            },
-            "deep-extend": {
-              "version": "0.6.0",
-              "bundled": true,
-              "optional": true
-            },
-            "delegates": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "detect-libc": {
-              "version": "1.0.3",
-              "bundled": true,
-              "optional": true
-            },
-            "fs-minipass": {
-              "version": "1.2.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "fs.realpath": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "gauge": {
-              "version": "2.7.4",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "aproba": "^1.0.3",
-                "console-control-strings": "^1.0.0",
-                "has-unicode": "^2.0.0",
-                "object-assign": "^4.1.0",
-                "signal-exit": "^3.0.0",
-                "string-width": "^1.0.1",
-                "strip-ansi": "^3.0.1",
-                "wide-align": "^1.1.0"
-              }
-            },
-            "glob": {
-              "version": "7.1.3",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.0.4",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-              }
-            },
-            "has-unicode": {
-              "version": "2.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "iconv-lite": {
-              "version": "0.4.24",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "safer-buffer": ">= 2.1.2 < 3"
-              }
-            },
-            "ignore-walk": {
-              "version": "3.0.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minimatch": "^3.0.4"
-              }
-            },
-            "inflight": {
-              "version": "1.0.6",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "once": "^1.3.0",
-                "wrappy": "1"
-              }
-            },
-            "inherits": {
-              "version": "2.0.3",
-              "bundled": true,
-              "optional": true
-            },
-            "ini": {
-              "version": "1.3.5",
-              "bundled": true,
-              "optional": true
-            },
-            "is-fullwidth-code-point": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "number-is-nan": "^1.0.0"
-              }
-            },
-            "isarray": {
-              "version": "1.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "minimatch": {
-              "version": "3.0.4",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "brace-expansion": "^1.1.7"
-              }
-            },
-            "minimist": {
-              "version": "0.0.8",
-              "bundled": true,
-              "optional": true
-            },
-            "minipass": {
-              "version": "2.3.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.0"
-              }
-            },
-            "minizlib": {
-              "version": "1.2.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "mkdirp": {
-              "version": "0.5.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "minimist": "0.0.8"
-              }
-            },
-            "ms": {
-              "version": "2.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "needle": {
-              "version": "2.3.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "debug": "^4.1.0",
-                "iconv-lite": "^0.4.4",
-                "sax": "^1.2.4"
-              }
-            },
-            "node-pre-gyp": {
-              "version": "0.12.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "detect-libc": "^1.0.2",
-                "mkdirp": "^0.5.1",
-                "needle": "^2.2.1",
-                "nopt": "^4.0.1",
-                "npm-packlist": "^1.1.6",
-                "npmlog": "^4.0.2",
-                "rc": "^1.2.7",
-                "rimraf": "^2.6.1",
-                "semver": "^5.3.0",
-                "tar": "^4"
-              }
-            },
-            "nopt": {
-              "version": "4.0.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "abbrev": "1",
-                "osenv": "^0.1.4"
-              }
-            },
-            "npm-bundled": {
-              "version": "1.0.6",
-              "bundled": true,
-              "optional": true
-            },
-            "npm-packlist": {
-              "version": "1.4.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "ignore-walk": "^3.0.1",
-                "npm-bundled": "^1.0.1"
-              }
-            },
-            "npmlog": {
-              "version": "4.1.2",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "are-we-there-yet": "~1.1.2",
-                "console-control-strings": "~1.1.0",
-                "gauge": "~2.7.3",
-                "set-blocking": "~2.0.0"
-              }
-            },
-            "number-is-nan": {
-              "version": "1.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "object-assign": {
-              "version": "4.1.1",
-              "bundled": true,
-              "optional": true
-            },
-            "once": {
-              "version": "1.4.0",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "wrappy": "1"
-              }
-            },
-            "os-homedir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "os-tmpdir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "osenv": {
-              "version": "0.1.5",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "os-homedir": "^1.0.0",
-                "os-tmpdir": "^1.0.0"
-              }
-            },
-            "path-is-absolute": {
-              "version": "1.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "process-nextick-args": {
-              "version": "2.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "rc": {
-              "version": "1.2.8",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "deep-extend": "^0.6.0",
-                "ini": "~1.3.0",
-                "minimist": "^1.2.0",
-                "strip-json-comments": "~2.0.1"
-              },
-              "dependencies": {
-                "minimist": {
-                  "version": "1.2.0",
-                  "bundled": true,
-                  "optional": true
-                }
-              }
-            },
-            "readable-stream": {
-              "version": "2.3.6",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "core-util-is": "~1.0.0",
-                "inherits": "~2.0.3",
-                "isarray": "~1.0.0",
-                "process-nextick-args": "~2.0.0",
-                "safe-buffer": "~5.1.1",
-                "string_decoder": "~1.1.1",
-                "util-deprecate": "~1.0.1"
-              }
-            },
-            "rimraf": {
-              "version": "2.6.3",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "glob": "^7.1.3"
-              }
-            },
-            "safe-buffer": {
-              "version": "5.1.2",
-              "bundled": true,
-              "optional": true
-            },
-            "safer-buffer": {
-              "version": "2.1.2",
-              "bundled": true,
-              "optional": true
-            },
-            "sax": {
-              "version": "1.2.4",
-              "bundled": true,
-              "optional": true
-            },
-            "semver": {
-              "version": "5.7.0",
-              "bundled": true,
-              "optional": true
-            },
-            "set-blocking": {
-              "version": "2.0.0",
-              "bundled": true,
-              "optional": true
-            },
-            "signal-exit": {
-              "version": "3.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "string-width": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            },
-            "string_decoder": {
-              "version": "1.1.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            },
-            "strip-ansi": {
-              "version": "3.0.1",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "ansi-regex": "^2.0.0"
-              }
-            },
-            "strip-json-comments": {
-              "version": "2.0.1",
-              "bundled": true,
-              "optional": true
-            },
-            "tar": {
-              "version": "4.4.8",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "chownr": "^1.1.1",
-                "fs-minipass": "^1.2.5",
-                "minipass": "^2.3.4",
-                "minizlib": "^1.1.1",
-                "mkdirp": "^0.5.0",
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.2"
-              }
-            },
-            "util-deprecate": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "wide-align": {
-              "version": "1.1.3",
-              "bundled": true,
-              "optional": true,
-              "requires": {
-                "string-width": "^1.0.2 || 2"
-              }
-            },
-            "wrappy": {
-              "version": "1.0.2",
-              "bundled": true,
-              "optional": true
-            },
-            "yallist": {
-              "version": "3.0.3",
-              "bundled": true,
-              "optional": true
-            }
-          }
-        }
-      }
-    },
-    "jest-jasmine2": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz",
-      "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==",
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@jest/environment": "^24.9.0",
-        "@jest/test-result": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "chalk": "^2.0.1",
-        "co": "^4.6.0",
-        "expect": "^24.9.0",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^24.9.0",
-        "jest-matcher-utils": "^24.9.0",
-        "jest-message-util": "^24.9.0",
-        "jest-runtime": "^24.9.0",
-        "jest-snapshot": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "pretty-format": "^24.9.0",
-        "throat": "^4.0.0"
-      }
-    },
-    "jest-leak-detector": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz",
-      "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==",
-      "requires": {
-        "jest-get-type": "^24.9.0",
-        "pretty-format": "^24.9.0"
-      }
-    },
-    "jest-matcher-utils": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
-      "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
-      "requires": {
-        "chalk": "^2.0.1",
-        "jest-diff": "^24.9.0",
-        "jest-get-type": "^24.9.0",
-        "pretty-format": "^24.9.0"
-      }
-    },
-    "jest-message-util": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz",
-      "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==",
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@jest/test-result": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "@types/stack-utils": "^1.0.1",
-        "chalk": "^2.0.1",
-        "micromatch": "^3.1.10",
-        "slash": "^2.0.0",
-        "stack-utils": "^1.0.1"
-      }
-    },
-    "jest-mock": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz",
-      "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==",
-      "requires": {
-        "@jest/types": "^24.9.0"
-      }
-    },
-    "jest-pnp-resolver": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
-      "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ=="
-    },
-    "jest-regex-util": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz",
-      "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA=="
-    },
-    "jest-resolve": {
-      "version": "24.8.0",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.8.0.tgz",
-      "integrity": "sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw==",
-      "requires": {
-        "@jest/types": "^24.8.0",
-        "browser-resolve": "^1.11.3",
-        "chalk": "^2.0.1",
-        "jest-pnp-resolver": "^1.2.1",
-        "realpath-native": "^1.1.0"
-      }
-    },
-    "jest-resolve-dependencies": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz",
-      "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "jest-regex-util": "^24.3.0",
-        "jest-snapshot": "^24.9.0"
-      }
-    },
-    "jest-runner": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz",
-      "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==",
-      "requires": {
-        "@jest/console": "^24.7.1",
-        "@jest/environment": "^24.9.0",
-        "@jest/test-result": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "chalk": "^2.4.2",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.1.15",
-        "jest-config": "^24.9.0",
-        "jest-docblock": "^24.3.0",
-        "jest-haste-map": "^24.9.0",
-        "jest-jasmine2": "^24.9.0",
-        "jest-leak-detector": "^24.9.0",
-        "jest-message-util": "^24.9.0",
-        "jest-resolve": "^24.9.0",
-        "jest-runtime": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "jest-worker": "^24.6.0",
-        "source-map-support": "^0.5.6",
-        "throat": "^4.0.0"
-      },
-      "dependencies": {
-        "jest-resolve": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
-          "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
-          "requires": {
-            "@jest/types": "^24.9.0",
-            "browser-resolve": "^1.11.3",
-            "chalk": "^2.0.1",
-            "jest-pnp-resolver": "^1.2.1",
-            "realpath-native": "^1.1.0"
-          }
-        }
-      }
-    },
-    "jest-runtime": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz",
-      "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==",
-      "requires": {
-        "@jest/console": "^24.7.1",
-        "@jest/environment": "^24.9.0",
-        "@jest/source-map": "^24.3.0",
-        "@jest/transform": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "@types/yargs": "^13.0.0",
-        "chalk": "^2.0.1",
-        "exit": "^0.1.2",
-        "glob": "^7.1.3",
-        "graceful-fs": "^4.1.15",
-        "jest-config": "^24.9.0",
-        "jest-haste-map": "^24.9.0",
-        "jest-message-util": "^24.9.0",
-        "jest-mock": "^24.9.0",
-        "jest-regex-util": "^24.3.0",
-        "jest-resolve": "^24.9.0",
-        "jest-snapshot": "^24.9.0",
-        "jest-util": "^24.9.0",
-        "jest-validate": "^24.9.0",
-        "realpath-native": "^1.1.0",
-        "slash": "^2.0.0",
-        "strip-bom": "^3.0.0",
-        "yargs": "^13.3.0"
-      },
-      "dependencies": {
-        "jest-resolve": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
-          "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
-          "requires": {
-            "@jest/types": "^24.9.0",
-            "browser-resolve": "^1.11.3",
-            "chalk": "^2.0.1",
-            "jest-pnp-resolver": "^1.2.1",
-            "realpath-native": "^1.1.0"
-          }
-        }
-      }
-    },
-    "jest-serializer": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz",
-      "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ=="
-    },
-    "jest-snapshot": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz",
-      "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==",
-      "requires": {
-        "@babel/types": "^7.0.0",
-        "@jest/types": "^24.9.0",
-        "chalk": "^2.0.1",
-        "expect": "^24.9.0",
-        "jest-diff": "^24.9.0",
-        "jest-get-type": "^24.9.0",
-        "jest-matcher-utils": "^24.9.0",
-        "jest-message-util": "^24.9.0",
-        "jest-resolve": "^24.9.0",
-        "mkdirp": "^0.5.1",
-        "natural-compare": "^1.4.0",
-        "pretty-format": "^24.9.0",
-        "semver": "^6.2.0"
-      },
-      "dependencies": {
-        "jest-resolve": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
-          "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
-          "requires": {
-            "@jest/types": "^24.9.0",
-            "browser-resolve": "^1.11.3",
-            "chalk": "^2.0.1",
-            "jest-pnp-resolver": "^1.2.1",
-            "realpath-native": "^1.1.0"
-          }
-        }
-      }
-    },
-    "jest-util": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz",
-      "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==",
-      "requires": {
-        "@jest/console": "^24.9.0",
-        "@jest/fake-timers": "^24.9.0",
-        "@jest/source-map": "^24.9.0",
-        "@jest/test-result": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "callsites": "^3.0.0",
-        "chalk": "^2.0.1",
-        "graceful-fs": "^4.1.15",
-        "is-ci": "^2.0.0",
-        "mkdirp": "^0.5.1",
-        "slash": "^2.0.0",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "callsites": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-          "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "jest-validate": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz",
-      "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "camelcase": "^5.3.1",
-        "chalk": "^2.0.1",
-        "jest-get-type": "^24.9.0",
-        "leven": "^3.1.0",
-        "pretty-format": "^24.9.0"
-      }
-    },
-    "jest-watch-typeahead": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.3.1.tgz",
-      "integrity": "sha512-cDIko96c4Yqg/7mfye1eEYZ6Pvugo9mnOOhGQod3Es7/KptNv1b+9gFVaotzdqNqTlwbkA80BnWHtzV4dc+trA==",
-      "requires": {
-        "ansi-escapes": "^3.0.0",
-        "chalk": "^2.4.1",
-        "jest-watcher": "^24.3.0",
-        "slash": "^2.0.0",
-        "string-length": "^2.0.0",
-        "strip-ansi": "^5.0.0"
-      }
-    },
-    "jest-watcher": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz",
-      "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==",
-      "requires": {
-        "@jest/test-result": "^24.9.0",
-        "@jest/types": "^24.9.0",
-        "@types/yargs": "^13.0.0",
-        "ansi-escapes": "^3.0.0",
-        "chalk": "^2.0.1",
-        "jest-util": "^24.9.0",
-        "string-length": "^2.0.0"
-      }
-    },
-    "jest-worker": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
-      "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
-      "requires": {
-        "merge-stream": "^2.0.0",
-        "supports-color": "^6.1.0"
-      },
-      "dependencies": {
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "js-levenshtein": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
-      "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="
-    },
-    "js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
-    },
-    "js-yaml": {
-      "version": "3.13.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
-      "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
-    },
-    "jsdom": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
-      "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
-      "requires": {
-        "abab": "^2.0.0",
-        "acorn": "^5.5.3",
-        "acorn-globals": "^4.1.0",
-        "array-equal": "^1.0.0",
-        "cssom": ">= 0.3.2 < 0.4.0",
-        "cssstyle": "^1.0.0",
-        "data-urls": "^1.0.0",
-        "domexception": "^1.0.1",
-        "escodegen": "^1.9.1",
-        "html-encoding-sniffer": "^1.0.2",
-        "left-pad": "^1.3.0",
-        "nwsapi": "^2.0.7",
-        "parse5": "4.0.0",
-        "pn": "^1.1.0",
-        "request": "^2.87.0",
-        "request-promise-native": "^1.0.5",
-        "sax": "^1.2.4",
-        "symbol-tree": "^3.2.2",
-        "tough-cookie": "^2.3.4",
-        "w3c-hr-time": "^1.0.1",
-        "webidl-conversions": "^4.0.2",
-        "whatwg-encoding": "^1.0.3",
-        "whatwg-mimetype": "^2.1.0",
-        "whatwg-url": "^6.4.1",
-        "ws": "^5.2.0",
-        "xml-name-validator": "^3.0.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "5.7.3",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
-          "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw=="
-        }
-      }
-    },
-    "jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
-    },
-    "json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
-    },
-    "json-schema": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
-    },
-    "json-stable-stringify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
-      "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
-      "requires": {
-        "jsonify": "~0.0.0"
-      }
-    },
-    "json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
-    },
-    "json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
-      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA=="
-    },
-    "json5": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
-      "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
-      "requires": {
-        "minimist": "^1.2.0"
-      }
-    },
-    "jsonfile": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
-      "requires": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "jsonify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
-      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
-    },
-    "jsprim": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
-      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "requires": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.2.3",
-        "verror": "1.10.0"
-      }
-    },
-    "jsx-ast-utils": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz",
-      "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==",
-      "requires": {
-        "array-includes": "^3.0.3",
-        "object.assign": "^4.1.0"
-      }
-    },
-    "killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
-      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg=="
-    },
-    "kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "requires": {
-        "is-buffer": "^1.1.5"
-      }
-    },
-    "kleur": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
-      "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="
-    },
-    "last-call-webpack-plugin": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
-      "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==",
-      "requires": {
-        "lodash": "^4.17.5",
-        "webpack-sources": "^1.1.0"
-      }
-    },
-    "lazy-cache": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
-      "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
-    },
-    "lcid": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
-      "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
-      "requires": {
-        "invert-kv": "^2.0.0"
-      }
-    },
-    "left-pad": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
-      "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA=="
-    },
-    "leven": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
-      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="
-    },
-    "levn": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
-      "requires": {
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2"
-      }
-    },
-    "load-json-file": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
-      "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^4.0.0",
-        "pify": "^3.0.0",
-        "strip-bom": "^3.0.0"
-      }
-    },
-    "loader-fs-cache": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz",
-      "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==",
-      "requires": {
-        "find-cache-dir": "^0.1.1",
-        "mkdirp": "0.5.1"
-      },
-      "dependencies": {
-        "find-cache-dir": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
-          "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
-          "requires": {
-            "commondir": "^1.0.1",
-            "mkdirp": "^0.5.1",
-            "pkg-dir": "^1.0.0"
-          }
-        },
-        "find-up": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
-          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
-          "requires": {
-            "path-exists": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
-          "requires": {
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pkg-dir": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
-          "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
-          "requires": {
-            "find-up": "^1.0.0"
-          }
-        }
-      }
-    },
-    "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw=="
-    },
-    "loader-utils": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
-      "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
-      "requires": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^2.0.0",
-        "json5": "^1.0.1"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        }
-      }
-    },
-    "locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "requires": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.15",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
-    },
-    "lodash._reinterpolate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
-      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
-    },
-    "lodash.memoize": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
-      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
-    },
-    "lodash.sortby": {
-      "version": "4.7.0",
-      "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
-      "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
-    },
-    "lodash.template": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
-      "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
-      "requires": {
-        "lodash._reinterpolate": "^3.0.0",
-        "lodash.templatesettings": "^4.0.0"
-      }
-    },
-    "lodash.templatesettings": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
-      "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
-      "requires": {
-        "lodash._reinterpolate": "^3.0.0"
-      }
-    },
-    "lodash.unescape": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz",
-      "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw="
-    },
-    "lodash.uniq": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
-      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
-    },
-    "loglevel": {
-      "version": "1.6.4",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz",
-      "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g=="
-    },
-    "loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "requires": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      }
-    },
-    "lower-case": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
-      "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
-    },
-    "lru-cache": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-      "requires": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "requires": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "makeerror": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
-      "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
-      "requires": {
-        "tmpl": "1.0.x"
-      }
-    },
-    "mamacro": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
-      "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA=="
-    },
-    "map-age-cleaner": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
-      "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
-      "requires": {
-        "p-defer": "^1.0.0"
-      }
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "mdn-data": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
-      "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
-    },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
-    },
-    "mem": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
-      "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
-      "requires": {
-        "map-age-cleaner": "^0.1.1",
-        "mimic-fn": "^2.0.0",
-        "p-is-promise": "^2.0.0"
-      },
-      "dependencies": {
-        "mimic-fn": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-          "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
-        }
-      }
-    },
-    "memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "merge-deep": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz",
-      "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==",
-      "requires": {
-        "arr-union": "^3.1.0",
-        "clone-deep": "^0.2.4",
-        "kind-of": "^3.0.2"
-      }
-    },
-    "merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
-    },
-    "merge-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
-      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
-    },
-    "merge2": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz",
-      "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A=="
-    },
-    "methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
-    },
-    "microevent.ts": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz",
-      "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g=="
-    },
-    "micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        }
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      }
-    },
-    "mime": {
-      "version": "2.4.4",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-      "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA=="
-    },
-    "mime-db": {
-      "version": "1.40.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
-      "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
-    },
-    "mime-types": {
-      "version": "2.1.24",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
-      "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
-      "requires": {
-        "mime-db": "1.40.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
-      "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
-    },
-    "mini-css-extract-plugin": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz",
-      "integrity": "sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==",
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "webpack-sources": "^1.1.0"
-      }
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
-    },
-    "minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
-    },
-    "mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "mixin-object": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
-      "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
-      "requires": {
-        "for-in": "^0.1.3",
-        "is-extendable": "^0.1.1"
-      },
-      "dependencies": {
-        "for-in": {
-          "version": "0.1.8",
-          "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
-          "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE="
-        }
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
-      "requires": {
-        "minimist": "0.0.8"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "0.0.8",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
-        }
-      }
-    },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-    },
-    "multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
-      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
-      "requires": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      }
-    },
-    "multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE="
-    },
-    "mute-stream": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
-      "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
-    },
-    "nan": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
-      "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
-      "optional": true
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        }
-      }
-    },
-    "natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
-    },
-    "negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
-    },
-    "neo-async": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
-      "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
-    },
-    "next-tick": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
-      "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
-    },
-    "no-case": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
-      "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
-      "requires": {
-        "lower-case": "^1.1.1"
-      }
-    },
-    "node-forge": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.2.tgz",
-      "integrity": "sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg=="
-    },
-    "node-int64": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
-      "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
-    },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
-        },
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          },
-          "dependencies": {
-            "string_decoder": {
-              "version": "1.1.1",
-              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-              "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            }
-          }
-        },
-        "util": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-          "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-          "requires": {
-            "inherits": "2.0.3"
-          },
-          "dependencies": {
-            "inherits": {
-              "version": "2.0.3",
-              "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-              "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
-            }
-          }
-        }
-      }
-    },
-    "node-modules-regexp": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
-      "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA="
-    },
-    "node-notifier": {
-      "version": "5.4.3",
-      "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
-      "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
-      "requires": {
-        "growly": "^1.3.0",
-        "is-wsl": "^1.1.0",
-        "semver": "^5.5.0",
-        "shellwords": "^0.1.1",
-        "which": "^1.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "node-releases": {
-      "version": "1.1.30",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.30.tgz",
-      "integrity": "sha512-BHcr1g6NeUH12IL+X3Flvs4IOnl1TL0JczUhEZjDE+FXXPQcVCNr8NEPb01zqGxzhTpdyJL5GXemaCW7aw6Khw==",
-      "requires": {
-        "semver": "^5.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        }
-      }
-    },
-    "normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "requires": {
-        "remove-trailing-separator": "^1.0.1"
-      }
-    },
-    "normalize-range": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
-      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
-    },
-    "normalize-url": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
-      "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg=="
-    },
-    "npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "requires": {
-        "path-key": "^2.0.0"
-      }
-    },
-    "nth-check": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
-      "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
-      "requires": {
-        "boolbase": "~1.0.0"
-      }
-    },
-    "num2fraction": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
-      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
-    },
-    "number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
-    },
-    "nwsapi": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz",
-      "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw=="
-    },
-    "oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "object-hash": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
-      "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA=="
-    },
-    "object-inspect": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
-      "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
-    },
-    "object-is": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
-      "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY="
-    },
-    "object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
-    },
-    "object-path": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz",
-      "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk="
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.assign": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
-      "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
-      "requires": {
-        "define-properties": "^1.1.2",
-        "function-bind": "^1.1.1",
-        "has-symbols": "^1.0.0",
-        "object-keys": "^1.0.11"
-      }
-    },
-    "object.entries": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
-      "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
-      "requires": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.12.0",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3"
-      }
-    },
-    "object.fromentries": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz",
-      "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==",
-      "requires": {
-        "define-properties": "^1.1.2",
-        "es-abstract": "^1.11.0",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.1"
-      }
-    },
-    "object.getownpropertydescriptors": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
-      "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
-      "requires": {
-        "define-properties": "^1.1.2",
-        "es-abstract": "^1.5.1"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "object.values": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
-      "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
-      "requires": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.12.0",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3"
-      }
-    },
-    "obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
-      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
-    },
-    "on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "requires": {
-        "ee-first": "1.1.1"
-      }
-    },
-    "on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "onetime": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
-      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
-      "requires": {
-        "mimic-fn": "^1.0.0"
-      }
-    },
-    "open": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz",
-      "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==",
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
-      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "optimist": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
-      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
-      "requires": {
-        "minimist": "~0.0.1",
-        "wordwrap": "~0.0.2"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "0.0.10",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
-          "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
-        },
-        "wordwrap": {
-          "version": "0.0.3",
-          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
-          "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
-        }
-      }
-    },
-    "optimize-css-assets-webpack-plugin": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz",
-      "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==",
-      "requires": {
-        "cssnano": "^4.1.10",
-        "last-call-webpack-plugin": "^3.0.0"
-      }
-    },
-    "optionator": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
-      "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
-      "requires": {
-        "deep-is": "~0.1.3",
-        "fast-levenshtein": "~2.0.4",
-        "levn": "~0.3.0",
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2",
-        "wordwrap": "~1.0.0"
-      }
-    },
-    "original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
-      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
-      "requires": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
-    },
-    "os-locale": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
-      "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
-      "requires": {
-        "execa": "^1.0.0",
-        "lcid": "^2.0.0",
-        "mem": "^4.0.0"
-      }
-    },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
-    },
-    "p-defer": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
-      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
-    },
-    "p-each-series": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz",
-      "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=",
-      "requires": {
-        "p-reduce": "^1.0.0"
-      }
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
-    },
-    "p-is-promise": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
-      "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg=="
-    },
-    "p-limit": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
-      "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
-      "requires": {
-        "p-try": "^2.0.0"
-      }
-    },
-    "p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "requires": {
-        "p-limit": "^2.0.0"
-      }
-    },
-    "p-map": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
-      "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA=="
-    },
-    "p-reduce": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
-      "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo="
-    },
-    "p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
-    },
-    "pako": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
-      "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw=="
-    },
-    "parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "requires": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "param-case": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
-      "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
-      "requires": {
-        "no-case": "^2.2.0"
-      }
-    },
-    "parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-      "requires": {
-        "callsites": "^3.0.0"
-      },
-      "dependencies": {
-        "callsites": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-          "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
-        }
-      }
-    },
-    "parse-asn1": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz",
-      "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==",
-      "requires": {
-        "asn1.js": "^4.0.0",
-        "browserify-aes": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "parse-json": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-      "requires": {
-        "error-ex": "^1.3.1",
-        "json-parse-better-errors": "^1.0.1"
-      }
-    },
-    "parse5": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
-      "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA=="
-    },
-    "parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
-    },
-    "path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
-    },
-    "path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
-    },
-    "path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
-    },
-    "path-parse": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
-    },
-    "path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
-    },
-    "path-type": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
-      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
-      "requires": {
-        "pify": "^3.0.0"
-      }
-    },
-    "pbkdf2": {
-      "version": "3.0.17",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
-      "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
-    },
-    "pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pirates": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
-      "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
-      "requires": {
-        "node-modules-regexp": "^1.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "requires": {
-        "find-up": "^3.0.0"
-      }
-    },
-    "pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
-      "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
-      "requires": {
-        "find-up": "^2.1.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-          "requires": {
-            "locate-path": "^2.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-          "requires": {
-            "p-locate": "^2.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-          "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-          "requires": {
-            "p-try": "^1.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-          "requires": {
-            "p-limit": "^1.1.0"
-          }
-        },
-        "p-try": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
-        }
-      }
-    },
-    "pn": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
-      "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA=="
-    },
-    "pnp-webpack-plugin": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz",
-      "integrity": "sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==",
-      "requires": {
-        "ts-pnp": "^1.1.2"
-      }
-    },
-    "portfinder": {
-      "version": "1.0.24",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz",
-      "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==",
-      "requires": {
-        "async": "^1.5.2",
-        "debug": "^2.2.0",
-        "mkdirp": "0.5.x"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        }
-      }
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
-    },
-    "postcss": {
-      "version": "7.0.18",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz",
-      "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==",
-      "requires": {
-        "chalk": "^2.4.2",
-        "source-map": "^0.6.1",
-        "supports-color": "^6.1.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-attribute-case-insensitive": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz",
-      "integrity": "sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-browser-comments": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz",
-      "integrity": "sha512-xGG0UvoxwBc4Yx4JX3gc0RuDl1kc4bVihCzzk6UC72YPfq5fu3c717Nu8Un3nvnq1BJ31gBnFXIG/OaUTnpHgA==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-calc": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz",
-      "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==",
-      "requires": {
-        "css-unit-converter": "^1.1.1",
-        "postcss": "^7.0.5",
-        "postcss-selector-parser": "^5.0.0-rc.4",
-        "postcss-value-parser": "^3.3.1"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-color-functional-notation": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz",
-      "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-color-gray": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz",
-      "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==",
-      "requires": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.5",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-color-hex-alpha": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz",
-      "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==",
-      "requires": {
-        "postcss": "^7.0.14",
-        "postcss-values-parser": "^2.0.1"
-      }
-    },
-    "postcss-color-mod-function": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz",
-      "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==",
-      "requires": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-color-rebeccapurple": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz",
-      "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-colormin": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
-      "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
-      "requires": {
-        "browserslist": "^4.0.0",
-        "color": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-convert-values": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
-      "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-custom-media": {
-      "version": "7.0.8",
-      "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz",
-      "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==",
-      "requires": {
-        "postcss": "^7.0.14"
-      }
-    },
-    "postcss-custom-properties": {
-      "version": "8.0.11",
-      "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz",
-      "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==",
-      "requires": {
-        "postcss": "^7.0.17",
-        "postcss-values-parser": "^2.0.1"
-      }
-    },
-    "postcss-custom-selectors": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz",
-      "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-dir-pseudo-class": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz",
-      "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-discard-comments": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
-      "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-duplicates": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
-      "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-empty": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
-      "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-overridden": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
-      "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-double-position-gradients": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz",
-      "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==",
-      "requires": {
-        "postcss": "^7.0.5",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-env-function": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz",
-      "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-flexbugs-fixes": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz",
-      "integrity": "sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-focus-visible": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz",
-      "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-focus-within": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz",
-      "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-font-variant": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz",
-      "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-gap-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz",
-      "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-image-set-function": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz",
-      "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-initial": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.1.tgz",
-      "integrity": "sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw==",
-      "requires": {
-        "lodash.template": "^4.5.0",
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-lab-function": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz",
-      "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==",
-      "requires": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-load-config": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
-      "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==",
-      "requires": {
-        "cosmiconfig": "^5.0.0",
-        "import-cwd": "^2.0.0"
-      }
-    },
-    "postcss-loader": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
-      "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "postcss": "^7.0.0",
-        "postcss-load-config": "^2.0.0",
-        "schema-utils": "^1.0.0"
-      }
-    },
-    "postcss-logical": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz",
-      "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-media-minmax": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz",
-      "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-merge-longhand": {
-      "version": "4.0.11",
-      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
-      "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
-      "requires": {
-        "css-color-names": "0.0.4",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "stylehacks": "^4.0.0"
-      }
-    },
-    "postcss-merge-rules": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
-      "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "cssnano-util-same-parent": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0",
-        "vendors": "^1.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
-          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
-          "requires": {
-            "dot-prop": "^4.1.1",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-minify-font-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
-      "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-minify-gradients": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
-      "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "is-color-stop": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-minify-params": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
-      "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "browserslist": "^4.0.0",
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "postcss-minify-selectors": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
-      "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
-          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
-          "requires": {
-            "dot-prop": "^4.1.1",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-modules-extract-imports": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
-      "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
-      "requires": {
-        "postcss": "^7.0.5"
-      }
-    },
-    "postcss-modules-local-by-default": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz",
-      "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==",
-      "requires": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^6.0.0",
-        "postcss-value-parser": "^3.3.1"
-      }
-    },
-    "postcss-modules-scope": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz",
-      "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==",
-      "requires": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^6.0.0"
-      }
-    },
-    "postcss-modules-values": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz",
-      "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==",
-      "requires": {
-        "icss-replace-symbols": "^1.1.0",
-        "postcss": "^7.0.6"
-      }
-    },
-    "postcss-nesting": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz",
-      "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-normalize": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-7.0.1.tgz",
-      "integrity": "sha512-NOp1fwrG+6kVXWo7P9SizCHX6QvioxFD/hZcI2MLxPmVnFJFC0j0DDpIuNw2tUDeCFMni59gCVgeJ1/hYhj2OQ==",
-      "requires": {
-        "@csstools/normalize.css": "^9.0.1",
-        "browserslist": "^4.1.1",
-        "postcss": "^7.0.2",
-        "postcss-browser-comments": "^2.0.0"
-      }
-    },
-    "postcss-normalize-charset": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
-      "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-normalize-display-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
-      "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-normalize-positions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
-      "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-normalize-repeat-style": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
-      "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-normalize-string": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
-      "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
-      "requires": {
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-normalize-timing-functions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
-      "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-normalize-unicode": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
-      "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
-      "requires": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-normalize-url": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
-      "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
-      "requires": {
-        "is-absolute-url": "^2.0.0",
-        "normalize-url": "^3.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-normalize-whitespace": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
-      "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-ordered-values": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
-      "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-overflow-shorthand": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz",
-      "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-page-break": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz",
-      "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-place": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz",
-      "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-preset-env": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz",
-      "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==",
-      "requires": {
-        "autoprefixer": "^9.6.1",
-        "browserslist": "^4.6.4",
-        "caniuse-lite": "^1.0.30000981",
-        "css-blank-pseudo": "^0.1.4",
-        "css-has-pseudo": "^0.10.0",
-        "css-prefers-color-scheme": "^3.1.1",
-        "cssdb": "^4.4.0",
-        "postcss": "^7.0.17",
-        "postcss-attribute-case-insensitive": "^4.0.1",
-        "postcss-color-functional-notation": "^2.0.1",
-        "postcss-color-gray": "^5.0.0",
-        "postcss-color-hex-alpha": "^5.0.3",
-        "postcss-color-mod-function": "^3.0.3",
-        "postcss-color-rebeccapurple": "^4.0.1",
-        "postcss-custom-media": "^7.0.8",
-        "postcss-custom-properties": "^8.0.11",
-        "postcss-custom-selectors": "^5.1.2",
-        "postcss-dir-pseudo-class": "^5.0.0",
-        "postcss-double-position-gradients": "^1.0.0",
-        "postcss-env-function": "^2.0.2",
-        "postcss-focus-visible": "^4.0.0",
-        "postcss-focus-within": "^3.0.0",
-        "postcss-font-variant": "^4.0.0",
-        "postcss-gap-properties": "^2.0.0",
-        "postcss-image-set-function": "^3.0.1",
-        "postcss-initial": "^3.0.0",
-        "postcss-lab-function": "^2.0.1",
-        "postcss-logical": "^3.0.0",
-        "postcss-media-minmax": "^4.0.0",
-        "postcss-nesting": "^7.0.0",
-        "postcss-overflow-shorthand": "^2.0.0",
-        "postcss-page-break": "^2.0.0",
-        "postcss-place": "^4.0.1",
-        "postcss-pseudo-class-any-link": "^6.0.0",
-        "postcss-replace-overflow-wrap": "^3.0.0",
-        "postcss-selector-matches": "^4.0.0",
-        "postcss-selector-not": "^4.0.0"
-      }
-    },
-    "postcss-pseudo-class-any-link": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz",
-      "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==",
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-reduce-initial": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
-      "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-reduce-transforms": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
-      "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      }
-    },
-    "postcss-replace-overflow-wrap": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz",
-      "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==",
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-safe-parser": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
-      "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-selector-matches": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz",
-      "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==",
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-selector-not": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz",
-      "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==",
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-selector-parser": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
-      "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
-      "requires": {
-        "cssesc": "^3.0.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      }
-    },
-    "postcss-svgo": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
-      "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
-      "requires": {
-        "is-svg": "^3.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "svgo": "^1.0.0"
-      }
-    },
-    "postcss-unique-selectors": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
-      "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "postcss": "^7.0.0",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
-    },
-    "postcss-values-parser": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz",
-      "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==",
-      "requires": {
-        "flatten": "^1.0.2",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      }
-    },
-    "prelude-ls": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
-    },
-    "pretty-bytes": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz",
-      "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg=="
-    },
-    "pretty-error": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
-      "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
-      "requires": {
-        "renderkid": "^2.0.1",
-        "utila": "~0.4"
-      }
-    },
-    "pretty-format": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
-      "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
-      "requires": {
-        "@jest/types": "^24.9.0",
-        "ansi-regex": "^4.0.0",
-        "ansi-styles": "^3.2.0",
-        "react-is": "^16.8.4"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
-        }
-      }
-    },
-    "private": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
-    },
-    "process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
-    },
-    "progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
-      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
-    },
-    "promise": {
-      "version": "8.0.3",
-      "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.3.tgz",
-      "integrity": "sha512-HeRDUL1RJiLhyA0/grn+PTShlBAcLuh/1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq/XvsTPcjw==",
-      "requires": {
-        "asap": "~2.0.6"
-      }
-    },
-    "promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
-    },
-    "prompts": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz",
-      "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==",
-      "requires": {
-        "kleur": "^3.0.3",
-        "sisteransi": "^1.0.3"
-      }
-    },
-    "prop-types": {
-      "version": "15.7.2",
-      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
-      "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
-      "requires": {
-        "loose-envify": "^1.4.0",
-        "object-assign": "^4.1.1",
-        "react-is": "^16.8.1"
-      }
-    },
-    "proxy-addr": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
-      "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
-      "requires": {
-        "forwarded": "~0.1.2",
-        "ipaddr.js": "1.9.0"
-      }
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
-    },
-    "psl": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
-      "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw=="
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      },
-      "dependencies": {
-        "pump": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-          "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-          "requires": {
-            "end-of-stream": "^1.1.0",
-            "once": "^1.3.1"
-          }
-        }
-      }
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
-    },
-    "q": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
-    },
-    "qs": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
-      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
-    },
-    "querystringify": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
-      "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
-    },
-    "raf": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
-      "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
-      "requires": {
-        "performance-now": "^2.1.0"
-      }
-    },
-    "randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
-    },
-    "raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
-      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
-      "requires": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
-        }
-      }
-    },
-    "react": {
-      "version": "16.9.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-16.9.0.tgz",
-      "integrity": "sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w==",
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2"
-      }
-    },
-    "react-app-polyfill": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-1.0.2.tgz",
-      "integrity": "sha512-yZcpLnIr0FOIzrOOz9JC37NWAWEuCaQWmYn9EWjEzlCW4cOmA5MkT5L3iP8QuUeFnoqVCTJgjIWYbXEJgNXhGA==",
-      "requires": {
-        "core-js": "3.1.4",
-        "object-assign": "4.1.1",
-        "promise": "8.0.3",
-        "raf": "3.4.1",
-        "regenerator-runtime": "0.13.3",
-        "whatwg-fetch": "3.0.0"
-      }
-    },
-    "react-dev-utils": {
-      "version": "9.0.3",
-      "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-9.0.3.tgz",
-      "integrity": "sha512-OyInhcwsvycQ3Zr2pQN+HV4gtRXrky5mJXIy4HnqrWa+mI624xfYfqGuC9dYbxp4Qq3YZzP8GSGQjv0AgNU15w==",
-      "requires": {
-        "@babel/code-frame": "7.5.5",
-        "address": "1.1.0",
-        "browserslist": "4.6.6",
-        "chalk": "2.4.2",
-        "cross-spawn": "6.0.5",
-        "detect-port-alt": "1.1.6",
-        "escape-string-regexp": "1.0.5",
-        "filesize": "3.6.1",
-        "find-up": "3.0.0",
-        "fork-ts-checker-webpack-plugin": "1.5.0",
-        "global-modules": "2.0.0",
-        "globby": "8.0.2",
-        "gzip-size": "5.1.1",
-        "immer": "1.10.0",
-        "inquirer": "6.5.0",
-        "is-root": "2.1.0",
-        "loader-utils": "1.2.3",
-        "open": "^6.3.0",
-        "pkg-up": "2.0.0",
-        "react-error-overlay": "^6.0.1",
-        "recursive-readdir": "2.2.2",
-        "shell-quote": "1.6.1",
-        "sockjs-client": "1.3.0",
-        "strip-ansi": "5.2.0",
-        "text-table": "0.2.0"
-      },
-      "dependencies": {
-        "browserslist": {
-          "version": "4.6.6",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz",
-          "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==",
-          "requires": {
-            "caniuse-lite": "^1.0.30000984",
-            "electron-to-chromium": "^1.3.191",
-            "node-releases": "^1.1.25"
-          }
-        },
-        "inquirer": {
-          "version": "6.5.0",
-          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.0.tgz",
-          "integrity": "sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==",
-          "requires": {
-            "ansi-escapes": "^3.2.0",
-            "chalk": "^2.4.2",
-            "cli-cursor": "^2.1.0",
-            "cli-width": "^2.0.0",
-            "external-editor": "^3.0.3",
-            "figures": "^2.0.0",
-            "lodash": "^4.17.12",
-            "mute-stream": "0.0.7",
-            "run-async": "^2.2.0",
-            "rxjs": "^6.4.0",
-            "string-width": "^2.1.0",
-            "strip-ansi": "^5.1.0",
-            "through": "^2.3.6"
-          }
-        }
-      }
-    },
-    "react-dom": {
-      "version": "16.9.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz",
-      "integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==",
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "scheduler": "^0.15.0"
-      }
-    },
-    "react-error-overlay": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.1.tgz",
-      "integrity": "sha512-V9yoTr6MeZXPPd4nV/05eCBvGH9cGzc52FN8fs0O0TVQ3HYYf1n7EgZVtHbldRq5xU9zEzoXIITjYNIfxDDdUw=="
-    },
-    "react-is": {
-      "version": "16.9.0",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz",
-      "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw=="
-    },
-    "react-scripts": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.1.1.tgz",
-      "integrity": "sha512-dbjTG9vJC61OI62hIswQYg5xHvwlxDTH6QXz6ICEuA5AqkFQWk1LKl76sk8fVL2WsyumbBc4FErALwKcEV2vNA==",
-      "requires": {
-        "@babel/core": "7.5.5",
-        "@svgr/webpack": "4.3.2",
-        "@typescript-eslint/eslint-plugin": "1.13.0",
-        "@typescript-eslint/parser": "1.13.0",
-        "babel-eslint": "10.0.2",
-        "babel-jest": "^24.8.0",
-        "babel-loader": "8.0.6",
-        "babel-plugin-named-asset-import": "^0.3.3",
-        "babel-preset-react-app": "^9.0.1",
-        "camelcase": "^5.2.0",
-        "case-sensitive-paths-webpack-plugin": "2.2.0",
-        "css-loader": "2.1.1",
-        "dotenv": "6.2.0",
-        "dotenv-expand": "4.2.0",
-        "eslint": "^6.1.0",
-        "eslint-config-react-app": "^5.0.1",
-        "eslint-loader": "2.2.1",
-        "eslint-plugin-flowtype": "3.13.0",
-        "eslint-plugin-import": "2.18.2",
-        "eslint-plugin-jsx-a11y": "6.2.3",
-        "eslint-plugin-react": "7.14.3",
-        "eslint-plugin-react-hooks": "^1.6.1",
-        "file-loader": "3.0.1",
-        "fs-extra": "7.0.1",
-        "fsevents": "2.0.7",
-        "html-webpack-plugin": "4.0.0-beta.5",
-        "identity-obj-proxy": "3.0.0",
-        "is-wsl": "^1.1.0",
-        "jest": "24.8.0",
-        "jest-environment-jsdom-fourteen": "0.1.0",
-        "jest-resolve": "24.8.0",
-        "jest-watch-typeahead": "0.3.1",
-        "mini-css-extract-plugin": "0.5.0",
-        "optimize-css-assets-webpack-plugin": "5.0.3",
-        "pnp-webpack-plugin": "1.5.0",
-        "postcss-flexbugs-fixes": "4.1.0",
-        "postcss-loader": "3.0.0",
-        "postcss-normalize": "7.0.1",
-        "postcss-preset-env": "6.7.0",
-        "postcss-safe-parser": "4.0.1",
-        "react-app-polyfill": "^1.0.2",
-        "react-dev-utils": "^9.0.3",
-        "resolve": "1.12.0",
-        "resolve-url-loader": "3.1.0",
-        "sass-loader": "7.2.0",
-        "semver": "6.3.0",
-        "style-loader": "1.0.0",
-        "terser-webpack-plugin": "1.4.1",
-        "ts-pnp": "1.1.2",
-        "url-loader": "2.1.0",
-        "webpack": "4.39.1",
-        "webpack-dev-server": "3.2.1",
-        "webpack-manifest-plugin": "2.0.4",
-        "workbox-webpack-plugin": "4.3.1"
-      }
-    },
-    "read-pkg": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
-      "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
-      "requires": {
-        "load-json-file": "^4.0.0",
-        "normalize-package-data": "^2.3.2",
-        "path-type": "^3.0.0"
-      }
-    },
-    "read-pkg-up": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
-      "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
-      "requires": {
-        "find-up": "^3.0.0",
-        "read-pkg": "^3.0.0"
-      }
-    },
-    "readable-stream": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
-      "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
-      "requires": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      }
-    },
-    "readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "requires": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "realpath-native": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
-      "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==",
-      "requires": {
-        "util.promisify": "^1.0.0"
-      }
-    },
-    "recursive-readdir": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
-      "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
-      "requires": {
-        "minimatch": "3.0.4"
-      }
-    },
-    "regenerate": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
-    },
-    "regenerate-unicode-properties": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
-      "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
-      "requires": {
-        "regenerate": "^1.4.0"
-      }
-    },
-    "regenerator-runtime": {
-      "version": "0.13.3",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
-      "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
-    },
-    "regenerator-transform": {
-      "version": "0.14.1",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
-      "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
-      "requires": {
-        "private": "^0.1.6"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "regex-parser": {
-      "version": "2.2.10",
-      "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz",
-      "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA=="
-    },
-    "regexp-tree": {
-      "version": "0.1.13",
-      "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz",
-      "integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw=="
-    },
-    "regexp.prototype.flags": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
-      "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
-      "requires": {
-        "define-properties": "^1.1.2"
-      }
-    },
-    "regexpp": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
-      "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw=="
-    },
-    "regexpu-core": {
-      "version": "4.5.5",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz",
-      "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==",
-      "requires": {
-        "regenerate": "^1.4.0",
-        "regenerate-unicode-properties": "^8.1.0",
-        "regjsgen": "^0.5.0",
-        "regjsparser": "^0.6.0",
-        "unicode-match-property-ecmascript": "^1.0.4",
-        "unicode-match-property-value-ecmascript": "^1.1.0"
-      }
-    },
-    "regjsgen": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
-      "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA=="
-    },
-    "regjsparser": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
-      "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
-        }
-      }
-    },
-    "relateurl": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
-      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
-    },
-    "renderkid": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
-      "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
-      "requires": {
-        "css-select": "^1.1.0",
-        "dom-converter": "^0.2",
-        "htmlparser2": "^3.3.0",
-        "strip-ansi": "^3.0.0",
-        "utila": "^0.4.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
-        },
-        "css-select": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
-          "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
-          "requires": {
-            "boolbase": "~1.0.0",
-            "css-what": "2.1",
-            "domutils": "1.5.1",
-            "nth-check": "~1.0.1"
-          }
-        },
-        "domutils": {
-          "version": "1.5.1",
-          "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
-          "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
-          "requires": {
-            "dom-serializer": "0",
-            "domelementtype": "1"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "repeat-element": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
-    },
-    "request": {
-      "version": "2.88.0",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
-      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
-      "requires": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.0",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.4.3",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
-        },
-        "tough-cookie": {
-          "version": "2.4.3",
-          "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
-          "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
-          "requires": {
-            "psl": "^1.1.24",
-            "punycode": "^1.4.1"
-          }
-        }
-      }
-    },
-    "request-promise-core": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
-      "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
-      "requires": {
-        "lodash": "^4.17.11"
-      }
-    },
-    "request-promise-native": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz",
-      "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==",
-      "requires": {
-        "request-promise-core": "1.1.2",
-        "stealthy-require": "^1.1.1",
-        "tough-cookie": "^2.3.3"
-      }
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
-    },
-    "require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
-    },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
-    },
-    "resolve": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
-      "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
-      "requires": {
-        "path-parse": "^1.0.6"
-      }
-    },
-    "resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
-    },
-    "resolve-url-loader": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz",
-      "integrity": "sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8/shq3mtqne03HOFyskAClqfxKyFBriXZg==",
-      "requires": {
-        "adjust-sourcemap-loader": "2.0.0",
-        "camelcase": "5.0.0",
-        "compose-function": "3.0.3",
-        "convert-source-map": "1.6.0",
-        "es6-iterator": "2.0.3",
-        "loader-utils": "1.2.3",
-        "postcss": "7.0.14",
-        "rework": "1.0.1",
-        "rework-visit": "1.0.0",
-        "source-map": "0.6.1"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
-          "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA=="
-        },
-        "postcss": {
-          "version": "7.0.14",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
-          "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
-          "requires": {
-            "chalk": "^2.4.2",
-            "source-map": "^0.6.1",
-            "supports-color": "^6.1.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "restore-cursor": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
-      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
-      "requires": {
-        "onetime": "^2.0.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
-    },
-    "rework": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
-      "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
-      "requires": {
-        "convert-source-map": "^0.3.3",
-        "css": "^2.0.0"
-      },
-      "dependencies": {
-        "convert-source-map": {
-          "version": "0.3.5",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
-          "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA="
-        }
-      }
-    },
-    "rework-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
-      "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo="
-    },
-    "rgb-regex": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
-      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE="
-    },
-    "rgba-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
-      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM="
-    },
-    "rimraf": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
-      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
-      "requires": {
-        "glob": "^7.1.3"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "rsvp": {
-      "version": "4.8.5",
-      "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
-      "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA=="
-    },
-    "run-async": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
-      "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
-      "requires": {
-        "is-promise": "^2.1.0"
-      }
-    },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "requires": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "rxjs": {
-      "version": "6.5.3",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-      "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
-    },
-    "sane": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
-      "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
-      "requires": {
-        "@cnakazawa/watch": "^1.0.3",
-        "anymatch": "^2.0.0",
-        "capture-exit": "^2.0.0",
-        "exec-sh": "^0.3.2",
-        "execa": "^1.0.0",
-        "fb-watchman": "^2.0.0",
-        "micromatch": "^3.1.4",
-        "minimist": "^1.1.1",
-        "walker": "~1.0.5"
-      }
-    },
-    "sass-loader": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.2.0.tgz",
-      "integrity": "sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA==",
-      "requires": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.0.1",
-        "neo-async": "^2.5.0",
-        "pify": "^4.0.1",
-        "semver": "^5.5.0"
-      },
-      "dependencies": {
-        "clone-deep": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
-          "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
-          "requires": {
-            "is-plain-object": "^2.0.4",
-            "kind-of": "^6.0.2",
-            "shallow-clone": "^3.0.0"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        },
-        "shallow-clone": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
-          "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
-          "requires": {
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "sax": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
-      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
-    },
-    "saxes": {
-      "version": "3.1.11",
-      "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
-      "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
-      "requires": {
-        "xmlchars": "^2.1.1"
-      }
-    },
-    "scheduler": {
-      "version": "0.15.0",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
-      "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1"
-      }
-    },
-    "schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "requires": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      }
-    },
-    "select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
-    },
-    "selfsigned": {
-      "version": "1.10.6",
-      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.6.tgz",
-      "integrity": "sha512-i3+CeqxL7DpAazgVpAGdKMwHuL63B5nhJMh9NQ7xmChGkA3jNFflq6Jyo1LLJYcr3idWiNOPWHCrm4zMayLG4w==",
-      "requires": {
-        "node-forge": "0.8.2"
-      }
-    },
-    "semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
-    },
-    "send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
-      "requires": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          },
-          "dependencies": {
-            "ms": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-            }
-          }
-        },
-        "mime": {
-          "version": "1.6.0",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-          "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
-        },
-        "ms": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
-        }
-      }
-    },
-    "serialize-javascript": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz",
-      "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A=="
-    },
-    "serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "requires": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "http-errors": {
-          "version": "1.6.3",
-          "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
-          "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-          "requires": {
-            "depd": "~1.1.2",
-            "inherits": "2.0.3",
-            "setprototypeof": "1.1.0",
-            "statuses": ">= 1.4.0 < 2"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        },
-        "setprototypeof": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
-        }
-      }
-    },
-    "serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
-      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
-      "requires": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      }
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
-    },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
-    },
-    "setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
-      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shallow-clone": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
-      "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
-      "requires": {
-        "is-extendable": "^0.1.1",
-        "kind-of": "^2.0.1",
-        "lazy-cache": "^0.2.3",
-        "mixin-object": "^2.0.1"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
-          "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
-          "requires": {
-            "is-buffer": "^1.0.2"
-          }
-        },
-        "lazy-cache": {
-          "version": "0.2.7",
-          "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
-          "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
-        }
-      }
-    },
-    "shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "requires": {
-        "shebang-regex": "^1.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
-    },
-    "shell-quote": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
-      "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
-      "requires": {
-        "array-filter": "~0.0.0",
-        "array-map": "~0.0.0",
-        "array-reduce": "~0.0.0",
-        "jsonify": "~0.0.0"
-      }
-    },
-    "shellwords": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
-      "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww=="
-    },
-    "signal-exit": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
-      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
-    },
-    "simple-swizzle": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
-      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
-      "requires": {
-        "is-arrayish": "^0.3.1"
-      },
-      "dependencies": {
-        "is-arrayish": {
-          "version": "0.3.2",
-          "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
-          "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
-        }
-      }
-    },
-    "sisteransi": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz",
-      "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg=="
-    },
-    "slash": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
-      "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="
-    },
-    "slice-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
-      "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
-      "requires": {
-        "ansi-styles": "^3.2.0",
-        "astral-regex": "^1.0.0",
-        "is-fullwidth-code-point": "^2.0.0"
-      }
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "requires": {
-        "kind-of": "^3.2.0"
-      }
-    },
-    "sockjs": {
-      "version": "0.3.19",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
-      "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
-      "requires": {
-        "faye-websocket": "^0.10.0",
-        "uuid": "^3.0.1"
-      },
-      "dependencies": {
-        "faye-websocket": {
-          "version": "0.10.0",
-          "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
-          "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
-          "requires": {
-            "websocket-driver": ">=0.5.1"
-          }
-        }
-      }
-    },
-    "sockjs-client": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz",
-      "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==",
-      "requires": {
-        "debug": "^3.2.5",
-        "eventsource": "^1.0.7",
-        "faye-websocket": "~0.11.1",
-        "inherits": "^2.0.3",
-        "json3": "^3.3.2",
-        "url-parse": "^1.4.3"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
-    },
-    "source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
-    },
-    "source-map-resolve": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
-      "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
-      "requires": {
-        "atob": "^2.1.1",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-support": {
-      "version": "0.5.13",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
-      "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
-    },
-    "spdx-correct": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
-      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
-      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
-      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
-      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
-    },
-    "spdy": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
-      "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
-      "requires": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      }
-    },
-    "spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "requires": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      }
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
-    },
-    "sshpk": {
-      "version": "1.16.1",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
-      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
-      "requires": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      }
-    },
-    "ssri": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
-      "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
-      "requires": {
-        "figgy-pudding": "^3.5.1"
-      }
-    },
-    "stable": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
-      "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
-    },
-    "stack-utils": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
-      "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA=="
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
-    },
-    "stealthy-require": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
-      "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
-    },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-shift": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
-      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
-    },
-    "string-length": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
-      "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
-      "requires": {
-        "astral-regex": "^1.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "dependencies": {
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "requires": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "dependencies": {
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "string.prototype.trimleft": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
-      "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
-      "requires": {
-        "define-properties": "^1.1.3",
-        "function-bind": "^1.1.1"
-      }
-    },
-    "string.prototype.trimright": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
-      "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
-      "requires": {
-        "define-properties": "^1.1.3",
-        "function-bind": "^1.1.1"
-      }
-    },
-    "string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "requires": {
-        "safe-buffer": "~5.2.0"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
-          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
-        }
-      }
-    },
-    "stringify-object": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
-      "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
-      "requires": {
-        "get-own-enumerable-property-symbols": "^3.0.0",
-        "is-obj": "^1.0.1",
-        "is-regexp": "^1.0.0"
-      }
-    },
-    "strip-ansi": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-      "requires": {
-        "ansi-regex": "^4.1.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
-        }
-      }
-    },
-    "strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
-    },
-    "strip-comments": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz",
-      "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==",
-      "requires": {
-        "babel-extract-comments": "^1.0.0",
-        "babel-plugin-transform-object-rest-spread": "^6.26.0"
-      }
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
-    },
-    "strip-json-comments": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
-      "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw=="
-    },
-    "style-loader": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz",
-      "integrity": "sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==",
-      "requires": {
-        "loader-utils": "^1.2.3",
-        "schema-utils": "^2.0.1"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.2.0.tgz",
-          "integrity": "sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA==",
-          "requires": {
-            "ajv": "^6.10.2",
-            "ajv-keywords": "^3.4.1"
-          }
-        }
-      }
-    },
-    "stylehacks": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
-      "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
-      "requires": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
-          "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
-          "requires": {
-            "dot-prop": "^4.1.1",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "requires": {
-        "has-flag": "^3.0.0"
-      }
-    },
-    "svg-parser": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.2.tgz",
-      "integrity": "sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg=="
-    },
-    "svgo": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz",
-      "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==",
-      "requires": {
-        "chalk": "^2.4.1",
-        "coa": "^2.0.2",
-        "css-select": "^2.0.0",
-        "css-select-base-adapter": "^0.1.1",
-        "css-tree": "1.0.0-alpha.33",
-        "csso": "^3.5.1",
-        "js-yaml": "^3.13.1",
-        "mkdirp": "~0.5.1",
-        "object.values": "^1.1.0",
-        "sax": "~1.2.4",
-        "stable": "^0.1.8",
-        "unquote": "~1.1.1",
-        "util.promisify": "~1.0.0"
-      }
-    },
-    "symbol-tree": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
-      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
-    },
-    "table": {
-      "version": "5.4.6",
-      "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
-      "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
-      "requires": {
-        "ajv": "^6.10.2",
-        "lodash": "^4.17.14",
-        "slice-ansi": "^2.1.0",
-        "string-width": "^3.0.0"
-      },
-      "dependencies": {
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
-    },
-    "terser": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.1.tgz",
-      "integrity": "sha512-pnzH6dnFEsR2aa2SJaKb1uSCl3QmIsJ8dEkj0Fky+2AwMMcC9doMqLOQIH6wVTEKaVfKVvLSk5qxPBEZT9mywg==",
-      "requires": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "terser-webpack-plugin": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz",
-      "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==",
-      "requires": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^1.7.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "test-exclude": {
-      "version": "5.2.3",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
-      "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
-      "requires": {
-        "glob": "^7.1.3",
-        "minimatch": "^3.0.4",
-        "read-pkg-up": "^4.0.0",
-        "require-main-filename": "^2.0.0"
-      }
-    },
-    "text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
-    },
-    "throat": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
-      "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo="
-    },
-    "through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
-    },
-    "through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "requires": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.6",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "thunky": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz",
-      "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow=="
-    },
-    "timers-browserify": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
-      "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
-    "timsort": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
-      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
-    },
-    "tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "requires": {
-        "os-tmpdir": "~1.0.2"
-      }
-    },
-    "tmpl": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
-      "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "requires": {
-        "kind-of": "^3.0.2"
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "requires": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      }
-    },
-    "toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
-      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
-    },
-    "tough-cookie": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
-      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
-      "requires": {
-        "psl": "^1.1.28",
-        "punycode": "^2.1.1"
-      }
-    },
-    "tr46": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
-      "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "trim-right": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
-    },
-    "ts-pnp": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.2.tgz",
-      "integrity": "sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA=="
-    },
-    "tslib": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
-      "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
-    },
-    "tsutils": {
-      "version": "3.17.1",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
-      "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
-      "requires": {
-        "tslib": "^1.8.1"
-      }
-    },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
-    },
-    "tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "requires": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
-    },
-    "type": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/type/-/type-1.0.3.tgz",
-      "integrity": "sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg=="
-    },
-    "type-check": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
-      "requires": {
-        "prelude-ls": "~1.1.2"
-      }
-    },
-    "type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      }
-    },
-    "typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
-    },
-    "uglify-js": {
-      "version": "3.4.10",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
-      "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
-      "requires": {
-        "commander": "~2.19.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.19.0",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
-          "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "unicode-canonical-property-names-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
-    },
-    "unicode-match-property-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "requires": {
-        "unicode-canonical-property-names-ecmascript": "^1.0.4",
-        "unicode-property-aliases-ecmascript": "^1.0.4"
-      }
-    },
-    "unicode-match-property-value-ecmascript": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
-      "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g=="
-    },
-    "unicode-property-aliases-ecmascript": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
-      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw=="
-    },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      }
-    },
-    "uniq": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
-      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
-    },
-    "uniqs": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
-      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
-    },
-    "unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "requires": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "requires": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
-    },
-    "unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
-    },
-    "unquote": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
-      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
-        }
-      }
-    },
-    "upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg=="
-    },
-    "upper-case": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
-      "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
-    },
-    "uri-js": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
-      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
-        }
-      }
-    },
-    "url-loader": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.1.0.tgz",
-      "integrity": "sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A==",
-      "requires": {
-        "loader-utils": "^1.2.3",
-        "mime": "^2.4.4",
-        "schema-utils": "^2.0.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.2.0.tgz",
-          "integrity": "sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA==",
-          "requires": {
-            "ajv": "^6.10.2",
-            "ajv-keywords": "^3.4.1"
-          }
-        }
-      }
-    },
-    "url-parse": {
-      "version": "1.4.7",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
-      "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
-      "requires": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
-    },
-    "util": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-      "requires": {
-        "inherits": "2.0.1"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
-        }
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
-    },
-    "util.promisify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
-      "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
-      "requires": {
-        "define-properties": "^1.1.2",
-        "object.getownpropertydescriptors": "^2.0.3"
-      }
-    },
-    "utila": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
-      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw="
-    },
-    "utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
-    },
-    "uuid": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
-      "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
-    },
-    "v8-compile-cache": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
-      "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g=="
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
-    },
-    "vendors": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz",
-      "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw=="
-    },
-    "verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "vm-browserify": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
-      "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw=="
-    },
-    "w3c-hr-time": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
-      "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
-      "requires": {
-        "browser-process-hrtime": "^0.1.2"
-      }
-    },
-    "w3c-xmlserializer": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
-      "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
-      "requires": {
-        "domexception": "^1.0.1",
-        "webidl-conversions": "^4.0.2",
-        "xml-name-validator": "^3.0.0"
-      }
-    },
-    "walker": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
-      "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
-      "requires": {
-        "makeerror": "1.0.x"
-      }
-    },
-    "watchpack": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
-      "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
-      "requires": {
-        "chokidar": "^2.0.2",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      }
-    },
-    "wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
-      "requires": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "webidl-conversions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
-      "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="
-    },
-    "webpack": {
-      "version": "4.39.1",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.1.tgz",
-      "integrity": "sha512-/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ==",
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-module-context": "1.8.5",
-        "@webassemblyjs/wasm-edit": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5",
-        "acorn": "^6.2.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.1.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.1",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.1",
-        "watchpack": "^1.6.0",
-        "webpack-sources": "^1.4.1"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
-          "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA=="
-        }
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz",
-      "integrity": "sha512-5MWu9SH1z3hY7oHOV6Kbkz5x7hXbxK56mGHNqHTe6d+ewxOwKUxoUJBs7QIaJb33lPjl9bJZ3X0vCoooUzC36A==",
-      "requires": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      }
-    },
-    "webpack-dev-server": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz",
-      "integrity": "sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw==",
-      "requires": {
-        "ansi-html": "0.0.7",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.0.0",
-        "compression": "^1.5.2",
-        "connect-history-api-fallback": "^1.3.0",
-        "debug": "^4.1.1",
-        "del": "^3.0.0",
-        "express": "^4.16.2",
-        "html-entities": "^1.2.0",
-        "http-proxy-middleware": "^0.19.1",
-        "import-local": "^2.0.0",
-        "internal-ip": "^4.2.0",
-        "ip": "^1.1.5",
-        "killable": "^1.0.0",
-        "loglevel": "^1.4.1",
-        "opn": "^5.1.0",
-        "portfinder": "^1.0.9",
-        "schema-utils": "^1.0.0",
-        "selfsigned": "^1.9.1",
-        "semver": "^5.6.0",
-        "serve-index": "^1.7.2",
-        "sockjs": "0.3.19",
-        "sockjs-client": "1.3.0",
-        "spdy": "^4.0.0",
-        "strip-ansi": "^3.0.0",
-        "supports-color": "^6.1.0",
-        "url": "^0.11.0",
-        "webpack-dev-middleware": "^3.5.1",
-        "webpack-log": "^2.0.0",
-        "yargs": "12.0.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
-        },
-        "camelcase": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
-          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
-        },
-        "cliui": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
-          "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
-          "requires": {
-            "string-width": "^2.1.1",
-            "strip-ansi": "^4.0.0",
-            "wrap-ansi": "^2.0.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-              "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
-            },
-            "strip-ansi": {
-              "version": "4.0.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-              "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-              "requires": {
-                "ansi-regex": "^3.0.0"
-              }
-            }
-          }
-        },
-        "decamelize": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
-          "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
-          "requires": {
-            "xregexp": "4.0.0"
-          }
-        },
-        "get-caller-file": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
-          "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "require-main-filename": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-          "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        },
-        "wrap-ansi": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-          "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
-          "requires": {
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1"
-          },
-          "dependencies": {
-            "string-width": {
-              "version": "1.0.2",
-              "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-              "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            }
-          }
-        },
-        "yargs": {
-          "version": "12.0.2",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz",
-          "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==",
-          "requires": {
-            "cliui": "^4.0.0",
-            "decamelize": "^2.0.0",
-            "find-up": "^3.0.0",
-            "get-caller-file": "^1.0.1",
-            "os-locale": "^3.0.0",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^1.0.1",
-            "set-blocking": "^2.0.0",
-            "string-width": "^2.0.0",
-            "which-module": "^2.0.0",
-            "y18n": "^3.2.1 || ^4.0.0",
-            "yargs-parser": "^10.1.0"
-          }
-        },
-        "yargs-parser": {
-          "version": "10.1.0",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
-          "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
-          "requires": {
-            "camelcase": "^4.1.0"
-          }
-        }
-      }
-    },
-    "webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "requires": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      }
-    },
-    "webpack-manifest-plugin": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz",
-      "integrity": "sha512-nejhOHexXDBKQOj/5v5IZSfCeTO3x1Dt1RZEcGfBSul891X/eLIcIVH31gwxPDdsi2Z8LKKFGpM4w9+oTBOSCg==",
-      "requires": {
-        "fs-extra": "^7.0.0",
-        "lodash": ">=3.5 <5",
-        "tapable": "^1.0.0"
-      }
-    },
-    "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "websocket-driver": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
-      "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
-      "requires": {
-        "http-parser-js": ">=0.4.0 <0.4.11",
-        "safe-buffer": ">=5.1.0",
-        "websocket-extensions": ">=0.1.1"
-      }
-    },
-    "websocket-extensions": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
-      "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
-    },
-    "whatwg-encoding": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
-      "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
-      "requires": {
-        "iconv-lite": "0.4.24"
-      }
-    },
-    "whatwg-fetch": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
-      "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
-    },
-    "whatwg-mimetype": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
-      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
-    },
-    "whatwg-url": {
-      "version": "6.5.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
-      "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
-      "requires": {
-        "lodash.sortby": "^4.7.0",
-        "tr46": "^1.0.1",
-        "webidl-conversions": "^4.0.2"
-      }
-    },
-    "which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
-    },
-    "wordwrap": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
-      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
-    },
-    "workbox-background-sync": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz",
-      "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-broadcast-update": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz",
-      "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-build": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz",
-      "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==",
-      "requires": {
-        "@babel/runtime": "^7.3.4",
-        "@hapi/joi": "^15.0.0",
-        "common-tags": "^1.8.0",
-        "fs-extra": "^4.0.2",
-        "glob": "^7.1.3",
-        "lodash.template": "^4.4.0",
-        "pretty-bytes": "^5.1.0",
-        "stringify-object": "^3.3.0",
-        "strip-comments": "^1.0.2",
-        "workbox-background-sync": "^4.3.1",
-        "workbox-broadcast-update": "^4.3.1",
-        "workbox-cacheable-response": "^4.3.1",
-        "workbox-core": "^4.3.1",
-        "workbox-expiration": "^4.3.1",
-        "workbox-google-analytics": "^4.3.1",
-        "workbox-navigation-preload": "^4.3.1",
-        "workbox-precaching": "^4.3.1",
-        "workbox-range-requests": "^4.3.1",
-        "workbox-routing": "^4.3.1",
-        "workbox-strategies": "^4.3.1",
-        "workbox-streams": "^4.3.1",
-        "workbox-sw": "^4.3.1",
-        "workbox-window": "^4.3.1"
-      },
-      "dependencies": {
-        "fs-extra": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
-          "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "jsonfile": "^4.0.0",
-            "universalify": "^0.1.0"
-          }
-        }
-      }
-    },
-    "workbox-cacheable-response": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz",
-      "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-core": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz",
-      "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg=="
-    },
-    "workbox-expiration": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz",
-      "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-google-analytics": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz",
-      "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==",
-      "requires": {
-        "workbox-background-sync": "^4.3.1",
-        "workbox-core": "^4.3.1",
-        "workbox-routing": "^4.3.1",
-        "workbox-strategies": "^4.3.1"
-      }
-    },
-    "workbox-navigation-preload": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz",
-      "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-precaching": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz",
-      "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-range-requests": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz",
-      "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-routing": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz",
-      "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-strategies": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz",
-      "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-streams": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz",
-      "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "workbox-sw": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz",
-      "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w=="
-    },
-    "workbox-webpack-plugin": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz",
-      "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==",
-      "requires": {
-        "@babel/runtime": "^7.0.0",
-        "json-stable-stringify": "^1.0.1",
-        "workbox-build": "^4.3.1"
-      }
-    },
-    "workbox-window": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz",
-      "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==",
-      "requires": {
-        "workbox-core": "^4.3.1"
-      }
-    },
-    "worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "requires": {
-        "errno": "~0.1.7"
-      }
-    },
-    "worker-rpc": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz",
-      "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==",
-      "requires": {
-        "microevent.ts": "~0.1.1"
-      }
-    },
-    "wrap-ansi": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
-      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
-      "requires": {
-        "ansi-styles": "^3.2.0",
-        "string-width": "^3.0.0",
-        "strip-ansi": "^5.0.0"
-      },
-      "dependencies": {
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
-    },
-    "write": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
-      "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
-      "requires": {
-        "mkdirp": "^0.5.1"
-      }
-    },
-    "write-file-atomic": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz",
-      "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==",
-      "requires": {
-        "graceful-fs": "^4.1.11",
-        "imurmurhash": "^0.1.4",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "ws": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
-      "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
-      "requires": {
-        "async-limiter": "~1.0.0"
-      }
-    },
-    "xml-name-validator": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
-      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
-    },
-    "xmlchars": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
-      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
-    },
-    "xregexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
-      "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg=="
-    },
-    "xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
-    },
-    "y18n": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
-      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
-    },
-    "yallist": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
-      "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
-    },
-    "yargs": {
-      "version": "13.3.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
-      "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
-      "requires": {
-        "cliui": "^5.0.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^3.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^13.1.1"
-      },
-      "dependencies": {
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "yargs-parser": {
-      "version": "13.1.1",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
-      "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
-      "requires": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      }
-    }
-  }
-}
diff --git a/web-service/client/package.json b/web-service/client/package.json
deleted file mode 100644
index 13437031d..000000000
--- a/web-service/client/package.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "name": "client",
-  "version": "0.1.0",
-  "private": true,
-  "dependencies": {
-    "react": "^16.9.0",
-    "react-dom": "^16.9.0",
-    "react-scripts": "^3.1.1"
-  },
-  "devDependencies": {},
-  "scripts": {
-    "start": "react-scripts start",
-    "build": "react-scripts build",
-    "test": "react-scripts test --env=jsdom",
-    "eject": "react-scripts eject",
-    "buildFull": "react-scripts build && cp -r build ~/work/ftl/web-service/server"
-  },
-  "browserslist": {
-    "production": [
-      ">0.2%",
-      "not dead",
-      "not op_mini all"
-    ],
-    "development": [
-      "last 1 chrome version",
-      "last 1 firefox version",
-      "last 1 safari version"
-    ]
-  }
-}
diff --git a/web-service/client/public/index.html b/web-service/client/public/index.html
deleted file mode 100644
index aab5e3b00..000000000
--- a/web-service/client/public/index.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!doctype html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
-    <!--
-      Notice the use of %PUBLIC_URL% in the tag above.
-      It will be replaced with the URL of the `public` folder during the build.
-      Only files inside the `public` folder can be referenced from the HTML.
-
-      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
-      work correctly both with client-side routing and a non-root public URL.
-      Learn how to configure a non-root public URL by running `npm run build`.
-    -->
-    <title>React App</title>
-  </head>
-  <body>
-    <div id="root"></div>
-    <!--
-      This HTML file is a template.
-      If you open it directly in the browser, you will see an empty page.
-
-      You can add webfonts, meta tags, or analytics to this file.
-      The build step will place the bundled scripts into the <body> tag.
-
-      To begin the development, run `npm start`.
-      To create a production bundle, use `npm run build`.
-    -->
-  </body>
-</html>
diff --git a/web-service/client/src/App.css b/web-service/client/src/App.css
deleted file mode 100644
index e2f834bb1..000000000
--- a/web-service/client/src/App.css
+++ /dev/null
@@ -1,41 +0,0 @@
-body {
-  margin-left: auto;
-  margin-right: auto;
-}
-a {
-  -webkit-tap-highlight-color: transparent;
-  text-decoration: none;
- }
- 
- .button {
-  display: inline-block;
-  max-width: 300px;
-  margin-top: 50px;
-  border: 0;
-  padding: 0 18px;
-  text-align: left;
-  width: 100%;
-  height: 37px;
-  border-radius: 4px;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  -moz-font-feature-settings: "liga" on;
-  color: rgba(0, 0, 0, 0.84) !important;
-  fill: rgba(0, 0, 0, 0.84) !important;
-  box-shadow: 0 1px 7px rgba(0, 0, 0, 0.05);
-  font: inherit;
-  outline: none;
- }
- 
- .button .svgIcon {
-  vertical-align: middle;
-  fill: rgba(0, 0, 0, 0.54);
-  padding-right: 4px;
-  height: 37px;
-  display: inline-block;
- }
-
-.div {
-  vertical-align: center;
-  text-align: center
-}
\ No newline at end of file
diff --git a/web-service/client/src/App.js b/web-service/client/src/App.js
deleted file mode 100644
index 39eaaf6c9..000000000
--- a/web-service/client/src/App.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import React, { useState, useEffect } from 'react';
-//import './App.css'
-//import {Route, BrowserRouter, Link} from 'react-router-domm
-import Streams from './Streams'
-import Login from './Login'
-
-const App = () => {
-
-    const [user, setUser] = useState(null);
-    const [streams, setStreams] = useState(null);
-
-
-    // useEffect(() => {
-    //     const loggedUserJSON = window.localStorage.getItem('token');
-    //     if(loggedUserJSON){
-    //         const user = JSON.parse(loggedUserJSON);
-    //         setUser(user);
-    //     }
-    // })
-
-    /**
-     * TODO: create a list available of streams using useEffect.
-     * Each index is an object (stream) that has a name and a picture.
-     * When making the request for the objects the same request 
-     * authenticates the users JWT
-     * 
-     */
-
-    const handleLogin = () => {
-        //BEFORE BUILD CHANGE THE URL TO /google
-        window.location.href="/google";
-    }
-
-    const clearCookies = () => {
-        window.localStorage.clear(); 
-        window.location.reload();
-    }
-
-    // if(window.localStorage.getItem('token')){
-    //     return (
-    //        
-    //     )
-    // }
-    return (
-        <Streams clearCookies={clearCookies}/>
-        // <Login handleLogin={handleLogin} />
-    )
-}
-
-export default App;   
\ No newline at end of file
diff --git a/web-service/client/src/Configuration.js b/web-service/client/src/Configuration.js
deleted file mode 100644
index c7e723e66..000000000
--- a/web-service/client/src/Configuration.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import React from 'react';
-
-const Configuration = () => {
-    
-}
\ No newline at end of file
diff --git a/web-service/client/src/Login.js b/web-service/client/src/Login.js
deleted file mode 100644
index 67fc5fd26..000000000
--- a/web-service/client/src/Login.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import React from 'react';
-
-const Login = ({handleLogin}) => {
-    return(
-        <div style={{'padding-top': '150px', 'text-align': 'center'}}>
-            <h2>Welcome to Future Technology Lab</h2>
-            <h3>Please login!</h3>
-            <a className="button" onClick={handleLogin}>
-                <div>
-                    <span className="svgIcon t-popup-svg">
-                        <svg className="svgIcon-use" width="25" height="37" viewBox="0 0 25 25">
-                            <g fill="none" fill-rule="evenodd">
-                            <path d="M20.66 12.693c0-.603-.054-1.182-.155-1.738H12.5v3.287h4.575a3.91 3.91 0 0 1-1.697 2.566v2.133h2.747c1.608-1.48 2.535-3.65 2.535-6.24z" fill="#4285F4"/>
-                            <path d="M12.5 21c2.295 0 4.22-.76 5.625-2.06l-2.747-2.132c-.76.51-1.734.81-2.878.81-2.214 0-4.088-1.494-4.756-3.503h-2.84v2.202A8.498 8.498 0 0 0 12.5 21z" fill="#34A853"/>
-                            <path d="M7.744 14.115c-.17-.51-.267-1.055-.267-1.615s.097-1.105.267-1.615V8.683h-2.84A8.488 8.488 0 0 0 4 12.5c0 1.372.328 2.67.904 3.817l2.84-2.202z" fill="#FBBC05"/>
-                            <path d="M12.5 7.38c1.248 0 2.368.43 3.25 1.272l2.437-2.438C16.715 4.842 14.79 4 12.5 4a8.497 8.497 0 0 0-7.596 4.683l2.84 2.202c.668-2.01 2.542-3.504 4.756-3.504z" fill="#EA4335"/>
-                            </g>
-                        </svg>
-                    </span>
-                    <span className="button-label">Sign in with Google</span>
-                </div>
-            </a>
-        </div>
-    )
-}
-
-export default Login;
\ No newline at end of file
diff --git a/web-service/client/src/Stream.js b/web-service/client/src/Stream.js
deleted file mode 100644
index f3046462a..000000000
--- a/web-service/client/src/Stream.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react'
-/*
-Component for individual stream
-    Router will render to this component in path /stream
-    Gets specific streams object key as prop
-*/
-
-const Stream = () => {
-    return(
-        <div>
-            <video controls autoPlay src='https://s3.amazonaws.com/codecademy-content/courses/React/react_video-eek.mp4'/>
-        </div>
-    )
-}
-
-export default Stream;
\ No newline at end of file
diff --git a/web-service/client/src/Streams.js b/web-service/client/src/Streams.js
deleted file mode 100644
index 109b2ef9d..000000000
--- a/web-service/client/src/Streams.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import React, { useState, useEffect } from 'react'
-import Thumbnail from './Thumbnail'
-
-/* This file will contain list of streams.
-The user is able to select which stream he/she will WebAuthentication.
-The user will be redirected to Stream.js file  
-*/
-
-
-
-const Streams = ({clearCookies}) => {
-    const [thumbnails, setThumbnails] = useState([]);
-    
-    useEffect( async() => {
-            const jsonThumbnails = await fetch('http://localhost:8080/streams/');
-            const realThumbnails = await jsonThumbnails.json();
-            setThumbnails(realThumbnails);
-            console.log('THUMBNAILS', thumbnails)
-    }, [])
-    /**
-     * Fetch the thumbnails
-     * setInterval() fetch every 1 second
-     */
-
-    const renderThumbnails = () => {
-        const returnVal = thumbnails.map(i => <Thumbnail thumbnail={i} />)
-        return returnVal
-    }
-
-
-    return(
-        <div style={{'margin': 'auto', 'textAlign': 'center'}}>
-            <h1>Streams component works!!</h1>
-            <h2>Namibia here we come!</h2>
-            <button onClick={clearCookies}>Logout</button>
-            <br/>
-            {console.log("THUMBNAILIT ON", thumbnails)}
-            {renderThumbnails()}
-        </div>
-    )
-}
-
-export default Streams;
-/*
-  Server has web socket method "list_streams" that returns the keys for all streams.
-
-  TODO:
-    React Router
-        Path might be something like /streams
-    How will the component get a stream thumbnail?
-        After getting the stream keys it renders bunch of child components 
-        that each get one key. After getting the key the individual child component makes 
-        a request for "get_stream" method.
-    
-    How will the component connect to a stream?
-        When one of the thumbnails is clicked, it redirects to path /stream and gives it the specific streams object key as props
-
-
- */
\ No newline at end of file
diff --git a/web-service/client/src/Thumbnail.js b/web-service/client/src/Thumbnail.js
deleted file mode 100644
index 876ad1069..000000000
--- a/web-service/client/src/Thumbnail.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import React, {Component} from 'react';
-
-class Thumbnail extends Component {
-    constructor(props){
-        super(props)
-        this.state = {imgSrc: ''}
-    }
-
-    componentDidMount(){
-        this.renderThumbnails()
-    }
-
-    renderThumbnails = async () => {
-        console.log('PROPS', this.props)
-        const thumbs = this.props.thumbnail
-        console.log(thumbs);
-        const encodedURI = encodeURIComponent(thumbs)
-        console.log('ENCODED', encodedURI)
-        try{
-            const someData = await fetch(`http://localhost:8080/stream/rgb?uri=${encodedURI}`)
-            console.log(someData)
-            if(!someData.ok){
-                throw new Error('Vitun vitun vittu');
-            }
-            const myBlob = await someData.blob()
-            console.log('MYBLOB', myBlob)
-            const objectURL = URL.createObjectURL(myBlob);
-            console.log('URL ', objectURL);
-            this.setState({imgSrc: objectURL});
-        } catch(err){
-            console.log('Kurwavaara:', err);
-            this.setState({imgSrc: 'Error while loading the picture'})
-        }
-    }
-    render(){
-        const val = this.state.imgSrc
-        return (
-            <div>
-                {console.log('SRC', this.state.imgSrc)}
-                <img src={val} width='500px'></img>
-                <button onClick={() => {this.renderThumbnails()}}>Refresh</button>
-            </div>
-        )    
-    }
-}
- 
-
-export default Thumbnail;
\ No newline at end of file
diff --git a/web-service/client/src/index.js b/web-service/client/src/index.js
deleted file mode 100644
index 0ea36197b..000000000
--- a/web-service/client/src/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-import App from './App';
-
-ReactDOM.render(
-  <App />,
-  document.getElementById('root')
-);
diff --git a/web-service/client/src/libde265.js b/web-service/client/src/libde265.js
deleted file mode 100644
index 027c1044f..000000000
--- a/web-service/client/src/libde265.js
+++ /dev/null
@@ -1,11426 +0,0 @@
-/**
- * @preserve libde265.js HEVC/H.265 decoder
- * (c)2014 struktur AG, http://www.struktur.de, opensource@struktur.de
- *
- * This file is part of libde265.js
- * https://github.com/strukturag/libde265.js
- *
- * libde265.js is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of
- * the License, or (at your option) any later version.
- *
- * libde265.js is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with libde265.js.  If not, see <http://www.gnu.org/licenses/>.
- */
-(function() {
-    var Module = {
-        print: function(text) {
-            text = Array.prototype.slice.call(arguments).join(' ');
-            console.log(text);
-        },
-        printErr: function(text) {
-            text = Array.prototype.slice.call(arguments).join(' ');
-            console.error(text);
-        },
-        canvas: {},
-        noInitialRun: true
-    };
-    
-    // Note: For maximum-speed code, see "Optimizing Code" on the Emscripten wiki, https://github.com/kripken/emscripten/wiki/Optimizing-Code
-    // Note: Some Emscripten settings may limit the speed of the generated code.
-    // The Module object: Our interface to the outside world. We import
-    // and export values on it, and do the work to get that through
-    // closure compiler if necessary. There are various ways Module can be used:
-    // 1. Not defined. We create it here
-    // 2. A function parameter, function(Module) { ..generated code.. }
-    // 3. pre-run appended it, var Module = {}; ..generated code..
-    // 4. External script tag defines var Module.
-    // We need to do an eval in order to handle the closure compiler
-    // case, where this code here is minified but Module was defined
-    // elsewhere (e.g. case 4 above). We also need to check if Module
-    // already exists (e.g. case 3 above).
-    // Note that if you want to run closure, and also to use Module
-    // after the generated code, you will need to define   var Module = {};
-    // before the code. Then that object will be used in the code, and you
-    // can continue to use Module afterwards as well.
-    var Module;
-    if (!Module) Module = eval('(function() { try { return Module || {} } catch(e) { return {} } })()');
-    
-    // Sometimes an existing Module object exists with properties
-    // meant to overwrite the default module functionality. Here
-    // we collect those properties and reapply _after_ we configure
-    // the current environment's defaults to avoid having to be so
-    // defensive during initialization.
-    var moduleOverrides = {};
-    for (var key in Module) {
-      if (Module.hasOwnProperty(key)) {
-        moduleOverrides[key] = Module[key];
-      }
-    }
-    
-    // The environment setup code below is customized to use Module.
-    // *** Environment setup code ***
-    var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function';
-    var ENVIRONMENT_IS_WEB = typeof window === 'object';
-    var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
-    var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
-    
-    if (ENVIRONMENT_IS_NODE) {
-      // Expose functionality in the same simple way that the shells work
-      // Note that we pollute the global namespace here, otherwise we break in node
-      if (!Module['print']) Module['print'] = function print(x) {
-        process['stdout'].write(x + '\n');
-      };
-      if (!Module['printErr']) Module['printErr'] = function printErr(x) {
-        process['stderr'].write(x + '\n');
-      };
-    
-      var nodeFS = require('fs');
-      var nodePath = require('path');
-    
-      Module['read'] = function read(filename, binary) {
-        filename = nodePath['normalize'](filename);
-        var ret = nodeFS['readFileSync'](filename);
-        // The path is absolute if the normalized version is the same as the resolved.
-        if (!ret && filename != nodePath['resolve'](filename)) {
-          filename = path.join(__dirname, '..', 'src', filename);
-          ret = nodeFS['readFileSync'](filename);
-        }
-        if (ret && !binary) ret = ret.toString();
-        return ret;
-      };
-    
-      Module['readBinary'] = function readBinary(filename) { return Module['read'](filename, true) };
-    
-      Module['load'] = function load(f) {
-        globalEval(read(f));
-      };
-    
-      Module['arguments'] = process['argv'].slice(2);
-    
-      module['exports'] = Module;
-    }
-    else if (ENVIRONMENT_IS_SHELL) {
-      if (!Module['print']) Module['print'] = print;
-      if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
-    
-      if (typeof read != 'undefined') {
-        Module['read'] = read;
-      } else {
-        Module['read'] = function read() { throw 'no read() available (jsc?)' };
-      }
-    
-      Module['readBinary'] = function readBinary(f) {
-        return read(f, 'binary');
-      };
-    
-      if (typeof scriptArgs != 'undefined') {
-        Module['arguments'] = scriptArgs;
-      } else if (typeof arguments != 'undefined') {
-        Module['arguments'] = arguments;
-      }
-    
-      this['Module'] = Module;
-    
-      eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined"); // wipe out the SpiderMonkey shell 'gc' function, which can confuse closure (uses it as a minified name, and it is then initted to a non-falsey value unexpectedly)
-    }
-    else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
-      Module['read'] = function read(url) {
-        var xhr = new XMLHttpRequest();
-        xhr.open('GET', url, false);
-        xhr.send(null);
-        return xhr.responseText;
-      };
-    
-      if (typeof arguments != 'undefined') {
-        Module['arguments'] = arguments;
-      }
-    
-      if (typeof console !== 'undefined') {
-        if (!Module['print']) Module['print'] = function print(x) {
-          console.log(x);
-        };
-        if (!Module['printErr']) Module['printErr'] = function printErr(x) {
-          console.log(x);
-        };
-      } else {
-        // Probably a worker, and without console.log. We can do very little here...
-        var TRY_USE_DUMP = false;
-        if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
-          dump(x);
-        }) : (function(x) {
-          // self.postMessage(x); // enable this if you want stdout to be sent as messages
-        }));
-      }
-    
-      if (ENVIRONMENT_IS_WEB) {
-        this['Module'] = Module;
-      } else {
-        Module['load'] = importScripts;
-      }
-    }
-    else {
-      // Unreachable because SHELL is dependant on the others
-      throw 'Unknown runtime environment. Where are we?';
-    }
-    
-    function globalEval(x) {
-      eval.call(null, x);
-    }
-    if (!Module['load'] == 'undefined' && Module['read']) {
-      Module['load'] = function load(f) {
-        globalEval(Module['read'](f));
-      };
-    }
-    if (!Module['print']) {
-      Module['print'] = function(){};
-    }
-    if (!Module['printErr']) {
-      Module['printErr'] = Module['print'];
-    }
-    if (!Module['arguments']) {
-      Module['arguments'] = [];
-    }
-    // *** Environment setup code ***
-    
-    // Closure helpers
-    Module.print = Module['print'];
-    Module.printErr = Module['printErr'];
-    
-    // Callbacks
-    Module['preRun'] = [];
-    Module['postRun'] = [];
-    
-    // Merge back in the overrides
-    for (var key in moduleOverrides) {
-      if (moduleOverrides.hasOwnProperty(key)) {
-        Module[key] = moduleOverrides[key];
-      }
-    }
-    
-    
-    
-    // === Auto-generated preamble library stuff ===
-    
-    //========================================
-    // Runtime code shared with compiler
-    //========================================
-    
-    var Runtime = {
-      stackSave: function () {
-        return STACKTOP;
-      },
-      stackRestore: function (stackTop) {
-        STACKTOP = stackTop;
-      },
-      forceAlign: function (target, quantum) {
-        quantum = quantum || 4;
-        if (quantum == 1) return target;
-        if (isNumber(target) && isNumber(quantum)) {
-          return Math.ceil(target/quantum)*quantum;
-        } else if (isNumber(quantum) && isPowerOfTwo(quantum)) {
-          return '(((' +target + ')+' + (quantum-1) + ')&' + -quantum + ')';
-        }
-        return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum;
-      },
-      isNumberType: function (type) {
-        return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES;
-      },
-      isPointerType: function isPointerType(type) {
-      return type[type.length-1] == '*';
-    },
-      isStructType: function isStructType(type) {
-      if (isPointerType(type)) return false;
-      if (isArrayType(type)) return true;
-      if (/<?\{ ?[^}]* ?\}>?/.test(type)) return true; // { i32, i8 } etc. - anonymous struct types
-      // See comment in isStructPointerType()
-      return type[0] == '%';
-    },
-      INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0},
-      FLOAT_TYPES: {"float":0,"double":0},
-      or64: function (x, y) {
-        var l = (x | 0) | (y | 0);
-        var h = (Math.round(x / 4294967296) | Math.round(y / 4294967296)) * 4294967296;
-        return l + h;
-      },
-      and64: function (x, y) {
-        var l = (x | 0) & (y | 0);
-        var h = (Math.round(x / 4294967296) & Math.round(y / 4294967296)) * 4294967296;
-        return l + h;
-      },
-      xor64: function (x, y) {
-        var l = (x | 0) ^ (y | 0);
-        var h = (Math.round(x / 4294967296) ^ Math.round(y / 4294967296)) * 4294967296;
-        return l + h;
-      },
-      getNativeTypeSize: function (type) {
-        switch (type) {
-          case 'i1': case 'i8': return 1;
-          case 'i16': return 2;
-          case 'i32': return 4;
-          case 'i64': return 8;
-          case 'float': return 4;
-          case 'double': return 8;
-          default: {
-            if (type[type.length-1] === '*') {
-              return Runtime.QUANTUM_SIZE; // A pointer
-            } else if (type[0] === 'i') {
-              var bits = parseInt(type.substr(1));
-              assert(bits % 8 === 0);
-              return bits/8;
-            } else {
-              return 0;
-            }
-          }
-        }
-      },
-      getNativeFieldSize: function (type) {
-        return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
-      },
-      dedup: function dedup(items, ident) {
-      var seen = {};
-      if (ident) {
-        return items.filter(function(item) {
-          if (seen[item[ident]]) return false;
-          seen[item[ident]] = true;
-          return true;
-        });
-      } else {
-        return items.filter(function(item) {
-          if (seen[item]) return false;
-          seen[item] = true;
-          return true;
-        });
-      }
-    },
-      set: function set() {
-      var args = typeof arguments[0] === 'object' ? arguments[0] : arguments;
-      var ret = {};
-      for (var i = 0; i < args.length; i++) {
-        ret[args[i]] = 0;
-      }
-      return ret;
-    },
-      STACK_ALIGN: 8,
-      getAlignSize: function (type, size, vararg) {
-        // we align i64s and doubles on 64-bit boundaries, unlike x86
-        if (vararg) return 8;
-        if (!vararg && (type == 'i64' || type == 'double')) return 8;
-        if (!type) return Math.min(size, 8); // align structures internally to 64 bits
-        return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
-      },
-      calculateStructAlignment: function calculateStructAlignment(type) {
-        type.flatSize = 0;
-        type.alignSize = 0;
-        var diffs = [];
-        var prev = -1;
-        var index = 0;
-        type.flatIndexes = type.fields.map(function(field) {
-          index++;
-          var size, alignSize;
-          if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) {
-            size = Runtime.getNativeTypeSize(field); // pack char; char; in structs, also char[X]s.
-            alignSize = Runtime.getAlignSize(field, size);
-          } else if (Runtime.isStructType(field)) {
-            if (field[1] === '0') {
-              // this is [0 x something]. When inside another structure like here, it must be at the end,
-              // and it adds no size
-              // XXX this happens in java-nbody for example... assert(index === type.fields.length, 'zero-length in the middle!');
-              size = 0;
-              if (Types.types[field]) {
-                alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize);
-              } else {
-                alignSize = type.alignSize || QUANTUM_SIZE;
-              }
-            } else {
-              size = Types.types[field].flatSize;
-              alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize);
-            }
-          } else if (field[0] == 'b') {
-            // bN, large number field, like a [N x i8]
-            size = field.substr(1)|0;
-            alignSize = 1;
-          } else if (field[0] === '<') {
-            // vector type
-            size = alignSize = Types.types[field].flatSize; // fully aligned
-          } else if (field[0] === 'i') {
-            // illegal integer field, that could not be legalized because it is an internal structure field
-            // it is ok to have such fields, if we just use them as markers of field size and nothing more complex
-            size = alignSize = parseInt(field.substr(1))/8;
-            assert(size % 1 === 0, 'cannot handle non-byte-size field ' + field);
-          } else {
-            assert(false, 'invalid type for calculateStructAlignment');
-          }
-          if (type.packed) alignSize = 1;
-          type.alignSize = Math.max(type.alignSize, alignSize);
-          var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory
-          type.flatSize = curr + size;
-          if (prev >= 0) {
-            diffs.push(curr-prev);
-          }
-          prev = curr;
-          return curr;
-        });
-        if (type.name_ && type.name_[0] === '[') {
-          // arrays have 2 elements, so we get the proper difference. then we scale here. that way we avoid
-          // allocating a potentially huge array for [999999 x i8] etc.
-          type.flatSize = parseInt(type.name_.substr(1))*type.flatSize/2;
-        }
-        type.flatSize = Runtime.alignMemory(type.flatSize, type.alignSize);
-        if (diffs.length == 0) {
-          type.flatFactor = type.flatSize;
-        } else if (Runtime.dedup(diffs).length == 1) {
-          type.flatFactor = diffs[0];
-        }
-        type.needsFlattening = (type.flatFactor != 1);
-        return type.flatIndexes;
-      },
-      generateStructInfo: function (struct, typeName, offset) {
-        var type, alignment;
-        if (typeName) {
-          offset = offset || 0;
-          type = (typeof Types === 'undefined' ? Runtime.typeInfo : Types.types)[typeName];
-          if (!type) return null;
-          if (type.fields.length != struct.length) {
-            printErr('Number of named fields must match the type for ' + typeName + ': possibly duplicate struct names. Cannot return structInfo');
-            return null;
-          }
-          alignment = type.flatIndexes;
-        } else {
-          var type = { fields: struct.map(function(item) { return item[0] }) };
-          alignment = Runtime.calculateStructAlignment(type);
-        }
-        var ret = {
-          __size__: type.flatSize
-        };
-        if (typeName) {
-          struct.forEach(function(item, i) {
-            if (typeof item === 'string') {
-              ret[item] = alignment[i] + offset;
-            } else {
-              // embedded struct
-              var key;
-              for (var k in item) key = k;
-              ret[key] = Runtime.generateStructInfo(item[key], type.fields[i], alignment[i]);
-            }
-          });
-        } else {
-          struct.forEach(function(item, i) {
-            ret[item[1]] = alignment[i];
-          });
-        }
-        return ret;
-      },
-      dynCall: function (sig, ptr, args) {
-        if (args && args.length) {
-          if (!args.splice) args = Array.prototype.slice.call(args);
-          args.splice(0, 0, ptr);
-          return Module['dynCall_' + sig].apply(null, args);
-        } else {
-          return Module['dynCall_' + sig].call(null, ptr);
-        }
-      },
-      functionPointers: [],
-      addFunction: function (func) {
-        for (var i = 0; i < Runtime.functionPointers.length; i++) {
-          if (!Runtime.functionPointers[i]) {
-            Runtime.functionPointers[i] = func;
-            return 2*(1 + i);
-          }
-        }
-        throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
-      },
-      removeFunction: function (index) {
-        Runtime.functionPointers[(index-2)/2] = null;
-      },
-      getAsmConst: function (code, numArgs) {
-        // code is a constant string on the heap, so we can cache these
-        if (!Runtime.asmConstCache) Runtime.asmConstCache = {};
-        var func = Runtime.asmConstCache[code];
-        if (func) return func;
-        var args = [];
-        for (var i = 0; i < numArgs; i++) {
-          args.push(String.fromCharCode(36) + i); // $0, $1 etc
-        }
-        code = Pointer_stringify(code);
-        if (code[0] === '"') {
-          // tolerate EM_ASM("..code..") even though EM_ASM(..code..) is correct
-          if (code.indexOf('"', 1) === code.length-1) {
-            code = code.substr(1, code.length-2);
-          } else {
-            // something invalid happened, e.g. EM_ASM("..code($0)..", input)
-            abort('invalid EM_ASM input |' + code + '|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)');
-          }
-        }
-        return Runtime.asmConstCache[code] = eval('(function(' + args.join(',') + '){ ' + code + ' })'); // new Function does not allow upvars in node
-      },
-      warnOnce: function (text) {
-        if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
-        if (!Runtime.warnOnce.shown[text]) {
-          Runtime.warnOnce.shown[text] = 1;
-          Module.printErr(text);
-        }
-      },
-      funcWrappers: {},
-      getFuncWrapper: function (func, sig) {
-        assert(sig);
-        if (!Runtime.funcWrappers[func]) {
-          Runtime.funcWrappers[func] = function dynCall_wrapper() {
-            return Runtime.dynCall(sig, func, arguments);
-          };
-        }
-        return Runtime.funcWrappers[func];
-      },
-      UTF8Processor: function () {
-        var buffer = [];
-        var needed = 0;
-        this.processCChar = function (code) {
-          code = code & 0xFF;
-    
-          if (buffer.length == 0) {
-            if ((code & 0x80) == 0x00) {        // 0xxxxxxx
-              return String.fromCharCode(code);
-            }
-            buffer.push(code);
-            if ((code & 0xE0) == 0xC0) {        // 110xxxxx
-              needed = 1;
-            } else if ((code & 0xF0) == 0xE0) { // 1110xxxx
-              needed = 2;
-            } else {                            // 11110xxx
-              needed = 3;
-            }
-            return '';
-          }
-    
-          if (needed) {
-            buffer.push(code);
-            needed--;
-            if (needed > 0) return '';
-          }
-    
-          var c1 = buffer[0];
-          var c2 = buffer[1];
-          var c3 = buffer[2];
-          var c4 = buffer[3];
-          var ret;
-          if (buffer.length == 2) {
-            ret = String.fromCharCode(((c1 & 0x1F) << 6)  | (c2 & 0x3F));
-          } else if (buffer.length == 3) {
-            ret = String.fromCharCode(((c1 & 0x0F) << 12) | ((c2 & 0x3F) << 6)  | (c3 & 0x3F));
-          } else {
-            // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
-            var codePoint = ((c1 & 0x07) << 18) | ((c2 & 0x3F) << 12) |
-                            ((c3 & 0x3F) << 6)  | (c4 & 0x3F);
-            ret = String.fromCharCode(
-              Math.floor((codePoint - 0x10000) / 0x400) + 0xD800,
-              (codePoint - 0x10000) % 0x400 + 0xDC00);
-          }
-          buffer.length = 0;
-          return ret;
-        }
-        this.processJSString = function processJSString(string) {
-          string = unescape(encodeURIComponent(string));
-          var ret = [];
-          for (var i = 0; i < string.length; i++) {
-            ret.push(string.charCodeAt(i));
-          }
-          return ret;
-        }
-      },
-      getCompilerSetting: function (name) {
-        throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
-      },
-      stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+7)&-8); return ret; },
-      staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+7)&-8); return ret; },
-      dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+7)&-8); if (DYNAMICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; },
-      alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 8))*(quantum ? quantum : 8); return ret; },
-      makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*(+4294967296))) : ((+((low>>>0)))+((+((high|0)))*(+4294967296)))); return ret; },
-      GLOBAL_BASE: 8,
-      QUANTUM_SIZE: 4,
-      __dummy__: 0
-    }
-    
-    
-    Module['Runtime'] = Runtime;
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    //========================================
-    // Runtime essentials
-    //========================================
-    
-    var __THREW__ = 0; // Used in checking for thrown exceptions.
-    
-    var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort()
-    var EXITSTATUS = 0;
-    
-    var undef = 0;
-    // tempInt is used for 32-bit signed values or smaller. tempBigInt is used
-    // for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
-    var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat;
-    var tempI64, tempI64b;
-    var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9;
-    
-    function assert(condition, text) {
-      if (!condition) {
-        abort('Assertion failed: ' + text);
-      }
-    }
-    
-    var globalScope = this;
-    
-    // C calling interface. A convenient way to call C functions (in C files, or
-    // defined with extern "C").
-    //
-    // Note: LLVM optimizations can inline and remove functions, after which you will not be
-    //       able to call them. Closure can also do so. To avoid that, add your function to
-    //       the exports using something like
-    //
-    //         -s EXPORTED_FUNCTIONS='["_main", "_myfunc"]'
-    //
-    // @param ident      The name of the C function (note that C++ functions will be name-mangled - use extern "C")
-    // @param returnType The return type of the function, one of the JS types 'number', 'string' or 'array' (use 'number' for any C pointer, and
-    //                   'array' for JavaScript arrays and typed arrays; note that arrays are 8-bit).
-    // @param argTypes   An array of the types of arguments for the function (if there are no arguments, this can be ommitted). Types are as in returnType,
-    //                   except that 'array' is not possible (there is no way for us to know the length of the array)
-    // @param args       An array of the arguments to the function, as native JS values (as in returnType)
-    //                   Note that string arguments will be stored on the stack (the JS string will become a C string on the stack).
-    // @return           The return value, as a native JS value (as in returnType)
-    function ccall(ident, returnType, argTypes, args) {
-      return ccallFunc(getCFunc(ident), returnType, argTypes, args);
-    }
-    Module["ccall"] = ccall;
-    
-    // Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
-    function getCFunc(ident) {
-      try {
-        var func = Module['_' + ident]; // closure exported function
-        if (!func) func = eval('_' + ident); // explicit lookup
-      } catch(e) {
-      }
-      assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
-      return func;
-    }
-    
-    // Internal function that does a C call using a function, not an identifier
-    function ccallFunc(func, returnType, argTypes, args) {
-      var stack = 0;
-      function toC(value, type) {
-        if (type == 'string') {
-          if (value === null || value === undefined || value === 0) return 0; // null string
-          value = intArrayFromString(value);
-          type = 'array';
-        }
-        if (type == 'array') {
-          if (!stack) stack = Runtime.stackSave();
-          var ret = Runtime.stackAlloc(value.length);
-          writeArrayToMemory(value, ret);
-          return ret;
-        }
-        return value;
-      }
-      function fromC(value, type) {
-        if (type == 'string') {
-          return Pointer_stringify(value);
-        }
-        assert(type != 'array');
-        return value;
-      }
-      var i = 0;
-      var cArgs = args ? args.map(function(arg) {
-        return toC(arg, argTypes[i++]);
-      }) : [];
-      var ret = fromC(func.apply(null, cArgs), returnType);
-      if (stack) Runtime.stackRestore(stack);
-      return ret;
-    }
-    
-    // Returns a native JS wrapper for a C function. This is similar to ccall, but
-    // returns a function you can call repeatedly in a normal way. For example:
-    //
-    //   var my_function = cwrap('my_c_function', 'number', ['number', 'number']);
-    //   alert(my_function(5, 22));
-    //   alert(my_function(99, 12));
-    //
-    function cwrap(ident, returnType, argTypes) {
-      var func = getCFunc(ident);
-      return function() {
-        return ccallFunc(func, returnType, argTypes, Array.prototype.slice.call(arguments));
-      }
-    }
-    Module["cwrap"] = cwrap;
-    
-    // Sets a value in memory in a dynamic way at run-time. Uses the
-    // type data. This is the same as makeSetValue, except that
-    // makeSetValue is done at compile-time and generates the needed
-    // code then, whereas this function picks the right code at
-    // run-time.
-    // Note that setValue and getValue only do *aligned* writes and reads!
-    // Note that ccall uses JS types as for defining types, while setValue and
-    // getValue need LLVM types ('i8', 'i32') - this is a lower-level operation
-    function setValue(ptr, value, type, noSafe) {
-      type = type || 'i8';
-      if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
-        switch(type) {
-          case 'i1': HEAP8[(ptr)]=value; break;
-          case 'i8': HEAP8[(ptr)]=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);
-        }
-    }
-    Module['setValue'] = setValue;
-    
-    // Parallel to setValue.
-    function getValue(ptr, type, noSafe) {
-      type = type || 'i8';
-      if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
-        switch(type) {
-          case 'i1': return HEAP8[(ptr)];
-          case 'i8': return HEAP8[(ptr)];
-          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 setValue: ' + type);
-        }
-      return null;
-    }
-    Module['getValue'] = getValue;
-    
-    var ALLOC_NORMAL = 0; // Tries to use _malloc()
-    var ALLOC_STACK = 1; // Lives for the duration of the current function call
-    var ALLOC_STATIC = 2; // Cannot be freed
-    var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
-    var ALLOC_NONE = 4; // Do not allocate
-    Module['ALLOC_NORMAL'] = ALLOC_NORMAL;
-    Module['ALLOC_STACK'] = ALLOC_STACK;
-    Module['ALLOC_STATIC'] = ALLOC_STATIC;
-    Module['ALLOC_DYNAMIC'] = ALLOC_DYNAMIC;
-    Module['ALLOC_NONE'] = ALLOC_NONE;
-    
-    // allocate(): This is for internal use. You can use it yourself as well, but the interface
-    //             is a little tricky (see docs right below). The reason is that it is optimized
-    //             for multiple syntaxes to save space in generated code. So you should
-    //             normally not use allocate(), and instead allocate memory using _malloc(),
-    //             initialize it with setValue(), and so forth.
-    // @slab: An array of data, or a number. If a number, then the size of the block to allocate,
-    //        in *bytes* (note that this is sometimes confusing: the next parameter does not
-    //        affect this!)
-    // @types: Either an array of types, one for each byte (or 0 if no type at that position),
-    //         or a single type which is used for the entire block. This only matters if there
-    //         is initial data - if @slab is a number, then this does not matter at all and is
-    //         ignored.
-    // @allocator: How to allocate memory, see ALLOC_*
-    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, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
-      }
-    
-      if (zeroinit) {
-        var ptr = ret, stop;
-        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];
-    
-        if (typeof curr === 'function') {
-          curr = Runtime.getFunctionIndex(curr);
-        }
-    
-        type = singleType || types[i];
-        if (type === 0) {
-          i++;
-          continue;
-        }
-    
-        if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
-    
-        setValue(ret+i, curr, type);
-    
-        // no need to look up size unless type changes, so cache it
-        if (previousType !== type) {
-          typeSize = Runtime.getNativeTypeSize(type);
-          previousType = type;
-        }
-        i += typeSize;
-      }
-    
-      return ret;
-    }
-    Module['allocate'] = allocate;
-    
-    function Pointer_stringify(ptr, /* optional */ length) {
-      // TODO: use TextDecoder
-      // Find the length, and check for UTF while doing so
-      var hasUtf = false;
-      var t;
-      var i = 0;
-      while (1) {
-        t = HEAPU8[(((ptr)+(i))|0)];
-        if (t >= 128) hasUtf = true;
-        else if (t == 0 && !length) break;
-        i++;
-        if (length && i == length) break;
-      }
-      if (!length) length = i;
-    
-      var ret = '';
-    
-      if (!hasUtf) {
-        var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
-        var curr;
-        while (length > 0) {
-          curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
-          ret = ret ? ret + curr : curr;
-          ptr += MAX_CHUNK;
-          length -= MAX_CHUNK;
-        }
-        return ret;
-      }
-    
-      var utf8 = new Runtime.UTF8Processor();
-      for (i = 0; i < length; i++) {
-        t = HEAPU8[(((ptr)+(i))|0)];
-        ret += utf8.processCChar(t);
-      }
-      return ret;
-    }
-    Module['Pointer_stringify'] = Pointer_stringify;
-    
-    // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
-    // a copy of that string as a Javascript String object.
-    function UTF16ToString(ptr) {
-      var i = 0;
-    
-      var str = '';
-      while (1) {
-        var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
-        if (codeUnit == 0)
-          return str;
-        ++i;
-        // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
-        str += String.fromCharCode(codeUnit);
-      }
-    }
-    Module['UTF16ToString'] = UTF16ToString;
-    
-    // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
-    // null-terminated and encoded in UTF16LE form. The copy will require at most (str.length*2+1)*2 bytes of space in the HEAP.
-    function stringToUTF16(str, outPtr) {
-      for(var i = 0; i < str.length; ++i) {
-        // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
-        var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
-        HEAP16[(((outPtr)+(i*2))>>1)]=codeUnit;
-      }
-      // Null-terminate the pointer to the HEAP.
-      HEAP16[(((outPtr)+(str.length*2))>>1)]=0;
-    }
-    Module['stringToUTF16'] = stringToUTF16;
-    
-    // Given a pointer 'ptr' to a null-terminated UTF32LE-encoded string in the emscripten HEAP, returns
-    // a copy of that string as a Javascript String object.
-    function UTF32ToString(ptr) {
-      var i = 0;
-    
-      var str = '';
-      while (1) {
-        var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
-        if (utf32 == 0)
-          return str;
-        ++i;
-        // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
-        if (utf32 >= 0x10000) {
-          var ch = utf32 - 0x10000;
-          str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
-        } else {
-          str += String.fromCharCode(utf32);
-        }
-      }
-    }
-    Module['UTF32ToString'] = UTF32ToString;
-    
-    // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
-    // null-terminated and encoded in UTF32LE form. The copy will require at most (str.length+1)*4 bytes of space in the HEAP,
-    // but can use less, since str.length does not return the number of characters in the string, but the number of UTF-16 code units in the string.
-    function stringToUTF32(str, outPtr) {
-      var iChar = 0;
-      for(var iCodeUnit = 0; iCodeUnit < str.length; ++iCodeUnit) {
-        // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
-        var codeUnit = str.charCodeAt(iCodeUnit); // possibly a lead surrogate
-        if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
-          var trailSurrogate = str.charCodeAt(++iCodeUnit);
-          codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
-        }
-        HEAP32[(((outPtr)+(iChar*4))>>2)]=codeUnit;
-        ++iChar;
-      }
-      // Null-terminate the pointer to the HEAP.
-      HEAP32[(((outPtr)+(iChar*4))>>2)]=0;
-    }
-    Module['stringToUTF32'] = stringToUTF32;
-    
-    function demangle(func) {
-      var i = 3;
-      // params, etc.
-      var basicTypes = {
-        'v': 'void',
-        'b': 'bool',
-        'c': 'char',
-        's': 'short',
-        'i': 'int',
-        'l': 'long',
-        'f': 'float',
-        'd': 'double',
-        'w': 'wchar_t',
-        'a': 'signed char',
-        'h': 'unsigned char',
-        't': 'unsigned short',
-        'j': 'unsigned int',
-        'm': 'unsigned long',
-        'x': 'long long',
-        'y': 'unsigned long long',
-        'z': '...'
-      };
-      var subs = [];
-      var first = true;
-      function dump(x) {
-        //return;
-        if (x) Module.print(x);
-        Module.print(func);
-        var pre = '';
-        for (var a = 0; a < i; a++) pre += ' ';
-        Module.print (pre + '^');
-      }
-      function parseNested() {
-        i++;
-        if (func[i] === 'K') i++; // ignore const
-        var parts = [];
-        while (func[i] !== 'E') {
-          if (func[i] === 'S') { // substitution
-            i++;
-            var next = func.indexOf('_', i);
-            var num = func.substring(i, next) || 0;
-            parts.push(subs[num] || '?');
-            i = next+1;
-            continue;
-          }
-          if (func[i] === 'C') { // constructor
-            parts.push(parts[parts.length-1]);
-            i += 2;
-            continue;
-          }
-          var size = parseInt(func.substr(i));
-          var pre = size.toString().length;
-          if (!size || !pre) { i--; break; } // counter i++ below us
-          var curr = func.substr(i + pre, size);
-          parts.push(curr);
-          subs.push(curr);
-          i += pre + size;
-        }
-        i++; // skip E
-        return parts;
-      }
-      function parse(rawList, limit, allowVoid) { // main parser
-        limit = limit || Infinity;
-        var ret = '', list = [];
-        function flushList() {
-          return '(' + list.join(', ') + ')';
-        }
-        var name;
-        if (func[i] === 'N') {
-          // namespaced N-E
-          name = parseNested().join('::');
-          limit--;
-          if (limit === 0) return rawList ? [name] : name;
-        } else {
-          // not namespaced
-          if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L'
-          var size = parseInt(func.substr(i));
-          if (size) {
-            var pre = size.toString().length;
-            name = func.substr(i + pre, size);
-            i += pre + size;
-          }
-        }
-        first = false;
-        if (func[i] === 'I') {
-          i++;
-          var iList = parse(true);
-          var iRet = parse(true, 1, true);
-          ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>';
-        } else {
-          ret = name;
-        }
-        paramLoop: while (i < func.length && limit-- > 0) {
-          //dump('paramLoop');
-          var c = func[i++];
-          if (c in basicTypes) {
-            list.push(basicTypes[c]);
-          } else {
-            switch (c) {
-              case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer
-              case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference
-              case 'L': { // literal
-                i++; // skip basic type
-                var end = func.indexOf('E', i);
-                var size = end - i;
-                list.push(func.substr(i, size));
-                i += size + 2; // size + 'EE'
-                break;
-              }
-              case 'A': { // array
-                var size = parseInt(func.substr(i));
-                i += size.toString().length;
-                if (func[i] !== '_') throw '?';
-                i++; // skip _
-                list.push(parse(true, 1, true)[0] + ' [' + size + ']');
-                break;
-              }
-              case 'E': break paramLoop;
-              default: ret += '?' + c; break paramLoop;
-            }
-          }
-        }
-        if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void)
-        return rawList ? list : ret + flushList();
-      }
-      try {
-        // Special-case the entry point, since its name differs from other name mangling.
-        if (func == 'Object._main' || func == '_main') {
-          return 'main()';
-        }
-        if (typeof func === 'number') func = Pointer_stringify(func);
-        if (func[0] !== '_') return func;
-        if (func[1] !== '_') return func; // C function
-        if (func[2] !== 'Z') return func;
-        switch (func[3]) {
-          case 'n': return 'operator new()';
-          case 'd': return 'operator delete()';
-        }
-        return parse();
-      } catch(e) {
-        return func;
-      }
-    }
-    
-    function demangleAll(text) {
-      return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') });
-    }
-    
-    function stackTrace() {
-      var stack = new Error().stack;
-      return stack ? demangleAll(stack) : '(no stack trace available)'; // Stack trace is not available at least on IE10 and Safari 6.
-    }
-    
-    // Memory management
-    
-    var PAGE_SIZE = 4096;
-    function alignMemoryPage(x) {
-      return (x+4095)&-4096;
-    }
-    
-    var HEAP;
-    var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
-    
-    var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area
-    var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area
-    var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk
-    
-    function enlargeMemory() {
-      // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top.
-    
-      while (TOTAL_MEMORY <= DYNAMICTOP) { // Simple heuristic.
-        TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY);
-      }
-      assert(TOTAL_MEMORY <= Math.pow(2, 30)); // 2^30==1GB is a practical maximum - 2^31 is already close to possible negative numbers etc.
-      var oldHEAP8 = HEAP8;
-      var buffer = new ArrayBuffer(TOTAL_MEMORY);
-      Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
-      Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
-      Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
-      Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
-      Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
-      Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
-      Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
-      Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
-      HEAP8.set(oldHEAP8);
-      _emscripten_replace_memory(HEAP8, HEAP16, HEAP32, HEAPU8, HEAPU16, HEAPU32, HEAPF32, HEAPF64);
-    }
-    
-    var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
-    var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
-    var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152;
-    
-    var totalMemory = 4096;
-    while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) {
-      if (totalMemory < 16*1024*1024) {
-        totalMemory *= 2;
-      } else {
-        totalMemory += 16*1024*1024
-      }
-    }
-    if (totalMemory !== TOTAL_MEMORY) {
-      Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be more reasonable');
-      TOTAL_MEMORY = totalMemory;
-    }
-    
-    // Initialize the runtime's memory
-    // check for full engine support (use string 'subarray' to avoid closure compiler confusion)
-    assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
-           'JS engine does not provide full typed array support');
-    
-    var buffer = new ArrayBuffer(TOTAL_MEMORY);
-    HEAP8 = new Int8Array(buffer);
-    HEAP16 = new Int16Array(buffer);
-    HEAP32 = new Int32Array(buffer);
-    HEAPU8 = new Uint8Array(buffer);
-    HEAPU16 = new Uint16Array(buffer);
-    HEAPU32 = new Uint32Array(buffer);
-    HEAPF32 = new Float32Array(buffer);
-    HEAPF64 = new Float64Array(buffer);
-    
-    // Endianness check (note: assumes compiler arch was little-endian)
-    HEAP32[0] = 255;
-    assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system');
-    
-    Module['HEAP'] = HEAP;
-    Module['HEAP8'] = HEAP8;
-    Module['HEAP16'] = HEAP16;
-    Module['HEAP32'] = HEAP32;
-    Module['HEAPU8'] = HEAPU8;
-    Module['HEAPU16'] = HEAPU16;
-    Module['HEAPU32'] = HEAPU32;
-    Module['HEAPF32'] = HEAPF32;
-    Module['HEAPF64'] = HEAPF64;
-    
-    function 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) {
-            Runtime.dynCall('v', func);
-          } else {
-            Runtime.dynCall('vi', func, [callback.arg]);
-          }
-        } else {
-          func(callback.arg === undefined ? null : callback.arg);
-        }
-      }
-    }
-    
-    var __ATPRERUN__  = []; // functions called before the runtime is initialized
-    var __ATINIT__    = []; // functions called during startup
-    var __ATMAIN__    = []; // functions called when main() is to be run
-    var __ATEXIT__    = []; // functions called during shutdown
-    var __ATPOSTRUN__ = []; // functions called after the runtime has exited
-    
-    var runtimeInitialized = false;
-    
-    function preRun() {
-      // compatibility - merge in anything from Module['preRun'] at this time
-      if (Module['preRun']) {
-        if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
-        while (Module['preRun'].length) {
-          addOnPreRun(Module['preRun'].shift());
-        }
-      }
-      callRuntimeCallbacks(__ATPRERUN__);
-    }
-    
-    function ensureInitRuntime() {
-      if (runtimeInitialized) return;
-      runtimeInitialized = true;
-      callRuntimeCallbacks(__ATINIT__);
-    }
-    
-    function preMain() {
-      callRuntimeCallbacks(__ATMAIN__);
-    }
-    
-    function exitRuntime() {
-      callRuntimeCallbacks(__ATEXIT__);
-    }
-    
-    function postRun() {
-      // compatibility - merge in anything from Module['postRun'] at this time
-      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);
-    }
-    Module['addOnPreRun'] = Module.addOnPreRun = addOnPreRun;
-    
-    function addOnInit(cb) {
-      __ATINIT__.unshift(cb);
-    }
-    Module['addOnInit'] = Module.addOnInit = addOnInit;
-    
-    function addOnPreMain(cb) {
-      __ATMAIN__.unshift(cb);
-    }
-    Module['addOnPreMain'] = Module.addOnPreMain = addOnPreMain;
-    
-    function addOnExit(cb) {
-      __ATEXIT__.unshift(cb);
-    }
-    Module['addOnExit'] = Module.addOnExit = addOnExit;
-    
-    function addOnPostRun(cb) {
-      __ATPOSTRUN__.unshift(cb);
-    }
-    Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun;
-    
-    // Tools
-    
-    // This processes a JS string into a C-line array of numbers, 0-terminated.
-    // For LLVM-originating strings, see parser.js:parseLLVMString function
-    function intArrayFromString(stringy, dontAddNull, length /* optional */) {
-      var ret = (new Runtime.UTF8Processor()).processJSString(stringy);
-      if (length) {
-        ret.length = length;
-      }
-      if (!dontAddNull) {
-        ret.push(0);
-      }
-      return ret;
-    }
-    Module['intArrayFromString'] = intArrayFromString;
-    
-    function intArrayToString(array) {
-      var ret = [];
-      for (var i = 0; i < array.length; i++) {
-        var chr = array[i];
-        if (chr > 0xFF) {
-          chr &= 0xFF;
-        }
-        ret.push(String.fromCharCode(chr));
-      }
-      return ret.join('');
-    }
-    Module['intArrayToString'] = intArrayToString;
-    
-    // Write a Javascript array to somewhere in the heap
-    function writeStringToMemory(string, buffer, dontAddNull) {
-      var array = intArrayFromString(string, dontAddNull);
-      var i = 0;
-      while (i < array.length) {
-        var chr = array[i];
-        HEAP8[(((buffer)+(i))|0)]=chr;
-        i = i + 1;
-      }
-    }
-    Module['writeStringToMemory'] = writeStringToMemory;
-    
-    function writeArrayToMemory(array, buffer) {
-      for (var i = 0; i < array.length; i++) {
-        HEAP8[(((buffer)+(i))|0)]=array[i];
-      }
-    }
-    Module['writeArrayToMemory'] = writeArrayToMemory;
-    
-    function writeAsciiToMemory(str, buffer, dontAddNull) {
-      for (var i = 0; i < str.length; i++) {
-        HEAP8[(((buffer)+(i))|0)]=str.charCodeAt(i);
-      }
-      if (!dontAddNull) HEAP8[(((buffer)+(str.length))|0)]=0;
-    }
-    Module['writeAsciiToMemory'] = writeAsciiToMemory;
-    
-    function unSign(value, bits, ignore) {
-      if (value >= 0) {
-        return value;
-      }
-      return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
-                        : Math.pow(2, bits)         + value;
-    }
-    function reSign(value, bits, ignore) {
-      if (value <= 0) {
-        return value;
-      }
-      var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
-                            : Math.pow(2, bits-1);
-      if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
-                                                           // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
-                                                           // TODO: In i64 mode 1, resign the two parts separately and safely
-        value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
-      }
-      return value;
-    }
-    
-    Math['imul'] = function imul(a, b) {
-      return (a*b)|0; // fast but imprecise
-    };
-    Math.imul = Math['imul'];
-    
-    
-    var Math_abs = Math.abs;
-    var Math_cos = Math.cos;
-    var Math_sin = Math.sin;
-    var Math_tan = Math.tan;
-    var Math_acos = Math.acos;
-    var Math_asin = Math.asin;
-    var Math_atan = Math.atan;
-    var Math_atan2 = Math.atan2;
-    var Math_exp = Math.exp;
-    var Math_log = Math.log;
-    var Math_sqrt = Math.sqrt;
-    var Math_ceil = Math.ceil;
-    var Math_floor = Math.floor;
-    var Math_pow = Math.pow;
-    var Math_imul = Math.imul;
-    var Math_fround = Math.fround;
-    var Math_min = Math.min;
-    
-    // A counter of dependencies for calling run(). If we need to
-    // do asynchronous work before running, increment this and
-    // decrement it. Incrementing must happen in a place like
-    // PRE_RUN_ADDITIONS (used by emcc to add file preloading).
-    // Note that you can add dependencies in preRun, even though
-    // it happens right before run - run will be postponed until
-    // the dependencies are met.
-    var runDependencies = 0;
-    var runDependencyWatcher = null;
-    var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
-    
-    function addRunDependency(id) {
-      runDependencies++;
-      if (Module['monitorRunDependencies']) {
-        Module['monitorRunDependencies'](runDependencies);
-      }
-    }
-    Module['addRunDependency'] = addRunDependency;
-    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(); // can add another dependenciesFulfilled
-        }
-      }
-    }
-    Module['removeRunDependency'] = removeRunDependency;
-    
-    Module["preloadedImages"] = {}; // maps url to image data
-    Module["preloadedAudios"] = {}; // maps url to audio data
-    
-    
-    var memoryInitializer = null;
-    
-    // === Body ===
-    
-    
-    
-    STATIC_BASE = 8;
-    
-    STATICTOP = STATIC_BASE + 51944;
-    
-    
-    
-    var _stdout;
-    var _stdout=_stdout=allocate(1, "i32*", ALLOC_STATIC);
-    var _stdin;
-    var _stdin=_stdin=allocate(1, "i32*", ALLOC_STATIC);
-    var _stderr;
-    var _stderr=_stderr=allocate(1, "i32*", ALLOC_STATIC);
-    
-    /* global initializers */ __ATINIT__.push({ func: function() { runPostSets() } },{ func: function() { __GLOBAL__I_a() } });
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    var ___dso_handle;
-    var ___dso_handle=___dso_handle=allocate(1, "i32*", ALLOC_STATIC);
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    var __ZTVN10__cxxabiv120__si_class_type_infoE;
-    __ZTVN10__cxxabiv120__si_class_type_infoE=allocate([0,0,0,0,160,105,0,0,250,0,0,0,172,0,0,0,70,0,0,0,178,0,0,0,8,0,0,0,10,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_STATIC);;
-    var __ZTVN10__cxxabiv117__class_type_infoE;
-    __ZTVN10__cxxabiv117__class_type_infoE=allocate([0,0,0,0,176,105,0,0,250,0,0,0,38,1,0,0,70,0,0,0,178,0,0,0,8,0,0,0,28,0,0,0,8,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_STATIC);;
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    var __ZTISt9exception;
-    var __ZTISt9exception=__ZTISt9exception=allocate([allocate([1,0,0,0,0,0,0], "i8", ALLOC_STATIC)+8, 0], "i32", ALLOC_STATIC);
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    var __ZN19context_model_tableC1Ev;
-    var __ZN19context_model_tableC1ERKS_;
-    var __ZN19context_model_tableD1Ev;
-    var __ZN15decoder_contextC1Ev;
-    var __ZN22decoded_picture_bufferC1Ev;
-    var __ZN22decoded_picture_bufferD1Ev;
-    var __ZN11de265_imageC1Ev;
-    var __ZN11de265_imageD1Ev;
-    var __ZN10NAL_ParserC1Ev;
-    var __ZN10NAL_ParserD1Ev;
-    var __ZN17pic_parameter_setC1Ev;
-    var __ZN17pic_parameter_setD1Ev;
-    var __ZN17seq_parameter_setC1Ev;
-    var __ZN17seq_parameter_setD1Ev;
-    var __ZN19de265_progress_lockC1Ev;
-    var __ZN19de265_progress_lockD1Ev;
-    var __ZN27video_usability_informationC1Ev;
-    var __ZNSt13runtime_errorC1EPKc;
-    var __ZNSt13runtime_errorD1Ev;
-    var __ZNSt12length_errorD1Ev;
-    var __ZNSt3__16localeC1Ev;
-    var __ZNSt3__16localeC1ERKS0_;
-    var __ZNSt3__16localeD1Ev;
-    var __ZNSt8bad_castC1Ev;
-    var __ZNSt8bad_castD1Ev;
-    /* memory initializer */ allocate([29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,35,0,0,0,35,0,0,0,36,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,26,0,0,0,21,0,0,0,17,0,0,0,13,0,0,0,9,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,254,255,255,255,251,255,255,255,247,255,255,255,243,255,255,255,239,255,255,255,235,255,255,255,230,255,255,255,224,255,255,255,230,255,255,255,235,255,255,255,239,255,255,255,243,255,255,255,247,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,5,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,21,0,0,0,26,0,0,0,32,0,0,0,0,0,0,0,95,112,137,0,255,9,47,15,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,111,118,101,114,115,99,97,110,95,97,112,112,114,111,112,114,105,97,116,101,95,102,108,97,103,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,74,117,108,0,0,0,0,0,118,112,115,95,109,97,120,95,115,117,98,95,108,97,121,101,114,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,80,80,83,32,37,100,32,104,97,115,32,110,111,116,32,98,101,101,110,32,114,101,97,100,10,0,0,0,0,0,0,0,74,117,110,0,0,0,0,0,52,58,50,58,48,0,0,0,65,112,114,0,0,0,0,0,77,97,114,0,0,0,0,0,70,101,98,0,0,0,0,0,99,111,110,116,101,120,116,32,62,61,32,48,32,38,38,32,99,111,110,116,101,120,116,32,60,61,32,50,0,0,0,0,108,111,103,50,95,115,97,111,95,111,102,102,115,101,116,95,115,99,97,108,101,95,99,104,114,111,109,97,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,99,97,110,110,111,116,32,115,116,97,114,116,32,100,101,99,111,100,105,110,103,32,116,104,114,101,97,100,115,0,0,0,74,97,110,0,0,0,0,0,102,97,108,115,101,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,42,114,101,102,99,110,116,62,49,0,0,0,0,0,0,0,68,101,99,101,109,98,101,114,0,0,0,0,0,0,0,0,105,100,120,60,105,110,116,114,97,80,114,101,100,77,111,100,101,67,46,100,97,116,97,95,115,105,122,101,0,0,0,0,99,111,109,112,111,110,101,110,116,0,0,0,0,0,0,0,78,111,118,101,109,98,101,114,0,0,0,0,0,0,0,0,121,60,115,112,115,46,80,105,99,72,101,105,103,104,116,73,110,77,105,110,80,85,115,0,79,99,116,111,98,101,114,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,0,0,120,60,115,112,115,46,80,105,99,87,105,100,116,104,73,110,77,105,110,80,85,115,0,0,83,101,112,116,101,109,98,101,114,0,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,111,118,101,114,115,99,97,110,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,65,117,103,117,115,116,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,118,112,115,95,109,97,120,95,108,97,121,101,114,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,104,100,114,45,62,110,117,109,95,114,101,102,95,105,100,120,95,108,49,95,97,99,116,105,118,101,32,60,61,32,49,54,0,0,0,0,0,0,0,0,74,117,108,121,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,74,117,110,101,0,0,0,0,109,111,110,111,99,104,114,111,109,101,0,0,0,0,0,0,77,97,121,0,0,0,0,0,65,112,114,105,108,0,0,0,115,108,105,99,101,45,115,101,103,109,101,110,116,45,37,100,59,37,100,0,0,0,0,0,108,111,103,50,95,115,97,111,95,111,102,102,115,101,116,95,115,99,97,108,101,95,108,117,109,97,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,68,80,66,47,111,117,116,112,117,116,32,113,117,101,117,101,32,102,117,108,108,0,0,0,69,82,82,58,32,0,0,0,77,97,114,99,104,0,0,0,99,116,98,45,114,111,119,45,37,100,0,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,70,101,98,114,117,97,114,121,0,0,0,0,0,0,0,0,37,112,32,97,115,115,105,103,110,32,61,32,37,112,10,0,98,97,115,105,99,95,115,116,114,105,110,103,0,0,0,0,33,40,116,114,97,102,111,68,101,112,116,104,61,61,48,32,38,38,32,108,111,103,50,84,114,97,102,111,83,105,122,101,61,61,50,41,0,0,0,0,74,97,110,117,97,114,121,0,80,114,101,100,77,111,100,101,32,61,61,32,99,117,80,114,101,100,77,111,100,101,0,0,99,98,102,95,108,117,109,97,32,33,61,32,45,49,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,99,98,102,95,99,114,32,33,61,32,45,49,0,0,0,0,108,101,110,103,116,104,32,62,61,32,48,0,0,0,0,0,99,97,98,97,99,95,98,121,112,97,115,115,95,97,108,105,103,110,109,101,110,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,58,32,37,100,10,0,0,0,115,97,109,112,108,101,32,97,115,112,101,99,116,32,114,97,116,105,111,32,32,32,32,32,32,32,32,58,32,37,100,58,37,100,10,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,99,98,102,95,99,98,32,33,61,32,45,49,0,0,0,0,112,101,114,115,105,115,116,101,110,116,95,114,105,99,101,95,97,100,97,112,116,97,116,105,111,110,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,118,105,100,101,111,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,104,100,114,45,62,110,117,109,95,114,101,102,95,105,100,120,95,108,48,95,97,99,116,105,118,101,32,60,61,32,49,54,0,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,99,116,120,73,100,120,76,111,111,107,117,112,91,108,111,103,50,119,45,50,93,91,99,73,100,120,93,91,115,99,97,110,73,100,120,93,91,112,114,101,118,67,115,98,102,93,91,120,67,43,40,121,67,60,60,108,111,103,50,119,41,93,32,61,61,32,99,116,120,73,100,120,73,110,99,0,0,0,0,0,104,105,103,104,95,112,114,101,99,105,115,105,111,110,95,111,102,102,115,101,116,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,58,32,37,100,10,0,0,0,105,110,105,116,84,121,112,101,32,62,61,32,48,32,38,38,32,105,110,105,116,84,121,112,101,32,60,61,32,50,0,0,100,101,98,108,111,99,107,45,37,100,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,99,104,114,111,109,97,95,102,111,114,109,97,116,95,105,100,99,32,32,32,32,32,32,32,58,32,37,100,32,40,37,115,41,10,0,0,0,0,0,0,116,104,114,101,97,100,95,99,111,110,116,101,120,116,115,61,61,78,85,76,76,0,0,0,105,110,116,114,97,95,115,109,111,111,116,104,105,110,103,95,100,105,115,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,101,110,116,114,121,32,112,111,105,110,116,32,91,37,105,93,32,58,32,37,100,10,0,0,101,120,116,101,110,100,101,100,95,112,114,101,99,105,115,105,111,110,95,112,114,111,99,101,115,115,105,110,103,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,111,102,102,115,101,116,95,108,101,110,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,99,114,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,91,37,100,93,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,101,120,112,108,105,99,105,116,95,114,100,112,99,109,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,99,111,100,101,100,32,112,97,114,97,109,101,116,101,114,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,110,117,109,95,101,110,116,114,121,95,112,111,105,110,116,95,111,102,102,115,101,116,115,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,110,117,109,77,86,80,67,97,110,100,76,88,61,61,50,0,105,109,112,108,105,99,105,116,95,114,100,112,99,109,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,110,84,104,114,101,97,100,115,82,117,110,110,105,110,103,32,62,61,32,48,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,99,111,110,116,101,120,116,109,111,100,101,108,46,99,99,0,115,108,105,99,101,95,108,111,111,112,95,102,105,108,116,101,114,95,97,99,114,111,115,115,95,115,108,105,99,101,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,99,111,110,116,101,120,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,58,32,37,100,10,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,115,108,105,99,101,95,116,99,95,111,102,102,115,101,116,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,114,111,116,97,116,105,111,110,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,115,108,105,99,101,95,98,101,116,97,95,111,102,102,115,101,116,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,83,80,83,45,114,97,110,103,101,45,101,120,116,101,110,115,105,111,110,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,114,101,102,60,55,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,40,102,114,111,109,32,112,112,115,41,0,0,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,86,85,73,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,40,111,118,101,114,114,105,100,101,41,0,0,0,0,0,0,115,99,97,108,105,110,103,95,108,105,115,116,95,112,114,101,100,95,109,97,116,114,105,120,95,105,100,95,100,101,108,116,97,61,61,49,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,86,80,83,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,105,100,120,62,61,48,0,0,115,108,105,99,101,95,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,100,105,115,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,32,37,115,10,0,0,48,0,0,0,0,0,0,0,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,111,118,101,114,114,105,100,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,115,101,113,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,58,32,37,100,10,0,0,0,114,101,102,80,105,99,81,48,61,61,114,101,102,80,105,99,81,49,0,0,0,0,0,0,83,117,98,72,101,105,103,104,116,67,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,115,108,105,99,101,95,99,114,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,58,32,37,100,10,0,0,0,0,83,117,98,87,105,100,116,104,67,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,115,108,105,99,101,95,99,98,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,58,32,37,100,10,0,0,0,0,99,98,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,91,37,100,93,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,80,105,99,72,101,105,103,104,116,73,110,67,116,98,115,89,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,115,108,105,99,101,95,113,112,95,100,101,108,116,97,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,114,101,102,73,100,120,66,62,61,48,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,80,105,99,87,105,100,116,104,73,110,67,116,98,115,89,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,101,110,100,32,37,32,50,32,61,61,32,48,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,114,101,102,99,110,116,0,0,102,105,118,101,95,109,105,110,117,115,95,109,97,120,95,110,117,109,95,109,101,114,103,101,95,99,97,110,100,32,32,58,32,37,100,10,0,0,0,0,77,97,120,84,66,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,67,104,114,111,109,97,79,102,102,115,101,116,95,76,37,100,91,37,100,93,91,37,100,93,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,77,105,110,84,66,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,67,104,114,111,109,97,87,101,105,103,104,116,95,76,37,100,91,37,100,93,91,37,100,93,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,77,97,120,67,98,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,108,117,109,97,95,111,102,102,115,101,116,95,108,37,100,91,37,100,93,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,105,110,67,98,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,76,117,109,97,87,101,105,103,104,116,95,76,37,100,91,37,100,93,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,76,111,103,50,77,97,120,84,114,97,110,115,102,111,114,109,83,107,105,112,83,105,122,101,32,32,32,32,40,82,69,120,116,41,32,58,32,37,100,10,0,0,0,0,0,0,0,0,67,116,98,83,105,122,101,89,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,67,104,114,111,109,97,76,111,103,50,87,101,105,103,104,116,68,101,110,111,109,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,99,116,120,45,62,100,112,98,46,104,97,115,95,102,114,101,101,95,100,112,98,95,112,105,99,116,117,114,101,40,116,114,117,101,41,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,76,111,103,50,77,105,110,67,117,67,104,114,111,109,97,81,112,79,102,102,115,101,116,83,105,122,101,32,40,82,69,120,116,41,32,58,32,37,100,10,0,0,0,0,0,0,0,0,115,112,115,95,101,120,116,101,110,115,105,111,110,95,54,98,105,116,115,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,108,117,109,97,95,108,111,103,50,95,119,101,105,103,104,116,95,100,101,110,111,109,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,115,112,115,95,116,101,109,112,111,114,97,108,95,105,100,95,110,101,115,116,105,110,103,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,76,111,103,50,77,105,110,67,117,81,112,68,101,108,116,97,83,105,122,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,115,112,115,95,109,117,108,116,105,108,97,121,101,114,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,99,111,108,108,111,99,97,116,101,100,95,114,101,102,95,105,100,120,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,112,112,115,95,101,120,116,101,110,115,105,111,110,95,54,98,105,116,115,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,115,112,115,95,114,97,110,103,101,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,99,111,108,108,111,99,97,116,101,100,95,102,114,111,109,95,108,48,95,102,108,97,103,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,80,77,0,0,0,0,0,0,112,112,115,95,109,117,108,116,105,108,97,121,101,114,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,99,104,114,111,109,97,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,95,108,101,110,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,115,112,115,95,101,120,116,101,110,115,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,0,0,99,97,98,97,99,95,105,110,105,116,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,67,84,66,32,111,117,116,115,105,100,101,32,111,102,32,105,109,97,103,101,32,97,114,101,97,0,0,0,0,0,0,0,65,77,0,0,0,0,0,0,82,73,100,120,62,61,48,0,112,112,115,95,114,97,110,103,101,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,114,101,102,80,105,99,76,105,115,116,62,61,48,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,118,117,105,95,112,97,114,97,109,101,116,101,114,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,109,118,100,95,108,49,95,122,101,114,111,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,102,105,114,115,116,32,37,32,50,32,61,61,32,48,0,0,112,112,115,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,37,112,32,100,101,99,111,117,112,108,101,32,40,37,112,41,10,0,0,0,0,0,0,0,115,116,114,111,110,103,95,105,110,116,114,97,95,115,109,111,111,116,104,105,110,103,95,101,110,97,98,108,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,114,101,102,95,112,105,99,95,108,105,115,116,95,109,111,100,105,102,105,99,97,116,105,111,110,95,102,108,97,103,95,108,49,32,58,32,37,100,10,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,115,108,105,99,101,95,115,101,103,109,101,110,116,95,104,101,97,100,101,114,95,101,120,116,101,110,115,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,115,112,115,95,116,101,109,112,111,114,97,108,95,109,118,112,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,37,100,58,32,37,100,10,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,110,117,109,95,101,120,116,114,97,95,115,108,105,99,101,95,104,101,97,100,101,114,95,98,105,116,115,32,32,32,32,58,32,37,100,10,0,0,0,0,40,117,110,107,110,111,119,110,41,0,0,0,0,0,0,0,108,116,95,114,101,102,95,112,105,99,95,112,111,99,95,108,115,98,95,115,112,115,91,37,100,93,32,58,32,37,100,32,32,32,40,117,115,101,100,95,98,121,95,99,117,114,114,95,112,105,99,95,108,116,95,115,112,115,95,102,108,97,103,61,37,100,41,10,0,0,0,0,114,101,102,95,112,105,99,95,108,105,115,116,95,109,111,100,105,102,105,99,97,116,105,111,110,95,102,108,97,103,95,108,48,32,58,32,37,100,10,0,108,111,103,50,95,112,97,114,97,108,108,101,108,95,109,101,114,103,101,95,108,101,118,101,108,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,70,111,114,109,97,116,82,97,110,103,101,69,120,116,101,110,115,105,111,110,115,0,0,0,110,117,109,95,108,111,110,103,95,116,101,114,109,95,114,101,102,95,112,105,99,115,95,115,112,115,32,58,32,37,100,10,0,0,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,49,95,97,99,116,105,118,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,32,37,115,10,0,108,105,115,116,115,95,109,111,100,105,102,105,99,97,116,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,0,0,0,77,65,67,0,0,0,0,0,99,104,97,110,110,101,108,62,61,48,32,38,38,32,99,104,97,110,110,101,108,32,60,61,32,50,0,0,0,0,0,0,77,97,105,110,83,116,105,108,108,80,105,99,116,117,114,101,0,0,0,0,0,0,0,0,108,111,110,103,95,116,101,114,109,95,114,101,102,95,112,105,99,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,40,102,114,111,109,32,80,80,83,41,0,0,0,0,0,0,112,105,99,95,115,99,97,108,105,110,103,95,108,105,115,116,95,100,97,116,97,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,110,97,108,0,0,0,0,0,45,45,45,45,45,45,45,45,45,45,32,80,80,83,32,114,97,110,103,101,45,101,120,116,101,110,115,105,111,110,32,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,100,101,50,54,53,46,99,99,0,0,0,0,0,0,0,0,77,97,105,110,49,48,0,0,114,101,102,95,112,105,99,95,115,101,116,91,32,37,50,100,32,93,58,32,0,0,0,0,116,99,95,111,102,102,115,101,116,58,32,32,32,32,37,100,10,0,0,0,0,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,115,112,115,95,109,97,120,95,115,117,98,95,108,97,121,101,114,115,32,32,32,32,32,32,58,32,37,100,10,0,0,0,102,97,108,115,101,0,0,0,77,97,105,110,0,0,0,0,110,117,109,95,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,115,32,58,32,37,100,10,0,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,48,95,97,99,116,105,118,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,32,37,115,10,0,98,101,116,97,95,111,102,102,115,101,116,58,32,32,37,100,10,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,0,0,112,99,109,95,108,111,111,112,95,102,105,108,116,101,114,95,100,105,115,97,98,108,101,95,102,108,97,103,32,32,58,32,37,100,10,0,0,0,0,0,112,101,110,100,105,110,103,95,105,110,112,117,116,95,78,65,76,32,61,61,32,78,85,76,76,0,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,97,99,116,105,118,101,95,111,118,101,114,114,105,100,101,95,102,108,97,103,32,58,32,37,100,10,0,0,115,97,111,45,37,100,0,0,112,105,99,95,100,105,115,97,98,108,101,95,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,102,108,97,103,58,32,37,100,10,0,99,111,108,108,111,99,97,116,101,100,32,109,111,116,105,111,110,45,118,101,99,116,111,114,32,105,115,32,111,117,116,115,105,100,101,32,105,109,97,103,101,32,97,114,101,97,0,0,32,32,80,114,111,102,105,108,101,47,84,105,101,114,47,76,101,118,101,108,32,91,76,97,121,101,114,32,37,100,93,10,0,0,0,0,0,0,0,0,100,105,102,102,95,99,117,95,99,104,114,111,109,97,95,113,112,95,111,102,102,115,101,116,95,100,101,112,116,104,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,108,111,103,50,95,100,105,102,102,95,109,97,120,95,109,105,110,95,112,99,109,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,0,0,0,115,108,105,99,101,95,115,97,111,95,99,104,114,111,109,97,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,111,118,101,114,114,105,100,101,95,101,110,97,98,108,101,100,95,102,108,97,103,58,32,37,100,10,0,0,0,0,105,109,97,103,101,32,99,104,101,99,107,115,117,109,32,109,105,115,109,97,116,99,104,0,83,80,83,32,104,101,97,100,101,114,32,109,105,115,115,105,110,103,44,32,99,97,110,110,111,116,32,100,101,99,111,100,101,32,83,69,73,0,0,0,32,32,37,115,95,108,101,118,101,108,95,105,100,99,32,32,32,32,32,32,32,32,32,58,32,37,100,32,40,37,52,46,50,102,41,10,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,108,111,103,50,95,109,105,110,95,112,99,109,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,0,0,0,0,115,108,105,99,101,95,115,97,111,95,108,117,109,97,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,0,0,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,99,111,110,116,114,111,108,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,102,97,108,115,101,0,0,0,99,97,110,110,111,116,32,97,112,112,108,121,32,83,65,79,32,98,101,99,97,117,115,101,32,119,101,32,114,97,110,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,32,32,108,111,103,50,95,109,97,120,95,109,118,95,108,101,110,103,116,104,95,118,101,114,116,105,99,97,108,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,102,114,97,109,101,95,111,110,108,121,95,99,111,110,115,116,114,97,105,110,116,95,102,108,97,103,32,58,32,37,100,10,0,37,112,32,114,101,108,101,97,115,101,32,37,112,10,0,0,112,99,109,95,115,97,109,112,108,101,95,98,105,116,95,100,101,112,116,104,95,99,104,114,111,109,97,32,32,32,58,32,37,100,10,0,0,0,0,0,115,108,105,99,101,95,116,101,109,112,111,114,97,108,95,109,118,112,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,112,112,115,95,108,111,111,112,95,102,105,108,116,101,114,95,97,99,114,111,115,115,95,115,108,105,99,101,115,95,101,110,97,98,108,101,100,95,102,108,97,103,58,32,37,100,10,0,110,111,110,45,101,120,105,115,116,105,110,103,32,108,111,110,103,45,116,101,114,109,32,114,101,102,101,114,101,110,99,101,32,99,97,110,100,105,100,97,116,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,115,108,105,99,101,32,104,101,97,100,101,114,0,0,0,0,32,32,108,111,103,50,95,109,97,120,95,109,118,95,108,101,110,103,116,104,95,104,111,114,105,122,111,110,116,97,108,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,110,111,110,95,112,97,99,107,101,100,95,99,111,110,115,116,114,97,105,110,116,95,102,108,97,103,32,58,32,37,100,10,0,112,99,109,95,115,97,109,112,108,101,95,98,105,116,95,100,101,112,116,104,95,108,117,109,97,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,110,117,109,95,108,111,110,103,95,116,101,114,109,95,112,105,99,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,108,111,111,112,95,102,105,108,116,101,114,95,97,99,114,111,115,115,95,116,105,108,101,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,110,117,109,98,101,114,32,111,102,32,116,104,114,101,97,100,115,32,108,105,109,105,116,101,100,32,116,111,32,109,97,120,105,109,117,109,32,97,109,111,117,110,116,0,0,0,0,0,32,32,109,97,120,95,98,105,116,115,95,112,101,114,95,109,105,110,95,99,117,95,100,101,110,111,109,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,105,110,116,101,114,108,97,99,101,100,95,115,111,117,114,99,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,112,99,109,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,110,117,109,95,108,111,110,103,95,116,101,114,109,95,115,112,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,116,105,108,101,32,114,111,119,32,98,111,117,110,100,97,114,105,101,115,58,32,0,0,0,100,101,112,101,110,100,101,110,116,32,115,108,105,99,101,32,119,105,116,104,32,97,100,100,114,101,115,115,32,48,0,0,32,32,109,97,120,95,98,121,116,101,115,95,112,101,114,95,112,105,99,95,100,101,110,111,109,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,112,114,111,103,114,101,115,115,105,118,101,95,115,111,117,114,99,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,115,97,109,112,108,101,95,97,100,97,112,116,105,118,101,95,111,102,102,115,101,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,115,108,105,99,101,32,115,101,103,109,101,110,116,32,97,100,100,114,101,115,115,32,105,110,118,97,108,105,100,0,0,0,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,95,105,100,120,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,42,10,0,0,0,0,0,0,83,69,67,65,77,0,0,0,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,49,46,48,46,50,0,0,0,32,32,109,105,110,95,115,112,97,116,105,97,108,95,115,101,103,109,101,110,116,97,116,105,111,110,95,105,100,99,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,42,10,0,0,0,0,0,0,97,109,112,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,102,97,108,115,101,0,0,0,114,101,102,95,112,105,99,95,115,101,116,91,32,37,50,100,32,93,58,32,0,0,0,0,42,37,100,32,0,0,0,0,114,100,112,99,109,77,111,100,101,61,61,48,0,0,0,0,105,109,103,45,62,110,117,109,95,116,104,114,101,97,100,115,95,97,99,116,105,118,101,40,41,32,61,61,32,48,0,0,105,110,118,97,108,105,100,32,99,104,114,111,109,97,32,102,111,114,109,97,116,32,105,110,32,83,80,83,32,104,101,97,100,101,114,0,0,0,0,0,32,32,114,101,115,116,114,105,99,116,101,100,95,114,101,102,95,112,105,99,95,108,105,115,116,115,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,42,37,100,0,0,0,0,0,115,104,100,114,45,62,115,108,105,99,101,95,116,121,112,101,32,61,61,32,83,76,73,67,69,95,84,89,80,69,95,66,0,0,0,0,0,0,0,0,115,99,97,108,105,110,103,32,108,105,115,116,32,108,111,103,103,105,110,103,32,111,117,116,112,117,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,0,0,0,0,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,114,101,102,101,114,101,110,99,101,32,112,105,99,116,117,114,101,115,32,101,120,99,101,101,100,101,100,0,0,0,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,95,115,112,115,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,105,108,101,32,99,111,108,117,109,110,32,98,111,117,110,100,97,114,105,101,115,58,32,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,102,97,108,115,101,0,0,0,118,105,100,101,111,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,58,32,37,100,10,0,0,0,32,32,109,111,116,105,111,110,95,118,101,99,116,111,114,115,95,111,118,101,114,95,112,105,99,95,98,111,117,110,100,97,114,105,101,115,95,102,108,97,103,32,58,32,37,100,10,0,42,44,0,0,0,0,0,0,115,112,115,95,115,99,97,108,105,110,103,95,108,105,115,116,95,100,97,116,97,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,115,108,105,99,101,95,112,105,99,95,111,114,100,101,114,95,99,110,116,95,108,115,98,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,117,110,105,102,111,114,109,95,115,112,97,99,105,110,103,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,101,110,100,95,111,102,95,115,117,98,95,115,116,114,101,97,109,95,111,110,101,95,98,105,116,32,110,111,116,32,115,101,116,32,116,111,32,49,32,119,104,101,110,32,105,116,32,115,104,111,117,108,100,32,98,101,0,0,0,0,0,0,0,0,32,32,116,105,108,101,115,95,102,105,120,101,100,95,115,116,114,117,99,116,117,114,101,95,102,108,97,103,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,37,115,95,112,114,111,102,105,108,101,95,99,111,109,112,97,116,105,98,105,108,105,116,121,95,102,108,97,103,115,58,32,0,0,0,0,0,0,115,99,97,108,105,110,103,95,108,105,115,116,95,101,110,97,98,108,101,95,102,108,97,103,32,58,32,37,100,10,0,0,99,111,108,111,117,114,95,112,108,97,110,101,95,105,100,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,110,117,109,95,116,105,108,101,95,114,111,119,115,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,106,62,61,48,32,38,38,32,106,32,60,32,77,65,88,95,78,85,77,95,82,69,70,95,80,73,67,83,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,102,97,117,108,116,121,32,114,101,102,101,114,101,110,99,101,32,112,105,99,116,117,114,101,32,108,105,115,116,0,0,0,98,105,116,115,116,114,101,97,109,95,114,101,115,116,114,105,99,116,105,111,110,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,37,115,95,112,114,111,102,105,108,101,95,105,100,99,32,32,32,32,32,32,32,58,32,37,115,10,0,0,0,0,99,104,114,111,109,97,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,109,97,120,95,116,114,97,110,115,102,111,114,109,95,104,105,101,114,97,114,99,104,121,95,100,101,112,116,104,95,105,110,116,114,97,32,58,32,37,100,10,0,0,0,0,0,0,0,112,105,99,95,111,117,116,112,117,116,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,110,117,109,95,116,105,108,101,95,99,111,108,117,109,110,115,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,99,111,101,102,102,105,99,105,101,110,116,32,111,117,116,32,111,102,32,105,109,97,103,101,32,98,111,117,110,100,115,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,0,0,0,115,104,111,114,116,45,116,101,114,109,32,114,101,102,45,112,105,99,45,115,101,116,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,0,0,0,118,117,105,95,104,114,100,95,112,97,114,97,109,101,116,101,114,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,32,32,37,115,95,116,105,101,114,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,102,97,108,115,101,0,0,0,105,110,116,114,97,80,114,101,100,77,111,100,101,62,61,50,0,0,0,0,0,0,0,0,109,97,120,95,116,114,97,110,115,102,111,114,109,95,104,105,101,114,97,114,99,104,121,95,100,101,112,116,104,95,105,110,116,101,114,32,58,32,37,100,10,0,0,0,0,0,0,0,115,108,105,99,101,95,116,121,112,101,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,58,32,37,99,10,0,0,0,0,0,0,101,110,116,114,111,112,121,95,99,111,100,105,110,103,95,115,121,110,99,95,101,110,97,98,108,101,100,95,102,108,97,103,58,32,37,100,10,0,0,0,48,0,0,0,0,0,0,0,37,0,0,0,72], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
-    /* memory initializer */ allocate([58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,110,117,109,98,101,114,32,111,102,32,115,104,111,114,116,45,116,101,114,109,32,114,101,102,45,112,105,99,45,115,101,116,115,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,118,117,105,95,110,117,109,95,116,105,99,107,115,95,112,111,99,95,100,105,102,102,95,111,110,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,32,32,37,115,95,112,114,111,102,105,108,101,95,115,112,97,99,101,32,32,32,32,32,58,32,37,100,10,0,0,0,0,108,111,103,50,95,100,105,102,102,95,109,97,120,95,109,105,110,95,116,114,97,110,115,102,111,114,109,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,0,37,112,32,105,110,105,116,10,0,0,0,0,0,0,0,0,115,108,105,99,101,95,115,101,103,109,101,110,116,95,97,100,100,114,101,115,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,105,108,101,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,37,72,58,37,77,58,37,83,0,0,0,0,0,0,0,0,110,117,109,77,86,95,80,32,33,61,32,110,117,109,77,86,95,81,32,105,110,32,100,101,98,108,111,99,107,105,110,103,0,0,0,0,0,0,0,0,118,117,105,95,112,111,99,95,112,114,111,112,111,114,116,105,111,110,97,108,95,116,111,95,116,105,109,105,110,103,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,115,117,98,95,108,97,121,101,114,0,0,0,0,0,0,0,108,111,103,50,95,109,105,110,95,116,114,97,110,115,102,111,114,109,95,98,108,111,99,107,95,115,105,122,101,32,32,32,58,32,37,100,10,0,0,0,100,101,112,101,110,100,101,110,116,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,114,97,110,115,113,117,97,110,116,95,98,121,112,97,115,115,95,101,110,97,98,108,101,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,110,111,110,45,101,120,105,115,116,105,110,103,32,114,101,102,101,114,101,110,99,101,32,112,105,99,116,117,114,101,32,97,99,99,101,115,115,101,100,0,32,32,118,117,105,95,116,105,109,101,95,115,99,97,108,101,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,103,101,110,101,114,97,108,0,108,111,103,50,95,100,105,102,102,95,109,97,120,95,109,105,110,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,115,108,105,99,101,95,112,105,99,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,111,117,116,112,117,116,95,102,108,97,103,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,37,109,47,37,100,47,37,121,0,0,0,0,0,0,0,0,98,111,116,104,32,112,114,101,100,70,108,97,103,115,91,93,32,97,114,101,32,122,101,114,111,32,105,110,32,77,67,0,32,32,118,117,105,95,110,117,109,95,117,110,105,116,115,95,105,110,95,116,105,99,107,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,61,32,37,100,10,0,0,0,0,0,0,0,0,108,111,103,50,95,109,105,110,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,110,111,95,111,117,116,112,117,116,95,111,102,95,112,114,105,111,114,95,112,105,99,115,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,119,101,105,103,104,116,101,100,95,98,105,112,114,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,78,84,83,67,0,0,0,0,33,114,101,111,114,100,101,114,95,111,117,116,112,117,116,95,113,117,101,117,101,46,101,109,112,116,121,40,41,0,0,0,110,111,110,45,101,120,105,115,116,105,110,103,32,83,80,83,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,118,117,105,95,116,105,109,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,58,32,37,100,10,0,0,0,0,0,32,32,115,112,115,95,109,97,120,95,108,97,116,101,110,99,121,95,105,110,99,114,101,97,115,101,95,112,108,117,115,49,32,58,32,37,100,10,0,0,102,105,114,115,116,76,97,121,101,114,82,101,97,100,32,60,32,77,65,88,95,84,69,77,80,79,82,65,76,95,83,85,66,76,65,89,69,82,83,0,102,105,114,115,116,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,105,110,95,112,105,99,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,119,101,105,103,104,116,101,100,95,112,114,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,48,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,110,111,110,45,101,120,105,115,116,105,110,103,32,80,80,83,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,98,111,116,116,111,109,95,111,102,102,115,101,116,32,32,58,32,37,100,10,0,0,0,0,0,102,97,108,115,101,0,0,0,104,114,100,95,108,97,121,101,114,95,115,101,116,95,105,100,120,91,37,100,93,32,61,32,37,100,10,0,0,0,0,0,37,112,0,0,0,0,0,0,32,32,115,112,115,95,109,97,120,95,110,117,109,95,114,101,111,114,100,101,114,95,112,105,99,115,32,32,32,32,32,32,32,58,32,37,100,10,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,83,76,73,67,69,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,83,69,73,32,100,101,99,111,100,101,100,32,112,105,99,116,117,114,101,32,104,97,115,104,58,32,37,48,52,120,44,32,100,101,99,111,100,101,100,32,112,105,99,116,117,114,101,58,32,37,48,52,120,32,40,80,79,67,61,37,100,41,10,0,112,112,115,95,115,108,105,99,101,95,99,104,114,111,109,97,95,113,112,95,111,102,102,115,101,116,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,102,97,108,115,101,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,83,80,83,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,105,109,112,111,115,115,105,98,108,101,32,109,111,116,105,111,110,32,118,101,99,116,111,114,32,115,99,97,108,105,110,103,0,0,0,0,0,0,0,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,116,111,112,95,111,102,102,115,101,116,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,110,117,109,95,104,114,100,95,112,97,114,97,109,101,116,101,114,115,32,32,32,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,32,32,115,112,115,95,109,97,120,95,100,101,99,95,112,105,99,95,98,117,102,102,101,114,105,110,103,32,32,32,32,32,32,58,32,37,100,10,0,0,115,108,105,99,101,32,104,101,97,100,101,114,32,105,110,118,97,108,105,100,0,0,0,0,115,112,115,45,62,115,112,115,95,114,101,97,100,0,0,0,83,69,73,32,100,101,99,111,100,101,100,32,112,105,99,116,117,114,101,32,77,68,53,32,109,105,115,109,97,116,99,104,32,40,80,79,67,61,37,100,41,10,0,0,0,0,0,0,112,105,99,95,99,114,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,118,97,108,117,101,62,48,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,114,105,103,104,116,95,111,102,102,115,101,116,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,110,117,109,95,116,105,99,107,115,95,112,111,99,95,100,105,102,102,95,111,110,101,32,61,32,37,100,10,0,0,0,0,0,0,0,0,76,97,121,101,114,32,37,100,10,0,0,0,0,0,0,0,112,112,115,45,62,112,112,115,95,114,101,97,100,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,112,105,99,95,99,98,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,82,73,100,120,32,62,61,32,48,32,38,38,32,82,73,100,120,32,60,32,115,101,116,115,46,115,105,122,101,40,41,0,116,114,117,101,0,0,0,0,112,112,115,32,104,101,97,100,101,114,32,105,110,118,97,108,105,100,0,0,0,0,0,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,108,101,102,116,95,111,102,102,115,101,116,32,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,112,111,99,95,112,114,111,112,111,114,116,105,111,110,97,108,95,116,111,95,116,105,109,105,110,103,95,102,108,97,103,32,61,32,37,100,10,0,0,0,0,0,0,0,99,114,111,115,115,95,99,111,109,112,111,110,101,110,116,95,112,114,101,100,105,99,116,105,111,110,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,115,112,115,95,115,117,98,95,108,97,121,101,114,95,111,114,100,101,114,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,115,112,115,32,104,101,97,100,101,114,32,105,110,118,97,108,105,100,0,0,0,0,0,0,100,105,102,102,95,99,117,95,113,112,95,100,101,108,116,97,95,100,101,112,116,104,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,58,32,0,0,0,0,0,0,110,111,32,115,117,99,104,32,102,105,108,101,0,0,0,0,37,112,32,99,39,116,111,114,32,61,32,37,112,10,0,0,100,101,102,97,117,108,116,95,100,105,115,112,108,97,121,95,119,105,110,100,111,119,95,102,108,97,103,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,116,105,109,101,95,115,99,97,108,101,32,32,32,32,32,32,32,32,61,32,37,100,10,0,0,0,0,0,99,116,120,45,62,104,97,115,95,105,109,97,103,101,40,99,111,108,80,105,99,41,0,0,105,110,116,114,97,80,114,101,100,77,111,100,101,60,51,53,0,0,0,0,0,0,0,0,108,111,103,50,95,109,97,120,95,112,105,99,95,111,114,100,101,114,95,99,110,116,95,108,115,98,32,58,32,37,100,10,0,0,0,0,0,0,0,0,67,84,66,32,111,117,116,115,105,100,101,32,111,102,32,105,109,97,103,101,32,97,114,101,97,32,40,99,111,110,99,101,97,108,105,110,103,32,115,116,114,101,97,109,32,101,114,114,111,114,46,46,46,41,0,0,99,117,95,113,112,95,100,101,108,116,97,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,115,112,115,0,0,0,0,0,102,114,97,109,101,95,102,105,101,108,100,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,48,0,0,0,0,0,0,0,118,112,115,95,110,117,109,95,117,110,105,116,115,95,105,110,95,116,105,99,107,32,61,32,37,100,10,0,0,0,0,0,98,105,116,95,100,101,112,116,104,95,99,104,114,111,109,97,32,58,32,37,100,10,0,0,73,110,99,111,114,114,101,99,116,32,101,110,116,114,121,45,112,111,105,110,116,32,111,102,102,115,101,116,115,0,0,0,109,102,114,101,101,32,37,112,10,0,0,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,101,110,97,98,108,101,100,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,0,0,108,111,103,50,87,68,62,61,49,0,0,0,0,0,0,0,102,105,101,108,100,95,115,101,113,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,116,105,109,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,61,32,37,100,10,0,0,0,0,0,0,98,105,116,95,100,101,112,116,104,95,108,117,109,97,32,32,32,58,32,37,100,10,0,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,115,108,105,99,101,32,115,101,103,109,101,110,116,0,0,99,111,110,115,116,114,97,105,110,101,100,95,105,110,116,114,97,95,112,114,101,100,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,0,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,110,101,117,116,114,97,108,95,99,104,114,111,109,97,95,105,110,100,105,99,97,116,105,111,110,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,108,97,121,101,114,95,105,100,95,105,110,99,108,117,100,101,100,95,102,108,97,103,91,37,100,93,91,37,100,93,32,61,32,37,100,10,0,0,0,0,99,111,110,102,95,119,105,110,95,98,111,116,116,111,109,95,111,102,102,115,101,116,58,32,37,100,10,0,0,0,0,0,84,111,111,32,109,97,110,121,32,119,97,114,110,105,110,103,115,32,113,117,101,117,101,100,0,0,0,0,0,0,0,0,112,105,99,95,105,110,105,116,95,113,112,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,40,119,105,100,116,104,38,49,41,61,61,48,0,0,0,0,32,32,99,104,114,111,109,97,95,115,97,109,112,108,101,95,108,111,99,95,116,121,112,101,95,98,111,116,116,111,109,95,102,105,101,108,100,58,32,37,100,10,0,0,0,0,0,0,118,112,115,95,110,117,109,95,108,97,121,101,114,95,115,101,116,115,32,61,32,37,100,10,0,0,0,0,0,0,0,0,99,111,110,102,95,119,105,110,95,116,111,112,95,111,102,102,115,101,116,32,32,32,58,32,37,100,10,0,0,0,0,0,67,97,110,110,111,116,32,114,117,110,32,100,101,99,111,100,101,114,32,109,117,108,116,105,45,116,104,114,101,97,100,101,100,32,98,101,99,97,117,115,101,32,115,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,87,80,80,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,49,95,100,101,102,97,117,108,116,95,97,99,116,105,118,101,32,58,32,37,100,10,0,0,0,0,0,80,65,76,0,0,0,0,0,99,97,98,97,99,46,99,99,0,0,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,32,32,99,104,114,111,109,97,95,115,97,109,112,108,101,95,108,111,99,95,116,121,112,101,95,116,111,112,95,102,105,101,108,100,32,32,32,58,32,37,100,10,0,0,0,0,0,0,118,112,115,95,109,97,120,95,108,97,121,101,114,95,105,100,32,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,99,111,110,102,95,119,105,110,95,114,105,103,104,116,95,111,102,102,115,101,116,32,58,32,37,100,10,0,0,0,0,0,118,112,115,46,99,99,0,0,48,0,0,0,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,48,95,100,101,102,97,117,108,116,95,97,99,116,105,118,101,32,58,32,37,100,10,0,0,0,0,0,73,78,70,79,58,32,0,0,116,114,97,110,115,102,111,114,109,46,99,99,0,0,0,0,99,104,114,111,109,97,95,108,111,99,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,108,97,116,101,110,99,121,95,105,110,99,114,101,97,115,101,32,32,61,32,37,100,10,0,0,0,0,100,101,99,99,116,120,46,99,99,0,0,0,0,0,0,0,99,111,110,102,95,119,105,110,95,108,101,102,116,95,111,102,102,115,101,116,32,32,58,32,37,100,10,0,0,0,0,0,110,97,110,0,0,0,0,0,112,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,115,108,105,99,101,32,100,97,116,97,0,0,0,0,0,99,97,98,97,99,95,105,110,105,116,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,115,112,115,46,99,99,0,0,32,32,109,97,116,114,105,120,95,99,111,101,102,102,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,110,117,109,95,114,101,111,114,100,101,114,95,112,105,99,115,32,32,61,32,37,100,10,0,0,0,0,100,101,98,108,111,99,107,46,99,99,0,0,0,0,0,0,99,111,110,102,111,114,109,97,110,99,101,95,119,105,110,100,111,119,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,102,105,114,115,116,32,115,108,105,99,101,32,109,105,115,115,105,110,103,44,32,99,97,110,110,111,116,32,100,101,99,111,100,101,32,100,101,112,101,110,100,101,110,116,32,115,108,105,99,101,0,0,0,0,0,0,115,105,103,110,95,100,97,116,97,95,104,105,100,105,110,103,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,118,101,99,116,111,114,0,0,115,108,105,99,101,46,99,99,0,0,0,0,0,0,0,0,32,32,116,114,97,110,115,102,101,114,95,99,104,97,114,97,99,116,101,114,105,115,116,105,99,115,32,32,32,32,58,32,37,100,10,0,0,0,0,0,108,97,121,101,114,32,40,97,108,108,41,58,32,118,112,115,95,109,97,120,95,100,101,99,95,112,105,99,95,98,117,102,102,101,114,105,110,103,32,61,32,37,100,10,0,0,0,0,112,105,99,95,104,101,105,103,104,116,95,105,110,95,108,117,109,97,95,115,97,109,112,108,101,115,32,58,32,37,100,10,0,0,0,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,99,111,109,109,97,110,100,45,108,105,110,101,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,0,0,0,100,101,112,101,110,100,101,110,116,95,115,108,105,99,101,95,115,101,103,109,101,110,116,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,114,101,102,112,105,99,46,99,99,0,0,0,0,0,0,0,37,46,48,76,102,0,0,0,98,105,116,115,116,114,101,97,109,46,99,99,0,0,0,0,32,32,99,111,108,111,117,114,95,112,114,105,109,97,114,105,101,115,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,108,97,116,101,110,99,121,95,105,110,99,114,101,97,115,101,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,108,111,103,50,95,109,97,120,95,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,98,108,111,99,107,95,115,105,122,101,32,32,32,32,32,32,58,32,37,100,10,0,0,0,112,105,99,95,119,105,100,116,104,95,105,110,95,108,117,109,97,95,115,97,109,112,108,101,115,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,110,97,108,45,112,97,114,115,101,114,46,99,99,0,0,0,83,69,73,32,100,97,116,97,32,99,97,110,110,111,116,32,98,101,32,112,114,111,99,101,115,115,101,100,0,0,0,0,115,101,113,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,105,109,103,45,62,115,112,115,46,66,105,116,68,101,112,116,104,95,67,32,62,61,32,56,32,38,38,32,105,109,103,45,62,115,112,115,46,66,105,116,68,101,112,116,104,95,67,32,60,61,32,49,54,0,0,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,110,111,32,101,114,114,111,114,0,0,0,0,0,0,0,0,32,32,99,111,108,111,117,114,95,100,101,115,99,114,105,112,116,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,46,47,100,101,99,99,116,120,46,104,0,0,0,0,0,0,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,110,117,109,95,114,101,111,114,100,101,114,95,112,105,99,115,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,109,111,116,105,111,110,46,99,99,0,0,0,0,0,0,0,105,110,116,114,97,112,114,101,100,46,99,99,0,0,0,0,115,101,112,97,114,97,116,101,95,99,111,108,111,117,114,95,112,108,97,110,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,42,37,115,10,0,0,0,0,110,111,32,109,111,114,101,32,105,110,112,117,116,32,100,97,116,97,44,32,100,101,99,111,100,101,114,32,115,116,97,108,108,101,100,0,0,0,0,0,105,111,115,116,114,101,97,109,0,0,0,0,0,0,0,0,112,105,99,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,83,97,116,0,0,0,0,0,105,109,103,45,62,115,112,115,46,66,105,116,68,101,112,116,104,95,89,32,62,61,32,56,32,38,38,32,105,109,103,45,62,115,112,115,46,66,105,116,68,101,112,116,104,95,89,32,60,61,32,49,54,0,0,0,70,114,105,0,0,0,0,0,37,76,102,0,0,0,0,0,105,109,97,103,101,46,99,99,0,0,0,0,0,0,0,0,84,104,117,0,0,0,0,0,87,101,100,0,0,0,0,0,84,117,101,0,0,0,0,0,32,32,118,105,100,101,111,95,102,117,108,108,95,114,97,110,103,101,95,102,108,97,103,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,100,112,98,46,99,99,0,0,110,32,60,32,110,84,104,114,101,97,100,67,111,110,116,101,120,116,115,0,0,0,0,0,77,111,110,0,0,0,0,0,108,97,121,101,114,32,37,100,58,32,118,112,115,95,109,97,120,95,100,101,99,95,112,105,99,95,98,117,102,102,101,114,105,110,103,32,61,32,37,100,10,0,0,0,0,0,0,0,83,117,110,0,0,0,0,0,48,0,0,0,0,0,0,0,117,110,107,110,111,119,110,0,83,97,116,117,114,100,97,121,0,0,0,0,0,0,0,0,70,114,105,100,97,121,0,0,42,37,100,37,99,32,0,0,84,104,117,114,115,100,97,121,0,0,0,0,0,0,0,0,117,110,105,109,112,108,101,109,101,110,116,101,100,32,100,101,99,111,100,101,114,32,102,101,97,116,117,114,101,0,0,0,37,112,32,100,101,115,116,114,117,99,116,111,114,10,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,80,80,83,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,87,101,100,110,101,115,100,97,121,0,0,0,0,0,0,0,109,111,100,101,108,91,105,93,46,115,116,97,116,101,32,60,61,32,54,50,0,0,0,0,84,117,101,115,100,97,121,0,77,111,110,100,97,121,0,0,83,117,110,100,97,121,0,0,102,97,108,108,98,97,99,107,45,109,111,116,105,111,110,46,99,99,0,0,0,0,0,0,32,32,118,105,100,101,111,95,102,111,114,109,97,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,115,10,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,118,112,115,95,115,117,98,95,108,97,121,101,114,95,111,114,100,101,114,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,52,58,52,58,52,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,99,97,110,110,111,116,32,102,114,101,101,32,108,105,98,114,97,114,121,32,100,97,116,97,32,40,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,112,112,115,46,99,99,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,102,97,108,108,98,97,99,107,45,100,99,116,46,99,99,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,118,105,100,101,111,95,115,105,103,110,97,108,95,116,121,112,101,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,118,112,115,95,116,101,109,112,111,114,97,108,95,105,100,95,110,101,115,116,105,110,103,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,109,111,114,101,62,61,45,49,32,38,38,32,109,111,114,101,60,61,49,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,52,58,50,58,50,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,116,105,108,101,88,62,61,48,32,38,38,32,116,105,108,101,89,62,61,48,0,0,0,0,103,108,111,98,97,108,32,108,105,98,114,97,114,121,32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,102,97,105,108,101,100,0,0,0,0,68,101,99,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,37,112,32,40,97,108,108,111,99,41,10,0,0,0,0,0,46,47,105,109,97,103,101,46,104,0,0,0,0,0,0,0,78,111,118,0,0,0,0,0,79,99,116,0,0,0,0,0,83,101,112,0,0,0,0,0,65,117,103,0,0,0,0,0,100,101,50,54,53,95,115,101,116,95,112,97,114,97,109,101,116,101,114,95,105,110,116,0,100,101,50,54,53,95,115,101,116,95,112,97,114,97,109,101,116,101,114,95,98,111,111,108,0,0,0,0,0,0,0,0,100,101,50,54,53,95,103,101,116,95,112,97,114,97,109,101,116,101,114,95,98,111,111,108,0,0,0,0,0,0,0,0,100,101,50,54,53,95,103,101,116,95,105,109,97,103,101,95,112,108,97,110,101,95,117,115,101,114,95,100,97,116,97,0,100,101,50,54,53,95,103,101,116,95,105,109,97,103,101,95,112,108,97,110,101,0,0,0,100,117,109,112,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,104,101,97,100,101,114,0,0,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,110,101,119,95,105,109,97,103,101,0,0,0,0,0,0,0,111,117,116,112,117,116,95,110,101,120,116,95,112,105,99,116,117,114,101,95,105,110,95,114,101,111,114,100,101,114,95,98,117,102,102,101,114,0,0,0,114,101,97,100,0,0,0,0,100,101,99,111,117,112,108,101,0,0,0,0,0,0,0,0,100,101,99,111,117,112,108,101,95,111,114,95,97,108,108,111,99,95,119,105,116,104,95,101,109,112,116,121,95,100,97,116,97,0,0,0,0,0,0,0,114,101,97,100,0,0,0,0,115,101,116,95,100,101,114,105,118,101,100,95,118,97,108,117,101,115,0,0,0,0,0,0,100,101,99,111,100,101,0,0,103,101,110,101,114,97,116,101,95,117,110,97,118,97,105,108,97,98,108,101,95,114,101,102,101,114,101,110,99,101,95,112,105,99,116,117,114,101,0,0,99,111,110,115,116,114,117,99,116,95,114,101,102,101,114,101,110,99,101,95,112,105,99,116,117,114,101,95,108,105,115,116,115,0,0,0,0,0,0,0,112,114,111,99,101,115,115,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,104,101,97,100,101,114,0,0,0,0,100,101,99,111,100,101,95,115,108,105,99,101,95,117,110,105,116,95,112,97,114,97,108,108,101,108,0,0,0,0,0,0,100,101,99,111,100,101,95,115,108,105,99,101,95,117,110,105,116,95,116,105,108,101,115,0,100,101,99,111,100,101,95,115,108,105,99,101,95,117,110,105,116,95,87,80,80,0,0,0,99,104,97,110,103,101,95,102,114,97,109,101,114,97,116,101,0,0,0,0,0,0,0,0,115,101,116,95,73,110,116,114,97,80,114,101,100,77,111,100,101,67,0,0,0,0,0,0,116,104,114,101,97,100,95,102,105,110,105,115,104,101,115,0,99,111,112,121,95,108,105,110,101,115,95,102,114,111,109,0,97,108,108,111,99,95,105,109,97,103,101,0,0,0,0,0,97,108,108,111,99,97,116,101,95,116,104,114,101,97,100,95,99,111,110,116,101,120,116,115,0,0,0,0,0,0,0,0,103,101,116,95,116,104,114,101,97,100,95,99,111,110,116,101,120,116,0,0,0,0,0,0,112,117,115,104,95,78,65,76,0,0,0,0,0,0,0,0,100,101,99,111,100,101,95,115,112,108,105,116,95,116,114,97,110,115,102,111,114,109,95,102,108,97,103,0,0,0,0,0,100,101,50,54,53,95,105,109,97,103,101,95,103,101,116,95,98,117,102,102,101,114,0,0,100,101,99,111,100,101,95,112,97,114,116,95,109,111,100,101,0,0,0,0,0,0,0,0,115,101,116,95,105,110,105,116,86,97,108,117,101,0,0,0,109,99,95,99,104,114,111,109,97,0,0,0,0,0,0,0,103,101,116,95,117,118,108,99,0,0,0,0,0,0,0,0,97,108,108,111,99,95,97,110,100,95,105,110,105,116,95,115,105,103,110,105,102,105,99,97,110,116,95,99,111,101,102,102,95,99,116,120,73,100,120,95,108,111,111,107,117,112,84,97,98,108,101,0,0,0,0,0,100,101,114,105,118,101,95,99,111,109,98,105,110,101,100,95,98,105,112,114,101,100,105,99,116,105,118,101,95,109,101,114,103,105,110,103,95,99,97,110,100,105,100,97,116,101,115,0,100,101,114,105,118,101,95,115,112,97,116,105,97,108,95,108,117,109,97,95,118,101,99,116,111,114,95,112,114,101,100,105,99,116,105,111,110,0,0,0,102,105,108,108,95,108,117,109,97,95,109,111,116,105,111,110,95,118,101,99,116,111,114,95,112,114,101,100,105,99,116,111,114,115,0,0,0,0,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,97,118,103,95,49,54,95,102,97,108,108,98,97,99,107,0,0,0,0,0,0,0,105,110,116,114,97,95,112,114,101,100,105,99,116,105,111,110,95,115,97,109,112,108,101,95,102,105,108,116,101,114,105,110,103,0,0,0,0,0,0,0,103,101,110,101,114,97,116,101,95,105,110,116,101,114,95,112,114,101,100,105,99,116,105,111,110,95,115,97,109,112,108,101,115,0,0,0,0,0,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,97,118,103,95,56,95,102,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,100,101,114,105,118,101,95,99,111,108,108,111,99,97,116,101,100,95,109,111,116,105,111,110,95,118,101,99,116,111,114,115,0,0,0,0,0,0,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,98,105,112,114,101,100,95,49,54,95,102,97,108,108,98,97,99,107,0,112,117,116,95,117,110,119,101,105,103,104,116,101,100,95,112,114,101,100,95,49,54,95,102,97,108,108,98,97,99,107,0,112,117,116,95,119,101,105,103,104,116,101,100,95,98,105,112,114,101,100,95,56,95,102,97,108,108,98,97,99,107,0,0,112,117,116,95,117,110,119,101,105,103,104,116,101,100,95,112,114,101,100,95,56,95,102,97,108,108,98,97,99,107,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,49,54,95,102,97,108,108,98,97,99,107,0,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,56,95,102,97,108,108,98,97,99,107,0,0,0,0,115,99,97,108,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,105,110,116,101,114,110,97,108,0,0,0,0,0,114,101,97,100,95,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,49,54,95,102,97,108,108,98,97,99,107,0,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,56,95,102,97,108,108,98,97,99,107,0,0,0,0,0,0,0,105,110,116,114,97,95,112,114,101,100,105,99,116,105,111,110,95,97,110,103,117,108,97,114,0,0,0,0,0,0,0,0,105,110,105,116,105,97,108,105,122,101,95,67,65,66,65,67,95,109,111,100,101,108,115,0,100,101,114,105,118,101,95,98,111,117,110,100,97,114,121,83,116,114,101,110,103,116,104,0,114,101,97,100,95,116,114,97,110,115,102,111,114,109,95,117,110,105,116,0,0,0,0,0,114,101,97,100,95,116,114,97,110,115,102,111,114,109,95,116,114,101,101,0,0,0,0,0,102,105,108,108,95,115,99,97,108,105,110,103,95,102,97,99,116,111,114,0,0,0,0,0,105,110,105,116,95,67,65,66,65,67,95,100,101,99,111,100,101,114,0,0,0,0,0,0,114,101,97,100,95,115,99,97,108,105,110,103,95,108,105,115,116,0,0,0,0,0,0,0,114,101,97,100,95,99,111,100,105,110,103,95,117,110,105,116,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,72,58,37,77,58,37,83,37,72,58,37,77,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,37,89,45,37,109,45,37,100,37,109,47,37,100,47,37,121,37,72,58,37,77,58,37,83,37,0,0,0,0,0,0,0,37,112,0,0,0,0,0,0,0,0,0,0,26,0,0,0,10,0,0,0,1,0,0,0,0,0,0,0,184,99,0,0,174,0,0,0,138,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,99,0,0,236,0,0,0,190,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,99,0,0,76,0,0,0,62,1,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,99,0,0,110,0,0,0,8,0,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,99,0,0,110,0,0,0,26,0,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,100,0,0,228,0,0,0,90,0,0,0,56,0,0,0,2,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,100,0,0,54,1,0,0,220,0,0,0,56,0,0,0,4,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,100,0,0,188,0,0,0,222,0,0,0,56,0,0,0,30,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,100,0,0,56,1,0,0,162,0,0,0,56,0,0,0,28,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,101,0,0,48,1,0,0,108,0,0,0,56,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,101,0,0,186,0,0,0,128,0,0,0,56,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,101,0,0,46,0,0,0,130,0,0,0,56,0,0,0,120,0,0,0,4,0,0,0,60,0,0,0,10,0,0,0,38,0,0,0,88,0,0,0,4,0,0,0,248,255,255,255,80,101,0,0,22,0,0,0,10,0,0,0,34,0,0,0,16,0,0,0,2,0,0,0,32,0,0,0,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,101,0,0,36,1,0,0,20,1,0,0,56,0,0,0,20,0,0,0,24,0,0,0,92,0,0,0,54,0,0,0,34,0,0,0,2,0,0,0,8,0,0,0,248,255,255,255,120,101,0,0,64,0,0,0,100,0,0,0,114,0,0,0,44,0,0,0,88,0,0,0,42,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,101,0,0,84,0,0,0,226,0,0,0,56,0,0,0,46,0,0,0,122,0,0,0,8,0,0,0,50,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,101,0,0,68,0,0,0,72,0,0,0,56,0,0,0,40,0,0,0,76,0,0,0,12,0,0,0,64,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,101,0,0,40,1,0,0,2,0,0,0,56,0,0,0,24,0,0,0,32,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,101,0,0,54,0,0,0,6,1,0,0,56,0,0,0,38,0,0,0,14,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,0,0,10,1,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,102,0,0,38,0,0,0,160,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,102,0,0,6,0,0,0,202,0,0,0,56,0,0,0,8,0,0,0,6,0,0,0,18,0,0,0,4,0,0,0,16,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,102,0,0,116,0,0,0,24,0,0,0,56,0,0,0,22,0,0,0,26,0,0,0,62,0,0,0,24,0,0,0,42,0,0,0,8,0,0,0,6,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,102,0,0,48,0,0,0,32,0,0,0,56,0,0,0,78,0,0,0,76,0,0,0,68,0,0,0,70,0,0,0,58,0,0,0,74,0,0,0,66,0,0,0,46,0,0,0,82,0,0,0,80,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,102,0,0,60,0,0,0,4], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240);
-    /* memory initializer */ allocate([56,0,0,0,110,0,0,0,102,0,0,0,96,0,0,0,98,0,0,0,90,0,0,0,100,0,0,0,94,0,0,0,108,0,0,0,106,0,0,0,104,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,102,0,0,78,0,0,0,106,0,0,0,56,0,0,0,6,0,0,0,32,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,102,0,0,36,0,0,0,204,0,0,0,56,0,0,0,16,0,0,0,38,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,102,0,0,14,0,0,0,218,0,0,0,56,0,0,0,2,0,0,0,10,0,0,0,14,0,0,0,118,0,0,0,94,0,0,0,24,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,102,0,0,210,0,0,0,154,0,0,0,56,0,0,0,14,0,0,0,16,0,0,0,18,0,0,0,50,0,0,0,8,0,0,0,20,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,102,0,0,210,0,0,0,28,0,0,0,56,0,0,0,6,0,0,0,4,0,0,0,4,0,0,0,92,0,0,0,60,0,0,0,10,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,103,0,0,210,0,0,0,118,0,0,0,56,0,0,0,12,0,0,0,8,0,0,0,22,0,0,0,30,0,0,0,14,0,0,0,8,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,103,0,0,210,0,0,0,42,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,103,0,0,64,0,0,0,182,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,103,0,0,210,0,0,0,86,0,0,0,56,0,0,0,20,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,20,0,0,0,28,0,0,0,26,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,103,0,0,60,1,0,0,44,0,0,0,56,0,0,0,14,0,0,0,4,0,0,0,2,0,0,0,36,0,0,0,10,0,0,0,8,0,0,0,26,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,103,0,0,74,0,0,0,94,0,0,0,70,0,0,0,34,0,0,0,14,0,0,0,32,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,103,0,0,210,0,0,0,92,0,0,0,56,0,0,0,12,0,0,0,8,0,0,0,22,0,0,0,30,0,0,0,14,0,0,0,8,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,103,0,0,210,0,0,0,192,0,0,0,56,0,0,0,12,0,0,0,8,0,0,0,22,0,0,0,30,0,0,0,14,0,0,0,8,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,103,0,0,150,0,0,0,30,1,0,0,84,0,0,0,22,0,0,0,16,0,0,0,34,0,0,0,80,0,0,0,96,0,0,0,34,0,0,0,28,0,0,0,26,0,0,0,8,0,0,0,44,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,103,0,0,12,0,0,0,140,0,0,0,68,0,0,0,40,0,0,0,30,0,0,0,30,0,0,0,48,0,0,0,78,0,0,0,18,0,0,0,6,0,0,0,12,0,0,0,30,0,0,0,16,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,16,104,0,0,52,0,0,0,2,1,0,0,252,255,255,255,252,255,255,255,16,104,0,0,168,0,0,0,148,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,40,104,0,0,12,1,0,0,32,1,0,0,252,255,255,255,252,255,255,255,40,104,0,0,126,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,64,104,0,0,98,0,0,0,44,1,0,0,248,255,255,255,248,255,255,255,64,104,0,0,212,0,0,0,28,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,88,104,0,0,124,0,0,0,248,0,0,0,248,255,255,255,248,255,255,255,88,104,0,0,158,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,104,0,0,244,0,0,0,214,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,104,0,0,42,1,0,0,216,0,0,0,18,0,0,0,22,0,0,0,16,0,0,0,34,0,0,0,56,0,0,0,96,0,0,0,34,0,0,0,28,0,0,0,26,0,0,0,8,0,0,0,30,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,104,0,0,180,0,0,0,206,0,0,0,42,0,0,0,40,0,0,0,30,0,0,0,30,0,0,0,82,0,0,0,78,0,0,0,18,0,0,0,6,0,0,0,12,0,0,0,30,0,0,0,42,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,104,0,0,18,1,0,0,166,0,0,0,56,0,0,0,62,0,0,0,116,0,0,0,34,0,0,0,90,0,0,0,4,0,0,0,38,0,0,0,52,0,0,0,28,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,104,0,0,122,0,0,0,62,0,0,0,56,0,0,0,108,0,0,0,4,0,0,0,74,0,0,0,24,0,0,0,86,0,0,0,30,0,0,0,112,0,0,0,60,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,105,0,0,22,1,0,0,134,0,0,0,56,0,0,0,18,0,0,0,58,0,0,0,6,0,0,0,54,0,0,0,92,0,0,0,62,0,0,0,86,0,0,0,66,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,105,0,0,82,0,0,0,200,0,0,0,56,0,0,0,98,0,0,0,102,0,0,0,36,0,0,0,82,0,0,0,32,0,0,0,26,0,0,0,72,0,0,0,80,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,105,0,0,100,0,0,0,22,0,0,0,44,0,0,0,22,0,0,0,16,0,0,0,34,0,0,0,80,0,0,0,96,0,0,0,34,0,0,0,66,0,0,0,74,0,0,0,16,0,0,0,44,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,105,0,0,18,0,0,0,14,1,0,0,70,0,0,0,40,0,0,0,30,0,0,0,30,0,0,0,48,0,0,0,78,0,0,0,18,0,0,0,90,0,0,0,24,0,0,0,4,0,0,0,16,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,105,0,0,250,0,0,0,238,0,0,0,70,0,0,0,178,0,0,0,8,0,0,0,2,0,0,0,12,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,105,0,0,50,1,0,0,26,1,0,0,0,1,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,105,0,0,4,1,0,0,8,1,0,0,246,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,105,0,0,46,1,0,0,80,0,0,0,104,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,34,1,0,0,66,0,0,0,184,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,106,0,0,24,1,0,0,242,0,0,0,12,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,106,0,0,254,0,0,0,120,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,83,116,56,98,97,100,95,99,97,115,116,0,0,0,0,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,0,0,0,0,0,0,83,116,49,50,108,101,110,103,116,104,95,101,114,114,111,114,0,0,0,0,0,0,0,0,83,116,49,49,108,111,103,105,99,95,101,114,114,111,114,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,0,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,0,0,0,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,0,0,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0,0,0,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,0,0,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,50,54,116,104,114,101,97,100,95,116,97,115,107,95,100,101,98,108,111,99,107,95,67,84,66,82,111,119,0,0,0,0,50,53,116,104,114,101,97,100,95,116,97,115,107,95,115,108,105,99,101,95,115,101,103,109,101,110,116,0,0,0,0,0,49,57,116,104,114,101,97,100,95,116,97,115,107,95,99,116,98,95,114,111,119,0,0,0,49,53,116,104,114,101,97,100,95,116,97,115,107,95,115,97,111,0,0,0,0,0,0,0,49,53,100,101,99,111,100,101,114,95,99,111,110,116,101,120,116,0,0,0,0,0,0,0,49,50,98,97,115,101,95,99,111,110,116,101,120,116,0,0,49,49,116,104,114,101,97,100,95,116,97,115,107,0,0,0,49,49,101,114,114,111,114,95,113,117,101,117,101,0,0,0,0,0,0,0,96,87,0,0,0,0,0,0,112,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,87,0,0,248,99,0,0,0,0,0,0,0,0,0,0,192,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,87,0,0,120,86,0,0,232,87,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,184,104,0,0,0,0,0,0,120,86,0,0,48,88,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,192,104,0,0,0,0,0,0,120,86,0,0,120,88,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,200,104,0,0,0,0,0,0,120,86,0,0,192,88,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,208,104,0,0,0,0,0,0,0,0,0,0,8,89,0,0,0,102,0,0,0,0,0,0,0,0,0,0,56,89,0,0,0,102,0,0,0,0,0,0,120,86,0,0,104,89,0,0,0,0,0,0,1,0,0,0,248,103,0,0,0,0,0,0,120,86,0,0,128,89,0,0,0,0,0,0,1,0,0,0,248,103,0,0,0,0,0,0,120,86,0,0,152,89,0,0,0,0,0,0,1,0,0,0,0,104,0,0,0,0,0,0,120,86,0,0,176,89,0,0,0,0,0,0,1,0,0,0,0,104,0,0,0,0,0,0,120,86,0,0,200,89,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,104,105,0,0,0,8,0,0,120,86,0,0,16,90,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,104,105,0,0,0,8,0,0,120,86,0,0,88,90,0,0,0,0,0,0,3,0,0,0,56,103,0,0,2,0,0,0,8,100,0,0,2,0,0,0,152,103,0,0,0,8,0,0,120,86,0,0,160,90,0,0,0,0,0,0,3,0,0,0,56,103,0,0,2,0,0,0,8,100,0,0,2,0,0,0,160,103,0,0,0,8,0,0,0,0,0,0,232,90,0,0,56,103,0,0,0,0,0,0,0,0,0,0,0,91,0,0,56,103,0,0,0,0,0,0,120,86,0,0,24,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,8,104,0,0,2,0,0,0,120,86,0,0,48,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,8,104,0,0,2,0,0,0,0,0,0,0,72,91,0,0,0,0,0,0,96,91,0,0,112,104,0,0,0,0,0,0,120,86,0,0,128,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,176,100,0,0,0,0,0,0,120,86,0,0,200,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,200,100,0,0,0,0,0,0,120,86,0,0,16,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,224,100,0,0,0,0,0,0,120,86,0,0,88,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,248,100,0,0,0,0,0,0,0,0,0,0,160,92,0,0,56,103,0,0,0,0,0,0,0,0,0,0,184,92,0,0,56,103,0,0,0,0,0,0,120,86,0,0,208,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,120,86,0,0,248,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,120,86,0,0,32,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,120,86,0,0,72,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,0,0,0,0,112,93,0,0,240,103,0,0,0,0,0,0,0,0,0,0,136,93,0,0,56,103,0,0,0,0,0,0,120,86,0,0,160,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,96,105,0,0,2,0,0,0,120,86,0,0,184,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,96,105,0,0,2,0,0,0,0,0,0,0,208,93,0,0,0,0,0,0,248,93,0,0,0,0,0,0,32,94,0,0,136,104,0,0,0,0,0,0,0,0,0,0,64,94,0,0,24,103,0,0,0,0,0,0,0,0,0,0,104,94,0,0,24,103,0,0,0,0,0,0,0,0,0,0,144,94,0,0,0,0,0,0,200,94,0,0,0,0,0,0,0,95,0,0,0,0,0,0,32,95,0,0,0,0,0,0,64,95,0,0,0,0,0,0,96,95,0,0,0,0,0,0,128,95,0,0,120,86,0,0,152,95,0,0,0,0,0,0,1,0,0,0,144,100,0,0,3,244,255,255,120,86,0,0,200,95,0,0,0,0,0,0,1,0,0,0,160,100,0,0,3,244,255,255,120,86,0,0,248,95,0,0,0,0,0,0,1,0,0,0,144,100,0,0,3,244,255,255,120,86,0,0,40,96,0,0,0,0,0,0,1,0,0,0,160,100,0,0,3,244,255,255,0,0,0,0,88,96,0,0,216,99,0,0,0,0,0,0,0,0,0,0,112,96,0,0,0,0,0,0,136,96,0,0,232,103,0,0,0,0,0,0,0,0,0,0,160,96,0,0,216,103,0,0,0,0,0,0,0,0,0,0,192,96,0,0,224,103,0,0,0,0,0,0,0,0,0,0,224,96,0,0,0,0,0,0,0,97,0,0,0,0,0,0,32,97,0,0,0,0,0,0,64,97,0,0,120,86,0,0,96,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,120,86,0,0,128,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,120,86,0,0,160,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,120,86,0,0,192,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,0,0,0,0,224,97,0,0,0,0,0,0,248,97,0,0,0,0,0,0,16,98,0,0,0,0,0,0,40,98,0,0,216,103,0,0,0,0,0,0,0,0,0,0,64,98,0,0,224,103,0,0,0,0,0,0,0,0,0,0,88,98,0,0,176,105,0,0,0,0,0,0,0,0,0,0,128,98,0,0,176,105,0,0,0,0,0,0,0,0,0,0,168,98,0,0,192,105,0,0,0,0,0,0,0,0,0,0,208,98,0,0,176,99,0,0,0,0,0,0,0,0,0,0,248,98,0,0,56,106,0,0,0,0,0,0,0,0,0,0,24,99,0,0,56,106,0,0,0,0,0,0,0,0,0,0,56,99,0,0,56,106,0,0,0,0,0,0,0,0,0,0,80,99,0,0,56,106,0,0,0,0,0,0,0,0,0,0,104,99,0,0,32,106,0,0,0,0,0,0,120,86,0,0,128,99,0,0,0,0,0,0,1,0,0,0,64,106,0,0,2,4,0,0,0,0,0,0,144,99,0,0,0,0,0,0,160,99,0,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,0,0,0,0,0,0,0,4,0,0,0,42,0,0,0,29,55,74,84,74,74,0,182,84,227,182,55,55,172,74,227,0,1,4,5,2,3,4,5,6,6,8,8,7,7,8,99,128,176,208,240,128,167,197,227,128,158,187,216,123,150,178,205,116,142,169,195,111,135,160,185,105,128,152,175,100,122,144,166,95,116,137,158,90,110,130,150,85,104,123,142,81,99,117,135,77,94,111,128,73,89,105,122,69,85,100,116,66,80,95,110,62,76,90,104,59,72,86,99,56,69,81,94,53,65,77,89,51,62,73,85,48,59,69,80,46,56,66,76,43,53,63,72,41,50,59,69,39,48,56,65,37,45,54,62,35,43,51,59,33,41,48,56,32,39,46,53,30,37,43,50,29,35,41,48,27,33,39,45,26,31,37,43,24,30,35,41,23,28,33,39,22,27,32,37,21,26,30,35,20,24,29,33,19,23,27,31,18,22,26,30,17,21,25,28,16,20,23,27,15,19,22,25,14,18,21,24,14,17,20,23,13,16,19,22,12,15,18,21,12,14,17,20,11,14,16,19,11,13,15,18,10,12,15,17,10,12,14,16,9,11,13,15,9,11,12,14,8,10,12,14,8,9,11,13,7,9,11,12,7,9,10,12,7,8,10,11,6,8,9,11,6,7,9,10,6,7,8,9,2,2,2,2,0,0,0,0,0,0,0,0,232,201,0,0,104,201,0,0,104,199,0,0,104,191,0,0,0,0,0,0,0,0,0,0,72,191,0,0,200,190,0,0,200,188,0,0,200,180,0,0,0,0,0,0,0,0,0,0,168,180,0,0,40,180,0,0,40,178,0,0,40,170,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,90,90,88,85,82,78,73,67,61,54,46,38,31,22,13,4,252,243,234,225,218,210,202,195,189,183,178,174,171,168,166,166,90,87,80,70,57,43,25,9,247,231,213,199,186,176,169,166,166,169,176,186,199,213,231,247,9,25,43,57,70,80,87,90,90,82,67,46,22,252,225,202,183,171,166,168,178,195,218,243,13,38,61,78,88,90,85,73,54,31,4,234,210,189,174,166,89,75,50,18,238,206,181,167,167,181,206,238,18,50,75,89,89,75,50,18,238,206,181,167,167,181,206,238,18,50,75,89,88,67,31,243,202,174,166,178,210,252,38,73,90,85,61,22,234,195,171,166,183,218,4,46,78,90,82,54,13,225,189,168,87,57,9,213,176,166,186,231,25,70,90,80,43,247,199,169,169,199,247,43,80,90,70,25,231,186,166,176,213,9,57,87,85,46,243,189,166,183,234,38,82,88,54,252,195,166,178,225,31,78,90,61,4,202,168,174,218,22,73,90,67,13,210,171,83,36,220,173,173,220,36,83,83,36,220,173,173,220,36,83,83,36,220,173,173,220,36,83,83,36,220,173,173,220,36,83,82,22,202,166,195,13,78,85,31,210,166,189,4,73,88,38,218,168,183,252,67,90,46,225,171,178,243,61,90,54,234,174,80,9,186,169,231,57,90,43,213,166,199,25,87,70,247,176,176,247,70,87,25,199,166,213,43,90,57,231,169,186,9,80,78,252,174,183,13,85,67,234,168,195,31,90,54,218,166,210,46,90,38,202,166,225,61,88,22,189,171,243,73,82,4,178,75,238,167,206,50,89,18,181,181,18,89,50,206,167,238,75,75,238,167,206,50,89,18,181,181,18,89,50,206,167,238,75,73,225,166,234,78,67,218,166,243,82,61,210,168,252,85,54,202,171,4,88,46,195,174,13,90,38,189,178,22,90,31,183,70,213,169,9,90,25,176,199,57,80,231,166,247,87,43,186,186,43,87,247,166,231,80,57,199,176,25,90,9,169,213,70,67,202,178,38,85,234,166,4,90,13,168,225,82,46,183,195,61,73,210,174,31,88,243,166,252,90,22,171,218,78,54,189,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,61,183,210,82,31,168,243,90,252,166,22,85,218,178,54,67,189,202,78,38,171,234,90,4,166,13,88,225,174,46,73,195,57,176,231,90,247,169,43,70,186,213,87,9,166,25,80,199,199,80,25,166,9,87,213,186,70,43,169,247,90,231,176,57,54,171,252,88,210,195,82,13,166,38,67,178,234,90,225,183,73,31,166,22,78,189,218,90,243,174,61,46,168,4,85,202,50,167,18,75,181,238,89,206,206,89,238,181,75,18,167,50,50,167,18,75,181,238,89,206,206,89,238,181,75,18,167,50,46,166,38,54,166,31,61,168,22,67,171,13,73,174,4,78,178,252,82,183,243,85,189,234,88,195,225,90,202,218,90,210,43,166,57,25,169,70,9,176,80,247,186,87,231,199,90,213,213,90,199,231,87,186,247,80,176,9,70,169,25,57,166,43,38,168,73,252,189,90,210,225,85,178,13,61,166,54,22,174,82,234,202,90,195,243,78,171,31,46,166,67,4,183,88,218,36,173,83,220,220,83,173,36,36,173,83,220,220,83,173,36,36,173,83,220,220,83,173,36,36,173,83,220,220,83,173,36,31,178,90,195,4,54,168,82,218,234,73,166,67,243,210,85,171,46,13,189,90,183,22,38,174,88,202,252,61,166,78,225,25,186,90,176,43,9,199,87,169,57,247,213,80,166,70,231,231,70,166,80,213,247,57,169,87,199,9,43,176,90,186,25,22,195,85,166,73,218,252,46,178,90,174,54,243,225,67,168,88,189,31,13,202,82,166,78,210,4,38,183,90,171,61,234,18,206,75,167,89,181,50,238,238,50,181,89,167,75,206,18,18,206,75,167,89,181,50,238,238,50,181,89,167,75,206,18,13,218,61,178,88,166,85,183,54,225,4,22,210,67,174,90,166,82,189,46,234,252,31,202,73,171,90,168,78,195,38,243,9,231,43,199,70,176,87,166,90,169,80,186,57,213,25,247,247,25,213,57,186,80,169,90,166,87,176,70,199,43,231,9,4,243,22,225,38,210,54,195,67,183,78,174,85,168,90,166,90,166,88,171,82,178,73,189,61,202,46,218,31,234,13,252,24,170,0,0,192,148,0,0,160,148,0,0,32,148,0,0,32,146,0,0,32,138,0,0,0,0,0,0,0,0,0,0,24,170,0,0,104,159,0,0,72,159,0,0,200,158,0,0,200,156,0,0,200,148,0,0,0,0,0,0,0,0,0,0,24,170,0,0,16,170,0,0,240,169,0,0,112,169,0,0,112,167,0,0,112,159,0,0,0,0,0,0,0,0,0,0,110,0,0,0,110,0,0,0,124,0,0,0,125,0,0,0,140,0,0,0,153,0,0,0,125,0,0,0,127,0,0,0,140,0,0,0,109,0,0,0,111,0,0,0,143,0,0,0,127,0,0,0,111,0,0,0,79,0,0,0,108,0,0,0,123,0,0,0,63,0,0,0,125,0,0,0,110,0,0,0,94,0,0,0,110,0,0,0,95,0,0,0,79,0,0,0,125,0,0,0,111,0,0,0,110,0,0,0,78,0,0,0,110,0,0,0,111,0,0,0,111,0,0,0,95,0,0,0,94,0,0,0,108,0,0,0,123,0,0,0,108,0,0,0,125,0,0,0,110,0,0,0,124,0,0,0,110,0,0,0,95,0,0,0,94,0,0,0,125,0,0,0,111,0,0,0,111,0,0,0,79,0,0,0,125,0,0,0,126,0,0,0,111,0,0,0,111,0,0,0,79,0,0,0,108,0,0,0,123,0,0,0,93,0,0,0,141,0,0,0,111,0,0,0,140,0,0,0,140,0,0,0,140,0,0,0,140,0,0,0,138,0,0,0,153,0,0,0,136,0,0,0,167,0,0,0,152,0,0,0,152,0,0,0,107,0,0,0,167,0,0,0,91,0,0,0,122,0,0,0,107,0,0,0,167,0,0,0,107,0,0,0,167,0,0,0,91,0,0,0,107,0,0,0,107,0,0,0,167,0,0,0,140,0,0,0,92,0,0,0,137,0,0,0,138,0,0,0,140,0,0,0,152,0,0,0,138,0,0,0,139,0,0,0,153,0,0,0,74,0,0,0,149,0,0,0,92,0,0,0,139,0,0,0,107,0,0,0,122,0,0,0,152,0,0,0,140,0,0,0,179,0,0,0,166,0,0,0,182,0,0,0,140,0,0,0,227,0,0,0,122,0,0,0,197,0,0,0,154,0,0,0,196,0,0,0,196,0,0,0,167,0,0,0,154,0,0,0,152,0,0,0,167,0,0,0,182,0,0,0,182,0,0,0,134,0,0,0,149,0,0,0,136,0,0,0,153,0,0,0,121,0,0,0,136,0,0,0,137,0,0,0,169,0,0,0,194,0,0,0,166,0,0,0,167,0,0,0,154,0,0,0,167,0,0,0,137,0,0,0,182,0,0,0,154,0,0,0,196,0,0,0,167,0,0,0,167,0,0,0,154,0,0,0,152,0,0,0,167,0,0,0,182,0,0,0,182,0,0,0,134,0,0,0,149,0,0,0,136,0,0,0,153,0,0,0,121,0,0,0,136,0,0,0,122,0,0,0,169,0,0,0,208,0,0,0,166,0,0,0,167,0,0,0,154,0,0,0,152,0,0,0,167,0,0,0,182,0,0,0,200,0,0,0,185,0,0,0,160,0,0,0,0,0,0,0,184,0,0,0,154,0,0,0,183,0,0,0,0,0,0,0,154,0,0,0,154,0,0,0,154,0,0,0,0,0,0,0,111,0,0,0,111,0,0,0,125,0,0,0,110,0,0,0,110,0,0,0,94,0,0,0,124,0,0,0,108,0,0,0,124,0,0,0,107,0,0,0,125,0,0,0,141,0,0,0,179,0,0,0,153,0,0,0,125,0,0,0,107,0,0,0,125,0,0,0,141,0,0,0,179,0,0,0,153,0,0,0,125,0,0,0,107,0,0,0,125,0,0,0,141,0,0,0,179,0,0,0,153,0,0,0,125,0,0,0,140,0,0,0,139,0,0,0,182,0,0,0,182,0,0,0,152,0,0,0,136,0,0,0,152,0,0,0,136,0,0,0,153,0,0,0,136,0,0,0,139,0,0,0,111,0,0,0,136,0,0,0,139,0,0,0,111,0,0,0,155,0,0,0,154,0,0,0,139,0,0,0,153,0,0,0,139,0,0,0,123,0,0,0,123,0,0,0,63,0,0,0,153,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,170,0,0,0,153,0,0,0,123,0,0,0,123,0,0,0,107,0,0,0,121,0,0,0,107,0,0,0,121,0,0,0,167,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,170,0,0,0,154,0,0,0,139,0,0,0,153,0,0,0,139,0,0,0,123,0,0,0,123,0,0,0,63,0,0,0,124,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,170,0,0,0,153,0,0,0,138,0,0,0,138,0,0,0,122,0,0,0,121,0,0,0,122,0,0,0,121,0,0,0,167,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,63,0,0,0,152,0,0,0,152,0,0,0,0,0,0,0,140,0,0,0,198,0,0,0,169,0,0,0,198,0,0,0,153,0,0,0,153,0,0,0,153,0,0,0,0,0,0,0,153,0,0,0,138,0,0,0,138,0,0,0,124,0,0,0,138,0,0,0,94,0,0,0,224,0,0,0,167,0,0,0,122,0,0,0,0,0,0,0,91,0,0,0,171,0,0,0,134,0,0,0,141,0,0,0,121,0,0,0,140,0,0,0,61,0,0,0,154,0,0,0,121,0,0,0,140,0,0,0,61,0,0,0,154,0,0,0,16,16,16,16,16,16,16,16,16,16,17,16,17,16,17,18,17,18,18,17,18,21,19,20,21,20,19,21,24,22,22,24,24,22,22,24,25,25,27,30,27,25,25,29,31,35,35,31,29,36,41,44,41,36,47,54,54,47,65,70,65,88,88,115,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,18,18,18,18,18,18,20,20,20,20,20,20,20,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,28,28,28,28,28,28,33,33,33,33,33,41,41,41,41,54,54,54,71,71,91,149,0,0,0,134,0,0,0,139,0,0,0,141,0,0,0,157,0,0,0,107,0,0,0,139,0,0,0,126,0,0,0,107,0,0,0,139,0,0,0,126,0,0,0,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,197,0,0,0,185,0,0,0,201,0,0,0,197,0,0,0,185,0,0,0,201,0,0,0,110,0,0,0,154,0,0,0,94,0,0,0,138,0,0,0,182,0,0,0,154,0,0,0,149,0,0,0,107,0,0,0,167,0,0,0,154,0,0,0,149,0,0,0,92,0,0,0,167,0,0,0,154,0,0,0,184,0,0,0,154,0,0,0,139,0,0,0,154,0,0,0,154,0,0,0,154,0,0,0,139,0,0,0,154,0,0,0,154,0,0,0,0,0,0,0,122,0,0,0,137,0,0,0,111,0,0,0,141,0,0,0,153,0,0,0,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,0,0,0,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,62,63,0,0,1,2,2,4,4,5,6,7,8,9,9,11,11,12,13,13,15,15,16,16,18,18,19,19,21,21,22,22,23,24,24,25,26,26,27,27,28,29,29,30,30,30,31,32,32,33,33,33,34,34,35,35,35,36,36,36,37,37,37,38,38,63,0,1,2,2,2,2,3,5,7,8,10,12,13,15,17,18,19,20,21,22,23,23,24,24,25,25,26,27,27,28,28,29,29,30,31,0,0,0,0,0,0,240,255,255,154,249,255,255,114,252,255,255,138,253,255,255,30,254,255,255,122,254,255,255,197,254,255,255,0,255,255,255,197,254,255,255,122,254,255,255,30,254,255,255,138,253,255,255,114,252,255,255,154,249,255,255,0,240,255,255,0,0,0,0,255,255,255,255,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,5,5,6,6,7,8,9,10,11,13,14,16,18,20,22,24,0,0,255,255,255,255,2], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480);
-    /* memory initializer */ allocate([2,0,0,0,1,0,0,0,6,5,4,4,3,3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,12,0,11,0,10,0,11,0,16,0,11,0,40,0,33,0,24,0,11,0,20,0,11,0,32,0,11,0,80,0,33,0,18,0,11,0,15,0,11,0,64,0,33,0,160,0,99,0,4,0,3,0,3,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,40,0,0,0,45,0,0,0,51,0,0,0,57,0,0,0,64,0,0,0,72,0,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30720);
-    
-    
-    
-    var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8);
-    
-    assert(tempDoublePtr % 8 == 0);
-    
-    function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
-    
-      HEAP8[tempDoublePtr] = HEAP8[ptr];
-    
-      HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
-    
-      HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
-    
-      HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
-    
-    }
-    
-    function copyTempDouble(ptr) {
-    
-      HEAP8[tempDoublePtr] = HEAP8[ptr];
-    
-      HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
-    
-      HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
-    
-      HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
-    
-      HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
-    
-      HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
-    
-      HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
-    
-      HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
-    
-    }
-    
-    
-      
-      function __ZSt18uncaught_exceptionv() { // std::uncaught_exception()
-          return !!__ZSt18uncaught_exceptionv.uncaught_exception;
-        }
-      
-      
-      
-      function ___cxa_is_number_type(type) {
-          var isNumber = false;
-          try { if (type == __ZTIi) isNumber = true } catch(e){}
-          try { if (type == __ZTIj) isNumber = true } catch(e){}
-          try { if (type == __ZTIl) isNumber = true } catch(e){}
-          try { if (type == __ZTIm) isNumber = true } catch(e){}
-          try { if (type == __ZTIx) isNumber = true } catch(e){}
-          try { if (type == __ZTIy) isNumber = true } catch(e){}
-          try { if (type == __ZTIf) isNumber = true } catch(e){}
-          try { if (type == __ZTId) isNumber = true } catch(e){}
-          try { if (type == __ZTIe) isNumber = true } catch(e){}
-          try { if (type == __ZTIc) isNumber = true } catch(e){}
-          try { if (type == __ZTIa) isNumber = true } catch(e){}
-          try { if (type == __ZTIh) isNumber = true } catch(e){}
-          try { if (type == __ZTIs) isNumber = true } catch(e){}
-          try { if (type == __ZTIt) isNumber = true } catch(e){}
-          return isNumber;
-        }function ___cxa_does_inherit(definiteType, possibilityType, possibility) {
-          if (possibility == 0) return false;
-          if (possibilityType == 0 || possibilityType == definiteType)
-            return true;
-          var possibility_type_info;
-          if (___cxa_is_number_type(possibilityType)) {
-            possibility_type_info = possibilityType;
-          } else {
-            var possibility_type_infoAddr = HEAP32[((possibilityType)>>2)] - 8;
-            possibility_type_info = HEAP32[((possibility_type_infoAddr)>>2)];
-          }
-          switch (possibility_type_info) {
-          case 0: // possibility is a pointer
-            // See if definite type is a pointer
-            var definite_type_infoAddr = HEAP32[((definiteType)>>2)] - 8;
-            var definite_type_info = HEAP32[((definite_type_infoAddr)>>2)];
-            if (definite_type_info == 0) {
-              // Also a pointer; compare base types of pointers
-              var defPointerBaseAddr = definiteType+8;
-              var defPointerBaseType = HEAP32[((defPointerBaseAddr)>>2)];
-              var possPointerBaseAddr = possibilityType+8;
-              var possPointerBaseType = HEAP32[((possPointerBaseAddr)>>2)];
-              return ___cxa_does_inherit(defPointerBaseType, possPointerBaseType, possibility);
-            } else
-              return false; // one pointer and one non-pointer
-          case 1: // class with no base class
-            return false;
-          case 2: // class with base class
-            var parentTypeAddr = possibilityType + 8;
-            var parentType = HEAP32[((parentTypeAddr)>>2)];
-            return ___cxa_does_inherit(definiteType, parentType, possibility);
-          default:
-            return false; // some unencountered type
-          }
-        }
-      
-      
-      
-      var ___cxa_last_thrown_exception=0;function ___resumeException(ptr) {
-          if (!___cxa_last_thrown_exception) { ___cxa_last_thrown_exception = ptr; }
-          throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
-        }
-      
-      var ___cxa_exception_header_size=8;function ___cxa_find_matching_catch(thrown, throwntype) {
-          if (thrown == -1) thrown = ___cxa_last_thrown_exception;
-          header = thrown - ___cxa_exception_header_size;
-          if (throwntype == -1) throwntype = HEAP32[((header)>>2)];
-          var typeArray = Array.prototype.slice.call(arguments, 2);
-      
-          // If throwntype is a pointer, this means a pointer has been
-          // thrown. When a pointer is thrown, actually what's thrown
-          // is a pointer to the pointer. We'll dereference it.
-          if (throwntype != 0 && !___cxa_is_number_type(throwntype)) {
-            var throwntypeInfoAddr= HEAP32[((throwntype)>>2)] - 8;
-            var throwntypeInfo= HEAP32[((throwntypeInfoAddr)>>2)];
-            if (throwntypeInfo == 0)
-              thrown = HEAP32[((thrown)>>2)];
-          }
-          // The different catch blocks are denoted by different types.
-          // Due to inheritance, those types may not precisely match the
-          // type of the thrown object. Find one which matches, and
-          // return the type of the catch block which should be called.
-          for (var i = 0; i < typeArray.length; i++) {
-            if (___cxa_does_inherit(typeArray[i], throwntype, thrown))
-              return ((asm["setTempRet0"](typeArray[i]),thrown)|0);
-          }
-          // Shouldn't happen unless we have bogus data in typeArray
-          // or encounter a type for which emscripten doesn't have suitable
-          // typeinfo defined. Best-efforts match just in case.
-          return ((asm["setTempRet0"](throwntype),thrown)|0);
-        }function ___gxx_personality_v0() {
-        }
-    
-      function ___assert_fail(condition, filename, line, func) {
-          ABORT = true;
-          throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace();
-        }
-    
-      
-      
-      function _emscripten_memcpy_big(dest, src, num) {
-          HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
-          return dest;
-        } 
-      Module["_memcpy"] = _memcpy;var _llvm_memcpy_p0i8_p0i8_i32=_memcpy;
-    
-      function ___cxa_allocate_exception(size) {
-          var ptr = _malloc(size + ___cxa_exception_header_size);
-          return ptr + ___cxa_exception_header_size;
-        }
-    
-      function ___cxa_free_exception(ptr) {
-          try {
-            return _free(ptr - ___cxa_exception_header_size);
-          } catch(e) { // XXX FIXME
-          }
-        }
-    
-      function ___cxa_throw(ptr, type, destructor) {
-          if (!___cxa_throw.initialized) {
-            try {
-              HEAP32[((__ZTVN10__cxxabiv119__pointer_type_infoE)>>2)]=0; // Workaround for libcxxabi integration bug
-            } catch(e){}
-            try {
-              HEAP32[((__ZTVN10__cxxabiv117__class_type_infoE)>>2)]=1; // Workaround for libcxxabi integration bug
-            } catch(e){}
-            try {
-              HEAP32[((__ZTVN10__cxxabiv120__si_class_type_infoE)>>2)]=2; // Workaround for libcxxabi integration bug
-            } catch(e){}
-            ___cxa_throw.initialized = true;
-          }
-          var header = ptr - ___cxa_exception_header_size;
-          HEAP32[((header)>>2)]=type;
-          HEAP32[(((header)+(4))>>2)]=destructor;
-          ___cxa_last_thrown_exception = ptr;
-          if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
-            __ZSt18uncaught_exceptionv.uncaught_exception = 1;
-          } else {
-            __ZSt18uncaught_exceptionv.uncaught_exception++;
-          }
-          throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
-        }
-    
-      
-      
-      var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};
-      
-      var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
-      
-      
-      var ___errno_state=0;function ___setErrNo(value) {
-          // For convenient setting and returning of errno.
-          HEAP32[((___errno_state)>>2)]=value;
-          return value;
-        }
-      
-      var PATH={splitPath:function (filename) {
-            var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
-            return splitPathRe.exec(filename).slice(1);
-          },normalizeArray:function (parts, allowAboveRoot) {
-            // if the path tries to go above the root, `up` ends up > 0
-            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 the path is allowed to go above the root, restore leading ..s
-            if (allowAboveRoot) {
-              for (; up--; up) {
-                parts.unshift('..');
-              }
-            }
-            return parts;
-          },normalize:function (path) {
-            var isAbsolute = path.charAt(0) === '/',
-                trailingSlash = path.substr(-1) === '/';
-            // Normalize the path
-            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) {
-              // No dirname whatsoever
-              return '.';
-            }
-            if (dir) {
-              // It has a dirname, strip trailing slash
-              dir = dir.substr(0, dir.length - 1);
-            }
-            return root + dir;
-          },basename:function (path) {
-            // EMSCRIPTEN return '/'' for '/', not an empty string
-            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);
-          },resolve:function () {
-            var resolvedPath = '',
-              resolvedAbsolute = false;
-            for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
-              var path = (i >= 0) ? arguments[i] : FS.cwd();
-              // Skip empty and invalid entries
-              if (typeof path !== 'string') {
-                throw new TypeError('Arguments to path.resolve must be strings');
-              } else if (!path) {
-                continue;
-              }
-              resolvedPath = path + '/' + resolvedPath;
-              resolvedAbsolute = path.charAt(0) === '/';
-            }
-            // At this point the path should be resolved to a full absolute path, but
-            // handle relative paths to be safe (might happen when process.cwd() fails)
-            resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
-              return !!p;
-            }), !resolvedAbsolute).join('/');
-            return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
-          },relative:function (from, to) {
-            from = PATH.resolve(from).substr(1);
-            to = PATH.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 () {
-            // https://github.com/kripken/emscripten/pull/1555
-            // if (ENVIRONMENT_IS_NODE) {
-            //   // currently, FS.init does not distinguish if process.stdin is a file or TTY
-            //   // device, it always assumes it's a TTY device. because of this, we're forcing
-            //   // process.stdin to UTF8 encoding to at least make stdin reading compatible
-            //   // with text files until FS.init can be refactored.
-            //   process['stdin']['setEncoding']('utf8');
-            // }
-          },shutdown:function () {
-            // https://github.com/kripken/emscripten/pull/1555
-            // if (ENVIRONMENT_IS_NODE) {
-            //   // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
-            //   // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
-            //   // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
-            //   // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
-            //   // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
-            //   process['stdin']['pause']();
-            // }
-          },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(ERRNO_CODES.ENODEV);
-              }
-              stream.tty = tty;
-              stream.seekable = false;
-            },close:function (stream) {
-              // flush any pending line data
-              if (stream.tty.output.length) {
-                stream.tty.ops.put_char(stream.tty, 10);
-              }
-            },read:function (stream, buffer, offset, length, pos /* ignored */) {
-              if (!stream.tty || !stream.tty.ops.get_char) {
-                throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
-              }
-              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(ERRNO_CODES.EIO);
-                }
-                if (result === undefined && bytesRead === 0) {
-                  throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
-                }
-                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(ERRNO_CODES.ENXIO);
-              }
-              for (var i = 0; i < length; i++) {
-                try {
-                  stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
-                } catch (e) {
-                  throw new FS.ErrnoError(ERRNO_CODES.EIO);
-                }
-              }
-              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) {
-                  result = process['stdin']['read']();
-                  if (!result) {
-                    if (process['stdin']['_readableState'] && process['stdin']['_readableState']['ended']) {
-                      return null;  // EOF
-                    }
-                    return undefined;  // no data available
-                  }
-                } else if (typeof window != 'undefined' &&
-                  typeof window.prompt == 'function') {
-                  // Browser.
-                  result = window.prompt('Input: ');  // returns null on cancel
-                  if (result !== null) {
-                    result += '\n';
-                  }
-                } else if (typeof readline == 'function') {
-                  // Command line.
-                  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) {
-                Module['print'](tty.output.join(''));
-                tty.output = [];
-              } else {
-                tty.output.push(TTY.utf8.processCChar(val));
-              }
-            }},default_tty1_ops:{put_char:function (tty, val) {
-              if (val === null || val === 10) {
-                Module['printErr'](tty.output.join(''));
-                tty.output = [];
-              } else {
-                tty.output.push(TTY.utf8.processCChar(val));
-              }
-            }}};
-      
-      var MEMFS={ops_table:null,CONTENT_OWNING:1,CONTENT_FLEXIBLE:2,CONTENT_FIXED:3,mount:function (mount) {
-            return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
-          },createNode:function (parent, name, mode, dev) {
-            if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
-              // no supported
-              throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-            }
-            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
-                  }
-                },
-                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.contents = [];
-              node.contentMode = MEMFS.CONTENT_FLEXIBLE;
-            } 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();
-            // add the new node to the parent
-            if (parent) {
-              parent.contents[name] = node;
-            }
-            return node;
-          },ensureFlexible:function (node) {
-            if (node.contentMode !== MEMFS.CONTENT_FLEXIBLE) {
-              var contents = node.contents;
-              node.contents = Array.prototype.slice.call(contents);
-              node.contentMode = MEMFS.CONTENT_FLEXIBLE;
-            }
-          },node_ops:{getattr:function (node) {
-              var attr = {};
-              // device numbers reuse inode numbers.
-              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.contents.length;
-              } 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);
-              // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
-              //       but this is not required by the standard.
-              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.ensureFlexible(node);
-                var contents = node.contents;
-                if (attr.size < contents.length) contents.length = attr.size;
-                else while (attr.size > contents.length) contents.push(0);
-              }
-            },lookup:function (parent, name) {
-              throw FS.genericErrors[ERRNO_CODES.ENOENT];
-            },mknod:function (parent, name, mode, dev) {
-              return MEMFS.createNode(parent, name, mode, dev);
-            },rename:function (old_node, new_dir, new_name) {
-              // if we're overwriting a directory at new_name, make sure it's empty.
-              if (FS.isDir(old_node.mode)) {
-                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(ERRNO_CODES.ENOTEMPTY);
-                  }
-                }
-              }
-              // do the internal rewiring
-              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(ERRNO_CODES.ENOTEMPTY);
-              }
-              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 /* 0777 */ | 40960, 0);
-              node.link = oldpath;
-              return node;
-            },readlink:function (node) {
-              if (!FS.isLink(node.mode)) {
-                throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-              }
-              return node.link;
-            }},stream_ops:{read:function (stream, buffer, offset, length, position) {
-              var contents = stream.node.contents;
-              if (position >= contents.length)
-                return 0;
-              var size = Math.min(contents.length - position, length);
-              assert(size >= 0);
-              if (size > 8 && contents.subarray) { // non-trivial, and typed array
-                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) {
-              var node = stream.node;
-              node.timestamp = Date.now();
-              var contents = node.contents;
-              if (length && contents.length === 0 && position === 0 && buffer.subarray) {
-                // just replace it with the new data
-                if (canOwn && offset === 0) {
-                  node.contents = buffer; // this could be a subarray of Emscripten HEAP, or allocated from some other source.
-                  node.contentMode = (buffer.buffer === HEAP8.buffer) ? MEMFS.CONTENT_OWNING : MEMFS.CONTENT_FIXED;
-                } else {
-                  node.contents = new Uint8Array(buffer.subarray(offset, offset+length));
-                  node.contentMode = MEMFS.CONTENT_FIXED;
-                }
-                return length;
-              }
-              MEMFS.ensureFlexible(node);
-              var contents = node.contents;
-              while (contents.length < position) contents.push(0);
-              for (var i = 0; i < length; i++) {
-                contents[position + i] = buffer[offset + i];
-              }
-              return length;
-            },llseek:function (stream, offset, whence) {
-              var position = offset;
-              if (whence === 1) {  // SEEK_CUR.
-                position += stream.position;
-              } else if (whence === 2) {  // SEEK_END.
-                if (FS.isFile(stream.node.mode)) {
-                  position += stream.node.contents.length;
-                }
-              }
-              if (position < 0) {
-                throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-              }
-              stream.ungotten = [];
-              stream.position = position;
-              return position;
-            },allocate:function (stream, offset, length) {
-              MEMFS.ensureFlexible(stream.node);
-              var contents = stream.node.contents;
-              var limit = offset + length;
-              while (limit > contents.length) contents.push(0);
-            },mmap:function (stream, buffer, offset, length, position, prot, flags) {
-              if (!FS.isFile(stream.node.mode)) {
-                throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
-              }
-              var ptr;
-              var allocated;
-              var contents = stream.node.contents;
-              // Only make a new copy when MAP_PRIVATE is specified.
-              if ( !(flags & 2) &&
-                    (contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
-                // We can't emulate MAP_SHARED when the file is not backed by the buffer
-                // we're mapping to (e.g. the HEAP buffer).
-                allocated = false;
-                ptr = contents.byteOffset;
-              } else {
-                // Try to avoid unnecessary slices.
-                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;
-                ptr = _malloc(length);
-                if (!ptr) {
-                  throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
-                }
-                buffer.set(contents, ptr);
-              }
-              return { ptr: ptr, allocated: allocated };
-            }}};
-      
-      var IDBFS={dbs:{},indexedDB:function () {
-            return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
-          },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {
-            // reuse all of the core MEMFS functionality
-            return MEMFS.mount.apply(null, arguments);
-          },syncfs:function (mount, populate, callback) {
-            IDBFS.getLocalSet(mount, function(err, local) {
-              if (err) return callback(err);
-      
-              IDBFS.getRemoteSet(mount, function(err, remote) {
-                if (err) return callback(err);
-      
-                var src = populate ? remote : local;
-                var dst = populate ? local : remote;
-      
-                IDBFS.reconcile(src, dst, callback);
-              });
-            });
-          },getDB:function (name, callback) {
-            // check the cache first
-            var db = IDBFS.dbs[name];
-            if (db) {
-              return callback(null, db);
-            }
-      
-            var req;
-            try {
-              req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
-            } catch (e) {
-              return callback(e);
-            }
-            req.onupgradeneeded = function(e) {
-              var db = e.target.result;
-              var transaction = e.target.transaction;
-      
-              var fileStore;
-      
-              if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
-                fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
-              } else {
-                fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
-              }
-      
-              fileStore.createIndex('timestamp', 'timestamp', { unique: false });
-            };
-            req.onsuccess = function() {
-              db = req.result;
-      
-              // add to the cache
-              IDBFS.dbs[name] = db;
-              callback(null, db);
-            };
-            req.onerror = function() {
-              callback(this.error);
-            };
-          },getLocalSet:function (mount, callback) {
-            var entries = {};
-      
-            function isRealDir(p) {
-              return p !== '.' && p !== '..';
-            };
-            function toAbsolute(root) {
-              return function(p) {
-                return PATH.join2(root, p);
-              }
-            };
-      
-            var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
-      
-            while (check.length) {
-              var path = check.pop();
-              var stat;
-      
-              try {
-                stat = FS.stat(path);
-              } catch (e) {
-                return callback(e);
-              }
-      
-              if (FS.isDir(stat.mode)) {
-                check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
-              }
-      
-              entries[path] = { timestamp: stat.mtime };
-            }
-      
-            return callback(null, { type: 'local', entries: entries });
-          },getRemoteSet:function (mount, callback) {
-            var entries = {};
-      
-            IDBFS.getDB(mount.mountpoint, function(err, db) {
-              if (err) return callback(err);
-      
-              var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
-              transaction.onerror = function() { callback(this.error); };
-      
-              var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
-              var index = store.index('timestamp');
-      
-              index.openKeyCursor().onsuccess = function(event) {
-                var cursor = event.target.result;
-      
-                if (!cursor) {
-                  return callback(null, { type: 'remote', db: db, entries: entries });
-                }
-      
-                entries[cursor.primaryKey] = { timestamp: cursor.key };
-      
-                cursor.continue();
-              };
-            });
-          },loadLocalEntry:function (path, callback) {
-            var stat, node;
-      
-            try {
-              var lookup = FS.lookupPath(path);
-              node = lookup.node;
-              stat = FS.stat(path);
-            } catch (e) {
-              return callback(e);
-            }
-      
-            if (FS.isDir(stat.mode)) {
-              return callback(null, { timestamp: stat.mtime, mode: stat.mode });
-            } else if (FS.isFile(stat.mode)) {
-              return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });
-            } else {
-              return callback(new Error('node type not supported'));
-            }
-          },storeLocalEntry:function (path, entry, callback) {
-            try {
-              if (FS.isDir(entry.mode)) {
-                FS.mkdir(path, entry.mode);
-              } else if (FS.isFile(entry.mode)) {
-                FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true });
-              } else {
-                return callback(new Error('node type not supported'));
-              }
-      
-              FS.utime(path, entry.timestamp, entry.timestamp);
-            } catch (e) {
-              return callback(e);
-            }
-      
-            callback(null);
-          },removeLocalEntry:function (path, callback) {
-            try {
-              var lookup = FS.lookupPath(path);
-              var stat = FS.stat(path);
-      
-              if (FS.isDir(stat.mode)) {
-                FS.rmdir(path);
-              } else if (FS.isFile(stat.mode)) {
-                FS.unlink(path);
-              }
-            } catch (e) {
-              return callback(e);
-            }
-      
-            callback(null);
-          },loadRemoteEntry:function (store, path, callback) {
-            var req = store.get(path);
-            req.onsuccess = function(event) { callback(null, event.target.result); };
-            req.onerror = function() { callback(this.error); };
-          },storeRemoteEntry:function (store, path, entry, callback) {
-            var req = store.put(entry, path);
-            req.onsuccess = function() { callback(null); };
-            req.onerror = function() { callback(this.error); };
-          },removeRemoteEntry:function (store, path, callback) {
-            var req = store.delete(path);
-            req.onsuccess = function() { callback(null); };
-            req.onerror = function() { callback(this.error); };
-          },reconcile:function (src, dst, callback) {
-            var total = 0;
-      
-            var create = [];
-            Object.keys(src.entries).forEach(function (key) {
-              var e = src.entries[key];
-              var e2 = dst.entries[key];
-              if (!e2 || e.timestamp > e2.timestamp) {
-                create.push(key);
-                total++;
-              }
-            });
-      
-            var remove = [];
-            Object.keys(dst.entries).forEach(function (key) {
-              var e = dst.entries[key];
-              var e2 = src.entries[key];
-              if (!e2) {
-                remove.push(key);
-                total++;
-              }
-            });
-      
-            if (!total) {
-              return callback(null);
-            }
-      
-            var errored = false;
-            var completed = 0;
-            var db = src.type === 'remote' ? src.db : dst.db;
-            var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
-            var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
-      
-            function done(err) {
-              if (err) {
-                if (!done.errored) {
-                  done.errored = true;
-                  return callback(err);
-                }
-                return;
-              }
-              if (++completed >= total) {
-                return callback(null);
-              }
-            };
-      
-            transaction.onerror = function() { done(this.error); };
-      
-            // sort paths in ascending order so directory entries are created
-            // before the files inside them
-            create.sort().forEach(function (path) {
-              if (dst.type === 'local') {
-                IDBFS.loadRemoteEntry(store, path, function (err, entry) {
-                  if (err) return done(err);
-                  IDBFS.storeLocalEntry(path, entry, done);
-                });
-              } else {
-                IDBFS.loadLocalEntry(path, function (err, entry) {
-                  if (err) return done(err);
-                  IDBFS.storeRemoteEntry(store, path, entry, done);
-                });
-              }
-            });
-      
-            // sort paths in descending order so files are deleted before their
-            // parent directories
-            remove.sort().reverse().forEach(function(path) {
-              if (dst.type === 'local') {
-                IDBFS.removeLocalEntry(path, done);
-              } else {
-                IDBFS.removeRemoteEntry(store, path, done);
-              }
-            });
-          }};
-      
-      var NODEFS={isWindows:false,staticInit:function () {
-            NODEFS.isWindows = !!process.platform.match(/^win/);
-          },mount:function (mount) {
-            assert(ENVIRONMENT_IS_NODE);
-            return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
-          },createNode:function (parent, name, mode, dev) {
-            if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            var node = FS.createNode(parent, name, mode);
-            node.node_ops = NODEFS.node_ops;
-            node.stream_ops = NODEFS.stream_ops;
-            return node;
-          },getMode:function (path) {
-            var stat;
-            try {
-              stat = fs.lstatSync(path);
-              if (NODEFS.isWindows) {
-                // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so 
-                // propagate write bits to execute bits.
-                stat.mode = stat.mode | ((stat.mode & 146) >> 1);
-              }
-            } catch (e) {
-              if (!e.code) throw e;
-              throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-            }
-            return stat.mode;
-          },realPath:function (node) {
-            var parts = [];
-            while (node.parent !== node) {
-              parts.push(node.name);
-              node = node.parent;
-            }
-            parts.push(node.mount.opts.root);
-            parts.reverse();
-            return PATH.join.apply(null, parts);
-          },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) {
-            if (flags in NODEFS.flagsToPermissionStringMap) {
-              return NODEFS.flagsToPermissionStringMap[flags];
-            } else {
-              return flags;
-            }
-          },node_ops:{getattr:function (node) {
-              var path = NODEFS.realPath(node);
-              var stat;
-              try {
-                stat = fs.lstatSync(path);
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-              // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
-              // See http://support.microsoft.com/kb/140365
-              if (NODEFS.isWindows && !stat.blksize) {
-                stat.blksize = 4096;
-              }
-              if (NODEFS.isWindows && !stat.blocks) {
-                stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
-              }
-              return {
-                dev: stat.dev,
-                ino: stat.ino,
-                mode: stat.mode,
-                nlink: stat.nlink,
-                uid: stat.uid,
-                gid: stat.gid,
-                rdev: stat.rdev,
-                size: stat.size,
-                atime: stat.atime,
-                mtime: stat.mtime,
-                ctime: stat.ctime,
-                blksize: stat.blksize,
-                blocks: stat.blocks
-              };
-            },setattr:function (node, attr) {
-              var path = NODEFS.realPath(node);
-              try {
-                if (attr.mode !== undefined) {
-                  fs.chmodSync(path, attr.mode);
-                  // update the common node structure mode as well
-                  node.mode = attr.mode;
-                }
-                if (attr.timestamp !== undefined) {
-                  var date = new Date(attr.timestamp);
-                  fs.utimesSync(path, date, date);
-                }
-                if (attr.size !== undefined) {
-                  fs.truncateSync(path, attr.size);
-                }
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },lookup:function (parent, name) {
-              var path = PATH.join2(NODEFS.realPath(parent), name);
-              var mode = NODEFS.getMode(path);
-              return NODEFS.createNode(parent, name, mode);
-            },mknod:function (parent, name, mode, dev) {
-              var node = NODEFS.createNode(parent, name, mode, dev);
-              // create the backing node for this in the fs root as well
-              var path = NODEFS.realPath(node);
-              try {
-                if (FS.isDir(node.mode)) {
-                  fs.mkdirSync(path, node.mode);
-                } else {
-                  fs.writeFileSync(path, '', { mode: node.mode });
-                }
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-              return node;
-            },rename:function (oldNode, newDir, newName) {
-              var oldPath = NODEFS.realPath(oldNode);
-              var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
-              try {
-                fs.renameSync(oldPath, newPath);
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },unlink:function (parent, name) {
-              var path = PATH.join2(NODEFS.realPath(parent), name);
-              try {
-                fs.unlinkSync(path);
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },rmdir:function (parent, name) {
-              var path = PATH.join2(NODEFS.realPath(parent), name);
-              try {
-                fs.rmdirSync(path);
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },readdir:function (node) {
-              var path = NODEFS.realPath(node);
-              try {
-                return fs.readdirSync(path);
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },symlink:function (parent, newName, oldPath) {
-              var newPath = PATH.join2(NODEFS.realPath(parent), newName);
-              try {
-                fs.symlinkSync(oldPath, newPath);
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },readlink:function (node) {
-              var path = NODEFS.realPath(node);
-              try {
-                return fs.readlinkSync(path);
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            }},stream_ops:{open:function (stream) {
-              var path = NODEFS.realPath(stream.node);
-              try {
-                if (FS.isFile(stream.node.mode)) {
-                  stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags));
-                }
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },close:function (stream) {
-              try {
-                if (FS.isFile(stream.node.mode) && stream.nfd) {
-                  fs.closeSync(stream.nfd);
-                }
-              } catch (e) {
-                if (!e.code) throw e;
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            },read:function (stream, buffer, offset, length, position) {
-              // FIXME this is terrible.
-              var nbuffer = new Buffer(length);
-              var res;
-              try {
-                res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
-              } catch (e) {
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-              if (res > 0) {
-                for (var i = 0; i < res; i++) {
-                  buffer[offset + i] = nbuffer[i];
-                }
-              }
-              return res;
-            },write:function (stream, buffer, offset, length, position) {
-              // FIXME this is terrible.
-              var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
-              var res;
-              try {
-                res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
-              } catch (e) {
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-              return res;
-            },llseek:function (stream, offset, whence) {
-              var position = offset;
-              if (whence === 1) {  // SEEK_CUR.
-                position += stream.position;
-              } else if (whence === 2) {  // SEEK_END.
-                if (FS.isFile(stream.node.mode)) {
-                  try {
-                    var stat = fs.fstatSync(stream.nfd);
-                    position += stat.size;
-                  } catch (e) {
-                    throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-                  }
-                }
-              }
-      
-              if (position < 0) {
-                throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-              }
-      
-              stream.position = position;
-              return position;
-            }}};
-      
-      var _stdin=allocate(1, "i32*", ALLOC_STATIC);
-      
-      var _stdout=allocate(1, "i32*", ALLOC_STATIC);
-      
-      var _stderr=allocate(1, "i32*", ALLOC_STATIC);
-      
-      function _fflush(stream) {
-          // int fflush(FILE *stream);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html
-          // we don't currently perform any user-space buffering of data
-        }var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},handleFSError:function (e) {
-            if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
-            return ___setErrNo(e.errno);
-          },lookupPath:function (path, opts) {
-            path = PATH.resolve(FS.cwd(), path);
-            opts = opts || {};
-      
-            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) {  // max recursive lookup of 8
-              throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
-            }
-      
-            // split the path
-            var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
-              return !!p;
-            }), false);
-      
-            // start at the root
-            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) {
-                // stop resolving
-                break;
-              }
-      
-              current = FS.lookupNode(current, parts[i]);
-              current_path = PATH.join2(current_path, parts[i]);
-      
-              // jump to the mount's root node if this is a mountpoint
-              if (FS.isMountpoint(current)) {
-                if (!islast || (islast && opts.follow_mount)) {
-                  current = current.mounted.root;
-                }
-              }
-      
-              // by default, lookupPath will not follow a symlink if it is the final path component.
-              // setting opts.follow = true will override this behavior.
-              if (!islast || opts.follow) {
-                var count = 0;
-                while (FS.isLink(current.mode)) {
-                  var link = FS.readlink(current_path);
-                  current_path = PATH.resolve(PATH.dirname(current_path), link);
-                  
-                  var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
-                  current = lookup.node;
-      
-                  if (count++ > 40) {  // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
-                    throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
-                  }
-                }
-              }
-            }
-      
-            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 err = FS.mayLookup(parent);
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            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;
-              }
-            }
-            // if we failed to find it in the cache, call into the VFS
-            return FS.lookup(parent, name);
-          },createNode:function (parent, name, mode, rdev) {
-            if (!FS.FSNode) {
-              FS.FSNode = function(parent, name, mode, rdev) {
-                if (!parent) {
-                  parent = this;  // root node sets parent to itself
-                }
-                this.parent = parent;
-                this.mount = parent.mount;
-                this.mounted = null;
-                this.id = FS.nextInode++;
-                this.name = name;
-                this.mode = mode;
-                this.node_ops = {};
-                this.stream_ops = {};
-                this.rdev = rdev;
-              };
-      
-              FS.FSNode.prototype = {};
-      
-              // compatibility
-              var readMode = 292 | 73;
-              var writeMode = 146;
-      
-              // NOTE we must use Object.defineProperties instead of individual calls to
-              // Object.defineProperty in order to make closure compiler happy
-              Object.defineProperties(FS.FSNode.prototype, {
-                read: {
-                  get: function() { return (this.mode & readMode) === readMode; },
-                  set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
-                },
-                write: {
-                  get: function() { return (this.mode & writeMode) === writeMode; },
-                  set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
-                },
-                isFolder: {
-                  get: function() { return FS.isDir(this.mode); },
-                },
-                isDevice: {
-                  get: function() { return FS.isChrdev(this.mode); },
-                },
-              });
-            }
-      
-            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 accmode = flag & 2097155;
-            var perms = ['r', 'w', 'rw'][accmode];
-            if ((flag & 512)) {
-              perms += 'w';
-            }
-            return perms;
-          },nodePermissions:function (node, perms) {
-            if (FS.ignorePermissions) {
-              return 0;
-            }
-            // return 0 if any user, group or owner bits are set.
-            if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
-              return ERRNO_CODES.EACCES;
-            } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
-              return ERRNO_CODES.EACCES;
-            } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
-              return ERRNO_CODES.EACCES;
-            }
-            return 0;
-          },mayLookup:function (dir) {
-            return FS.nodePermissions(dir, 'x');
-          },mayCreate:function (dir, name) {
-            try {
-              var node = FS.lookupNode(dir, name);
-              return ERRNO_CODES.EEXIST;
-            } 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 err = FS.nodePermissions(dir, 'wx');
-            if (err) {
-              return err;
-            }
-            if (isdir) {
-              if (!FS.isDir(node.mode)) {
-                return ERRNO_CODES.ENOTDIR;
-              }
-              if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
-                return ERRNO_CODES.EBUSY;
-              }
-            } else {
-              if (FS.isDir(node.mode)) {
-                return ERRNO_CODES.EISDIR;
-              }
-            }
-            return 0;
-          },mayOpen:function (node, flags) {
-            if (!node) {
-              return ERRNO_CODES.ENOENT;
-            }
-            if (FS.isLink(node.mode)) {
-              return ERRNO_CODES.ELOOP;
-            } else if (FS.isDir(node.mode)) {
-              if ((flags & 2097155) !== 0 ||  // opening for write
-                  (flags & 512)) {
-                return ERRNO_CODES.EISDIR;
-              }
-            }
-            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(ERRNO_CODES.EMFILE);
-          },getStream:function (fd) {
-            return FS.streams[fd];
-          },createStream:function (stream, fd_start, fd_end) {
-            if (!FS.FSStream) {
-              FS.FSStream = function(){};
-              FS.FSStream.prototype = {};
-              // compatibility
-              Object.defineProperties(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); }
-                }
-              });
-            }
-            if (stream.__proto__) {
-              // reuse the object
-              stream.__proto__ = FS.FSStream.prototype;
-            } else {
-              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;
-          },getStreamFromPtr:function (ptr) {
-            return FS.streams[ptr - 1];
-          },getPtrForStream:function (stream) {
-            return stream ? stream.fd + 1 : 0;
-          },chrdev_stream_ops:{open:function (stream) {
-              var device = FS.getDevice(stream.node.rdev);
-              // override node's stream ops with the device's
-              stream.stream_ops = device.stream_ops;
-              // forward the open call
-              if (stream.stream_ops.open) {
-                stream.stream_ops.open(stream);
-              }
-            },llseek:function () {
-              throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
-            }},major:function (dev) {
-            return ((dev) >> 8);
-          },minor:function (dev) {
-            return ((dev) & 0xff);
-          },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;
-            }
-      
-            var mounts = FS.getMounts(FS.root.mount);
-            var completed = 0;
-      
-            function done(err) {
-              if (err) {
-                if (!done.errored) {
-                  done.errored = true;
-                  return callback(err);
-                }
-                return;
-              }
-              if (++completed >= mounts.length) {
-                callback(null);
-              }
-            };
-      
-            // sync all mounts
-            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(ERRNO_CODES.EBUSY);
-            } else if (!root && !pseudo) {
-              var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
-      
-              mountpoint = lookup.path;  // use the absolute path
-              node = lookup.node;
-      
-              if (FS.isMountpoint(node)) {
-                throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
-              }
-      
-              if (!FS.isDir(node.mode)) {
-                throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
-              }
-            }
-      
-            var mount = {
-              type: type,
-              opts: opts,
-              mountpoint: mountpoint,
-              mounts: []
-            };
-      
-            // create a root node for the fs
-            var mountRoot = type.mount(mount);
-            mountRoot.mount = mount;
-            mount.root = mountRoot;
-      
-            if (root) {
-              FS.root = mountRoot;
-            } else if (node) {
-              // set as a mountpoint
-              node.mounted = mount;
-      
-              // add the new mount to the current mount's children
-              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(ERRNO_CODES.EINVAL);
-            }
-      
-            // destroy the nodes for this mount, and all its child mounts
-            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;
-              }
-            });
-      
-            // no longer a mountpoint
-            node.mounted = null;
-      
-            // remove this mount from the child mounts
-            var idx = node.mount.mounts.indexOf(mount);
-            assert(idx !== -1);
-            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);
-            var err = FS.mayCreate(parent, name);
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            if (!parent.node_ops.mknod) {
-              throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-            }
-            return parent.node_ops.mknod(parent, name, mode, dev);
-          },create:function (path, mode) {
-            mode = mode !== undefined ? mode : 438 /* 0666 */;
-            mode &= 4095;
-            mode |= 32768;
-            return FS.mknod(path, mode, 0);
-          },mkdir:function (path, mode) {
-            mode = mode !== undefined ? mode : 511 /* 0777 */;
-            mode &= 511 | 512;
-            mode |= 16384;
-            return FS.mknod(path, mode, 0);
-          },mkdev:function (path, mode, dev) {
-            if (typeof(dev) === 'undefined') {
-              dev = mode;
-              mode = 438 /* 0666 */;
-            }
-            mode |= 8192;
-            return FS.mknod(path, mode, dev);
-          },symlink:function (oldpath, newpath) {
-            var lookup = FS.lookupPath(newpath, { parent: true });
-            var parent = lookup.node;
-            var newname = PATH.basename(newpath);
-            var err = FS.mayCreate(parent, newname);
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            if (!parent.node_ops.symlink) {
-              throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-            }
-            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);
-            // parents must exist
-            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(ERRNO_CODES.EBUSY);
-            }
-            // need to be part of the same mount
-            if (old_dir.mount !== new_dir.mount) {
-              throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
-            }
-            // source must exist
-            var old_node = FS.lookupNode(old_dir, old_name);
-            // old path should not be an ancestor of the new path
-            var relative = PATH.relative(old_path, new_dirname);
-            if (relative.charAt(0) !== '.') {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            // new path should not be an ancestor of the old path
-            relative = PATH.relative(new_path, old_dirname);
-            if (relative.charAt(0) !== '.') {
-              throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
-            }
-            // see if the new path already exists
-            var new_node;
-            try {
-              new_node = FS.lookupNode(new_dir, new_name);
-            } catch (e) {
-              // not fatal
-            }
-            // early out if nothing needs to change
-            if (old_node === new_node) {
-              return;
-            }
-            // we'll need to delete the old entry
-            var isdir = FS.isDir(old_node.mode);
-            var err = FS.mayDelete(old_dir, old_name, isdir);
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            // need delete permissions if we'll be overwriting.
-            // need create permissions if new doesn't already exist.
-            err = new_node ?
-              FS.mayDelete(new_dir, new_name, isdir) :
-              FS.mayCreate(new_dir, new_name);
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            if (!old_dir.node_ops.rename) {
-              throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-            }
-            if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
-              throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
-            }
-            // if we are going to change the parent, check write permissions
-            if (new_dir !== old_dir) {
-              err = FS.nodePermissions(old_dir, 'w');
-              if (err) {
-                throw new FS.ErrnoError(err);
-              }
-            }
-            // remove the node from the lookup hash
-            FS.hashRemoveNode(old_node);
-            // do the underlying fs rename
-            try {
-              old_dir.node_ops.rename(old_node, new_dir, new_name);
-            } catch (e) {
-              throw e;
-            } finally {
-              // add the node back to the hash (in case node_ops.rename
-              // changed its name)
-              FS.hashAddNode(old_node);
-            }
-          },rmdir:function (path) {
-            var lookup = FS.lookupPath(path, { parent: true });
-            var parent = lookup.node;
-            var name = PATH.basename(path);
-            var node = FS.lookupNode(parent, name);
-            var err = FS.mayDelete(parent, name, true);
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            if (!parent.node_ops.rmdir) {
-              throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-            }
-            if (FS.isMountpoint(node)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
-            }
-            parent.node_ops.rmdir(parent, name);
-            FS.destroyNode(node);
-          },readdir:function (path) {
-            var lookup = FS.lookupPath(path, { follow: true });
-            var node = lookup.node;
-            if (!node.node_ops.readdir) {
-              throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
-            }
-            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 err = FS.mayDelete(parent, name, false);
-            if (err) {
-              // POSIX says unlink should set EPERM, not EISDIR
-              if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM;
-              throw new FS.ErrnoError(err);
-            }
-            if (!parent.node_ops.unlink) {
-              throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-            }
-            if (FS.isMountpoint(node)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
-            }
-            parent.node_ops.unlink(parent, name);
-            FS.destroyNode(node);
-          },readlink:function (path) {
-            var lookup = FS.lookupPath(path);
-            var link = lookup.node;
-            if (!link.node_ops.readlink) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            return link.node_ops.readlink(link);
-          },stat:function (path, dontFollow) {
-            var lookup = FS.lookupPath(path, { follow: !dontFollow });
-            var node = lookup.node;
-            if (!node.node_ops.getattr) {
-              throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-            }
-            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(ERRNO_CODES.EPERM);
-            }
-            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(ERRNO_CODES.EBADF);
-            }
-            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(ERRNO_CODES.EPERM);
-            }
-            node.node_ops.setattr(node, {
-              timestamp: Date.now()
-              // we ignore the uid / gid for 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(ERRNO_CODES.EBADF);
-            }
-            FS.chown(stream.node, uid, gid);
-          },truncate:function (path, len) {
-            if (len < 0) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            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(ERRNO_CODES.EPERM);
-            }
-            if (FS.isDir(node.mode)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
-            }
-            if (!FS.isFile(node.mode)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            var err = FS.nodePermissions(node, 'w');
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            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(ERRNO_CODES.EBADF);
-            }
-            if ((stream.flags & 2097155) === 0) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            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) {
-            flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
-            mode = typeof mode === 'undefined' ? 438 /* 0666 */ : 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) {
-                // ignore
-              }
-            }
-            // perhaps we need to create the node
-            if ((flags & 64)) {
-              if (node) {
-                // if O_CREAT and O_EXCL are set, error out if the node already exists
-                if ((flags & 128)) {
-                  throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
-                }
-              } else {
-                // node doesn't exist, try to create it
-                node = FS.mknod(path, mode, 0);
-              }
-            }
-            if (!node) {
-              throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
-            }
-            // can't truncate a device
-            if (FS.isChrdev(node.mode)) {
-              flags &= ~512;
-            }
-            // check permissions
-            var err = FS.mayOpen(node, flags);
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            // do truncation if necessary
-            if ((flags & 512)) {
-              FS.truncate(node, 0);
-            }
-            // we've already handled these, don't pass down to the underlying vfs
-            flags &= ~(128 | 512);
-      
-            // register the stream with the filesystem
-            var stream = FS.createStream({
-              node: node,
-              path: FS.getPath(node),  // we want the absolute path to the node
-              flags: flags,
-              seekable: true,
-              position: 0,
-              stream_ops: node.stream_ops,
-              // used by the file family libc calls (fopen, fwrite, ferror, etc.)
-              ungotten: [],
-              error: false
-            }, fd_start, fd_end);
-            // call the new stream's open function
-            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;
-                Module['printErr']('read file: ' + path);
-              }
-            }
-            return stream;
-          },close:function (stream) {
-            try {
-              if (stream.stream_ops.close) {
-                stream.stream_ops.close(stream);
-              }
-            } catch (e) {
-              throw e;
-            } finally {
-              FS.closeStream(stream.fd);
-            }
-          },llseek:function (stream, offset, whence) {
-            if (!stream.seekable || !stream.stream_ops.llseek) {
-              throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
-            }
-            return stream.stream_ops.llseek(stream, offset, whence);
-          },read:function (stream, buffer, offset, length, position) {
-            if (length < 0 || position < 0) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            if ((stream.flags & 2097155) === 1) {
-              throw new FS.ErrnoError(ERRNO_CODES.EBADF);
-            }
-            if (FS.isDir(stream.node.mode)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
-            }
-            if (!stream.stream_ops.read) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            var seeking = true;
-            if (typeof position === 'undefined') {
-              position = stream.position;
-              seeking = false;
-            } else if (!stream.seekable) {
-              throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
-            }
-            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(ERRNO_CODES.EINVAL);
-            }
-            if ((stream.flags & 2097155) === 0) {
-              throw new FS.ErrnoError(ERRNO_CODES.EBADF);
-            }
-            if (FS.isDir(stream.node.mode)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
-            }
-            if (!stream.stream_ops.write) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            var seeking = true;
-            if (typeof position === 'undefined') {
-              position = stream.position;
-              seeking = false;
-            } else if (!stream.seekable) {
-              throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
-            }
-            if (stream.flags & 1024) {
-              // seek to the end before writing in append mode
-              FS.llseek(stream, 0, 2);
-            }
-            var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
-            if (!seeking) stream.position += bytesWritten;
-            return bytesWritten;
-          },allocate:function (stream, offset, length) {
-            if (offset < 0 || length <= 0) {
-              throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-            }
-            if ((stream.flags & 2097155) === 0) {
-              throw new FS.ErrnoError(ERRNO_CODES.EBADF);
-            }
-            if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
-              throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
-            }
-            if (!stream.stream_ops.allocate) {
-              throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
-            }
-            stream.stream_ops.allocate(stream, offset, length);
-          },mmap:function (stream, buffer, offset, length, position, prot, flags) {
-            // TODO if PROT is PROT_WRITE, make sure we have write access
-            if ((stream.flags & 2097155) === 1) {
-              throw new FS.ErrnoError(ERRNO_CODES.EACCES);
-            }
-            if (!stream.stream_ops.mmap) {
-              throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
-            }
-            return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
-          },ioctl:function (stream, cmd, arg) {
-            if (!stream.stream_ops.ioctl) {
-              throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
-            }
-            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 = '';
-              var utf8 = new Runtime.UTF8Processor();
-              for (var i = 0; i < length; i++) {
-                ret += utf8.processCChar(buf[i]);
-              }
-            } else if (opts.encoding === 'binary') {
-              ret = buf;
-            }
-            FS.close(stream);
-            return ret;
-          },writeFile:function (path, data, opts) {
-            opts = opts || {};
-            opts.flags = opts.flags || 'w';
-            opts.encoding = opts.encoding || 'utf8';
-            if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
-              throw new Error('Invalid encoding type "' + opts.encoding + '"');
-            }
-            var stream = FS.open(path, opts.flags, opts.mode);
-            if (opts.encoding === 'utf8') {
-              var utf8 = new Runtime.UTF8Processor();
-              var buf = new Uint8Array(utf8.processJSString(data));
-              FS.write(stream, buf, 0, buf.length, 0, opts.canOwn);
-            } else if (opts.encoding === 'binary') {
-              FS.write(stream, data, 0, data.length, 0, opts.canOwn);
-            }
-            FS.close(stream);
-          },cwd:function () {
-            return FS.currentPath;
-          },chdir:function (path) {
-            var lookup = FS.lookupPath(path, { follow: true });
-            if (!FS.isDir(lookup.node.mode)) {
-              throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
-            }
-            var err = FS.nodePermissions(lookup.node, 'x');
-            if (err) {
-              throw new FS.ErrnoError(err);
-            }
-            FS.currentPath = lookup.path;
-          },createDefaultDirectories:function () {
-            FS.mkdir('/tmp');
-          },createDefaultDevices:function () {
-            // create /dev
-            FS.mkdir('/dev');
-            // setup /dev/null
-            FS.registerDevice(FS.makedev(1, 3), {
-              read: function() { return 0; },
-              write: function() { return 0; }
-            });
-            FS.mkdev('/dev/null', FS.makedev(1, 3));
-            // setup /dev/tty and /dev/tty1
-            // stderr needs to print output using Module['printErr']
-            // so we register a second tty just for it.
-            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));
-            // we're not going to emulate the actual shm device,
-            // just create the tmp dirs that reside in it commonly
-            FS.mkdir('/dev/shm');
-            FS.mkdir('/dev/shm/tmp');
-          },createStandardStreams:function () {
-            // TODO deprecate the old functionality of a single
-            // input / output callback and that utilizes FS.createDevice
-            // and instead require a unique set of stream ops
-      
-            // by default, we symlink the standard streams to the
-            // default tty devices. however, if the standard streams
-            // have been overwritten we create a unique device for
-            // them instead.
-            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');
-            }
-      
-            // open default streams for the stdin, stdout and stderr devices
-            var stdin = FS.open('/dev/stdin', 'r');
-            HEAP32[((_stdin)>>2)]=FS.getPtrForStream(stdin);
-            assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
-      
-            var stdout = FS.open('/dev/stdout', 'w');
-            HEAP32[((_stdout)>>2)]=FS.getPtrForStream(stdout);
-            assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
-      
-            var stderr = FS.open('/dev/stderr', 'w');
-            HEAP32[((_stderr)>>2)]=FS.getPtrForStream(stderr);
-            assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
-          },ensureErrnoError:function () {
-            if (FS.ErrnoError) return;
-            FS.ErrnoError = function ErrnoError(errno) {
-              this.errno = errno;
-              for (var key in ERRNO_CODES) {
-                if (ERRNO_CODES[key] === errno) {
-                  this.code = key;
-                  break;
-                }
-              }
-              this.message = ERRNO_MESSAGES[errno];
-            };
-            FS.ErrnoError.prototype = new Error();
-            FS.ErrnoError.prototype.constructor = FS.ErrnoError;
-            // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
-            [ERRNO_CODES.ENOENT].forEach(function(code) {
-              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();
-          },init:function (input, output, error) {
-            assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
-            FS.init.initialized = true;
-      
-            FS.ensureErrnoError();
-      
-            // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
-            Module['stdin'] = input || Module['stdin'];
-            Module['stdout'] = output || Module['stdout'];
-            Module['stderr'] = error || Module['stderr'];
-      
-            FS.createStandardStreams();
-          },quit:function () {
-            FS.init.initialized = false;
-            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.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) {
-            // operate from within the context of the symlink's target
-            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) {
-                // ignore EEXIST
-              }
-              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;
-              }
-              // make sure we can write to the file
-              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);
-            // Create a fake device that a set of stream ops to emulate
-            // the old behavior.
-            FS.registerDevice(dev, {
-              open: function(stream) {
-                stream.seekable = false;
-              },
-              close: function(stream) {
-                // flush any pending line data
-                if (output && output.buffer && output.buffer.length) {
-                  output(10);
-                }
-              },
-              read: function(stream, buffer, offset, length, pos /* ignored */) {
-                var bytesRead = 0;
-                for (var i = 0; i < length; i++) {
-                  var result;
-                  try {
-                    result = input();
-                  } catch (e) {
-                    throw new FS.ErrnoError(ERRNO_CODES.EIO);
-                  }
-                  if (result === undefined && bytesRead === 0) {
-                    throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
-                  }
-                  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(ERRNO_CODES.EIO);
-                  }
-                }
-                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 (Module['read']) {
-              // Command-line.
-              try {
-                // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
-                //          read() will try to parse UTF8.
-                obj.contents = intArrayFromString(Module['read'](obj.url), true);
-              } catch (e) {
-                success = false;
-              }
-            } else {
-              throw new Error('Cannot load without read() or XMLHttpRequest.');
-            }
-            if (!success) ___setErrNo(ERRNO_CODES.EIO);
-            return success;
-          },createLazyFile:function (parent, name, url, canRead, canWrite) {
-            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';
-              // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
-              function LazyUint8Array() {
-                this.lengthKnown = false;
-                this.chunks = []; // Loaded chunks. Index is the chunk number
-              }
-              LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
-                if (idx > this.length-1 || idx < 0) {
-                  return undefined;
-                }
-                var chunkOffset = idx % this.chunkSize;
-                var chunkNum = Math.floor(idx / this.chunkSize);
-                return this.getter(chunkNum)[chunkOffset];
-              }
-              LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
-                this.getter = getter;
-              }
-              LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
-                  // Find length
-                  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 chunkSize = 1024*1024; // Chunk size in bytes
-      
-                  if (!hasByteServing) chunkSize = datalength;
-      
-                  // Function to get a range from the remote URL.
-                  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!");
-      
-                    // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
-                    var xhr = new XMLHttpRequest();
-                    xhr.open('GET', url, false);
-                    if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
-      
-                    // Some hints to the browser that we want binary data.
-                    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; // including this byte
-                    end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
-                    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];
-                  });
-      
-                  this._length = datalength;
-                  this._chunkSize = chunkSize;
-                  this.lengthKnown = true;
-              }
-      
-              var lazyArray = new LazyUint8Array();
-              Object.defineProperty(lazyArray, "length", {
-                  get: function() {
-                      if(!this.lengthKnown) {
-                          this.cacheLength();
-                      }
-                      return this._length;
-                  }
-              });
-              Object.defineProperty(lazyArray, "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);
-            // This is a total hack, but I want to get this lazy file code out of the
-            // core of MEMFS. If we want to keep this lazy file concept I feel it should
-            // be its own thin LAZYFS proxying calls to MEMFS.
-            if (properties.contents) {
-              node.contents = properties.contents;
-            } else if (properties.url) {
-              node.contents = null;
-              node.url = properties.url;
-            }
-            // override each stream op with one that tries to force load the lazy file first
-            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(ERRNO_CODES.EIO);
-                }
-                return fn.apply(null, arguments);
-              };
-            });
-            // use a custom read function
-            stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
-              if (!FS.forceLoadFile(node)) {
-                throw new FS.ErrnoError(ERRNO_CODES.EIO);
-              }
-              var contents = stream.node.contents;
-              if (position >= contents.length)
-                return 0;
-              var size = Math.min(contents.length - position, length);
-              assert(size >= 0);
-              if (contents.slice) { // normal array
-                for (var i = 0; i < size; i++) {
-                  buffer[offset + i] = contents[position + i];
-                }
-              } else {
-                for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
-                  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) {
-            Browser.init();
-            // TODO we should allow people to just pass in a complete filename instead
-            // of parent and name being that we just join them anyways
-            var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
-            function processData(byteArray) {
-              function finish(byteArray) {
-                if (!dontCreateFile) {
-                  FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
-                }
-                if (onload) onload();
-                removeRunDependency('cp ' + fullname);
-              }
-              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('cp ' + fullname);
-                  });
-                  handled = true;
-                }
-              });
-              if (!handled) finish(byteArray);
-            }
-            addRunDependency('cp ' + fullname);
-            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() {
-              console.log('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; // no database to load from
-            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;
-          }};
-      
-      
-      
-      
-      function _mkport() { throw 'TODO' }var SOCKFS={mount:function (mount) {
-            return FS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
-          },createSocket:function (family, type, protocol) {
-            var streaming = type == 1;
-            if (protocol) {
-              assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp
-            }
-      
-            // create our internal socket structure
-            var sock = {
-              family: family,
-              type: type,
-              protocol: protocol,
-              server: null,
-              peers: {},
-              pending: [],
-              recv_queue: [],
-              sock_ops: SOCKFS.websocket_sock_ops
-            };
-      
-            // create the filesystem node to store the socket structure
-            var name = SOCKFS.nextname();
-            var node = FS.createNode(SOCKFS.root, name, 49152, 0);
-            node.sock = sock;
-      
-            // and the wrapping stream that enables library functions such
-            // as read and write to indirectly interact with the socket
-            var stream = FS.createStream({
-              path: name,
-              node: node,
-              flags: FS.modeStringToFlags('r+'),
-              seekable: false,
-              stream_ops: SOCKFS.stream_ops
-            });
-      
-            // map the new stream to the socket structure (sockets have a 1:1
-            // relationship with a stream)
-            sock.stream = stream;
-      
-            return sock;
-          },getSocket:function (fd) {
-            var stream = FS.getStream(fd);
-            if (!stream || !FS.isSocket(stream.node.mode)) {
-              return null;
-            }
-            return stream.node.sock;
-          },stream_ops:{poll:function (stream) {
-              var sock = stream.node.sock;
-              return sock.sock_ops.poll(sock);
-            },ioctl:function (stream, request, varargs) {
-              var sock = stream.node.sock;
-              return sock.sock_ops.ioctl(sock, request, varargs);
-            },read:function (stream, buffer, offset, length, position /* ignored */) {
-              var sock = stream.node.sock;
-              var msg = sock.sock_ops.recvmsg(sock, length);
-              if (!msg) {
-                // socket is closed
-                return 0;
-              }
-              buffer.set(msg.buffer, offset);
-              return msg.buffer.length;
-            },write:function (stream, buffer, offset, length, position /* ignored */) {
-              var sock = stream.node.sock;
-              return sock.sock_ops.sendmsg(sock, buffer, offset, length);
-            },close:function (stream) {
-              var sock = stream.node.sock;
-              sock.sock_ops.close(sock);
-            }},nextname:function () {
-            if (!SOCKFS.nextname.current) {
-              SOCKFS.nextname.current = 0;
-            }
-            return 'socket[' + (SOCKFS.nextname.current++) + ']';
-          },websocket_sock_ops:{createPeer:function (sock, addr, port) {
-              var ws;
-      
-              if (typeof addr === 'object') {
-                ws = addr;
-                addr = null;
-                port = null;
-              }
-      
-              if (ws) {
-                // for sockets that've already connected (e.g. we're the server)
-                // we can inspect the _socket property for the address
-                if (ws._socket) {
-                  addr = ws._socket.remoteAddress;
-                  port = ws._socket.remotePort;
-                }
-                // if we're just now initializing a connection to the remote,
-                // inspect the url property
-                else {
-                  var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);
-                  if (!result) {
-                    throw new Error('WebSocket URL must be in the format ws(s)://address:port');
-                  }
-                  addr = result[1];
-                  port = parseInt(result[2], 10);
-                }
-              } else {
-                // create the actual websocket object and connect
-                try {
-                  var url = 'ws://' + addr + ':' + port;
-                  // the node ws library API is slightly different than the browser's
-                  var opts = ENVIRONMENT_IS_NODE ? {headers: {'websocket-protocol': ['binary']}} : ['binary'];
-                  // If node we use the ws library.
-                  var WebSocket = ENVIRONMENT_IS_NODE ? require('ws') : window['WebSocket'];
-                  ws = new WebSocket(url, opts);
-                  ws.binaryType = 'arraybuffer';
-                } catch (e) {
-                  throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH);
-                }
-              }
-      
-      
-              var peer = {
-                addr: addr,
-                port: port,
-                socket: ws,
-                dgram_send_queue: []
-              };
-      
-              SOCKFS.websocket_sock_ops.addPeer(sock, peer);
-              SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer);
-      
-              // if this is a bound dgram socket, send the port number first to allow
-              // us to override the ephemeral port reported to us by remotePort on the
-              // remote end.
-              if (sock.type === 2 && typeof sock.sport !== 'undefined') {
-                peer.dgram_send_queue.push(new Uint8Array([
-                    255, 255, 255, 255,
-                    'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0),
-                    ((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff)
-                ]));
-              }
-      
-              return peer;
-            },getPeer:function (sock, addr, port) {
-              return sock.peers[addr + ':' + port];
-            },addPeer:function (sock, peer) {
-              sock.peers[peer.addr + ':' + peer.port] = peer;
-            },removePeer:function (sock, peer) {
-              delete sock.peers[peer.addr + ':' + peer.port];
-            },handlePeerEvents:function (sock, peer) {
-              var first = true;
-      
-              var handleOpen = function () {
-                try {
-                  var queued = peer.dgram_send_queue.shift();
-                  while (queued) {
-                    peer.socket.send(queued);
-                    queued = peer.dgram_send_queue.shift();
-                  }
-                } catch (e) {
-                  // not much we can do here in the way of proper error handling as we've already
-                  // lied and said this data was sent. shut it down.
-                  peer.socket.close();
-                }
-              };
-      
-              function handleMessage(data) {
-                assert(typeof data !== 'string' && data.byteLength !== undefined);  // must receive an ArrayBuffer
-                data = new Uint8Array(data);  // make a typed array view on the array buffer
-      
-      
-                // if this is the port message, override the peer's port with it
-                var wasfirst = first;
-                first = false;
-                if (wasfirst &&
-                    data.length === 10 &&
-                    data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 &&
-                    data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) {
-                  // update the peer's port and it's key in the peer map
-                  var newport = ((data[8] << 8) | data[9]);
-                  SOCKFS.websocket_sock_ops.removePeer(sock, peer);
-                  peer.port = newport;
-                  SOCKFS.websocket_sock_ops.addPeer(sock, peer);
-                  return;
-                }
-      
-                sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data });
-              };
-      
-              if (ENVIRONMENT_IS_NODE) {
-                peer.socket.on('open', handleOpen);
-                peer.socket.on('message', function(data, flags) {
-                  if (!flags.binary) {
-                    return;
-                  }
-                  handleMessage((new Uint8Array(data)).buffer);  // copy from node Buffer -> ArrayBuffer
-                });
-                peer.socket.on('error', function() {
-                  // don't throw
-                });
-              } else {
-                peer.socket.onopen = handleOpen;
-                peer.socket.onmessage = function peer_socket_onmessage(event) {
-                  handleMessage(event.data);
-                };
-              }
-            },poll:function (sock) {
-              if (sock.type === 1 && sock.server) {
-                // listen sockets should only say they're available for reading
-                // if there are pending clients.
-                return sock.pending.length ? (64 | 1) : 0;
-              }
-      
-              var mask = 0;
-              var dest = sock.type === 1 ?  // we only care about the socket state for connection-based sockets
-                SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) :
-                null;
-      
-              if (sock.recv_queue.length ||
-                  !dest ||  // connection-less sockets are always ready to read
-                  (dest && dest.socket.readyState === dest.socket.CLOSING) ||
-                  (dest && dest.socket.readyState === dest.socket.CLOSED)) {  // let recv return 0 once closed
-                mask |= (64 | 1);
-              }
-      
-              if (!dest ||  // connection-less sockets are always ready to write
-                  (dest && dest.socket.readyState === dest.socket.OPEN)) {
-                mask |= 4;
-              }
-      
-              if ((dest && dest.socket.readyState === dest.socket.CLOSING) ||
-                  (dest && dest.socket.readyState === dest.socket.CLOSED)) {
-                mask |= 16;
-              }
-      
-              return mask;
-            },ioctl:function (sock, request, arg) {
-              switch (request) {
-                case 21531:
-                  var bytes = 0;
-                  if (sock.recv_queue.length) {
-                    bytes = sock.recv_queue[0].data.length;
-                  }
-                  HEAP32[((arg)>>2)]=bytes;
-                  return 0;
-                default:
-                  return ERRNO_CODES.EINVAL;
-              }
-            },close:function (sock) {
-              // if we've spawned a listen server, close it
-              if (sock.server) {
-                try {
-                  sock.server.close();
-                } catch (e) {
-                }
-                sock.server = null;
-              }
-              // close any peer connections
-              var peers = Object.keys(sock.peers);
-              for (var i = 0; i < peers.length; i++) {
-                var peer = sock.peers[peers[i]];
-                try {
-                  peer.socket.close();
-                } catch (e) {
-                }
-                SOCKFS.websocket_sock_ops.removePeer(sock, peer);
-              }
-              return 0;
-            },bind:function (sock, addr, port) {
-              if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') {
-                throw new FS.ErrnoError(ERRNO_CODES.EINVAL);  // already bound
-              }
-              sock.saddr = addr;
-              sock.sport = port || _mkport();
-              // in order to emulate dgram sockets, we need to launch a listen server when
-              // binding on a connection-less socket
-              // note: this is only required on the server side
-              if (sock.type === 2) {
-                // close the existing server if it exists
-                if (sock.server) {
-                  sock.server.close();
-                  sock.server = null;
-                }
-                // swallow error operation not supported error that occurs when binding in the
-                // browser where this isn't supported
-                try {
-                  sock.sock_ops.listen(sock, 0);
-                } catch (e) {
-                  if (!(e instanceof FS.ErrnoError)) throw e;
-                  if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e;
-                }
-              }
-            },connect:function (sock, addr, port) {
-              if (sock.server) {
-                throw new FS.ErrnoError(ERRNO_CODS.EOPNOTSUPP);
-              }
-      
-              // TODO autobind
-              // if (!sock.addr && sock.type == 2) {
-              // }
-      
-              // early out if we're already connected / in the middle of connecting
-              if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') {
-                var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
-                if (dest) {
-                  if (dest.socket.readyState === dest.socket.CONNECTING) {
-                    throw new FS.ErrnoError(ERRNO_CODES.EALREADY);
-                  } else {
-                    throw new FS.ErrnoError(ERRNO_CODES.EISCONN);
-                  }
-                }
-              }
-      
-              // add the socket to our peer list and set our
-              // destination address / port to match
-              var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
-              sock.daddr = peer.addr;
-              sock.dport = peer.port;
-      
-              // always "fail" in non-blocking mode
-              throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS);
-            },listen:function (sock, backlog) {
-              if (!ENVIRONMENT_IS_NODE) {
-                throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
-              }
-              if (sock.server) {
-                 throw new FS.ErrnoError(ERRNO_CODES.EINVAL);  // already listening
-              }
-              var WebSocketServer = require('ws').Server;
-              var host = sock.saddr;
-              sock.server = new WebSocketServer({
-                host: host,
-                port: sock.sport
-                // TODO support backlog
-              });
-      
-              sock.server.on('connection', function(ws) {
-                if (sock.type === 1) {
-                  var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol);
-      
-                  // create a peer on the new socket
-                  var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws);
-                  newsock.daddr = peer.addr;
-                  newsock.dport = peer.port;
-      
-                  // push to queue for accept to pick up
-                  sock.pending.push(newsock);
-                } else {
-                  // create a peer on the listen socket so calling sendto
-                  // with the listen socket and an address will resolve
-                  // to the correct client
-                  SOCKFS.websocket_sock_ops.createPeer(sock, ws);
-                }
-              });
-              sock.server.on('closed', function() {
-                sock.server = null;
-              });
-              sock.server.on('error', function() {
-                // don't throw
-              });
-            },accept:function (listensock) {
-              if (!listensock.server) {
-                throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-              }
-              var newsock = listensock.pending.shift();
-              newsock.stream.flags = listensock.stream.flags;
-              return newsock;
-            },getname:function (sock, peer) {
-              var addr, port;
-              if (peer) {
-                if (sock.daddr === undefined || sock.dport === undefined) {
-                  throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
-                }
-                addr = sock.daddr;
-                port = sock.dport;
-              } else {
-                // TODO saddr and sport will be set for bind()'d UDP sockets, but what
-                // should we be returning for TCP sockets that've been connect()'d?
-                addr = sock.saddr || 0;
-                port = sock.sport || 0;
-              }
-              return { addr: addr, port: port };
-            },sendmsg:function (sock, buffer, offset, length, addr, port) {
-              if (sock.type === 2) {
-                // connection-less sockets will honor the message address,
-                // and otherwise fall back to the bound destination address
-                if (addr === undefined || port === undefined) {
-                  addr = sock.daddr;
-                  port = sock.dport;
-                }
-                // if there was no address to fall back to, error out
-                if (addr === undefined || port === undefined) {
-                  throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ);
-                }
-              } else {
-                // connection-based sockets will only use the bound
-                addr = sock.daddr;
-                port = sock.dport;
-              }
-      
-              // find the peer for the destination address
-              var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port);
-      
-              // early out if not connected with a connection-based socket
-              if (sock.type === 1) {
-                if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
-                  throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
-                } else if (dest.socket.readyState === dest.socket.CONNECTING) {
-                  throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
-                }
-              }
-      
-              // create a copy of the incoming data to send, as the WebSocket API
-              // doesn't work entirely with an ArrayBufferView, it'll just send
-              // the entire underlying buffer
-              var data;
-              if (buffer instanceof Array || buffer instanceof ArrayBuffer) {
-                data = buffer.slice(offset, offset + length);
-              } else {  // ArrayBufferView
-                data = buffer.buffer.slice(buffer.byteOffset + offset, buffer.byteOffset + offset + length);
-              }
-      
-              // if we're emulating a connection-less dgram socket and don't have
-              // a cached connection, queue the buffer to send upon connect and
-              // lie, saying the data was sent now.
-              if (sock.type === 2) {
-                if (!dest || dest.socket.readyState !== dest.socket.OPEN) {
-                  // if we're not connected, open a new connection
-                  if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
-                    dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
-                  }
-                  dest.dgram_send_queue.push(data);
-                  return length;
-                }
-              }
-      
-              try {
-                // send the actual data
-                dest.socket.send(data);
-                return length;
-              } catch (e) {
-                throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-              }
-            },recvmsg:function (sock, length) {
-              // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html
-              if (sock.type === 1 && sock.server) {
-                // tcp servers should not be recv()'ing on the listen socket
-                throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
-              }
-      
-              var queued = sock.recv_queue.shift();
-              if (!queued) {
-                if (sock.type === 1) {
-                  var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
-      
-                  if (!dest) {
-                    // if we have a destination address but are not connected, error out
-                    throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
-                  }
-                  else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
-                    // return null if the socket has closed
-                    return null;
-                  }
-                  else {
-                    // else, our socket is in a valid state but truly has nothing available
-                    throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
-                  }
-                } else {
-                  throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
-                }
-              }
-      
-              // queued.data will be an ArrayBuffer if it's unadulterated, but if it's
-              // requeued TCP data it'll be an ArrayBufferView
-              var queuedLength = queued.data.byteLength || queued.data.length;
-              var queuedOffset = queued.data.byteOffset || 0;
-              var queuedBuffer = queued.data.buffer || queued.data;
-              var bytesRead = Math.min(length, queuedLength);
-              var res = {
-                buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead),
-                addr: queued.addr,
-                port: queued.port
-              };
-      
-      
-              // push back any unread data for TCP connections
-              if (sock.type === 1 && bytesRead < queuedLength) {
-                var bytesRemaining = queuedLength - bytesRead;
-                queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining);
-                sock.recv_queue.unshift(queued);
-              }
-      
-              return res;
-            }}};function _send(fd, buf, len, flags) {
-          var sock = SOCKFS.getSocket(fd);
-          if (!sock) {
-            ___setErrNo(ERRNO_CODES.EBADF);
-            return -1;
-          }
-          // TODO honor flags
-          return _write(fd, buf, len);
-        }
-      
-      function _pwrite(fildes, buf, nbyte, offset) {
-          // ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
-          var stream = FS.getStream(fildes);
-          if (!stream) {
-            ___setErrNo(ERRNO_CODES.EBADF);
-            return -1;
-          }
-          try {
-            var slab = HEAP8;
-            return FS.write(stream, slab, buf, nbyte, offset);
-          } catch (e) {
-            FS.handleFSError(e);
-            return -1;
-          }
-        }function _write(fildes, buf, nbyte) {
-          // ssize_t write(int fildes, const void *buf, size_t nbyte);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
-          var stream = FS.getStream(fildes);
-          if (!stream) {
-            ___setErrNo(ERRNO_CODES.EBADF);
-            return -1;
-          }
-      
-      
-          try {
-            var slab = HEAP8;
-            return FS.write(stream, slab, buf, nbyte);
-          } catch (e) {
-            FS.handleFSError(e);
-            return -1;
-          }
-        }
-      
-      function _fileno(stream) {
-          // int fileno(FILE *stream);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/fileno.html
-          return FS.getStreamFromPtr(stream).fd;
-        }function _fwrite(ptr, size, nitems, stream) {
-          // size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html
-          var bytesToWrite = nitems * size;
-          if (bytesToWrite == 0) return 0;
-          var fd = _fileno(stream);
-          var bytesWritten = _write(fd, ptr, bytesToWrite);
-          if (bytesWritten == -1) {
-            var streamObj = FS.getStreamFromPtr(stream);
-            if (streamObj) streamObj.error = true;
-            return 0;
-          } else {
-            return Math.floor(bytesWritten / size);
-          }
-        }
-    
-      
-       
-      Module["_memset"] = _memset;var _llvm_memset_p0i8_i64=_memset;
-    
-      function ___cxa_pure_virtual() {
-          ABORT = true;
-          throw 'Pure virtual function called!';
-        }
-    
-      function _llvm_lifetime_start() {}
-    
-      function _llvm_lifetime_end() {}
-    
-      
-      
-       
-      Module["_strlen"] = _strlen;
-      
-      function __reallyNegative(x) {
-          return x < 0 || (x === 0 && (1/x) === -Infinity);
-        }function __formatString(format, varargs) {
-          var textIndex = format;
-          var argIndex = 0;
-          function getNextArg(type) {
-            // NOTE: Explicitly ignoring type safety. Otherwise this fails:
-            //       int x = 4; printf("%c\n", (char)x);
-            var ret;
-            if (type === 'double') {
-              ret = HEAPF64[(((varargs)+(argIndex))>>3)];
-            } else if (type == 'i64') {
-              ret = [HEAP32[(((varargs)+(argIndex))>>2)],
-                     HEAP32[(((varargs)+(argIndex+8))>>2)]];
-              argIndex += 8; // each 32-bit chunk is in a 64-bit block
-      
-            } else {
-              type = 'i32'; // varargs are always i32, i64, or double
-              ret = HEAP32[(((varargs)+(argIndex))>>2)];
-            }
-            argIndex += Math.max(Runtime.getNativeFieldSize(type), Runtime.getAlignSize(type, null, true));
-            return ret;
-          }
-      
-          var ret = [];
-          var curr, next, currArg;
-          while(1) {
-            var startTextIndex = textIndex;
-            curr = HEAP8[(textIndex)];
-            if (curr === 0) break;
-            next = HEAP8[((textIndex+1)|0)];
-            if (curr == 37) {
-              // Handle flags.
-              var flagAlwaysSigned = false;
-              var flagLeftAlign = false;
-              var flagAlternative = false;
-              var flagZeroPad = false;
-              var flagPadSign = false;
-              flagsLoop: while (1) {
-                switch (next) {
-                  case 43:
-                    flagAlwaysSigned = true;
-                    break;
-                  case 45:
-                    flagLeftAlign = true;
-                    break;
-                  case 35:
-                    flagAlternative = true;
-                    break;
-                  case 48:
-                    if (flagZeroPad) {
-                      break flagsLoop;
-                    } else {
-                      flagZeroPad = true;
-                      break;
-                    }
-                  case 32:
-                    flagPadSign = true;
-                    break;
-                  default:
-                    break flagsLoop;
-                }
-                textIndex++;
-                next = HEAP8[((textIndex+1)|0)];
-              }
-      
-              // Handle width.
-              var width = 0;
-              if (next == 42) {
-                width = getNextArg('i32');
-                textIndex++;
-                next = HEAP8[((textIndex+1)|0)];
-              } else {
-                while (next >= 48 && next <= 57) {
-                  width = width * 10 + (next - 48);
-                  textIndex++;
-                  next = HEAP8[((textIndex+1)|0)];
-                }
-              }
-      
-              // Handle precision.
-              var precisionSet = false, precision = -1;
-              if (next == 46) {
-                precision = 0;
-                precisionSet = true;
-                textIndex++;
-                next = HEAP8[((textIndex+1)|0)];
-                if (next == 42) {
-                  precision = getNextArg('i32');
-                  textIndex++;
-                } else {
-                  while(1) {
-                    var precisionChr = HEAP8[((textIndex+1)|0)];
-                    if (precisionChr < 48 ||
-                        precisionChr > 57) break;
-                    precision = precision * 10 + (precisionChr - 48);
-                    textIndex++;
-                  }
-                }
-                next = HEAP8[((textIndex+1)|0)];
-              }
-              if (precision < 0) {
-                precision = 6; // Standard default.
-                precisionSet = false;
-              }
-      
-              // Handle integer sizes. WARNING: These assume a 32-bit architecture!
-              var argSize;
-              switch (String.fromCharCode(next)) {
-                case 'h':
-                  var nextNext = HEAP8[((textIndex+2)|0)];
-                  if (nextNext == 104) {
-                    textIndex++;
-                    argSize = 1; // char (actually i32 in varargs)
-                  } else {
-                    argSize = 2; // short (actually i32 in varargs)
-                  }
-                  break;
-                case 'l':
-                  var nextNext = HEAP8[((textIndex+2)|0)];
-                  if (nextNext == 108) {
-                    textIndex++;
-                    argSize = 8; // long long
-                  } else {
-                    argSize = 4; // long
-                  }
-                  break;
-                case 'L': // long long
-                case 'q': // int64_t
-                case 'j': // intmax_t
-                  argSize = 8;
-                  break;
-                case 'z': // size_t
-                case 't': // ptrdiff_t
-                case 'I': // signed ptrdiff_t or unsigned size_t
-                  argSize = 4;
-                  break;
-                default:
-                  argSize = null;
-              }
-              if (argSize) textIndex++;
-              next = HEAP8[((textIndex+1)|0)];
-      
-              // Handle type specifier.
-              switch (String.fromCharCode(next)) {
-                case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': {
-                  // Integer.
-                  var signed = next == 100 || next == 105;
-                  argSize = argSize || 4;
-                  var currArg = getNextArg('i' + (argSize * 8));
-                  var origArg = currArg;
-                  var argText;
-                  // Flatten i64-1 [low, high] into a (slightly rounded) double
-                  if (argSize == 8) {
-                    currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 117);
-                  }
-                  // Truncate to requested size.
-                  if (argSize <= 4) {
-                    var limit = Math.pow(256, argSize) - 1;
-                    currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8);
-                  }
-                  // Format the number.
-                  var currAbsArg = Math.abs(currArg);
-                  var prefix = '';
-                  if (next == 100 || next == 105) {
-                    if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], null); else
-                    argText = reSign(currArg, 8 * argSize, 1).toString(10);
-                  } else if (next == 117) {
-                    if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], true); else
-                    argText = unSign(currArg, 8 * argSize, 1).toString(10);
-                    currArg = Math.abs(currArg);
-                  } else if (next == 111) {
-                    argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8);
-                  } else if (next == 120 || next == 88) {
-                    prefix = (flagAlternative && currArg != 0) ? '0x' : '';
-                    if (argSize == 8 && i64Math) {
-                      if (origArg[1]) {
-                        argText = (origArg[1]>>>0).toString(16);
-                        var lower = (origArg[0]>>>0).toString(16);
-                        while (lower.length < 8) lower = '0' + lower;
-                        argText += lower;
-                      } else {
-                        argText = (origArg[0]>>>0).toString(16);
-                      }
-                    } else
-                    if (currArg < 0) {
-                      // Represent negative numbers in hex as 2's complement.
-                      currArg = -currArg;
-                      argText = (currAbsArg - 1).toString(16);
-                      var buffer = [];
-                      for (var i = 0; i < argText.length; i++) {
-                        buffer.push((0xF - parseInt(argText[i], 16)).toString(16));
-                      }
-                      argText = buffer.join('');
-                      while (argText.length < argSize * 2) argText = 'f' + argText;
-                    } else {
-                      argText = currAbsArg.toString(16);
-                    }
-                    if (next == 88) {
-                      prefix = prefix.toUpperCase();
-                      argText = argText.toUpperCase();
-                    }
-                  } else if (next == 112) {
-                    if (currAbsArg === 0) {
-                      argText = '(nil)';
-                    } else {
-                      prefix = '0x';
-                      argText = currAbsArg.toString(16);
-                    }
-                  }
-                  if (precisionSet) {
-                    while (argText.length < precision) {
-                      argText = '0' + argText;
-                    }
-                  }
-      
-                  // Add sign if needed
-                  if (currArg >= 0) {
-                    if (flagAlwaysSigned) {
-                      prefix = '+' + prefix;
-                    } else if (flagPadSign) {
-                      prefix = ' ' + prefix;
-                    }
-                  }
-      
-                  // Move sign to prefix so we zero-pad after the sign
-                  if (argText.charAt(0) == '-') {
-                    prefix = '-' + prefix;
-                    argText = argText.substr(1);
-                  }
-      
-                  // Add padding.
-                  while (prefix.length + argText.length < width) {
-                    if (flagLeftAlign) {
-                      argText += ' ';
-                    } else {
-                      if (flagZeroPad) {
-                        argText = '0' + argText;
-                      } else {
-                        prefix = ' ' + prefix;
-                      }
-                    }
-                  }
-      
-                  // Insert the result into the buffer.
-                  argText = prefix + argText;
-                  argText.split('').forEach(function(chr) {
-                    ret.push(chr.charCodeAt(0));
-                  });
-                  break;
-                }
-                case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': {
-                  // Float.
-                  var currArg = getNextArg('double');
-                  var argText;
-                  if (isNaN(currArg)) {
-                    argText = 'nan';
-                    flagZeroPad = false;
-                  } else if (!isFinite(currArg)) {
-                    argText = (currArg < 0 ? '-' : '') + 'inf';
-                    flagZeroPad = false;
-                  } else {
-                    var isGeneral = false;
-                    var effectivePrecision = Math.min(precision, 20);
-      
-                    // Convert g/G to f/F or e/E, as per:
-                    // http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html
-                    if (next == 103 || next == 71) {
-                      isGeneral = true;
-                      precision = precision || 1;
-                      var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10);
-                      if (precision > exponent && exponent >= -4) {
-                        next = ((next == 103) ? 'f' : 'F').charCodeAt(0);
-                        precision -= exponent + 1;
-                      } else {
-                        next = ((next == 103) ? 'e' : 'E').charCodeAt(0);
-                        precision--;
-                      }
-                      effectivePrecision = Math.min(precision, 20);
-                    }
-      
-                    if (next == 101 || next == 69) {
-                      argText = currArg.toExponential(effectivePrecision);
-                      // Make sure the exponent has at least 2 digits.
-                      if (/[eE][-+]\d$/.test(argText)) {
-                        argText = argText.slice(0, -1) + '0' + argText.slice(-1);
-                      }
-                    } else if (next == 102 || next == 70) {
-                      argText = currArg.toFixed(effectivePrecision);
-                      if (currArg === 0 && __reallyNegative(currArg)) {
-                        argText = '-' + argText;
-                      }
-                    }
-      
-                    var parts = argText.split('e');
-                    if (isGeneral && !flagAlternative) {
-                      // Discard trailing zeros and periods.
-                      while (parts[0].length > 1 && parts[0].indexOf('.') != -1 &&
-                             (parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) {
-                        parts[0] = parts[0].slice(0, -1);
-                      }
-                    } else {
-                      // Make sure we have a period in alternative mode.
-                      if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.';
-                      // Zero pad until required precision.
-                      while (precision > effectivePrecision++) parts[0] += '0';
-                    }
-                    argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : '');
-      
-                    // Capitalize 'E' if needed.
-                    if (next == 69) argText = argText.toUpperCase();
-      
-                    // Add sign.
-                    if (currArg >= 0) {
-                      if (flagAlwaysSigned) {
-                        argText = '+' + argText;
-                      } else if (flagPadSign) {
-                        argText = ' ' + argText;
-                      }
-                    }
-                  }
-      
-                  // Add padding.
-                  while (argText.length < width) {
-                    if (flagLeftAlign) {
-                      argText += ' ';
-                    } else {
-                      if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) {
-                        argText = argText[0] + '0' + argText.slice(1);
-                      } else {
-                        argText = (flagZeroPad ? '0' : ' ') + argText;
-                      }
-                    }
-                  }
-      
-                  // Adjust case.
-                  if (next < 97) argText = argText.toUpperCase();
-      
-                  // Insert the result into the buffer.
-                  argText.split('').forEach(function(chr) {
-                    ret.push(chr.charCodeAt(0));
-                  });
-                  break;
-                }
-                case 's': {
-                  // String.
-                  var arg = getNextArg('i8*');
-                  var argLength = arg ? _strlen(arg) : '(null)'.length;
-                  if (precisionSet) argLength = Math.min(argLength, precision);
-                  if (!flagLeftAlign) {
-                    while (argLength < width--) {
-                      ret.push(32);
-                    }
-                  }
-                  if (arg) {
-                    for (var i = 0; i < argLength; i++) {
-                      ret.push(HEAPU8[((arg++)|0)]);
-                    }
-                  } else {
-                    ret = ret.concat(intArrayFromString('(null)'.substr(0, argLength), true));
-                  }
-                  if (flagLeftAlign) {
-                    while (argLength < width--) {
-                      ret.push(32);
-                    }
-                  }
-                  break;
-                }
-                case 'c': {
-                  // Character.
-                  if (flagLeftAlign) ret.push(getNextArg('i8'));
-                  while (--width > 0) {
-                    ret.push(32);
-                  }
-                  if (!flagLeftAlign) ret.push(getNextArg('i8'));
-                  break;
-                }
-                case 'n': {
-                  // Write the length written so far to the next parameter.
-                  var ptr = getNextArg('i32*');
-                  HEAP32[((ptr)>>2)]=ret.length;
-                  break;
-                }
-                case '%': {
-                  // Literal percent sign.
-                  ret.push(curr);
-                  break;
-                }
-                default: {
-                  // Unknown specifiers remain untouched.
-                  for (var i = startTextIndex; i < textIndex + 2; i++) {
-                    ret.push(HEAP8[(i)]);
-                  }
-                }
-              }
-              textIndex += 2;
-              // TODO: Support a/A (hex float) and m (last error) specifiers.
-              // TODO: Support %1${specifier} for arg selection.
-            } else {
-              ret.push(curr);
-              textIndex += 1;
-            }
-          }
-          return ret;
-        }function _fprintf(stream, format, varargs) {
-          // int fprintf(FILE *restrict stream, const char *restrict format, ...);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
-          var result = __formatString(format, varargs);
-          var stack = Runtime.stackSave();
-          var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream);
-          Runtime.stackRestore(stack);
-          return ret;
-        }
-    
-      
-      var ___cxa_caught_exceptions=[];function ___cxa_begin_catch(ptr) {
-          __ZSt18uncaught_exceptionv.uncaught_exception--;
-          ___cxa_caught_exceptions.push(___cxa_last_thrown_exception);
-          return ptr;
-        }
-    
-      
-      
-      function __exit(status) {
-          // void _exit(int status);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
-          Module['exit'](status);
-        }function _exit(status) {
-          __exit(status);
-        }function __ZSt9terminatev() {
-          _exit(-1234);
-        }
-    
-      function ___cxa_end_catch() {
-          if (___cxa_end_catch.rethrown) {
-            ___cxa_end_catch.rethrown = false;
-            return;
-          }
-          // Clear state flag.
-          asm['setThrew'](0);
-          // Call destructor if one is registered then clear it.
-          var ptr = ___cxa_caught_exceptions.pop();
-          if (ptr) {
-            header = ptr - ___cxa_exception_header_size;
-            var destructor = HEAP32[(((header)+(4))>>2)];
-            if (destructor) {
-              Runtime.dynCall('vi', destructor, [ptr]);
-              HEAP32[(((header)+(4))>>2)]=0;
-            }
-            ___cxa_free_exception(ptr);
-            ___cxa_last_thrown_exception = 0;
-          }
-        }
-    
-    
-      var _llvm_memset_p0i8_i32=_memset;
-    
-    
-      
-       
-      Module["_memmove"] = _memmove;var _llvm_memmove_p0i8_p0i8_i32=_memmove;
-    
-      function _printf(format, varargs) {
-          // int printf(const char *restrict format, ...);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
-          var stdout = HEAP32[((_stdout)>>2)];
-          return _fprintf(stdout, format, varargs);
-        }
-    
-      
-      function _snprintf(s, n, format, varargs) {
-          // int snprintf(char *restrict s, size_t n, const char *restrict format, ...);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
-          var result = __formatString(format, varargs);
-          var limit = (n === undefined) ? result.length
-                                        : Math.min(result.length, Math.max(n - 1, 0));
-          if (s < 0) {
-            s = -s;
-            var buf = _malloc(limit+1);
-            HEAP32[((s)>>2)]=buf;
-            s = buf;
-          }
-          for (var i = 0; i < limit; i++) {
-            HEAP8[(((s)+(i))|0)]=result[i];
-          }
-          if (limit < n || (n === undefined)) HEAP8[(((s)+(i))|0)]=0;
-          return result.length;
-        }function _sprintf(s, format, varargs) {
-          // int sprintf(char *restrict s, const char *restrict format, ...);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
-          return _snprintf(s, undefined, format, varargs);
-        }
-    
-      function _llvm_umul_with_overflow_i32(x, y) {
-          x = x>>>0;
-          y = y>>>0;
-          return ((asm["setTempRet0"](x*y > 4294967295),(x*y)>>>0)|0);
-        }
-    
-      function _llvm_uadd_with_overflow_i32(x, y) {
-          x = x>>>0;
-          y = y>>>0;
-          return ((asm["setTempRet0"](x+y > 4294967295),(x+y)>>>0)|0);
-        }
-    
-      var _llvm_memcpy_p0i8_p0i8_i64=_memcpy;
-    
-      function ___cxa_rethrow() {
-          ___cxa_end_catch.rethrown = true;
-          var ptr = ___cxa_caught_exceptions.pop();
-          throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
-        }
-    
-    
-      function _pthread_create() {
-      Module['printErr']('missing function: pthread_create'); abort(-1);
-      }
-    
-      function _pthread_join() { throw 'TODO: ' + aborter }
-    
-      function _pthread_mutex_init() {}
-    
-      function _pthread_mutex_destroy() {}
-    
-      function _pthread_mutex_lock() {}
-    
-      function _pthread_mutex_unlock() {}
-    
-      function _pthread_cond_init() {}
-    
-      function _pthread_cond_destroy() {}
-    
-      function _pthread_cond_broadcast() {
-          return 0;
-        }
-    
-      function _pthread_cond_wait() {
-          return 0;
-        }
-    
-      function _pthread_cond_signal() { throw 'TODO: ' + aborter }
-    
-      var _llvm_va_start=undefined;
-    
-      function _vfprintf(s, f, va_arg) {
-          return _fprintf(s, f, HEAP32[((va_arg)>>2)]);
-        }
-    
-      function _llvm_va_end() {}
-    
-      function ___cxa_guard_acquire(variable) {
-          if (!HEAP8[(variable)]) { // ignore SAFE_HEAP stuff because llvm mixes i64 and i8 here
-            HEAP8[(variable)]=1;
-            return 1;
-          }
-          return 0;
-        }
-    
-      function ___cxa_guard_release() {}
-    
-      
-      function _atexit(func, arg) {
-          __ATEXIT__.unshift({ func: func, arg: arg });
-        }var ___cxa_atexit=_atexit;
-    
-      function _ungetc(c, stream) {
-          // int ungetc(int c, FILE *stream);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/ungetc.html
-          stream = FS.getStreamFromPtr(stream);
-          if (!stream) {
-            return -1;
-          }
-          if (c === -1) {
-            // do nothing for EOF character
-            return c;
-          }
-          c = unSign(c & 0xFF);
-          stream.ungotten.push(c);
-          stream.eof = false;
-          return c;
-        }
-    
-      
-      
-      
-      
-      function _recv(fd, buf, len, flags) {
-          var sock = SOCKFS.getSocket(fd);
-          if (!sock) {
-            ___setErrNo(ERRNO_CODES.EBADF);
-            return -1;
-          }
-          // TODO honor flags
-          return _read(fd, buf, len);
-        }
-      
-      function _pread(fildes, buf, nbyte, offset) {
-          // ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
-          var stream = FS.getStream(fildes);
-          if (!stream) {
-            ___setErrNo(ERRNO_CODES.EBADF);
-            return -1;
-          }
-          try {
-            var slab = HEAP8;
-            return FS.read(stream, slab, buf, nbyte, offset);
-          } catch (e) {
-            FS.handleFSError(e);
-            return -1;
-          }
-        }function _read(fildes, buf, nbyte) {
-          // ssize_t read(int fildes, void *buf, size_t nbyte);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
-          var stream = FS.getStream(fildes);
-          if (!stream) {
-            ___setErrNo(ERRNO_CODES.EBADF);
-            return -1;
-          }
-      
-      
-          try {
-            var slab = HEAP8;
-            return FS.read(stream, slab, buf, nbyte);
-          } catch (e) {
-            FS.handleFSError(e);
-            return -1;
-          }
-        }function _fread(ptr, size, nitems, stream) {
-          // size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/fread.html
-          var bytesToRead = nitems * size;
-          if (bytesToRead == 0) {
-            return 0;
-          }
-          var bytesRead = 0;
-          var streamObj = FS.getStreamFromPtr(stream);
-          if (!streamObj) {
-            ___setErrNo(ERRNO_CODES.EBADF);
-            return 0;
-          }
-          while (streamObj.ungotten.length && bytesToRead > 0) {
-            HEAP8[((ptr++)|0)]=streamObj.ungotten.pop();
-            bytesToRead--;
-            bytesRead++;
-          }
-          var err = _read(streamObj.fd, ptr, bytesToRead);
-          if (err == -1) {
-            if (streamObj) streamObj.error = true;
-            return 0;
-          }
-          bytesRead += err;
-          if (bytesRead < bytesToRead) streamObj.eof = true;
-          return Math.floor(bytesRead / size);
-        }function _fgetc(stream) {
-          // int fgetc(FILE *stream);
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/fgetc.html
-          var streamObj = FS.getStreamFromPtr(stream);
-          if (!streamObj) return -1;
-          if (streamObj.eof || streamObj.error) return -1;
-          var ret = _fread(_fgetc.ret, 1, 1, stream);
-          if (ret == 0) {
-            return -1;
-          } else if (ret == -1) {
-            streamObj.error = true;
-            return -1;
-          } else {
-            return HEAPU8[((_fgetc.ret)|0)];
-          }
-        }var _getc=_fgetc;
-    
-      function __ZNSt9exceptionD2Ev() {}
-    
-      function ___errno_location() {
-          return ___errno_state;
-        }
-    
-      
-      function _strerror_r(errnum, strerrbuf, buflen) {
-          if (errnum in ERRNO_MESSAGES) {
-            if (ERRNO_MESSAGES[errnum].length > buflen - 1) {
-              return ___setErrNo(ERRNO_CODES.ERANGE);
-            } else {
-              var msg = ERRNO_MESSAGES[errnum];
-              writeAsciiToMemory(msg, strerrbuf);
-              return 0;
-            }
-          } else {
-            return ___setErrNo(ERRNO_CODES.EINVAL);
-          }
-        }function _strerror(errnum) {
-          if (!_strerror.buffer) _strerror.buffer = _malloc(256);
-          _strerror_r(errnum, _strerror.buffer, 256);
-          return _strerror.buffer;
-        }
-    
-      function _abort() {
-          Module['abort']();
-        }
-    
-    
-      function _sysconf(name) {
-          // long sysconf(int name);
-          // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
-          switch(name) {
-            case 30: return PAGE_SIZE;
-            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 79:
-            case 82:
-            case 68:
-            case 67:
-            case 164:
-            case 11:
-            case 29:
-            case 47:
-            case 48:
-            case 95:
-            case 52:
-            case 51:
-            case 46:
-              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 1000;
-            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: return 1;
-          }
-          ___setErrNo(ERRNO_CODES.EINVAL);
-          return -1;
-        }
-    
-      function ___cxa_guard_abort() {}
-    
-      
-      function _isxdigit(chr) {
-          return (chr >= 48 && chr <= 57) ||
-                 (chr >= 97 && chr <= 102) ||
-                 (chr >= 65 && chr <= 70);
-        }function _isxdigit_l(chr) {
-          return _isxdigit(chr); // no locale support yet
-        }
-    
-      
-      function _isdigit(chr) {
-          return chr >= 48 && chr <= 57;
-        }function _isdigit_l(chr) {
-          return _isdigit(chr); // no locale support yet
-        }
-    
-      
-      
-      function __getFloat(text) {
-          return /^[+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?/.exec(text);
-        }function __scanString(format, get, unget, varargs) {
-          if (!__scanString.whiteSpace) {
-            __scanString.whiteSpace = {};
-            __scanString.whiteSpace[32] = 1;
-            __scanString.whiteSpace[9] = 1;
-            __scanString.whiteSpace[10] = 1;
-            __scanString.whiteSpace[11] = 1;
-            __scanString.whiteSpace[12] = 1;
-            __scanString.whiteSpace[13] = 1;
-          }
-          // Supports %x, %4x, %d.%d, %lld, %s, %f, %lf.
-          // TODO: Support all format specifiers.
-          format = Pointer_stringify(format);
-          var soFar = 0;
-          if (format.indexOf('%n') >= 0) {
-            // need to track soFar
-            var _get = get;
-            get = function get() {
-              soFar++;
-              return _get();
-            }
-            var _unget = unget;
-            unget = function unget() {
-              soFar--;
-              return _unget();
-            }
-          }
-          var formatIndex = 0;
-          var argsi = 0;
-          var fields = 0;
-          var argIndex = 0;
-          var next;
-      
-          mainLoop:
-          for (var formatIndex = 0; formatIndex < format.length;) {
-            if (format[formatIndex] === '%' && format[formatIndex+1] == 'n') {
-              var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
-              argIndex += Runtime.getAlignSize('void*', null, true);
-              HEAP32[((argPtr)>>2)]=soFar;
-              formatIndex += 2;
-              continue;
-            }
-      
-            if (format[formatIndex] === '%') {
-              var nextC = format.indexOf('c', formatIndex+1);
-              if (nextC > 0) {
-                var maxx = 1;
-                if (nextC > formatIndex+1) {
-                  var sub = format.substring(formatIndex+1, nextC);
-                  maxx = parseInt(sub);
-                  if (maxx != sub) maxx = 0;
-                }
-                if (maxx) {
-                  var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
-                  argIndex += Runtime.getAlignSize('void*', null, true);
-                  fields++;
-                  for (var i = 0; i < maxx; i++) {
-                    next = get();
-                    HEAP8[((argPtr++)|0)]=next;
-                    if (next === 0) return i > 0 ? fields : fields-1; // we failed to read the full length of this field
-                  }
-                  formatIndex += nextC - formatIndex + 1;
-                  continue;
-                }
-              }
-            }
-      
-            // handle %[...]
-            if (format[formatIndex] === '%' && format.indexOf('[', formatIndex+1) > 0) {
-              var match = /\%([0-9]*)\[(\^)?(\]?[^\]]*)\]/.exec(format.substring(formatIndex));
-              if (match) {
-                var maxNumCharacters = parseInt(match[1]) || Infinity;
-                var negateScanList = (match[2] === '^');
-                var scanList = match[3];
-      
-                // expand "middle" dashs into character sets
-                var middleDashMatch;
-                while ((middleDashMatch = /([^\-])\-([^\-])/.exec(scanList))) {
-                  var rangeStartCharCode = middleDashMatch[1].charCodeAt(0);
-                  var rangeEndCharCode = middleDashMatch[2].charCodeAt(0);
-                  for (var expanded = ''; rangeStartCharCode <= rangeEndCharCode; expanded += String.fromCharCode(rangeStartCharCode++));
-                  scanList = scanList.replace(middleDashMatch[1] + '-' + middleDashMatch[2], expanded);
-                }
-      
-                var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
-                argIndex += Runtime.getAlignSize('void*', null, true);
-                fields++;
-      
-                for (var i = 0; i < maxNumCharacters; i++) {
-                  next = get();
-                  if (negateScanList) {
-                    if (scanList.indexOf(String.fromCharCode(next)) < 0) {
-                      HEAP8[((argPtr++)|0)]=next;
-                    } else {
-                      unget();
-                      break;
-                    }
-                  } else {
-                    if (scanList.indexOf(String.fromCharCode(next)) >= 0) {
-                      HEAP8[((argPtr++)|0)]=next;
-                    } else {
-                      unget();
-                      break;
-                    }
-                  }
-                }
-      
-                // write out null-terminating character
-                HEAP8[((argPtr++)|0)]=0;
-                formatIndex += match[0].length;
-                
-                continue;
-              }
-            }      
-            // remove whitespace
-            while (1) {
-              next = get();
-              if (next == 0) return fields;
-              if (!(next in __scanString.whiteSpace)) break;
-            }
-            unget();
-      
-            if (format[formatIndex] === '%') {
-              formatIndex++;
-              var suppressAssignment = false;
-              if (format[formatIndex] == '*') {
-                suppressAssignment = true;
-                formatIndex++;
-              }
-              var maxSpecifierStart = formatIndex;
-              while (format[formatIndex].charCodeAt(0) >= 48 &&
-                     format[formatIndex].charCodeAt(0) <= 57) {
-                formatIndex++;
-              }
-              var max_;
-              if (formatIndex != maxSpecifierStart) {
-                max_ = parseInt(format.slice(maxSpecifierStart, formatIndex), 10);
-              }
-              var long_ = false;
-              var half = false;
-              var longLong = false;
-              if (format[formatIndex] == 'l') {
-                long_ = true;
-                formatIndex++;
-                if (format[formatIndex] == 'l') {
-                  longLong = true;
-                  formatIndex++;
-                }
-              } else if (format[formatIndex] == 'h') {
-                half = true;
-                formatIndex++;
-              }
-              var type = format[formatIndex];
-              formatIndex++;
-              var curr = 0;
-              var buffer = [];
-              // Read characters according to the format. floats are trickier, they may be in an unfloat state in the middle, then be a valid float later
-              if (type == 'f' || type == 'e' || type == 'g' ||
-                  type == 'F' || type == 'E' || type == 'G') {
-                next = get();
-                while (next > 0 && (!(next in __scanString.whiteSpace)))  {
-                  buffer.push(String.fromCharCode(next));
-                  next = get();
-                }
-                var m = __getFloat(buffer.join(''));
-                var last = m ? m[0].length : 0;
-                for (var i = 0; i < buffer.length - last + 1; i++) {
-                  unget();
-                }
-                buffer.length = last;
-              } else {
-                next = get();
-                var first = true;
-                
-                // Strip the optional 0x prefix for %x.
-                if ((type == 'x' || type == 'X') && (next == 48)) {
-                  var peek = get();
-                  if (peek == 120 || peek == 88) {
-                    next = get();
-                  } else {
-                    unget();
-                  }
-                }
-                
-                while ((curr < max_ || isNaN(max_)) && next > 0) {
-                  if (!(next in __scanString.whiteSpace) && // stop on whitespace
-                      (type == 's' ||
-                       ((type === 'd' || type == 'u' || type == 'i') && ((next >= 48 && next <= 57) ||
-                                                                         (first && next == 45))) ||
-                       ((type === 'x' || type === 'X') && (next >= 48 && next <= 57 ||
-                                         next >= 97 && next <= 102 ||
-                                         next >= 65 && next <= 70))) &&
-                      (formatIndex >= format.length || next !== format[formatIndex].charCodeAt(0))) { // Stop when we read something that is coming up
-                    buffer.push(String.fromCharCode(next));
-                    next = get();
-                    curr++;
-                    first = false;
-                  } else {
-                    break;
-                  }
-                }
-                unget();
-              }
-              if (buffer.length === 0) return 0;  // Failure.
-              if (suppressAssignment) continue;
-      
-              var text = buffer.join('');
-              var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
-              argIndex += Runtime.getAlignSize('void*', null, true);
-              switch (type) {
-                case 'd': case 'u': case 'i':
-                  if (half) {
-                    HEAP16[((argPtr)>>1)]=parseInt(text, 10);
-                  } else if (longLong) {
-                    (tempI64 = [parseInt(text, 10)>>>0,(tempDouble=parseInt(text, 10),(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[((argPtr)>>2)]=tempI64[0],HEAP32[(((argPtr)+(4))>>2)]=tempI64[1]);
-                  } else {
-                    HEAP32[((argPtr)>>2)]=parseInt(text, 10);
-                  }
-                  break;
-                case 'X':
-                case 'x':
-                  HEAP32[((argPtr)>>2)]=parseInt(text, 16);
-                  break;
-                case 'F':
-                case 'f':
-                case 'E':
-                case 'e':
-                case 'G':
-                case 'g':
-                case 'E':
-                  // fallthrough intended
-                  if (long_) {
-                    HEAPF64[((argPtr)>>3)]=parseFloat(text);
-                  } else {
-                    HEAPF32[((argPtr)>>2)]=parseFloat(text);
-                  }
-                  break;
-                case 's':
-                  var array = intArrayFromString(text);
-                  for (var j = 0; j < array.length; j++) {
-                    HEAP8[(((argPtr)+(j))|0)]=array[j];
-                  }
-                  break;
-              }
-              fields++;
-            } else if (format[formatIndex].charCodeAt(0) in __scanString.whiteSpace) {
-              next = get();
-              while (next in __scanString.whiteSpace) {
-                if (next <= 0) break mainLoop;  // End of input.
-                next = get();
-              }
-              unget(next);
-              formatIndex++;
-            } else {
-              // Not a specifier.
-              next = get();
-              if (format[formatIndex].charCodeAt(0) !== next) {
-                unget(next);
-                break mainLoop;
-              }
-              formatIndex++;
-            }
-          }
-          return fields;
-        }function _sscanf(s, format, varargs) {
-          // int sscanf(const char *restrict s, const char *restrict format, ... );
-          // http://pubs.opengroup.org/onlinepubs/000095399/functions/scanf.html
-          var index = 0;
-          function get() { return HEAP8[(((s)+(index++))|0)]; };
-          function unget() { index--; };
-          return __scanString(format, get, unget, varargs);
-        }
-    
-      function _catopen(name, oflag) {
-          // nl_catd catopen (const char *name, int oflag)
-          return -1;
-        }
-    
-      function _catgets(catd, set_id, msg_id, s) {
-          // char *catgets (nl_catd catd, int set_id, int msg_id, const char *s)
-          return s;
-        }
-    
-      function _catclose(catd) {
-          // int catclose (nl_catd catd)
-          return 0;
-        }
-    
-      function _newlocale(mask, locale, base) {
-          return _malloc(4);
-        }
-    
-      function _freelocale(locale) {
-          _free(locale);
-        }
-    
-      function ___ctype_b_loc() {
-          // http://refspecs.freestandards.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/baselib---ctype-b-loc.html
-          var me = ___ctype_b_loc;
-          if (!me.ret) {
-            var values = [
-              0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-              0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,8195,8194,8194,8194,8194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,24577,49156,49156,49156,
-              49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,55304,55304,55304,55304,55304,55304,55304,55304,
-              55304,55304,49156,49156,49156,49156,49156,49156,49156,54536,54536,54536,54536,54536,54536,50440,50440,50440,50440,50440,
-              50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,49156,49156,49156,49156,49156,
-              49156,54792,54792,54792,54792,54792,54792,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,
-              50696,50696,50696,50696,50696,50696,50696,49156,49156,49156,49156,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-              0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-              0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-            ];
-            var i16size = 2;
-            var arr = _malloc(values.length * i16size);
-            for (var i = 0; i < values.length; i++) {
-              HEAP16[(((arr)+(i * i16size))>>1)]=values[i];
-            }
-            me.ret = allocate([arr + 128 * i16size], 'i16*', ALLOC_NORMAL);
-          }
-          return me.ret;
-        }
-    
-      function ___ctype_tolower_loc() {
-          // http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/libutil---ctype-tolower-loc.html
-          var me = ___ctype_tolower_loc;
-          if (!me.ret) {
-            var values = [
-              128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
-              158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,
-              188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,
-              218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,
-              248,249,250,251,252,253,254,-1,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,64,97,98,99,100,101,102,103,
-              104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,
-              104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,
-              134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,
-              164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,
-              194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
-              224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,
-              254,255
-            ];
-            var i32size = 4;
-            var arr = _malloc(values.length * i32size);
-            for (var i = 0; i < values.length; i++) {
-              HEAP32[(((arr)+(i * i32size))>>2)]=values[i];
-            }
-            me.ret = allocate([arr + 128 * i32size], 'i32*', ALLOC_NORMAL);
-          }
-          return me.ret;
-        }
-    
-      function ___ctype_toupper_loc() {
-          // http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/libutil---ctype-toupper-loc.html
-          var me = ___ctype_toupper_loc;
-          if (!me.ret) {
-            var values = [
-              128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
-              158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,
-              188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,
-              218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,
-              248,249,250,251,252,253,254,-1,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,64,65,66,67,68,69,70,71,72,
-              73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
-              81,82,83,84,85,86,87,88,89,90,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,
-              145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,
-              175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,
-              205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,
-              235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
-            ];
-            var i32size = 4;
-            var arr = _malloc(values.length * i32size);
-            for (var i = 0; i < values.length; i++) {
-              HEAP32[(((arr)+(i * i32size))>>2)]=values[i];
-            }
-            me.ret = allocate([arr + 128 * i32size], 'i32*', ALLOC_NORMAL);
-          }
-          return me.ret;
-        }
-    
-      
-      
-      function __isLeapYear(year) {
-            return year%4 === 0 && (year%100 !== 0 || year%400 === 0);
-        }
-      
-      function __arraySum(array, index) {
-          var sum = 0;
-          for (var i = 0; i <= index; sum += array[i++]);
-          return sum;
-        }
-      
-      
-      var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];
-      
-      var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date, days) {
-          var newDate = new Date(date.getTime());
-          while(days > 0) {
-            var leap = __isLeapYear(newDate.getFullYear());
-            var currentMonth = newDate.getMonth();
-            var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
-      
-            if (days > daysInCurrentMonth-newDate.getDate()) {
-              // we spill over to next month
-              days -= (daysInCurrentMonth-newDate.getDate()+1);
-              newDate.setDate(1);
-              if (currentMonth < 11) {
-                newDate.setMonth(currentMonth+1)
-              } else {
-                newDate.setMonth(0);
-                newDate.setFullYear(newDate.getFullYear()+1);
-              }
-            } else {
-              // we stay in current month 
-              newDate.setDate(newDate.getDate()+days);
-              return newDate;
-            }
-          }
-      
-          return newDate;
-        }function _strftime(s, maxsize, format, tm) {
-          // size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
-          // http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
-          
-          var date = {
-            tm_sec: HEAP32[((tm)>>2)],
-            tm_min: HEAP32[(((tm)+(4))>>2)],
-            tm_hour: HEAP32[(((tm)+(8))>>2)],
-            tm_mday: HEAP32[(((tm)+(12))>>2)],
-            tm_mon: HEAP32[(((tm)+(16))>>2)],
-            tm_year: HEAP32[(((tm)+(20))>>2)],
-            tm_wday: HEAP32[(((tm)+(24))>>2)],
-            tm_yday: HEAP32[(((tm)+(28))>>2)],
-            tm_isdst: HEAP32[(((tm)+(32))>>2)]
-          };
-      
-          var pattern = Pointer_stringify(format);
-      
-          // expand format
-          var EXPANSION_RULES_1 = {
-            '%c': '%a %b %d %H:%M:%S %Y',     // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug  3 14:02:01 2013
-            '%D': '%m/%d/%y',                 // Equivalent to %m / %d / %y
-            '%F': '%Y-%m-%d',                 // Equivalent to %Y - %m - %d
-            '%h': '%b',                       // Equivalent to %b
-            '%r': '%I:%M:%S %p',              // Replaced by the time in a.m. and p.m. notation
-            '%R': '%H:%M',                    // Replaced by the time in 24-hour notation
-            '%T': '%H:%M:%S',                 // Replaced by the time
-            '%x': '%m/%d/%y',                 // Replaced by the locale's appropriate date representation
-            '%X': '%H:%M:%S',                 // Replaced by the locale's appropriate date representation
-          };
-          for (var rule in EXPANSION_RULES_1) {
-            pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]);
-          }
-      
-          var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
-          var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
-      
-          function leadingSomething(value, digits, character) {
-            var str = typeof value === 'number' ? value.toString() : (value || '');
-            while (str.length < digits) {
-              str = character[0]+str;
-            }
-            return str;
-          };
-      
-          function leadingNulls(value, digits) {
-            return leadingSomething(value, digits, '0');
-          };
-      
-          function compareByDay(date1, date2) {
-            function sgn(value) {
-              return value < 0 ? -1 : (value > 0 ? 1 : 0);
-            };
-      
-            var compare;
-            if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) {
-              if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) {
-                compare = sgn(date1.getDate()-date2.getDate());
-              }
-            }
-            return compare;
-          };
-      
-          function getFirstWeekStartDate(janFourth) {
-              switch (janFourth.getDay()) {
-                case 0: // Sunday
-                  return new Date(janFourth.getFullYear()-1, 11, 29);
-                case 1: // Monday
-                  return janFourth;
-                case 2: // Tuesday
-                  return new Date(janFourth.getFullYear(), 0, 3);
-                case 3: // Wednesday
-                  return new Date(janFourth.getFullYear(), 0, 2);
-                case 4: // Thursday
-                  return new Date(janFourth.getFullYear(), 0, 1);
-                case 5: // Friday
-                  return new Date(janFourth.getFullYear()-1, 11, 31);
-                case 6: // Saturday
-                  return new Date(janFourth.getFullYear()-1, 11, 30);
-              }
-          };
-      
-          function getWeekBasedYear(date) {
-              var thisDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
-      
-              var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
-              var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4);
-      
-              var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
-              var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
-      
-              if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
-                // this date is after the start of the first week of this year
-                if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
-                  return thisDate.getFullYear()+1;
-                } else {
-                  return thisDate.getFullYear();
-                }
-              } else { 
-                return thisDate.getFullYear()-1;
-              }
-          };
-      
-          var EXPANSION_RULES_2 = {
-            '%a': function(date) {
-              return WEEKDAYS[date.tm_wday].substring(0,3);
-            },
-            '%A': function(date) {
-              return WEEKDAYS[date.tm_wday];
-            },
-            '%b': function(date) {
-              return MONTHS[date.tm_mon].substring(0,3);
-            },
-            '%B': function(date) {
-              return MONTHS[date.tm_mon];
-            },
-            '%C': function(date) {
-              var year = date.tm_year+1900;
-              return leadingNulls(Math.floor(year/100),2);
-            },
-            '%d': function(date) {
-              return leadingNulls(date.tm_mday, 2);
-            },
-            '%e': function(date) {
-              return leadingSomething(date.tm_mday, 2, ' ');
-            },
-            '%g': function(date) {
-              // %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year. 
-              // In this system, weeks begin on a Monday and week 1 of the year is the week that includes 
-              // January 4th, which is also the week that includes the first Thursday of the year, and 
-              // is also the first week that contains at least four days in the year. 
-              // If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of 
-              // the last week of the preceding year; thus, for Saturday 2nd January 1999, 
-              // %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th, 
-              // or 31st is a Monday, it and any following days are part of week 1 of the following year. 
-              // Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
-              
-              return getWeekBasedYear(date).toString().substring(2);
-            },
-            '%G': function(date) {
-              return getWeekBasedYear(date);
-            },
-            '%H': function(date) {
-              return leadingNulls(date.tm_hour, 2);
-            },
-            '%I': function(date) {
-              return leadingNulls(date.tm_hour < 13 ? date.tm_hour : date.tm_hour-12, 2);
-            },
-            '%j': function(date) {
-              // Day of the year (001-366)
-              return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon-1), 3);
-            },
-            '%m': function(date) {
-              return leadingNulls(date.tm_mon+1, 2);
-            },
-            '%M': function(date) {
-              return leadingNulls(date.tm_min, 2);
-            },
-            '%n': function() {
-              return '\n';
-            },
-            '%p': function(date) {
-              if (date.tm_hour > 0 && date.tm_hour < 13) {
-                return 'AM';
-              } else {
-                return 'PM';
-              }
-            },
-            '%S': function(date) {
-              return leadingNulls(date.tm_sec, 2);
-            },
-            '%t': function() {
-              return '\t';
-            },
-            '%u': function(date) {
-              var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
-              return day.getDay() || 7;
-            },
-            '%U': function(date) {
-              // Replaced by the week number of the year as a decimal number [00,53]. 
-              // The first Sunday of January is the first day of week 1; 
-              // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
-              var janFirst = new Date(date.tm_year+1900, 0, 1);
-              var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7-janFirst.getDay());
-              var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
-              
-              // is target date after the first Sunday?
-              if (compareByDay(firstSunday, endDate) < 0) {
-                // calculate difference in days between first Sunday and endDate
-                var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
-                var firstSundayUntilEndJanuary = 31-firstSunday.getDate();
-                var days = firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
-                return leadingNulls(Math.ceil(days/7), 2);
-              }
-      
-              return compareByDay(firstSunday, janFirst) === 0 ? '01': '00';
-            },
-            '%V': function(date) {
-              // Replaced by the week number of the year (Monday as the first day of the week) 
-              // as a decimal number [01,53]. If the week containing 1 January has four 
-              // or more days in the new year, then it is considered week 1. 
-              // Otherwise, it is the last week of the previous year, and the next week is week 1. 
-              // Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
-              var janFourthThisYear = new Date(date.tm_year+1900, 0, 4);
-              var janFourthNextYear = new Date(date.tm_year+1901, 0, 4);
-      
-              var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
-              var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
-      
-              var endDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
-      
-              if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
-                // if given date is before this years first week, then it belongs to the 53rd week of last year
-                return '53';
-              } 
-      
-              if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
-                // if given date is after next years first week, then it belongs to the 01th week of next year
-                return '01';
-              }
-      
-              // given date is in between CW 01..53 of this calendar year
-              var daysDifference;
-              if (firstWeekStartThisYear.getFullYear() < date.tm_year+1900) {
-                // first CW of this year starts last year
-                daysDifference = date.tm_yday+32-firstWeekStartThisYear.getDate()
-              } else {
-                // first CW of this year starts this year
-                daysDifference = date.tm_yday+1-firstWeekStartThisYear.getDate();
-              }
-              return leadingNulls(Math.ceil(daysDifference/7), 2);
-            },
-            '%w': function(date) {
-              var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
-              return day.getDay();
-            },
-            '%W': function(date) {
-              // Replaced by the week number of the year as a decimal number [00,53]. 
-              // The first Monday of January is the first day of week 1; 
-              // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
-              var janFirst = new Date(date.tm_year, 0, 1);
-              var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7-janFirst.getDay()+1);
-              var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
-      
-              // is target date after the first Monday?
-              if (compareByDay(firstMonday, endDate) < 0) {
-                var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
-                var firstMondayUntilEndJanuary = 31-firstMonday.getDate();
-                var days = firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
-                return leadingNulls(Math.ceil(days/7), 2);
-              }
-              return compareByDay(firstMonday, janFirst) === 0 ? '01': '00';
-            },
-            '%y': function(date) {
-              // Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year]
-              return (date.tm_year+1900).toString().substring(2);
-            },
-            '%Y': function(date) {
-              // Replaced by the year as a decimal number (for example, 1997). [ tm_year]
-              return date.tm_year+1900;
-            },
-            '%z': function(date) {
-              // Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ),
-              // or by no characters if no timezone is determinable. 
-              // For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich). 
-              // If tm_isdst is zero, the standard time offset is used. 
-              // If tm_isdst is greater than zero, the daylight savings time offset is used. 
-              // If tm_isdst is negative, no characters are returned. 
-              // FIXME: we cannot determine time zone (or can we?)
-              return '';
-            },
-            '%Z': function(date) {
-              // Replaced by the timezone name or abbreviation, or by no bytes if no timezone information exists. [ tm_isdst]
-              // FIXME: we cannot determine time zone (or can we?)
-              return '';
-            },
-            '%%': function() {
-              return '%';
-            }
-          };
-          for (var rule in EXPANSION_RULES_2) {
-            if (pattern.indexOf(rule) >= 0) {
-              pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date));
-            }
-          }
-      
-          var bytes = intArrayFromString(pattern, false);
-          if (bytes.length > maxsize) {
-            return 0;
-          } 
-      
-          writeArrayToMemory(bytes, s);
-          return bytes.length-1;
-        }function _strftime_l(s, maxsize, format, tm) {
-          return _strftime(s, maxsize, format, tm); // no locale support yet
-        }
-    
-      
-      
-      
-      function _isspace(chr) {
-          return (chr == 32) || (chr >= 9 && chr <= 13);
-        }
-      function __parseInt64(str, endptr, base, min, max, unsign) {
-          var isNegative = false;
-          // Skip space.
-          while (_isspace(HEAP8[(str)])) str++;
-      
-          // Check for a plus/minus sign.
-          if (HEAP8[(str)] == 45) {
-            str++;
-            isNegative = true;
-          } else if (HEAP8[(str)] == 43) {
-            str++;
-          }
-      
-          // Find base.
-          var ok = false;
-          var finalBase = base;
-          if (!finalBase) {
-            if (HEAP8[(str)] == 48) {
-              if (HEAP8[((str+1)|0)] == 120 ||
-                  HEAP8[((str+1)|0)] == 88) {
-                finalBase = 16;
-                str += 2;
-              } else {
-                finalBase = 8;
-                ok = true; // we saw an initial zero, perhaps the entire thing is just "0"
-              }
-            }
-          } else if (finalBase==16) {
-            if (HEAP8[(str)] == 48) {
-              if (HEAP8[((str+1)|0)] == 120 ||
-                  HEAP8[((str+1)|0)] == 88) {
-                str += 2;
-              }
-            }
-          }
-          if (!finalBase) finalBase = 10;
-          var start = str;
-      
-          // Get digits.
-          var chr;
-          while ((chr = HEAP8[(str)]) != 0) {
-            var digit = parseInt(String.fromCharCode(chr), finalBase);
-            if (isNaN(digit)) {
-              break;
-            } else {
-              str++;
-              ok = true;
-            }
-          }
-      
-          if (!ok) {
-            ___setErrNo(ERRNO_CODES.EINVAL);
-            return ((asm["setTempRet0"](0),0)|0);
-          }
-      
-          // Set end pointer.
-          if (endptr) {
-            HEAP32[((endptr)>>2)]=str;
-          }
-      
-          try {
-            var numberString = isNegative ? '-'+Pointer_stringify(start, str - start) : Pointer_stringify(start, str - start);
-            i64Math.fromString(numberString, finalBase, min, max, unsign);
-          } catch(e) {
-            ___setErrNo(ERRNO_CODES.ERANGE); // not quite correct
-          }
-      
-          return ((asm["setTempRet0"](((HEAP32[(((tempDoublePtr)+(4))>>2)])|0)),((HEAP32[((tempDoublePtr)>>2)])|0))|0);
-        }function _strtoull(str, endptr, base) {
-          return __parseInt64(str, endptr, base, 0, '18446744073709551615', true);  // ULONG_MAX.
-        }function _strtoull_l(str, endptr, base) {
-          return _strtoull(str, endptr, base); // no locale support yet
-        }
-    
-      
-      function _strtoll(str, endptr, base) {
-          return __parseInt64(str, endptr, base, '-9223372036854775808', '9223372036854775807');  // LLONG_MIN, LLONG_MAX.
-        }function _strtoll_l(str, endptr, base) {
-          return _strtoll(str, endptr, base); // no locale support yet
-        }
-    
-      function _uselocale(locale) {
-          return 0;
-        }
-    
-      
-      function _asprintf(s, format, varargs) {
-          return _sprintf(-s, format, varargs);
-        }function _vasprintf(s, format, va_arg) {
-          return _asprintf(s, format, HEAP32[((va_arg)>>2)]);
-        }
-    
-      function _vsnprintf(s, n, format, va_arg) {
-          return _snprintf(s, n, format, HEAP32[((va_arg)>>2)]);
-        }
-    
-      function _vsscanf(s, format, va_arg) {
-          return _sscanf(s, format, HEAP32[((va_arg)>>2)]);
-        }
-    
-    
-      var _fabs=Math_abs;
-    
-      function _sbrk(bytes) {
-          // Implement a Linux-like 'memory area' for our 'process'.
-          // Changes the size of the memory area by |bytes|; returns the
-          // address of the previous top ('break') of the memory area
-          // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP
-          var self = _sbrk;
-          if (!self.called) {
-            DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned
-            self.called = true;
-            assert(Runtime.dynamicAlloc);
-            self.alloc = Runtime.dynamicAlloc;
-            Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') };
-          }
-          var ret = DYNAMICTOP;
-          if (bytes != 0) self.alloc(bytes);
-          return ret;  // Previous break location.
-        }
-    
-      function _time(ptr) {
-          var ret = Math.floor(Date.now()/1000);
-          if (ptr) {
-            HEAP32[((ptr)>>2)]=ret;
-          }
-          return ret;
-        }
-    
-      function ___cxa_call_unexpected(exception) {
-          Module.printErr('Unexpected exception thrown, this is not properly supported - aborting');
-          ABORT = true;
-          throw exception;
-        }
-    
-      
-      function _copysign(a, b) {
-          return __reallyNegative(a) === __reallyNegative(b) ? a : -a;
-        }var _copysignl=_copysign;
-    
-      
-      function _fmod(x, y) {
-          return x % y;
-        }var _fmodl=_fmod;
-    
-    
-    
-    
-    
-       
-      Module["_emscripten_replace_memory"] = _emscripten_replace_memory;
-    FS.staticInit();__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: function() { FS.quit() } });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;
-    ___errno_state = Runtime.staticAlloc(4); HEAP32[((___errno_state)>>2)]=0;
-    __ATINIT__.unshift({ func: function() { TTY.init() } });__ATEXIT__.push({ func: function() { TTY.shutdown() } });TTY.utf8 = new Runtime.UTF8Processor();
-    if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); NODEFS.staticInit(); }
-    __ATINIT__.push({ func: function() { SOCKFS.root = FS.mount(SOCKFS, {}, null); } });
-    _fgetc.ret = allocate([0], "i8", ALLOC_STATIC);
-    STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
-    
-    staticSealed = true; // seal the static portion of memory
-    
-    STACK_MAX = STACK_BASE + 5242880;
-    
-    DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX);
-    
-    assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
-    
-     var ctlz_i8 = allocate([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_DYNAMIC);
-     var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC);
-    
-    var Math_min = Math.min;
-    function invoke_viiiii(index,a1,a2,a3,a4,a5) {
-      try {
-        Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_vi(index,a1) {
-      try {
-        Module["dynCall_vi"](index,a1);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_vii(index,a1,a2) {
-      try {
-        Module["dynCall_vii"](index,a1,a2);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_ii(index,a1) {
-      try {
-        return Module["dynCall_ii"](index,a1);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_iiiiii(index,a1,a2,a3,a4,a5) {
-      try {
-        return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_iiii(index,a1,a2,a3) {
-      try {
-        return Module["dynCall_iiii"](index,a1,a2,a3);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiid(index,a1,a2,a3,a4,a5,a6) {
-      try {
-        Module["dynCall_viiiiid"](index,a1,a2,a3,a4,a5,a6);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) {
-      try {
-        Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
-      try {
-        Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) {
-      try {
-        Module["dynCall_viiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) {
-      try {
-        Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiiid(index,a1,a2,a3,a4,a5,a6,a7) {
-      try {
-        Module["dynCall_viiiiiid"](index,a1,a2,a3,a4,a5,a6,a7);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) {
-      try {
-        Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) {
-      try {
-        Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_iii(index,a1,a2) {
-      try {
-        return Module["dynCall_iii"](index,a1,a2);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) {
-      try {
-        Module["dynCall_viiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_iiiii(index,a1,a2,a3,a4) {
-      try {
-        return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viii(index,a1,a2,a3) {
-      try {
-        Module["dynCall_viii"](index,a1,a2,a3);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_v(index) {
-      try {
-        Module["dynCall_v"](index);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) {
-      try {
-        return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function invoke_viiii(index,a1,a2,a3,a4) {
-      try {
-        Module["dynCall_viiii"](index,a1,a2,a3,a4);
-      } catch(e) {
-        if (typeof e !== 'number' && e !== 'longjmp') throw e;
-        asm["setThrew"](1, 0);
-      }
-    }
-    
-    function asmPrintInt(x, y) {
-      Module.print('int ' + x + ',' + y);// + ' ' + new Error().stack);
-    }
-    function asmPrintFloat(x, y) {
-      Module.print('float ' + x + ',' + y);// + ' ' + new Error().stack);
-    }
-    // EMSCRIPTEN_START_ASM
-    var asm=(function(global,env,buffer){"almost asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=env._stdin|0;var p=env.__ZTVN10__cxxabiv117__class_type_infoE|0;var q=env._stderr|0;var r=env.__ZTISt9exception|0;var s=env.__ZTVN10__cxxabiv120__si_class_type_infoE|0;var t=env._stdout|0;var u=env.___dso_handle|0;var v=+env.NaN;var w=+env.Infinity;var x=0;var y=0;var z=0;var A=0;var B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0.0;var K=0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=global.Math.floor;var V=global.Math.abs;var W=global.Math.sqrt;var X=global.Math.pow;var Y=global.Math.cos;var Z=global.Math.sin;var _=global.Math.tan;var $=global.Math.acos;var aa=global.Math.asin;var ba=global.Math.atan;var ca=global.Math.atan2;var da=global.Math.exp;var ea=global.Math.log;var fa=global.Math.ceil;var ga=global.Math.imul;var ha=env.abort;var ia=env.assert;var ja=env.asmPrintInt;var ka=env.asmPrintFloat;var la=env.min;var ma=env.invoke_viiiii;var na=env.invoke_vi;var oa=env.invoke_vii;var pa=env.invoke_ii;var qa=env.invoke_iiiiii;var ra=env.invoke_iiii;var sa=env.invoke_viiiiid;var ta=env.invoke_viiiiiiii;var ua=env.invoke_viiiiii;var va=env.invoke_viiiiiiiiiiiii;var wa=env.invoke_viiiiiii;var xa=env.invoke_viiiiiid;var ya=env.invoke_viiiiiiiii;var za=env.invoke_viiiiiiiiii;var Aa=env.invoke_iii;var Ba=env.invoke_viiiiiiiiiiii;var Ca=env.invoke_iiiii;var Da=env.invoke_viii;var Ea=env.invoke_v;var Fa=env.invoke_iiiiiiiii;var Ga=env.invoke_viiii;var Ha=env._llvm_lifetime_end;var Ia=env.__scanString;var Ja=env._pthread_mutex_lock;var Ka=env.___cxa_end_catch;var La=env._strtoull;var Ma=env._fflush;var Na=env.__isLeapYear;var Oa=env._fwrite;var Pa=env._send;var Qa=env._pthread_mutex_init;var Ra=env._llvm_umul_with_overflow_i32;var Sa=env._isspace;var Ta=env._read;var Ua=env._isxdigit_l;var Va=env._fileno;var Wa=env.___cxa_guard_abort;var Xa=env._newlocale;var Ya=env.___gxx_personality_v0;var Za=env._pthread_cond_wait;var _a=env.___cxa_rethrow;var $a=env._fmod;var ab=env.___resumeException;var bb=env._llvm_va_end;var cb=env._vsscanf;var db=env._snprintf;var eb=env._fgetc;var fb=env.__getFloat;var gb=env._pthread_cond_signal;var hb=env.___cxa_free_exception;var ib=env._isdigit_l;var jb=env.___setErrNo;var kb=env._isxdigit;var lb=env._exit;var mb=env._sprintf;var nb=env._asprintf;var ob=env.___ctype_b_loc;var pb=env._freelocale;var qb=env._catgets;var rb=env.___cxa_is_number_type;var sb=env._llvm_uadd_with_overflow_i32;var tb=env.___cxa_does_inherit;var ub=env.___cxa_guard_acquire;var vb=env.___cxa_begin_catch;var wb=env._emscripten_memcpy_big;var xb=env._recv;var yb=env.__parseInt64;var zb=env.__ZSt18uncaught_exceptionv;var Ab=env.__ZNSt9exceptionD2Ev;var Bb=env._mkport;var Cb=env._copysign;var Db=env.__exit;var Eb=env._strftime;var Fb=env.___cxa_throw;var Gb=env._printf;var Hb=env._pread;var Ib=env._strtoull_l;var Jb=env.__arraySum;var Kb=env._sysconf;var Lb=env._strtoll_l;var Mb=env.___cxa_find_matching_catch;var Nb=env.__formatString;var Ob=env._pthread_cond_broadcast;var Pb=env.__ZSt9terminatev;var Qb=env._vfprintf;var Rb=env._pthread_mutex_unlock;var Sb=env.___cxa_call_unexpected;var Tb=env._sbrk;var Ub=env._atexit;var Vb=env.___errno_location;var Wb=env._strerror;var Xb=env._pthread_mutex_destroy;var Yb=env._catclose;var Zb=env._llvm_lifetime_start;var _b=env.___cxa_guard_release;var $b=env._ungetc;var ac=env._pthread_cond_destroy;var bc=env._uselocale;var cc=env._vsnprintf;var dc=env._sscanf;var ec=env.___assert_fail;var fc=env._fread;var gc=env._strftime_l;var hc=env._abort;var ic=env._fprintf;var jc=env._isdigit;var kc=env._strtoll;var lc=env.__addDays;var mc=env._fabs;var nc=env.__reallyNegative;var oc=env._write;var pc=env.___cxa_allocate_exception;var qc=env.___cxa_pure_virtual;var rc=env._vasprintf;var sc=env._catopen;var tc=env.___ctype_toupper_loc;var uc=env.___ctype_tolower_loc;var vc=env._pthread_join;var wc=env._pthread_cond_init;var xc=env._pwrite;var yc=env._strerror_r;var zc=env._pthread_create;var Ac=env._time;var Bc=0.0;
-    // EMSCRIPTEN_START_FUNCS
-    function Xc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+7&-8;return b|0}function Yc(){return i|0}function Zc(a){a=a|0;i=a}function _c(a,b){a=a|0;b=b|0;if((x|0)==0){x=a;y=b}}function $c(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0]}function ad(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0];a[k+4|0]=a[b+4|0];a[k+5|0]=a[b+5|0];a[k+6|0]=a[b+6|0];a[k+7|0]=a[b+7|0]}function bd(a){a=a|0;K=a}function cd(a){a=a|0;L=a}function dd(a){a=a|0;M=a}function ed(a){a=a|0;N=a}function fd(a){a=a|0;O=a}function gd(a){a=a|0;P=a}function hd(a){a=a|0;Q=a}function id(a){a=a|0;R=a}function jd(a){a=a|0;S=a}function kd(a){a=a|0;T=a}function ld(){c[6380]=p+8;c[6382]=s+8;c[6384]=r;c[6386]=s+8;c[6388]=r;c[6390]=s+8;c[6392]=r;c[6394]=s+8;c[6398]=s+8;c[6400]=r;c[6402]=p+8;c[6436]=s+8;c[6440]=s+8;c[6504]=s+8;c[6508]=s+8;c[6528]=p+8;c[6530]=s+8;c[6566]=s+8;c[6570]=s+8;c[6606]=s+8;c[6610]=s+8;c[6630]=p+8;c[6632]=p+8;c[6634]=s+8;c[6638]=s+8;c[6642]=s+8;c[6646]=p+8;c[6648]=p+8;c[6650]=p+8;c[6652]=p+8;c[6654]=p+8;c[6656]=p+8;c[6658]=p+8;c[6684]=s+8;c[6688]=p+8;c[6690]=s+8;c[6694]=s+8;c[6698]=s+8;c[6702]=p+8;c[6704]=p+8;c[6706]=p+8;c[6708]=p+8;c[6742]=p+8;c[6744]=p+8;c[6746]=p+8;c[6748]=s+8;c[6752]=s+8;c[6756]=s+8;c[6760]=s+8;c[6764]=s+8;c[6768]=s+8;c[6772]=s+8;c[6776]=s+8;c[6780]=s+8;c[6784]=s+8;c[6788]=s+8;c[6798]=p+8;c[6800]=p+8}function md(a,b,e){a=a|0;b=b|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,p=0,q=0,r=0;f=a|0;c[f>>2]=b;g=a+4|0;c[g>>2]=e;h=a+8|0;c[h>>2]=0;c[h+4>>2]=0;i=a+16|0;c[i>>2]=0;a=64;j=e;e=b;b=0;k=0;while(1){if((j|0)==0){l=a;m=4;break}n=e+1|0;c[f>>2]=n;o=d[e]|0;p=j-1|0;c[g>>2]=p;q=a-8|0;r=jv(o|0,0,q|0)|0;o=r|k;r=K|b;c[h>>2]=o;c[h+4>>2]=r;if((q|0)>7){a=q;j=p;e=n;b=r;k=o}else{l=q;m=4;break}}if((m|0)==4){c[i>>2]=64-l;return}}function nd(a,b){a=a|0;b=b|0;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,q=0,r=0;e=a+16|0;f=c[e>>2]|0;if((f|0)<(b|0)){g=64-f|0;h=a+4|0;a:do{if((g|0)>7){i=a|0;j=a+8|0;k=g;l=c[h>>2]|0;while(1){if((l|0)==0){m=k;break a}n=c[i>>2]|0;c[i>>2]=n+1;o=d[n]|0;n=l-1|0;c[h>>2]=n;p=k-8|0;q=jv(o|0,0,p|0)|0;o=K|c[j+4>>2];c[j>>2]=q|c[j>>2];c[j+4>>2]=o;if((p|0)>7){k=p;l=n}else{m=p;break}}}else{m=g}}while(0);g=64-m|0;c[e>>2]=g;r=g}else{r=f}f=a+8|0;a=c[f>>2]|0;g=c[f+4>>2]|0;m=kv(a|0,g|0,64-b|0)|0;h=jv(a|0,g|0,b|0)|0;c[f>>2]=h;c[f+4>>2]=K;c[e>>2]=r-b;return m|0}function od(a,b){a=a|0;b=b|0;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,q=0,r=0;e=a+16|0;f=c[e>>2]|0;if((f|0)<(b|0)){g=64-f|0;h=a+4|0;a:do{if((g|0)>7){i=a|0;j=a+8|0;k=g;l=c[h>>2]|0;while(1){if((l|0)==0){m=k;break a}n=c[i>>2]|0;c[i>>2]=n+1;o=d[n]|0;n=l-1|0;c[h>>2]=n;p=k-8|0;q=jv(o|0,0,p|0)|0;o=K|c[j+4>>2];c[j>>2]=q|c[j>>2];c[j+4>>2]=o;if((p|0)>7){k=p;l=n}else{m=p;break}}}else{m=g}}while(0);g=64-m|0;c[e>>2]=g;r=g}else{r=f}f=a+8|0;a=jv(c[f>>2]|0,c[f+4>>2]|0,b|0)|0;c[f>>2]=a;c[f+4>>2]=K;c[e>>2]=r-b;return}function pd(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+16|0;d=a+8|0;e=(c[b>>2]&-8|0)/8|0;f=a|0;c[f>>2]=(c[f>>2]|0)+(-e|0);f=a+4|0;c[f>>2]=(c[f>>2]|0)+e;c[d>>2]=0;c[d+4>>2]=0;c[b>>2]=0;return}function qd(a){a=a|0;var b=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,A=0,B=0;b=a+16|0;e=a+4|0;f=a|0;g=a+8|0;a=0;h=c[b>>2]|0;while(1){if((h|0)<1){i=64-h|0;a:do{if((i|0)>7){j=i;k=c[e>>2]|0;while(1){if((k|0)==0){l=j;break a}m=c[f>>2]|0;c[f>>2]=m+1;n=d[m]|0;m=k-1|0;c[e>>2]=m;o=j-8|0;p=jv(n|0,0,o|0)|0;n=K|c[g+4>>2];c[g>>2]=p|c[g>>2];c[g+4>>2]=n;if((o|0)>7){j=o;k=m}else{l=o;break}}}else{l=i}}while(0);i=64-l|0;c[b>>2]=i;q=i}else{q=h}i=c[g>>2]|0;k=c[g+4>>2]|0;r=i<<1|0>>>31;s=k<<1|i>>>31;c[g>>2]=r;c[g+4>>2]=s;t=q-1|0;c[b>>2]=t;j=-1;if(!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>-1>>>0)){break}if((a|0)>19){u=-99999;v=19;break}else{a=a+1|0;h=t}}if((v|0)==19){return u|0}if((a|0)==0){u=0;return u|0}if((q|0)>(a|0)){w=t;x=s;y=r}else{t=65-q|0;b:do{if((t|0)>7){q=t;v=c[e>>2]|0;h=s;l=r;while(1){if((v|0)==0){z=q;A=h;B=l;break b}i=c[f>>2]|0;c[f>>2]=i+1;j=d[i]|0;i=v-1|0;c[e>>2]=i;k=q-8|0;o=jv(j|0,0,k|0)|0;j=o|l;o=K|h;c[g>>2]=j;c[g+4>>2]=o;if((k|0)>7){q=k;v=i;h=o;l=j}else{z=k;A=o;B=j;break}}}else{z=t;A=s;B=r}}while(0);r=64-z|0;c[b>>2]=r;w=r;x=A;y=B}B=kv(y|0,x|0,64-a|0)|0;A=jv(y|0,x|0,a|0)|0;c[g>>2]=A;c[g+4>>2]=K;c[b>>2]=w-a;w=(1<<a)-1+B|0;if((w|0)>0){u=w;return u|0}else{ec(12320,15064,146,17992);return 0}return 0}function rd(a){a=a|0;var b=0,c=0;b=qd(a)|0;if((b|0)==(-99999|0)){c=-99999}else if((b|0)==0){c=0}else{c=(((b&1|0)==0?-b|0:b+1|0)|0)/2|0}return c|0}function sd(a,b,d){a=a|0;b=b|0;d=d|0;if((d|0)>-1){c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=b+d;return}else{ec(1440,13952,138,18864)}}function td(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+4|0;f=c[e>>2]|0;g=(c[a+8>>2]|0)-f|0;c[a+12>>2]=510;h=a+20|0;b[h>>1]=8;i=a+16|0;c[i>>2]=0;if((g|0)<=0){return}a=f+1|0;c[e>>2]=a;j=(d[f]|0)<<8;c[i>>2]=j;b[h>>1]=0;if((g|0)<=1){return}c[e>>2]=f+2;c[i>>2]=j|(d[a]|0);b[h>>1]=-8;return}function ud(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=f+12|0;i=c[h>>2]|0;j=g|0;g=d[(i>>>6)-4+(27288+(((d[j]|0)>>>1&255)<<2))|0]|0;k=i-g|0;c[h>>2]=k;i=k<<7;l=f+16|0;m=c[l>>2]|0;if(m>>>0<i>>>0){n=a[j]|0;o=n&1;p=o&255;a[j]=a[30416+((n&255)>>>1&255)|0]<<1|o;if(!(i>>>0<32768>>>0)){q=p;return q|0}c[h>>2]=k<<1&67108862;k=c[l>>2]<<1;c[l>>2]=k;o=f+20|0;n=(b[o>>1]|0)+1&65535;b[o>>1]=n;if(!(n<<16>>16==0)){q=p;return q|0}b[o>>1]=-8;o=f+4|0;n=c[o>>2]|0;if(!(n>>>0<(c[f+8>>2]|0)>>>0)){q=p;return q|0}c[o>>2]=n+1;c[l>>2]=k|(d[n]|0);q=p;return q|0}else{p=d[30736+(g>>>3)|0]|0;c[l>>2]=m-i<<p;c[h>>2]=g<<p;g=a[j]|0;h=g&1^1;if((g&255)>>>0<2>>>0){i=h&255|g&-2;a[j]=i;r=i}else{r=g}a[j]=a[30480+((r&255)>>>1&255)|0]<<1|r&1;r=f+20|0;j=(e[r>>1]|0)+p&65535;b[r>>1]=j;if(!(j<<16>>16>-1)){q=h;return q|0}p=f+4|0;g=c[p>>2]|0;if(g>>>0<(c[f+8>>2]|0)>>>0){c[p>>2]=g+1;c[l>>2]=(d[g]|0)<<(j<<16>>16)|c[l>>2]}b[r>>1]=j-8;q=h;return q|0}return 0}function vd(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+12|0;f=(c[e>>2]|0)-2|0;c[e>>2]=f;g=f<<7;h=a+16|0;i=c[h>>2]|0;if(!(i>>>0<g>>>0)){j=1;return j|0}if(!(g>>>0<32768>>>0)){j=0;return j|0}c[e>>2]=f<<1&67108862;f=i<<1;c[h>>2]=f;i=a+20|0;e=(b[i>>1]|0)+1&65535;b[i>>1]=e;if(!(e<<16>>16==0)){j=0;return j|0}b[i>>1]=-8;i=a+4|0;e=c[i>>2]|0;if(!(e>>>0<(c[a+8>>2]|0)>>>0)){j=0;return j|0}c[i>>2]=e+1;c[h>>2]=f+(d[e]|0);j=0;return j|0}function wd(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+16|0;f=c[e>>2]<<1;c[e>>2]=f;g=a+20|0;h=(b[g>>1]|0)+1&65535;b[g>>1]=h;do{if(h<<16>>16>-1){i=a+4|0;j=c[i>>2]|0;if(!((c[a+8>>2]|0)>>>0>j>>>0)){k=f;break}b[g>>1]=-8;c[i>>2]=j+1;i=f|(d[j]|0);c[e>>2]=i;k=i}else{k=f}}while(0);f=c[a+12>>2]<<7;if(k>>>0<f>>>0){l=0;return l|0}c[e>>2]=k-f;l=1;return l|0}function xd(a,e){a=a|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,p=0,q=0,r=0,s=0,t=0;if((e|0)<=0){f=e;return f|0}g=a+16|0;h=a+20|0;i=a+8|0;j=a+4|0;k=a+12|0;a=0;l=c[g>>2]|0;m=b[h>>1]|0;while(1){n=l<<1;c[g>>2]=n;o=m+1&65535;b[h>>1]=o;do{if(o<<16>>16>-1){p=c[j>>2]|0;if(!((c[i>>2]|0)>>>0>p>>>0)){q=n;r=o;break}b[h>>1]=-8;c[j>>2]=p+1;s=d[p]|0|n;c[g>>2]=s;q=s;r=-8}else{q=n;r=o}}while(0);o=c[k>>2]<<7;if(q>>>0<o>>>0){f=a;t=8;break}n=q-o|0;c[g>>2]=n;o=a+1|0;if((o|0)<(e|0)){a=o;l=n;m=r}else{f=e;t=8;break}}if((t|0)==8){return f|0}return 0}function yd(a,f){a=a|0;f=f|0;var 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;if((f|0)<9){if((f|0)==0){g=0;return g|0}h=a+16|0;i=c[h>>2]<<f;c[h>>2]=i;j=a+20|0;k=(e[j>>1]|0)+f&65535;b[j>>1]=k;do{if(k<<16>>16>-1){l=a+4|0;m=c[l>>2]|0;if(!((c[a+8>>2]|0)>>>0>m>>>0)){n=i;break}c[l>>2]=m+1;l=(d[m]|0)<<(k<<16>>16);b[j>>1]=k-8;m=l|i;c[h>>2]=m;n=m}else{n=i}}while(0);i=c[a+12>>2]<<7;k=(n>>>0)/(i>>>0)|0;j=1<<f;m=(k|0)<(j|0)?k:j-1|0;j=n-(ga(m,i)|0)|0;c[h>>2]=j;g=m;return g|0}m=a+16|0;j=c[m>>2]<<8;c[m>>2]=j;h=a+20|0;i=b[h>>1]|0;n=i+8&65535;b[h>>1]=n;do{if(n<<16>>16>-1){k=a+4|0;l=c[k>>2]|0;if(!((c[a+8>>2]|0)>>>0>l>>>0)){o=j;p=n;break}c[k>>2]=l+1;k=(d[l]|0)<<(n<<16>>16);b[h>>1]=i;l=k|j;c[m>>2]=l;o=l;p=i}else{o=j;p=n}}while(0);n=c[a+12>>2]<<7;j=(o>>>0)/(n>>>0)|0;i=(j|0)>255?255:j;j=o-(ga(i,n)|0)|0;c[m>>2]=j;o=f-8|0;if((o|0)==0){g=i;return g|0}f=a+8|0;l=a+4|0;a=o;o=i;i=j;j=p;while(1){p=a-1|0;k=o<<1;q=i<<1;c[m>>2]=q;r=j+1&65535;b[h>>1]=r;do{if(r<<16>>16>-1){s=c[l>>2]|0;if(!((c[f>>2]|0)>>>0>s>>>0)){t=q;u=r;break}b[h>>1]=-8;c[l>>2]=s+1;v=d[s]|0|q;c[m>>2]=v;t=v;u=-8}else{t=q;u=r}}while(0);if(t>>>0<n>>>0){w=0;x=t}else{r=t-n|0;c[m>>2]=r;w=1;x=r}r=w|k;if((p|0)==0){g=r;break}else{a=p;o=r;i=x;j=u}}return g|0}function zd(a,e){a=a|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=a+16|0;g=a+20|0;h=a+8|0;i=a+4|0;j=a+12|0;k=e+31|0;l=0;m=e;e=c[f>>2]|0;n=b[g>>1]|0;while(1){o=e<<1;c[f>>2]=o;p=n+1&65535;b[g>>1]=p;do{if(p<<16>>16>-1){q=c[i>>2]|0;if(!((c[h>>2]|0)>>>0>q>>>0)){r=o;s=p;break}b[g>>1]=-8;c[i>>2]=q+1;t=d[q]|0|o;c[f>>2]=t;r=t;s=-8}else{r=o;s=p}}while(0);p=c[j>>2]<<7;if(r>>>0<p>>>0){break}o=r-p|0;c[f>>2]=o;if((m|0)==(k|0)){u=0;v=8;break}else{l=l+(1<<m)|0;m=m+1|0;e=o;n=s}}if((v|0)==8){return u|0}u=(yd(a,m)|0)+l|0;return u|0}function Ad(a){a=a|0;vb(a|0)|0;Pb()}function Bd(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+16|0;l=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[l>>2];l=k|0;m=d|0;d=c[m>>2]|0;if((d|0)==0){c[b>>2]=0;i=k;return}n=g;g=e;o=n-g|0;p=h+12|0;h=c[p>>2]|0;q=(h|0)>(o|0)?h-o|0:0;o=f;h=o-g|0;do{if((h|0)>0){if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,e,h)|0)==(h|0)){break}c[m>>2]=0;c[b>>2]=0;i=k;return}}while(0);do{if((q|0)>0){if(q>>>0<11>>>0){h=q<<1&255;e=l;a[e]=h;r=l+1|0;s=h;t=e}else{e=q+16&-16;h=Nu(e)|0;c[l+8>>2]=h;g=e|1;c[l>>2]=g;c[l+4>>2]=q;r=h;s=g&255;t=l}dv(r|0,j|0,q|0)|0;a[r+q|0]=0;if((s&1)==0){u=l+1|0}else{u=c[l+8>>2]|0}if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,u,q)|0)==(q|0)){if((a[t]&1)==0){break}Pu(c[l+8>>2]|0);break}c[m>>2]=0;c[b>>2]=0;if((a[t]&1)==0){i=k;return}Pu(c[l+8>>2]|0);i=k;return}}while(0);l=n-o|0;do{if((l|0)>0){if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,f,l)|0)==(l|0)){break}c[m>>2]=0;c[b>>2]=0;i=k;return}}while(0);c[p>>2]=0;c[b>>2]=d;i=k;return}function Cd(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;if((a[51944]|0)!=0){Gb(12840,(f=i,i=i+16|0,c[f>>2]=b,c[f+8>>2]=d,f)|0)|0;i=f}f=c[d+4>>2]|0;if((f|0)!=0){c[f>>2]=(c[f>>2]|0)+1}c[b+4>>2]=f;c[b>>2]=c[d>>2];i=e;return}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;if((a[51944]|0)!=0){Gb(16064,(e=i,i=i+8|0,c[e>>2]=b,e)|0)|0;i=e}f=b+4|0;g=c[f>>2]|0;if((g|0)==0){i=d;return}h=(c[g>>2]|0)-1|0;c[g>>2]=h;if((h|0)!=0){i=d;return}h=b|0;if((a[51944]|0)!=0){Gb(13256,(e=i,i=i+8|0,c[e>>2]=c[h>>2],e)|0)|0;i=e}e=c[h>>2]|0;if((e|0)!=0){Qu(e|0)}e=c[f>>2]|0;if((e|0)==0){i=d;return}Pu(e);i=d;return}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;if((a[51944]|0)!=0){Gb(10456,(g=i,i=i+8|0,c[g>>2]=b,g)|0)|0;i=g}h=b+4|0;j=c[h>>2]|0;do{if((j|0)!=0){k=c[j>>2]|0;if((k|0)==1){l=c[b>>2]|0;Gd(l,d,e);i=f;return}if((k|0)>1){c[j>>2]=k-1;break}else{ec(608,2464,177,17440)}}}while(0);if((a[51944]|0)!=0){Gb(17056,(g=i,i=i+8|0,c[g>>2]=b,g)|0)|0;i=g}g=Ou(172)|0;c[b>>2]=g;b=Nu(4)|0;c[h>>2]=b;c[b>>2]=1;l=g;Gd(l,d,e);i=f;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;do{if((d|0)>0){f=d-1|0;Kd(e,b+5|0,c[30216+(f*12|0)>>2]|0,1);Kd(e,b+6|0,c[30220+(f*12|0)>>2]|0,1);Kd(e,b+7|0,c[30224+(f*12|0)>>2]|0,1);Kd(e,b+149|0,c[30152+(f<<2)>>2]|0,1);Kd(e,b+147|0,c[30240+(f<<2)>>2]|0,1);Kd(e,b+148|0,c[30336+(f<<2)>>2]|0,1);Kd(e,b+156|0,95,1);Kd(e,b+157|0,79,1);Kd(e,b+158|0,63,1);Kd(e,b+159|0,31,1);Kd(e,b+160|0,31,1);Kd(e,b+154|0,153,1);Kd(e,b+155|0,153,1);f=(d|0)==1?0:2;Kd(e,b+150|0,c[29904+(f<<2)>>2]|0,1);Kd(e,b+151|0,c[29904+((f|1)<<2)>>2]|0,1);Kd(e,b+152|0,168,1);Kd(e,b+153|0,79,1);f=(e|0)<0;do{if(f){g=72}else{h=((e*-5|0)>>4)+72|0;i=(e|0)<52;if((h|0)<1&i){g=1;break}if((h|0)>126&i){g=126;break}g=(e|0)>51?56:h}}while(0);h=(g|0)>63;i=h?g+64|0:63-g|0;j=(i&255)<<1|h&1;h=b+143|0;if(!((i&127)>>>0<63>>>0)){a[h]=j;ec(16144,2464,210,17960)}dv(h|0,j|0,2)|0;do{if(f){k=72}else{j=((e*-5|0)>>4)+72|0;h=(e|0)<52;if((j|0)<1&h){k=1;break}if((j|0)>126&h){k=126;break}k=(e|0)>51?56:j}}while(0);f=(k|0)>63;j=f?k+64|0:63-k|0;h=(j&255)<<1|f&1;f=b+145|0;if((j&127)>>>0<63>>>0){dv(f|0,h|0,2)|0;break}else{a[f]=h;ec(16144,2464,210,17960)}}}while(0);Kd(e,b+2|0,c[30160+(d*12|0)>>2]|0,1);Kd(e,b+3|0,c[30164+(d*12|0)>>2]|0,1);Kd(e,b+4|0,c[30168+(d*12|0)>>2]|0,1);k=(d|0)!=2?d:5;Kd(e,b+8|0,c[30296+(k<<2)>>2]|0,1);Kd(e,b+9|0,c[30296+(k+1<<2)>>2]|0,1);Kd(e,b+10|0,c[30296+(k+2<<2)>>2]|0,1);Kd(e,b+11|0,c[30296+(k+3<<2)>>2]|0,1);Kd(e,b+12|0,c[29352+(d<<2)>>2]|0,1);Kd(e,b+13|0,c[29888+(d<<2)>>2]|0,1);k=(d|0)==0?0:2;Kd(e,b+14|0,c[30344+(k<<2)>>2]|0,1);Kd(e,b+15|0,c[30344+((k|1)<<2)>>2]|0,1);k=d<<2;Kd(e,b+16|0,c[30248+(k<<2)>>2]|0,1);g=k|1;Kd(e,b+17|0,c[30248+(g<<2)>>2]|0,1);h=k|2;Kd(e,b+18|0,c[30248+(h<<2)>>2]|0,1);f=k|3;Kd(e,b+19|0,c[30248+(f<<2)>>2]|0,1);j=d*3|0;Kd(e,b+20|0,c[29936+(j<<2)>>2]|0,1);Kd(e,b+21|0,c[29936+(j+1<<2)>>2]|0,1);Kd(e,b+22|0,c[29936+(j+2<<2)>>2]|0,1);j=d*18|0;i=0;while(1){Kd(e,b+(i+25)|0,c[28736+(i+j<<2)>>2]|0,1);l=i+1|0;if((l|0)<18){i=l}else{m=0;break}}do{Kd(e,b+(m+43)|0,c[28736+(m+j<<2)>>2]|0,1);m=m+1|0;}while((m|0)<18);Kd(e,b+61|0,c[29976+(k<<2)>>2]|0,1);Kd(e,b+62|0,c[29976+(g<<2)>>2]|0,1);Kd(e,b+63|0,c[29976+(h<<2)>>2]|0,1);Kd(e,b+64|0,c[29976+(f<<2)>>2]|0,1);f=0;do{Kd(e,b+(f+65)|0,c[29384+(d*168|0)+(f<<2)>>2]|0,1);f=f+1|0;}while((f|0)<42);Kd(e,b+107|0,c[28952+(d<<3)>>2]|0,1);Kd(e,b+108|0,c[28956+(d<<3)>>2]|0,1);f=d*24|0;h=0;do{Kd(e,b+(h+109)|0,c[29048+(h+f<<2)>>2]|0,1);h=h+1|0;}while((h|0)<24);h=d*6|0;Kd(e,b+133|0,c[28976+(h<<2)>>2]|0,1);Kd(e,b+134|0,c[28976+((h|1)<<2)>>2]|0,1);Kd(e,b+135|0,c[28976+(h+2<<2)>>2]|0,1);Kd(e,b+136|0,c[28976+(h+3<<2)>>2]|0,1);Kd(e,b+137|0,c[28976+(h+4<<2)>>2]|0,1);Kd(e,b+138|0,c[28976+(h+5<<2)>>2]|0,1);Kd(e,b,c[29920+(d<<2)>>2]|0,1);Kd(e,b+1|0,c[29336+(d<<2)>>2]|0,1);Kd(e,b+139|0,154,1);Kd(e,b+140|0,154,1);Kd(e,b+141|0,139,1);Kd(e,b+142|0,139,1);Kd(e,b+161|0,c[29368+(d<<2)>>2]|0,1);a[b+23|0]=1;a[b+24|0]=1;dv(b+162|0,1,10)|0;return}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+4|0;if((a[51944]|0)!=0){f=c[e>>2]|0;Gb(7336,(g=i,i=i+16|0,c[g>>2]=b,c[g+8>>2]=f,g)|0)|0;i=g}g=c[e>>2]|0;if((g|0)==0){i=d;return}c[g>>2]=(c[g>>2]|0)-1;c[b>>2]=0;c[e>>2]=0;i=d;return}function Id(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+4|0;if((a[51944]|0)!=0){f=c[e>>2]|0;Gb(5320,(g=i,i=i+16|0,c[g>>2]=b,c[g+8>>2]=f,g)|0)|0;i=g}g=c[e>>2]|0;if((g|0)==0){ec(3784,2464,95,17424)}f=c[g>>2]|0;if((f|0)<=1){i=d;return}c[g>>2]=f-1;f=b|0;b=c[f>>2]|0;g=Ou(172)|0;c[f>>2]=g;f=Nu(4)|0;c[e>>2]=f;c[f>>2]=1;cv(g|0,b|0,172)|0;i=d;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;if((a[51944]|0)!=0){Gb(1288,(f=i,i=i+16|0,c[f>>2]=b,c[f+8>>2]=d,f)|0)|0;i=f}g=d+4|0;h=c[g>>2]|0;if((h|0)==0){j=b+4|0;if((a[51944]|0)!=0){k=c[j>>2]|0;Gb(7336,(f=i,i=i+16|0,c[f>>2]=b,c[f+8>>2]=k,f)|0)|0;i=f}k=c[j>>2]|0;if((k|0)==0){i=e;return b|0}c[k>>2]=(c[k>>2]|0)-1;c[b>>2]=0;c[j>>2]=0;i=e;return b|0}c[h>>2]=(c[h>>2]|0)+1;h=b+4|0;if((a[51944]|0)!=0){j=c[h>>2]|0;Gb(7336,(f=i,i=i+16|0,c[f>>2]=b,c[f+8>>2]=j,f)|0)|0;i=f}f=c[h>>2]|0;if((f|0)==0){l=b|0}else{c[f>>2]=(c[f>>2]|0)-1;f=b|0;c[f>>2]=0;c[h>>2]=0;l=f}c[l>>2]=c[d>>2];c[h>>2]=c[g>>2];i=e;return b|0}function Kd(b,c,d,e){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;f=((d>>4)*5|0)-45|0;g=(d<<3&120)-16|0;d=(b|0)<0;if(d){h=0}else{h=(b|0)>51?51:b}do{if((((ga(h,f)|0)>>4)+g|0)<1){i=1}else{if(d){j=0}else{j=(b|0)>51?51:b}if((((ga(j,f)|0)>>4)+g|0)>126){i=126;break}if(d){k=0}else{k=(b|0)>51?51:b}i=((ga(k,f)|0)>>4)+g|0}}while(0);if((e|0)<=0){return}g=(i|0)>63;f=g?i+64|0:63-i|0;i=(f&255)<<1|g&1;if((f&127)>>>0<63>>>0){l=0}else{a[c|0]=i;ec(16144,2464,210,17960)}do{a[c+l|0]=i;l=l+1|0;}while((l|0)<(e|0));return}function Ld(){return 8320}function Md(){return 16777728}function Nd(a){a=a|0;var b=0;switch(a|0){case 1006:{b=12544;break};case 1007:{b=12168;break};case 1008:{b=12008;break};case 1009:{b=11632;break};case 15:{b=14960;break};case 1015:{b=9944;break};case 1016:{b=9600;break};case 1017:{b=9176;break};case 1018:{b=8704;break};case 1019:{b=8520;break};case 502:{b=16032;break};case 1004:{b=13016;break};case 1005:{b=12752;break};case 1002:{b=13432;break};case 1003:{b=13224;break};case 11:{b=16968;break};case 1:{b=12824;break};case 4:{b=9888;break};case 17:{b=14400;break};case 18:{b=14136;break};case 1020:{b=8200;break};case 1021:{b=8032;break};case 1022:{b=7776;break};case 1023:{b=7480;break};case 1024:{b=7200;break};case 1025:{b=6920;break};case 1026:{b=6616;break};case 0:{b=15416;break};case 1e3:{b=13832;break};case 1001:{b=13632;break};case 16:{b=14672;break};case 1010:{b=11360;break};case 1011:{b=11088;break};case 1012:{b=10848;break};case 1013:{b=10576;break};case 1014:{b=10280;break};case 12:{b=16376;break};case 13:{b=15616;break};case 14:{b=15272;break};case 8:{b=2272;break};case 7:{b=3576;break};case 5:{b=6896;break};case 6:{b=5048;break};case 9:{b=1176;break};case 10:{b=496;break};default:{b=6440}}return b|0}function Od(a){a=a|0;var b=0;if((a|0)==0){b=1}else{b=(a|0)>999|0}return b|0}function Pd(){var a=0,b=0;do{if(((I=c[12984]|0,c[12984]=I+1,I)+1|0)<=1){Ej();if(Mj()|0){break}I=c[12984]|0,c[12984]=I-1,I;a=0;return a|0}}while(0);b=Nu(377228)|0;Le(b);if((b|0)!=0){a=b;return a|0}b=(I=c[12984]|0,c[12984]=I-1,I)-1|0;if((b|0)<0){I=c[12984]|0,c[12984]=I+1,I;a=0;return a|0}if((b|0)!=0){a=0;return a|0}Nj();a=0;return a|0}function Qd(a){a=a|0;var b=0,d=0;b=a;Oe(b);if((a|0)!=0){Dc[c[(c[a>>2]|0)+4>>2]&511](b)}b=(I=c[12984]|0,c[12984]=I-1,I)-1|0;if((b|0)<0){I=c[12984]|0,c[12984]=I+1,I;d=12;return d|0}if((b|0)!=0){d=0;return d|0}Nj();d=0;return d|0}function Rd(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 Xi(a+548|0,b,c,d,e,f)|0}function Sd(b){b=b|0;var c=0;c=b+548|0;b=c;Zi(b)|0;Zi(b)|0;a[c]=1;return 0}function Td(a,b){a=a|0;b=b|0;return cf(a,b)|0}function Ud(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 Yi(a+548|0,b,c,d,e,f)|0}function Vd(a){a=a|0;Zi(a+548|0)|0;return}function Wd(b){b=b|0;Zi(b+548|0)|0;a[b+549|0]=1;return}function Xd(a){a=a|0;Pe(a);return}function Yd(b){b=b|0;var d=0,e=0,f=0;if((c[b+376196>>2]|0)<=0){d=0;return d|0}e=c[b+376192>>2]|0;f=c[(c[(c[b+376180>>2]|0)+(e>>>10<<2)>>2]|0)+((e&1023)<<2)>>2]|0;if((f|0)==0){d=0;return d|0}a[f+100|0]=0;Dh(b+376144|0);d=f;return d|0}function Zd(a){a=a|0;var b=0,d=0;if((c[a+376196>>2]|0)<=0){b=0;return b|0}d=c[a+376192>>2]|0;b=c[(c[(c[a+376180>>2]|0)+(d>>>10<<2)>>2]|0)+((d&1023)<<2)>>2]|0;return b|0}function _d(b){b=b|0;var d=0;if((c[b+376196>>2]|0)==0){return}d=c[b+376192>>2]|0;a[(c[(c[(c[b+376180>>2]|0)+(d>>>10<<2)>>2]|0)+((d&1023)<<2)>>2]|0)+100|0]=0;Dh(b+376144|0);return}function $d(a){a=a|0;return jf(a)|0}function ae(a){a=a|0;return c[a+375908>>2]|0}function be(a,b){a=a|0;b=b|0;kf(a,b);return}function ce(a,b){a=a|0;b=b|0;mf(a,b);return}function de(a,b){a=a|0;b=b|0;return lf(a,b)|0}function ee(a){a=a|0;return nf(a+4|0)|0}function fe(b,c,d){b=b|0;c=c|0;d=d|0;if((c|0)==8){a[b+533|0]=(d|0)!=0|0;return}else if((c|0)==7){a[b+532|0]=(d|0)!=0|0;return}else if((c|0)==6){a[b+514|0]=(d|0)!=0|0;return}else if((c|0)==0){a[b+512|0]=(d|0)!=0|0;return}else{ec(6320,6192,503,17144)}}function ge(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 4:{c[a+528>>2]=d;return};case 5:{Ke(a,d);return};case 1:{c[a+516>>2]=d;return};case 2:{c[a+520>>2]=d;return};case 3:{c[a+524>>2]=d;return};default:{ec(6320,6192,536,17120)}}}function he(a,b){a=a|0;b=b|0;var c=0;if((b|0)==8){c=a+533|0}else if((b|0)==7){c=a+532|0}else if((b|0)==0){c=a+512|0}else if((b|0)==6){c=a+514|0}else{ec(6320,6192,571,17176);return 0}return d[c]|0|0}function ie(a){a=a|0;var b=0,d=0,e=0;b=c[a+584>>2]|0;d=c[a+556>>2]|0;if((d|0)==0){e=b;return e|0}e=(c[d+24>>2]|0)+b|0;return e|0}function je(a){a=a|0;return((c[a+556>>2]|0)!=0)+(c[a+580>>2]|0)|0}function ke(a,b){a=a|0;b=b|0;var d=0;if((b|0)==1|(b|0)==2){d=c[a+80>>2]|0}else if((b|0)==0){d=c[a+72>>2]|0}else{d=0}return d|0}function le(a,b){a=a|0;b=b|0;var d=0;if((b|0)==0){d=c[a+76>>2]|0}else if((b|0)==1|(b|0)==2){d=c[a+84>>2]|0}else{d=0}return d|0}function me(a,b){a=a|0;b=b|0;var d=0;if((b|0)==1|(b|0)==2){d=c[a+5768>>2]|0}else if((b|0)==0){d=c[a+5760>>2]|0}else{d=0}return d|0}function ne(a){a=a|0;return c[a+20>>2]|0}function oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(!(b>>>0<3>>>0)){ec(5944,6192,639,17240);return 0}e=c[a+60+(b<<2)>>2]|0;if((d|0)==0){return e|0}f=c[((b|0)==0?a+40|0:a+44|0)>>2]|0;if((b|0)==1|(b|0)==2){g=c[a+5768>>2]|0}else if((b|0)==0){g=c[a+5760>>2]|0}else{g=0}a=ga((g+7|0)/8|0,f)|0;c[d>>2]=a;return e|0}function pe(a,b){a=a|0;b=b|0;if(b>>>0<3>>>0){return c[a+10492+(b<<2)>>2]|0}else{ec(5944,6192,650,17208);return 0}return 0}function qe(a){a=a|0;var b=0;b=a+10480|0;return(K=c[b+4>>2]|0,c[b>>2]|0)|0}function re(a){a=a|0;return c[a+10488>>2]|0}function se(a,b){a=a|0;b=b|0;c[a+10488>>2]=b;return}function te(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var 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;k=b+10448|0;l=c[k>>2]|0;m=e>>l;if(!((m|0)>-1)){ec(8880,6264,118,17352)}n=b+10452|0;o=b+10456|0;p=b+10440|0;q=e;e=f;r=g;g=h;h=i;i=j;j=m;m=f>>l;while(1){l=c[n>>2]|0;if((j|0)>=(l|0)){s=4;break}if(!((m|0)>-1)){s=7;break}if((m|0)>=(c[o>>2]|0)){s=7;break}f=(ga(l,m)|0)+j|0;t=1<<r;if(((d[(c[p>>2]|0)+f|0]|0)&1<<g|0)==0){s=9;break}f=t>>1;l=f+q|0;u=f+e|0;f=r-1|0;v=g+1|0;te(b,q,e,f,v,h,i);te(b,l,e,f,v,16,i);te(b,q,u,f,v,h,32);w=c[k>>2]|0;x=l>>w;if((x|0)>-1){q=l;e=u;r=f;g=v;h=16;i=32;j=x;m=u>>w}else{s=4;break}}if((s|0)==4){ec(8880,6264,118,17352)}else if((s|0)==7){ec(4520,6264,119,17352)}else if((s|0)==9){s=(t|0)>0;if(!s){return}m=h&255;h=(q|0)/4|0;j=b+10472|0;g=b+10476|0;r=b+10460|0;k=0;do{p=(k+e|0)/4|0;o=c[j>>2]|0;do{if((h|0)<(o|0)){if((p|0)>=(c[g>>2]|0)){break}n=(ga(o,p)|0)+h|0;w=(c[r>>2]|0)+n|0;a[w]=a[w]|m}}while(0);k=k+4|0;}while((k|0)<(t|0));if(!s){return}s=i&255;i=(e|0)/4|0;e=b+10472|0;k=b+10476|0;m=b+10460|0;b=0;do{r=(b+q|0)/4|0;h=c[e>>2]|0;do{if((r|0)<(h|0)){if((i|0)>=(c[k>>2]|0)){break}g=(ga(h,i)|0)+r|0;j=(c[m>>2]|0)+g|0;a[j]=a[j]|s}}while(0);b=b+4|0;}while((b|0)<(t|0));return}}function ue(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=c[b+10368>>2]|0;h=e>>i;j=f>>i;if(!((h|0)>-1)){ec(8880,6264,118,17352)}i=c[b+10372>>2]|0;if((h|0)>=(i|0)){ec(8880,6264,118,17352)}if(!((j|0)>-1)){ec(4520,6264,119,17352)}if((j|0)>=(c[b+10376>>2]|0)){ec(4520,6264,119,17352)}k=(ga(i,j)|0)+h|0;h=(c[b+10360>>2]|0)+(k*3|0)|0;k=1<<g;j=1<<g-1;i=1<<g-2;switch(((d[h]|d[h+1|0]<<8)<<16>>16&65535)>>>3&255&7|0){case 2:{if((k|0)<=0){return}h=(j+e|0)/4|0;g=b+10472|0;l=b+10476|0;m=b+10460|0;n=0;do{o=(n+f|0)/4|0;p=c[g>>2]|0;do{if((h|0)<(p|0)){if((o|0)>=(c[l>>2]|0)){break}q=(ga(p,o)|0)+h|0;r=(c[m>>2]|0)+q|0;a[r]=a[r]|64}}while(0);n=n+1|0;}while((n|0)<(k|0));return};case 3:{if((k|0)<=0){return}n=(j+e|0)/4|0;m=b+10472|0;h=b+10476|0;l=b+10460|0;g=(j+f|0)/4|0;o=0;do{p=(o+f|0)/4|0;r=c[m>>2]|0;do{if((n|0)<(r|0)){if((p|0)>=(c[h>>2]|0)){s=r;break}q=(ga(r,p)|0)+n|0;t=(c[l>>2]|0)+q|0;a[t]=a[t]|64;s=c[m>>2]|0}else{s=r}}while(0);r=(o+e|0)/4|0;do{if((r|0)<(s|0)){if((g|0)>=(c[h>>2]|0)){break}p=(ga(s,g)|0)+r|0;t=(c[l>>2]|0)+p|0;a[t]=a[t]|-128}}while(0);o=o+1|0;}while((o|0)<(k|0));return};case 6:{if((k|0)<=0){return}o=(i+e|0)/4|0;l=b+10472|0;g=b+10476|0;s=b+10460|0;h=0;do{m=(h+f|0)/4|0;n=c[l>>2]|0;do{if((o|0)<(n|0)){if((m|0)>=(c[g>>2]|0)){break}r=(ga(n,m)|0)+o|0;t=(c[s>>2]|0)+r|0;a[t]=a[t]|64}}while(0);h=h+1|0;}while((h|0)<(k|0));return};case 4:{if((k|0)<=0){return}h=(i+f|0)/4|0;s=b+10472|0;o=b+10476|0;g=b+10460|0;l=0;do{m=(l+e|0)/4|0;n=c[s>>2]|0;do{if((m|0)<(n|0)){if((h|0)>=(c[o>>2]|0)){break}t=(ga(n,h)|0)+m|0;r=(c[g>>2]|0)+t|0;a[r]=a[r]|-128}}while(0);l=l+1|0;}while((l|0)<(k|0));return};case 7:{if((k|0)<=0){return}l=(j+e+i|0)/4|0;g=b+10472|0;h=b+10476|0;o=b+10460|0;s=0;do{m=(s+f|0)/4|0;n=c[g>>2]|0;do{if((l|0)<(n|0)){if((m|0)>=(c[h>>2]|0)){break}r=(ga(n,m)|0)+l|0;t=(c[o>>2]|0)+r|0;a[t]=a[t]|64}}while(0);s=s+1|0;}while((s|0)<(k|0));return};case 1:{if((k|0)<=0){return}s=(j+f|0)/4|0;o=b+10472|0;l=b+10476|0;h=b+10460|0;g=0;do{m=(g+e|0)/4|0;n=c[o>>2]|0;do{if((m|0)<(n|0)){if((s|0)>=(c[l>>2]|0)){break}t=(ga(n,s)|0)+m|0;r=(c[h>>2]|0)+t|0;a[r]=a[r]|-128}}while(0);g=g+1|0;}while((g|0)<(k|0));return};case 5:{if((k|0)<=0){return}g=(j+f+i|0)/4|0;i=b+10472|0;f=b+10476|0;j=b+10460|0;b=0;do{h=(b+e|0)/4|0;s=c[i>>2]|0;do{if((h|0)<(s|0)){if((g|0)>=(c[f>>2]|0)){break}l=(ga(s,g)|0)+h|0;o=(c[j>>2]|0)+l|0;a[o]=a[o]|-128}}while(0);b=b+1|0;}while((b|0)<(k|0));return};default:{return}}}function ve(b,f){b=b|0;f=f|0;var 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,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;g=c[b+5808>>2]|0;h=c[b+5804>>2]|0;i=(1<<h)-1|0;j=c[b+5820>>2]|0;k=c[b+5800>>2]|0;l=f<<h>>k;m=f+1<<h>>k;k=c[b+5824>>2]|0;f=(k|0)<(m|0)?k:m;if((l|0)>=(f|0)){n=0;return n|0}m=b+5816|0;k=b+10372|0;o=b+10360|0;p=b+10348|0;q=b+10352|0;r=b+10356|0;s=b+10340|0;t=b+52|0;u=b+48|0;v=b+5977|0;w=b+10308|0;x=l;l=0;y=c[m>>2]|0;a:while(1){if((y|0)>0){z=ga(x,g)|0;A=(z|0)==0;B=A?0:32;C=z&i;D=z-1|0;E=ga(z>>h,j)|0;F=ga(D>>h,j)|0;G=0;H=l;I=y;while(1){J=(ga(c[k>>2]|0,x)|0)+G|0;K=(c[o>>2]|0)+(J*3|0)|0;J=(d[K]|d[K+1|0]<<8)<<16>>16&7;K=J&255;do{if(J<<24>>24==0){L=H;M=I}else{N=ga(G,g)|0;O=N>>h;P=c[p>>2]|0;Q=N>>P;R=z>>P;if(!((Q|0)>-1)){S=8;break a}T=c[q>>2]|0;if((Q|0)>=(T|0)){S=8;break a}if(!((R|0)>-1)){S=11;break a}U=c[r>>2]|0;if((R|0)>=(U|0)){S=11;break a}V=ga(T,R)|0;R=c[s>>2]|0;W=e[R+((V+Q|0)*24|0)+2>>1]|0;X=c[u>>2]|0;Y=(c[t>>2]|0)-X>>2;if(!(W>>>0<Y>>>0)){n=0;S=34;break a}Z=c[X+(W<<2)>>2]|0;W=(N|0)==0;_=W?0:16;b:do{if(W){$=_}else{if((N&i|0)!=0){$=_;break}do{if((a[Z+764|0]|0)==0){aa=N-1>>P;if(!((aa|0)>-1&(aa|0)<(T|0))){S=17;break a}ba=e[R+((V+aa|0)*24|0)+2>>1]|0;if(!(ba>>>0<Y>>>0)){break}if((c[Z+800>>2]|0)!=(c[(c[X+(ba<<2)>>2]|0)+800>>2]|0)){$=0;break b}}}while(0);if((a[v]|0)!=0){$=_;break}ba=c[w>>2]|0;$=(c[ba+(O+E<<2)>>2]|0)==(c[ba+((N-1>>h)+E<<2)>>2]|0)?_:0}}while(0);c:do{if(A|(C|0)!=0){ca=B}else{do{if((a[Z+764|0]|0)==0){_=D>>P;if(!((_|0)>-1&(_|0)<(U|0))){S=25;break a}V=R+(((ga(T,_)|0)+Q|0)*24|0)+2|0;_=e[V>>1]|0;if(!(_>>>0<Y>>>0)){break}if((c[Z+800>>2]|0)!=(c[(c[X+(_<<2)>>2]|0)+800>>2]|0)){ca=0;break c}}}while(0);if((a[v]|0)!=0){ca=B;break}_=c[w>>2]|0;ca=(c[_+(O+E<<2)>>2]|0)==(c[_+(O+F<<2)>>2]|0)?B:0}}while(0);if((a[Z+754|0]|0)!=0){L=H;M=I;break}te(b,N,z,K,0,$&255,ca&255);ue(b,N,z,K,0,0);L=1;M=c[m>>2]|0}}while(0);K=G+1|0;if((K|0)<(M|0)){G=K;H=L;I=M}else{da=L;ea=M;break}}}else{da=l;ea=y}I=x+1|0;if((I|0)<(f|0)){x=I;l=da;y=ea}else{n=da;S=34;break}}if((S|0)==8){ec(8880,6264,118,17352);return 0}else if((S|0)==11){ec(4520,6264,119,17352);return 0}else if((S|0)==17){ec(8880,6264,118,17352);return 0}else if((S|0)==25){ec(4520,6264,119,17352);return 0}else if((S|0)==34){return n|0}return 0}function we(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var 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,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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;l=g?2:1;m=g?1:2;n=g&1;o=n^1;p=g?80:160;q=g?16:32;g=f+10472|0;r=c[g>>2]|0;s=(r|0)>(k|0)?k:r;r=c[f+10476>>2]|0;k=(r|0)>(i|0)?i:r;if((k|0)<=(h|0)){return}r=(s|0)>(j|0);i=f+10460|0;t=f+10368|0;u=f+10372|0;v=f+10376|0;w=f+10360|0;x=f+10388|0;y=f+10392|0;z=f+10396|0;A=f+10380|0;B=f+10348|0;C=f+10352|0;D=f+10356|0;E=f+10340|0;F=f+52|0;G=f+48|0;H=f+10332|0;I=f+10516|0;J=f+10448|0;K=f+10452|0;L=f+10456|0;M=f+10440|0;f=h;a:while(1){if(r){h=f<<2;N=(h|0)/4|0;O=h-o|0;P=j;do{Q=P<<2;R=(Q|0)/4|0;S=(ga(c[g>>2]|0,N)|0)+R|0;T=(c[i>>2]|0)+S|0;S=a[T]|0;U=S&255;if((U&p|0)==0){a[T]=S&-4}else{S=Q-n|0;T=c[t>>2]|0;V=S>>T;W=O>>T;if(!((V|0)>-1)){X=8;break a}Y=c[u>>2]|0;if((V|0)>=(Y|0)){X=8;break a}if(!((W|0)>-1)){X=11;break a}Z=c[v>>2]|0;if((W|0)>=(Z|0)){X=11;break a}_=(ga(Y,W)|0)+V|0;V=c[w>>2]|0;W=V+(_*3|0)|0;_=Q>>T;$=h>>T;if(!((_|0)>-1&(_|0)<(Y|0))){X=13;break a}if(!(($|0)>-1&($|0)<(Z|0))){X=15;break a}Z=V+(((ga(Y,$)|0)+_|0)*3|0)|0;b:do{if(((d[W]|d[W+1|0]<<8)<<16>>16&768)==0|((d[Z]|d[Z+1|0]<<8)<<16>>16&768)==0){aa=2}else{if((U&q|0)!=0){_=c[J>>2]|0;$=Q>>_;Y=h>>_;if(!(($|0)>-1)){X=20;break a}V=c[K>>2]|0;if(($|0)>=(V|0)){X=20;break a}if(!((Y|0)>-1)){X=23;break a}T=c[L>>2]|0;if((Y|0)>=(T|0)){X=23;break a}ba=(ga(V,Y)|0)+$|0;$=c[M>>2]|0;if(!((a[$+ba|0]|0)>-1)){aa=1;break}ba=S>>_;Y=O>>_;if(!((ba|0)>-1&(ba|0)<(V|0))){X=26;break a}if(!((Y|0)>-1&(Y|0)<(T|0))){X=28;break a}T=$+((ga(V,Y)|0)+ba)|0;if(!((a[T]|0)>-1)){aa=1;break}}T=c[x>>2]|0;ba=S>>T;Y=O>>T;if(!((ba|0)>-1)){X=32;break a}V=c[y>>2]|0;if((ba|0)>=(V|0)){X=32;break a}if(!((Y|0)>-1)){X=35;break a}$=c[z>>2]|0;if((Y|0)>=($|0)){X=35;break a}_=(ga(V,Y)|0)+ba|0;ba=c[A>>2]|0;Y=Q>>T;ca=h>>T;if(!((Y|0)>-1&(Y|0)<(V|0))){X=37;break a}if(!((ca|0)>-1&(ca|0)<($|0))){X=39;break a}$=(ga(V,ca)|0)+Y|0;Y=c[B>>2]|0;ca=S>>Y;V=O>>Y;if(!((ca|0)>-1)){X=42;break a}T=c[C>>2]|0;if((ca|0)>=(T|0)){X=42;break a}if(!((V|0)>-1)){X=45;break a}da=c[D>>2]|0;if((V|0)>=(da|0)){X=45;break a}ea=(ga(T,V)|0)+ca|0;ca=c[E>>2]|0;V=e[ca+(ea*24|0)+2>>1]|0;ea=c[G>>2]|0;fa=(c[F>>2]|0)-ea>>2;if(V>>>0<fa>>>0){ha=c[ea+(V<<2)>>2]|0}else{ha=0}V=Q>>Y;ia=h>>Y;if(!((V|0)>-1&(V|0)<(T|0))){X=49;break a}if(!((ia|0)>-1&(ia|0)<(da|0))){X=51;break a}da=ca+(((ga(T,ia)|0)+V|0)*24|0)+2|0;V=e[da>>1]|0;if(V>>>0<fa>>>0){ja=c[ea+(V<<2)>>2]|0}else{ja=0}V=a[ba+(_*12|0)|0]|0;ea=V<<24>>24==0;if(ea){ka=-1}else{ka=c[ha+916+(a[ba+(_*12|0)+2|0]<<2)>>2]|0}fa=a[ba+(_*12|0)+1|0]|0;da=fa<<24>>24==0;if(da){la=-1}else{la=c[ha+980+(a[ba+(_*12|0)+3|0]<<2)>>2]|0}ia=a[ba+($*12|0)|0]|0;T=ia<<24>>24==0;if(T){ma=-1}else{ma=c[ja+916+(a[ba+($*12|0)+2|0]<<2)>>2]|0}ca=a[ba+($*12|0)+1|0]|0;Y=ca<<24>>24==0;if(Y){na=-1}else{na=c[ja+980+(a[ba+($*12|0)+3|0]<<2)>>2]|0}oa=(ka|0)==(ma|0);if(!(oa&(la|0)==(na|0))){if(!((ka|0)==(na|0)&(la|0)==(ma|0))){aa=1;break}}pa=ea?0:b[ba+(_*12|0)+6>>1]|0;qa=ea?0:b[ba+(_*12|0)+4>>1]|0;ea=da?0:b[ba+(_*12|0)+10>>1]|0;ra=da?0:b[ba+(_*12|0)+8>>1]|0;_=T?0:b[ba+($*12|0)+6>>1]|0;da=T?0:b[ba+($*12|0)+4>>1]|0;T=Y?0:b[ba+($*12|0)+10>>1]|0;sa=Y?0:b[ba+($*12|0)+8>>1]|0;if(((fa&255)+(V&255)|0)!=((ca&255)+(ia&255)|0)){Ue((c[H>>2]|0)+4|0,1013,0);a[I]=3}if((ka|0)==(la|0)){if((ma|0)!=(na|0)){X=79;break a}ia=qa<<16>>16;ca=da<<16>>16;V=ia-ca|0;do{if((((V|0)<0?-V|0:V)|0)<=3){fa=(pa<<16>>16)-(_<<16>>16)|0;if((((fa|0)<0?-fa|0:fa)|0)>3){break}fa=(ra<<16>>16)-(sa<<16>>16)|0;if((((fa|0)<0?-fa|0:fa)|0)>3){break}fa=(ea<<16>>16)-(T<<16>>16)|0;if((((fa|0)<0?-fa|0:fa)|0)<=3){aa=0;break b}}}while(0);V=ia-(sa<<16>>16)|0;do{if((((V|0)<0?-V|0:V)|0)<=3){fa=(pa<<16>>16)-(T<<16>>16)|0;if((((fa|0)<0?-fa|0:fa)|0)>3){break}fa=(ra<<16>>16)-ca|0;if((((fa|0)<0?-fa|0:fa)|0)>3){break}fa=(ea<<16>>16)-(_<<16>>16)|0;if((((fa|0)<0?-fa|0:fa)|0)<=3){aa=0;break b}}}while(0);aa=1;break}ca=qa<<16>>16;if(oa){V=ca-(da<<16>>16)|0;do{if((((V|0)<0?-V|0:V)|0)<=3){ia=(pa<<16>>16)-(_<<16>>16)|0;if((((ia|0)<0?-ia|0:ia)|0)>3){break}ia=(ra<<16>>16)-(sa<<16>>16)|0;if((((ia|0)<0?-ia|0:ia)|0)>3){break}ia=(ea<<16>>16)-(T<<16>>16)|0;if((((ia|0)<0?-ia|0:ia)|0)<=3){aa=0;break b}}}while(0);aa=1;break}else{V=ca-(sa<<16>>16)|0;do{if((((V|0)<0?-V|0:V)|0)<=3){oa=(pa<<16>>16)-(T<<16>>16)|0;if((((oa|0)<0?-oa|0:oa)|0)>3){break}oa=(ra<<16>>16)-(da<<16>>16)|0;if((((oa|0)<0?-oa|0:oa)|0)>3){break}oa=(ea<<16>>16)-(_<<16>>16)|0;if((((oa|0)<0?-oa|0:oa)|0)<=3){aa=0;break b}}}while(0);aa=1;break}}}while(0);Q=(ga(c[g>>2]|0,N)|0)+R|0;S=(c[i>>2]|0)+Q|0;a[S]=a[S]&-4|aa}P=P+l|0;}while((P|0)<(s|0))}P=f+m|0;if((P|0)<(k|0)){f=P}else{X=93;break}}if((X|0)==8){ec(8880,6264,118,17352)}else if((X|0)==11){ec(4520,6264,119,17352)}else if((X|0)==13){ec(8880,6264,118,17352)}else if((X|0)==15){ec(4520,6264,119,17352)}else if((X|0)==20){ec(8880,6264,118,17352)}else if((X|0)==23){ec(4520,6264,119,17352)}else if((X|0)==26){ec(8880,6264,118,17352)}else if((X|0)==28){ec(4520,6264,119,17352)}else if((X|0)==32){ec(8880,6264,118,17352)}else if((X|0)==35){ec(4520,6264,119,17352)}else if((X|0)==37){ec(8880,6264,118,17352)}else if((X|0)==39){ec(4520,6264,119,17352)}else if((X|0)==42){ec(8880,6264,118,17352)}else if((X|0)==45){ec(4520,6264,119,17352)}else if((X|0)==49){ec(8880,6264,118,17352)}else if((X|0)==51){ec(4520,6264,119,17352)}else if((X|0)==79){ec(3256,14616,343,18768)}else if((X|0)==93){return}}function xe(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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,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,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,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;m=i;i=i+64|0;n=m|0;o=m+32|0;p=g?2:1;q=g?1:2;r=f+40|0;s=c[r>>2]|0;t=c[f+5760>>2]|0;u=c[f+10472>>2]|0;v=(u|0)>(l|0)?l:u;l=c[f+10476>>2]|0;w=(l|0)>(j|0)?j:l;if((w|0)<=(h|0)){i=m;return}l=(v|0)>(k|0);j=f+10460|0;x=f+4|0;y=f+10368|0;z=f+10372|0;A=f+10376|0;B=f+10360|0;C=f+10348|0;D=f+10352|0;E=f+10356|0;F=f+10340|0;G=f+48|0;H=t-8|0;I=o+4|0;J=o+2|0;K=o|0;L=o+28|0;M=o+26|0;N=o+24|0;O=n+4|0;P=n+2|0;Q=n|0;R=n+28|0;S=n+26|0;T=n+24|0;U=o+6|0;V=n+6|0;W=o+30|0;X=n+30|0;Y=f+5480|0;f=(1<<t)-1|0;t=f&65535;Z=s<<1;_=h;a:while(1){if(l){h=_<<2;$=(h|0)/4|0;aa=h-1|0;ba=c[j>>2]|0;ca=k;do{da=ca<<2;ea=ba+((ga(u,$)|0)+((da|0)/4|0))|0;fa=a[ea]&3;ea=fa&255;b:do{if(!(fa<<24>>24==0)){ha=(c[x>>2]|0)+((ga(c[r>>2]|0,h)|0)+da<<1)|0;if(g){ia=0;do{ja=ga(ia,s)|0;b[n+(ia<<3)>>1]=b[ha+(ja<<1)>>1]|0;b[o+(ia<<3)>>1]=b[ha+(ja-1<<1)>>1]|0;b[n+(ia<<3)+2>>1]=b[ha+(ja+1<<1)>>1]|0;b[o+(ia<<3)+2>>1]=b[ha+(ja-2<<1)>>1]|0;b[n+(ia<<3)+4>>1]=b[ha+(ja+2<<1)>>1]|0;b[o+(ia<<3)+4>>1]=b[ha+(ja-3<<1)>>1]|0;b[n+(ia<<3)+6>>1]=b[ha+(ja+3<<1)>>1]|0;b[o+(ia<<3)+6>>1]=b[ha+(ja-4<<1)>>1]|0;ia=ia+1|0;}while((ia|0)<4)}else{ia=0;do{b[n+(ia<<3)>>1]=b[ha+(ia<<1)>>1]|0;b[o+(ia<<3)>>1]=b[ha+(ia-s<<1)>>1]|0;b[n+(ia<<3)+2>>1]=b[ha+(s+ia<<1)>>1]|0;b[o+(ia<<3)+2>>1]=b[ha+(ia-(s<<1)<<1)>>1]|0;b[n+(ia<<3)+4>>1]=b[ha+((s<<1)+ia<<1)>>1]|0;b[o+(ia<<3)+4>>1]=b[ha+(ia+(s*-3|0)<<1)>>1]|0;b[n+(ia<<3)+6>>1]=b[ha+((s*3|0)+ia<<1)>>1]|0;b[o+(ia<<3)+6>>1]=b[ha+(ia-(s<<2)<<1)>>1]|0;ia=ia+1|0;}while((ia|0)<4)}ia=c[y>>2]|0;ja=da>>ia;ka=h>>ia;if(!((ja|0)>-1)){la=11;break a}ma=c[z>>2]|0;if((ja|0)>=(ma|0)){la=11;break a}if(!((ka|0)>-1)){la=14;break a}na=c[A>>2]|0;if((ka|0)>=(na|0)){la=14;break a}oa=ga(ma,ka)|0;ka=oa+ja|0;pa=c[B>>2]|0;qa=a[pa+(ka*3|0)+2|0]|0;if(g){ra=da-1>>ia;if(!((ra|0)>-1&(ra|0)<(ma|0))){la=17;break a}sa=oa+ra|0}else{ra=aa>>ia;if(!((ra|0)>-1&(ra|0)<(na|0))){la=20;break a}sa=(ga(ma,ra)|0)+ja|0}ra=qa+1+(a[pa+(sa*3|0)+2|0]|0)>>1;qa=c[C>>2]|0;ta=da>>qa;ua=h>>qa;if(!((ta|0)>-1)){la=24;break a}qa=c[D>>2]|0;if((ta|0)>=(qa|0)){la=24;break a}if(!((ua|0)>-1)){la=27;break a}if((ua|0)>=(c[E>>2]|0)){la=27;break a}va=(ga(qa,ua)|0)+ta|0;ta=c[(c[G>>2]|0)+(e[(c[F>>2]|0)+(va*24|0)+2>>1]<<2)>>2]|0;va=(c[ta+756>>2]|0)+ra|0;if((va|0)<0){wa=0}else{wa=(va|0)>51?51:va}va=d[30360+wa|0]<<H;ua=(ea<<1)-2+ra+(c[ta+760>>2]|0)|0;if((ua|0)<0){xa=0}else{xa=(ua|0)>53?53:ua}ua=d[30664+xa|0]<<H;ta=b[I>>1]|0;ra=b[J>>1]|0;qa=b[K>>1]|0;ya=qa&65535;za=(ta&65535)-((ra&65535)<<1)+ya|0;Aa=(za|0)<0?-za|0:za;za=e[N>>1]|0;Ba=(e[L>>1]|0)-(e[M>>1]<<1)+za|0;Ca=(Ba|0)<0?-Ba|0:Ba;Ba=b[O>>1]|0;Da=b[P>>1]|0;Ea=b[Q>>1]|0;Fa=Ea&65535;Ga=(Ba&65535)-((Da&65535)<<1)+Fa|0;Ha=(Ga|0)<0?-Ga|0:Ga;Ga=e[T>>1]|0;Ia=(e[R>>1]|0)-(e[S>>1]<<1)+Ga|0;Ja=(Ia|0)<0?-Ia|0:Ia;Ia=Ha+Aa|0;Ka=Ja+Ca|0;La=Ca+Aa|0;Aa=Ja+Ha|0;if((Ka+Ia|0)>=(va|0)){break}Ha=va>>2;do{if((Ia<<1|0)<(Ha|0)){Ja=(e[U>>1]|0)-ya|0;Ca=Fa-(e[V>>1]|0)|0;if((((Ca|0)<0?-Ca|0:Ca)+((Ja|0)<0?-Ja|0:Ja)|0)>=(va>>3|0)){Ma=1;break}Ja=ya-Fa|0;Ma=(((Ja|0)<0?-Ja|0:Ja)|0)>=((ua*5|0)+1>>1|0)}else{Ma=1}}while(0);do{if((Ka<<1|0)<(Ha|0)){Fa=(e[W>>1]|0)-za|0;ya=Ga-(e[X>>1]|0)|0;if((((ya|0)<0?-ya|0:ya)+((Fa|0)<0?-Fa|0:Fa)|0)>=(va>>3|0)){Na=1;break}Fa=za-Ga|0;Na=(((Fa|0)<0?-Fa|0:Fa)|0)>=((ua*5|0)+1>>1|0)}else{Na=1}}while(0);Ga=Ma|Na;za=(va>>1)+va>>3;Ha=a[Y]|0;Ka=Ha<<24>>24!=0;if(g){Fa=da-1>>ia;if(Ka){if(!((Fa|0)>-1&(Fa|0)<(ma|0))){la=42;break a}ya=pa+((oa+Fa|0)*3|0)|0;Oa=(((d[ya]|d[ya+1|0]<<8)<<16>>16&65535)>>>10&1^1)&255}else{Oa=1}if(!((Fa|0)>-1&(Fa|0)<(ma|0))){la=45;break a}ya=pa+((oa+Fa|0)*3|0)|0;if(Ha<<24>>24==0){Pa=1}else{Fa=pa+(ka*3|0)|0;Pa=((d[Fa]|d[Fa+1|0]<<8)<<16>>16&1024)==0}Fa=pa+(ka*3|0)|0;Qa=((d[ya]|d[ya+1|0]<<8)<<16>>16&2048)==0&Oa<<24>>24!=0;Ra=((d[Fa]|d[Fa+1|0]<<8)<<16>>16&2048)==0&Pa}else{Fa=aa>>ia;if(Ka){if(!((Fa|0)>-1&(Fa|0)<(na|0))){la=51;break a}Ka=pa+(((ga(ma,Fa)|0)+ja|0)*3|0)|0;Sa=((d[Ka]|d[Ka+1|0]<<8)<<16>>16&1024)==0}else{Sa=1}if(!((Fa|0)>-1&(Fa|0)<(na|0))){la=54;break a}Ka=pa+(((ga(ma,Fa)|0)+ja|0)*3|0)|0;if(Ha<<24>>24==0){Ta=1}else{Ha=pa+(ka*3|0)|0;Ta=((d[Ha]|d[Ha+1|0]<<8)<<16>>16&1024)==0}Ha=pa+(ka*3|0)|0;Qa=((d[Ka]|d[Ka+1|0]<<8)<<16>>16&2048)==0&Sa;Ra=((d[Ha]|d[Ha+1|0]<<8)<<16>>16&2048)==0&Ta}Ha=ua*10|0;Ka=-ua|0;Fa=(La|0)>=(za|0)|Qa^1;ya=(Aa|0)>=(za|0)|Ra^1;za=ua>>1;Ia=-za|0;Ja=ua<<1;Ca=0;Ua=qa;Va=ra;Wa=ta;Xa=Ea;Ya=Da;Za=Ba;while(1){_a=b[o+(Ca<<3)+6>>1]|0;$a=b[n+(Ca<<3)+6>>1]|0;do{if(Ga){ab=Xa&65535;bb=Ua&65535;cb=Ya&65535;db=Va&65535;eb=((ab-bb|0)*9|0)+8+((cb-db|0)*-3|0)>>4;if((((eb|0)<0?-eb|0:eb)|0)>=(Ha|0)){break}if((eb|0)<(Ka|0)){fb=Ka}else{fb=(eb|0)>(ua|0)?ua:eb}do{if(g){if(Qa){eb=fb+bb|0;if((eb|0)<0){gb=0}else{gb=(eb|0)>(f|0)?t:eb&65535}eb=ha+((ga(Ca,s)|0)-1<<1)|0;b[eb>>1]=gb}if(!Ra){break}eb=ab-fb|0;if((eb|0)<0){hb=0}else{hb=(eb|0)>(f|0)?t:eb&65535}eb=ha+((ga(Ca,s)|0)<<1)|0;b[eb>>1]=hb}else{if(Qa){eb=fb+bb|0;if((eb|0)<0){ib=0}else{ib=(eb|0)>(f|0)?t:eb&65535}b[ha+(Ca-s<<1)>>1]=ib}if(!Ra){break}eb=ab-fb|0;if((eb|0)<0){jb=0}else{jb=(eb|0)>(f|0)?t:eb&65535}b[ha+(Ca<<1)>>1]=jb}}while(0);do{if(!Fa){eb=fb+(((bb+1+(Wa&65535)|0)>>>1)-db)|0;kb=eb>>1;if((kb|0)<(Ia|0)){lb=Ia}else{lb=((kb|0)>(za|0)?ua:eb)>>1}eb=lb+db|0;kb=(eb|0)<0;if(g){if(kb){mb=0}else{mb=(eb|0)>(f|0)?t:eb&65535}nb=ha+((ga(Ca,s)|0)-2<<1)|0;b[nb>>1]=mb;break}else{if(kb){ob=0}else{ob=(eb|0)>(f|0)?t:eb&65535}b[ha+(Ca-Z<<1)>>1]=ob;break}}}while(0);if(ya){break}db=((ab+1+(Za&65535)|0)>>>1)-cb-fb|0;bb=db>>1;if((bb|0)<(Ia|0)){pb=Ia}else{pb=((bb|0)>(za|0)?ua:db)>>1}db=pb+cb|0;bb=(db|0)<0;if(g){if(bb){qb=0}else{qb=(db|0)>(f|0)?t:db&65535}eb=ha+((ga(Ca,s)|0)+1<<1)|0;b[eb>>1]=qb;break}else{if(bb){rb=0}else{rb=(db|0)>(f|0)?t:db&65535}b[ha+(Ca+s<<1)>>1]=rb;break}}else{db=Wa&65535;bb=Va&65535;eb=Ua&65535;kb=Xa&65535;nb=kb<<1;sb=Ya&65535;tb=(eb<<1)+4|0;ub=tb+(bb<<1)+db+nb+sb>>3;vb=eb-Ja|0;do{if((ub|0)<(vb|0)){wb=vb&65535}else{xb=eb+Ja|0;if((ub|0)>(xb|0)){wb=xb&65535;break}else{wb=ub&65535;break}}}while(0);ub=(eb+2+bb+db+kb|0)>>>2;vb=bb-Ja|0;do{if((ub|0)<(vb|0)){yb=vb&65535}else{cb=bb+Ja|0;if((ub|0)>(cb|0)){yb=cb&65535;break}else{yb=ub&65535;break}}}while(0);ub=eb+4+bb+(db*3|0)+((_a&65535)<<1)+kb>>3;vb=db-Ja|0;do{if((ub|0)<(vb|0)){zb=vb&65535}else{cb=db+Ja|0;if((ub|0)>(cb|0)){zb=cb&65535;break}else{zb=ub&65535;break}}}while(0);ub=Za&65535;db=tb+bb+nb+(sb<<1)+ub>>3;vb=kb-Ja|0;do{if((db|0)<(vb|0)){Ab=vb&65535}else{cb=kb+Ja|0;if((db|0)>(cb|0)){Ab=cb&65535;break}else{Ab=db&65535;break}}}while(0);db=kb+eb+sb|0;vb=(ub+2+db|0)>>>2;nb=sb-Ja|0;do{if((vb|0)<(nb|0)){Bb=nb&65535}else{bb=sb+Ja|0;if((vb|0)>(bb|0)){Bb=bb&65535;break}else{Bb=vb&65535;break}}}while(0);vb=(db+4+(ub*3|0)+(($a&65535)<<1)|0)>>>3;sb=ub-Ja|0;do{if((vb|0)<(sb|0)){Cb=sb&65535}else{nb=ub+Ja|0;if((vb|0)>(nb|0)){Cb=nb&65535;break}else{Cb=vb&65535;break}}}while(0);if(g){vb=ga(Ca,s)|0;if(Qa){b[ha+(vb-1<<1)>>1]=wb}if(Ra){b[ha+(vb<<1)>>1]=Ab}if(Qa){b[ha+(vb-2<<1)>>1]=yb}if(Ra){b[ha+(vb+1<<1)>>1]=Bb}if(Qa){b[ha+(vb-3<<1)>>1]=zb}if(!Ra){break}b[ha+(vb+2<<1)>>1]=Cb;break}else{if(Qa){b[ha+(Ca-s<<1)>>1]=wb}if(Ra){b[ha+(Ca<<1)>>1]=Ab}if(Qa){b[ha+(Ca-(s<<1)<<1)>>1]=yb}if(Ra){b[ha+(s+Ca<<1)>>1]=Bb}if(Qa){b[ha+(Ca+(s*-3|0)<<1)>>1]=zb}if(!Ra){break}b[ha+((s<<1)+Ca<<1)>>1]=Cb;break}}}while(0);$a=Ca+1|0;if(($a|0)>=4){break b}Ca=$a;Ua=b[o+($a<<3)>>1]|0;Va=b[o+($a<<3)+2>>1]|0;Wa=b[o+($a<<3)+4>>1]|0;Xa=b[n+($a<<3)>>1]|0;Ya=b[n+($a<<3)+2>>1]|0;Za=b[n+($a<<3)+4>>1]|0}}}while(0);ca=ca+p|0;}while((ca|0)<(v|0))}ca=_+q|0;if((ca|0)<(w|0)){_=ca}else{la=145;break}}if((la|0)==11){ec(8880,6264,118,17352)}else if((la|0)==14){ec(4520,6264,119,17352)}else if((la|0)==17){ec(8880,6264,118,17352)}else if((la|0)==20){ec(4520,6264,119,17352)}else if((la|0)==24){ec(8880,6264,118,17352)}else if((la|0)==27){ec(4520,6264,119,17352)}else if((la|0)==42){ec(8880,6264,118,17352)}else if((la|0)==45){ec(8880,6264,118,17352)}else if((la|0)==51){ec(4520,6264,119,17352)}else if((la|0)==54){ec(4520,6264,119,17352)}else if((la|0)==145){i=m;return}}function ye(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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,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,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,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0;l=i;i=i+32|0;m=l|0;n=l+16|0;o=f?2:1;p=f?1:2;q=b+40|0;r=c[q>>2]|0;s=c[b+5760>>2]|0;t=b+10472|0;u=c[t>>2]|0;v=(u|0)>(k|0)?k:u;u=c[b+10476>>2]|0;k=(u|0)>(h|0)?h:u;if((k|0)<=(g|0)){i=l;return}u=(v|0)>(j|0);h=b+10460|0;w=b+4|0;x=b+10368|0;y=b+10372|0;z=b+10376|0;A=b+10360|0;B=b+10348|0;C=b+10352|0;D=b+10356|0;E=b+10340|0;F=b+48|0;G=s-8|0;H=n+2|0;I=n+1|0;J=n|0;K=n+14|0;L=n+13|0;M=n+12|0;N=m+2|0;O=m+1|0;P=m|0;Q=m+14|0;R=m+13|0;S=m+12|0;T=n+3|0;U=m+3|0;V=n+15|0;W=m+15|0;X=b+5480|0;b=(1<<s)-1|0;s=b&255;Y=r<<1;Z=g;a:while(1){if(u){g=Z<<2;_=(g|0)/4|0;$=g-1|0;aa=j;do{ba=aa<<2;ca=(ga(c[t>>2]|0,_)|0)+((ba|0)/4|0)|0;da=a[(c[h>>2]|0)+ca|0]&3;ca=da&255;b:do{if(!(da<<24>>24==0)){ea=c[w>>2]|0;fa=(ga(c[q>>2]|0,g)|0)+ba|0;ha=0;do{ia=(ga(ha,r)|0)+fa|0;ja=ha+fa|0;if(f){a[m+(ha<<2)|0]=a[ea+ia|0]|0;a[n+(ha<<2)|0]=a[ea+(ia-1)|0]|0;a[m+(ha<<2)+1|0]=a[ea+(ia+1)|0]|0;a[n+(ha<<2)+1|0]=a[ea+(ia-2)|0]|0;a[m+(ha<<2)+2|0]=a[ea+(ia+2)|0]|0;a[n+(ha<<2)+2|0]=a[ea+(ia-3)|0]|0;a[m+(ha<<2)+3|0]=a[ea+(ia+3)|0]|0;a[n+(ha<<2)+3|0]=a[ea+(ia-4)|0]|0}else{a[m+(ha<<2)|0]=a[ea+ja|0]|0;a[n+(ha<<2)|0]=a[ea+(ja-r)|0]|0;a[m+(ha<<2)+1|0]=a[ea+(ja+r)|0]|0;a[n+(ha<<2)+1|0]=a[ea+(ja-(r<<1))|0]|0;a[m+(ha<<2)+2|0]=a[ea+(ja+(r<<1))|0]|0;a[n+(ha<<2)+2|0]=a[ea+(ja+(r*-3|0))|0]|0;a[m+(ha<<2)+3|0]=a[ea+(ja+(r*3|0))|0]|0;a[n+(ha<<2)+3|0]=a[ea+(ja-(r<<2))|0]|0}ha=ha+1|0;}while((ha|0)<4);ha=c[x>>2]|0;ja=ba>>ha;ia=g>>ha;if(!((ja|0)>-1)){ka=12;break a}la=c[y>>2]|0;if((ja|0)>=(la|0)){ka=12;break a}if(!((ia|0)>-1)){ka=15;break a}ma=c[z>>2]|0;if((ia|0)>=(ma|0)){ka=15;break a}na=ga(la,ia)|0;ia=na+ja|0;oa=c[A>>2]|0;pa=a[oa+(ia*3|0)+2|0]|0;if(f){qa=ba-1>>ha;if(!((qa|0)>-1&(qa|0)<(la|0))){ka=18;break a}ra=na+qa|0}else{qa=$>>ha;if(!((qa|0)>-1&(qa|0)<(ma|0))){ka=21;break a}ra=(ga(la,qa)|0)+ja|0}qa=pa+1+(a[oa+(ra*3|0)+2|0]|0)>>1;pa=c[B>>2]|0;sa=ba>>pa;ta=g>>pa;if(!((sa|0)>-1)){ka=25;break a}pa=c[C>>2]|0;if((sa|0)>=(pa|0)){ka=25;break a}if(!((ta|0)>-1)){ka=28;break a}if((ta|0)>=(c[D>>2]|0)){ka=28;break a}ua=(ga(pa,ta)|0)+sa|0;sa=c[(c[F>>2]|0)+(e[(c[E>>2]|0)+(ua*24|0)+2>>1]<<2)>>2]|0;ua=(c[sa+756>>2]|0)+qa|0;if((ua|0)<0){va=0}else{va=(ua|0)>51?51:ua}ua=d[30360+va|0]<<G;ta=(ca<<1)-2+qa+(c[sa+760>>2]|0)|0;if((ta|0)<0){wa=0}else{wa=(ta|0)>53?53:ta}ta=d[30664+wa|0]<<G;sa=a[H]|0;qa=a[I]|0;pa=a[J]|0;xa=pa&255;ya=(sa&255)-((qa&255)<<1)+xa|0;za=(ya|0)<0?-ya|0:ya;ya=d[M]|0;Aa=(d[K]|0)-(d[L]<<1)+ya|0;Ba=(Aa|0)<0?-Aa|0:Aa;Aa=a[N]|0;Ca=a[O]|0;Da=a[P]|0;Ea=Da&255;Fa=(Aa&255)-((Ca&255)<<1)+Ea|0;Ga=(Fa|0)<0?-Fa|0:Fa;Fa=d[S]|0;Ha=(d[Q]|0)-(d[R]<<1)+Fa|0;Ia=(Ha|0)<0?-Ha|0:Ha;Ha=Ga+za|0;Ja=Ia+Ba|0;Ka=Ba+za|0;za=Ia+Ga|0;if((Ja+Ha|0)>=(ua|0)){break}Ga=ua>>2;do{if((Ha<<1|0)<(Ga|0)){Ia=(d[T]|0)-xa|0;Ba=Ea-(d[U]|0)|0;if((((Ba|0)<0?-Ba|0:Ba)+((Ia|0)<0?-Ia|0:Ia)|0)>=(ua>>3|0)){La=1;break}Ia=xa-Ea|0;La=(((Ia|0)<0?-Ia|0:Ia)|0)>=((ta*5|0)+1>>1|0)}else{La=1}}while(0);do{if((Ja<<1|0)<(Ga|0)){Ea=(d[V]|0)-ya|0;xa=Fa-(d[W]|0)|0;if((((xa|0)<0?-xa|0:xa)+((Ea|0)<0?-Ea|0:Ea)|0)>=(ua>>3|0)){Ma=1;break}Ea=ya-Fa|0;Ma=(((Ea|0)<0?-Ea|0:Ea)|0)>=((ta*5|0)+1>>1|0)}else{Ma=1}}while(0);Fa=La|Ma;ya=(ua>>1)+ua>>3;Ga=a[X]|0;Ja=Ga<<24>>24!=0;if(f){Ea=ba-1>>ha;if(Ja){if(!((Ea|0)>-1&(Ea|0)<(la|0))){ka=43;break a}xa=oa+((na+Ea|0)*3|0)|0;Na=(((d[xa]|d[xa+1|0]<<8)<<16>>16&65535)>>>10&1^1)&255}else{Na=1}if(!((Ea|0)>-1&(Ea|0)<(la|0))){ka=46;break a}xa=oa+((na+Ea|0)*3|0)|0;if(Ga<<24>>24==0){Oa=1}else{Ea=oa+(ia*3|0)|0;Oa=((d[Ea]|d[Ea+1|0]<<8)<<16>>16&1024)==0}Ea=oa+(ia*3|0)|0;Pa=((d[xa]|d[xa+1|0]<<8)<<16>>16&2048)==0&Na<<24>>24!=0;Qa=((d[Ea]|d[Ea+1|0]<<8)<<16>>16&2048)==0&Oa}else{Ea=$>>ha;if(Ja){if(!((Ea|0)>-1&(Ea|0)<(ma|0))){ka=52;break a}Ja=oa+(((ga(la,Ea)|0)+ja|0)*3|0)|0;Ra=((d[Ja]|d[Ja+1|0]<<8)<<16>>16&1024)==0}else{Ra=1}if(!((Ea|0)>-1&(Ea|0)<(ma|0))){ka=55;break a}Ja=oa+(((ga(la,Ea)|0)+ja|0)*3|0)|0;if(Ga<<24>>24==0){Sa=1}else{Ga=oa+(ia*3|0)|0;Sa=((d[Ga]|d[Ga+1|0]<<8)<<16>>16&1024)==0}Ga=oa+(ia*3|0)|0;Pa=((d[Ja]|d[Ja+1|0]<<8)<<16>>16&2048)==0&Ra;Qa=((d[Ga]|d[Ga+1|0]<<8)<<16>>16&2048)==0&Sa}Ga=ta*10|0;Ja=-ta|0;Ea=fa-1|0;xa=(Ka|0)>=(ya|0)|Pa^1;Ha=(za|0)>=(ya|0)|Qa^1;ya=ta>>1;Ia=-ya|0;Ba=fa|1;Ta=fa+r|0;Ua=fa-2|0;Va=fa-Y|0;Wa=fa-r|0;Xa=ta<<1;Ya=0;Za=pa;_a=qa;$a=sa;ab=Da;bb=Ca;cb=Aa;while(1){db=a[n+(Ya<<2)+3|0]|0;eb=a[m+(Ya<<2)+3|0]|0;do{if(Fa){fb=ab&255;gb=Za&255;hb=bb&255;ib=_a&255;jb=((fb-gb|0)*9|0)+8+((hb-ib|0)*-3|0)>>4;if((((jb|0)<0?-jb|0:jb)|0)>=(Ga|0)){break}if((jb|0)<(Ja|0)){kb=Ja}else{kb=(jb|0)>(ta|0)?ta:jb}do{if(f){if(Pa){jb=kb+gb|0;if((jb|0)<0){lb=0}else{lb=(jb|0)>(b|0)?s:jb&255}jb=ea+(Ea+(ga(Ya,r)|0))|0;a[jb]=lb}if(!Qa){break}jb=fb-kb|0;if((jb|0)<0){mb=0}else{mb=(jb|0)>(b|0)?s:jb&255}jb=ea+((ga(Ya,r)|0)+fa)|0;a[jb]=mb}else{if(Pa){jb=kb+gb|0;if((jb|0)<0){nb=0}else{nb=(jb|0)>(b|0)?s:jb&255}a[ea+(Wa+Ya)|0]=nb}if(!Qa){break}jb=fb-kb|0;if((jb|0)<0){ob=0}else{ob=(jb|0)>(b|0)?s:jb&255}a[ea+(Ya+fa)|0]=ob}}while(0);do{if(!xa){jb=kb+(((gb+1+($a&255)|0)>>>1)-ib)|0;pb=jb>>1;if((pb|0)<(Ia|0)){qb=Ia}else{qb=((pb|0)>(ya|0)?ta:jb)>>1}jb=qb+ib|0;pb=(jb|0)<0;if(f){if(pb){rb=0}else{rb=(jb|0)>(b|0)?s:jb&255}sb=ea+(Ua+(ga(Ya,r)|0))|0;a[sb]=rb;break}else{if(pb){tb=0}else{tb=(jb|0)>(b|0)?s:jb&255}a[ea+(Va+Ya)|0]=tb;break}}}while(0);if(Ha){break}ib=((fb+1+(cb&255)|0)>>>1)-hb-kb|0;gb=ib>>1;if((gb|0)<(Ia|0)){ub=Ia}else{ub=((gb|0)>(ya|0)?ta:ib)>>1}ib=ub+hb|0;gb=(ib|0)<0;if(f){if(gb){vb=0}else{vb=(ib|0)>(b|0)?s:ib&255}jb=ea+(Ba+(ga(Ya,r)|0))|0;a[jb]=vb;break}else{if(gb){wb=0}else{wb=(ib|0)>(b|0)?s:ib&255}a[ea+(Ta+Ya)|0]=wb;break}}else{ib=$a&255;gb=_a&255;jb=Za&255;pb=ab&255;sb=pb<<1;xb=bb&255;yb=(jb<<1)+4|0;zb=yb+(gb<<1)+ib+sb+xb>>3;Ab=jb-Xa|0;do{if((zb|0)<(Ab|0)){Bb=Ab&255}else{Cb=jb+Xa|0;if((zb|0)>(Cb|0)){Bb=Cb&255;break}else{Bb=zb&255;break}}}while(0);zb=(jb+2+gb+ib+pb|0)>>>2;Ab=gb-Xa|0;do{if((zb|0)<(Ab|0)){Db=Ab&255}else{hb=gb+Xa|0;if((zb|0)>(hb|0)){Db=hb&255;break}else{Db=zb&255;break}}}while(0);zb=jb+4+gb+(ib*3|0)+((db&255)<<1)+pb>>3;Ab=ib-Xa|0;do{if((zb|0)<(Ab|0)){Eb=Ab&255}else{hb=ib+Xa|0;if((zb|0)>(hb|0)){Eb=hb&255;break}else{Eb=zb&255;break}}}while(0);zb=cb&255;ib=yb+gb+sb+(xb<<1)+zb>>3;Ab=pb-Xa|0;do{if((ib|0)<(Ab|0)){Fb=Ab&255}else{hb=pb+Xa|0;if((ib|0)>(hb|0)){Fb=hb&255;break}else{Fb=ib&255;break}}}while(0);ib=pb+jb+xb|0;Ab=(zb+2+ib|0)>>>2;sb=xb-Xa|0;do{if((Ab|0)<(sb|0)){Gb=sb&255}else{gb=xb+Xa|0;if((Ab|0)>(gb|0)){Gb=gb&255;break}else{Gb=Ab&255;break}}}while(0);Ab=(ib+4+(zb*3|0)+((eb&255)<<1)|0)>>>3;xb=zb-Xa|0;do{if((Ab|0)<(xb|0)){Hb=xb&255}else{sb=zb+Xa|0;if((Ab|0)>(sb|0)){Hb=sb&255;break}else{Hb=Ab&255;break}}}while(0);if(f){Ab=(ga(Ya,r)|0)+fa|0;if(Pa){a[ea+(Ab-1)|0]=Bb}if(Qa){a[ea+Ab|0]=Fb}if(Pa){a[ea+(Ab-2)|0]=Db}if(Qa){a[ea+(Ab+1)|0]=Gb}if(Pa){a[ea+(Ab-3)|0]=Eb}if(!Qa){break}a[ea+(Ab+2)|0]=Hb;break}else{Ab=Ya+fa|0;if(Pa){a[ea+(Ab-r)|0]=Bb}if(Qa){a[ea+Ab|0]=Fb}if(Pa){a[ea+(Ab-(r<<1))|0]=Db}if(Qa){a[ea+(Ab+r)|0]=Gb}if(Pa){a[ea+(Ab+(r*-3|0))|0]=Eb}if(!Qa){break}a[ea+(Ab+(r<<1))|0]=Hb;break}}}while(0);eb=Ya+1|0;if((eb|0)>=4){break b}Ya=eb;Za=a[n+(eb<<2)|0]|0;_a=a[n+(eb<<2)+1|0]|0;$a=a[n+(eb<<2)+2|0]|0;ab=a[m+(eb<<2)|0]|0;bb=a[m+(eb<<2)+1|0]|0;cb=a[m+(eb<<2)+2|0]|0}}}while(0);aa=aa+o|0;}while((aa|0)<(v|0))}aa=Z+p|0;if((aa|0)<(k|0)){Z=aa}else{ka=146;break}}if((ka|0)==12){ec(8880,6264,118,17352)}else if((ka|0)==15){ec(4520,6264,119,17352)}else if((ka|0)==18){ec(8880,6264,118,17352)}else if((ka|0)==21){ec(4520,6264,119,17352)}else if((ka|0)==25){ec(8880,6264,118,17352)}else if((ka|0)==28){ec(4520,6264,119,17352)}else if((ka|0)==43){ec(8880,6264,118,17352)}else if((ka|0)==46){ec(8880,6264,118,17352)}else if((ka|0)==52){ec(4520,6264,119,17352)}else if((ka|0)==55){ec(4520,6264,119,17352)}else if((ka|0)==146){i=l;return}}function ze(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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,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,Ba=0,Ca=0,Da=0,Ea=0;m=i;i=i+32|0;n=m|0;o=m+16|0;p=c[f+5780>>2]|0;q=c[f+5784>>2]|0;r=ga(p,g?2:1)|0;s=ga(q,g?1:2)|0;t=f+44|0;u=c[t>>2]|0;v=c[f+10472>>2]|0;w=(v|0)>(l|0)?l:v;l=c[f+10476>>2]|0;x=(l|0)>(j|0)?j:l;l=c[f+5768>>2]|0;if((x|0)<=(h|0)){i=m;return}j=(w|0)>(k|0);y=3-p|0;z=3-q|0;A=f+10460|0;B=f+5952|0;C=f+5956|0;D=f+10368|0;E=f+10372|0;F=f+10376|0;G=f+10360|0;H=f+5776|0;I=f+10348|0;J=f+10352|0;K=f+10356|0;L=f+10340|0;M=f+48|0;N=f+5480|0;O=(1<<l)-1|0;P=O&65535;Q=h;a:while(1){if(j){h=Q<<z;R=ga(h,q)|0;S=(R|0)/4|0;T=R-1|0;U=c[A>>2]|0;V=k;do{W=V<<y;X=ga(W,p)|0;Y=U+((ga(v,S)|0)+((X|0)/4|0))|0;Z=a[Y]&3;if((Z&255)>>>0>1>>>0){Y=X-1|0;_=((Z&255)<<1)-2|0;Z=0;do{$=c[((Z|0)==0?B:C)>>2]|0;Z=Z+1|0;aa=(c[f+4+(Z<<2)>>2]|0)+((ga(c[t>>2]|0,h)|0)+W<<1)|0;ba=0;while(1){ca=~ba;da=ga(ba,u)|0;ea=ba+1|0;fa=ga(ea,u)|0;if(g){b[o+(ba<<3)>>1]=b[aa+(ba<<1)>>1]|0;b[n+(ba<<3)>>1]=b[aa+(ca<<1)>>1]|0;b[o+(ba<<3)+2>>1]=b[aa+(u+ba<<1)>>1]|0;b[n+(ba<<3)+2>>1]=b[aa+(u+ca<<1)>>1]|0;ha=u<<1;b[o+(ba<<3)+4>>1]=b[aa+(ha+ba<<1)>>1]|0;b[n+(ba<<3)+4>>1]=b[aa+(ha+ca<<1)>>1]|0;ha=u*3|0;b[o+(ba<<3)+6>>1]=b[aa+(ha+ba<<1)>>1]|0;b[n+(ba<<3)+6>>1]=b[aa+(ha+ca<<1)>>1]|0}else{b[o+(ba<<3)>>1]=b[aa+(da<<1)>>1]|0;b[n+(ba<<3)>>1]=b[aa+(-fa<<1)>>1]|0;b[o+(ba<<3)+2>>1]=b[aa+(da+1<<1)>>1]|0;b[n+(ba<<3)+2>>1]=b[aa+(1-fa<<1)>>1]|0;b[o+(ba<<3)+4>>1]=b[aa+(da+2<<1)>>1]|0;b[n+(ba<<3)+4>>1]=b[aa+(2-fa<<1)>>1]|0;b[o+(ba<<3)+6>>1]=b[aa+(da+3<<1)>>1]|0;b[n+(ba<<3)+6>>1]=b[aa+(3-fa<<1)>>1]|0}if((ea|0)<2){ba=ea}else{break}}ba=c[D>>2]|0;ea=X>>ba;fa=R>>ba;if(!((ea|0)>-1)){ia=14;break a}da=c[E>>2]|0;if((ea|0)>=(da|0)){ia=14;break a}if(!((fa|0)>-1)){ia=17;break a}ca=c[F>>2]|0;if((fa|0)>=(ca|0)){ia=17;break a}ha=ga(da,fa)|0;fa=ha+ea|0;ja=c[G>>2]|0;ka=a[ja+(fa*3|0)+2|0]|0;if(g){la=Y>>ba;if(!((la|0)>-1&(la|0)<(da|0))){ia=20;break a}ma=ha+la|0}else{la=T>>ba;if(!((la|0)>-1&(la|0)<(ca|0))){ia=23;break a}ma=(ga(da,la)|0)+ea|0}la=(ka+1+(a[ja+(ma*3|0)+2|0]|0)>>1)+$|0;do{if((c[H>>2]|0)==1){if((la|0)<30){na=la;break}if((la|0)>42){na=la-6|0;break}else{na=c[8+(la-30<<2)>>2]|0;break}}else{na=(la|0)<51?la:51}}while(0);la=c[I>>2]|0;$=X>>la;ka=R>>la;if(!(($|0)>-1)){ia=33;break a}la=c[J>>2]|0;if(($|0)>=(la|0)){ia=33;break a}if(!((ka|0)>-1)){ia=36;break a}if((ka|0)>=(c[K>>2]|0)){ia=36;break a}oa=(ga(la,ka)|0)+$|0;$=_+na+(c[(c[(c[M>>2]|0)+(e[(c[L>>2]|0)+(oa*24|0)+2>>1]<<2)>>2]|0)+760>>2]|0)|0;if(($|0)<0){pa=0}else{pa=($|0)>53?53:$}$=d[30664+pa|0]<<l-8;oa=(a[N]|0)==0;if(g){ka=Y>>ba;if(oa){qa=1}else{if(!((ka|0)>-1&(ka|0)<(da|0))){ia=42;break a}la=ja+((ha+ka|0)*3|0)|0;qa=((d[la]|d[la+1|0]<<8)<<16>>16&1024)==0}if(!((ka|0)>-1&(ka|0)<(da|0))){ia=45;break a}la=ja+((ha+ka|0)*3|0)|0;ka=((d[la]|d[la+1|0]<<8)<<16>>16&2048)==0&qa;if(oa){ra=1}else{la=ja+(fa*3|0)|0;ra=((d[la]|d[la+1|0]<<8)<<16>>16&1024)==0}la=ja+(fa*3|0)|0;sa=((d[la]|d[la+1|0]<<8)<<16>>16&2048)==0&ra;la=-$|0;ta=0;do{ua=e[o+(ta<<1)>>1]|0;va=e[n+(ta<<1)>>1]|0;wa=(e[n+8+(ta<<1)>>1]|0)+4+(ua-va<<2)-(e[o+8+(ta<<1)>>1]|0)>>3;if((wa|0)<(la|0)){xa=la}else{xa=(wa|0)>($|0)?$:wa}if(ka){wa=va+xa|0;if((wa|0)<0){ya=0}else{ya=(wa|0)>(O|0)?P:wa&65535}wa=aa+((ga(ta,u)|0)-1<<1)|0;b[wa>>1]=ya}if(sa){wa=ua-xa|0;if((wa|0)<0){za=0}else{za=(wa|0)>(O|0)?P:wa&65535}wa=aa+((ga(ta,u)|0)<<1)|0;b[wa>>1]=za}ta=ta+1|0;}while((ta|0)<4)}else{ta=T>>ba;if(oa){Aa=1}else{if(!((ta|0)>-1&(ta|0)<(ca|0))){ia=62;break a}sa=ja+(((ga(da,ta)|0)+ea|0)*3|0)|0;Aa=((d[sa]|d[sa+1|0]<<8)<<16>>16&1024)==0}if(!((ta|0)>-1&(ta|0)<(ca|0))){ia=65;break a}sa=ja+(((ga(da,ta)|0)+ea|0)*3|0)|0;ta=((d[sa]|d[sa+1|0]<<8)<<16>>16&2048)==0&Aa;if(oa){Ba=1}else{sa=ja+(fa*3|0)|0;Ba=((d[sa]|d[sa+1|0]<<8)<<16>>16&1024)==0}sa=ja+(fa*3|0)|0;ka=((d[sa]|d[sa+1|0]<<8)<<16>>16&2048)==0&Ba;sa=-$|0;la=0;do{ha=e[o+(la<<1)>>1]|0;wa=e[n+(la<<1)>>1]|0;ua=(e[n+8+(la<<1)>>1]|0)+4+(ha-wa<<2)-(e[o+8+(la<<1)>>1]|0)>>3;if((ua|0)<(sa|0)){Ca=sa}else{Ca=(ua|0)>($|0)?$:ua}if(ta){ua=wa+Ca|0;if((ua|0)<0){Da=0}else{Da=(ua|0)>(O|0)?P:ua&65535}b[aa+(la-u<<1)>>1]=Da}if(ka){ua=ha-Ca|0;if((ua|0)<0){Ea=0}else{Ea=(ua|0)>(O|0)?P:ua&65535}b[aa+(la<<1)>>1]=Ea}la=la+1|0;}while((la|0)<4)}}while((Z|0)<2)}V=V+r|0;}while((V|0)<(w|0))}V=Q+s|0;if((V|0)<(x|0)){Q=V}else{ia=82;break}}if((ia|0)==14){ec(8880,6264,118,17352)}else if((ia|0)==17){ec(4520,6264,119,17352)}else if((ia|0)==20){ec(8880,6264,118,17352)}else if((ia|0)==23){ec(4520,6264,119,17352)}else if((ia|0)==33){ec(8880,6264,118,17352)}else if((ia|0)==36){ec(4520,6264,119,17352)}else if((ia|0)==42){ec(8880,6264,118,17352)}else if((ia|0)==45){ec(8880,6264,118,17352)}else if((ia|0)==62){ec(4520,6264,119,17352)}else if((ia|0)==65){ec(4520,6264,119,17352)}else if((ia|0)==82){i=m;return}}function Ae(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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,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,Ba=0,Ca=0,Da=0,Ea=0;l=i;i=i+16|0;m=l|0;n=l+8|0;o=c[b+5780>>2]|0;p=c[b+5784>>2]|0;q=ga(o,f?2:1)|0;r=ga(p,f?1:2)|0;s=b+44|0;t=c[s>>2]|0;u=b+10472|0;v=c[u>>2]|0;w=(v|0)>(k|0)?k:v;v=c[b+10476>>2]|0;k=(v|0)>(h|0)?h:v;v=b+5768|0;if((k|0)<=(g|0)){i=l;return}h=(w|0)>(j|0);x=3-o|0;y=3-p|0;z=b+10460|0;A=b+5952|0;B=b+5956|0;C=b+10368|0;D=b+10372|0;E=b+10376|0;F=b+10360|0;G=b+5776|0;H=b+10348|0;I=b+10352|0;J=b+10356|0;K=b+10340|0;L=b+48|0;M=b+5480|0;N=(1<<c[v>>2])-1|0;O=N&255;P=g;a:while(1){if(h){g=P<<y;Q=ga(g,p)|0;R=(Q|0)/4|0;S=Q-1|0;T=j;do{U=T<<x;V=ga(U,o)|0;W=(ga(c[u>>2]|0,R)|0)+((V|0)/4|0)|0;X=a[(c[z>>2]|0)+W|0]&3;if((X&255)>>>0>1>>>0){W=V-1|0;Y=((X&255)<<1)-2|0;X=0;do{Z=c[((X|0)==0?A:B)>>2]|0;X=X+1|0;_=c[b+4+(X<<2)>>2]|0;$=(ga(c[s>>2]|0,g)|0)+U|0;aa=0;while(1){ba=aa+$|0;ca=$+~aa|0;da=(ga(aa,t)|0)+$|0;ea=aa+1|0;fa=$-(ga(ea,t)|0)|0;if(f){a[n+(aa<<2)|0]=a[_+ba|0]|0;a[m+(aa<<2)|0]=a[_+ca|0]|0;a[n+(aa<<2)+1|0]=a[_+(ba+t)|0]|0;a[m+(aa<<2)+1|0]=a[_+(ca+t)|0]|0;ha=t<<1;a[n+(aa<<2)+2|0]=a[_+(ba+ha)|0]|0;a[m+(aa<<2)+2|0]=a[_+(ca+ha)|0]|0;ha=t*3|0;a[n+(aa<<2)+3|0]=a[_+(ba+ha)|0]|0;a[m+(aa<<2)+3|0]=a[_+(ca+ha)|0]|0}else{a[n+(aa<<2)|0]=a[_+da|0]|0;a[m+(aa<<2)|0]=a[_+fa|0]|0;a[n+(aa<<2)+1|0]=a[_+(da+1)|0]|0;a[m+(aa<<2)+1|0]=a[_+(fa+1)|0]|0;a[n+(aa<<2)+2|0]=a[_+(da+2)|0]|0;a[m+(aa<<2)+2|0]=a[_+(fa+2)|0]|0;a[n+(aa<<2)+3|0]=a[_+(da+3)|0]|0;a[m+(aa<<2)+3|0]=a[_+(fa+3)|0]|0}if((ea|0)<2){aa=ea}else{break}}aa=c[C>>2]|0;ea=V>>aa;fa=Q>>aa;if(!((ea|0)>-1)){ia=14;break a}da=c[D>>2]|0;if((ea|0)>=(da|0)){ia=14;break a}if(!((fa|0)>-1)){ia=17;break a}ha=c[E>>2]|0;if((fa|0)>=(ha|0)){ia=17;break a}ca=ga(da,fa)|0;fa=ca+ea|0;ba=c[F>>2]|0;ja=a[ba+(fa*3|0)+2|0]|0;if(f){ka=W>>aa;if(!((ka|0)>-1&(ka|0)<(da|0))){ia=20;break a}la=ca+ka|0}else{ka=S>>aa;if(!((ka|0)>-1&(ka|0)<(ha|0))){ia=23;break a}la=(ga(da,ka)|0)+ea|0}ka=(ja+1+(a[ba+(la*3|0)+2|0]|0)>>1)+Z|0;do{if((c[G>>2]|0)==1){if((ka|0)<30){ma=ka;break}if((ka|0)>42){ma=ka-6|0;break}else{ma=c[8+(ka-30<<2)>>2]|0;break}}else{ma=(ka|0)<51?ka:51}}while(0);ka=c[H>>2]|0;Z=V>>ka;ja=Q>>ka;if(!((Z|0)>-1)){ia=33;break a}ka=c[I>>2]|0;if((Z|0)>=(ka|0)){ia=33;break a}if(!((ja|0)>-1)){ia=36;break a}if((ja|0)>=(c[J>>2]|0)){ia=36;break a}na=(ga(ka,ja)|0)+Z|0;Z=Y+ma+(c[(c[(c[L>>2]|0)+(e[(c[K>>2]|0)+(na*24|0)+2>>1]<<2)>>2]|0)+760>>2]|0)|0;if((Z|0)<0){oa=0}else{oa=(Z|0)>53?53:Z}Z=d[30664+oa|0]<<(c[v>>2]|0)-8;na=(a[M]|0)==0;if(f){ja=W>>aa;if(na){pa=1}else{if(!((ja|0)>-1&(ja|0)<(da|0))){ia=42;break a}ka=ba+((ca+ja|0)*3|0)|0;pa=((d[ka]|d[ka+1|0]<<8)<<16>>16&1024)==0}if(!((ja|0)>-1&(ja|0)<(da|0))){ia=45;break a}ka=ba+((ca+ja|0)*3|0)|0;ja=((d[ka]|d[ka+1|0]<<8)<<16>>16&2048)==0&pa;if(na){qa=1}else{ka=ba+(fa*3|0)|0;qa=((d[ka]|d[ka+1|0]<<8)<<16>>16&1024)==0}ka=ba+(fa*3|0)|0;ra=((d[ka]|d[ka+1|0]<<8)<<16>>16&2048)==0&qa;ka=-Z|0;sa=$-1|0;ta=0;do{ua=d[n+ta|0]|0;va=d[m+ta|0]|0;wa=(d[m+4+ta|0]|0)+4+(ua-va<<2)-(d[n+4+ta|0]|0)>>3;if((wa|0)<(ka|0)){xa=ka}else{xa=(wa|0)>(Z|0)?Z:wa}if(ja){wa=va+xa|0;if((wa|0)<0){ya=0}else{ya=(wa|0)>(N|0)?O:wa&255}wa=_+(sa+(ga(ta,t)|0))|0;a[wa]=ya}if(ra){wa=ua-xa|0;if((wa|0)<0){za=0}else{za=(wa|0)>(N|0)?O:wa&255}wa=_+((ga(ta,t)|0)+$)|0;a[wa]=za}ta=ta+1|0;}while((ta|0)<4)}else{ta=S>>aa;if(na){Aa=1}else{if(!((ta|0)>-1&(ta|0)<(ha|0))){ia=62;break a}ra=ba+(((ga(da,ta)|0)+ea|0)*3|0)|0;Aa=((d[ra]|d[ra+1|0]<<8)<<16>>16&1024)==0}if(!((ta|0)>-1&(ta|0)<(ha|0))){ia=65;break a}ra=ba+(((ga(da,ta)|0)+ea|0)*3|0)|0;ta=((d[ra]|d[ra+1|0]<<8)<<16>>16&2048)==0&Aa;if(na){Ba=1}else{ra=ba+(fa*3|0)|0;Ba=((d[ra]|d[ra+1|0]<<8)<<16>>16&1024)==0}ra=ba+(fa*3|0)|0;sa=((d[ra]|d[ra+1|0]<<8)<<16>>16&2048)==0&Ba;ra=-Z|0;ja=$-t|0;ka=0;do{ca=d[n+ka|0]|0;wa=d[m+ka|0]|0;ua=(d[m+4+ka|0]|0)+4+(ca-wa<<2)-(d[n+4+ka|0]|0)>>3;if((ua|0)<(ra|0)){Ca=ra}else{Ca=(ua|0)>(Z|0)?Z:ua}if(ta){ua=wa+Ca|0;if((ua|0)<0){Da=0}else{Da=(ua|0)>(N|0)?O:ua&255}a[_+(ja+ka)|0]=Da}if(sa){ua=ca-Ca|0;if((ua|0)<0){Ea=0}else{Ea=(ua|0)>(N|0)?O:ua&255}a[_+(ka+$)|0]=Ea}ka=ka+1|0;}while((ka|0)<4)}}while((X|0)<2)}T=T+q|0;}while((T|0)<(w|0))}T=P+r|0;if((T|0)<(k|0)){P=T}else{ia=82;break}}if((ia|0)==14){ec(8880,6264,118,17352)}else if((ia|0)==17){ec(4520,6264,119,17352)}else if((ia|0)==20){ec(8880,6264,118,17352)}else if((ia|0)==23){ec(4520,6264,119,17352)}else if((ia|0)==33){ec(8880,6264,118,17352)}else if((ia|0)==36){ec(4520,6264,119,17352)}else if((ia|0)==42){ec(8880,6264,118,17352)}else if((ia|0)==45){ec(8880,6264,118,17352)}else if((ia|0)==62){ec(4520,6264,119,17352)}else if((ia|0)==65){ec(4520,6264,119,17352)}else if((ia|0)==82){i=l;return}}function Be(b){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=b|0;e=b+4|0;c[e>>2]=1;f=b+8|0;Wh(c[f>>2]|0,d);g=c[f>>2]|0;h=c[g+10472>>2]|0;i=(c[g+5812>>2]|0)/4|0;j=b+12|0;k=c[j>>2]|0;l=ga(k,i)|0;m=k+1|0;n=ga(m,i)|0;i=c[g+10476>>2]|0;o=(n|0)>(i|0)?i:n;n=b+16|0;b=(a[n]|0)!=0;i=b?2:3;p=c[g+5820>>2]|0;q=p-1|0;do{if(b){r=(c[g+5828>>2]|0)-1|0;Yh(g,d,q,(r|0)<(m|0)?r:m,1)}else{if((k|0)>0){Yh(g,d,q,k-1|0,2);s=c[f>>2]|0;t=c[j>>2]|0}else{s=g;t=k}Yh(s,d,q,t,2);r=(c[j>>2]|0)+1|0;u=c[f>>2]|0;if((r|0)>=(c[u+5828>>2]|0)){break}Yh(u,d,q,r,2)}}while(0);t=c[f>>2]|0;s=c[j>>2]|0;do{if((a[n]|0)==0){k=ga(c[t+10352>>2]|0,s)|0;if((a[(c[t+10340>>2]|0)+(k*24|0)+21|0]|0)!=0){v=t;w=0;x=11}}else{k=ve(t,s)|0;g=c[f>>2]|0;m=ga(c[g+10352>>2]|0,c[j>>2]|0)|0;a[(c[g+10340>>2]|0)+(m*24|0)+21|0]=k&1;if(!k){break}v=g;w=(a[n]|0)!=0;x=11}}while(0);do{if((x|0)==11){we(v,w,l,o,0,h);s=c[f>>2]|0;t=(a[n]|0)!=0;if((c[s+5760>>2]|0)>8){xe(s,t,l,o,0,h)}else{ye(s,t,l,o,0,h)}t=c[f>>2]|0;if((c[t+5776>>2]|0)==0){break}s=(a[n]|0)!=0;if((c[t+5768>>2]|0)>8){ze(t,s,l,o,0,h);break}else{Ae(t,s,l,o,0,h);break}}}while(0);if((p|0)<1){c[e>>2]=3;y=c[f>>2]|0;Xh(y,d);return}else{z=0}while(1){p=c[f>>2]|0;h=(ga(c[j>>2]|0,c[p+5820>>2]|0)|0)+z|0;Ek((c[p+10524>>2]|0)+(h*76|0)|0,i);if((z|0)>=(q|0)){break}z=z+1|0}c[e>>2]=3;y=c[f>>2]|0;Xh(y,d);return}function Ce(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+8|0;e=d|0;f=c[b>>2]|0;g=c[f+10332>>2]|0;h=f+5828|0;Vh(f,c[h>>2]<<1);j=b+10668|0;k=b+10672|0;l=g+375396|0;g=b+10664|0;if((c[h>>2]|0)>0){m=0}else{i=d;return}do{b=Nu(20)|0;c[b+4>>2]=0;c[b>>2]=22184;c[b+8>>2]=f;c[b+12>>2]=m;a[b+16|0]=1;n=b;c[e>>2]=n;b=c[j>>2]|0;if(b>>>0<(c[k>>2]|0)>>>0){if((b|0)==0){o=0}else{c[b>>2]=n;o=c[j>>2]|0}c[j>>2]=o+4}else{He(g,e)}Kk(l,n);m=m+1|0;p=c[h>>2]|0;}while((m|0)<(p|0));if((p|0)>0){q=0}else{i=d;return}do{p=Nu(20)|0;c[p+4>>2]=0;c[p>>2]=22184;c[p+8>>2]=f;c[p+12>>2]=q;a[p+16|0]=0;m=p;c[e>>2]=m;p=c[j>>2]|0;if(p>>>0<(c[k>>2]|0)>>>0){if((p|0)==0){r=0}else{c[p>>2]=m;r=c[j>>2]|0}c[j>>2]=r+4}else{He(g,e)}Kk(l,m);q=q+1|0;}while((q|0)<(c[h>>2]|0));i=d;return}function De(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+5828|0;if((c[b>>2]|0)>0){d=0;e=0}else{return}do{d=d|(ve(a,e)|0);e=e+1|0;}while((e|0)<(c[b>>2]|0));if(!d){return}d=a+10476|0;b=a+10472|0;we(a,1,0,c[d>>2]|0,0,c[b>>2]|0);e=c[d>>2]|0;f=c[b>>2]|0;g=a+5760|0;if((c[g>>2]|0)>8){xe(a,1,0,e,0,f)}else{ye(a,1,0,e,0,f)}f=a+5776|0;do{if((c[f>>2]|0)!=0){e=c[d>>2]|0;h=c[b>>2]|0;if((c[a+5768>>2]|0)>8){ze(a,1,0,e,0,h);break}else{Ae(a,1,0,e,0,h);break}}}while(0);we(a,0,0,c[d>>2]|0,0,c[b>>2]|0);h=c[d>>2]|0;e=c[b>>2]|0;if((c[g>>2]|0)>8){xe(a,0,0,h,0,e)}else{ye(a,0,0,h,0,e)}if((c[f>>2]|0)==0){return}f=c[d>>2]|0;d=c[b>>2]|0;if((c[a+5768>>2]|0)>8){ze(a,0,0,f,0,d);return}else{Ae(a,0,0,f,0,d);return}}function Ee(a){a=a|0;return}function Fe(a){a=a|0;Pu(a);return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+104|0;f=e|0;mb(f|0,1888,(g=i,i=i+8|0,c[g>>2]=c[d+12>>2],g)|0)|0;i=g;g=ev(f|0)|0;if(g>>>0>4294967279>>>0){nm(0)}if(g>>>0<11>>>0){a[b]=g<<1;h=b+1|0;cv(h|0,f|0,g)|0;j=h+g|0;a[j]=0;k=100;l=0;i=e;return}else{d=g+16&-16;m=Nu(d)|0;c[b+8>>2]=m;c[b>>2]=d|1;c[b+4>>2]=g;h=m;cv(h|0,f|0,g)|0;j=h+g|0;a[j]=0;k=100;l=0;i=e;return}}function He(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+132|0;if((c[d>>2]|0)!=0){ec(1960,14344,169,17808)}e=Ra(b|0,18624)|0;f=K;g=sb(e|0,16)|0;e=Ou(f|K?-1:g)|0;c[e+12>>2]=b;g=e+16|0;if((b|0)==0){c[d>>2]=g;h=a+136|0;c[h>>2]=b;return}e=g+(b*18624|0)|0;f=g;do{Cd(f+18580|0);i=f+48|0;j=i&15;dv(f+18508|0,0,20)|0;dv(f+18592|0,0,20)|0;if((j|0)==0){c[f+2112>>2]=i;k=i}else{l=i+(16-j)|0;c[f+2112>>2]=l;k=l}dv(k|0,0,2048)|0;f=f+18624|0;}while((f|0)!=(e|0));c[d>>2]=g;h=a+136|0;c[h>>2]=b;return}function Je(a){a=a|0;var b=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;b=a+10636|0;d=c[b>>2]|0;e=a+10632|0;f=c[e>>2]|0;if((d|0)!=(f|0)){g=0;h=f;f=d;while(1){d=c[h+(g<<2)>>2]|0;if((d|0)==0){i=f;j=h}else{Vi((c[d+140>>2]|0)+548|0,c[d>>2]|0);k=c[d+132>>2]|0;if((k|0)!=0){l=k-18624+18608|0;m=l;n=c[l+12>>2]|0;if((n|0)!=0){l=k+(n*18624|0)|0;while(1){n=l-18624|0;Ed(l-18624+18580|0);if((n|0)==(k|0)){break}else{l=n}}}Qu(m)}Ck(d+44|0);Pu(d);i=c[b>>2]|0;j=c[e>>2]|0}l=g+1|0;if(l>>>0<i-j>>2>>>0){g=l;h=j;f=i}else{break}}}i=a+10668|0;f=c[i>>2]|0;j=a+10664|0;h=c[j>>2]|0;if((f|0)==(h|0)){o=f}else{g=0;l=h;h=f;while(1){f=c[l+(g<<2)>>2]|0;if((f|0)==0){p=h;q=l}else{Dc[c[(c[f>>2]|0)+4>>2]&511](f);p=c[i>>2]|0;q=c[j>>2]|0}f=g+1|0;if(f>>>0<p-q>>2>>>0){g=f;l=q;h=p}else{o=q;break}}}q=a+10676|0;p=c[q>>2]|0;if((p|0)==0){r=o}else{o=a+10680|0;h=c[o>>2]|0;if((h|0)==(p|0)){s=p}else{l=h;do{h=l-8|0;c[o>>2]=h;Ed(h);l=c[o>>2]|0;}while((l|0)!=(p|0));s=c[q>>2]|0}Pu(s);r=c[j>>2]|0}if((r|0)!=0){j=c[i>>2]|0;if((j|0)!=(r|0)){c[i>>2]=j+(~((j-4+(-r|0)|0)>>>2)<<2)}Pu(r)}r=c[a+10644>>2]|0;if((r|0)!=0){j=a+10648|0;i=c[j>>2]|0;if((i|0)!=(r|0)){c[j>>2]=i+(~(((i-80+(-r|0)|0)>>>0)/80|0)*80|0)}Pu(r)}r=c[e>>2]|0;if((r|0)==0){t=a+8|0;Rh(t);return}e=c[b>>2]|0;if((e|0)!=(r|0)){c[b>>2]=e+(~((e-4+(-r|0)|0)>>>2)<<2)}Pu(r);t=a+8|0;Rh(t);return}function Ke(a,b){a=a|0;b=b|0;Lf(a+172|0);return}function Le(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b+84>>2]=0;c[b+168>>2]=0;d=b|0;c[d>>2]=22344;Lf(b+172|0);c[d>>2]=22312;Si(b+548|0);c[b+1192>>2]=0;c[b+1196>>2]=0;c[b+1200>>2]=0;dv(b+1228|0,0,24)|0;c[b+1848>>2]=0;c[b+1852>>2]=0;c[b+1856>>2]=0;dv(b+1884|0,0,24)|0;c[b+2504>>2]=0;c[b+2508>>2]=0;c[b+2512>>2]=0;dv(b+2540|0,0,24)|0;c[b+3160>>2]=0;c[b+3164>>2]=0;c[b+3168>>2]=0;dv(b+3196|0,0,24)|0;c[b+3816>>2]=0;c[b+3820>>2]=0;c[b+3824>>2]=0;dv(b+3852|0,0,24)|0;c[b+4472>>2]=0;c[b+4476>>2]=0;c[b+4480>>2]=0;dv(b+4508|0,0,24)|0;c[b+5128>>2]=0;c[b+5132>>2]=0;c[b+5136>>2]=0;dv(b+5164|0,0,24)|0;c[b+5784>>2]=0;c[b+5788>>2]=0;c[b+5792>>2]=0;dv(b+5820|0,0,24)|0;c[b+6440>>2]=0;c[b+6444>>2]=0;c[b+6448>>2]=0;dv(b+6476|0,0,24)|0;c[b+7096>>2]=0;c[b+7100>>2]=0;c[b+7104>>2]=0;dv(b+7132|0,0,24)|0;c[b+7752>>2]=0;c[b+7756>>2]=0;c[b+7760>>2]=0;dv(b+7788|0,0,24)|0;c[b+8408>>2]=0;c[b+8412>>2]=0;c[b+8416>>2]=0;dv(b+8444|0,0,24)|0;c[b+9064>>2]=0;c[b+9068>>2]=0;c[b+9072>>2]=0;dv(b+9100|0,0,24)|0;c[b+9720>>2]=0;c[b+9724>>2]=0;c[b+9728>>2]=0;dv(b+9756|0,0,24)|0;c[b+10376>>2]=0;c[b+10380>>2]=0;c[b+10384>>2]=0;dv(b+10412|0,0,24)|0;c[b+11032>>2]=0;c[b+11036>>2]=0;c[b+11040>>2]=0;dv(b+11068|0,0,24)|0;d=b+93784|0;e=b+11096|0;do{ik(e);e=e+5168|0;}while((e|0)!=(d|0));d=b+375384|0;e=b+93784|0;do{jj(e);e=e+4400|0;}while((e|0)!=(d|0));dv(b+375400|0,0,24)|0;sh(b+376144|0);c[b+377212>>2]=0;c[b+377216>>2]=0;c[b+377220>>2]=0;a[b+512|0]=0;a[b+513|0]=1;a[b+514|0]=0;a[b+532|0]=0;a[b+533|0]=0;d=b+536|0;dv(b+516|0,-1|0,16)|0;e=27248;f=c[e+4>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+544>>2]=0;c[b+375384>>2]=0;c[b+375388>>2]=0;c[b+375392>>2]=0;c[b+375888>>2]=0;f=b+375892|0;c[f>>2]=6;c[b+375896>>2]=100;c[b+375900>>2]=6;c[b+375908>>2]=6;c[b+375904>>2]=100;d=6;while(1){e=d*100|0;g=(e|0)/7|0;h=(e+100|0)/7|0;a:do{if((g|0)>(h|0)){i=d}else{e=h-g|0;j=d;k=g;while(1){l=c[f>>2]|0;m=(j|0)>(l|0);n=m?l:j;a[b+375912+(k<<1)|0]=n;a[b+375912+(k<<1)+1|0]=m?100:(((k-g|0)*100|0|0)/(e|0)|0)&255;if((k|0)>=(h|0)){i=n;break a}j=n;k=k+1|0}}}while(0);c[b+376116+(i<<2)>>2]=h;if((i|0)>0){d=i-1|0}else{break}}i=b+376200|0;dv(i|0,0,24)|0;a[b+376204|0]=1;c[i>>2]=-1;return}function Me(a){a=a|0;Ne(a);Pu(a);return}function Ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=22312;b=a+377212|0;d=c[b>>2]|0;e=a+377216|0;f=c[e>>2]|0;if((d|0)==(f|0)){g=d}else{h=f;f=d;while(1){d=c[h-4>>2]|0;if((d|0)==0){i=h;j=f}else{Je(d);Pu(d);i=c[e>>2]|0;j=c[b>>2]|0}d=i-4|0;k=i+(~((d+(-d|0)|0)>>>2)<<2)|0;c[e>>2]=k;if((j|0)==(k|0)){g=j;break}else{h=k;f=j}}}if((g|0)!=0){Pu(g)}th(a+376144|0);g=a+375400|0;Kf(g|0);j=a+375404|0;f=c[j>>2]|0;h=a+375408|0;e=c[h>>2]|0;do{if((f|0)!=(e|0)){i=f;do{Pu(c[i>>2]|0);i=i+4|0;}while((i|0)!=(e|0));i=c[j>>2]|0;b=c[h>>2]|0;if((b|0)==(i|0)){break}c[h>>2]=b+(~((b-4+(-i|0)|0)>>>2)<<2)}}while(0);h=c[g>>2]|0;if((h|0)!=0){Pu(h)}h=a+93784|0;g=a+375384|0;do{g=g-4400|0;kj(g);}while((g|0)!=(h|0));jk(a+88616|0);jk(a+83448|0);jk(a+78280|0);jk(a+73112|0);jk(a+67944|0);jk(a+62776|0);jk(a+57608|0);jk(a+52440|0);jk(a+47272|0);jk(a+42104|0);jk(a+36936|0);jk(a+31768|0);jk(a+26600|0);jk(a+21432|0);jk(a+16264|0);jk(a+11096|0);Jf(a+10440|0);Jf(a+9784|0);Jf(a+9128|0);Jf(a+8472|0);Jf(a+7816|0);Jf(a+7160|0);Jf(a+6504|0);Jf(a+5848|0);Jf(a+5192|0);Jf(a+4536|0);Jf(a+3880|0);Jf(a+3224|0);Jf(a+2568|0);Jf(a+1912|0);Jf(a+1256|0);Jf(a+600|0);Ti(a+548|0);return}function Oe(a){a=a|0;if((c[a+375888>>2]|0)<=0){return}Jk(a+375396|0);return}function Pe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+375888|0;if((c[d>>2]|0)>0){Jk(b+375396|0)}c[b+376220>>2]=0;c[b+376200>>2]=-1;a[b+376204|0]=1;Bh(b+376144|0);_i(b+548|0);e=b+377212|0;f=c[e>>2]|0;g=b+377216|0;h=c[g>>2]|0;if((f|0)!=(h|0)){i=h;h=f;while(1){f=c[i-4>>2]|0;if((f|0)==0){j=i;k=h}else{Je(f);Pu(f);j=c[g>>2]|0;k=c[e>>2]|0}f=j-4|0;l=j+(~((f+(-f|0)|0)>>>2)<<2)|0;c[g>>2]=l;if((k|0)==(l|0)){break}else{i=l;h=k}}}k=c[d>>2]|0;if((k|0)<=0){return}Hk(b+375396|0,k)|0;c[d>>2]=k;return}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;dv(d+48|0,0,2064)|0;c[d+18532>>2]=-1;c[d+18536>>2]=-1;b=c[d+18596>>2]|0;e=c[(c[d+18600>>2]|0)+16>>2]|0;if((e|0)<=0){return}f=c[(c[b+10284>>2]|0)+((c[(c[b+10272>>2]|0)+(e<<2)>>2]|0)-1<<2)>>2]|0;e=c[b+5820>>2]|0;g=c[b+5804>>2]|0;h=(((f|0)%(e|0)|0)+1<<g)-1|0;i=(((f|0)/(e|0)|0)+1<<g)-1|0;g=(c[b+1248>>2]|0)-1|0;e=(c[b+1252>>2]|0)-1|0;f=c[b+10368>>2]|0;j=((g|0)<(h|0)?g:h)>>f;h=((e|0)<(i|0)?e:i)>>f;if(!((j|0)>-1)){ec(14528,14272,118,17304)}f=c[b+10372>>2]|0;if((j|0)>=(f|0)){ec(14528,14272,118,17304)}if(!((h|0)>-1)){ec(13968,14272,119,17304)}if((h|0)>=(c[b+10376>>2]|0)){ec(13968,14272,119,17304)}i=(ga(f,h)|0)+j|0;c[d+18528>>2]=a[(c[b+10360>>2]|0)+(i*3|0)+2|0]|0;return}function Re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+656|0;f=e|0;g=f;h=f+592|0;c[h>>2]=0;j=f+596|0;c[j>>2]=0;c[f+600>>2]=0;k=f+628|0;dv(k|0,0,24)|0;l=_k(f,b+4|0,d)|0;if((l|0)==0){d=c[b+520>>2]|0;if((d|0)>-1){cl(f,d)}d=c[f>>2]|0;m=b+600+(d*656|0)|0;cv(m|0,g|0,592)|0;if((m|0)==(f|0)){cv(b+600+(d*656|0)+604|0,f+604|0,24)|0}else{Cf(b+600+(d*656|0)+592|0,c[h>>2]|0,c[j>>2]|0);cv(b+600+(d*656|0)+604|0,f+604|0,24)|0;Bf(b+600+(d*656|0)+628|0,c[k>>2]|0,c[f+632>>2]|0);Af(b+600+(d*656|0)+640|0,c[f+640>>2]|0,c[f+644>>2]|0)}a[b+600+(d*656|0)+652|0]=a[f+652|0]|0;n=0}else{n=l}l=c[f+640>>2]|0;if((l|0)!=0){d=f+644|0;if((c[d>>2]|0)!=(l|0)){c[d>>2]=l}Pu(l)}l=c[k>>2]|0;if((l|0)!=0){k=f+632|0;f=c[k>>2]|0;if((f|0)!=(l|0)){c[k>>2]=f+(~((f-2+(-l|0)|0)>>>1)<<1)}Pu(l)}l=c[h>>2]|0;if((l|0)==0){o=656;p=0;i=e;return n|0}f=c[j>>2]|0;if((f|0)==(l|0)){q=l}else{k=f;while(1){f=k-12|0;c[j>>2]=f;d=c[f>>2]|0;if((d|0)==0){r=f}else{Pu(d);r=c[j>>2]|0}if((r|0)==(l|0)){break}else{k=r}}q=c[h>>2]|0}Pu(q);o=656;p=0;i=e;return n|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+4400|0;f=e|0;jj(f);g=mj(f,d,b)|0;d=c[b+524>>2]|0;if((d|0)>-1){oj(f,d)}if(!g){h=g?0:1006;kj(f);j=4400;k=0;i=e;return h|0}d=a[f+1|0]|0;l=b+93784+(d*4400|0)|0;cv(l|0,f|0,4340)|0;if((l|0)==(f|0)){h=g?0:1006;kj(f);j=4400;k=0;i=e;return h|0}tf(b+93784+(d*4400|0)+4340|0,c[f+4340>>2]|0,c[f+4344>>2]|0);tf(b+93784+(d*4400|0)+4352|0,c[f+4352>>2]|0,c[f+4356>>2]|0);tf(b+93784+(d*4400|0)+4364|0,c[f+4364>>2]|0,c[f+4368>>2]|0);tf(b+93784+(d*4400|0)+4376|0,c[f+4376>>2]|0,c[f+4380>>2]|0);tf(b+93784+(d*4400|0)+4388|0,c[f+4388>>2]|0,c[f+4392>>2]|0);h=g?0:1006;kj(f);j=4400;k=0;i=e;return h|0}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+80|0;f=e|0;g=f;h=a+375388|0;j=Fj(b,f,d,c[h>>2]|0)|0;do{if((j|0)==0){Gj(f,c[h>>2]|0);b=c[a+377216>>2]|0;if((c[a+377212>>2]|0)==(b|0)|d^1){break}k=c[b-4>>2]|0;b=k+10648|0;l=c[b>>2]|0;if((l|0)==(c[k+10652>>2]|0)){xf(k+10644|0,f);break}if((l|0)==0){m=0}else{cv(l|0,g|0,80)|0;m=c[b>>2]|0}c[b>>2]=m+80}else{b=a+84|0;l=c[b>>2]|0;if((l|0)==20){c[a+80>>2]=1001;break}else{c[b>>2]=l+1;c[a+4+(l<<2)>>2]=j;break}}}while(0);i=e;return j|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;a:do{if(d){e=a+164|0;f=c[e>>2]|0;do{if((f|0)>0){g=0;while(1){h=g+1|0;if((c[a+84+(g<<2)>>2]|0)==(b|0)){i=10;break}if((h|0)<(f|0)){g=h}else{i=5;break}}if((i|0)==5){if((f|0)<20){break}else{break a}}else if((i|0)==10){return}}}while(0);c[e>>2]=f+1;c[a+84+(f<<2)>>2]=b}}while(0);i=a+80|0;d=c[i>>2]|0;if((d|0)==20){c[a+76>>2]=1001;return}else{c[i>>2]=d+1;c[a+(d<<2)>>2]=b;return}}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+48|0;h=g|0;j=g+8|0;k=g+16|0;l=g+24|0;m=g+32|0;n=g+40|0;o=Nu(1356)|0;p=o;If(p);q=Kj(p,d,b,j)|0;c[k>>2]=q;if((a[j]|0)==0){j=c[b+376220>>2]|0;if((j|0)!=0){a[j+10516|0]=2}Vi(b+548|0,e);if((o|0)==0){r=q;i=g;return r|0}j=c[o+1344>>2]|0;if((j|0)!=0){s=o+1348|0;t=c[s>>2]|0;if((t|0)!=(j|0)){c[s>>2]=t+(~((t-4+(-j|0)|0)>>>2)<<2)}Pu(j)}Ed(o+1332|0);j=c[o+776>>2]|0;if((j|0)!=0){t=o+780|0;s=c[t>>2]|0;if((s|0)!=(j|0)){c[t>>2]=s+(~((s-4+(-j|0)|0)>>>2)<<2)}Pu(j)}Pu(o);r=q;i=g;return r|0}q=c[b+528>>2]|0;if((q|0)>-1){Lj(p,b,q)}q=e+8|0;j=We(b,b,p,k,c[q>>2]|0,c[q+4>>2]|0,f,c[e+16>>2]|0)|0;f=b+376220|0;q=c[f>>2]|0;if(!j){if((q|0)!=0){a[q+10516|0]=2}Vi(b+548|0,e);if((o|0)!=0){j=c[o+1344>>2]|0;if((j|0)!=0){s=o+1348|0;t=c[s>>2]|0;if((t|0)!=(j|0)){c[s>>2]=t+(~((t-4+(-j|0)|0)>>>2)<<2)}Pu(j)}Ed(o+1332|0);j=c[o+776>>2]|0;if((j|0)!=0){t=o+780|0;s=c[t>>2]|0;if((s|0)!=(j|0)){c[t>>2]=s+(~((s-4+(-j|0)|0)>>>2)<<2)}Pu(j)}Pu(o)}r=c[k>>2]|0;i=g;return r|0}c[h>>2]=p;j=q+48|0;s=q+52|0;t=c[s>>2]|0;c[o>>2]=t-(c[j>>2]|0)>>2;if((t|0)==(c[q+56>>2]|0)){Hf(j,h)}else{if((t|0)==0){u=0}else{c[t>>2]=p;u=c[s>>2]|0}c[s>>2]=u+4}od(d,1);pd(d);u=(c[d>>2]|0)-(c[e+20>>2]|0)|0;s=o+768|0;if((c[s>>2]|0)>0){t=o+776|0;h=0;j=c[t>>2]|0;do{q=Qi(e,c[j+(h<<2)>>2]|0,u)|0;j=c[t>>2]|0;v=j+(h<<2)|0;c[v>>2]=(c[v>>2]|0)-q;h=h+1|0;}while((h|0)<(c[s>>2]|0))}do{if((a[o+4|0]|0)==0){w=b+377216|0}else{s=Nu(10688)|0;Oh(s+8|0);h=s;dv(s+10632|0,0,56)|0;c[l>>2]=h;c[s>>2]=c[f>>2];s=b+377216|0;j=c[s>>2]|0;if((j|0)==(c[b+377220>>2]|0)){wf(b+377212|0,l);w=s;break}if((j|0)==0){x=0}else{c[j>>2]=h;x=c[s>>2]|0}c[s>>2]=x+4;w=s}}while(0);do{if((c[b+377212>>2]|0)!=(c[w>>2]|0)){x=Nu(144)|0;l=x;c[l>>2]=0;c[x+4>>2]=0;c[x+32>>2]=0;a[x+36|0]=0;Bk(x+44|0);f=x;c[x+120>>2]=0;c[x+124>>2]=-1;c[x+128>>2]=-1;c[x+132>>2]=0;c[x+140>>2]=b;c[x+40>>2]=0;c[x+136>>2]=0;c[m>>2]=f;c[l>>2]=e;c[x+4>>2]=p;l=x+8|0;o=d;c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[l+12>>2]=c[o+12>>2];c[l+16>>2]=c[o+16>>2];c[l+20>>2]=c[o+20>>2];a[x+36|0]=a[b+377224|0]|0;x=c[(c[w>>2]|0)-4>>2]|0;o=x+10636|0;l=c[o>>2]|0;if((l|0)==(c[x+10640>>2]|0)){vf(x+10632|0,m);break}if((l|0)==0){y=0}else{c[l>>2]=f;y=c[o>>2]|0}c[o>>2]=y+4}}while(0);y=Xe(b,n)|0;c[k>>2]=y;r=0;i=g;return r|0}function We(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;l=i;c[f>>2]=0;a[b+377224|0]=0;m=c[e+8>>2]|0;n=d+93784+(m*4400|0)|0;if((a[n|0]|0)==0){Yk(1,344,(o=i,i=i+8|0,c[o>>2]=m,o)|0);i=o;ec(11704,14344,1987,17600);return 0}o=d+375392|0;c[o>>2]=n;n=a[d+93784+(m*4400|0)+2|0]|0;m=d+375388|0;c[m>>2]=d+11096+(n*5168|0);p=d+375384|0;c[p>>2]=d+600+((a[d+11096+(n*5168|0)+1|0]|0)*656|0);hf(b);n=e+4|0;do{if((a[n]|0)==0){if((c[d+376220>>2]|0)==0){q=0}else{break}i=l;return q|0}else{c[d+376200>>2]=c[e+28>>2];r=c[m>>2]|0;if((a[r+4703|0]|0)==0){s=1}else{s=(a[d+533|0]|0)!=0}t=Ch(d+376144|0,r,b,g,h,k,s)|0;if((t|0)==-1){c[f>>2]=9;q=0;i=l;return q|0}r=c[d+376152>>2]|0;if((c[d+376156>>2]|0)-r>>2>>>0>t>>>0){u=c[r+(t<<2)>>2]|0}else{u=0}t=u+10518|0;r=j|0;a[t]=a[r]|0;a[t+1|0]=a[r+1|0]|0;a[t+2|0]=a[r+2|0]|0;r=d+376220|0;c[r>>2]=u;t=u+108|0;v=c[p>>2]|0;cv(t|0,v|0,592)|0;if((t|0)==(v|0)){cv(u+712|0,u+712|0,24)|0}else{Cf(u+700|0,c[v+592>>2]|0,c[v+596>>2]|0);cv(u+712|0,v+604|0,24)|0;Bf(u+736|0,c[v+628>>2]|0,c[v+632>>2]|0);Af(u+748|0,c[v+640>>2]|0,c[v+644>>2]|0)}a[u+760|0]=a[v+652|0]|0;v=u+5932|0;t=c[o>>2]|0;cv(v|0,t|0,4340)|0;if((v|0)!=(t|0)){tf(u+10272|0,c[t+4340>>2]|0,c[t+4344>>2]|0);tf(u+10284|0,c[t+4352>>2]|0,c[t+4356>>2]|0);tf(u+10296|0,c[t+4364>>2]|0,c[t+4368>>2]|0);tf(u+10308|0,c[t+4376>>2]|0,c[t+4380>>2]|0);tf(u+10320|0,c[t+4388>>2]|0,c[t+4392>>2]|0)}c[u+10332>>2]=d;$h(u);t=d+377208|0;a:do{if(Ni(a[t]|0)|0){do{if(!(Ki(a[t]|0)|0)){if(Li(a[t]|0)|0){break}if((a[d+376204|0]|0)!=0){break}if((a[d+376207|0]|0)!=0){break}a[d+376205|0]=0;a[d+376206|0]=0;break a}}while(0);a[d+376205|0]=1;a[d+376207|0]=0}}while(0);do{if(Mi(a[t]|0)|0){if((a[d+376205|0]|0)==0){w=25;break}a[(c[r>>2]|0)+100|0]=0}else{w=25}}while(0);if((w|0)==25){a[(c[r>>2]|0)+100|0]=(a[e+24|0]|0)!=0|0}df(b,d,e);t=u+96|0;if((a[n]|0)!=0){c[t>>2]=1;ff(b,d,e)}c[t>>2]=1;Wk(c[(c[r>>2]|0)+92>>2]|0);a[b+376204|0]=0}}while(0);do{if((c[e+20>>2]|0)>>>0<2>>>0){if(gf(0,d,e)|0){break}else{q=0}i=l;return q|0}}while(0);uh(d+376144|0);if((a[e+12|0]|0)==0){c[e+800>>2]=c[e+16>>2];x=d+376224|0}else{b=d+376224|0;c[e+800>>2]=c[(c[b>>2]|0)+800>>2];x=b}c[x>>2]=e;q=1;i=l;return q|0}function Xe(b,d){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;a[d]=0;e=b+377212|0;f=c[e>>2]|0;g=b+377216|0;h=c[g>>2]|0;if((f|0)==(h|0)){i=0;return i|0}j=c[f>>2]|0;k=c[j+10636>>2]|0;l=c[j+10632>>2]|0;a:do{if((k|0)==(l|0)){m=h;n=f}else{o=k-l>>2;p=0;while(1){q=c[l+(p<<2)>>2]|0;r=p+1|0;if((c[q+40>>2]|0)==0){break}if(r>>>0<o>>>0){p=r}else{m=h;n=f;break a}}if((q|0)==0){m=h;n=f;break}if((a[q+36|0]|0)!=0){Ah(b+376144|0)|0}a[d]=1;p=Ye(b,j,q)|0;if((p|0)==0){m=c[g>>2]|0;n=c[e>>2]|0;break}else{i=p;return i|0}}}while(0);do{if(m-n>>2>>>0>1>>>0){q=c[n>>2]|0;j=c[q+10636>>2]|0;if((j|0)==(c[q+10632>>2]|0)){s=q;break}if((c[(c[j-4>>2]|0)+40>>2]|0)==0){t=14}else{s=q}}else{t=14}}while(0);do{if((t|0)==14){if((m|0)==(n|0)){i=0;return i|0}q=c[n>>2]|0;j=c[q+10636>>2]|0;do{if((j|0)!=(c[q+10632>>2]|0)){if((c[(c[j-4>>2]|0)+40>>2]|0)==0){i=0}else{break}return i|0}}while(0);if(((c[b+556>>2]|0)!=0|0)!=(-(c[b+580>>2]|0)|0)){i=0;return i|0}if((a[b+548|0]|0)!=0){s=q;break}if((a[b+549|0]|0)==0){i=0}else{s=q;break}return i|0}}while(0);a[d]=1;d=s|0;n=c[d>>2]|0;m=n+10344|0;if((c[m>>2]|0)>0){j=n+10524|0;f=0;do{Ek((c[j>>2]|0)+(f*76|0)|0,1);f=f+1|0;}while((f|0)<(c[m>>2]|0));u=c[d>>2]|0}else{u=n}n=u+10332|0;m=c[n>>2]|0;f=(a[m+532|0]|0)==0;do{if((c[(c[(c[b+376220>>2]|0)+10332>>2]|0)+375888>>2]|0)==0){if(f){De(u);v=c[n>>2]|0}else{v=m}if((a[v+533|0]|0)!=0){break}uj(u)}else{if(f){Ce(s);w=3;x=c[n>>2]|0}else{w=1;x=m}if((a[x+533|0]|0)==0){wj(s,w)|0}_h(u)}}while(0);u=s+10648|0;w=s+10644|0;x=c[w>>2]|0;b:do{if((c[u>>2]|0)==(x|0)){t=38}else{m=0;n=x;while(1){y=Hj(n+(m*80|0)|0,c[d>>2]|0)|0;f=m+1|0;if((y|0)!=0){break}v=c[w>>2]|0;if(f>>>0<(((c[u>>2]|0)-v|0)/80|0)>>>0){m=f;n=v}else{t=38;break b}}Ze(b,s)|0;z=y;t=39}}while(0);if((t|0)==38){Ze(b,s)|0;if((s|0)==0){A=0}else{z=0;t=39}}if((t|0)==39){Je(s);Pu(s);A=z}z=c[g>>2]|0;s=c[e>>2]|0;if(z-s>>2>>>0>1>>>0){t=1;b=s;while(1){c[b+(t-1<<2)>>2]=c[b+(t<<2)>>2];s=t+1|0;y=c[g>>2]|0;u=c[e>>2]|0;if(s>>>0<y-u>>2>>>0){t=s;b=u}else{B=y;break}}}else{B=z}z=B-4|0;c[g>>2]=B+(~((z+(-z|0)|0)>>>2)<<2);i=A;return i|0}function Ye(b,d,e){b=b|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,p=0,q=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,E=0,F=0,G=0,H=0;f=e+4|0;g=c[f>>2]|0;h=g+1348|0;i=g+1344|0;g=c[i>>2]|0;if((c[h>>2]|0)!=(g|0)){j=b+376144|0;k=b+376152|0;l=0;m=g;do{g=yh(j,c[m+(l<<2)>>2]|0)|0;if((g|0)>-1){c[(c[(c[k>>2]|0)+(g<<2)>>2]|0)+96>>2]=0}l=l+1|0;m=c[i>>2]|0;}while(l>>>0<(c[h>>2]|0)-m>>2>>>0)}m=d|0;h=c[m>>2]|0;l=e+40|0;c[l>>2]=1;i=c[h+10332>>2]|0;a:do{if((c[i+375888>>2]|0)>0){k=a[h+5965|0]|0;j=k<<24>>24!=0;g=(a[h+5966|0]|0)!=0;if(!(k<<24>>24==0)){n=j;o=g;break}if((a[h+5966|0]|0)!=0){n=j;o=g;break}k=i+168|0;p=c[k>>2]|0;if((p|0)>0){q=0;while(1){r=q+1|0;if((c[i+88+(q<<2)>>2]|0)==1e3){n=j;o=g;break a}if((r|0)<(p|0)){q=r}else{break}}if((p|0)<20){s=13}}else{s=13}if((s|0)==13){c[k>>2]=p+1;c[i+88+(p<<2)>>2]=1e3}q=i+84|0;r=c[q>>2]|0;if((r|0)==20){c[i+80>>2]=1001;n=j;o=g;break}else{c[q>>2]=r+1;c[i+4+(r<<2)>>2]=1e3;n=j;o=g;break}}else{n=0;o=0}}while(0);i=d+10636|0;r=c[i>>2]|0;q=d+10632|0;t=c[q>>2]|0;do{if((r|0)==(t|0)){u=r;v=r}else{if((c[t>>2]|0)!=(e|0)){u=r;v=t;break}w=c[(c[f>>2]|0)+16>>2]|0;if((w|0)<=0){u=r;v=t;break}x=h+10524|0;y=0;do{Ek((c[x>>2]|0)+(y*76|0)|0,1);y=y+1|0;}while((y|0)<(w|0));u=c[i>>2]|0;v=c[q>>2]|0}}while(0);h=u-v>>2;b:do{if(h>>>0>1>>>0){u=1;while(1){t=u+1|0;if((c[v+(u<<2)>>2]|0)==(e|0)){break}if(t>>>0<h>>>0){u=t}else{break b}}t=c[v+(u-1<<2)>>2]|0;if((t|0)==0){break}if((c[t+40>>2]|0)!=2){break}r=h-1|0;w=0;while(1){if(!(w>>>0<r>>>0)){break b}z=w+1|0;if((c[v+(w<<2)>>2]|0)==(t|0)){break}else{w=z}}w=c[v+(z<<2)>>2]|0;if((w|0)==0){break}r=c[(c[t+4>>2]|0)+16>>2]|0;u=w+4|0;if((r|0)<(c[(c[u>>2]|0)+16>>2]|0)){A=r}else{break}do{r=c[m>>2]|0;if((A|0)>=(c[r+10344>>2]|0)){break b}Ek((c[r+10524>>2]|0)+(A*76|0)|0,1);A=A+1|0;}while((A|0)<(c[(c[u>>2]|0)+16>>2]|0))}}while(0);if(!(n|o)){A=_e(b,d,e)|0;c[l>>2]=2;z=c[q>>2]|0;v=((c[i>>2]|0)-z>>2)-1|0;h=0;while(1){if(!(h>>>0<v>>>0)){B=A;s=61;break}C=h+1|0;if((c[z+(h<<2)>>2]|0)==(e|0)){break}else{h=C}}if((s|0)==61){return B|0}h=c[z+(C<<2)>>2]|0;if((h|0)==0){B=A;return B|0}C=c[(c[f>>2]|0)+16>>2]|0;z=h+4|0;if((C|0)<(c[(c[z>>2]|0)+16>>2]|0)){D=C}else{B=A;return B|0}while(1){C=c[m>>2]|0;if((D|0)>=(c[C+10344>>2]|0)){B=A;s=61;break}Ek((c[C+10524>>2]|0)+(D*76|0)|0,1);C=D+1|0;if((C|0)<(c[(c[z>>2]|0)+16>>2]|0)){D=C}else{B=A;s=61;break}}if((s|0)==61){return B|0}}if(n&o){B=1006;return B|0}if(n){$e(b,d,e)|0;c[l>>2]=2;n=c[q>>2]|0;A=((c[i>>2]|0)-n>>2)-1|0;D=0;while(1){if(!(D>>>0<A>>>0)){B=0;s=61;break}E=D+1|0;if((c[n+(D<<2)>>2]|0)==(e|0)){break}else{D=E}}if((s|0)==61){return B|0}D=c[n+(E<<2)>>2]|0;if((D|0)==0){B=0;return B|0}E=c[(c[f>>2]|0)+16>>2]|0;n=D+4|0;if((E|0)<(c[(c[n>>2]|0)+16>>2]|0)){F=E}else{B=0;return B|0}while(1){E=c[m>>2]|0;if((F|0)>=(c[E+10344>>2]|0)){B=0;s=61;break}Ek((c[E+10524>>2]|0)+(F*76|0)|0,1);E=F+1|0;if((E|0)<(c[(c[n>>2]|0)+16>>2]|0)){F=E}else{B=0;s=61;break}}if((s|0)==61){return B|0}}if(!o){ec(11704,14344,971,17632);return 0}o=af(b,d,e)|0;c[l>>2]=2;l=c[q>>2]|0;q=((c[i>>2]|0)-l>>2)-1|0;i=0;while(1){if(!(i>>>0<q>>>0)){B=o;s=61;break}G=i+1|0;if((c[l+(i<<2)>>2]|0)==(e|0)){break}else{i=G}}if((s|0)==61){return B|0}i=c[l+(G<<2)>>2]|0;if((i|0)==0){B=o;return B|0}G=c[(c[f>>2]|0)+16>>2]|0;f=i+4|0;if((G|0)<(c[(c[f>>2]|0)+16>>2]|0)){H=G}else{B=o;return B|0}while(1){G=c[m>>2]|0;if((H|0)>=(c[G+10344>>2]|0)){B=o;s=61;break}Ek((c[G+10524>>2]|0)+(H*76|0)|0,1);G=H+1|0;if((G|0)<(c[(c[f>>2]|0)+16>>2]|0)){H=G}else{B=o;s=61;break}}if((s|0)==61){return B|0}return 0}function Ze(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+8|0;f=e|0;g=c[d>>2]|0;if((g|0)==0){i=e;return 0}do{if((a[g+100|0]|0)!=0){if((a[g+10516|0]|0)!=0){if((a[b+514|0]|0)!=0){break}}c[f>>2]=g;d=b+376168|0;h=c[d>>2]|0;if((h|0)==(c[b+376172>>2]|0)){yf(b+376164|0,f);break}if((h|0)==0){j=0}else{c[h>>2]=g;j=c[d>>2]|0}c[d>>2]=j+4}}while(0);j=b+376144|0;if(((c[b+376168>>2]|0)-(c[b+376164>>2]|0)>>2|0)>(c[g+596+(((c[g+116>>2]|0)-1|0)*12|0)+4>>2]|0)){zh(j)}Eh(j);i=e;return 0}function _e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+18624|0;g=f|0;h=e+4|0;j=c[h>>2]|0;k=j+1348|0;l=j+1344|0;m=c[l>>2]|0;if((c[k>>2]|0)==(m|0)){n=j}else{j=b+376144|0;o=b+376152|0;p=0;q=m;do{m=yh(j,c[q+(p<<2)>>2]|0)|0;if((m|0)>-1){c[(c[(c[o>>2]|0)+(m<<2)>>2]|0)+96>>2]=0}p=p+1|0;q=c[l>>2]|0;}while(p>>>0<(c[k>>2]|0)-q>>2>>>0);n=c[h>>2]|0}q=d|0;k=c[q>>2]|0;if(!((c[n+16>>2]|0)>>>0<(c[k+10276>>2]|0)-(c[k+10272>>2]|0)>>2>>>0)){r=6;i=f;return r|0}k=g+18580|0;Cd(k);n=g+18592|0;p=g+48|0;dv(g+18508|0,0,20)|0;dv(n|0,0,16)|0;c[g+2112>>2]=p;dv(p|0,0,2048)|0;p=c[h>>2]|0;c[g+18600>>2]=p;l=c[q>>2]|0;c[g+18596>>2]=l;c[n>>2]=b;c[g+18604>>2]=d;c[g+18608>>2]=e;c[g+4>>2]=c[(c[l+10272>>2]|0)+(c[p+16>>2]<<2)>>2];c[g+18612>>2]=0;Qe(0,g);p=c[e+12>>2]|0;if((p|0)<1){s=17}else{sd(g+18556|0,c[e+8>>2]|0,p);do{if((a[b+93817|0]|0)!=0){if((a[(c[h>>2]|0)+4|0]|0)==0){break}p=d+10676|0;l=(c[(c[b+376220>>2]|0)+5828>>2]|0)-1|0;n=d+10680|0;q=c[n>>2]|0;o=c[p>>2]|0;j=q-o>>3;if(j>>>0<l>>>0){uf(p,l-j|0);break}if(!(j>>>0>l>>>0)){break}j=o+(l<<3)|0;if((q|0)==(j|0)){break}else{t=q}do{q=t-8|0;c[n>>2]=q;Ed(q);t=c[n>>2]|0;}while((t|0)!=(j|0))}}while(0);c[e+120>>2]=1;t=dk(g)|0;Ek(e+44|0,1);s=t}Ed(k);r=s;i=f;return r|0}function $e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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,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;f=i;i=i+8|0;g=f|0;h=c[d>>2]|0;j=c[e+4>>2]|0;k=c[j+768>>2]|0;l=k+1|0;m=c[h+5820>>2]|0;if((c[h+10536>>2]|0)!=(-(c[h+10532>>2]|0)|0)){ec(8488,14344,989,17688);return 0}do{if((a[j+4|0]|0)!=0){n=d+10676|0;o=(c[h+5828>>2]|0)-1|0;p=d+10680|0;q=c[p>>2]|0;r=c[n>>2]|0;s=q-r>>3;if(s>>>0<o>>>0){uf(n,o-s|0);break}if(!(s>>>0>o>>>0)){break}s=r+(o<<3)|0;if((q|0)==(s|0)){break}else{t=q}do{q=t-8|0;c[p>>2]=q;Ed(q);t=c[p>>2]|0;}while((t|0)!=(s|0))}}while(0);Ie(e,l);t=c[j+16>>2]|0;s=(t|0)/(m|0)|0;a:do{if((k|0)>-1){p=e+136|0;q=e+132|0;o=h+10332|0;r=h+10272|0;n=e+12|0;u=e+8|0;v=e+120|0;w=b+375396|0;x=j+776|0;if((k|0)>0){y=t;z=s;A=0}else{B=t;C=s;D=0;while(1){if((D|0)>0){E=C+1|0;F=E;G=ga(E,m)|0}else{F=C;G=B}if((c[p>>2]|0)<=(D|0)){break}E=c[q>>2]|0;H=E+(D*18624|0)|0;c[E+(D*18624|0)+18600>>2]=j;c[E+(D*18624|0)+18592>>2]=c[o>>2];c[E+(D*18624|0)+18596>>2]=h;I=E+(D*18624|0)+18604|0;c[I>>2]=d;c[E+(D*18624|0)+18608>>2]=e;c[E+(D*18624|0)+4>>2]=c[(c[r>>2]|0)+(G<<2)>>2];Qe(0,H);J=(D|0)==0;if(J){K=0}else{K=c[(c[x>>2]|0)+(D-1<<2)>>2]|0}if((D|0)==(k|0)){L=n}else{L=(c[x>>2]|0)+(D<<2)|0}M=c[L>>2]|0;if((K|0)<0){break a}if(!((M|0)<=(c[n>>2]|0)&(M|0)>(K|0))){break a}sd(E+(D*18624|0)+18556|0,(c[u>>2]|0)+K|0,M-K|0);Vh(h,1);c[v>>2]=(c[v>>2]|0)+1;M=Nu(20)|0;c[M+4>>2]=0;c[M>>2]=22248;a[M+8|0]=J&1;c[M+16>>2]=H;c[M+12>>2]=F;H=M;c[E+(D*18624|0)+18612>>2]=H;Kk(w,H);E=c[I>>2]|0;c[g>>2]=H;I=E+10668|0;M=c[I>>2]|0;if(M>>>0<(c[E+10672>>2]|0)>>>0){if((M|0)==0){N=0}else{c[M>>2]=H;N=c[I>>2]|0}c[I>>2]=N+4}else{He(E+10664|0,g)}E=D+1|0;if((E|0)<(l|0)){B=G;C=F;D=E}else{break a}}ec(15880,15472,170,17840);return 0}while(1){if((A|0)>0){D=z+1|0;O=D;P=ga(D,m)|0}else{if(((y|0)%(m|0)|0|0)==0){O=z;P=y}else{break a}}if((c[p>>2]|0)<=(A|0)){break}D=c[q>>2]|0;C=D+(A*18624|0)|0;c[D+(A*18624|0)+18600>>2]=j;c[D+(A*18624|0)+18592>>2]=c[o>>2];c[D+(A*18624|0)+18596>>2]=h;B=D+(A*18624|0)+18604|0;c[B>>2]=d;c[D+(A*18624|0)+18608>>2]=e;c[D+(A*18624|0)+4>>2]=c[(c[r>>2]|0)+(P<<2)>>2];Qe(0,C);E=(A|0)==0;if(E){Q=0}else{Q=c[(c[x>>2]|0)+(A-1<<2)>>2]|0}if((A|0)==(k|0)){R=n}else{R=(c[x>>2]|0)+(A<<2)|0}I=c[R>>2]|0;if((Q|0)<0){break a}if(!((I|0)<=(c[n>>2]|0)&(I|0)>(Q|0))){break a}sd(D+(A*18624|0)+18556|0,(c[u>>2]|0)+Q|0,I-Q|0);Vh(h,1);c[v>>2]=(c[v>>2]|0)+1;I=Nu(20)|0;c[I+4>>2]=0;c[I>>2]=22248;a[I+8|0]=E&1;c[I+16>>2]=C;c[I+12>>2]=O;C=I;c[D+(A*18624|0)+18612>>2]=C;Kk(w,C);D=c[B>>2]|0;c[g>>2]=C;B=D+10668|0;I=c[B>>2]|0;if(I>>>0<(c[D+10672>>2]|0)>>>0){if((I|0)==0){S=0}else{c[I>>2]=C;S=c[B>>2]|0}c[B>>2]=S+4}else{He(D+10664|0,g)}D=A+1|0;if((D|0)<(l|0)){y=P;z=O;A=D}else{break a}}ec(15880,15472,170,17840);return 0}}while(0);_h(h);h=d+10668|0;A=c[h>>2]|0;O=d+10664|0;d=c[O>>2]|0;if((A|0)==(d|0)){i=f;return 0}else{T=0;U=d;V=A}while(1){A=c[U+(T<<2)>>2]|0;if((A|0)==0){W=V;X=U}else{Dc[c[(c[A>>2]|0)+4>>2]&511](A);W=c[h>>2]|0;X=c[O>>2]|0}A=T+1|0;Y=X;if(A>>>0<W-Y>>2>>>0){T=A;U=X;V=W}else{break}}if((W|0)==(X|0)){i=f;return 0}c[h>>2]=W+(~((W-4+(-Y|0)|0)>>>2)<<2);i=f;return 0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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,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;f=i;i=i+8|0;g=f|0;h=c[d>>2]|0;j=c[e+4>>2]|0;k=c[j+768>>2]|0;l=k+1|0;m=c[h+5820>>2]|0;if((c[h+10536>>2]|0)!=(-(c[h+10532>>2]|0)|0)){ec(8488,14344,1103,17664);return 0}Ie(e,l);n=c[j+16>>2]|0;a:do{if((k|0)>-1){o=h+5968|0;p=h+5972|0;q=e+136|0;r=e+132|0;s=h+10332|0;t=h+10272|0;u=e+12|0;v=e+8|0;w=e+120|0;x=b+375396|0;y=j+776|0;z=0;A=c[(c[h+10308>>2]|0)+(n<<2)>>2]|0;B=n;while(1){if((z|0)>0){C=A+1|0;D=c[o>>2]|0;if((C|0)>=(ga(c[p>>2]|0,D)|0)){E=1007;break a}F=(ga(c[h+10228+(((C|0)/(D|0)|0)<<2)>>2]|0,m)|0)+(c[h+10184+(((C|0)%(D|0)|0)<<2)>>2]|0)|0;G=C}else{F=B;G=A}if((c[q>>2]|0)<=(z|0)){break}C=c[r>>2]|0;D=C+(z*18624|0)|0;c[C+(z*18624|0)+18600>>2]=j;c[C+(z*18624|0)+18592>>2]=c[s>>2];c[C+(z*18624|0)+18596>>2]=h;H=C+(z*18624|0)+18604|0;c[H>>2]=d;c[C+(z*18624|0)+18608>>2]=e;c[C+(z*18624|0)+4>>2]=c[(c[t>>2]|0)+(F<<2)>>2];Qe(0,D);I=(z|0)==0;if(I){J=0}else{J=c[(c[y>>2]|0)+(z-1<<2)>>2]|0}if((z|0)==(k|0)){K=u}else{K=(c[y>>2]|0)+(z<<2)|0}L=c[K>>2]|0;if((J|0)<0){E=17;break a}if(!((L|0)<=(c[u>>2]|0)&(L|0)>(J|0))){E=17;break a}sd(C+(z*18624|0)+18556|0,(c[v>>2]|0)+J|0,L-J|0);Vh(h,1);c[w>>2]=(c[w>>2]|0)+1;L=Nu(24)|0;c[L+4>>2]=0;c[L>>2]=22216;a[L+8|0]=I&1;c[L+20>>2]=D;c[L+12>>2]=(F|0)%(m|0)|0;c[L+16>>2]=(F|0)/(m|0)|0;D=L;c[C+(z*18624|0)+18612>>2]=D;Kk(x,D);C=c[H>>2]|0;c[g>>2]=D;H=C+10668|0;L=c[H>>2]|0;if(L>>>0<(c[C+10672>>2]|0)>>>0){if((L|0)==0){M=0}else{c[L>>2]=D;M=c[H>>2]|0}c[H>>2]=M+4}else{He(C+10664|0,g)}C=z+1|0;if((C|0)<(l|0)){z=C;A=G;B=F}else{E=0;break a}}ec(15880,15472,170,17840);return 0}else{E=0}}while(0);_h(h);h=d+10668|0;F=c[h>>2]|0;G=d+10664|0;d=c[G>>2]|0;if((F|0)==(d|0)){i=f;return E|0}else{N=0;O=d;P=F}while(1){F=c[O+(N<<2)>>2]|0;if((F|0)==0){Q=P;R=O}else{Dc[c[(c[F>>2]|0)+4>>2]&511](F);Q=c[h>>2]|0;R=c[G>>2]|0}F=N+1|0;S=R;if(F>>>0<Q-S>>2>>>0){N=F;O=R;P=Q}else{break}}if((Q|0)==(R|0)){i=f;return E|0}c[h>>2]=Q+(~((Q-4+(-S|0)|0)>>>2)<<2);i=f;return E|0}function bf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+5200|0;g=f|0;h=f+5168|0;j=f+5192|0;md(h,c[e+20>>2]|0,c[e+24>>2]|0);k=j|0;a[k]=0;l=j+1|0;a[l]=0;m=j+2|0;a[m]=0;Ji(j,h);n=a[k]|0;a[b+377208|0]=n;a[b+377209|0]=(n-19&255)>>>0<2>>>0|0;a[b+377210|0]=(n-16&255)>>>0<8>>>0|0;if((a[l]|0)!=0){Vi(b+548|0,e);o=0;i=f;return o|0}if((d[m]|0)>(c[b+375908>>2]|0)){Vi(b+548|0,e);o=0;i=f;return o|0}if((n&255)>>>0<32>>>0){o=Ve(b,h,e,j)|0;i=f;return o|0}switch(n&255|0){case 33:{j=g|0;ik(g);m=kk(g,b+4|0,h)|0;if((m|0)==0){l=c[b+516>>2]|0;if((l|0)>-1){pk(g,l)}l=c[g+472>>2]|0;k=b+11096+(l*5168|0)|0;cv(k|0,j|0,4717)|0;if((k|0)!=(g|0)){zf(b+11096+(l*5168|0)+4720|0,c[g+4720>>2]|0,c[g+4724>>2]|0)}cv(b+11096+(l*5168|0)+4732|0,g+4732|0,436)|0;p=0}else{p=m}jk(g);Vi(b+548|0,e);o=p;i=f;return o|0};case 32:{p=Re(b,h)|0;Vi(b+548|0,e);o=p;i=f;return o|0};case 34:{p=Se(b,h)|0;Vi(b+548|0,e);o=p;i=f;return o|0};case 39:case 40:{p=Te(b,h,n<<24>>24==40)|0;Vi(b+548|0,e);o=p;i=f;return o|0};case 36:{a[b+376207|0]=1;Vi(b+548|0,e);o=0;i=f;return o|0};default:{Vi(b+548|0,e);o=0;i=f;return o|0}}return 0}function cf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+8|0;g=f|0;h=b+548|0;j=b+580|0;k=(c[j>>2]|0)==0;l=a[h|0]|0;do{if(k){if(l<<24>>24==0){if((a[b+549|0]|0)==0){m=8;break}}if((c[b+377212>>2]|0)!=(c[b+377216>>2]|0)){m=7;break}Ah(b+376144|0)|0;if((e|0)==0){n=0;i=f;return n|0}c[e>>2]=c[b+376196>>2];n=0;i=f;return n|0}else{m=7}}while(0);if((m|0)==7){if(l<<24>>24==0){m=8}}do{if((m|0)==8){if((a[b+549|0]|0)!=0|k^1){break}if((e|0)==0){n=13;i=f;return n|0}c[e>>2]=1;n=13;i=f;return n|0}}while(0);if(!(vh(b+376144|0,0)|0)){if((e|0)==0){n=9;i=f;return n|0}c[e>>2]=1;n=9;i=f;return n|0}a[g]=0;do{if((c[j>>2]|0)==0){do{if((a[b+549|0]|0)!=0){if((c[b+377212>>2]|0)!=(c[b+377216>>2]|0)){break}if((e|0)==0){n=13;i=f;return n|0}c[e>>2]=1;n=13;i=f;return n|0}}while(0);o=Xe(b,g)|0}else{k=Ui(h)|0;if((k|0)==0){ec(6136,14344,1314,17512);return 0}else{m=bf(b,k)|0;a[g]=1;o=m;break}}}while(0);if((e|0)==0){n=o;i=f;return n|0}if((o|0)==0){p=d[g]|0}else{p=0}c[e>>2]=p;n=o;i=f;return n|0}function df(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=d+377208|0;do{if(Ni(a[f]|0)|0){if((a[d+376205|0]|0)==0){g=4;break}c[d+376208>>2]=0;a[b+377224|0]=1;h=0;i=e+28|0}else{g=4}}while(0);a:do{if((g|0)==4){b=c[(c[d+375388>>2]|0)+5032>>2]|0;j=e+28|0;k=c[j>>2]|0;l=c[d+376212>>2]|0;do{if((k|0)<(l|0)){if((l-k|0)<((b|0)/2|0|0)){break}m=(c[d+376216>>2]|0)+b|0;c[d+376208>>2]=m;h=m;i=j;break a}}while(0);do{if((k|0)>(l|0)){if((k-l|0)<=((b|0)/2|0|0)){break}m=(c[d+376216>>2]|0)-b|0;c[d+376208>>2]=m;h=m;i=j;break a}}while(0);b=c[d+376216>>2]|0;c[d+376208>>2]=b;h=b;i=j}}while(0);e=c[d+376220>>2]|0;c[e+92>>2]=(c[i>>2]|0)+h;c[e+88>>2]=c[i>>2];if((a[e+10520|0]|0)!=0){return}if(Pi(a[f]|0)|0){return}if(Mi(a[f]|0)|0){return}if(Oi(a[f]|0)|0){return}c[d+376212>>2]=c[i>>2];c[d+376216>>2]=c[d+376208>>2];return}function ef(b,e,f,g,h){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=e+376144|0;if(!(vh(i,1)|0)){ec(4312,14344,1433,17520);return 0}j=Ch(i,c[e+375388>>2]|0,b,0,0,0,0)|0;if(!((j|0)>-1)){ec(3080,14344,1436,17520);return 0}b=c[e+376152>>2]|0;if((c[e+376156>>2]|0)-b>>2>>>0>j>>>0){k=c[b+(j<<2)>>2]|0}else{k=0}b=1<<(c[f+5004>>2]|0)-1;Sh(k,1<<(c[f+4996>>2]|0)-1,b,b);b=k+10364|0;if((c[b>>2]|0)<=0){l=k+92|0;c[l>>2]=g;m=f+5032|0;n=c[m>>2]|0;o=n-1|0;p=o&g;q=k+88|0;c[q>>2]=p;r=k+100|0;a[r]=0;s=h?2:1;t=k+96|0;c[t>>2]=s;u=k+10516|0;a[u]=1;return j|0}e=k+10360|0;i=0;do{v=(c[e>>2]|0)+(i*3|0)|0;C=(d[v]|d[v+1|0]<<8)<<16>>16&-769;a[v]=C;C=C>>8;a[v+1|0]=C;i=i+1|0;}while((i|0)<(c[b>>2]|0));l=k+92|0;c[l>>2]=g;m=f+5032|0;n=c[m>>2]|0;o=n-1|0;p=o&g;q=k+88|0;c[q>>2]=p;r=k+100|0;a[r]=0;s=h?2:1;t=k+96|0;c[t>>2]=s;u=k+10516|0;a[u]=1;return j|0}function ff(e,f,g){e=e|0;f=f|0;g=g|0;var h=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,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,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;h=i;i=i+40|0;j=h|0;k=h+16|0;l=h+32|0;m=j|0;c[m>>2]=0;n=j+4|0;c[n>>2]=0;o=j+8|0;c[o>>2]=0;p=f+376220|0;q=c[c[p>>2]>>2]|0;r=f+377208|0;a:do{if(Ni(a[r]|0)|0){if((a[f+376205|0]|0)==0){break}s=c[p>>2]|0;t=c[s+92>>2]|0;u=e+376156|0;v=c[u>>2]|0;w=e+376152|0;x=c[w>>2]|0;if((v-x|0)<=0){break}y=f+376156|0;z=f+376152|0;A=0;B=v;v=x;x=s;b:while(1){s=c[z>>2]|0;if((c[y>>2]|0)-s>>2>>>0>A>>>0){C=c[s+(A<<2)>>2]|0}else{C=0}do{if((c[C+96>>2]|0)==0){D=B;E=v;F=x}else{if((c[C+92>>2]|0)>=(t|0)){D=B;E=v;F=x;break}s=C+104|0;if(!((c[s>>2]|0)>>>0>(c[x>>2]|0)>>>0)){D=B;E=v;F=x;break}G=c[C>>2]|0;H=c[n>>2]|0;I=c[o>>2]|0;do{if(H>>>0<I>>>0){if((H|0)!=0){c[H>>2]=G}c[n>>2]=H+4;J=x;K=B;L=v}else{M=c[m>>2]|0;N=M;O=H-N|0;P=O>>2;Q=P+1|0;if(Q>>>0>1073741823>>>0){break b}R=I-N|0;if(R>>2>>>0<536870911>>>0){N=R>>1;R=N>>>0<Q>>>0?Q:N;if((R|0)==0){S=0;T=0}else{U=R;V=20}}else{U=1073741823;V=20}if((V|0)==20){V=0;S=Nu(U<<2)|0;T=U}R=S+(P<<2)|0;if((R|0)!=0){c[R>>2]=G}R=M;cv(S|0,R|0,O)|0;c[m>>2]=S;c[n>>2]=S+(Q<<2);c[o>>2]=S+(T<<2);if((M|0)==0){J=x;K=B;L=v;break}Pu(R);J=c[p>>2]|0;K=c[u>>2]|0;L=c[w>>2]|0}}while(0);c[s>>2]=c[J>>2];D=K;E=L;F=J}}while(0);G=A+1|0;if((G|0)<(D-E>>2|0)){A=G;B=D;v=E;x=F}else{break a}}Nr(0)}}while(0);if(Ki(a[r]|0)|0){dv(f+376548|0,0,20)|0}else{r=g+908|0;if((a[r]|0)==0){W=0;X=0}else{F=0;E=0;D=0;while(1){J=(b[g+812+(D<<1)>>1]|0)+(c[(c[p>>2]|0)+92>>2]|0)|0;if((a[g+876+D|0]|0)==0){c[f+376696+(F<<2)>>2]=J;Y=E;Z=F+1|0}else{c[f+376568+(E<<2)>>2]=J;Y=E+1|0;Z=F}J=D+1|0;if((J|0)<(d[r]|0)){F=Z;E=Y;D=J}else{W=Z;X=Y;break}}}c[f+376548>>2]=X;X=g+909|0;if((a[X]|0)==0){_=W;$=0}else{Y=W;W=0;Z=0;while(1){D=(b[g+844+(Z<<1)>>1]|0)+(c[(c[p>>2]|0)+92>>2]|0)|0;if((a[g+892+Z|0]|0)==0){c[f+376696+(Y<<2)>>2]=D;aa=W;ba=Y+1|0}else{c[f+376632+(W<<2)>>2]=D;aa=W+1|0;ba=Y}D=Z+1|0;if((D|0)<(d[X]|0)){Y=ba;W=aa;Z=D}else{_=ba;$=aa;break}}}c[f+376552>>2]=$;c[f+376556>>2]=_;_=g+140|0;$=g+144|0;if(((c[$>>2]|0)+(c[_>>2]|0)|0)>0){aa=g+28|0;ba=f+375388|0;Z=0;W=0;Y=0;while(1){X=c[f+376228+(Y<<2)>>2]|0;D=g+244+Y|0;if((a[D]|0)==0){ca=X}else{ca=(c[(c[p>>2]|0)+92>>2]|0)+X-(c[aa>>2]|0)-(ga(c[(c[ba>>2]|0)+5032>>2]|0,c[f+376356+(Y<<2)>>2]|0)|0)|0}if((c[f+376292+(Y<<2)>>2]|0)==0){c[f+376824+(Z<<2)>>2]=ca;c[f+376484+(Z<<2)>>2]=a[D]|0;da=W;ea=Z+1|0}else{c[f+376760+(W<<2)>>2]=ca;c[f+376420+(W<<2)>>2]=a[D]|0;da=W+1|0;ea=Z}D=Y+1|0;if((D|0)<((c[$>>2]|0)+(c[_>>2]|0)|0)){Z=ea;W=da;Y=D}else{fa=ea;ha=da;break}}}else{fa=0;ha=0}c[f+376560>>2]=ha;c[f+376564>>2]=fa}fa=e+376156|0;ha=e+376152|0;da=(c[fa>>2]|0)-(c[ha>>2]|0)>>2;a[l]=0;sf(k,da,l);uh(e+376144|0);l=f+376560|0;da=c[l>>2]|0;if((da|0)>0){ea=f+376144|0;Y=c[k>>2]|0;W=f+376152|0;Z=f+375388|0;_=0;while(1){$=f+376760+(_<<2)|0;ca=c[$>>2]|0;if((c[f+376420+(_<<2)>>2]|0)==0){ia=xh(ea,ca,q,1)|0}else{ia=wh(ea,ca,q,1)|0}ca=f+377080+(_<<2)|0;c[ca>>2]=ia;if((ia|0)>-1){ba=Y+(ia>>>5<<2)|0;c[ba>>2]=c[ba>>2]|1<<(ia&31);ja=ia}else{ba=ef(e,f,c[Z>>2]|0,c[$>>2]|0,1)|0;c[ca>>2]=ba;ca=Y+(ba>>>5<<2)|0;c[ca>>2]=c[ca>>2]|1<<(ba&31);ja=ba}if((a[(c[(c[W>>2]|0)+(ja<<2)>>2]|0)+10516|0]|0)!=0){a[(c[p>>2]|0)+10516|0]=4}ba=_+1|0;ca=c[l>>2]|0;if((ba|0)<(ca|0)){_=ba}else{ka=ca;break}}}else{ka=da}da=f+376564|0;_=c[da>>2]|0;if((_|0)>0){ja=f+376144|0;W=c[k>>2]|0;Y=f+375388|0;Z=0;do{ia=f+376824+(Z<<2)|0;ea=c[ia>>2]|0;if((c[f+376484+(Z<<2)>>2]|0)==0){la=xh(ja,ea,q,1)|0}else{la=wh(ja,ea,q,1)|0}ea=f+377144+(Z<<2)|0;c[ea>>2]=la;if((la|0)>-1){ca=W+(la>>>5<<2)|0;c[ca>>2]=c[ca>>2]|1<<(la&31)}else{ca=ef(e,f,c[Y>>2]|0,c[ia>>2]|0,1)|0;c[ea>>2]=ca;ea=W+(ca>>>5<<2)|0;c[ea>>2]=c[ea>>2]|1<<(ca&31)}Z=Z+1|0;ma=c[da>>2]|0;}while((Z|0)<(ma|0));na=c[l>>2]|0;oa=ma}else{na=ka;oa=_}if((na|0)>0){_=c[f+376152>>2]|0;ka=0;do{c[(c[_+(c[f+377080+(ka<<2)>>2]<<2)>>2]|0)+96>>2]=2;ka=ka+1|0;}while((ka|0)<(na|0))}if((oa|0)>0){na=c[f+376152>>2]|0;ka=0;do{c[(c[na+(c[f+377144+(ka<<2)>>2]<<2)>>2]|0)+96>>2]=2;ka=ka+1|0;}while((ka|0)<(oa|0))}oa=f+376548|0;if((c[oa>>2]|0)>0){ka=f+376144|0;na=c[k>>2]|0;_=f+376152|0;ma=f+375388|0;l=0;do{Z=f+376568+(l<<2)|0;da=wh(ka,c[Z>>2]|0,q,0)|0;W=f+376888+(l<<2)|0;c[W>>2]=da;if((da|0)>-1){Y=na+(da>>>5<<2)|0;c[Y>>2]=c[Y>>2]|1<<(da&31);pa=da}else{da=ef(e,f,c[ma>>2]|0,c[Z>>2]|0,0)|0;c[W>>2]=da;W=na+(da>>>5<<2)|0;c[W>>2]=c[W>>2]|1<<(da&31);pa=da}if((a[(c[(c[_>>2]|0)+(pa<<2)>>2]|0)+10516|0]|0)!=0){a[(c[p>>2]|0)+10516|0]=4}l=l+1|0;}while((l|0)<(c[oa>>2]|0))}oa=f+376552|0;if((c[oa>>2]|0)>0){l=f+376144|0;pa=c[k>>2]|0;_=f+376152|0;na=f+375388|0;ma=0;do{ka=f+376632+(ma<<2)|0;da=wh(l,c[ka>>2]|0,q,0)|0;W=f+376952+(ma<<2)|0;c[W>>2]=da;if((da|0)>-1){Z=pa+(da>>>5<<2)|0;c[Z>>2]=c[Z>>2]|1<<(da&31);qa=da}else{da=ef(e,f,c[na>>2]|0,c[ka>>2]|0,0)|0;c[W>>2]=da;W=pa+(da>>>5<<2)|0;c[W>>2]=c[W>>2]|1<<(da&31);qa=da}if((a[(c[(c[_>>2]|0)+(qa<<2)>>2]|0)+10516|0]|0)!=0){a[(c[p>>2]|0)+10516|0]=4}ma=ma+1|0;}while((ma|0)<(c[oa>>2]|0))}oa=f+376556|0;if((c[oa>>2]|0)>0){ma=f+376144|0;qa=c[k>>2]|0;_=0;do{pa=wh(ma,c[f+376696+(_<<2)>>2]|0,q,0)|0;c[f+377016+(_<<2)>>2]=pa;if((pa|0)>-1){na=qa+(pa>>>5<<2)|0;c[na>>2]=c[na>>2]|1<<(pa&31)}_=_+1|0;}while((_|0)<(c[oa>>2]|0))}oa=c[fa>>2]|0;_=c[ha>>2]|0;c:do{if((oa-_|0)>0){qa=c[k>>2]|0;q=f+376156|0;ma=f+376152|0;pa=0;na=oa;e=_;d:while(1){do{if((c[qa+(pa>>>5<<2)>>2]&1<<(pa&31)|0)==0){l=c[ma>>2]|0;if((c[q>>2]|0)-l>>2>>>0>pa>>>0){ra=c[l+(pa<<2)>>2]|0}else{ra=0}l=c[p>>2]|0;if((ra|0)==(l|0)){sa=na;ta=e;break}da=ra+104|0;if(!((c[da>>2]|0)>>>0>(c[l>>2]|0)>>>0)){sa=na;ta=e;break}if((c[ra+96>>2]|0)==0){sa=na;ta=e;break}W=c[ra>>2]|0;ka=c[n>>2]|0;Z=c[o>>2]|0;do{if(ka>>>0<Z>>>0){if((ka|0)!=0){c[ka>>2]=W}c[n>>2]=ka+4;ua=l;va=na;wa=e}else{Y=c[m>>2]|0;la=Y;ja=ka-la|0;ca=ja>>2;ea=ca+1|0;if(ea>>>0>1073741823>>>0){break d}ia=Z-la|0;if(ia>>2>>>0<536870911>>>0){la=ia>>1;ia=la>>>0<ea>>>0?ea:la;if((ia|0)==0){xa=0;ya=0}else{za=ia;V=136}}else{za=1073741823;V=136}if((V|0)==136){V=0;xa=Nu(za<<2)|0;ya=za}ia=xa+(ca<<2)|0;if((ia|0)!=0){c[ia>>2]=W}ia=Y;cv(xa|0,ia|0,ja)|0;c[m>>2]=xa;c[n>>2]=xa+(ea<<2);c[o>>2]=xa+(ya<<2);if((Y|0)==0){ua=l;va=na;wa=e;break}Pu(ia);ua=c[p>>2]|0;va=c[fa>>2]|0;wa=c[ha>>2]|0}}while(0);c[da>>2]=c[ua>>2];sa=va;ta=wa}else{sa=na;ta=e}}while(0);l=pa+1|0;if((l|0)<(sa-ta>>2|0)){pa=l;na=sa;e=ta}else{break c}}Nr(0)}}while(0);ta=g+1344|0;if((ta|0)!=(j|0)){tf(ta,c[m>>2]|0,c[n>>2]|0)}ta=c[k>>2]|0;if((ta|0)!=0){Pu(ta)}ta=c[m>>2]|0;if((ta|0)==0){i=h;return}m=c[n>>2]|0;if((m|0)!=(ta|0)){c[n>>2]=m+(~((m-4+(-ta|0)|0)>>>2)<<2)}Pu(ta);i=h;return}function gf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;b=i;i=i+480|0;g=b|0;h=b+192|0;j=b+384|0;k=c[f+912>>2]|0;l=f+328|0;m=c[l>>2]|0;n=(m|0)>(k|0)?m:k;dv(j|0,0,96)|0;o=e+376548|0;p=e+376552|0;q=e+376560|0;r=(k|0)>(m|0)?k:m;s=e+376888|0;t=e+376952|0;u=e+377080|0;v=0;while(1){if((v|0)>=(n|0)){w=13;break}x=c[o>>2]|0;if((x|0)>0){y=(x|0)>1?-x|0:-1;x=v-r|0;z=y>>>0>x>>>0?y:x;cv(g+(v<<2)|0,s|0,z*-4|0)|0;A=v-z|0}else{A=v}z=c[p>>2]|0;if((z|0)>0&(A|0)<(n|0)){x=(z|0)>1?-z|0:-1;z=A-r|0;y=x>>>0>z>>>0?x:z;cv(g+(A<<2)|0,t|0,y*-4|0)|0;B=A-y|0}else{B=A}y=c[q>>2]|0;if((y|0)>0&(B|0)<(n|0)){z=(y|0)>1?-y|0:-1;y=B-r|0;x=z>>>0>y>>>0?z:y;cv(g+(B<<2)|0,u|0,x*-4|0)|0;dv(j+B|0,1,-x|0)|0;C=B-x|0}else{C=B}if((C|0)==0){w=10;break}else{v=C}}a:do{if((w|0)==10){C=e+84|0;v=c[C>>2]|0;if((v|0)==20){c[e+80>>2]=1001;D=0;break}else{c[C>>2]=v+1;c[e+4+(v<<2)>>2]=1016;D=0;break}}else if((w|0)==13){if((m|0)>=17){ec(1672,14344,1781,17560);return 0}if((m|0)>0){v=f+336|0;C=e+376156|0;B=e+376152|0;r=0;while(1){if((a[v]|0)==0){E=r}else{E=d[f+338+r|0]|0}n=f+916+(r<<2)|0;c[n>>2]=c[g+(E<<2)>>2];a[f+1300+r|0]=a[j+E|0]|0;A=c[n>>2]|0;n=c[B>>2]|0;if(!((c[C>>2]|0)-n>>2>>>0>A>>>0)){D=0;break a}x=c[n+(A<<2)>>2]|0;if((x|0)==0){D=0;break a}c[f+1044+(r<<2)>>2]=c[x+92>>2];c[f+1172+(r<<2)>>2]=c[x+96>>2];x=r+1|0;A=c[l>>2]|0;if((x|0)<(A|0)){r=x}else{F=A;break}}}else{F=m}if((c[f+20>>2]|0)!=0){D=1;break}r=f+332|0;C=c[r>>2]|0;B=(C|0)>(k|0)?C:k;v=(k|0)>(C|0)?k:C;A=0;while(1){if((A|0)>=(B|0)){break}x=c[p>>2]|0;if((x|0)>0){n=(x|0)>1?-x|0:-1;x=A-v|0;y=n>>>0>x>>>0?n:x;cv(h+(A<<2)|0,t|0,y*-4|0)|0;G=A-y|0}else{G=A}y=c[o>>2]|0;if((y|0)>0&(G|0)<(B|0)){x=(y|0)>1?-y|0:-1;y=G-v|0;n=x>>>0>y>>>0?x:y;cv(h+(G<<2)|0,s|0,n*-4|0)|0;H=G-n|0}else{H=G}n=c[q>>2]|0;if((n|0)>0&(H|0)<(B|0)){y=(n|0)>1?-n|0:-1;n=H-v|0;x=y>>>0>n>>>0?y:n;cv(h+(H<<2)|0,u|0,x*-4|0)|0;dv(j+48+H|0,1,-x|0)|0;I=H-x|0}else{I=H}if((I|0)==0){w=32;break}else{A=I}}if((w|0)==32){A=e+84|0;v=c[A>>2]|0;if((v|0)==20){c[e+80>>2]=1001;D=0;break}else{c[A>>2]=v+1;c[e+4+(v<<2)>>2]=1016;D=0;break}}if((F|0)>16){v=e+84|0;A=c[v>>2]|0;if((A|0)==20){c[e+80>>2]=1001;D=0;break}else{c[v>>2]=A+1;c[e+4+(A<<2)>>2]=1012;D=0;break}}if((C|0)>=17){ec(976,14344,1834,17560);return 0}if((C|0)<=0){D=1;break}A=f+337|0;v=e+376156|0;B=e+376152|0;x=0;while(1){if((a[A]|0)==0){J=x}else{J=d[f+354+x|0]|0}n=f+980+(x<<2)|0;c[n>>2]=c[h+(J<<2)>>2];a[f+1316+x|0]=a[j+48+J|0]|0;y=c[n>>2]|0;n=c[B>>2]|0;if(!((c[v>>2]|0)-n>>2>>>0>y>>>0)){D=0;break a}z=c[n+(y<<2)>>2]|0;if((z|0)==0){D=0;break a}c[f+1108+(x<<2)>>2]=c[z+92>>2];c[f+1236+(x<<2)>>2]=c[z+96>>2];z=x+1|0;if((z|0)<(c[r>>2]|0)){x=z}else{D=1;break}}}}while(0);i=b;return D|0}function hf(b){b=b|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,r=0,s=0,t=0,u=0;d=c[b+375388>>2]|0;e=(d|0)==0;do{if(e){f=c[b+375384>>2]|0;if((f|0)==0){g=6;break}g=(c[f+8>>2]|0)-1|0}else{g=(a[d+2|0]|0)-1|0}}while(0);do{if((a[b+376112|0]|0)!=(g|0)){do{if(e){f=c[b+375384>>2]|0;if((f|0)==0){h=6;break}i=c[f+8>>2]|0;j=10}else{i=a[d+2|0]|0;j=10}}while(0);if((j|0)==10){if((i|0)>0){h=i-1|0}else{break}}f=h+1|0;k=b+375892|0;l=h;while(1){m=l*100|0;n=(m|0)/(f|0)|0;o=(m+100|0)/(f|0)|0;if((n|0)>(o|0)){p=l}else{m=o-n|0;q=l;r=n;while(1){s=c[k>>2]|0;t=(q|0)>(s|0);u=t?s:q;a[b+375912+(r<<1)|0]=u;a[b+375912+(r<<1)+1|0]=t?100:(((r-n|0)*100|0|0)/(m|0)|0)&255;if((r|0)<(o|0)){q=u;r=r+1|0}else{p=u;break}}}c[b+376116+(p<<2)>>2]=o;if((p|0)>0){l=p-1|0}else{break}}}}while(0);p=c[b+375896>>2]|0;h=a[b+375912+(p<<1)|0]|0;c[b+375900>>2]=h;c[b+375904>>2]=a[b+375912+(p<<1)+1|0]|0;c[b+375908>>2]=h;return}function jf(b){b=b|0;var d=0,e=0;d=c[b+375388>>2]|0;if((d|0)!=0){e=(a[d+2|0]|0)-1|0;return e|0}d=c[b+375384>>2]|0;if((d|0)==0){e=6;return e|0}e=(c[d+8>>2]|0)-1|0;return e|0}function kf(a,b){a=a|0;b=b|0;c[a+375892>>2]=b;hf(a);return}function lf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+375388>>2]|0;if((e|0)==0){f=b+375896|0;g=c[f>>2]|0;return g|0}h=(a[e+2|0]|0)-1|0;if(!((d+1|0)>>>0<3>>>0)){ec(16816,14344,2161,17712);return 0}e=b+375900|0;i=(c[e>>2]|0)+d|0;d=(i|0)<0?0:i;i=(h|0)<(d|0)?h:d;c[e>>2]=i;e=b+375896|0;c[e>>2]=c[b+376116+(i<<2)>>2];hf(b);f=e;g=c[f>>2]|0;return g|0}function mf(a,b){a=a|0;b=b|0;c[a+375896>>2]=b;hf(a);return}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+80|0;d=c[b>>2]|0;if((d|0)==0){e=0;return e|0}f=c[a>>2]|0;g=d-1|0;c[b>>2]=g;fv(a|0,a+4|0,g<<2|0)|0;e=f;return e|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+376152>>2]|0;if(!((c[a+376156>>2]|0)-d>>2>>>0>b>>>0)){e=0;return e|0}e=c[d+(b<<2)>>2]|0;return e|0}function pf(a,b){a=a|0;b=b|0;var d=0;if(!((b|0)>-1)){d=0;return d|0}d=((c[a+376156>>2]|0)-(c[a+376152>>2]|0)>>2|0)>(b|0);return d|0}function qf(a){a=a|0;return}function rf(a){a=a|0;Pu(a);return}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b|0;c[f>>2]=0;g=b+4|0;c[g>>2]=0;h=b+8|0;c[h>>2]=0;if((d|0)==0){return}if((d|0)<0){Nr(0)}b=((d-1|0)>>>5)+1|0;i=Nu(b<<2)|0;j=i;c[f>>2]=j;c[h>>2]=b;b=(a[e]|0)==0;c[g>>2]=d;g=d>>>5;e=g<<2;if(b){dv(i|0,0,e|0)|0;b=g<<5;if((b|0)==(d|0)){return}h=j+(g<<2)|0;c[h>>2]=c[h>>2]&~(-1>>>((32-d+b|0)>>>0));return}else{dv(i|0,-1|0,e|0)|0;e=g<<5;if((e|0)==(d|0)){return}i=j+(g<<2)|0;c[i>>2]=c[i>>2]|-1>>>((32-d+e|0)>>>0);return}}function tf(a,b,d){a=a|0;b=b|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,p=0,q=0,r=0,s=0;e=b;f=d-e>>2;g=a+8|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;k=j;if(!(f>>>0>h-k>>2>>>0)){l=a+4|0;m=(c[l>>2]|0)-k|0;n=m>>2;if(!(f>>>0>n>>>0)){o=d-e|0;fv(j|0,b|0,o|0)|0;p=j+(o>>2<<2)|0;o=c[l>>2]|0;if((o|0)==(p|0)){return}c[l>>2]=o+(~((o-4+(-p|0)|0)>>>2)<<2);return}p=b+(n<<2)|0;fv(j|0,b|0,m|0)|0;if((p|0)==(d|0)){return}m=c[l>>2]|0;n=(d-4+(-p|0)|0)>>>2;o=p;p=m;while(1){if((p|0)!=0){c[p>>2]=c[o>>2]}q=o+4|0;if((q|0)==(d|0)){break}else{o=q;p=p+4|0}}c[l>>2]=m+(n+1<<2);return}if((j|0)==0){r=h}else{h=a+4|0;n=c[h>>2]|0;if((n|0)!=(j|0)){c[h>>2]=n+(~((n-4+(-k|0)|0)>>>2)<<2)}Pu(j);c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;r=0}if(f>>>0>1073741823>>>0){Nr(0)}h=r;do{if(h>>2>>>0<536870911>>>0){r=h>>1;j=r>>>0<f>>>0?f:r;if(!(j>>>0>1073741823>>>0)){s=j;break}Nr(0)}else{s=1073741823}}while(0);f=Nu(s<<2)|0;h=a+4|0;c[h>>2]=f;c[i>>2]=f;c[g>>2]=f+(s<<2);if((b|0)==(d|0)){return}s=(d-4+(-e|0)|0)>>>2;e=b;b=f;while(1){if((b|0)!=0){c[b>>2]=c[e>>2]}g=e+4|0;if((g|0)==(d|0)){break}else{e=g;b=b+4|0}}c[h>>2]=f+(s+1<<2);return}function uf(a,b){a=a|0;b=b|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,r=0;d=a+8|0;e=a+4|0;f=c[e>>2]|0;g=c[d>>2]|0;h=f;if(!(g-h>>3>>>0<b>>>0)){i=b;j=f;do{if((j|0)==0){k=0}else{Cd(j);k=c[e>>2]|0}j=k+8|0;c[e>>2]=j;i=i-1|0;}while((i|0)!=0);return}i=a|0;a=c[i>>2]|0;j=h-a>>3;h=j+b|0;if(h>>>0>536870911>>>0){Nr(0)}k=g-a|0;if(k>>3>>>0<268435455>>>0){a=k>>2;k=a>>>0<h>>>0?h:a;if((k|0)==0){l=0;m=0}else{n=k;o=9}}else{n=536870911;o=9}if((o|0)==9){l=Nu(n<<3)|0;m=n}n=l+(j<<3)|0;j=l+(m<<3)|0;m=b;b=n;do{if((b|0)==0){p=0}else{Cd(b);p=b}b=p+8|0;m=m-1|0;}while((m|0)!=0);m=c[i>>2]|0;p=c[e>>2]|0;do{if((p|0)==(m|0)){c[i>>2]=n;c[e>>2]=b;c[d>>2]=j;q=m}else{l=p;o=n;do{o=o-8|0;l=l-8|0;Dd(o,l);}while((l|0)!=(m|0));l=c[i>>2]|0;k=c[e>>2]|0;c[i>>2]=o;c[e>>2]=b;c[d>>2]=j;if((k|0)==(l|0)){q=l;break}else{r=k}while(1){k=r-8|0;Ed(k);if((k|0)==(l|0)){q=l;break}else{r=k}}}}while(0);if((q|0)==0){return}Pu(q);return}function vf(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function wf(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function xf(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=(h|0)/80|0;j=i+1|0;if(j>>>0>53687091>>>0){Nr(0)}k=a+8|0;a=((c[k>>2]|0)-g|0)/80|0;if(a>>>0<26843545>>>0){g=a<<1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=53687091;o=5}if((o|0)==5){l=Nu(n*80|0)|0;m=n}n=l+(i*80|0)|0;if((n|0)!=0){cv(n|0,b|0,80)|0}b=l+((((h|0)/-80|0)+i|0)*80|0)|0;i=f;cv(b|0,i|0,h)|0;c[e>>2]=b;c[d>>2]=l+(j*80|0);c[k>>2]=l+(m*80|0);if((f|0)==0){return}Pu(i);return}function yf(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function zf(a,b,d){a=a|0;b=b|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,p=0,q=0,r=0,s=0,t=0,u=0;e=b;f=(d-e|0)/100|0;g=a+8|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;k=j;if(!(f>>>0>((h-k|0)/100|0)>>>0)){l=a+4|0;m=(c[l>>2]|0)-k|0;n=(m|0)/100|0;if(!(f>>>0>n>>>0)){o=d-e|0;fv(j|0,b|0,o|0)|0;e=j+(((o|0)/100|0)*100|0)|0;o=c[l>>2]|0;if((o|0)==(e|0)){return}c[l>>2]=o+(~(((o-100+(-e|0)|0)>>>0)/100|0)*100|0);return}e=b+(n*100|0)|0;fv(j|0,b|0,m|0)|0;if((e|0)==(d|0)){return}m=e;e=c[l>>2]|0;do{if((e|0)==0){p=0}else{cv(e|0,m|0,100)|0;p=c[l>>2]|0}e=p+100|0;c[l>>2]=e;m=m+100|0;}while((m|0)!=(d|0));return}if((j|0)==0){q=h}else{h=a+4|0;m=c[h>>2]|0;if((m|0)!=(j|0)){c[h>>2]=m+(~(((m-100+(-k|0)|0)>>>0)/100|0)*100|0)}Pu(j);c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;q=0}if(f>>>0>42949672>>>0){Nr(0)}h=(q|0)/100|0;do{if(h>>>0<21474836>>>0){q=h<<1;j=q>>>0<f>>>0?f:q;if(!(j>>>0>42949672>>>0)){r=j;break}Nr(0)}else{r=42949672}}while(0);f=Nu(r*100|0)|0;h=a+4|0;c[h>>2]=f;c[i>>2]=f;c[g>>2]=f+(r*100|0);if((b|0)==(d|0)){return}else{s=b;t=f}do{if((t|0)==0){u=0}else{cv(t|0,s|0,100)|0;u=c[h>>2]|0}t=u+100|0;c[h>>2]=t;s=s+100|0;}while((s|0)!=(d|0));return}function Af(b,d,e){b=b|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,p=0,q=0,r=0,s=0;f=e-d|0;g=b+8|0;h=c[g>>2]|0;i=b|0;j=c[i>>2]|0;k=j;if(!(f>>>0>(h-k|0)>>>0)){l=b+4|0;m=(c[l>>2]|0)-k|0;if(!(f>>>0>m>>>0)){fv(j|0,d|0,f|0)|0;k=j+f|0;if((c[l>>2]|0)==(k|0)){return}c[l>>2]=k;return}k=d+m|0;fv(j|0,d|0,m|0)|0;if((k|0)==(e|0)){return}m=k;k=c[l>>2]|0;do{if((k|0)==0){n=0}else{a[k]=a[m]|0;n=c[l>>2]|0}k=n+1|0;c[l>>2]=k;m=m+1|0;}while((m|0)!=(e|0));return}if((j|0)==0){o=h}else{h=b+4|0;if((c[h>>2]|0)!=(j|0)){c[h>>2]=j}Pu(j);c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;o=0}if((f|0)<0){Nr(0)}do{if(o>>>0<1073741823>>>0){h=o<<1;j=h>>>0<f>>>0?f:h;if((j|0)>=0){p=j;break}Nr(0)}else{p=2147483647}}while(0);f=Nu(p)|0;o=b+4|0;c[o>>2]=f;c[i>>2]=f;c[g>>2]=f+p;if((d|0)==(e|0)){return}else{q=d;r=f}do{if((r|0)==0){s=0}else{a[r]=a[q]|0;s=c[o>>2]|0}r=s+1|0;c[o>>2]=r;q=q+1|0;}while((q|0)!=(e|0));return}function Bf(a,d,e){a=a|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,p=0,q=0,r=0,s=0,t=0,u=0;f=d;g=e-f|0;h=g>>1;i=a+8|0;j=c[i>>2]|0;k=a|0;l=c[k>>2]|0;m=l;if(!(h>>>0>j-m>>1>>>0)){n=a+4|0;o=(c[n>>2]|0)-m|0;p=o>>1;if(!(h>>>0>p>>>0)){q=e-f|0;fv(l|0,d|0,q|0)|0;r=l+(q>>1<<1)|0;q=c[n>>2]|0;if((q|0)==(r|0)){return}c[n>>2]=q+(~((q-2+(-r|0)|0)>>>1)<<1);return}r=d+(p<<1)|0;fv(l|0,d|0,o|0)|0;if((r|0)==(e|0)){return}o=c[n>>2]|0;p=(e-2+(-r|0)|0)>>>1;q=r;r=o;while(1){if((r|0)!=0){b[r>>1]=b[q>>1]|0}s=q+2|0;if((s|0)==(e|0)){break}else{q=s;r=r+2|0}}c[n>>2]=o+(p+1<<1);return}if((l|0)==0){t=j}else{j=a+4|0;p=c[j>>2]|0;if((p|0)!=(l|0)){c[j>>2]=p+(~((p-2+(-m|0)|0)>>>1)<<1)}Pu(l);c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;t=0}if((g|0)<0){Nr(0)}g=t;do{if(g>>1>>>0<1073741823>>>0){t=g>>>0<h>>>0?h:g;if((t|0)>=0){u=t;break}Nr(0)}else{u=2147483647}}while(0);g=Nu(u<<1)|0;h=a+4|0;c[h>>2]=g;c[k>>2]=g;c[i>>2]=g+(u<<1);if((d|0)==(e|0)){return}u=(e-2+(-f|0)|0)>>>1;f=d;d=g;while(1){if((d|0)!=0){b[d>>1]=b[f>>1]|0}i=f+2|0;if((i|0)==(e|0)){break}else{f=i;d=d+2|0}}c[h>>2]=g+(u+1<<1);return}function Cf(a,b,d){a=a|0;b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b;f=(d-e|0)/12|0;g=a+8|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;k=j;if(f>>>0>((h-k|0)/12|0)>>>0){if((j|0)==0){l=h}else{h=a+4|0;m=c[h>>2]|0;if((m|0)==(j|0)){n=j}else{o=m;while(1){m=o-12|0;c[h>>2]=m;p=c[m>>2]|0;if((p|0)==0){q=m}else{Pu(p);q=c[h>>2]|0}if((q|0)==(j|0)){break}else{o=q}}n=c[i>>2]|0}Pu(n);c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;l=0}if(f>>>0>357913941>>>0){Nr(0)}h=(l|0)/12|0;do{if(h>>>0<178956970>>>0){l=h<<1;n=l>>>0<f>>>0?f:l;if(!(n>>>0>357913941>>>0)){r=n;break}Nr(0)}else{r=357913941}}while(0);h=Nu(r*12|0)|0;c[a+4>>2]=h;c[i>>2]=h;c[g>>2]=h+(r*12|0);Df(a,b,d);return}r=a+4|0;h=((c[r>>2]|0)-k|0)/12|0;if(f>>>0>h>>>0){s=1;t=b+(h*12|0)|0}else{s=0;t=d}if((t|0)==(b|0)){u=j}else{h=t-12+(-e|0)|0;e=b;b=j;while(1){Gf(b,e)|0;f=e+12|0;if((f|0)==(t|0)){break}else{e=f;b=b+12|0}}u=j+((((h>>>0)/12|0)+1|0)*12|0)|0}if(s){Df(a,t,d);return}d=c[r>>2]|0;if((d|0)==(u|0)){return}else{v=d}while(1){d=v-12|0;c[r>>2]=d;t=c[d>>2]|0;if((t|0)==0){w=d}else{Pu(t);w=c[r>>2]|0}if((w|0)==(u|0)){break}else{v=w}}return}function Df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+16|0;f=e|0;g=e+8|0;if((b|0)==(d|0)){i=e;return}h=a+4|0;a=f|0;j=f+4|0;k=g|0;l=g+4|0;m=b;b=c[h>>2]|0;a:while(1){do{if((b|0)!=0){n=b|0;c[n>>2]=0;o=b+4|0;c[o>>2]=0;p=b+8|0;c[p>>2]=0;q=m+4|0;r=c[q>>2]|0;if((r|0)==0){break}if((r|0)<0){s=6;break a}t=((r-1|0)>>>5)+1|0;r=Nu(t<<2)|0;c[n>>2]=r;c[o>>2]=0;c[p>>2]=t;t=c[m>>2]|0;c[a>>2]=t;c[j>>2]=0;p=c[q>>2]|0;c[k>>2]=t+(p>>>5<<2);c[l>>2]=p&31;Ef(b,f,g)}}while(0);p=(c[h>>2]|0)+12|0;c[h>>2]=p;t=m+12|0;if((t|0)==(d|0)){s=9;break}else{m=t;b=p}}if((s|0)==6){Nr(0)}else if((s|0)==9){i=e;return}}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0;e=i;i=i+32|0;f=b;b=i;i=i+8|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];f=d;d=i;i=i+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];f=e|0;g=e+8|0;h=e+16|0;j=e+24|0;k=a+4|0;l=c[k>>2]|0;m=b;b=c[m>>2]|0;n=c[m+4>>2]|0;m=d;d=c[m>>2]|0;o=c[m+4>>2]|0;m=b;p=n;q=o;r=d-m<<3;c[k>>2]=l-p+q+r;k=c[a>>2]|0;a=l>>>5;s=k+(a<<2)|0;t=l&31;if((p|0)!=(t|0)){c[f>>2]=b;c[f+4>>2]=n;c[g>>2]=d;c[g+4>>2]=o;c[h>>2]=s;c[h+4>>2]=t;Ff(j,f,g,h);u=8;v=0;w=8;x=0;y=8;z=0;i=e;return}h=m;m=q-p+r|0;do{if((m|0)>0){if((p|0)==0){A=m;B=h;C=s;D=0}else{r=32-p|0;q=(m|0)<(r|0)?m:r;g=-1>>>((r-q|0)>>>0)&-1<<p;c[s>>2]=c[s>>2]&~g|c[h>>2]&g;g=q+p|0;A=m-q|0;B=h+4|0;C=k+((g>>>5)+a<<2)|0;D=g&31}g=A>>>5;fv(C|0,B|0,g<<2|0)|0;q=A-(g<<5)|0;r=C+(g<<2)|0;if((q|0)<=0){E=r;F=D;break}f=-1>>>((32-q|0)>>>0);c[r>>2]=c[r>>2]&~f|c[B+(g<<2)>>2]&f;E=r;F=q}else{E=s;F=p}}while(0);c[j>>2]=E;c[j+4>>2]=F;u=8;v=0;w=8;x=0;y=8;z=0;i=e;return}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0;f=i;g=b;b=i;i=i+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];g=d;d=i;i=i+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];g=b|0;h=c[g>>2]|0;j=c[b+4>>2]|0;b=(c[d+4>>2]|0)-j+((c[d>>2]|0)-h<<3)|0;if((b|0)<=0){k=e+4|0;l=a|0;m=e|0;n=c[m>>2]|0;c[l>>2]=n;o=a+4|0;p=c[k>>2]|0;c[o>>2]=p;i=f;return}if((j|0)==0){q=b;r=h;s=c[e+4>>2]|0}else{d=32-j|0;t=(b|0)<(d|0)?b:d;u=-1>>>((d-t|0)>>>0)&-1<<j&c[h>>2];d=e+4|0;v=c[d>>2]|0;w=32-v|0;x=w>>>0<t>>>0?w:t;y=e|0;z=c[y>>2]|0;A=c[z>>2]&~(-1>>>((w-x|0)>>>0)&-1<<v);c[z>>2]=A;v=c[d>>2]|0;if(v>>>0>j>>>0){B=u<<v-j}else{B=u>>>((j-v|0)>>>0)}c[z>>2]=A|B;B=(c[d>>2]|0)+x|0;A=z+(B>>>5<<2)|0;c[y>>2]=A;y=B&31;c[d>>2]=y;B=t-x|0;if((B|0)>0){c[A>>2]=c[A>>2]&~(-1>>>((32-B|0)>>>0))|u>>>((j+x|0)>>>0);c[d>>2]=B;C=B}else{C=y}y=h+4|0;c[g>>2]=y;q=b-t|0;r=y;s=C}C=e+4|0;y=32-s|0;t=-1<<s;if(q>>>0>31>>>0){s=~t;b=e|0;h=c[b>>2]|0;B=q;d=r;x=h;j=c[h>>2]|0;do{h=c[d>>2]|0;u=j&s;c[x>>2]=u;c[x>>2]=u|h<<c[C>>2];x=x+4|0;j=c[x>>2]&t|h>>>(y>>>0);c[x>>2]=j;B=B-32|0;d=d+4|0;}while(B>>>0>31>>>0);c[g>>2]=d;c[b>>2]=x;D=B;E=d}else{D=q;E=r}if((D|0)<=0){k=C;l=a|0;m=e|0;n=c[m>>2]|0;c[l>>2]=n;o=a+4|0;p=c[k>>2]|0;c[o>>2]=p;i=f;return}r=c[E>>2]&-1>>>((32-D|0)>>>0);E=(y|0)<(D|0)?y:D;q=e|0;d=c[q>>2]|0;B=c[d>>2]&~(-1<<c[C>>2]&-1>>>((y-E|0)>>>0));c[d>>2]=B;c[d>>2]=B|r<<c[C>>2];B=(c[C>>2]|0)+E|0;y=d+(B>>>5<<2)|0;c[q>>2]=y;c[C>>2]=B&31;B=D-E|0;if((B|0)<=0){k=C;l=a|0;m=e|0;n=c[m>>2]|0;c[l>>2]=n;o=a+4|0;p=c[k>>2]|0;c[o>>2]=p;i=f;return}c[y>>2]=c[y>>2]&~(-1>>>((32-B|0)>>>0))|r>>>(E>>>0);c[C>>2]=B;k=C;l=a|0;m=e|0;n=c[m>>2]|0;c[l>>2]=n;o=a+4|0;p=c[k>>2]|0;c[o>>2]=p;i=f;return}function Gf(a,b){a=a|0;b=b|0;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|0)==(b|0)){return a|0}d=b+4|0;e=c[d>>2]|0;if((e|0)==0){f=0}else{g=a+8|0;h=a|0;i=c[h>>2]|0;do{if(e>>>0>c[g>>2]<<5>>>0){if((i|0)==0){j=e}else{Pu(i);c[h>>2]=0;c[g>>2]=0;c[a+4>>2]=0;j=c[d>>2]|0}if((j|0)<0){Nr(0);return 0}else{k=((j-1|0)>>>5)+1|0;l=Nu(k<<2)|0;c[h>>2]=l;c[a+4>>2]=0;c[g>>2]=k;m=c[d>>2]|0;n=l;break}}else{m=e;n=i}}while(0);fv(n|0,c[b>>2]|0,((m-1|0)>>>5<<2)+4|0)|0;f=c[d>>2]|0}c[a+4>>2]=f;return a|0}function Hf(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function If(a){a=a|0;c[a+776>>2]=0;c[a+780>>2]=0;c[a+784>>2]=0;Cd(a+1332|0);c[a+1344>>2]=0;c[a+1348>>2]=0;c[a+1352>>2]=0;Jj(a);return}function Jf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+640>>2]|0;if((b|0)!=0){d=a+644|0;if((c[d>>2]|0)!=(b|0)){c[d>>2]=b}Pu(b)}b=c[a+628>>2]|0;if((b|0)!=0){d=a+632|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=e+(~((e-2+(-b|0)|0)>>>1)<<1)}Pu(b)}b=a+592|0;e=c[b>>2]|0;if((e|0)==0){return}d=a+596|0;a=c[d>>2]|0;if((a|0)==(e|0)){f=e}else{g=a;while(1){a=g-12|0;c[d>>2]=a;h=c[a>>2]|0;if((h|0)==0){i=a}else{Pu(h);i=c[d>>2]|0}if((i|0)==(e|0)){break}else{g=i}}f=c[b>>2]|0}Pu(f);return}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+4|0;d=c[b>>2]|0;e=a+16|0;f=c[e>>2]|0;g=d+(f>>>10<<2)|0;h=a+8|0;i=c[h>>2]|0;if((i|0)==(d|0)){j=0;k=0;l=a+20|0}else{m=a+20|0;a=f+(c[m>>2]|0)|0;j=(c[d+(a>>>10<<2)>>2]|0)+((a&1023)<<2)|0;k=(c[g>>2]|0)+((f&1023)<<2)|0;l=m}m=g;g=k;a:while(1){k=g;do{if((k|0)==(j|0)){break a}k=k+4|0;}while((k-(c[m>>2]|0)|0)!=4096);k=m+4|0;m=k;g=c[k>>2]|0}c[l>>2]=0;l=i-d>>2;if(l>>>0>2>>>0){i=d;while(1){Pu(c[i>>2]|0);d=(c[b>>2]|0)+4|0;c[b>>2]=d;g=(c[h>>2]|0)-d>>2;if(g>>>0>2>>>0){i=d}else{n=g;break}}}else{n=l}if((n|0)==2){c[e>>2]=1024;return}else if((n|0)==1){c[e>>2]=512;return}else{return}}function Lf(a){a=a|0;c[a>>2]=30;c[a+4>>2]=20;c[a+8>>2]=2;c[a+12>>2]=2;c[a+16>>2]=8;c[a+20>>2]=40;c[a+24>>2]=6;c[a+28>>2]=2;c[a+32>>2]=6;c[a+36>>2]=8;c[a+40>>2]=8;c[a+44>>2]=8;c[a+48>>2]=26;c[a+52>>2]=28;c[a+56>>2]=52;c[a+60>>2]=44;c[a+64>>2]=86;c[a+68>>2]=6;c[a+72>>2]=36;c[a+76>>2]=56;c[a+80>>2]=14;c[a+84>>2]=64;c[a+88>>2]=48;c[a+92>>2]=112;c[a+96>>2]=8;c[a+100>>2]=22;c[a+104>>2]=32;c[a+108>>2]=84;c[a+112>>2]=2;c[a+116>>2]=4;c[a+120>>2]=4;c[a+124>>2]=4;c[a+128>>2]=42;c[a+132>>2]=6;c[a+136>>2]=18;c[a+140>>2]=12;c[a+144>>2]=2;c[a+148>>2]=26;c[a+152>>2]=24;c[a+156>>2]=32;c[a+160>>2]=40;c[a+164>>2]=34;c[a+168>>2]=20;c[a+172>>2]=36;c[a+176>>2]=22;c[a+180>>2]=14;c[a+184>>2]=4;c[a+188>>2]=44;c[a+204>>2]=22;c[a+212>>2]=20;c[a+208>>2]=36;c[a+192>>2]=4;c[a+200>>2]=10;c[a+196>>2]=40;c[a+216>>2]=28;c[a+220>>2]=12;c[a+224>>2]=38;c[a+228>>2]=16;c[a+232>>2]=30;c[a+236>>2]=16;c[a+240>>2]=40;c[a+244>>2]=12;c[a+248>>2]=18;c[a+252>>2]=24;c[a+256>>2]=26;c[a+260>>2]=52;c[a+284>>2]=14;c[a+288>>2]=4;c[a+296>>2]=16;c[a+292>>2]=2;c[a+300>>2]=10;c[a+264>>2]=10;c[a+268>>2]=4;c[a+272>>2]=14;c[a+276>>2]=2;c[a+280>>2]=28;c[a+304>>2]=24;c[a+308>>2]=8;c[a+312>>2]=32;c[a+316>>2]=14;c[a+320>>2]=20;c[a+324>>2]=18;c[a+328>>2]=6;c[a+332>>2]=2;c[a+336>>2]=26;return}function Mf(b,e,f,g,h){b=b|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;if((g|0)<=0){return}i=(1<<h)-1|0;h=0;do{j=ga(h,e)|0;k=ga(h,g)|0;l=0;do{m=b+(l+j)|0;n=(d[m]|0)+(c[f+(l+k<<2)>>2]|0)|0;if((n|0)<0){o=0}else{o=((n|0)>(i|0)?i:n)&255}a[m]=o;l=l+1|0;}while((l|0)<(g|0));h=h+1|0;}while((h|0)<(g|0));return}function Nf(a,d,f,g,h){a=a|0;d=d|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;if((g|0)<=0){return}i=(1<<h)-1|0;h=0;do{j=ga(h,d)|0;k=ga(h,g)|0;l=0;do{m=a+(l+j<<1)|0;n=(e[m>>1]|0)+(c[f+(l+k<<2)>>2]|0)|0;if((n|0)<0){o=0}else{o=((n|0)>(i|0)?i:n)&65535}b[m>>1]=o;l=l+1|0;}while((l|0)<(g|0));h=h+1|0;}while((h|0)<(g|0));return}function Of(a,b,c){a=a|0;b=b|0;c=c|0;ec(15968,16560,51,18680)}function Pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ec(15968,16560,68,18648)}function Qf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=1<<g-1;if((e|0)>0){i=0}else{return}do{j=ga(i,e)|0;k=0;do{l=k+j|0;c[a+(l<<2)>>2]=(b[d+(l<<1)>>1]<<f)+h>>g;k=k+1|0;}while((k|0)<(e|0));i=i+1|0;}while((i|0)<(e|0));return}function Rf(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=f+5|0;i=1<<f;if((i|0)>0){j=0}else{return}do{k=0;l=0;do{k=((b[e+((l<<f)+j<<1)>>1]<<h)+2048>>12)+k|0;m=c+((ga(l,g)|0)+j)|0;n=k+(d[m]|0)|0;if((n|0)<0){o=0}else{o=(n|0)>255?-1:n&255}a[m]=o;l=l+1|0;}while((l|0)<(i|0));j=j+1|0;}while((j|0)<(i|0));return}function Sf(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=f+5|0;i=1<<f;if((i|0)>0){j=0}else{return}do{k=j<<f;l=ga(j,g)|0;m=0;n=0;do{m=((b[e+(n+k<<1)>>1]<<h)+2048>>12)+m|0;o=c+(n+l)|0;p=m+(d[o]|0)|0;if((p|0)<0){q=0}else{q=(p|0)>255?-1:p&255}a[o]=q;n=n+1|0;}while((n|0)<(i|0));j=j+1|0;}while((j|0)<(i|0));return}function Tf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)>0){f=0}else{return}do{g=0;h=0;do{i=(ga(h,e)|0)+f|0;g=(b[d+(i<<1)>>1]|0)+g|0;c[a+(i<<2)>>2]=g;h=h+1|0;}while((h|0)<(e|0));f=f+1|0;}while((f|0)<(e|0));return}function Uf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((e|0)>0){f=0}else{return}do{g=ga(f,e)|0;h=0;i=0;do{j=i+g|0;h=(b[d+(j<<1)>>1]|0)+h|0;c[a+(j<<2)>>2]=h;i=i+1|0;}while((i|0)<(e|0));f=f+1|0;}while((f|0)<(e|0));return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=1<<g-1;if((e|0)>0){i=0}else{return}do{j=0;k=0;do{l=(ga(k,e)|0)+i|0;j=((b[d+(l<<1)>>1]<<f)+h>>g)+j|0;c[a+(l<<2)>>2]=j;k=k+1|0;}while((k|0)<(e|0));i=i+1|0;}while((i|0)<(e|0));return}function Wf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=1<<g-1;if((e|0)>0){i=0}else{return}do{j=ga(i,e)|0;k=0;l=0;do{m=l+j|0;k=((b[d+(m<<1)>>1]<<f)+h>>g)+k|0;c[a+(m<<2)>>2]=k;l=l+1|0;}while((l|0)<(e|0));i=i+1|0;}while((i|0)<(e|0));return}function Xf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)>0){f=0}else{return}do{g=ga(f,e)|0;h=0;do{i=h+g|0;c[a+(i<<2)>>2]=b[d+(i<<1)>>1]|0;h=h+1|0;}while((h|0)<(e|0));f=f+1|0;}while((f|0)<(e|0));return}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c|0)/2|0;if((c|0)<=1){return}e=c-1|0;f=0;do{g=ga(f,c)|0;h=e+(ga(e-f|0,c)|0)|0;i=0;do{j=a+(i+g<<1)|0;k=a+(h-i<<1)|0;l=b[j>>1]|0;b[j>>1]=b[k>>1]|0;b[k>>1]=l;i=i+1|0;}while((i|0)<(c|0));f=f+1|0;}while((f|0)<(d|0));return}function Zf(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+32|0;h=g|0;j=0;while(1){k=b[e+(j<<1)>>1]|0;l=0;do{m=ga(k<<16>>16,a[27256+l|0]|0)|0;n=(ga(b[e+(j+4<<1)>>1]|0,a[27260+l|0]|0)|0)+m|0;m=(ga(b[e+(j+8<<1)>>1]|0,a[27264+l|0]|0)|0)+n|0;n=(ga(b[e+(j+12<<1)>>1]|0,a[27268+l|0]|0)|0)+m+64>>7;if((n|0)<-32768){o=-32768}else{o=(n|0)>32767?32767:n&65535}b[h+(l<<3)+(j<<1)>>1]=o;l=l+1|0;}while((l|0)<4);l=j+1|0;if((l|0)<4){j=l}else{p=0;break}}do{j=ga(p,f)|0;o=b[h+(p<<3)>>1]|0;e=b[h+(p<<3)+2>>1]|0;l=b[h+(p<<3)+4>>1]|0;k=b[h+(p<<3)+6>>1]|0;n=0;do{m=ga(o<<16>>16,a[27256+n|0]|0)|0;q=(ga(e<<16>>16,a[27260+n|0]|0)|0)+m|0;m=(ga(l<<16>>16,a[27264+n|0]|0)|0)+q|0;q=(ga(k<<16>>16,a[27268+n|0]|0)|0)+m+2048>>12;if((q|0)<-32768){r=-32768}else{r=(q|0)>32767?32767:q}q=c+(n+j)|0;m=(d[q]|0)+r|0;if((m|0)<0){s=0}else{s=(m|0)>255?-1:m&255}a[q]=s;n=n+1|0;}while((n|0)<4);p=p+1|0;}while((p|0)<4);i=g;return}function _f(c,d,f,g){c=c|0;d=d|0;f=f|0;g=g|0;var h=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;h=i;i=i+32|0;j=h|0;k=20-g|0;l=k-1|0;m=0;do{n=b[d+(m<<1)>>1]|0;o=0;do{p=ga(n<<16>>16,a[27256+o|0]|0)|0;q=(ga(b[d+(m+4<<1)>>1]|0,a[27260+o|0]|0)|0)+p|0;p=(ga(b[d+(m+8<<1)>>1]|0,a[27264+o|0]|0)|0)+q|0;q=(ga(b[d+(m+12<<1)>>1]|0,a[27268+o|0]|0)|0)+p+64>>7;if((q|0)<-32768){r=-32768}else{r=(q|0)>32767?32767:q&65535}b[j+(o<<3)+(m<<1)>>1]=r;o=o+1|0;}while((o|0)<4);m=m+1|0;}while((m|0)<4);m=1<<l;l=(1<<g)-1|0;g=0;do{r=ga(g,f)|0;d=b[j+(g<<3)>>1]|0;o=b[j+(g<<3)+2>>1]|0;n=b[j+(g<<3)+4>>1]|0;q=b[j+(g<<3)+6>>1]|0;p=0;do{s=ga(d<<16>>16,a[27256+p|0]|0)|0;t=(ga(o<<16>>16,a[27260+p|0]|0)|0)+s|0;s=(ga(n<<16>>16,a[27264+p|0]|0)|0)+t|0;t=(ga(q<<16>>16,a[27268+p|0]|0)|0)+s+m>>k;if((t|0)<-32768){u=-32768}else{u=(t|0)>32767?32767:t}t=c+(p+r<<1)|0;s=(e[t>>1]|0)+u|0;if((s|0)<0){v=0}else{v=((s|0)>(l|0)?l:s)&65535}b[t>>1]=v;p=p+1|0;}while((p|0)<4);g=g+1|0;}while((g|0)<4);i=h;return}function $f(c,d,e){c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f|0;h=0;while(1){j=b[d+(h<<1)>>1]|0;k=0;do{l=ga(j<<16>>16,a[27256+(k<<2)|0]|0)|0;m=(ga(b[d+(h+e<<1)>>1]|0,a[27257+(k<<2)|0]|0)|0)+l|0;l=(ga(b[d+((e<<1)+h<<1)>>1]|0,a[27258+(k<<2)|0]|0)|0)+m|0;m=(ga(b[d+((e*3|0)+h<<1)>>1]|0,a[27259+(k<<2)|0]|0)|0)+l+1>>1;if((m|0)<-32768){n=-32768}else{n=(m|0)>32767?32767:m&65535}b[g+((k<<2)+h<<1)>>1]=n;k=k+1|0;}while((k|0)<4);k=h+1|0;if((k|0)<4){h=k}else{o=0;break}}do{h=o<<2;n=b[g+(h<<1)>>1]|0;e=0;do{d=ga(n<<16>>16,a[27256+(e<<2)|0]|0)|0;k=(ga(b[g+((h|1)<<1)>>1]|0,a[27257+(e<<2)|0]|0)|0)+d|0;d=(ga(b[g+((h|2)<<1)>>1]|0,a[27258+(e<<2)|0]|0)|0)+k|0;k=((ga(b[g+((h|3)<<1)>>1]|0,a[27259+(e<<2)|0]|0)|0)+d+128|0)>>>8&65535;b[c+(e+h<<1)>>1]=k;e=e+1|0;}while((e|0)<4);o=o+1|0;}while((o|0)<4);i=f;return}function ag(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+32|0;j=h|0;k=f-1|0;l=1<<g;g=l-1|0;m=-l|0;l=m&65535;n=0;do{o=b[e+(n<<1)>>1]|0;p=0;do{q=ga(o<<16>>16,a[27256+p|0]|0)|0;r=(ga(b[e+(n+4<<1)>>1]|0,a[27260+p|0]|0)|0)+q|0;q=(ga(b[e+(n+8<<1)>>1]|0,a[27264+p|0]|0)|0)+r|0;r=(ga(b[e+(n+12<<1)>>1]|0,a[27268+p|0]|0)|0)+q+64>>7;if((r|0)<(m|0)){s=l}else{s=((r|0)>(g|0)?g:r)&65535}b[j+(p<<3)+(n<<1)>>1]=s;p=p+1|0;}while((p|0)<4);n=n+1|0;}while((n|0)<4);n=1<<k;k=0;do{s=k<<2;g=b[j+(k<<3)>>1]|0;l=b[j+(k<<3)+2>>1]|0;m=b[j+(k<<3)+4>>1]|0;e=b[j+(k<<3)+6>>1]|0;p=0;do{o=ga(g<<16>>16,a[27256+p|0]|0)|0;r=(ga(l<<16>>16,a[27260+p|0]|0)|0)+o|0;o=(ga(m<<16>>16,a[27264+p|0]|0)|0)+r|0;r=(ga(e<<16>>16,a[27268+p|0]|0)|0)+o+n>>f;c[d+(p+s<<2)>>2]=r;p=p+1|0;}while((p|0)<4);k=k+1|0;}while((k|0)<4);i=h;return}function bg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0;j=i;i=i+2048|0;k=j|0;if((e|0)>1){l=e;m=0;while(1){n=m+1|0;o=l>>1;if((o|0)>1){l=o;m=n}else{p=n;break}}}else{p=0}m=5-p|0;p=1<<g-1;l=1<<h;h=l-1|0;n=-l|0;l=(e|0)>0;if(!l){q=2048;r=0;i=j;return}o=n&65535;s=0;do{t=e;while(1){u=t-1|0;if((t|0)<=0){break}v=f+((ga(u,e)|0)+s<<1)|0;if((b[v>>1]|0)==0){t=u}else{break}}v=(t|0)<1;w=0;do{if(v){x=0}else{y=0;z=0;while(1){A=f+((ga(z,e)|0)+s<<1)|0;B=(ga(b[A>>1]|0,a[27616+(z<<m<<5)+w|0]|0)|0)+y|0;if((z|0)<(u|0)){y=B;z=z+1|0}else{break}}x=B+64>>7}if((x|0)<(n|0)){C=o}else{C=((x|0)>(h|0)?h:x)&65535}z=k+((ga(w,e)|0)+s<<1)|0;b[z>>1]=C;w=w+1|0;}while((w|0)<(e|0));s=s+1|0;}while((s|0)<(e|0));if(l){D=0}else{q=2048;r=0;i=j;return}do{l=ga(D,e)|0;s=e;while(1){E=s-1|0;if((s|0)<=0){break}if((b[k+(E+l<<1)>>1]|0)==0){s=E}else{break}}C=(s|0)<1;x=0;do{if(C){F=0}else{h=0;o=0;while(1){n=(ga(b[k+(o+l<<1)>>1]|0,a[27616+(o<<m<<5)+x|0]|0)|0)+h|0;if((o|0)<(E|0)){h=n;o=o+1|0}else{F=n;break}}}c[d+(x+l<<2)>>2]=F+p>>g;x=x+1|0;}while((x|0)<(e|0));D=D+1|0;}while((D|0)<(e|0));q=2048;r=0;i=j;return}function cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,4,b,c,d);return}function dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,8,b,c,d);return}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,16,b,c,d);return}function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,32,b,c,d);return}function gg(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,4,b,8);return}function hg(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0;j=i;i=i+2048|0;k=j|0;l=20-h|0;m=1<<l-1;if((f|0)>1){n=f;o=0;while(1){p=o+1|0;q=n>>1;if((q|0)>1){n=q;o=p}else{r=p;break}}}else{r=0}o=5-r|0;r=(f|0)>0;if(r){s=0}else{t=2048;u=0;i=j;return}do{n=f;while(1){v=n-1|0;if((n|0)<=0){break}p=g+((ga(v,f)|0)+s<<1)|0;if((b[p>>1]|0)==0){n=v}else{break}}p=(n|0)<1;q=0;do{if(p){w=0;x=13}else{y=0;z=0;while(1){A=g+((ga(z,f)|0)+s<<1)|0;B=(ga(b[A>>1]|0,a[27616+(z<<o<<5)+q|0]|0)|0)+y|0;if((z|0)<(v|0)){y=B;z=z+1|0}else{break}}z=B+64>>7;if((z|0)<-32768){C=-32768}else{w=z;x=13}}if((x|0)==13){x=0;C=(w|0)>32767?32767:w&65535}z=k+((ga(q,f)|0)+s<<1)|0;b[z>>1]=C;q=q+1|0;}while((q|0)<(f|0));s=s+1|0;}while((s|0)<(f|0));if(!r){t=2048;u=0;i=j;return}r=(1<<h)-1|0;h=0;do{s=ga(h,f)|0;C=f;while(1){D=C-1|0;if((C|0)<=0){break}if((b[k+(D+s<<1)>>1]|0)==0){C=D}else{break}}w=(C|0)<1;x=ga(h,e)|0;B=0;do{if(w){E=0}else{v=0;g=0;while(1){q=(ga(b[k+(g+s<<1)>>1]|0,a[27616+(g<<o<<5)+B|0]|0)|0)+v|0;if((g|0)<(D|0)){v=q;g=g+1|0}else{E=q;break}}}g=c+(B+x)|0;v=(d[g]|0)+(E+m>>l)|0;if((v|0)<0){F=0}else{F=((v|0)>(r|0)?r:v)&255}a[g]=F;B=B+1|0;}while((B|0)<(f|0));h=h+1|0;}while((h|0)<(f|0));t=2048;u=0;i=j;return}function ig(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,8,b,8);return}function jg(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,16,b,8);return}function kg(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,32,b,8);return}function lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,4,b,d);return}
-    
-    
-    
-    function kk(b,d,e){b=b|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,p=0,q=0;f=(nd(e,4)|0)&255;a[b+1|0]=f;f=(nd(e,3)|0)+1&255;g=b+2|0;a[g]=f;if(f<<24>>24>7){h=8;return h|0}f=(nd(e,1)|0)&255;a[b+3|0]=f;$k(b+4|0,e,a[g]|0);f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+472>>2]=f;if((f|0)>15){h=8;return h|0}f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);h=8;return h|0}i=b+476|0;c[i>>2]=f;do{if((f|0)==3){j=(nd(e,1)|0)&255;a[b+480|0]=j;if(j<<24>>24==0){k=11;break}c[b+5012>>2]=0;l=c[i>>2]|0}else{a[b+480|0]=0;k=11}}while(0);if((k|0)==11){f=c[i>>2]|0;c[b+5012>>2]=f;l=f}if(l>>>0>3>>>0){Ue(d,1019,0);h=8;return h|0}l=qd(e)|0;if((l|0)==-99999){Ue(d,8,0);h=8;return h|0}f=b+484|0;c[f>>2]=l;l=qd(e)|0;if((l|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+488>>2]=l;i=c[f>>2]|0;if((i|0)==0|(l|0)==0){h=8;return h|0}if((i|0)>7e4|(l|0)>7e4){h=8;return h|0}l=(nd(e,1)|0)&255;a[b+492|0]=l;do{if(l<<24>>24==0){dv(b+496|0,0,16)|0}else{i=qd(e)|0;if((i|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+496>>2]=i;i=qd(e)|0;if((i|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+500>>2]=i;i=qd(e)|0;if((i|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+504>>2]=i;i=qd(e)|0;if(!((i|0)==-99999)){c[b+508>>2]=i;break}Ue(d,8,0);h=8;return h|0}}while(0);l=qd(e)|0;if((l|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+512>>2]=l+8;l=qd(e)|0;if((l|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+516>>2]=l+8;l=qd(e)|0;if((l|0)==-99999){Ue(d,8,0);h=8;return h|0}i=l+4|0;l=b+520|0;c[l>>2]=i;c[b+5032>>2]=1<<i;i=(nd(e,1)|0)&255;f=b+524|0;a[f]=i;if(i<<24>>24==0){i=a[g]|0;m=(i<<24>>24)-1|0;n=i}else{o=0;k=39}while(1){if((k|0)==39){k=0;m=o;n=a[g]|0}p=(n<<24>>24)-1|0;if((m|0)>(p|0)){k=48;break}i=qd(e)|0;if((i|0)==-99999|(i|0)>15){k=42;break}c[b+528+(m<<2)>>2]=i+1;i=qd(e)|0;if((i|0)==-99999){k=44;break}j=b+556+(m<<2)|0;c[j>>2]=i;i=qd(e)|0;if((i|0)==-99999){k=46;break}c[b+584+(m<<2)>>2]=i;c[b+5128+(m<<2)>>2]=i-1+(c[j>>2]|0);o=m+1|0;k=39}if((k|0)==42){Ue(d,8,0);h=8;return h|0}else if((k|0)==44){Ue(d,8,0);h=8;return h|0}else if((k|0)==46){Ue(d,8,0);h=8;return h|0}else if((k|0)==48){do{if((a[f]|0)!=0){if(!(n<<24>>24<8)){ec(2792,14480,317,17480);return 0}if((p|0)<=0){break}k=b+528+(p<<2)|0;m=b+556+(p<<2)|0;o=b+584+(p<<2)|0;j=0;do{c[b+528+(j<<2)>>2]=c[k>>2];c[b+556+(j<<2)>>2]=c[m>>2];c[b+584+(j<<2)>>2]=c[o>>2];j=j+1|0;}while((j|0)<((a[g]|0)-1|0))}}while(0);g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);h=8;return h|0}p=b+612|0;c[p>>2]=g+3;g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);h=8;return h|0}n=b+616|0;c[n>>2]=g;g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);h=8;return h|0}f=b+620|0;c[f>>2]=g+2;g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);h=8;return h|0}j=b+624|0;c[j>>2]=g;g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+628>>2]=g;g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+632>>2]=g;g=c[p>>2]|0;if((g|0)>6){h=8;return h|0}if(((c[n>>2]|0)+g|0)>6){h=8;return h|0}g=c[f>>2]|0;if((g|0)>5){h=8;return h|0}if(((c[j>>2]|0)+g|0)>5){h=8;return h|0}g=(nd(e,1)|0)&255;a[b+636|0]=g;do{if(!(g<<24>>24==0)){j=(nd(e,1)|0)&255;a[b+637|0]=j;f=b+638|0;if(j<<24>>24==0){mk(f);break}j=lk(e,0,f,0)|0;if((j|0)==0){break}else{h=j}return h|0}}while(0);g=(nd(e,1)|0)&255;a[b+4702|0]=g;g=(nd(e,1)|0)&255;a[b+4703|0]=g;g=(nd(e,1)|0)&255;a[b+4704|0]=g;do{if(g<<24>>24==0){a[b+4705|0]=0;a[b+4706|0]=0;c[b+4708>>2]=0;c[b+4712>>2]=0;a[b+4716|0]=0}else{j=(nd(e,4)|0)+1&255;a[b+4705|0]=j;j=(nd(e,4)|0)+1&255;a[b+4706|0]=j;j=qd(e)|0;if((j|0)==-99999){Ue(d,8,0);h=8;return h|0}c[b+4708>>2]=j+3;j=qd(e)|0;if(!((j|0)==-99999)){c[b+4712>>2]=j;j=(nd(e,1)|0)&255;a[b+4716|0]=j;break}Ue(d,8,0);h=8;return h|0}}while(0);g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);h=8;return h|0}if(g>>>0>64>>>0){Ue(d,1014,0);h=8;return h|0}j=b+4720|0;f=b+4724|0;n=c[f>>2]|0;p=j|0;o=c[p>>2]|0;m=(n-o|0)/100|0;do{if(m>>>0<g>>>0){sk(j,g-m|0)}else{if(!(m>>>0>g>>>0)){break}k=o+(g*100|0)|0;if((n|0)==(k|0)){break}c[f>>2]=n+(~(((n-100+(-k|0)|0)>>>0)/100|0)*100|0)}}while(0);a:do{if((g|0)>0){n=0;while(1){f=n+1|0;if(!(sj(d,b,e,(c[p>>2]|0)+(n*100|0)|0,n,j,0)|0)){h=1005;break}if((f|0)<(g|0)){n=f}else{break a}}return h|0}}while(0);g=(nd(e,1)|0)&255;a[b+4732|0]=g;do{if(g<<24>>24==0){c[b+4736>>2]=0}else{j=qd(e)|0;if((j|0)==-99999){Ue(d,8,0);h=8;return h|0}p=b+4736|0;c[p>>2]=j;if((j|0)>32){h=8;return h|0}if((j|0)>0){q=0}else{break}do{j=nd(e,c[l>>2]|0)|0;c[b+4740+(q<<2)>>2]=j;j=(nd(e,1)|0)&255;a[b+4868+q|0]=j;q=q+1|0;}while((q|0)<(c[p>>2]|0))}}while(0);q=(nd(e,1)|0)&255;a[b+4900|0]=q;q=(nd(e,1)|0)&255;a[b+4901|0]=q;q=(nd(e,1)|0)&255;a[b+4902|0]=q;if(!(q<<24>>24==0)){ll(b+4904|0,d,e,b)|0}d=(nd(e,1)|0)&255;a[b+4980|0]=d;do{if(d<<24>>24==0){a[b+4981|0]=0}else{q=(nd(e,1)|0)&255;l=b+4981|0;a[l]=q;q=(nd(e,1)|0)&255;a[b+4982|0]=q;q=(nd(e,6)|0)&255;a[b+4983|0]=q;if((a[l]|0)==0){break}nk(b+4984|0,0,e)|0}}while(0);e=ok(b)|0;if((e|0)!=0){h=e;return h|0}a[b|0]=1;h=0;return h|0}return 0}function lk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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,A=0,B=0;g=i;i=i+6240|0;e=g|0;h=g+96|0;j=0;a:while(1){k=(j|0)==3;l=k?2:6;m=(j|0)==0;n=k^1;o=m?16:64;p=(j|0)>1;q=0;do{r=h+(q<<10)|0;s=k&(q|0)==1;do{if(((nd(b,1)|0)&255)<<24>>24==0){t=qd(b)|0;if((t|0)==-99999|(t|0)>(q|0)){u=8;v=29;break a}w=e+(j*24|0)+(q<<2)|0;c[w>>2]=16;if((t|0)!=0){if(!((t|0)==1|n)){v=12;break a}x=q-t|0;cv(r|0,h+(x<<10)|0,o)|0;t=c[e+(j*24|0)+(x<<2)>>2]|0;c[w>>2]=t;y=t&255;v=20;break}if(m){cv(r|0,30200,16)|0;v=21;break}if((q|0)<3&(s^1)){cv(r|0,30024,64)|0;y=16;v=20;break}else{cv(r|0,30088,64)|0;y=16;v=20;break}}else{if(p){t=rd(b)|0;if((t+7|0)>>>0>254>>>0){u=8;v=29;break a}w=t+8|0;c[e+(j*24|0)+(q<<2)>>2]=w;z=w;A=w&255}else{z=8;A=16}w=z;t=0;while(1){x=rd(b)|0;if((x+128|0)>>>0>255>>>0){u=8;v=29;break a}B=(w+256+x|0)%256|0;a[h+(q<<10)+t|0]=B;x=t+1|0;if((x|0)<(o|0)){w=B;t=x}else{y=A;v=20;break}}}}while(0);do{if((v|0)==20){v=0;if((j|0)==2){s=f+480+(q<<8)|0;rk(s,r,2);a[s]=y;break}else if((j|0)==3){s=f+2016+(q<<10)|0;rk(s,r,3);a[s]=y;break}else if((j|0)==1){s=Cj(3,0)|0;t=0;do{a[((d[s+(t<<1)+1|0]|0)<<3)+(d[s+(t<<1)|0]|0)+(f+96+(q<<6))|0]=a[h+(q<<10)+t|0]|0;t=t+1|0;}while((t|0)<64)}else if((j|0)==0){v=21;break}else{break}}}while(0);if((v|0)==21){v=0;r=Cj(2,0)|0;t=0;do{a[((d[r+(t<<1)+1|0]|0)<<2)+(d[r+(t<<1)|0]|0)+(f+(q<<4))|0]=a[h+(q<<10)+t|0]|0;t=t+1|0;}while((t|0)<16)}q=q+1|0;}while((q|0)<(l|0));l=j+1|0;if((l|0)<4){j=l}else{u=0;v=29;break}}if((v|0)==12){ec(2912,14480,873,18888);return 0}else if((v|0)==29){i=g;return u|0}return 0}function mk(b){b=b|0;var c=0,e=0;c=Cj(2,0)|0;e=0;do{a[b+(((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0))|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);e=Cj(2,0)|0;c=0;do{a[((d[e+(c<<1)+1|0]|0)<<2)+(d[e+(c<<1)|0]|0)+(b+16)|0]=a[30200+c|0]|0;c=c+1|0;}while((c|0)<16);c=Cj(2,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0)+(b+32)|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);e=Cj(2,0)|0;c=0;do{a[((d[e+(c<<1)+1|0]|0)<<2)+(d[e+(c<<1)|0]|0)+(b+48)|0]=a[30200+c|0]|0;c=c+1|0;}while((c|0)<16);c=Cj(2,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0)+(b+64)|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);e=Cj(2,0)|0;c=0;do{a[((d[e+(c<<1)+1|0]|0)<<2)+(d[e+(c<<1)|0]|0)+(b+80)|0]=a[30200+c|0]|0;c=c+1|0;}while((c|0)<16);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+96)|0]=a[30024+e|0]|0;e=e+1|0;}while((e|0)<64);e=Cj(3,0)|0;c=0;do{a[((d[e+(c<<1)+1|0]|0)<<3)+(d[e+(c<<1)|0]|0)+(b+288)|0]=a[30088+c|0]|0;c=c+1|0;}while((c|0)<64);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+160)|0]=a[30024+e|0]|0;e=e+1|0;}while((e|0)<64);e=Cj(3,0)|0;c=0;do{a[((d[e+(c<<1)+1|0]|0)<<3)+(d[e+(c<<1)|0]|0)+(b+352)|0]=a[30088+c|0]|0;c=c+1|0;}while((c|0)<64);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+224)|0]=a[30024+e|0]|0;e=e+1|0;}while((e|0)<64);e=Cj(3,0)|0;c=0;do{a[((d[e+(c<<1)+1|0]|0)<<3)+(d[e+(c<<1)|0]|0)+(b+416)|0]=a[30088+c|0]|0;c=c+1|0;}while((c|0)<64);rk(b+480|0,30024,2);rk(b+1248|0,30088,2);rk(b+736|0,30024,2);rk(b+1504|0,30088,2);rk(b+992|0,30024,2);rk(b+1760|0,30088,2);rk(b+2016|0,30024,3);rk(b+3040|0,30088,3);return}function nk(b,c,d){b=b|0;c=c|0;d=d|0;c=(nd(d,1)|0)&255;a[b|0]=c;c=(nd(d,1)|0)&255;a[b+1|0]=c;c=(nd(d,1)|0)&255;a[b+2|0]=c;c=(nd(d,1)|0)&255;a[b+3|0]=c;c=(nd(d,1)|0)&255;a[b+4|0]=c;c=(nd(d,1)|0)&255;a[b+5|0]=c;c=(nd(d,1)|0)&255;a[b+6|0]=c;c=(nd(d,1)|0)&255;a[b+7|0]=c;c=(nd(d,1)|0)&255;a[b+8|0]=c;return 0}function ok(b){b=b|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,r=0,s=0,t=0,u=0;d=c[b+476>>2]|0;e=c[30720+(d<<2)>>2]|0;c[b+5016>>2]=e;f=c[30648+(d<<2)>>2]|0;c[b+5020>>2]=f;g=b+5024|0;if((c[b+5012>>2]|0)==0){c[g>>2]=1;c[b+5028>>2]=1}else{c[g>>2]=e;c[b+5028>>2]=f}g=c[b+512>>2]|0;c[b+4996>>2]=g;c[b+5e3>>2]=(g*6|0)-48;h=c[b+516>>2]|0;c[b+5004>>2]=h;c[b+5008>>2]=(h*6|0)-48;i=c[b+612>>2]|0;c[b+5036>>2]=i;j=(c[b+616>>2]|0)+i|0;c[b+5040>>2]=j;k=1<<i;c[b+5044>>2]=k;l=1<<j;c[b+5048>>2]=l;m=c[b+484>>2]|0;n=m-1|0;o=(n+k|0)/(k|0)|0;c[b+5052>>2]=o;p=(n+l|0)/(l|0)|0;c[b+5056>>2]=p;n=c[b+488>>2]|0;q=n-1|0;r=(q+k|0)/(k|0)|0;c[b+5060>>2]=r;s=(q+l|0)/(l|0)|0;c[b+5064>>2]=s;q=ga(r,o)|0;c[b+5068>>2]=q;q=ga(s,p)|0;c[b+5072>>2]=q;q=ga(n,m)|0;c[b+5076>>2]=q;do{if((d|0)==0){t=6}else{if((a[b+480|0]|0)!=0){t=6;break}c[b+5080>>2]=(l|0)/(e|0)|0;c[b+5084>>2]=(l|0)/(f|0)|0}}while(0);if((t|0)==6){c[b+5080>>2]=0;c[b+5084>>2]=0}t=c[b+620>>2]|0;c[b+5100>>2]=t;f=(c[b+624>>2]|0)+t|0;c[b+5104>>2]=f;l=j-t|0;if((c[b+628>>2]|0)>(l|0)){u=8;return u|0}if((c[b+632>>2]|0)>(l|0)){u=8;return u|0}e=i-1|0;c[b+5108>>2]=e;d=j-e|0;c[b+5112>>2]=p<<d;c[b+5116>>2]=s<<d;d=c[b+4708>>2]|0;c[b+5120>>2]=d;c[b+5124>>2]=(c[b+4712>>2]|0)+d;d=p<<l;c[b+5088>>2]=d;p=s<<l;c[b+5092>>2]=p;l=ga(p,d)|0;c[b+5096>>2]=l;if((a[b+4990|0]|0)==0){a[b+5156|0]=g+248;a[b+5157|0]=h+248;c[b+5160>>2]=128;c[b+5164>>2]=128}else{a[b+5156|0]=0;a[b+5157|0]=0;c[b+5160>>2]=1<<g-1;c[b+5164>>2]=1<<h-1}if(((m|0)%(k|0)|0|0)!=0){u=8;return u|0}if(((n|0)%(k|0)|0|0)!=0|(t|0)>(i|0)){u=8;return u|0}if((f|0)>(((j|0)<5?j:5)|0)){u=8;return u|0}if((g-8|0)>>>0>8>>>0){u=8;return u|0}if((h-8|0)>>>0>8>>>0){u=8;return u|0}a[b|0]=1;u=0;return u|0}function pk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0;e=i;if((d|0)==2){f=q}else if((d|0)==1){f=t}else{i=e;return}g=c[f>>2]|0;Zk(g,11960,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;Zk(g,8928,(f=i,i=i+8|0,c[f>>2]=a[b+1|0]|0,f)|0);i=f;h=b+2|0;Zk(g,6288,(f=i,i=i+8|0,c[f>>2]=a[h]|0,f)|0);i=f;Zk(g,4592,(f=i,i=i+8|0,c[f>>2]=a[b+3|0]|0,f)|0);i=f;dl(b+4|0,a[h]|0,g);Zk(g,3224,(f=i,i=i+8|0,c[f>>2]=c[b+472>>2],f)|0);i=f;j=b+476|0;k=c[j>>2]|0;do{if((k|0)==0){l=1072}else{if((k|0)==1){l=384;break}if((k|0)==2){l=16872;break}l=(k|0)==3?16336:15976}}while(0);Zk(g,1920,(f=i,i=i+16|0,c[f>>2]=k,c[f+8>>2]=l,f)|0);i=f;if((c[j>>2]|0)==3){Zk(g,15568,(f=i,i=i+8|0,c[f>>2]=a[b+480|0]|0,f)|0);i=f}Zk(g,15216,(f=i,i=i+8|0,c[f>>2]=c[b+484>>2],f)|0);i=f;Zk(g,14880,(f=i,i=i+8|0,c[f>>2]=c[b+488>>2],f)|0);i=f;j=b+492|0;Zk(g,14632,(f=i,i=i+8|0,c[f>>2]=a[j]|0,f)|0);i=f;if((a[j]|0)!=0){Zk(g,14360,(f=i,i=i+8|0,c[f>>2]=c[b+496>>2],f)|0);i=f;Zk(g,14088,(f=i,i=i+8|0,c[f>>2]=c[b+500>>2],f)|0);i=f;Zk(g,13800,(f=i,i=i+8|0,c[f>>2]=c[b+504>>2],f)|0);i=f;Zk(g,13600,(f=i,i=i+8|0,c[f>>2]=c[b+508>>2],f)|0);i=f}Zk(g,13408,(f=i,i=i+8|0,c[f>>2]=c[b+512>>2],f)|0);i=f;Zk(g,13200,(f=i,i=i+8|0,c[f>>2]=c[b+516>>2],f)|0);i=f;Zk(g,12976,(f=i,i=i+8|0,c[f>>2]=c[b+520>>2],f)|0);i=f;j=b+524|0;Zk(g,12704,(f=i,i=i+8|0,c[f>>2]=a[j]|0,f)|0);i=f;l=a[h]|0;if((a[j]|0)==0){m=(l<<24>>24)-1|0}else{m=0}if((m|0)<=((l<<24>>24)-1|0)){l=m;while(1){Zk(g,12408,(f=i,i=i+8|0,c[f>>2]=l,f)|0);i=f;Zk(g,12128,(f=i,i=i+8|0,c[f>>2]=c[b+528+(l<<2)>>2],f)|0);i=f;Zk(g,11752,(f=i,i=i+8|0,c[f>>2]=c[b+556+(l<<2)>>2],f)|0);i=f;Zk(g,11432,(f=i,i=i+8|0,c[f>>2]=c[b+584+(l<<2)>>2],f)|0);i=f;if((l|0)<((a[h]|0)-1|0)){l=l+1|0}else{break}}}l=b+612|0;Zk(g,11192,(f=i,i=i+8|0,c[f>>2]=c[l>>2],f)|0);i=f;h=b+616|0;Zk(g,10936,(f=i,i=i+8|0,c[f>>2]=c[h>>2],f)|0);i=f;m=b+620|0;Zk(g,10680,(f=i,i=i+8|0,c[f>>2]=c[m>>2],f)|0);i=f;j=b+624|0;Zk(g,10408,(f=i,i=i+8|0,c[f>>2]=c[j>>2],f)|0);i=f;Zk(g,10096,(f=i,i=i+8|0,c[f>>2]=c[b+628>>2],f)|0);i=f;Zk(g,9760,(f=i,i=i+8|0,c[f>>2]=c[b+632>>2],f)|0);i=f;k=b+636|0;Zk(g,9328,(f=i,i=i+8|0,c[f>>2]=a[k]|0,f)|0);i=f;do{if((a[k]|0)!=0){n=b+637|0;Zk(g,9016,(f=i,i=i+8|0,c[f>>2]=a[n]|0,f)|0);i=f;if((a[n]|0)==0){break}Zk(g,8656,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f}}while(0);Zk(g,8384,(f=i,i=i+8|0,c[f>>2]=a[b+4702|0]|0,f)|0);i=f;Zk(g,8152,(f=i,i=i+8|0,c[f>>2]=a[b+4703|0]|0,f)|0);i=f;k=b+4704|0;Zk(g,7912,(f=i,i=i+8|0,c[f>>2]=a[k]|0,f)|0);i=f;if((a[k]|0)!=0){Zk(g,7640,(f=i,i=i+8|0,c[f>>2]=a[b+4705|0]|0,f)|0);i=f;Zk(g,7352,(f=i,i=i+8|0,c[f>>2]=a[b+4706|0]|0,f)|0);i=f;Zk(g,7040,(f=i,i=i+8|0,c[f>>2]=c[b+4708>>2],f)|0);i=f;Zk(g,6752,(f=i,i=i+8|0,c[f>>2]=c[b+4712>>2],f)|0);i=f;Zk(g,6456,(f=i,i=i+8|0,c[f>>2]=a[b+4716|0]|0,f)|0);i=f}k=b+4724|0;n=b+4720|0;Zk(g,6336,(f=i,i=i+8|0,c[f>>2]=((c[k>>2]|0)-(c[n>>2]|0)|0)/100|0,f)|0);i=f;if((c[k>>2]|0)!=(c[n>>2]|0)){o=0;do{Zk(g,6216,(f=i,i=i+8|0,c[f>>2]=o,f)|0);i=f;tj((c[n>>2]|0)+(o*100|0)|0,16,g);o=o+1|0;}while(o>>>0<(((c[k>>2]|0)-(c[n>>2]|0)|0)/100|0)>>>0)}n=b+4732|0;Zk(g,6e3,(f=i,i=i+8|0,c[f>>2]=a[n]|0,f)|0);i=f;do{if((a[n]|0)!=0){k=b+4736|0;Zk(g,5816,(f=i,i=i+8|0,c[f>>2]=c[k>>2],f)|0);i=f;if((c[k>>2]|0)>0){p=0}else{break}do{o=c[b+4740+(p<<2)>>2]|0;r=a[b+4868+p|0]|0;Zk(g,5640,(f=i,i=i+24|0,c[f>>2]=p,c[f+8>>2]=o,c[f+16>>2]=r,f)|0);i=f;p=p+1|0;}while((p|0)<(c[k>>2]|0))}}while(0);Zk(g,5504,(f=i,i=i+8|0,c[f>>2]=a[b+4900|0]|0,f)|0);i=f;Zk(g,5344,(f=i,i=i+8|0,c[f>>2]=a[b+4901|0]|0,f)|0);i=f;p=b+4902|0;Zk(g,5176,(f=i,i=i+8|0,c[f>>2]=a[p]|0,f)|0);i=f;Zk(g,4968,(f=i,i=i+8|0,c[f>>2]=a[b+4980|0]|0,f)|0);i=f;n=b+4981|0;Zk(g,4792,(f=i,i=i+8|0,c[f>>2]=a[n]|0,f)|0);i=f;Zk(g,4672,(f=i,i=i+8|0,c[f>>2]=a[b+4982|0]|0,f)|0);i=f;Zk(g,4440,(f=i,i=i+8|0,c[f>>2]=a[b+4983|0]|0,f)|0);i=f;Zk(g,4224,(f=i,i=i+8|0,c[f>>2]=c[b+5048>>2],f)|0);i=f;Zk(g,4072,(f=i,i=i+8|0,c[f>>2]=c[b+5044>>2],f)|0);i=f;Zk(g,3984,(f=i,i=i+8|0,c[f>>2]=1<<(c[h>>2]|0)+(c[l>>2]|0),f)|0);i=f;Zk(g,3920,(f=i,i=i+8|0,c[f>>2]=1<<c[m>>2],f)|0);i=f;Zk(g,3832,(f=i,i=i+8|0,c[f>>2]=1<<(c[j>>2]|0)+(c[m>>2]|0),f)|0);i=f;Zk(g,3712,(f=i,i=i+8|0,c[f>>2]=c[b+5056>>2],f)|0);i=f;Zk(g,3544,(f=i,i=i+8|0,c[f>>2]=c[b+5064>>2],f)|0);i=f;Zk(g,3392,(f=i,i=i+8|0,c[f>>2]=c[b+5016>>2],f)|0);i=f;Zk(g,3280,(f=i,i=i+8|0,c[f>>2]=c[b+5020>>2],f)|0);i=f;if((a[n]|0)!=0){qk(b+4984|0,d)}if((a[p]|0)==0){i=e;return}ml(b+4904|0,d);i=e;return}function qk(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;if((b|0)==1){f=t}else if((b|0)==2){f=q}else{i=e;return}b=c[f>>2]|0;Zk(b,2728,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;Zk(b,2632,(f=i,i=i+8|0,c[f>>2]=d[a|0]|0,f)|0);i=f;Zk(b,2536,(f=i,i=i+8|0,c[f>>2]=d[a+1|0]|0,f)|0);i=f;Zk(b,2376,(f=i,i=i+8|0,c[f>>2]=d[a+2|0]|0,f)|0);i=f;Zk(b,2224,(f=i,i=i+8|0,c[f>>2]=d[a+3|0]|0,f)|0);i=f;Zk(b,2072,(f=i,i=i+8|0,c[f>>2]=d[a+4|0]|0,f)|0);i=f;Zk(b,1984,(f=i,i=i+8|0,c[f>>2]=d[a+5|0]|0,f)|0);i=f;Zk(b,1808,(f=i,i=i+8|0,c[f>>2]=d[a+6|0]|0,f)|0);i=f;Zk(b,1576,(f=i,i=i+8|0,c[f>>2]=d[a+7|0]|0,f)|0);i=f;Zk(b,1456,(f=i,i=i+8|0,c[f>>2]=d[a+8|0]|0,f)|0);i=f;i=e;return}function rk(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==3){f=Cj(3,0)|0;g=0;do{h=f+(g<<1)|0;i=f+(g<<1)+1|0;j=c+g|0;k=0;do{a[b+(((d[h]|0)<<2)+(((d[i]|0)<<2)+k<<5))|0]=a[j]|0;a[b+(((d[h]|0)<<2|1)+(((d[i]|0)<<2)+k<<5))|0]=a[j]|0;a[b+(((d[h]|0)<<2|2)+(((d[i]|0)<<2)+k<<5))|0]=a[j]|0;a[b+(((d[h]|0)<<2|3)+(((d[i]|0)<<2)+k<<5))|0]=a[j]|0;k=k+1|0;}while((k|0)<4);g=g+1|0;}while((g|0)<64);return}else if((e|0)==1){g=Cj(3,0)|0;f=0;do{a[b+(((d[g+(f<<1)+1|0]|0)<<3)+(d[g+(f<<1)|0]|0))|0]=a[c+f|0]|0;f=f+1|0;}while((f|0)<64);return}else if((e|0)==0){f=Cj(2,0)|0;g=0;do{a[b+(((d[f+(g<<1)+1|0]|0)<<2)+(d[f+(g<<1)|0]|0))|0]=a[c+g|0]|0;g=g+1|0;}while((g|0)<16);return}else if((e|0)==2){e=Cj(3,0)|0;g=0;do{f=e+(g<<1)|0;k=e+(g<<1)+1|0;j=c+g|0;a[b+(((d[f]|0)<<1)+((d[k]|0)<<5))|0]=a[j]|0;a[b+(((d[f]|0)<<1|1)+((d[k]|0)<<5))|0]=a[j]|0;a[b+(((d[f]|0)<<1)+((d[k]|0)<<5|16))|0]=a[j]|0;a[b+(((d[f]|0)<<1|1)+((d[k]|0)<<5|16))|0]=a[j]|0;g=g+1|0;}while((g|0)<64);return}else{ec(3136,14480,810,18840)}}function sk(a,b){a=a|0;b=b|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;d=a+8|0;e=a+4|0;f=c[e>>2]|0;g=c[d>>2]|0;h=f;if(!(((g-h|0)/100|0)>>>0<b>>>0)){i=b;j=f;do{if((j|0)==0){k=0}else{dv(j|0,0,100)|0;k=c[e>>2]|0}j=k+100|0;c[e>>2]=j;i=i-1|0;}while((i|0)!=0);return}i=a|0;a=c[i>>2]|0;j=(h-a|0)/100|0;h=j+b|0;if(h>>>0>42949672>>>0){Nr(0)}k=(g-a|0)/100|0;if(k>>>0<21474836>>>0){a=k<<1;k=a>>>0<h>>>0?h:a;if((k|0)==0){l=0;m=0}else{n=k;o=9}}else{n=42949672;o=9}if((o|0)==9){l=Nu(n*100|0)|0;m=n}n=b;b=l+(j*100|0)|0;do{if((b|0)==0){p=0}else{dv(b|0,0,100)|0;p=b}b=p+100|0;n=n-1|0;}while((n|0)!=0);n=c[i>>2]|0;p=(c[e>>2]|0)-n|0;o=l+((((p|0)/-100|0)+j|0)*100|0)|0;j=n;cv(o|0,j|0,p)|0;c[i>>2]=o;c[e>>2]=b;c[d>>2]=l+(m*100|0);if((n|0)==0){return}Pu(j);return}function tk(a){a=a|0;var b=0;b;return}function uk(a){a=a|0;var b=0;b;return}function vk(a){a=a|0;var b=0;b;return}function wk(a){a=a|0;var b=0;b;return}function xk(a){a=a|0;var b=0;b;return}function yk(a){a=a|0;var b=0;b;return}function zk(a,b){a=a|0;b=b|0;Ob(a|0)|0;return}function Ak(a,b){a=a|0;b=b|0;Za(a|0,b|0)|0;return}function Bk(a){a=a|0;var b=0,d=0;c[a>>2]=0;b;d;return}function Ck(a){a=a|0;var b=0,c=0;b;c;return}function Dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a|0;if((c[d>>2]|0)>=(b|0)){return}e=a+4|0;f;if((c[d>>2]|0)<(b|0)){f=a+28|0;do{Za(f|0,e|0)|0;}while((c[d>>2]|0)<(b|0))}g;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0;d;d=a|0;if((c[d>>2]|0)>=(b|0)){e;return}c[d>>2]=b;Ob(a+28|0)|0;e;return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0;d;d=a|0;c[d>>2]=(c[d>>2]|0)+b;Ob(a+28|0)|0;e;return}function Gk(a){a=a|0;return c[a>>2]|0}function Hk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d|0)>32;f=e?32:d;d=e?1022:0;e=b+156|0;c[e>>2]=0;g;h;i;c[b+160>>2]=0;i=b|0;a[i]=0;j;if((f|0)>0){k=0}else{l=d;return l|0}while(1){if((zc(b+28+(k<<2)|0,0,106,i|0)|0)!=0){l=10;m=4;break}c[e>>2]=(c[e>>2]|0)+1;j=k+1|0;if((j|0)<(f|0)){k=j}else{l=d;m=4;break}}if((m|0)==4){return l|0}return 0}function Ik(b){b=b|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;d=b+420|0;e;if((a[b]|0)!=0){f;return 0}e=b+24|0;g=b+444|0;h=b+8|0;i=b+20|0;j=b+160|0;do{k=c[e>>2]|0;if((k|0)==0){Za(g|0,d|0)|0}else{l=c[h>>2]|0;m=c[i>>2]|0;n=c[(c[l+(m>>>10<<2)>>2]|0)+((m&1023)<<2)>>2]|0;c[e>>2]=k-1;k=m+1|0;c[i>>2]=k;if(k>>>0>2047>>>0){Pu(c[l>>2]|0);c[h>>2]=(c[h>>2]|0)+4;c[i>>2]=(c[i>>2]|0)-1024}c[j>>2]=(c[j>>2]|0)+1;o;Dc[c[(c[n>>2]|0)+8>>2]&511](n);p;c[j>>2]=(c[j>>2]|0)-1}}while((a[b]|0)==0);f;return 0}function Jk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d;a[b|0]=1;e;Ob(b+444|0)|0;e=b+156|0;if((c[e>>2]|0)>0){f=0}else{g;h;return}do{vc(c[b+28+(f<<2)>>2]|0,0)|0;f=f+1|0;}while((f|0)<(c[e>>2]|0));g;h;return}function Kk(b,d){b=b|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,p=0,q=0,r=0;e;if((a[b|0]|0)!=0){f;return}e=b+12|0;g=c[e>>2]|0;h=b+8|0;i=c[h>>2]|0;if((g|0)==(i|0)){j=0}else{j=(g-i<<8)-1|0}k=b+20|0;l=c[k>>2]|0;m=b+24|0;n=c[m>>2]|0;if((j-l|0)==(n|0)){Lk(b+4|0);o=c[m>>2]|0;p=c[k>>2]|0;q=c[h>>2]|0;r=c[e>>2]|0}else{o=n;p=l;q=i;r=g}g=o+p|0;do{if((r|0)!=(q|0)){p=(c[q+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((p|0)==0){break}c[p>>2]=d}}while(0);c[m>>2]=o+1;gb(b+444|0)|0;f;return}function Lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;i=i+48|0;d=b|0;e=b+8|0;f=b+16|0;g=b+40|0;h=a+16|0;j=c[h>>2]|0;if(j>>>0>1023>>>0){c[h>>2]=j-1024;j=a+4|0;h=c[j>>2]|0;k=c[h>>2]|0;l=h+4|0;c[j>>2]=l;m=a+8|0;n=c[m>>2]|0;o=a+12|0;do{if((n|0)==(c[o>>2]|0)){p=a|0;q=c[p>>2]|0;if(l>>>0>q>>>0){r=l;s=((r-q>>2)+1|0)/-2|0;t=n-r|0;fv(h+(s+1<<2)|0,l|0,t|0)|0;r=h+((t>>2)+1+s<<2)|0;c[m>>2]=r;c[j>>2]=(c[j>>2]|0)+(s<<2);u=r;v=13;break}r=n-q>>1;s=(r|0)==0?1:r;r=Nu(s<<2)|0;t=r+(s>>>2<<2)|0;w=r+(s<<2)|0;if((l|0)==(n|0)){x=t;y=q}else{q=l;s=t;do{if((s|0)==0){z=0}else{c[s>>2]=c[q>>2];z=s}s=z+4|0;q=q+4|0;}while((q|0)!=(n|0));x=s;y=c[p>>2]|0}c[p>>2]=r;c[j>>2]=t;c[m>>2]=x;c[o>>2]=w;if((y|0)==0){A=x;v=12;break}Pu(y);A=c[m>>2]|0;v=12}else{A=n;v=12}}while(0);if((v|0)==12){if((A|0)==0){B=0}else{u=A;v=13}}if((v|0)==13){c[u>>2]=k;B=c[m>>2]|0}c[m>>2]=B+4;i=b;return}B=a|0;m=a+8|0;k=c[m>>2]|0;u=a+4|0;A=k-(c[u>>2]|0)>>2;n=a+12|0;y=c[n>>2]|0;x=a|0;o=y-(c[x>>2]|0)|0;if(!(A>>>0<o>>2>>>0)){j=o>>1;o=(j|0)==0?1:j;j=f+12|0;c[f+16>>2]=a+12;a=Nu(o<<2)|0;z=f|0;c[z>>2]=a;l=a+(A<<2)|0;A=f+8|0;c[A>>2]=l;h=f+4|0;c[h>>2]=l;c[j>>2]=a+(o<<2);o=Nu(4096)|0;c[g>>2]=o;Ok(f,g);g=c[m>>2]|0;while(1){if((g|0)==(c[u>>2]|0)){break}o=g-4|0;Pk(f,o);g=o}f=c[x>>2]|0;c[x>>2]=c[z>>2];c[z>>2]=f;c[u>>2]=c[h>>2];c[h>>2]=g;h=c[m>>2]|0;c[m>>2]=c[A>>2];c[A>>2]=h;z=c[n>>2]|0;c[n>>2]=c[j>>2];c[j>>2]=z;if((h|0)!=(g|0)){c[A>>2]=h+(~((h-4+(-g|0)|0)>>>2)<<2)}if((f|0)==0){i=b;return}Pu(f);i=b;return}f=Nu(4096)|0;if((y|0)!=(k|0)){c[d>>2]=f;Mk(B,d);i=b;return}c[e>>2]=f;Nk(B,e);e=c[u>>2]|0;B=c[e>>2]|0;f=e+4|0;c[u>>2]=f;d=c[m>>2]|0;do{if((d|0)==(c[n>>2]|0)){k=c[x>>2]|0;if(f>>>0>k>>>0){y=f;g=((y-k>>2)+1|0)/-2|0;h=d-y|0;fv(e+(g+1<<2)|0,f|0,h|0)|0;y=e+((h>>2)+1+g<<2)|0;c[m>>2]=y;c[u>>2]=(c[u>>2]|0)+(g<<2);C=y;v=29;break}y=d-k>>1;g=(y|0)==0?1:y;y=Nu(g<<2)|0;h=y+(g>>>2<<2)|0;A=y+(g<<2)|0;if((f|0)==(d|0)){D=h;E=k}else{k=f;g=h;do{if((g|0)==0){F=0}else{c[g>>2]=c[k>>2];F=g}g=F+4|0;k=k+4|0;}while((k|0)!=(d|0));D=g;E=c[x>>2]|0}c[x>>2]=y;c[u>>2]=h;c[m>>2]=D;c[n>>2]=A;if((E|0)==0){G=D;v=28;break}Pu(E);G=c[m>>2]|0;v=28}else{G=d;v=28}}while(0);if((v|0)==28){if((G|0)==0){H=0}else{C=G;v=29}}if((v|0)==29){c[C>>2]=B;H=c[m>>2]|0}c[m>>2]=H+4;i=b;return}function Mk(a,b){a=a|0;b=b|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,r=0,s=0,t=0;d=a+8|0;e=c[d>>2]|0;f=a+12|0;do{if((e|0)==(c[f>>2]|0)){g=a+4|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;if(h>>>0>j>>>0){k=h;l=((k-j>>2)+1|0)/-2|0;m=e-k|0;fv(h+(l<<2)|0,h|0,m|0)|0;k=h+(l+(m>>2)<<2)|0;c[d>>2]=k;c[g>>2]=(c[g>>2]|0)+(l<<2);n=k;break}k=e-j>>1;l=(k|0)==0?1:k;k=Nu(l<<2)|0;m=k+(l>>>2<<2)|0;o=k+(l<<2)|0;if((h|0)==(e|0)){p=m;q=j}else{j=h;h=m;do{if((h|0)==0){r=0}else{c[h>>2]=c[j>>2];r=h}h=r+4|0;j=j+4|0;}while((j|0)!=(e|0));p=h;q=c[i>>2]|0}c[i>>2]=k;c[g>>2]=m;c[d>>2]=p;c[f>>2]=o;if((q|0)==0){n=p;break}Pu(q);n=c[d>>2]|0}else{n=e}}while(0);if((n|0)==0){s=0;t=s+4|0;c[d>>2]=t;return}c[n>>2]=c[b>>2];s=c[d>>2]|0;t=s+4|0;c[d>>2]=t;return}function Nk(a,b){a=a|0;b=b|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,r=0;d=a+4|0;e=c[d>>2]|0;f=a|0;do{if((e|0)==(c[f>>2]|0)){g=a+8|0;h=c[g>>2]|0;i=a+12|0;j=c[i>>2]|0;k=j;if(h>>>0<j>>>0){j=h;l=((k-j>>2)+1|0)/2|0;m=j-e|0;j=h+(l-(m>>2)<<2)|0;fv(j|0,e|0,m|0)|0;c[d>>2]=j;c[g>>2]=(c[g>>2]|0)+(l<<2);n=j;break}j=k-e>>1;k=(j|0)==0?1:j;j=Nu(k<<2)|0;l=j+((k+3|0)>>>2<<2)|0;m=j+(k<<2)|0;if((e|0)==(h|0)){o=l;p=e}else{k=e;q=l;do{if((q|0)==0){r=0}else{c[q>>2]=c[k>>2];r=q}q=r+4|0;k=k+4|0;}while((k|0)!=(h|0));o=q;p=c[f>>2]|0}c[f>>2]=j;c[d>>2]=l;c[g>>2]=o;c[i>>2]=m;if((p|0)==0){n=l;break}Pu(p);n=c[d>>2]|0}else{n=e}}while(0);c[n-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Ok(a,b){a=a|0;b=b|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,r=0,s=0,t=0;d=a+8|0;e=c[d>>2]|0;f=a+12|0;do{if((e|0)==(c[f>>2]|0)){g=a+4|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;if(h>>>0>j>>>0){k=h;l=((k-j>>2)+1|0)/-2|0;m=e-k|0;fv(h+(l<<2)|0,h|0,m|0)|0;k=h+(l+(m>>2)<<2)|0;c[d>>2]=k;c[g>>2]=(c[g>>2]|0)+(l<<2);n=k;break}k=e-j>>1;l=(k|0)==0?1:k;k=Nu(l<<2)|0;m=k+(l>>>2<<2)|0;o=k+(l<<2)|0;if((h|0)==(e|0)){p=m;q=j}else{j=h;h=m;do{if((h|0)==0){r=0}else{c[h>>2]=c[j>>2];r=h}h=r+4|0;j=j+4|0;}while((j|0)!=(e|0));p=h;q=c[i>>2]|0}c[i>>2]=k;c[g>>2]=m;c[d>>2]=p;c[f>>2]=o;if((q|0)==0){n=p;break}Pu(q);n=c[d>>2]|0}else{n=e}}while(0);if((n|0)==0){s=0;t=s+4|0;c[d>>2]=t;return}c[n>>2]=c[b>>2];s=c[d>>2]|0;t=s+4|0;c[d>>2]=t;return}function Pk(a,b){a=a|0;b=b|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,r=0;d=a+4|0;e=c[d>>2]|0;f=a|0;do{if((e|0)==(c[f>>2]|0)){g=a+8|0;h=c[g>>2]|0;i=a+12|0;j=c[i>>2]|0;k=j;if(h>>>0<j>>>0){j=h;l=((k-j>>2)+1|0)/2|0;m=j-e|0;j=h+(l-(m>>2)<<2)|0;fv(j|0,e|0,m|0)|0;c[d>>2]=j;c[g>>2]=(c[g>>2]|0)+(l<<2);n=j;break}j=k-e>>1;k=(j|0)==0?1:j;j=Nu(k<<2)|0;l=j+((k+3|0)>>>2<<2)|0;m=j+(k<<2)|0;if((e|0)==(h|0)){o=l;p=e}else{k=e;q=l;do{if((q|0)==0){r=0}else{c[q>>2]=c[k>>2];r=q}q=r+4|0;k=k+4|0;}while((k|0)!=(h|0));o=q;p=c[f>>2]|0}c[f>>2]=j;c[d>>2]=l;c[g>>2]=o;c[i>>2]=m;if((p|0)==0){n=l;break}Pu(p);n=c[d>>2]|0}else{n=e}}while(0);c[n-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Qk(b,e,f,g,h){b=b|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,p=0,q=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;f=b+18596|0;e=c[f>>2]|0;i=e+5932|0;j=b+18600|0;k=c[j>>2]|0;l=-1<<c[e+10092>>2];m=l&g;n=l&h;l=b+18532|0;o=b+18536|0;if((m|0)==(c[l>>2]|0)){if((n|0)!=(c[o>>2]|0)){p=3}}else{p=3}if((p|0)==3){c[b+18540>>2]=c[b+18528>>2];c[l>>2]=m;c[o>>2]=n}o=e+5804|0;if((m|0)==0){q=((1<<c[o>>2])-1&n|0)==0}else{q=0}l=c[k+800>>2]|0;r=c[e+5820>>2]|0;s=c[e+5812>>2]|0;if((ga(s,(l|0)%(r|0)|0)|0)==(m|0)){t=(ga((l|0)/(r|0)|0,s)|0)==(n|0)}else{t=0}do{if((a[e+5966|0]|0)==0){u=0}else{s=c[o>>2]|0;r=(1<<s)-1|0;if((r&m|0)!=0){u=0;break}if((r&n|0)!=0){u=0;break}u=pj(i,m>>s,n>>s)|0}}while(0);do{if(t|u){p=15}else{if(q){if((a[e+5965|0]|0)!=0){p=15;break}}v=b+18540|0}}while(0);if((p|0)==15){v=(c[j>>2]|0)+792|0}j=c[v>>2]|0;v=m-1|0;do{if(bi(c[f>>2]|0,m,n,v,n)|0){p=c[e+5864>>2]|0;q=(ga(n>>p,c[e+5852>>2]|0)|0)+(v>>p)|0;if((c[(c[e+10320>>2]|0)+(q<<2)>>2]>>((c[o>>2]|0)-p<<1)|0)!=(c[b+4>>2]|0)){w=j;break}p=c[f>>2]|0;q=c[p+10368>>2]|0;u=v>>q;t=n>>q;if(!((u|0)>-1)){ec(6096,4288,118,17312)}q=c[p+10372>>2]|0;if((u|0)>=(q|0)){ec(6096,4288,118,17312)}if(!((t|0)>-1)){ec(3e3,4288,119,17312)}if((t|0)<(c[p+10376>>2]|0)){i=(ga(q,t)|0)+u|0;w=a[(c[p+10360>>2]|0)+(i*3|0)+2|0]|0;break}else{ec(3e3,4288,119,17312)}}else{w=j}}while(0);v=n-1|0;do{if(bi(c[f>>2]|0,m,n,m,v)|0){i=c[e+5864>>2]|0;p=(ga(v>>i,c[e+5852>>2]|0)|0)+(m>>i)|0;if((c[(c[e+10320>>2]|0)+(p<<2)>>2]>>((c[o>>2]|0)-i<<1)|0)!=(c[b+4>>2]|0)){x=j;break}i=c[f>>2]|0;p=c[i+10368>>2]|0;u=m>>p;t=v>>p;if(!((u|0)>-1)){ec(6096,4288,118,17312)}p=c[i+10372>>2]|0;if((u|0)>=(p|0)){ec(6096,4288,118,17312)}if(!((t|0)>-1)){ec(3e3,4288,119,17312)}if((t|0)<(c[i+10376>>2]|0)){q=(ga(p,t)|0)+u|0;x=a[(c[i+10360>>2]|0)+(q*3|0)+2|0]|0;break}else{ec(3e3,4288,119,17312)}}else{x=j}}while(0);j=c[e+5764>>2]|0;v=((c[b+18512>>2]|0)+52+(w+1+x>>1)+(j<<1)|0)%(j+52|0)|0;x=v-j|0;c[b+18544>>2]=v;v=x+(c[e+5952>>2]|0)+(c[k+744>>2]|0)+(c[b+18520>>2]|0)|0;j=e+5772|0;w=c[j>>2]|0;m=-w|0;if((v|0)<(m|0)){y=m}else{y=(v|0)>57?57:v}v=(c[e+5956>>2]|0)+x+(c[k+748>>2]|0)+(c[b+18524>>2]|0)|0;if((v|0)<(m|0)){z=m}else{z=(v|0)>57?57:v}do{if((c[e+5776>>2]|0)==1){do{if((y|0)<30){A=y}else{if((y|0)>42){A=y-6|0;break}else{A=c[8+(y-30<<2)>>2]|0;break}}}while(0);if((z|0)<30){B=z;C=A;break}if((z|0)>42){B=z-6|0;C=A;break}else{B=c[8+(z-30<<2)>>2]|0;C=A;break}}else{B=z;C=y}}while(0);c[b+18548>>2]=w+C;c[b+18552>>2]=(c[j>>2]|0)+B;B=c[f>>2]|0;f=c[B+10368>>2]|0;j=g>>f;g=h>>f;if(!((j|0)>-1)){ec(6096,4288,118,17312)}h=B+10372|0;C=c[h>>2]|0;if((j|0)>=(C|0)){ec(6096,4288,118,17312)}if(!((g|0)>-1)){ec(3e3,4288,119,17312)}if((g|0)>=(c[B+10376>>2]|0)){ec(3e3,4288,119,17312)}w=(ga(C,g)|0)+j|0;C=B+10360|0;B=(c[C>>2]|0)+(w*3|0)|0;w=(d[B]|d[B+1|0]<<8)<<16>>16&255&7;B=1<<(w>>>0<3>>>0?3:w)-f;f=B+g|0;if((B|0)<=0){D=b+18528|0;c[D>>2]=x;return}w=B+j|0;B=x&255;y=g;do{g=j;do{z=(ga(c[h>>2]|0,y)|0)+g|0;a[(c[C>>2]|0)+(z*3|0)+2|0]=B;g=g+1|0;}while((g|0)<(w|0));y=y+1|0;}while((y|0)<(f|0));D=b+18528|0;c[D>>2]=x;return}function Rk(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|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;f=c[a+18596>>2]|0;if((c[((h|0)==0?f+5760|0:f+5768|0)>>2]|0)>8){Sk(a,b,d,0,0,g,h,i,j,k);return}else{Tk(a,b,d,0,0,g,h,i,j,k);return}}function Sk(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=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,E=0,F=0,G=0,H=0,I=0,J=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;j=i;i=i+8192|0;h=j|0;p=j+4096|0;q=e+18596|0;r=c[q>>2]|0;if((l|0)==2){s=e+18552|0}else if((l|0)==0){s=e+18544|0}else if((l|0)==1){s=e+18548|0}else{ec(11600,14216,367,18584)}t=c[s>>2]|0;s=e+2112|0;u=c[s>>2]|0;v=(l|0)==0;w=c[(v?r+40|0:r+44|0)>>2]|0;x=(c[r+4+(l<<2)>>2]|0)+((ga(w,g)|0)+f<<1)|0;y=c[(v?r+5760|0:r+5768|0)>>2]|0;z=c[r+10368>>2]|0;A=f>>z;f=g>>z;if(!((A|0)>-1)){ec(6096,4288,118,17312)}z=c[r+10372>>2]|0;if((A|0)>=(z|0)){ec(6096,4288,118,17312)}if(!((f|0)>-1)){ec(3e3,4288,119,17312)}if((f|0)>=(c[r+10376>>2]|0)){ec(3e3,4288,119,17312)}g=(ga(z,f)|0)+A|0;A=(c[r+10360>>2]|0)+(g*3|0)|0;g=((d[A]|d[A+1|0]<<8)<<16>>16&768)==0;A=(k|0)==4;f=(a[r+5748|0]|0)!=0&A&g;do{if((a[e+32|0]|0)==0){z=(k|0)>1;if(z){B=k;C=0;while(1){D=C+1|0;E=B>>1;if((E|0)>1){B=E;C=D}else{F=D;break}}}else{F=0}C=F+y|0;B=C-5|0;do{if((a[r+1400|0]|0)==0){D=C-9|0;E=1<<C-10;G=c[31e3+(((t|0)%6|0)<<2)>>2]<<((t|0)/6|0);H=e+14404+(l<<1)|0;if((b[H>>1]|0)>0){I=0}else{break}do{J=(ga(b[e+2116+(l<<11)+(I<<1)>>1]|0,G)|0)+E>>D;if((J|0)<-32768){L=-32768}else{L=(J|0)>32767?32767:J&65535}b[u+(b[e+8260+(l<<11)+(I<<1)>>1]<<1)>>1]=L;I=I+1|0;}while((I|0)<(b[H>>1]|0))}else{H=1<<C-6;do{if(n){M=l}else{if((k|0)<32){M=l+3|0;break}else{M=l+1|0;break}}}while(0);if((k|0)==16){N=r+6473+(M<<8)|0}else if((k|0)==8){N=r+6089+(M<<6)|0}else if((k|0)==4){N=r+5993+(M<<4)|0}else if((k|0)==32){N=r+8009+(M<<10)|0}else{ec(11600,14216,492,18584)}D=e+14404+(l<<1)|0;if((b[D>>1]|0)<=0){break}E=c[31e3+(((t|0)%6|0)<<2)>>2]|0;G=(t|0)/6|0;J=H;O=(H|0)<0|0?-1:0;P=B;Q=0;do{R=b[e+8260+(l<<11)+(Q<<1)>>1]|0;S=(ga(E,d[N+R|0]|0)|0)<<G;T=b[e+2116+(l<<11)+(Q<<1)>>1]|0;U=rv(T<<16>>16,T<<16>>16<0|0?-1:0,S,(S|0)<0|0?-1:0)|0;S=hv(U,K,J,O)|0;U=lv(S|0,K|0,P|0)|0;S=K;T=-1;if((S|0)<(T|0)|(S|0)==(T|0)&U>>>0<-32768>>>0){V=-32768}else{T=0;V=(S|0)>(T|0)|(S|0)==(T|0)&U>>>0>32767>>>0?32767:U&65535}b[u+(R<<1)>>1]=V;Q=Q+1|0;}while((Q|0)<(b[D>>1]|0))}}while(0);B=(k|0)>0;if(!m){C=A&v&g;if((o|0)!=0){ec(8472,14216,591,18584)}if((a[r+10071|0]|0)!=0){Vk(e,u,0,k,C&1,x,w,y,l);break}D=c[e+18592>>2]|0;if(C){Wc[c[D+412>>2]&63](x,u,w,y);break}if((k|0)==8){Wc[c[D+420>>2]&63](x,u,w,y);break}else if((k|0)==4){Wc[c[D+416>>2]&63](x,u,w,y);break}else if((k|0)==16){Wc[c[D+424>>2]&63](x,u,w,y);break}else{Wc[c[D+428>>2]&63](x,u,w,y);break}}if(z){D=k;C=0;while(1){Q=D>>1;if((Q|0)>1){D=Q;C=C+1|0}else{break}}W=C+6|0}else{W=5}D=20-y|0;z=(D|0)>0?D:0;if(f){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](u,4)}D=v?e+14412|0:p|0;do{if((o|0)==0){Cc[c[(c[e+18592>>2]|0)+472>>2]&31](D,u,k,W,z)}else{Q=c[e+18592>>2]|0;if((o|0)==2){Cc[c[Q+464>>2]&31](D,u,k,W,z);break}else{Cc[c[Q+468>>2]&31](D,u,k,W,z);break}}}while(0);do{if(!v){z=e+28|0;if((c[z>>2]|0)==0){break}C=c[q>>2]|0;Q=c[C+5768>>2]|0;P=c[C+5760>>2]|0;if(B){X=0}else{break}do{C=ga(X,k)|0;O=0;do{J=O+C|0;G=(ga(c[e+14412+(J<<2)>>2]<<Q>>P,c[z>>2]|0)|0)>>3;E=D+(J<<2)|0;c[E>>2]=G+(c[E>>2]|0);O=O+1|0;}while((O|0)<(k|0));X=X+1|0;}while((X|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+460>>2]&31](x,w,D,k,y);if(!f){break}dv(u|0,0,32)|0}else{B=v?e+14412|0:h|0;z=e+14404+(l<<1)|0;if((b[z>>1]|0)>0){P=0;do{b[u+(b[e+8260+(l<<11)+(P<<1)>>1]<<1)>>1]=b[e+2116+(l<<11)+(P<<1)>>1]|0;P=P+1|0;}while((P|0)<(b[z>>1]|0))}if(f){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](u,4)}do{if((o|0)==0){Tc[c[(c[e+18592>>2]|0)+364>>2]&63](B,u,k)}else{z=c[e+18592>>2]|0;if((o|0)==2){Tc[c[z+368>>2]&63](B,u,k);break}else{Tc[c[z+372>>2]&63](B,u,k);break}}}while(0);do{if(!v){z=e+28|0;if((c[z>>2]|0)==0){break}P=c[q>>2]|0;D=c[P+5768>>2]|0;Q=c[P+5760>>2]|0;if((k|0)>0){Y=0}else{break}do{P=ga(Y,k)|0;O=0;do{C=O+P|0;E=(ga(c[e+14412+(C<<2)>>2]<<D>>Q,c[z>>2]|0)|0)>>3;G=B+(C<<2)|0;c[G>>2]=E+(c[G>>2]|0);O=O+1|0;}while((O|0)<(k|0));Y=Y+1|0;}while((Y|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+460>>2]&31](x,w,B,k,y);if(!f){break}dv(u|0,0,32)|0}}while(0);u=e+14404+(l<<1)|0;if((b[u>>1]|0)<=0){i=j;return}f=c[s>>2]|0;s=0;do{b[f+(b[e+8260+(l<<11)+(s<<1)>>1]<<1)>>1]=0;s=s+1|0;}while((s|0)<(b[u>>1]|0));i=j;return}function Tk(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=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,E=0,F=0,G=0,H=0,I=0,J=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;j=i;i=i+8192|0;h=j|0;p=j+4096|0;q=e+18596|0;r=c[q>>2]|0;if((l|0)==1){s=e+18548|0}else if((l|0)==2){s=e+18552|0}else if((l|0)==0){s=e+18544|0}else{ec(11600,14216,367,18584)}t=c[s>>2]|0;s=e+2112|0;u=c[s>>2]|0;v=(l|0)==0;w=c[(v?r+40|0:r+44|0)>>2]|0;x=(c[r+4+(l<<2)>>2]|0)+((ga(w,g)|0)+f)|0;y=c[r+10368>>2]|0;z=f>>y;f=g>>y;if(!((z|0)>-1)){ec(6096,4288,118,17312)}y=c[r+10372>>2]|0;if((z|0)>=(y|0)){ec(6096,4288,118,17312)}if(!((f|0)>-1)){ec(3e3,4288,119,17312)}if((f|0)>=(c[r+10376>>2]|0)){ec(3e3,4288,119,17312)}g=(ga(y,f)|0)+z|0;z=(c[r+10360>>2]|0)+(g*3|0)|0;g=((d[z]|d[z+1|0]<<8)<<16>>16&768)==0;z=(k|0)==4;f=(a[r+5748|0]|0)!=0&z&g;do{if((a[e+32|0]|0)==0){y=c[(v?r+5760|0:r+5768|0)>>2]|0;A=(k|0)>1;if(A){B=k;C=0;while(1){D=C+1|0;E=B>>1;if((E|0)>1){B=E;C=D}else{F=D;break}}}else{F=0}C=F+y|0;B=C-5|0;do{if((a[r+1400|0]|0)==0){D=C-9|0;E=1<<C-10;G=c[31e3+(((t|0)%6|0)<<2)>>2]<<((t|0)/6|0);H=e+14404+(l<<1)|0;if((b[H>>1]|0)>0){I=0}else{break}do{J=(ga(b[e+2116+(l<<11)+(I<<1)>>1]|0,G)|0)+E>>D;if((J|0)<-32768){L=-32768}else{L=(J|0)>32767?32767:J&65535}b[u+(b[e+8260+(l<<11)+(I<<1)>>1]<<1)>>1]=L;I=I+1|0;}while((I|0)<(b[H>>1]|0))}else{H=1<<C-6;do{if(n){M=l}else{if((k|0)<32){M=l+3|0;break}else{M=l+1|0;break}}}while(0);if((k|0)==8){N=r+6089+(M<<6)|0}else if((k|0)==4){N=r+5993+(M<<4)|0}else if((k|0)==16){N=r+6473+(M<<8)|0}else if((k|0)==32){N=r+8009+(M<<10)|0}else{ec(11600,14216,492,18584)}D=e+14404+(l<<1)|0;if((b[D>>1]|0)<=0){break}E=c[31e3+(((t|0)%6|0)<<2)>>2]|0;G=(t|0)/6|0;J=H;O=(H|0)<0|0?-1:0;P=B;Q=0;do{R=b[e+8260+(l<<11)+(Q<<1)>>1]|0;S=(ga(E,d[N+R|0]|0)|0)<<G;T=b[e+2116+(l<<11)+(Q<<1)>>1]|0;U=rv(T<<16>>16,T<<16>>16<0|0?-1:0,S,(S|0)<0|0?-1:0)|0;S=hv(U,K,J,O)|0;U=lv(S|0,K|0,P|0)|0;S=K;T=-1;if((S|0)<(T|0)|(S|0)==(T|0)&U>>>0<-32768>>>0){V=-32768}else{T=0;V=(S|0)>(T|0)|(S|0)==(T|0)&U>>>0>32767>>>0?32767:U&65535}b[u+(R<<1)>>1]=V;Q=Q+1|0;}while((Q|0)<(b[D>>1]|0))}}while(0);B=(k|0)>0;if(!m){C=z&v&g;if((o|0)!=0){ec(8472,14216,591,18584)}if((a[r+10071|0]|0)!=0){Uk(e,u,0,k,C&1,x,w,8,l);break}y=c[e+18592>>2]|0;if(C){Tc[c[y+388>>2]&63](x,u,w);break}if((k|0)==4){Tc[c[y+392>>2]&63](x,u,w);break}else if((k|0)==8){Tc[c[y+396>>2]&63](x,u,w);break}else if((k|0)==16){Tc[c[y+400>>2]&63](x,u,w);break}else{Tc[c[y+404>>2]&63](x,u,w);break}}if(A){y=k;C=0;while(1){D=y>>1;if((D|0)>1){y=D;C=C+1|0}else{break}}W=C+6|0}else{W=5}if(f){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](u,4)}y=v?e+14412|0:p|0;do{if((o|0)==0){Cc[c[(c[e+18592>>2]|0)+472>>2]&31](y,u,k,W,12)}else{A=c[e+18592>>2]|0;if((o|0)==2){Cc[c[A+464>>2]&31](y,u,k,W,12);break}else{Cc[c[A+468>>2]&31](y,u,k,W,12);break}}}while(0);do{if(!v){C=e+28|0;if((c[C>>2]|0)==0){break}A=c[q>>2]|0;D=c[A+5768>>2]|0;Q=c[A+5760>>2]|0;if(B){X=0}else{break}do{A=ga(X,k)|0;P=0;do{O=P+A|0;J=(ga(c[e+14412+(O<<2)>>2]<<D>>Q,c[C>>2]|0)|0)>>3;G=y+(O<<2)|0;c[G>>2]=J+(c[G>>2]|0);P=P+1|0;}while((P|0)<(k|0));X=X+1|0;}while((X|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+456>>2]&31](x,w,y,k,8);if(!f){break}dv(u|0,0,32)|0}else{B=v?e+14412|0:h|0;C=e+14404+(l<<1)|0;if((b[C>>1]|0)>0){Q=0;do{b[u+(b[e+8260+(l<<11)+(Q<<1)>>1]<<1)>>1]=b[e+2116+(l<<11)+(Q<<1)>>1]|0;Q=Q+1|0;}while((Q|0)<(b[C>>1]|0))}if(f){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](u,4)}do{if((o|0)==0){Tc[c[(c[e+18592>>2]|0)+364>>2]&63](B,u,k)}else{C=c[e+18592>>2]|0;if((o|0)==2){Tc[c[C+368>>2]&63](B,u,k);break}else{Tc[c[C+372>>2]&63](B,u,k);break}}}while(0);do{if(!v){C=e+28|0;if((c[C>>2]|0)==0){break}Q=c[q>>2]|0;y=c[Q+5768>>2]|0;D=c[Q+5760>>2]|0;if((k|0)>0){Y=0}else{break}do{Q=ga(Y,k)|0;P=0;do{A=P+Q|0;G=(ga(c[e+14412+(A<<2)>>2]<<y>>D,c[C>>2]|0)|0)>>3;J=B+(A<<2)|0;c[J>>2]=G+(c[J>>2]|0);P=P+1|0;}while((P|0)<(k|0));Y=Y+1|0;}while((Y|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+456>>2]&31](x,w,B,k,8);if(!f){break}dv(u|0,0,32)|0}}while(0);u=e+14404+(l<<1)|0;if((b[u>>1]|0)<=0){i=j;return}f=c[s>>2]|0;s=0;do{b[f+(b[e+8260+(l<<11)+(s<<1)>>1]<<1)>>1]=0;s=s+1|0;}while((s|0)<(b[u>>1]|0));i=j;return}function Uk(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+4096|0;l=c[a+18592>>2]|0;m=(k|0)==0;k=m?a+14412|0:d|0;n=20-j|0;do{if((f|0)==1){Wc[c[l+436>>2]&63](k,b,n,15)}else{if((e|0)==16){Wc[c[l+448>>2]&63](k,b,n,15);break}else if((e|0)==4){Wc[c[l+440>>2]&63](k,b,n,15);break}else if((e|0)==8){Wc[c[l+444>>2]&63](k,b,n,15);break}else{Wc[c[l+452>>2]&63](k,b,n,15);break}}}while(0);do{if(!m){n=a+28|0;if((c[n>>2]|0)==0){break}b=c[a+18596>>2]|0;f=c[b+5768>>2]|0;o=c[b+5760>>2]|0;if((e|0)>0){p=0}else{break}do{b=ga(p,e)|0;q=0;do{r=q+b|0;s=(ga(c[a+14412+(r<<2)>>2]<<f>>o,c[n>>2]|0)|0)>>3;t=k+(r<<2)|0;c[t>>2]=s+(c[t>>2]|0);q=q+1|0;}while((q|0)<(e|0));p=p+1|0;}while((p|0)<(e|0))}}while(0);Cc[c[l+456>>2]&31](g,h,k,e,j);i=d;return}function Vk(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+4096|0;l=c[a+18592>>2]|0;m=(k|0)==0;k=m?a+14412|0:d|0;n=20-j|0;do{if((f|0)==1){Wc[c[l+436>>2]&63](k,b,n,15)}else{if((e|0)==8){Wc[c[l+444>>2]&63](k,b,n,15);break}else if((e|0)==16){Wc[c[l+448>>2]&63](k,b,n,15);break}else if((e|0)==4){Wc[c[l+440>>2]&63](k,b,n,15);break}else{Wc[c[l+452>>2]&63](k,b,n,15);break}}}while(0);do{if(!m){n=a+28|0;if((c[n>>2]|0)==0){break}b=c[a+18596>>2]|0;f=c[b+5768>>2]|0;o=c[b+5760>>2]|0;if((e|0)>0){p=0}else{break}do{b=ga(p,e)|0;q=0;do{r=q+b|0;s=(ga(c[a+14412+(r<<2)>>2]<<f>>o,c[n>>2]|0)|0)>>3;t=k+(r<<2)|0;c[t>>2]=s+(c[t>>2]|0);q=q+1|0;}while((q|0)<(e|0));p=p+1|0;}while((p|0)<(e|0))}}while(0);Cc[c[l+460>>2]&31](g,h,k,e,j);i=d;return}function Wk(a){a=a|0;c[12934]=a;return}function Xk(a){a=a|0;return}function Yk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f|0;if((c[12934]|0)<-9999){i=f;return}if((a[51720+b|0]|0)!=0){i=f;return}b=(a[d]|0)==42;h=c[t>>2]|0;if(!b){Oa(1200,5,1,h|0)|0}j=g;c[j>>2]=e;c[j+4>>2]=0;Qb(h|0,d+(b&1)|0,g|0)|0;Ma(h|0)|0;i=f;return}function Zk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f|0;h=(a[d]|0)==42;j=c[t>>2]|0;if(!h){Oa(14208,6,1,j|0)|0}k=g;c[k>>2]=e;c[k+4>>2]=0;Qb(b|0,d+(h&1)|0,g|0)|0;Ma(j|0)|0;i=f;return}function _k(d,e,f){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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=nd(f,4)|0;c[d>>2]=g;if((g|0)>15){h=8;return h|0}od(f,2);g=nd(f,6)|0;c[d+4>>2]=g+1;if((g|0)>62){h=8;return h|0}g=nd(f,3)|0;i=d+8|0;c[i>>2]=g+1;if((g|0)>6){h=8;return h|0}g=nd(f,1)|0;c[d+12>>2]=g;od(f,16);$k(d+16|0,f,c[i>>2]|0);g=nd(f,1)|0;j=d+484|0;c[j>>2]=g;k=c[i>>2]|0;if((g|0)==0){l=k-1|0;m=7}else{if((k|0)>0){l=0;m=7}}do{if((m|0)==7){k=l;while(1){g=qd(f)|0;n=d+488+(k*12|0)|0;c[n>>2]=g;g=qd(f)|0;o=d+488+(k*12|0)+4|0;c[o>>2]=g;g=qd(f)|0;c[d+488+(k*12|0)+8>>2]=g;if((c[n>>2]|0)==-99999){h=8;m=52;break}n=k+1|0;if((c[o>>2]|0)==-99999|(g|0)==-99999){h=8;m=52;break}if((n|0)<(c[i>>2]|0)){k=n}else{m=11;break}}if((m|0)==11){if((c[j>>2]|0)!=0){break}if((l|0)>=8){ec(11472,14120,144,17416);return 0}if((l|0)<=0){break}k=d+488+(l*12|0)|0;n=d+488+(l*12|0)+4|0;g=d+488+(l*12|0)+8|0;o=0;do{c[d+488+(o*12|0)>>2]=c[k>>2];c[d+488+(o*12|0)+4>>2]=c[n>>2];c[d+488+(o*12|0)+8>>2]=c[g>>2];o=o+1|0;}while((o|0)<(l|0))}else if((m|0)==52){return h|0}}}while(0);m=(nd(f,6)|0)&255;l=d+584|0;a[l]=m;m=qd(f)|0;j=d+588|0;c[j>>2]=m;i=m+1|0;if((i|0)<0|(m|0)>1022|(m|0)==-99999){Ue(e,8,0);h=8;return h|0}c[j>>2]=i;e=d+592|0;m=d+596|0;o=c[m>>2]|0;g=e|0;n=c[g>>2]|0;k=(o-n|0)/12|0;do{if(k>>>0<i>>>0){jl(e,i-k|0)}else{if(!(k>>>0>i>>>0)){break}p=n+(i*12|0)|0;if((o|0)==(p|0)){break}else{q=o}while(1){r=q-12|0;c[m>>2]=r;s=c[r>>2]|0;if((s|0)==0){t=r}else{Pu(s);t=c[m>>2]|0}if((t|0)==(p|0)){break}else{q=t}}}}while(0);a:do{if((c[j>>2]|0)>=2){t=1;q=a[l]|0;while(1){al((c[g>>2]|0)+(t*12|0)|0,(q&255)+1|0,0);m=0;while(1){o=(c[(c[g>>2]|0)+(t*12|0)>>2]|0)+(m>>>5<<2)|0;i=1<<(m&31);if((nd(f,1)|0)==0){u=c[o>>2]&~i}else{u=c[o>>2]|i}c[o>>2]=u;v=a[l]|0;if((m|0)<(v&255|0)){m=m+1|0}else{break}}if((t|0)>=((c[j>>2]|0)-1|0)){break a}t=t+1|0;q=v}}}while(0);v=(nd(f,1)|0)&255;a[d+604|0]=v;do{if(!(v<<24>>24==0)){j=nd(f,32)|0;c[d+608>>2]=j;j=nd(f,32)|0;c[d+612>>2]=j;j=(nd(f,1)|0)&255;a[d+616|0]=j;if(j<<24>>24==0){break}j=(qd(f)|0)+1|0;c[d+620>>2]=j;j=qd(f)|0;l=d+624|0;c[l>>2]=j;if((j|0)>1023){ec(8432,14120,189,17416);return 0}u=d+628|0;g=d+632|0;q=c[g>>2]|0;t=u|0;m=c[t>>2]|0;o=q-m>>1;do{if(o>>>0<j>>>0){gl(u,j-o|0);w=c[l>>2]|0}else{if(!(o>>>0>j>>>0)){w=j;break}i=m+(j<<1)|0;if((q|0)==(i|0)){w=j;break}c[g>>2]=q+(~((q-2+(-i|0)|0)>>>1)<<1);w=j}}while(0);j=d+640|0;q=d+644|0;g=c[q>>2]|0;m=c[j>>2]|0;o=g-m|0;do{if(o>>>0<w>>>0){fl(j,w-o|0);x=c[l>>2]|0}else{if(!(o>>>0>w>>>0)){x=w;break}u=m+w|0;if((g|0)==(u|0)){x=w;break}c[q>>2]=u;x=w}}while(0);if((x|0)<=0){break}q=(qd(f)|0)&65535;b[c[t>>2]>>1]=q;h=0;return h|0}}while(0);x=(nd(f,1)|0)&255;a[d+652|0]=x;h=0;return h|0}function $k(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;a[b|0]=1;a[b+44|0]=1;bl(b|0,c);e=d-1|0;f=(e|0)>0;if(f){g=0;do{h=(nd(c,1)|0)&255;a[b+52+(g*52|0)|0]=h;h=(nd(c,1)|0)&255;a[b+52+(g*52|0)+44|0]=h;g=g+1|0;}while((g|0)<(e|0))}if((d-2|0)>>>0<7>>>0){d=e;do{od(c,2);d=d+1|0;}while((d|0)<8)}if(f){i=0}else{return}do{bl(b+52+(i*52|0)|0,c);i=i+1|0;}while((i|0)<(e|0));return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=i;i=i+24|0;f=e|0;g=e+16|0;h=g;j=a+4|0;k=c[j>>2]|0;if(!(k>>>0<b>>>0)){c[j>>2]=b;i=e;return}l=a+8|0;m=c[l>>2]|0;n=m<<5;o=b-k|0;do{if(o>>>0>n>>>0|k>>>0>(n-o|0)>>>0){p=f|0;c[p>>2]=0;q=f+4|0;c[q>>2]=0;r=f+8|0;c[r>>2]=0;if((b|0)<0){Nr(0)}if(n>>>0>1073741822>>>0){s=2147483647}else{t=m<<6;u=b+31&-32;s=t>>>0<u>>>0?u:t}hl(f,s);t=c[j>>2]|0;u=t+o|0;c[q>>2]=u;v=a|0;w=c[p>>2]|0;do{if((t|0)>0){x=c[v>>2]|0;y=t>>>5;fv(w|0,x|0,y<<2|0)|0;z=t-(y<<5)|0;A=w+(y<<2)|0;if((z|0)<=0){B=A;C=0;break}D=-1>>>((32-z|0)>>>0);c[A>>2]=c[A>>2]&~D|c[x+(y<<2)>>2]&D;B=A;C=z}else{B=w;C=0}}while(0);c[g>>2]=B;c[h+4>>2]=C;t=c[g>>2]|0;z=c[g+4>>2]|0;A=c[v>>2]|0;c[v>>2]=w;c[p>>2]=A;D=c[j>>2]|0;c[j>>2]=u;c[q>>2]=D;D=c[l>>2]|0;c[l>>2]=c[r>>2];c[r>>2]=D;if((A|0)==0){E=t;F=z;break}Pu(A);E=t;F=z}else{z=(c[a>>2]|0)+(k>>>5<<2)|0;c[j>>2]=b;E=z;F=k&31}}while(0);if((k|0)==(b|0)){i=e;return}b=(F|0)==0;if(d){if(b){G=o;H=E}else{d=32-F|0;k=d>>>0>o>>>0?o:d;c[E>>2]=c[E>>2]|-1>>>((d-k|0)>>>0)&-1<<F;G=o-k|0;H=E+4|0}k=G>>>5;dv(H|0,-1|0,k<<2|0)|0;d=k<<5;if((G|0)==(d|0)){i=e;return}j=H+(k<<2)|0;c[j>>2]=c[j>>2]|-1>>>((32-G+d|0)>>>0);i=e;return}else{if(b){I=o;J=E}else{b=32-F|0;d=b>>>0>o>>>0?o:b;c[E>>2]=c[E>>2]&~(-1>>>((b-d|0)>>>0)&-1<<F);I=o-d|0;J=E+4|0}E=I>>>5;dv(J|0,0,E<<2|0)|0;d=E<<5;if((I|0)==(d|0)){i=e;return}o=J+(E<<2)|0;c[o>>2]=c[o>>2]&~(-1>>>((32-I+d|0)>>>0));i=e;return}}function bl(b,d){b=b|0;d=d|0;var e=0,f=0;if((a[b|0]|0)!=0){e=(nd(d,2)|0)&255;a[b+1|0]=e;e=(nd(d,1)|0)&255;a[b+2|0]=e;e=nd(d,5)|0;c[b+4>>2]=e;e=0;f=(nd(d,1)|0)&255;do{a[b+8+e|0]=f;e=e+1|0;f=(nd(d,1)|0)&255}while((e|0)<32);a[b+40|0]=f;f=(nd(d,1)|0)&255;a[b+41|0]=f;f=(nd(d,1)|0)&255;a[b+42|0]=f;f=(nd(d,1)|0)&255;a[b+43|0]=f;od(d,44)}if((a[b+44|0]|0)==0){return}f=nd(d,8)|0;c[b+48>>2]=f;return}function cl(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0;g=i;i=i+8|0;h=g|0;if((f|0)==2){j=q}else if((f|0)==1){j=t}else{i=g;return}f=c[j>>2]|0;Zk(f,2952,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j;Zk(f,1624,(j=i,i=i+8|0,c[j>>2]=c[b>>2],j)|0);i=j;Zk(f,928,(j=i,i=i+8|0,c[j>>2]=c[b+4>>2],j)|0);i=j;k=b+8|0;Zk(f,296,(j=i,i=i+8|0,c[j>>2]=c[k>>2],j)|0);i=j;Zk(f,16768,(j=i,i=i+8|0,c[j>>2]=c[b+12>>2],j)|0);i=j;l=c[k>>2]|0;el(b+16|0,1,f);m=l-1|0;if((m|0)>0){l=0;do{Zk(f,6664,(j=i,i=i+8|0,c[j>>2]=l,j)|0);i=j;el(b+68+(l*52|0)|0,0,f);l=l+1|0;}while((l|0)<(m|0))}m=b+484|0;Zk(f,16272,(j=i,i=i+8|0,c[j>>2]=c[m>>2],j)|0);i=j;do{if((c[m>>2]|0)==0){Zk(f,14832,(j=i,i=i+8|0,c[j>>2]=c[b+488>>2],j)|0);i=j;Zk(f,14568,(j=i,i=i+8|0,c[j>>2]=c[b+492>>2],j)|0);i=j;Zk(f,14296,(j=i,i=i+8|0,c[j>>2]=c[b+496>>2],j)|0);i=j}else{if((c[k>>2]|0)>0){n=0}else{break}do{l=c[b+488+(n*12|0)>>2]|0;Zk(f,15912,(j=i,i=i+16|0,c[j>>2]=n,c[j+8>>2]=l,j)|0);i=j;Zk(f,15488,(j=i,i=i+8|0,c[j>>2]=c[b+488+(n*12|0)+4>>2],j)|0);i=j;Zk(f,15120,(j=i,i=i+8|0,c[j>>2]=c[b+488+(n*12|0)+8>>2],j)|0);i=j;n=n+1|0;}while((n|0)<(c[k>>2]|0))}}while(0);k=b+584|0;Zk(f,14056,(j=i,i=i+8|0,c[j>>2]=d[k]|0,j)|0);i=j;n=b+588|0;Zk(f,13768,(j=i,i=i+8|0,c[j>>2]=c[n>>2],j)|0);i=j;if((c[n>>2]|0)>=2){m=b+592|0;l=h|0;o=h+4|0;p=1;while(1){r=0;while(1){c[l>>2]=(c[(c[m>>2]|0)+(p*12|0)>>2]|0)+(r>>>5<<2);c[o>>2]=1<<(r&31);Zk(f,13560,(j=i,i=i+24|0,c[j>>2]=p,c[j+8>>2]=r,c[j+16>>2]=c[h>>2],c[j+20>>2]=c[h+4>>2],j)|0);i=j;if((r|0)<(d[k]|0)){r=r+1|0}else{break}}if((p|0)<((c[n>>2]|0)-1|0)){p=p+1|0}else{break}}}p=b+604|0;Zk(f,13368,(j=i,i=i+8|0,c[j>>2]=a[p]|0,j)|0);i=j;do{if((a[p]|0)!=0){Zk(f,13168,(j=i,i=i+8|0,c[j>>2]=c[b+608>>2],j)|0);i=j;Zk(f,12896,(j=i,i=i+8|0,c[j>>2]=c[b+612>>2],j)|0);i=j;n=b+616|0;Zk(f,12608,(j=i,i=i+8|0,c[j>>2]=a[n]|0,j)|0);i=j;if((a[n]|0)==0){break}Zk(f,12368,(j=i,i=i+8|0,c[j>>2]=c[b+620>>2],j)|0);i=j;n=b+624|0;Zk(f,12088,(j=i,i=i+8|0,c[j>>2]=c[n>>2],j)|0);i=j;if((c[n>>2]|0)<=0){break}n=e[c[b+628>>2]>>1]|0;Zk(f,11712,(j=i,i=i+16|0,c[j>>2]=0,c[j+8>>2]=n,j)|0);i=j;i=g;return}}while(0);Zk(f,11160,(j=i,i=i+8|0,c[j>>2]=a[b+652|0]|0,j)|0);i=j;i=g;return}function dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;el(a|0,1,d);f=b-1|0;if((f|0)>0){g=0}else{i=e;return}do{Zk(d,6664,(b=i,i=i+8|0,c[b>>2]=g,b)|0);i=b;el(a+52+(g*52|0)|0,0,d);g=g+1|0;}while((g|0)<(f|0));i=e;return}function el(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0;f=i;g=d?10928:10664;if((a[b|0]|0)!=0){d=a[b+1|0]|0;Zk(e,10376,(j=i,i=i+16|0,c[j>>2]=g,c[j+8>>2]=d,j)|0);i=j;d=a[b+2|0]|0;Zk(e,10032,(j=i,i=i+16|0,c[j>>2]=g,c[j+8>>2]=d,j)|0);i=j;d=c[b+4>>2]|0;if((d|0)==3){k=5976}else if((d|0)==4){k=5792}else if((d|0)==2){k=6208}else if((d|0)==1){k=6328}else{k=5624}Zk(e,9680,(j=i,i=i+16|0,c[j>>2]=g,c[j+8>>2]=k,j)|0);i=j;Zk(e,9288,(j=i,i=i+8|0,c[j>>2]=g,j)|0);i=j;k=0;do{if((k|0)!=0){Zk(e,9008,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j}Zk(e,8608,(j=i,i=i+8|0,c[j>>2]=a[b+8+k|0]|0,j)|0);i=j;k=k+1|0;}while((k|0)<32);Zk(e,8376,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j;k=a[b+40|0]|0;Zk(e,8112,(j=i,i=i+16|0,c[j>>2]=g,c[j+8>>2]=k,j)|0);i=j;k=a[b+41|0]|0;Zk(e,7872,(j=i,i=i+16|0,c[j>>2]=g,c[j+8>>2]=k,j)|0);i=j;k=a[b+42|0]|0;Zk(e,7600,(j=i,i=i+16|0,c[j>>2]=g,c[j+8>>2]=k,j)|0);i=j;k=a[b+43|0]|0;Zk(e,7296,(j=i,i=i+16|0,c[j>>2]=g,c[j+8>>2]=k,j)|0);i=j}if((a[b+44|0]|0)==0){i=f;return}k=c[b+48>>2]|0;Zk(e,6960,(j=i,i=i+24|0,c[j>>2]=g,c[j+8>>2]=k,h[j+16>>3]=+(k|0)/30.0,j)|0);i=j;i=f;return}function fl(b,d){b=b|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,p=0,q=0;e=b+8|0;f=b+4|0;g=c[f>>2]|0;h=c[e>>2]|0;i=g;if(!((h-i|0)>>>0<d>>>0)){j=d;k=g;do{if((k|0)==0){l=0}else{a[k]=0;l=c[f>>2]|0}k=l+1|0;c[f>>2]=k;j=j-1|0;}while((j|0)!=0);return}j=b|0;b=c[j>>2]|0;k=i-b|0;i=k+d|0;if((i|0)<0){Nr(0)}l=h-b|0;if(l>>>0<1073741823>>>0){b=l<<1;l=b>>>0<i>>>0?i:b;if((l|0)==0){m=0;n=0}else{o=l;p=9}}else{o=2147483647;p=9}if((p|0)==9){m=Nu(o)|0;n=o}o=d;d=m+k|0;do{if((d|0)==0){q=0}else{a[d]=0;q=d}d=q+1|0;o=o-1|0;}while((o|0)!=0);o=c[j>>2]|0;q=(c[f>>2]|0)-o|0;p=m+(k-q)|0;cv(p|0,o|0,q)|0;c[j>>2]=p;c[f>>2]=d;c[e>>2]=m+n;if((o|0)==0){return}Pu(o);return}function gl(a,d){a=a|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,p=0,q=0;e=a+8|0;f=a+4|0;g=c[f>>2]|0;h=c[e>>2]|0;i=g;if(!(h-i>>1>>>0<d>>>0)){j=d;k=g;while(1){if((k|0)!=0){b[k>>1]=0}l=j-1|0;if((l|0)==0){break}else{j=l;k=k+2|0}}c[f>>2]=g+(d<<1);return}g=a|0;a=c[g>>2]|0;k=a;j=i-k|0;i=j>>1;l=i+d|0;if((l|0)<0){Nr(0)}m=h-k|0;if(m>>1>>>0<1073741823>>>0){k=m>>>0<l>>>0?l:m;if((k|0)==0){n=0;o=0}else{p=k;q=10}}else{p=2147483647;q=10}if((q|0)==10){n=Nu(p<<1)|0;o=p}p=d;d=n+(i<<1)|0;while(1){if((d|0)!=0){b[d>>1]=0}i=p-1|0;if((i|0)==0){break}else{p=i;d=d+2|0}}d=a;cv(n|0,d|0,j)|0;c[g>>2]=n;c[f>>2]=n+(l<<1);c[e>>2]=n+(o<<1);if((a|0)==0){return}Pu(d);return}function hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;e=d|0;f=d+8|0;g=d+16|0;h=a+8|0;if(!(c[h>>2]<<5>>>0<b>>>0)){i=d;return}if((b|0)<0){Nr(0)}j=((b-1|0)>>>5)+1|0;b=Nu(j<<2)|0;k=a|0;l=c[k>>2]|0;m=a+4|0;a=c[m>>2]|0;n=a>>>5;o=a&31;c[e>>2]=l;c[e+4>>2]=0;c[f>>2]=l+(n<<2);c[f+4>>2]=o;c[g>>2]=b;c[g+4>>2]=0;il(d+24|0,e,f,g);g=c[k>>2]|0;c[k>>2]=b;c[m>>2]=n<<5|o;c[h>>2]=j;if((g|0)==0){i=d;return}Pu(g);i=d;return}function il(a,b,d,e){a=a|0;b=b|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,p=0,q=0,r=0;f=b|0;g=c[f>>2]|0;h=c[b+4>>2]|0;b=(c[d+4>>2]|0)-h+((c[d>>2]|0)-g<<3)|0;if((b|0)<=0){i=c[e>>2]|0;j=a|0;c[j>>2]=i;k=a+4|0;l=e+4|0;m=c[l>>2]|0;c[k>>2]=m;return}if((h|0)==0){n=b;o=g;p=e|0}else{d=32-h|0;q=(b|0)<(d|0)?b:d;r=-1>>>((d-q|0)>>>0)&-1<<h;h=e|0;d=c[h>>2]|0;c[d>>2]=c[d>>2]&~r|c[g>>2]&r;r=e+4|0;g=(c[r>>2]|0)+q|0;c[h>>2]=d+(g>>>5<<2);c[r>>2]=g&31;g=(c[f>>2]|0)+4|0;c[f>>2]=g;n=b-q|0;o=g;p=h}h=n>>>5;fv(c[p>>2]|0,o|0,h<<2|0)|0;o=n-(h<<5)|0;n=(c[p>>2]|0)+(h<<2)|0;c[p>>2]=n;if((o|0)<=0){i=n;j=a|0;c[j>>2]=i;k=a+4|0;l=e+4|0;m=c[l>>2]|0;c[k>>2]=m;return}n=(c[f>>2]|0)+(h<<2)|0;c[f>>2]=n;f=-1>>>((32-o|0)>>>0);h=c[p>>2]|0;c[h>>2]=c[h>>2]&~f|c[n>>2]&f;c[e+4>>2]=o;i=h;j=a|0;c[j>>2]=i;k=a+4|0;l=e+4|0;m=c[l>>2]|0;c[k>>2]=m;return}function jl(a,b){a=a|0;b=b|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,r=0,s=0,t=0;d=a+8|0;e=a+4|0;f=c[e>>2]|0;g=c[d>>2]|0;h=f;if(!(((g-h|0)/12|0)>>>0<b>>>0)){i=b;j=f;do{if((j|0)==0){k=0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;k=c[e>>2]|0}j=k+12|0;c[e>>2]=j;i=i-1|0;}while((i|0)!=0);return}i=a|0;a=c[i>>2]|0;j=(h-a|0)/12|0;h=j+b|0;if(h>>>0>357913941>>>0){Nr(0)}k=(g-a|0)/12|0;if(k>>>0<178956970>>>0){a=k<<1;k=a>>>0<h>>>0?h:a;if((k|0)==0){l=0;m=0}else{n=k;o=9}}else{n=357913941;o=9}if((o|0)==9){l=Nu(n*12|0)|0;m=n}n=l+(j*12|0)|0;o=b;b=n;do{if((b|0)==0){p=0}else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;p=b}b=p+12|0;o=o-1|0;}while((o|0)!=0);o=l+(m*12|0)|0;m=c[i>>2]|0;p=c[e>>2]|0;do{if((p|0)==(m|0)){c[i>>2]=n;c[e>>2]=b;c[d>>2]=o;q=m}else{k=j-1-(((p-12+(-m|0)|0)>>>0)/12|0)|0;a=p;h=n;while(1){g=a-12|0;f=g|0;c[h-12>>2]=c[f>>2];r=a-12+4|0;c[h-12+4>>2]=c[r>>2];s=a-12+8|0;c[h-12+8>>2]=c[s>>2];c[f>>2]=0;c[r>>2]=0;c[s>>2]=0;if((g|0)==(m|0)){break}else{a=g;h=h-12|0}}h=c[i>>2]|0;a=c[e>>2]|0;c[i>>2]=l+(k*12|0);c[e>>2]=b;c[d>>2]=o;if((a|0)==(h|0)){q=h;break}else{t=a}while(1){a=t-12|0;g=c[a>>2]|0;if((g|0)!=0){Pu(g)}if((a|0)==(h|0)){q=h;break}else{t=a}}}}while(0);if((q|0)==0){return}Pu(q);return}function kl(d){d=d|0;a[d|0]=0;dv(d+2|0,0,7)|0;c[d+12>>2]=5;a[d+16|0]=0;a[d+17|0]=0;a[d+18|0]=2;a[d+19|0]=2;a[d+20|0]=2;c[d+48>>2]=0;c[d+52>>2]=0;a[d+56|0]=0;dv(d+21|0,0,24)|0;c[d+60>>2]=1;a[d+64|0]=0;a[d+65|0]=0;a[d+66|0]=0;a[d+67|0]=1;a[d+68|0]=0;b[d+70>>1]=0;a[d+72|0]=2;a[d+73|0]=1;a[d+74|0]=15;a[d+75|0]=15;return}function ll(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=(nd(f,1)|0)!=0;a[d|0]=g&1;do{if(g){h=nd(f,8)|0;if((h|0)<18){b[d+2>>1]=b[30800+(h<<2)>>1]|0;b[d+4>>1]=b[30802+(h<<2)>>1]|0;break}if((h|0)==255){h=(nd(f,16)|0)&65535;b[d+2>>1]=h;h=(nd(f,16)|0)&65535;b[d+4>>1]=h;break}else{b[d+2>>1]=0;b[d+4>>1]=0;break}}else{b[d+2>>1]=0;b[d+4>>1]=0}}while(0);g=(nd(f,1)|0)!=0;a[d+6|0]=g&1;if(g){g=(nd(f,1)|0)!=0|0;a[d+7|0]=g}g=d+12|0;c[g>>2]=5;h=d+16|0;a[h]=0;i=d+18|0;a[i]=2;j=d+19|0;a[j]=2;k=d+20|0;a[k]=2;l=(nd(f,1)|0)!=0;a[d+8|0]=l&1;do{if(l){m=nd(f,3)|0;c[g>>2]=(m|0)>5?5:m;m=(nd(f,1)|0)!=0|0;a[h]=m;m=(nd(f,1)|0)!=0;a[d+17|0]=m&1;if(!m){break}m=nd(f,8)|0;a[i]=m;n=m&255;if((n|0)==0|(n|0)==3){o=14}else{if(n>>>0>10>>>0){o=14}}if((o|0)==14){a[i]=2}n=nd(f,8)|0;a[j]=n;m=n&255;if((m|0)==0|(m|0)==3){o=17}else{if(m>>>0>17>>>0){o=17}}if((o|0)==17){a[j]=2}m=nd(f,8)|0;n=m&255;a[k]=(n|0)==0|n>>>0>10>>>0?2:m&255}}while(0);k=(nd(f,1)|0)!=0;a[d+21|0]=k&1;do{if(k){j=qd(f)|0;if((j|0)==-99999){Ue(e,8,0);p=8;return p|0}a[d+22|0]=j;j=qd(f)|0;if(!((j|0)==-99999)){a[d+23|0]=j;break}Ue(e,8,0);p=8;return p|0}else{a[d+22|0]=0;a[d+23|0]=0}}while(0);k=(nd(f,1)|0)!=0|0;a[d+24|0]=k;k=(nd(f,1)|0)!=0|0;a[d+25|0]=k;k=(nd(f,1)|0)!=0|0;a[d+26|0]=k;k=(nd(f,1)|0)!=0;a[d+27|0]=k&1;do{if(k){j=qd(f)|0;if((j|0)==-99999){Ue(e,8,0);p=8;return p|0}c[d+28>>2]=j;j=qd(f)|0;if((j|0)==-99999){Ue(e,8,0);p=8;return p|0}c[d+32>>2]=j;j=qd(f)|0;if((j|0)==-99999){Ue(e,8,0);p=8;return p|0}c[d+36>>2]=j;j=qd(f)|0;if(!((j|0)==-99999)){c[d+40>>2]=j;break}Ue(e,8,0);p=8;return p|0}else{dv(d+28|0,0,16)|0}}while(0);k=(nd(f,1)|0)!=0;a[d+44|0]=k&1;if(k){k=nd(f,32)|0;c[d+48>>2]=k;k=nd(f,32)|0;c[d+52>>2]=k}k=(nd(f,1)|0)!=0|0;a[d+56|0]=k;k=qd(f)|0;if((k|0)==-99999){Ue(e,8,0);p=8;return p|0}c[d+60>>2]=k+1;k=(nd(f,1)|0)!=0;a[d+64|0]=k&1;if(k){p=502;return p|0}k=(nd(f,1)|0)!=0;a[d+65|0]=k&1;if(!k){a[d+66|0]=0;a[d+67|0]=1;a[d+68|0]=0;b[d+70>>1]=0;a[d+72|0]=2;a[d+73|0]=1;a[d+74|0]=15;a[d+75|0]=15;p=0;return p|0}k=(nd(f,1)|0)!=0|0;a[d+66|0]=k;k=(nd(f,1)|0)!=0|0;a[d+67|0]=k;k=(nd(f,1)|0)!=0|0;a[d+68|0]=k;k=qd(f)|0;if((k|0)==-99999){Ue(e,8,0);p=8;return p|0}j=d+70|0;b[j>>1]=k;if((k&61440)>>>0>4095>>>0){Ue(e,8,0);b[j>>1]=0}j=qd(f)|0;if((j|0)==-99999){Ue(e,8,0);p=8;return p|0}k=d+72|0;a[k]=j;if((j&255)>>>0>16>>>0){Ue(e,8,0);a[k]=2}k=qd(f)|0;if((k|0)==-99999){Ue(e,8,0);p=8;return p|0}j=d+73|0;a[j]=k;if((k&255)>>>0>16>>>0){Ue(e,8,0);a[j]=1}j=qd(f)|0;if((j|0)==-99999){Ue(e,8,0);p=8;return p|0}k=d+74|0;a[k]=j;if((j&240)>>>0>15>>>0){Ue(e,8,0);a[k]=15}k=qd(f)|0;if((k|0)==-99999){Ue(e,8,0);p=8;return p|0}f=d+75|0;a[f]=k;if(!((k&240)>>>0>15>>>0)){p=0;return p|0}Ue(e,8,0);a[f]=15;p=0;return p|0}function ml(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;if((f|0)==2){h=q}else if((f|0)==1){h=t}else{i=g;return}f=c[h>>2]|0;Zk(f,2832,(h=i,i=i+1|0,i=i+7&-8,c[h>>2]=0,h)|0);i=h;j=e[b+4>>1]|0;Zk(f,1504,(h=i,i=i+16|0,c[h>>2]=e[b+2>>1]|0,c[h+8>>2]=j,h)|0);i=h;Zk(f,856,(h=i,i=i+8|0,c[h>>2]=d[b+6|0]|0,h)|0);i=h;Zk(f,248,(h=i,i=i+8|0,c[h>>2]=d[b+7|0]|0,h)|0);i=h;j=b+8|0;Zk(f,16688,(h=i,i=i+8|0,c[h>>2]=d[j]|0,h)|0);i=h;if((a[j]|0)!=0){switch(c[b+12>>2]|0){case 2:{k=11320;break};case 3:{k=8288;break};case 1:{k=13944;break};case 4:{k=5936;break};case 0:{k=672;break};default:{k=4136}}Zk(f,16216,(h=i,i=i+8|0,c[h>>2]=k,h)|0);i=h;Zk(f,15832,(h=i,i=i+8|0,c[h>>2]=d[b+16|0]|0,h)|0);i=h;Zk(f,15432,(h=i,i=i+8|0,c[h>>2]=d[b+17|0]|0,h)|0);i=h;Zk(f,15080,(h=i,i=i+8|0,c[h>>2]=d[b+18|0]|0,h)|0);i=h;Zk(f,14792,(h=i,i=i+8|0,c[h>>2]=d[b+19|0]|0,h)|0);i=h;Zk(f,14488,(h=i,i=i+8|0,c[h>>2]=d[b+20|0]|0,h)|0);i=h}k=b+21|0;Zk(f,14232,(h=i,i=i+8|0,c[h>>2]=d[k]|0,h)|0);i=h;if((a[k]|0)!=0){Zk(f,14008,(h=i,i=i+8|0,c[h>>2]=d[b+22|0]|0,h)|0);i=h;Zk(f,13720,(h=i,i=i+8|0,c[h>>2]=d[b+23|0]|0,h)|0);i=h}Zk(f,13520,(h=i,i=i+8|0,c[h>>2]=d[b+24|0]|0,h)|0);i=h;Zk(f,13328,(h=i,i=i+8|0,c[h>>2]=d[b+25|0]|0,h)|0);i=h;Zk(f,13120,(h=i,i=i+8|0,c[h>>2]=d[b+26|0]|0,h)|0);i=h;Zk(f,12856,(h=i,i=i+8|0,c[h>>2]=d[b+27|0]|0,h)|0);i=h;Zk(f,12568,(h=i,i=i+8|0,c[h>>2]=c[b+28>>2],h)|0);i=h;Zk(f,12328,(h=i,i=i+8|0,c[h>>2]=c[b+32>>2],h)|0);i=h;Zk(f,12048,(h=i,i=i+8|0,c[h>>2]=c[b+36>>2],h)|0);i=h;Zk(f,11664,(h=i,i=i+8|0,c[h>>2]=c[b+40>>2],h)|0);i=h;k=b+44|0;Zk(f,11392,(h=i,i=i+8|0,c[h>>2]=d[k]|0,h)|0);i=h;if((a[k]|0)!=0){Zk(f,11120,(h=i,i=i+8|0,c[h>>2]=c[b+48>>2],h)|0);i=h;Zk(f,10888,(h=i,i=i+8|0,c[h>>2]=c[b+52>>2],h)|0);i=h}Zk(f,10616,(h=i,i=i+8|0,c[h>>2]=d[b+56|0]|0,h)|0);i=h;Zk(f,10328,(h=i,i=i+8|0,c[h>>2]=c[b+60>>2],h)|0);i=h;Zk(f,9992,(h=i,i=i+8|0,c[h>>2]=d[b+64|0]|0,h)|0);i=h;k=b+65|0;Zk(f,9632,(h=i,i=i+8|0,c[h>>2]=d[k]|0,h)|0);i=h;if((a[k]|0)==0){i=g;return}Zk(f,9240,(h=i,i=i+8|0,c[h>>2]=d[b+66|0]|0,h)|0);i=h;Zk(f,8960,(h=i,i=i+8|0,c[h>>2]=d[b+67|0]|0,h)|0);i=h;Zk(f,8560,(h=i,i=i+8|0,c[h>>2]=d[b+68|0]|0,h)|0);i=h;Zk(f,8328,(h=i,i=i+8|0,c[h>>2]=e[b+70>>1]|0,h)|0);i=h;Zk(f,8064,(h=i,i=i+8|0,c[h>>2]=d[b+72|0]|0,h)|0);i=h;Zk(f,7824,(h=i,i=i+8|0,c[h>>2]=d[b+73|0]|0,h)|0);i=h;Zk(f,7552,(h=i,i=i+8|0,c[h>>2]=d[b+74|0]|0,h)|0);i=h;Zk(f,7248,(h=i,i=i+8|0,c[h>>2]=d[b+75|0]|0,h)|0);i=h;i=g;return}function nl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b|0;e=b+8|0;f=b+16|0;g=b+24|0;h=c[o>>2]|0;Jl(34232,h,34360);c[8806]=21516;c[8808]=21536;c[8807]=0;Mm(35232,34232);c[8826]=0;c[8827]=-1;j=c[t>>2]|0;c[8534]=21296;Tr(34140);dv(34144,0,24)|0;c[8534]=21664;c[8542]=j;Ur(g,34140);k=Wr(g,34560)|0;l=k;Vr(g);c[8543]=l;c[8544]=34368;g=(Fc[c[(c[k>>2]|0)+28>>2]&255](l)|0)&1;a[34180]=g;c[8740]=21420;c[8741]=21440;Mm(34964,34136);c[8759]=0;c[8760]=-1;g=c[q>>2]|0;c[8546]=21296;Tr(34188);dv(34192,0,24)|0;c[8546]=21664;c[8554]=g;Ur(f,34188);l=Wr(f,34560)|0;k=l;Vr(f);c[8555]=k;c[8556]=34376;f=(Fc[c[(c[l>>2]|0)+28>>2]&255](k)|0)&1;a[34228]=f;c[8784]=21420;c[8785]=21440;Mm(35140,34184);c[8803]=0;c[8804]=-1;f=c[(c[(c[8784]|0)-12>>2]|0)+35160>>2]|0;c[8762]=21420;c[8763]=21440;Mm(35052,f);c[8781]=0;c[8782]=-1;c[(c[(c[8806]|0)-12>>2]|0)+35296>>2]=34960;f=(c[(c[8784]|0)-12>>2]|0)+35140|0;c[f>>2]=c[f>>2]|8192;c[(c[(c[8784]|0)-12>>2]|0)+35208>>2]=34960;vl(34080,h,34384);c[8718]=21468;c[8720]=21488;c[8719]=0;Mm(34880,34080);c[8738]=0;c[8739]=-1;c[8496]=21224;Tr(33988);dv(33992,0,24)|0;c[8496]=21592;c[8504]=j;Ur(e,33988);j=Wr(e,34552)|0;h=j;Vr(e);c[8505]=h;c[8506]=34392;e=(Fc[c[(c[j>>2]|0)+28>>2]&255](h)|0)&1;a[34028]=e;c[8648]=21372;c[8649]=21392;Mm(34596,33984);c[8667]=0;c[8668]=-1;c[8508]=21224;Tr(34036);dv(34040,0,24)|0;c[8508]=21592;c[8516]=g;Ur(d,34036);g=Wr(d,34552)|0;e=g;Vr(d);c[8517]=e;c[8518]=34400;d=(Fc[c[(c[g>>2]|0)+28>>2]&255](e)|0)&1;a[34076]=d;c[8692]=21372;c[8693]=21392;Mm(34772,34032);c[8711]=0;c[8712]=-1;d=c[(c[(c[8692]|0)-12>>2]|0)+34792>>2]|0;c[8670]=21372;c[8671]=21392;Mm(34684,d);c[8689]=0;c[8690]=-1;c[(c[(c[8718]|0)-12>>2]|0)+34944>>2]=34592;d=(c[(c[8692]|0)-12>>2]|0)+34772|0;c[d>>2]=c[d>>2]|8192;c[(c[(c[8692]|0)-12>>2]|0)+34840>>2]=34592;i=b;return}function ol(a){a=a|0;sn(34960)|0;sn(35048)|0;xn(34592)|0;xn(34680)|0;return}function pl(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);return}function ql(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);Pu(a);return}function rl(b,d){b=b|0;d=d|0;var e=0,f=0;Fc[c[(c[b>>2]|0)+24>>2]&255](b)|0;e=Wr(d,34552)|0;d=e;c[b+36>>2]=d;f=(Fc[c[(c[e>>2]|0)+28>>2]&255](d)|0)&1;a[b+44|0]=f;return}function sl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+16|0;d=b|0;e=b+8|0;f=a+36|0;g=a+40|0;h=d|0;j=d+8|0;k=d;d=a+32|0;while(1){a=c[f>>2]|0;l=Gc[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,h,j,e)|0;a=(c[e>>2]|0)-k|0;if((Oa(h|0,1,a|0,c[d>>2]|0)|0)!=(a|0)){m=-1;n=5;break}if((l|0)==2){m=-1;n=5;break}else if((l|0)!=1){n=4;break}}if((n|0)==4){m=((Ma(c[d>>2]|0)|0)!=0)<<31>>31;i=b;return m|0}else if((n|0)==5){i=b;return m|0}return 0}function tl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((a[b+44|0]|0)!=0){f=Oa(d|0,4,e|0,c[b+32>>2]|0)|0;return f|0}g=b;if((e|0)>0){h=d;i=0}else{f=0;return f|0}while(1){if((Qc[c[(c[g>>2]|0)+52>>2]&63](b,c[h>>2]|0)|0)==-1){f=i;j=6;break}d=i+1|0;if((d|0)<(e|0)){h=h+4|0;i=d}else{f=d;j=6;break}}if((j|0)==6){return f|0}return 0}function ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+32|0;f=e|0;g=e+8|0;h=e+16|0;j=e+24|0;k=(d|0)==-1;a:do{if(!k){c[g>>2]=d;if((a[b+44|0]|0)!=0){if((Oa(g|0,4,1,c[b+32>>2]|0)|0)==1){break}else{l=-1}i=e;return l|0}m=f|0;c[h>>2]=m;n=g+4|0;o=b+36|0;p=b+40|0;q=f+8|0;r=f;s=b+32|0;t=g;while(1){u=c[o>>2]|0;v=Vc[c[(c[u>>2]|0)+12>>2]&31](u,c[p>>2]|0,t,n,j,m,q,h)|0;if((c[j>>2]|0)==(t|0)){l=-1;w=12;break}if((v|0)==3){w=7;break}u=(v|0)==1;if(!(v>>>0<2>>>0)){l=-1;w=12;break}v=(c[h>>2]|0)-r|0;if((Oa(m|0,1,v|0,c[s>>2]|0)|0)!=(v|0)){l=-1;w=12;break}if(u){t=u?c[j>>2]|0:t}else{break a}}if((w|0)==7){if((Oa(t|0,1,1,c[s>>2]|0)|0)==1){break}else{l=-1}i=e;return l|0}else if((w|0)==12){i=e;return l|0}}}while(0);l=k?0:d;i=e;return l|0}function vl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+8|0;g=f|0;h=b|0;c[h>>2]=21224;j=b+4|0;Tr(j);dv(b+8|0,0,24)|0;c[h>>2]=21992;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52|0]=0;Ur(g,j);j=Wr(g,34552)|0;e=j;d=b+36|0;c[d>>2]=e;h=Fc[c[(c[j>>2]|0)+24>>2]&255](e)|0;e=b+44|0;c[e>>2]=h;h=c[d>>2]|0;d=(Fc[c[(c[h>>2]|0)+28>>2]&255](h)|0)&1;a[b+53|0]=d;if((c[e>>2]|0)<=8){Vr(g);i=f;return}dr(736);Vr(g);i=f;return}function wl(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);return}function xl(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);Pu(a);return}function yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Wr(d,34552)|0;d=e;f=b+36|0;c[f>>2]=d;g=Fc[c[(c[e>>2]|0)+24>>2]&255](d)|0;d=b+44|0;c[d>>2]=g;g=c[f>>2]|0;f=(Fc[c[(c[g>>2]|0)+28>>2]&255](g)|0)&1;a[b+53|0]=f;if((c[d>>2]|0)<=8){return}dr(736);return}function zl(a){a=a|0;return Cl(a,0)|0}function Al(a){a=a|0;return Cl(a,1)|0}function Bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+32|0;f=e|0;g=e+8|0;h=e+16|0;j=e+24|0;k=b+52|0;l=(a[k]|0)!=0;if((d|0)==-1){if(l){m=-1;i=e;return m|0}n=c[b+48>>2]|0;a[k]=(n|0)!=-1|0;m=n;i=e;return m|0}n=b+48|0;a:do{if(l){c[h>>2]=c[n>>2];o=c[b+36>>2]|0;p=f|0;q=Vc[c[(c[o>>2]|0)+12>>2]&31](o,c[b+40>>2]|0,h,h+4|0,j,p,f+8|0,g)|0;if((q|0)==3){a[p]=c[n>>2];c[g>>2]=f+1}else if((q|0)==2|(q|0)==1){m=-1;i=e;return m|0}q=b+32|0;while(1){o=c[g>>2]|0;if(!(o>>>0>p>>>0)){break a}r=o-1|0;c[g>>2]=r;if(($b(a[r]|0,c[q>>2]|0)|0)==-1){m=-1;break}}i=e;return m|0}}while(0);c[n>>2]=d;a[k]=1;m=d;i=e;return m|0}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+32|0;f=e|0;g=e+8|0;h=e+16|0;j=e+24|0;k=b+52|0;if((a[k]|0)!=0){l=b+48|0;m=c[l>>2]|0;if(!d){n=m;i=e;return n|0}c[l>>2]=-1;a[k]=0;n=m;i=e;return n|0}m=c[b+44>>2]|0;k=(m|0)>1?m:1;a:do{if((k|0)>0){m=b+32|0;l=0;while(1){o=eb(c[m>>2]|0)|0;if((o|0)==-1){n=-1;break}a[f+l|0]=o;l=l+1|0;if((l|0)>=(k|0)){break a}}i=e;return n|0}}while(0);b:do{if((a[b+53|0]|0)==0){l=b+40|0;m=b+36|0;o=f|0;p=g+4|0;q=b+32|0;r=k;while(1){s=c[l>>2]|0;t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=c[m>>2]|0;w=f+r|0;x=Vc[c[(c[t>>2]|0)+16>>2]&31](t,s,o,w,h,g,p,j)|0;if((x|0)==3){y=14;break}else if((x|0)==2){n=-1;y=22;break}else if((x|0)!=1){z=r;break b}x=c[l>>2]|0;c[x>>2]=u;c[x+4>>2]=v;if((r|0)==8){n=-1;y=22;break}v=eb(c[q>>2]|0)|0;if((v|0)==-1){n=-1;y=22;break}a[w]=v;r=r+1|0}if((y|0)==14){c[g>>2]=a[o]|0;z=r;break}else if((y|0)==22){i=e;return n|0}}else{c[g>>2]=a[f|0]|0;z=k}}while(0);if(d){d=c[g>>2]|0;c[b+48>>2]=d;n=d;i=e;return n|0}d=b+32|0;b=z;while(1){if((b|0)<=0){break}z=b-1|0;if(($b(a[f+z|0]|0,c[d>>2]|0)|0)==-1){n=-1;y=22;break}else{b=z}}if((y|0)==22){i=e;return n|0}n=c[g>>2]|0;i=e;return n|0}function Dl(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);return}function El(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);Pu(a);return}function Fl(b,d){b=b|0;d=d|0;var e=0,f=0;Fc[c[(c[b>>2]|0)+24>>2]&255](b)|0;e=Wr(d,34560)|0;d=e;c[b+36>>2]=d;f=(Fc[c[(c[e>>2]|0)+28>>2]&255](d)|0)&1;a[b+44|0]=f;return}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+16|0;d=b|0;e=b+8|0;f=a+36|0;g=a+40|0;h=d|0;j=d+8|0;k=d;d=a+32|0;while(1){a=c[f>>2]|0;l=Gc[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,h,j,e)|0;a=(c[e>>2]|0)-k|0;if((Oa(h|0,1,a|0,c[d>>2]|0)|0)!=(a|0)){m=-1;n=5;break}if((l|0)==2){m=-1;n=5;break}else if((l|0)!=1){n=4;break}}if((n|0)==4){m=((Ma(c[d>>2]|0)|0)!=0)<<31>>31;i=b;return m|0}else if((n|0)==5){i=b;return m|0}return 0}function Hl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((a[b+44|0]|0)!=0){g=Oa(e|0,1,f|0,c[b+32>>2]|0)|0;return g|0}h=b;if((f|0)>0){i=e;j=0}else{g=0;return g|0}while(1){if((Qc[c[(c[h>>2]|0)+52>>2]&63](b,d[i]|0)|0)==-1){g=j;k=6;break}e=j+1|0;if((e|0)<(f|0)){i=i+1|0;j=e}else{g=e;k=6;break}}if((k|0)==6){return g|0}return 0}function Il(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+32|0;f=e|0;g=e+8|0;h=e+16|0;j=e+24|0;k=(d|0)==-1;a:do{if(!k){a[g]=d;if((a[b+44|0]|0)!=0){if((Oa(g|0,1,1,c[b+32>>2]|0)|0)==1){break}else{l=-1}i=e;return l|0}m=f|0;c[h>>2]=m;n=g+1|0;o=b+36|0;p=b+40|0;q=f+8|0;r=f;s=b+32|0;t=g;while(1){u=c[o>>2]|0;v=Vc[c[(c[u>>2]|0)+12>>2]&31](u,c[p>>2]|0,t,n,j,m,q,h)|0;if((c[j>>2]|0)==(t|0)){l=-1;w=12;break}if((v|0)==3){w=7;break}u=(v|0)==1;if(!(v>>>0<2>>>0)){l=-1;w=12;break}v=(c[h>>2]|0)-r|0;if((Oa(m|0,1,v|0,c[s>>2]|0)|0)!=(v|0)){l=-1;w=12;break}if(u){t=u?c[j>>2]|0:t}else{break a}}if((w|0)==7){if((Oa(t|0,1,1,c[s>>2]|0)|0)==1){break}else{l=-1}i=e;return l|0}else if((w|0)==12){i=e;return l|0}}}while(0);l=k?0:d;i=e;return l|0}function Jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+8|0;g=f|0;h=b|0;c[h>>2]=21296;j=b+4|0;Tr(j);dv(b+8|0,0,24)|0;c[h>>2]=22064;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52|0]=0;Ur(g,j);j=Wr(g,34560)|0;e=j;d=b+36|0;c[d>>2]=e;h=Fc[c[(c[j>>2]|0)+24>>2]&255](e)|0;e=b+44|0;c[e>>2]=h;h=c[d>>2]|0;d=(Fc[c[(c[h>>2]|0)+28>>2]&255](h)|0)&1;a[b+53|0]=d;if((c[e>>2]|0)<=8){Vr(g);i=f;return}dr(736);Vr(g);i=f;return}function Kl(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);return}function Ll(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);Pu(a);return}function Ml(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Wr(d,34560)|0;d=e;f=b+36|0;c[f>>2]=d;g=Fc[c[(c[e>>2]|0)+24>>2]&255](d)|0;d=b+44|0;c[d>>2]=g;g=c[f>>2]|0;f=(Fc[c[(c[g>>2]|0)+28>>2]&255](g)|0)&1;a[b+53|0]=f;if((c[d>>2]|0)<=8){return}dr(736);return}function Nl(a){a=a|0;return Ql(a,0)|0}function Ol(a){a=a|0;return Ql(a,1)|0}function Pl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+32|0;f=e|0;g=e+8|0;h=e+16|0;j=e+24|0;k=b+52|0;l=(a[k]|0)!=0;if((d|0)==-1){if(l){m=-1;i=e;return m|0}n=c[b+48>>2]|0;a[k]=(n|0)!=-1|0;m=n;i=e;return m|0}n=b+48|0;a:do{if(l){a[h]=c[n>>2];o=c[b+36>>2]|0;p=f|0;q=Vc[c[(c[o>>2]|0)+12>>2]&31](o,c[b+40>>2]|0,h,h+1|0,j,p,f+8|0,g)|0;if((q|0)==2|(q|0)==1){m=-1;i=e;return m|0}else if((q|0)==3){a[p]=c[n>>2];c[g>>2]=f+1}q=b+32|0;while(1){o=c[g>>2]|0;if(!(o>>>0>p>>>0)){break a}r=o-1|0;c[g>>2]=r;if(($b(a[r]|0,c[q>>2]|0)|0)==-1){m=-1;break}}i=e;return m|0}}while(0);c[n>>2]=d;a[k]=1;m=d;i=e;return m|0}function Ql(b,e){b=b|0;e=e|0;var f=0,g=0,h=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,A=0,B=0;f=i;i=i+32|0;g=f|0;h=f+8|0;j=f+16|0;k=f+24|0;l=b+52|0;if((a[l]|0)!=0){m=b+48|0;n=c[m>>2]|0;if(!e){o=n;i=f;return o|0}c[m>>2]=-1;a[l]=0;o=n;i=f;return o|0}n=c[b+44>>2]|0;l=(n|0)>1?n:1;a:do{if((l|0)>0){n=b+32|0;m=0;while(1){p=eb(c[n>>2]|0)|0;if((p|0)==-1){o=-1;break}a[g+m|0]=p;m=m+1|0;if((m|0)>=(l|0)){break a}}i=f;return o|0}}while(0);b:do{if((a[b+53|0]|0)==0){m=b+40|0;n=b+36|0;p=g|0;q=h+1|0;r=b+32|0;s=l;while(1){t=c[m>>2]|0;u=t;v=c[u>>2]|0;w=c[u+4>>2]|0;u=c[n>>2]|0;x=g+s|0;y=Vc[c[(c[u>>2]|0)+16>>2]&31](u,t,p,x,j,h,q,k)|0;if((y|0)==3){z=14;break}else if((y|0)==2){o=-1;z=23;break}else if((y|0)!=1){A=s;break b}y=c[m>>2]|0;c[y>>2]=v;c[y+4>>2]=w;if((s|0)==8){o=-1;z=23;break}w=eb(c[r>>2]|0)|0;if((w|0)==-1){o=-1;z=23;break}a[x]=w;s=s+1|0}if((z|0)==14){a[h]=a[p]|0;A=s;break}else if((z|0)==23){i=f;return o|0}}else{a[h]=a[g|0]|0;A=l}}while(0);do{if(e){l=a[h]|0;c[b+48>>2]=l&255;B=l}else{l=b+32|0;k=A;while(1){if((k|0)<=0){z=21;break}j=k-1|0;if(($b(d[g+j|0]|0,c[l>>2]|0)|0)==-1){o=-1;z=23;break}else{k=j}}if((z|0)==21){B=a[h]|0;break}else if((z|0)==23){i=f;return o|0}}}while(0);o=B&255;i=f;return o|0}function Rl(){nl(0);Ub(164,35312,u|0)|0;return}function Sl(a){a=a|0;return}function Tl(a){a=a|0;var b=0;b=a+4|0;I=c[b>>2]|0,c[b>>2]=I+1,I;return}function Ul(a){a=a|0;var b=0,d=0;b=a+4|0;if(((I=c[b>>2]|0,c[b>>2]=I+ -1,I)|0)!=0){d=0;return d|0}Dc[c[(c[a>>2]|0)+8>>2]&511](a);d=1;return d|0}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=19600;d=ev(b|0)|0;e=Ou(d+13|0)|0;c[e+4>>2]=d;c[e>>2]=d;f=e+12|0;c[a+4>>2]=f;c[e+8>>2]=0;cv(f|0,b|0,d+1|0)|0;return}function Wl(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=19600;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){e=a|0;f=a;Pu(f);return}Qu((c[b>>2]|0)-12|0);e=a|0;f=a;Pu(f);return}function Xl(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=19600;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){e=a|0;return}Qu((c[b>>2]|0)-12|0);e=a|0;return}function Yl(a){a=a|0;return c[a+4>>2]|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[b>>2]=19536;if((a[d]&1)==0){e=d+1|0}else{e=c[d+8>>2]|0}d=ev(e|0)|0;f=Ou(d+13|0)|0;c[f+4>>2]=d;c[f>>2]=d;g=f+12|0;c[b+4>>2]=g;c[f+8>>2]=0;cv(g|0,e|0,d+1|0)|0;return}function _l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=19536;d=ev(b|0)|0;e=Ou(d+13|0)|0;c[e+4>>2]=d;c[e>>2]=d;f=e+12|0;c[a+4>>2]=f;c[e+8>>2]=0;cv(f|0,b|0,d+1|0)|0;return}function $l(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=19536;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){e=a|0;f=a;Pu(f);return}Qu((c[b>>2]|0)-12|0);e=a|0;f=a;Pu(f);return}function am(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=19536;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){e=a|0;return}Qu((c[b>>2]|0)-12|0);e=a|0;return}function bm(a){a=a|0;return c[a+4>>2]|0}function cm(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=19600;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){e=a|0;f=a;Pu(f);return}Qu((c[b>>2]|0)-12|0);e=a|0;f=a;Pu(f);return}function dm(a){a=a|0;return}function em(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+8|0;f=e|0;Tc[c[(c[a>>2]|0)+12>>2]&63](f,a,b);if((c[f+4>>2]|0)!=(c[d+4>>2]|0)){g=0;i=e;return g|0}g=(c[f>>2]|0)==(c[d>>2]|0);i=e;return g|0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[b+4>>2]|0)!=(a|0)){e=0;return e|0}e=(c[b>>2]|0)==(d|0);return e|0}function hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=Wb(e|0)|0;e=ev(d|0)|0;if(e>>>0>4294967279>>>0){nm(0)}if(e>>>0<11>>>0){a[b]=e<<1;f=b+1|0;cv(f|0,d|0,e)|0;g=f+e|0;a[g]=0;return}else{h=e+16&-16;i=Nu(h)|0;c[b+8>>2]=i;c[b>>2]=h|1;c[b+4>>2]=e;f=i;cv(f|0,d|0,e)|0;g=f+e|0;a[g]=0;return}}function im(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+16|0;g=f|0;h=d|0;j=c[h>>2]|0;k=e;do{if((j|0)!=0){l=a[k]|0;if((l&1)==0){m=(l&255)>>>1}else{m=c[e+4>>2]|0}if((m|0)==0){n=j}else{xm(e,12816,2)|0;n=c[h>>2]|0}l=c[d+4>>2]|0;Tc[c[(c[l>>2]|0)+24>>2]&63](g,l,n);l=g;o=a[l]|0;if((o&1)==0){p=(o&255)>>>1;q=g+1|0}else{p=c[g+4>>2]|0;q=c[g+8>>2]|0}xm(e,q,p)|0;if((a[l]&1)==0){break}Pu(c[g+8>>2]|0)}}while(0);g=b;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];dv(k|0,0,12)|0;i=f;return}function jm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=d;d=i;i=i+8|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];g=f|0;h=f+16|0;j=ev(e|0)|0;if(j>>>0>4294967279>>>0){nm(0)}if(j>>>0<11>>>0){a[h]=j<<1;k=h+1|0}else{l=j+16&-16;m=Nu(l)|0;c[h+8>>2]=m;c[h>>2]=l|1;c[h+4>>2]=j;k=m}cv(k|0,e|0,j)|0;a[k+j|0]=0;im(g,d,h);Zl(b|0,g);if(!((a[g]&1)==0)){Pu(c[g+8>>2]|0)}if(!((a[h]&1)==0)){Pu(c[h+8>>2]|0)}c[b>>2]=21560;h=d;d=b+8|0;b=c[h+4>>2]|0;c[d>>2]=c[h>>2];c[d+4>>2]=b;i=f;return}function km(a){a=a|0;am(a|0);Pu(a);return}function lm(a){a=a|0;am(a|0);return}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e;if((c[a>>2]|0)==1){do{Za(34312,34288)|0;}while((c[a>>2]|0)==1)}if((c[a>>2]|0)!=0){f;return}c[a>>2]=1;g;Dc[d&511](b);h;c[a>>2]=-1;i;Ob(34312)|0;return}function nm(a){a=a|0;a=pc(8)|0;Vl(a,1304);c[a>>2]=19568;Fb(a|0,25576,40)}function om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=d;if((a[e]&1)==0){f=b;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];return}e=c[d+8>>2]|0;f=c[d+4>>2]|0;if(f>>>0>4294967279>>>0){nm(0)}if(f>>>0<11>>>0){a[b]=f<<1;g=b+1|0}else{d=f+16&-16;h=Nu(d)|0;c[b+8>>2]=h;c[b>>2]=d|1;c[b+4>>2]=f;g=h}cv(g|0,e|0,f)|0;a[g+f|0]=0;return}function pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(e>>>0>4294967279>>>0){nm(0)}if(e>>>0<11>>>0){a[b]=e<<1;f=b+1|0;cv(f|0,d|0,e)|0;g=f+e|0;a[g]=0;return}else{h=e+16&-16;i=Nu(h)|0;c[b+8>>2]=i;c[b>>2]=h|1;c[b+4>>2]=e;f=i;cv(f|0,d|0,e)|0;g=f+e|0;a[g]=0;return}}function qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d>>>0>4294967279>>>0){nm(0)}if(d>>>0<11>>>0){a[b]=d<<1;f=b+1|0}else{g=d+16&-16;h=Nu(g)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=d;f=h}dv(f|0,e|0,d|0)|0;a[f+d|0]=0;return}function rm(b){b=b|0;if((a[b]&1)==0){return}Pu(c[b+8>>2]|0);return}function sm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=ev(d|0)|0;f=b;g=a[f]|0;if((g&1)==0){h=10;i=g}else{g=c[b>>2]|0;h=(g&-2)-1|0;i=g&255}g=(i&1)==0;if(h>>>0<e>>>0){if(g){j=(i&255)>>>1}else{j=c[b+4>>2]|0}ym(b,h,e-h|0,j,0,j,e,d);return b|0}if(g){k=b+1|0}else{k=c[b+8>>2]|0}fv(k|0,d|0,e|0)|0;a[k+e|0]=0;if((a[f]&1)==0){a[f]=e<<1;return b|0}else{c[b+4>>2]=e;return b|0}return 0}function tm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b;g=a[f]|0;h=(g&1)==0;if(h){i=(g&255)>>>1}else{i=c[b+4>>2]|0}if(i>>>0<d>>>0){um(b,d-i|0,e)|0;return}if(h){a[b+1+d|0]=0;a[f]=d<<1;return}else{a[(c[b+8>>2]|0)+d|0]=0;c[b+4>>2]=d;return}}function um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((d|0)==0){return b|0}f=b;g=a[f]|0;if((g&1)==0){h=10;i=g}else{g=c[b>>2]|0;h=(g&-2)-1|0;i=g&255}if((i&1)==0){j=(i&255)>>>1}else{j=c[b+4>>2]|0}if((h-j|0)>>>0<d>>>0){zm(b,h,d-h+j|0,j,j,0,0);k=a[f]|0}else{k=i}if((k&1)==0){l=b+1|0}else{l=c[b+8>>2]|0}dv(l+j|0,e|0,d|0)|0;e=j+d|0;if((a[f]&1)==0){a[f]=e<<1}else{c[b+4>>2]=e}a[l+e|0]=0;return b|0}function vm(b,d){b=b|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,p=0;if(d>>>0>4294967279>>>0){nm(0)}e=b;f=a[e]|0;if((f&1)==0){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)-1|0;h=f&255}if((h&1)==0){i=(h&255)>>>1}else{i=c[b+4>>2]|0}f=i>>>0>d>>>0?i:d;if(f>>>0<11>>>0){j=10}else{j=(f+16&-16)-1|0}if((j|0)==(g|0)){return}do{if((j|0)==10){k=b+1|0;l=c[b+8>>2]|0;m=1;n=0}else{f=j+1|0;if(j>>>0>g>>>0){o=Nu(f)|0}else{o=Nu(f)|0}if((h&1)==0){k=o;l=b+1|0;m=0;n=1;break}else{k=o;l=c[b+8>>2]|0;m=1;n=1;break}}}while(0);if((h&1)==0){p=(h&255)>>>1}else{p=c[b+4>>2]|0}cv(k|0,l|0,p+1|0)|0;if(m){Pu(l)}if(n){c[b>>2]=j+1|1;c[b+4>>2]=i;c[b+8>>2]=k;return}else{a[e]=i<<1;return}}function wm(b,d){b=b|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;e=b;f=a[e]|0;g=(f&1)!=0;if(g){h=c[b+4>>2]|0;i=(c[b>>2]&-2)-1|0}else{h=(f&255)>>>1;i=10}if((h|0)==(i|0)){zm(b,i,1,i,i,0,0);if((a[e]&1)==0){j=7}else{j=8}}else{if(g){j=8}else{j=7}}if((j|0)==7){a[e]=(h<<1)+2;k=b+1|0;l=h+1|0;m=k+h|0;a[m]=d;n=k+l|0;a[n]=0;return}else if((j|0)==8){j=c[b+8>>2]|0;e=h+1|0;c[b+4>>2]=e;k=j;l=e;m=k+h|0;a[m]=d;n=k+l|0;a[n]=0;return}}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b;g=a[f]|0;if((g&1)==0){h=10;i=g}else{g=c[b>>2]|0;h=(g&-2)-1|0;i=g&255}if((i&1)==0){j=(i&255)>>>1}else{j=c[b+4>>2]|0}if((h-j|0)>>>0<e>>>0){ym(b,h,e-h+j|0,j,j,0,e,d);return b|0}if((e|0)==0){return b|0}if((i&1)==0){k=b+1|0}else{k=c[b+8>>2]|0}cv(k+j|0,d|0,e)|0;d=j+e|0;if((a[f]&1)==0){a[f]=d<<1}else{c[b+4>>2]=d}a[k+d|0]=0;return b|0}function ym(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((-18-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){k=b+1|0}else{k=c[b+8>>2]|0}do{if(d>>>0<2147483623>>>0){l=e+d|0;m=d<<1;n=l>>>0<m>>>0?m:l;if(n>>>0<11>>>0){o=11;break}o=n+16&-16}else{o=-17}}while(0);e=Nu(o)|0;if((g|0)!=0){cv(e|0,k|0,g)|0}if((i|0)!=0){cv(e+g|0,j|0,i)|0}j=f-h|0;if((j|0)!=(g|0)){cv(e+(i+g)|0,k+(h+g)|0,j-g|0)|0}if((d|0)==10){p=b+8|0;c[p>>2]=e;q=o|1;r=b|0;c[r>>2]=q;s=j+i|0;t=b+4|0;c[t>>2]=s;u=e+s|0;a[u]=0;return}Pu(k);p=b+8|0;c[p>>2]=e;q=o|1;r=b|0;c[r>>2]=q;s=j+i|0;t=b+4|0;c[t>>2]=s;u=e+s|0;a[u]=0;return}function zm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((-17-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){j=b+1|0}else{j=c[b+8>>2]|0}do{if(d>>>0<2147483623>>>0){k=e+d|0;l=d<<1;m=k>>>0<l>>>0?l:k;if(m>>>0<11>>>0){n=11;break}n=m+16&-16}else{n=-17}}while(0);e=Nu(n)|0;if((g|0)!=0){cv(e|0,j|0,g)|0}m=f-h|0;if((m|0)!=(g|0)){cv(e+(i+g)|0,j+(h+g)|0,m-g|0)|0}if((d|0)==10){o=b+8|0;c[o>>2]=e;p=n|1;q=b|0;c[q>>2]=p;return}Pu(j);o=b+8|0;c[o>>2]=e;p=n|1;q=b|0;c[q>>2]=p;return}function Am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(e>>>0>1073741807>>>0){nm(0)}if(e>>>0<2>>>0){a[b]=e<<1;f=b+4|0;g=hu(f,d,e)|0;h=f+(e<<2)|0;c[h>>2]=0;return}else{i=e+4&-4;j=Nu(i<<2)|0;c[b+8>>2]=j;c[b>>2]=i|1;c[b+4>>2]=e;f=j;g=hu(f,d,e)|0;h=f+(e<<2)|0;c[h>>2]=0;return}}function Bm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807>>>0){nm(0)}if(d>>>0<2>>>0){a[b]=d<<1;f=b+4|0;g=ju(f,e,d)|0;h=f+(d<<2)|0;c[h>>2]=0;return}else{i=d+4&-4;j=Nu(i<<2)|0;c[b+8>>2]=j;c[b>>2]=i|1;c[b+4>>2]=d;f=j;g=ju(f,e,d)|0;h=f+(d<<2)|0;c[h>>2]=0;return}}function Cm(b){b=b|0;if((a[b]&1)==0){return}Pu(c[b+8>>2]|0);return}function Dm(a,b){a=a|0;b=b|0;return Em(a,b,gu(b)|0)|0}function Em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b;g=a[f]|0;if((g&1)==0){h=1;i=g}else{g=c[b>>2]|0;h=(g&-2)-1|0;i=g&255}g=(i&1)==0;if(h>>>0<e>>>0){if(g){j=(i&255)>>>1}else{j=c[b+4>>2]|0}Hm(b,h,e-h|0,j,0,j,e,d);return b|0}if(g){k=b+4|0}else{k=c[b+8>>2]|0}iu(k,d,e)|0;c[k+(e<<2)>>2]=0;if((a[f]&1)==0){a[f]=e<<1;return b|0}else{c[b+4>>2]=e;return b|0}return 0}function Fm(b,d){b=b|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,p=0;if(d>>>0>1073741807>>>0){nm(0)}e=b;f=a[e]|0;if((f&1)==0){g=1;h=f}else{f=c[b>>2]|0;g=(f&-2)-1|0;h=f&255}if((h&1)==0){i=(h&255)>>>1}else{i=c[b+4>>2]|0}f=i>>>0>d>>>0?i:d;if(f>>>0<2>>>0){j=1}else{j=(f+4&-4)-1|0}if((j|0)==(g|0)){return}do{if((j|0)==1){k=b+4|0;l=c[b+8>>2]|0;m=1;n=0}else{f=(j<<2)+4|0;if(j>>>0>g>>>0){o=Nu(f)|0}else{o=Nu(f)|0}f=o;if((h&1)==0){k=f;l=b+4|0;m=0;n=1;break}else{k=f;l=c[b+8>>2]|0;m=1;n=1;break}}}while(0);if((h&1)==0){p=(h&255)>>>1}else{p=c[b+4>>2]|0}hu(k,l,p+1|0)|0;if(m){Pu(l)}if(n){c[b>>2]=j+1|1;c[b+4>>2]=i;c[b+8>>2]=k;return}else{a[e]=i<<1;return}}function Gm(b,d){b=b|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;e=b;f=a[e]|0;g=(f&1)!=0;if(g){h=c[b+4>>2]|0;i=(c[b>>2]&-2)-1|0}else{h=(f&255)>>>1;i=1}if((h|0)==(i|0)){Im(b,i,1,i,i,0,0);if((a[e]&1)==0){j=7}else{j=8}}else{if(g){j=8}else{j=7}}if((j|0)==7){a[e]=(h<<1)+2;k=b+4|0;l=h+1|0;m=k+(h<<2)|0;c[m>>2]=d;n=k+(l<<2)|0;c[n>>2]=0;return}else if((j|0)==8){j=c[b+8>>2]|0;e=h+1|0;c[b+4>>2]=e;k=j;l=e;m=k+(h<<2)|0;c[m>>2]=d;n=k+(l<<2)|0;c[n>>2]=0;return}}function Hm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((1073741806-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){k=b+4|0}else{k=c[b+8>>2]|0}do{if(d>>>0<536870887>>>0){l=e+d|0;m=d<<1;n=l>>>0<m>>>0?m:l;if(n>>>0<2>>>0){o=2;break}o=n+4&-4}else{o=1073741807}}while(0);e=Nu(o<<2)|0;if((g|0)!=0){hu(e,k,g)|0}if((i|0)!=0){hu(e+(g<<2)|0,j,i)|0}j=f-h|0;if((j|0)!=(g|0)){hu(e+(i+g<<2)|0,k+(h+g<<2)|0,j-g|0)|0}if((d|0)==1){p=b+8|0;c[p>>2]=e;q=o|1;r=b|0;c[r>>2]=q;s=j+i|0;t=b+4|0;c[t>>2]=s;u=e+(s<<2)|0;c[u>>2]=0;return}Pu(k);p=b+8|0;c[p>>2]=e;q=o|1;r=b|0;c[r>>2]=q;s=j+i|0;t=b+4|0;c[t>>2]=s;u=e+(s<<2)|0;c[u>>2]=0;return}function Im(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((1073741807-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){j=b+4|0}else{j=c[b+8>>2]|0}do{if(d>>>0<536870887>>>0){k=e+d|0;l=d<<1;m=k>>>0<l>>>0?l:k;if(m>>>0<2>>>0){n=2;break}n=m+4&-4}else{n=1073741807}}while(0);e=Nu(n<<2)|0;if((g|0)!=0){hu(e,j,g)|0}m=f-h|0;if((m|0)!=(g|0)){hu(e+(i+g<<2)|0,j+(h+g<<2)|0,m-g|0)|0}if((d|0)==1){o=b+8|0;c[o>>2]=e;p=n|1;q=b|0;c[q>>2]=p;return}Pu(j);o=b+8|0;c[o>>2]=e;p=n|1;q=b|0;c[q>>2]=p;return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+8|0;f=e|0;g=(c[b+24>>2]|0)==0;if(g){c[b+16>>2]=d|1}else{c[b+16>>2]=d}if(((g&1|d)&c[b+20>>2]|0)==0){i=e;return}e=pc(16)|0;do{if((a[51816]|0)==0){if((ub(51816)|0)==0){break}c[8332]=21064;Ub(74,33328,u|0)|0}}while(0);b=jv(33328,0,32)|0;c[f>>2]=b|1;c[f+4>>2]=K;jm(e,f,13504);c[e>>2]=20248;Fb(e|0,26120,38)}function Km(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=20224;b=c[a+40>>2]|0;d=a+32|0;e=a+36|0;if((b|0)!=0){f=b;do{f=f-1|0;Tc[c[(c[d>>2]|0)+(f<<2)>>2]&63](0,a,c[(c[e>>2]|0)+(f<<2)>>2]|0);}while((f|0)!=0)}Vr(a+28|0);Hu(c[d>>2]|0);Hu(c[e>>2]|0);Hu(c[a+48>>2]|0);Hu(c[a+60>>2]|0);return}function Lm(a,b){a=a|0;b=b|0;Ur(a,b+28|0);return}function Mm(a,b){a=a|0;b=b|0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;dv(a+32|0,0,40)|0;Tr(a+28|0);return}function Nm(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);Pu(a);return}function Om(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);return}function Pm(a,b){a=a|0;b=b|0;return}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Rm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function Sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=i;b=d;d=i;i=i+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;i=e;return}function Tm(a){a=a|0;return 0}function Um(a){a=a|0;return 0}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=b;if((e|0)<=0){g=0;return g|0}h=b+12|0;i=b+16|0;j=d;d=0;while(1){k=c[h>>2]|0;if(k>>>0<(c[i>>2]|0)>>>0){c[h>>2]=k+1;l=a[k]|0}else{k=Fc[c[(c[f>>2]|0)+40>>2]&255](b)|0;if((k|0)==-1){g=d;m=8;break}l=k&255}a[j]=l;k=d+1|0;if((k|0)<(e|0)){j=j+1|0;d=k}else{g=k;m=8;break}}if((m|0)==8){return g|0}return 0}function Wm(a){a=a|0;return-1|0}function Xm(a){a=a|0;var b=0,e=0;if((Fc[c[(c[a>>2]|0)+36>>2]&255](a)|0)==-1){b=-1;return b|0}e=a+12|0;a=c[e>>2]|0;c[e>>2]=a+1;b=d[a]|0;return b|0}function Ym(a,b){a=a|0;b=b|0;return-1|0}function Zm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b;if((f|0)<=0){h=0;return h|0}i=b+24|0;j=b+28|0;k=0;l=e;while(1){e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){m=a[l]|0;c[i>>2]=e+1;a[e]=m}else{if((Qc[c[(c[g>>2]|0)+52>>2]&63](b,d[l]|0)|0)==-1){h=k;n=7;break}}m=k+1|0;if((m|0)<(f|0)){k=m;l=l+1|0}else{h=m;n=7;break}}if((n|0)==7){return h|0}return 0}function _m(a,b){a=a|0;b=b|0;return-1|0}function $m(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);Pu(a);return}function an(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);return}function bn(a,b){a=a|0;b=b|0;return}function cn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function en(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=i;b=d;d=i;i=i+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;i=e;return}function fn(a){a=a|0;return 0}function gn(a){a=a|0;return 0}function hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a;if((d|0)<=0){f=0;return f|0}g=a+12|0;h=a+16|0;i=b;b=0;while(1){j=c[g>>2]|0;if(j>>>0<(c[h>>2]|0)>>>0){c[g>>2]=j+4;k=c[j>>2]|0}else{j=Fc[c[(c[e>>2]|0)+40>>2]&255](a)|0;if((j|0)==-1){f=b;l=8;break}else{k=j}}c[i>>2]=k;j=b+1|0;if((j|0)>=(d|0)){f=j;l=8;break}i=i+4|0;b=j}if((l|0)==8){return f|0}return 0}function jn(a){a=a|0;return-1|0}function kn(a){a=a|0;var b=0,d=0;if((Fc[c[(c[a>>2]|0)+36>>2]&255](a)|0)==-1){b=-1;return b|0}d=a+12|0;a=c[d>>2]|0;c[d>>2]=a+4;b=c[a>>2]|0;return b|0}function ln(a,b){a=a|0;b=b|0;return-1|0}function mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a;if((d|0)<=0){f=0;return f|0}g=a+24|0;h=a+28|0;i=0;j=b;while(1){b=c[g>>2]|0;if(b>>>0<(c[h>>2]|0)>>>0){k=c[j>>2]|0;c[g>>2]=b+4;c[b>>2]=k}else{if((Qc[c[(c[e>>2]|0)+52>>2]&63](a,c[j>>2]|0)|0)==-1){f=i;l=8;break}}k=i+1|0;if((k|0)>=(d|0)){f=k;l=8;break}i=k;j=j+4|0}if((l|0)==8){return f|0}return 0}function nn(a,b){a=a|0;b=b|0;return-1|0}function on(a){a=a|0;Km(a+8|0);Pu(a);return}function pn(a){a=a|0;Km(a+8|0);return}function qn(a){a=a|0;var b=0,d=0;b=a;d=c[(c[a>>2]|0)-12>>2]|0;Km(b+(d+8)|0);Pu(b+d|0);return}function rn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+8)|0);return}function sn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+8|0;e=d|0;f=b;g=c[(c[f>>2]|0)-12>>2]|0;h=b;if((c[h+(g+24)>>2]|0)==0){i=d;return b|0}j=e|0;a[j]=0;c[e+4>>2]=b;do{if((c[h+(g+16)>>2]|0)==0){k=c[h+(g+72)>>2]|0;if((k|0)==0){l=g}else{sn(k)|0;l=c[(c[f>>2]|0)-12>>2]|0}a[j]=1;k=c[h+(l+24)>>2]|0;if(!((Fc[c[(c[k>>2]|0)+24>>2]&255](k)|0)==-1)){break}k=c[(c[f>>2]|0)-12>>2]|0;Jm(h+k|0,c[h+(k+16)>>2]|1)}}while(0);Cn(e);i=d;return b|0}function tn(a){a=a|0;Km(a+8|0);Pu(a);return}function un(a){a=a|0;Km(a+8|0);return}function vn(a){a=a|0;var b=0,d=0;b=a;d=c[(c[a>>2]|0)-12>>2]|0;Km(b+(d+8)|0);Pu(b+d|0);return}function wn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+8)|0);return}function xn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+8|0;e=d|0;f=b;g=c[(c[f>>2]|0)-12>>2]|0;h=b;if((c[h+(g+24)>>2]|0)==0){i=d;return b|0}j=e|0;a[j]=0;c[e+4>>2]=b;do{if((c[h+(g+16)>>2]|0)==0){k=c[h+(g+72)>>2]|0;if((k|0)==0){l=g}else{xn(k)|0;l=c[(c[f>>2]|0)-12>>2]|0}a[j]=1;k=c[h+(l+24)>>2]|0;if(!((Fc[c[(c[k>>2]|0)+24>>2]&255](k)|0)==-1)){break}k=c[(c[f>>2]|0)-12>>2]|0;Jm(h+k|0,c[h+(k+16)>>2]|1)}}while(0);Hn(e);i=d;return b|0}function yn(a){a=a|0;Km(a+4|0);Pu(a);return}function zn(a){a=a|0;Km(a+4|0);return}function An(a){a=a|0;var b=0,d=0;b=a;d=c[(c[a>>2]|0)-12>>2]|0;Km(b+(d+4)|0);Pu(b+d|0);return}function Bn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+4)|0);return}function Cn(a){a=a|0;var b=0,d=0,e=0;b=a+4|0;a=c[b>>2]|0;d=c[(c[a>>2]|0)-12>>2]|0;e=a;if((c[e+(d+24)>>2]|0)==0){return}if((c[e+(d+16)>>2]|0)!=0){return}if((c[e+(d+4)>>2]&8192|0)==0){return}if(zb()|0){return}d=c[b>>2]|0;e=c[d+((c[(c[d>>2]|0)-12>>2]|0)+24)>>2]|0;if(!((Fc[c[(c[e>>2]|0)+24>>2]&255](e)|0)==-1)){return}e=c[b>>2]|0;b=c[(c[e>>2]|0)-12>>2]|0;d=e;Jm(d+b|0,c[d+(b+16)>>2]|1);return}function Dn(a){a=a|0;Km(a+4|0);Pu(a);return}function En(a){a=a|0;Km(a+4|0);return}function Fn(a){a=a|0;var b=0,d=0;b=a;d=c[(c[a>>2]|0)-12>>2]|0;Km(b+(d+4)|0);Pu(b+d|0);return}function Gn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+4)|0);return}function Hn(a){a=a|0;var b=0,d=0,e=0;b=a+4|0;a=c[b>>2]|0;d=c[(c[a>>2]|0)-12>>2]|0;e=a;if((c[e+(d+24)>>2]|0)==0){return}if((c[e+(d+16)>>2]|0)!=0){return}if((c[e+(d+4)>>2]&8192|0)==0){return}if(zb()|0){return}d=c[b>>2]|0;e=c[d+((c[(c[d>>2]|0)-12>>2]|0)+24)>>2]|0;if(!((Fc[c[(c[e>>2]|0)+24>>2]&255](e)|0)==-1)){return}e=c[b>>2]|0;b=c[(c[e>>2]|0)-12>>2]|0;d=e;Jm(d+b|0,c[d+(b+16)>>2]|1);return}function In(a){a=a|0;return 15656}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)==1){pm(a,16464,35);return}else{hm(a,b|0,c);return}}function Kn(a){a=a|0;dm(a|0);return}function Ln(a){a=a|0;lm(a|0);Pu(a);return}function Mn(a){a=a|0;lm(a|0);return}function Nn(a){a=a|0;Km(a);Pu(a);return}function On(a){a=a|0;dm(a|0);Pu(a);return}function Pn(a){a=a|0;Sl(a|0);Pu(a);return}function Qn(a){a=a|0;Sl(a|0);return}function Rn(a){a=a|0;Sl(a|0);return}function Sn(b,c,d,e,f){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;a:do{if((e|0)==(f|0)){g=c}else{b=c;h=e;while(1){if((b|0)==(d|0)){i=-1;j=7;break}k=a[b]|0;l=a[h]|0;if(k<<24>>24<l<<24>>24){i=-1;j=7;break}if(l<<24>>24<k<<24>>24){i=1;j=7;break}k=b+1|0;l=h+1|0;if((l|0)==(f|0)){g=k;break a}else{b=k;h=l}}if((j|0)==7){return i|0}}}while(0);i=(g|0)!=(d|0)|0;return i|0}function Tn(b,d,e,f){b=b|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;d=e;g=f-d|0;if(g>>>0>4294967279>>>0){nm(b)}if(g>>>0<11>>>0){a[b]=g<<1;h=b+1|0}else{i=g+16&-16;j=Nu(i)|0;c[b+8>>2]=j;c[b>>2]=i|1;c[b+4>>2]=g;h=j}if((e|0)==(f|0)){k=h;a[k]=0;return}else{l=h;m=e}while(1){a[l]=a[m]|0;e=m+1|0;if((e|0)==(f|0)){break}else{l=l+1|0;m=e}}k=h+(f+(-d|0))|0;a[k]=0;return}function Un(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if((c|0)==(d|0)){e=0;return e|0}else{f=c;g=0}while(1){c=(a[f]|0)+(g<<4)|0;b=c&-268435456;h=(b>>>24|b)^c;c=f+1|0;if((c|0)==(d|0)){e=h;break}else{f=c;g=h}}return e|0}function Vn(a){a=a|0;Sl(a|0);Pu(a);return}function Wn(a){a=a|0;Sl(a|0);return}function Xn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;a:do{if((e|0)==(f|0)){g=b;h=6}else{a=b;i=e;while(1){if((a|0)==(d|0)){j=-1;break a}k=c[a>>2]|0;l=c[i>>2]|0;if((k|0)<(l|0)){j=-1;break a}if((l|0)<(k|0)){j=1;break a}k=a+4|0;l=i+4|0;if((l|0)==(f|0)){g=k;h=6;break}else{a=k;i=l}}}}while(0);if((h|0)==6){j=(g|0)!=(d|0)|0}return j|0}function Yn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;d=e;g=f-d|0;h=g>>2;if(h>>>0>1073741807>>>0){nm(b)}if(h>>>0<2>>>0){a[b]=g>>>1;i=b+4|0}else{g=h+4&-4;j=Nu(g<<2)|0;c[b+8>>2]=j;c[b>>2]=g|1;c[b+4>>2]=h;i=j}if((e|0)==(f|0)){k=i;c[k>>2]=0;return}j=f-4+(-d|0)|0;d=i;h=e;while(1){c[d>>2]=c[h>>2];e=h+4|0;if((e|0)==(f|0)){break}else{d=d+4|0;h=e}}k=i+((j>>>2)+1<<2)|0;c[k>>2]=0;return}function Zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((b|0)==(d|0)){e=0;return e|0}else{f=b;g=0}while(1){b=(c[f>>2]|0)+(g<<4)|0;a=b&-268435456;h=(a>>>24|a)^b;b=f+4|0;if((b|0)==(d|0)){e=h;break}else{f=b;g=h}}return e|0}function _n(a){a=a|0;Sl(a|0);Pu(a);return}function $n(a){a=a|0;Sl(a|0);return}function ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0;k=i;i=i+112|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=k|0;m=k+16|0;n=k+32|0;o=k+40|0;p=k+48|0;q=k+56|0;r=k+64|0;s=k+72|0;t=k+80|0;u=k+104|0;if((c[g+4>>2]&1|0)==0){c[n>>2]=-1;v=c[(c[d>>2]|0)+16>>2]|0;w=e|0;c[p>>2]=c[w>>2];c[q>>2]=c[f>>2];Mc[v&127](o,d,p,q,g,h,n);q=c[o>>2]|0;c[w>>2]=q;w=c[n>>2]|0;if((w|0)==0){a[j]=0}else if((w|0)==1){a[j]=1}else{a[j]=1;c[h>>2]=4}c[b>>2]=q;i=k;return}Lm(r,g);q=r|0;r=c[q>>2]|0;if(!((c[8716]|0)==-1)){c[m>>2]=34864;c[m+4>>2]=16;c[m+8>>2]=0;mm(34864,m,114)}m=(c[8717]|0)-1|0;w=c[r+8>>2]|0;do{if((c[r+12>>2]|0)-w>>2>>>0>m>>>0){n=c[w+(m<<2)>>2]|0;if((n|0)==0){break}o=n;Ul(c[q>>2]|0)|0;Lm(s,g);n=s|0;p=c[n>>2]|0;if(!((c[8620]|0)==-1)){c[l>>2]=34480;c[l+4>>2]=16;c[l+8>>2]=0;mm(34480,l,114)}d=(c[8621]|0)-1|0;v=c[p+8>>2]|0;do{if((c[p+12>>2]|0)-v>>2>>>0>d>>>0){x=c[v+(d<<2)>>2]|0;if((x|0)==0){break}y=x;Ul(c[n>>2]|0)|0;z=t|0;A=x;Ec[c[(c[A>>2]|0)+24>>2]&127](z,y);Ec[c[(c[A>>2]|0)+28>>2]&127](t+12|0,y);c[u>>2]=c[f>>2];y=(bo(e,u,z,t+24|0,o,h,1)|0)==(z|0)|0;a[j]=y;c[b>>2]=c[e>>2];rm(t+12|0);rm(t|0);i=k;return}}while(0);o=pc(4)|0;lu(o);Fb(o|0,25544,156)}}while(0);k=pc(4)|0;lu(k);Fb(k|0,25544,156)}function bo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;k=i;i=i+104|0;l=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[l>>2];l=(f-e|0)/12|0;m=k|0;do{if(l>>>0>100>>>0){n=Gu(l)|0;if((n|0)!=0){o=n;p=n;break}Uu();o=0;p=0}else{o=m;p=0}}while(0);m=(e|0)==(f|0);if(m){q=l;r=0}else{n=l;l=0;s=o;t=e;while(1){u=a[t]|0;if((u&1)==0){v=(u&255)>>>1}else{v=c[t+4>>2]|0}if((v|0)==0){a[s]=2;w=l+1|0;x=n-1|0}else{a[s]=1;w=l;x=n}u=t+12|0;if((u|0)==(f|0)){q=x;r=w;break}else{n=x;l=w;s=s+1|0;t=u}}}t=b|0;b=d|0;d=g;s=0;w=r;r=q;a:while(1){q=c[t>>2]|0;do{if((q|0)==0){y=0}else{if((c[q+12>>2]|0)!=(c[q+16>>2]|0)){y=q;break}if((Fc[c[(c[q>>2]|0)+36>>2]&255](q)|0)==-1){c[t>>2]=0;y=0;break}else{y=c[t>>2]|0;break}}}while(0);q=(y|0)==0;l=c[b>>2]|0;do{if((l|0)==0){z=0}else{if((c[l+12>>2]|0)!=(c[l+16>>2]|0)){z=l;break}if(!((Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0)==-1)){z=l;break}c[b>>2]=0;z=0}}while(0);A=(z|0)==0;B=c[t>>2]|0;if(!((q^A)&(r|0)!=0)){break}l=c[B+12>>2]|0;if((l|0)==(c[B+16>>2]|0)){C=(Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)&255}else{C=a[l]|0}if(j){D=C}else{D=Qc[c[(c[d>>2]|0)+12>>2]&63](g,C)|0}l=s+1|0;if(m){s=l;w=w;r=r;continue}b:do{if(j){x=r;n=w;v=o;u=0;E=e;while(1){do{if((a[v]|0)==1){F=a[E]|0;G=(F&1)==0;if(G){H=E+1|0}else{H=c[E+8>>2]|0}if(!(D<<24>>24==(a[H+s|0]|0))){a[v]=0;I=u;J=n;K=x-1|0;break}if(G){L=(F&255)>>>1}else{L=c[E+4>>2]|0}if((L|0)!=(l|0)){I=1;J=n;K=x;break}a[v]=2;I=1;J=n+1|0;K=x-1|0}else{I=u;J=n;K=x}}while(0);F=E+12|0;if((F|0)==(f|0)){M=K;N=J;O=I;break b}x=K;n=J;v=v+1|0;u=I;E=F}}else{E=r;u=w;v=o;n=0;x=e;while(1){do{if((a[v]|0)==1){F=x;if((a[F]&1)==0){P=x+1|0}else{P=c[x+8>>2]|0}if(!(D<<24>>24==(Qc[c[(c[d>>2]|0)+12>>2]&63](g,a[P+s|0]|0)|0)<<24>>24)){a[v]=0;Q=n;R=u;S=E-1|0;break}G=a[F]|0;if((G&1)==0){T=(G&255)>>>1}else{T=c[x+4>>2]|0}if((T|0)!=(l|0)){Q=1;R=u;S=E;break}a[v]=2;Q=1;R=u+1|0;S=E-1|0}else{Q=n;R=u;S=E}}while(0);G=x+12|0;if((G|0)==(f|0)){M=S;N=R;O=Q;break b}E=S;u=R;v=v+1|0;n=Q;x=G}}}while(0);if(!O){s=l;w=N;r=M;continue}q=c[t>>2]|0;x=q+12|0;n=c[x>>2]|0;if((n|0)==(c[q+16>>2]|0)){Fc[c[(c[q>>2]|0)+40>>2]&255](q)|0}else{c[x>>2]=n+1}if((M+N|0)>>>0<2>>>0){s=l;w=N;r=M;continue}else{U=N;V=o;W=e}while(1){do{if((a[V]|0)==2){n=a[W]|0;if((n&1)==0){X=(n&255)>>>1}else{X=c[W+4>>2]|0}if((X|0)==(l|0)){Y=U;break}a[V]=0;Y=U-1|0}else{Y=U}}while(0);n=W+12|0;if((n|0)==(f|0)){s=l;w=Y;r=M;continue a}else{U=Y;V=V+1|0;W=n}}}do{if((B|0)==0){Z=0}else{if((c[B+12>>2]|0)!=(c[B+16>>2]|0)){Z=B;break}if((Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)==-1){c[t>>2]=0;Z=0;break}else{Z=c[t>>2]|0;break}}}while(0);t=(Z|0)==0;do{if(A){_=92}else{if((c[z+12>>2]|0)!=(c[z+16>>2]|0)){if(t){break}else{_=94;break}}if((Fc[c[(c[z>>2]|0)+36>>2]&255](z)|0)==-1){c[b>>2]=0;_=92;break}else{if(t){break}else{_=94;break}}}}while(0);if((_|0)==92){if(t){_=94}}if((_|0)==94){c[h>>2]=c[h>>2]|2}c:do{if(m){_=99}else{if((a[o]|0)==2){$=e;break}else{aa=e;ba=o}while(1){t=aa+12|0;b=ba+1|0;if((t|0)==(f|0)){_=99;break c}if((a[b]|0)==2){$=t;break}else{aa=t;ba=b}}}}while(0);if((_|0)==99){c[h>>2]=c[h>>2]|4;$=f}if((p|0)==0){ca=100;da=0;i=k;return $|0}Hu(p);ca=100;da=0;i=k;return $|0}function co(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];eo(a,0,j,k,f,g,h);i=b;return}function eo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+256|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+32|0;m=d+40|0;n=d+56|0;o=d+72|0;p=d+80|0;q=d+240|0;r=d+248|0;s=c[g+4>>2]&74;if((s|0)==64){t=8}else if((s|0)==0){t=0}else if((s|0)==8){t=16}else{t=10}s=k|0;Wo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=a[l]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=0}else{if((c[u+12>>2]|0)!=(c[u+16>>2]|0)){A=u;break}if(!((Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0)==-1)){A=u;break}c[x>>2]=0;A=0}}while(0);B=(A|0)==0;C=c[e>>2]|0;do{if((C|0)==0){D=21}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){if(B){E=C;break}else{F=l;G=C;break a}}if((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1){c[e>>2]=0;D=21;break}else{if(B){E=C;break}else{F=l;G=C;break a}}}}while(0);if((D|0)==21){D=0;if(B){F=l;G=0;break}else{E=0}}C=a[g]|0;H=(C&1)==0;if(H){I=(C&255)>>>1}else{I=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(I|0)){if(H){J=(C&255)>>>1;K=(C&255)>>>1}else{C=c[y>>2]|0;J=C;K=C}tm(n,J<<1,0);if((a[g]&1)==0){L=10}else{L=(c[f>>2]&-2)-1|0}tm(n,L,0);if((a[g]&1)==0){M=v}else{M=c[w>>2]|0}c[o>>2]=M+K;N=M}else{N=l}C=A+12|0;H=c[C>>2]|0;O=A+16|0;if((H|0)==(c[O>>2]|0)){P=(Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)&255}else{P=a[H]|0}if((wo(P,t,N,o,r,z,m,k,q,s)|0)!=0){F=N;G=E;break}H=c[C>>2]|0;if((H|0)==(c[O>>2]|0)){Fc[c[(c[A>>2]|0)+40>>2]&255](A)|0;l=N;u=A;continue}else{c[C>>2]=H+1;l=N;u=A;continue}}u=a[m]|0;if((u&1)==0){Q=(u&255)>>>1}else{Q=c[m+4>>2]|0}do{if((Q|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}N=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=N}}while(0);r=Rt(F,c[o>>2]|0,h,t)|0;c[j>>2]=r;hr(m,k,c[q>>2]|0,h);do{if((A|0)==0){R=0}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){R=A;break}if(!((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1)){R=A;break}c[x>>2]=0;R=0}}while(0);x=(R|0)==0;do{if((G|0)==0){D=66}else{if((c[G+12>>2]|0)!=(c[G+16>>2]|0)){if(!x){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}if((Fc[c[(c[G>>2]|0)+36>>2]&255](G)|0)==-1){c[e>>2]=0;D=66;break}if(!(x^(G|0)==0)){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}}while(0);do{if((D|0)==66){if(x){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}}while(0);c[h>>2]=c[h>>2]|2;S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}function fo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];go(a,0,j,k,f,g,h);i=b;return}function go(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=i;i=i+256|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+32|0;m=d+40|0;n=d+56|0;o=d+72|0;p=d+80|0;q=d+240|0;r=d+248|0;s=c[g+4>>2]&74;if((s|0)==64){t=8}else if((s|0)==8){t=16}else if((s|0)==0){t=0}else{t=10}s=k|0;Wo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=a[l]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=0}else{if((c[u+12>>2]|0)!=(c[u+16>>2]|0)){A=u;break}if(!((Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0)==-1)){A=u;break}c[x>>2]=0;A=0}}while(0);B=(A|0)==0;C=c[e>>2]|0;do{if((C|0)==0){D=21}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){if(B){E=C;break}else{F=l;G=C;break a}}if((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1){c[e>>2]=0;D=21;break}else{if(B){E=C;break}else{F=l;G=C;break a}}}}while(0);if((D|0)==21){D=0;if(B){F=l;G=0;break}else{E=0}}C=a[g]|0;H=(C&1)==0;if(H){I=(C&255)>>>1}else{I=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(I|0)){if(H){J=(C&255)>>>1;L=(C&255)>>>1}else{C=c[y>>2]|0;J=C;L=C}tm(n,J<<1,0);if((a[g]&1)==0){M=10}else{M=(c[f>>2]&-2)-1|0}tm(n,M,0);if((a[g]&1)==0){N=v}else{N=c[w>>2]|0}c[o>>2]=N+L;O=N}else{O=l}C=A+12|0;H=c[C>>2]|0;P=A+16|0;if((H|0)==(c[P>>2]|0)){Q=(Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)&255}else{Q=a[H]|0}if((wo(Q,t,O,o,r,z,m,k,q,s)|0)!=0){F=O;G=E;break}H=c[C>>2]|0;if((H|0)==(c[P>>2]|0)){Fc[c[(c[A>>2]|0)+40>>2]&255](A)|0;l=O;u=A;continue}else{c[C>>2]=H+1;l=O;u=A;continue}}u=a[m]|0;if((u&1)==0){R=(u&255)>>>1}else{R=c[m+4>>2]|0}do{if((R|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}O=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=O}}while(0);r=Qt(F,c[o>>2]|0,h,t)|0;c[j>>2]=r;c[j+4>>2]=K;hr(m,k,c[q>>2]|0,h);do{if((A|0)==0){S=0}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){S=A;break}if(!((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1)){S=A;break}c[x>>2]=0;S=0}}while(0);x=(S|0)==0;do{if((G|0)==0){D=66}else{if((c[G+12>>2]|0)!=(c[G+16>>2]|0)){if(!x){break}T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}if((Fc[c[(c[G>>2]|0)+36>>2]&255](G)|0)==-1){c[e>>2]=0;D=66;break}if(!(x^(G|0)==0)){break}T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}}while(0);do{if((D|0)==66){if(x){break}T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}}while(0);c[h>>2]=c[h>>2]|2;T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}function ho(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];io(a,0,j,k,f,g,h);i=b;return}function io(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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;e=i;i=i+256|0;l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=g;g=i;i=i+4|0;i=i+7&-8;c[g>>2]=c[l>>2];l=e|0;m=e+32|0;n=e+40|0;o=e+56|0;p=e+72|0;q=e+80|0;r=e+240|0;s=e+248|0;t=c[h+4>>2]&74;if((t|0)==64){u=8}else if((t|0)==0){u=0}else if((t|0)==8){u=16}else{u=10}t=l|0;Wo(n,h,t,m);h=o;dv(h|0,0,12)|0;tm(o,10,0);if((a[h]&1)==0){l=o+1|0;v=l;w=l;x=o+8|0}else{l=o+8|0;v=c[l>>2]|0;w=o+1|0;x=l}c[p>>2]=v;l=q|0;c[r>>2]=l;c[s>>2]=0;y=f|0;f=g|0;g=o|0;z=o+4|0;A=a[m]|0;m=v;v=c[y>>2]|0;a:while(1){do{if((v|0)==0){B=0}else{if((c[v+12>>2]|0)!=(c[v+16>>2]|0)){B=v;break}if(!((Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0)==-1)){B=v;break}c[y>>2]=0;B=0}}while(0);C=(B|0)==0;D=c[f>>2]|0;do{if((D|0)==0){E=21}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){if(C){F=D;break}else{G=m;H=D;break a}}if((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1){c[f>>2]=0;E=21;break}else{if(C){F=D;break}else{G=m;H=D;break a}}}}while(0);if((E|0)==21){E=0;if(C){G=m;H=0;break}else{F=0}}D=a[h]|0;I=(D&1)==0;if(I){J=(D&255)>>>1}else{J=c[z>>2]|0}if(((c[p>>2]|0)-m|0)==(J|0)){if(I){K=(D&255)>>>1;L=(D&255)>>>1}else{D=c[z>>2]|0;K=D;L=D}tm(o,K<<1,0);if((a[h]&1)==0){M=10}else{M=(c[g>>2]&-2)-1|0}tm(o,M,0);if((a[h]&1)==0){N=w}else{N=c[x>>2]|0}c[p>>2]=N+L;O=N}else{O=m}D=B+12|0;I=c[D>>2]|0;P=B+16|0;if((I|0)==(c[P>>2]|0)){Q=(Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)&255}else{Q=a[I]|0}if((wo(Q,u,O,p,s,A,n,l,r,t)|0)!=0){G=O;H=F;break}I=c[D>>2]|0;if((I|0)==(c[P>>2]|0)){Fc[c[(c[B>>2]|0)+40>>2]&255](B)|0;m=O;v=B;continue}else{c[D>>2]=I+1;m=O;v=B;continue}}v=a[n]|0;if((v&1)==0){R=(v&255)>>>1}else{R=c[n+4>>2]|0}do{if((R|0)!=0){v=c[r>>2]|0;if((v-q|0)>=160){break}O=c[s>>2]|0;c[r>>2]=v+4;c[v>>2]=O}}while(0);s=Pt(G,c[p>>2]|0,j,u)|0;b[k>>1]=s;hr(n,l,c[r>>2]|0,j);do{if((B|0)==0){S=0}else{if((c[B+12>>2]|0)!=(c[B+16>>2]|0)){S=B;break}if(!((Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)==-1)){S=B;break}c[y>>2]=0;S=0}}while(0);y=(S|0)==0;do{if((H|0)==0){E=66}else{if((c[H+12>>2]|0)!=(c[H+16>>2]|0)){if(!y){break}T=d|0;c[T>>2]=S;U=160;V=0;rm(o);rm(n);i=e;return}if((Fc[c[(c[H>>2]|0)+36>>2]&255](H)|0)==-1){c[f>>2]=0;E=66;break}if(!(y^(H|0)==0)){break}T=d|0;c[T>>2]=S;U=160;V=0;rm(o);rm(n);i=e;return}}while(0);do{if((E|0)==66){if(y){break}T=d|0;c[T>>2]=S;U=160;V=0;rm(o);rm(n);i=e;return}}while(0);c[j>>2]=c[j>>2]|2;T=d|0;c[T>>2]=S;U=160;V=0;rm(o);rm(n);i=e;return}function jo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];ko(a,0,j,k,f,g,h);i=b;return}function ko(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+256|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+32|0;m=d+40|0;n=d+56|0;o=d+72|0;p=d+80|0;q=d+240|0;r=d+248|0;s=c[g+4>>2]&74;if((s|0)==64){t=8}else if((s|0)==8){t=16}else if((s|0)==0){t=0}else{t=10}s=k|0;Wo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=a[l]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=0}else{if((c[u+12>>2]|0)!=(c[u+16>>2]|0)){A=u;break}if(!((Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0)==-1)){A=u;break}c[x>>2]=0;A=0}}while(0);B=(A|0)==0;C=c[e>>2]|0;do{if((C|0)==0){D=21}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){if(B){E=C;break}else{F=l;G=C;break a}}if((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1){c[e>>2]=0;D=21;break}else{if(B){E=C;break}else{F=l;G=C;break a}}}}while(0);if((D|0)==21){D=0;if(B){F=l;G=0;break}else{E=0}}C=a[g]|0;H=(C&1)==0;if(H){I=(C&255)>>>1}else{I=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(I|0)){if(H){J=(C&255)>>>1;K=(C&255)>>>1}else{C=c[y>>2]|0;J=C;K=C}tm(n,J<<1,0);if((a[g]&1)==0){L=10}else{L=(c[f>>2]&-2)-1|0}tm(n,L,0);if((a[g]&1)==0){M=v}else{M=c[w>>2]|0}c[o>>2]=M+K;N=M}else{N=l}C=A+12|0;H=c[C>>2]|0;O=A+16|0;if((H|0)==(c[O>>2]|0)){P=(Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)&255}else{P=a[H]|0}if((wo(P,t,N,o,r,z,m,k,q,s)|0)!=0){F=N;G=E;break}H=c[C>>2]|0;if((H|0)==(c[O>>2]|0)){Fc[c[(c[A>>2]|0)+40>>2]&255](A)|0;l=N;u=A;continue}else{c[C>>2]=H+1;l=N;u=A;continue}}u=a[m]|0;if((u&1)==0){Q=(u&255)>>>1}else{Q=c[m+4>>2]|0}do{if((Q|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}N=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=N}}while(0);r=Ot(F,c[o>>2]|0,h,t)|0;c[j>>2]=r;hr(m,k,c[q>>2]|0,h);do{if((A|0)==0){R=0}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){R=A;break}if(!((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1)){R=A;break}c[x>>2]=0;R=0}}while(0);x=(R|0)==0;do{if((G|0)==0){D=66}else{if((c[G+12>>2]|0)!=(c[G+16>>2]|0)){if(!x){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}if((Fc[c[(c[G>>2]|0)+36>>2]&255](G)|0)==-1){c[e>>2]=0;D=66;break}if(!(x^(G|0)==0)){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}}while(0);do{if((D|0)==66){if(x){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}}while(0);c[h>>2]=c[h>>2]|2;S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}function lo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];mo(a,0,j,k,f,g,h);i=b;return}function mo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+256|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+32|0;m=d+40|0;n=d+56|0;o=d+72|0;p=d+80|0;q=d+240|0;r=d+248|0;s=c[g+4>>2]&74;if((s|0)==64){t=8}else if((s|0)==0){t=0}else if((s|0)==8){t=16}else{t=10}s=k|0;Wo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=a[l]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=0}else{if((c[u+12>>2]|0)!=(c[u+16>>2]|0)){A=u;break}if(!((Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0)==-1)){A=u;break}c[x>>2]=0;A=0}}while(0);B=(A|0)==0;C=c[e>>2]|0;do{if((C|0)==0){D=21}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){if(B){E=C;break}else{F=l;G=C;break a}}if((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1){c[e>>2]=0;D=21;break}else{if(B){E=C;break}else{F=l;G=C;break a}}}}while(0);if((D|0)==21){D=0;if(B){F=l;G=0;break}else{E=0}}C=a[g]|0;H=(C&1)==0;if(H){I=(C&255)>>>1}else{I=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(I|0)){if(H){J=(C&255)>>>1;K=(C&255)>>>1}else{C=c[y>>2]|0;J=C;K=C}tm(n,J<<1,0);if((a[g]&1)==0){L=10}else{L=(c[f>>2]&-2)-1|0}tm(n,L,0);if((a[g]&1)==0){M=v}else{M=c[w>>2]|0}c[o>>2]=M+K;N=M}else{N=l}C=A+12|0;H=c[C>>2]|0;O=A+16|0;if((H|0)==(c[O>>2]|0)){P=(Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)&255}else{P=a[H]|0}if((wo(P,t,N,o,r,z,m,k,q,s)|0)!=0){F=N;G=E;break}H=c[C>>2]|0;if((H|0)==(c[O>>2]|0)){Fc[c[(c[A>>2]|0)+40>>2]&255](A)|0;l=N;u=A;continue}else{c[C>>2]=H+1;l=N;u=A;continue}}u=a[m]|0;if((u&1)==0){Q=(u&255)>>>1}else{Q=c[m+4>>2]|0}do{if((Q|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}N=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=N}}while(0);r=Nt(F,c[o>>2]|0,h,t)|0;c[j>>2]=r;hr(m,k,c[q>>2]|0,h);do{if((A|0)==0){R=0}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){R=A;break}if(!((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1)){R=A;break}c[x>>2]=0;R=0}}while(0);x=(R|0)==0;do{if((G|0)==0){D=66}else{if((c[G+12>>2]|0)!=(c[G+16>>2]|0)){if(!x){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}if((Fc[c[(c[G>>2]|0)+36>>2]&255](G)|0)==-1){c[e>>2]=0;D=66;break}if(!(x^(G|0)==0)){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}}while(0);do{if((D|0)==66){if(x){break}S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}}while(0);c[h>>2]=c[h>>2]|2;S=b|0;c[S>>2]=R;T=160;U=0;rm(n);rm(m);i=d;return}function no(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];oo(a,0,j,k,f,g,h);i=b;return}function oo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=i;i=i+256|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+32|0;m=d+40|0;n=d+56|0;o=d+72|0;p=d+80|0;q=d+240|0;r=d+248|0;s=c[g+4>>2]&74;if((s|0)==64){t=8}else if((s|0)==8){t=16}else if((s|0)==0){t=0}else{t=10}s=k|0;Wo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=a[l]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=0}else{if((c[u+12>>2]|0)!=(c[u+16>>2]|0)){A=u;break}if(!((Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0)==-1)){A=u;break}c[x>>2]=0;A=0}}while(0);B=(A|0)==0;C=c[e>>2]|0;do{if((C|0)==0){D=21}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){if(B){E=C;break}else{F=l;G=C;break a}}if((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1){c[e>>2]=0;D=21;break}else{if(B){E=C;break}else{F=l;G=C;break a}}}}while(0);if((D|0)==21){D=0;if(B){F=l;G=0;break}else{E=0}}C=a[g]|0;H=(C&1)==0;if(H){I=(C&255)>>>1}else{I=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(I|0)){if(H){J=(C&255)>>>1;L=(C&255)>>>1}else{C=c[y>>2]|0;J=C;L=C}tm(n,J<<1,0);if((a[g]&1)==0){M=10}else{M=(c[f>>2]&-2)-1|0}tm(n,M,0);if((a[g]&1)==0){N=v}else{N=c[w>>2]|0}c[o>>2]=N+L;O=N}else{O=l}C=A+12|0;H=c[C>>2]|0;P=A+16|0;if((H|0)==(c[P>>2]|0)){Q=(Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)&255}else{Q=a[H]|0}if((wo(Q,t,O,o,r,z,m,k,q,s)|0)!=0){F=O;G=E;break}H=c[C>>2]|0;if((H|0)==(c[P>>2]|0)){Fc[c[(c[A>>2]|0)+40>>2]&255](A)|0;l=O;u=A;continue}else{c[C>>2]=H+1;l=O;u=A;continue}}u=a[m]|0;if((u&1)==0){R=(u&255)>>>1}else{R=c[m+4>>2]|0}do{if((R|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}O=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=O}}while(0);r=Mt(F,c[o>>2]|0,h,t)|0;c[j>>2]=r;c[j+4>>2]=K;hr(m,k,c[q>>2]|0,h);do{if((A|0)==0){S=0}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){S=A;break}if(!((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1)){S=A;break}c[x>>2]=0;S=0}}while(0);x=(S|0)==0;do{if((G|0)==0){D=66}else{if((c[G+12>>2]|0)!=(c[G+16>>2]|0)){if(!x){break}T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}if((Fc[c[(c[G>>2]|0)+36>>2]&255](G)|0)==-1){c[e>>2]=0;D=66;break}if(!(x^(G|0)==0)){break}T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}}while(0);do{if((D|0)==66){if(x){break}T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}}while(0);c[h>>2]=c[h>>2]|2;T=b|0;c[T>>2]=S;U=160;V=0;rm(n);rm(m);i=d;return}function po(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];qo(a,0,j,k,f,g,h);i=b;return}function qo(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var 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,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.0,V=0,W=0,X=0,Y=0;d=i;i=i+280|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d+32|0;m=d+40|0;n=d+48|0;o=d+64|0;p=d+80|0;q=d+88|0;r=d+248|0;s=d+256|0;t=d+264|0;u=d+272|0;v=d|0;Xo(n,h,v,l,m);h=o;dv(h|0,0,12)|0;tm(o,10,0);if((a[h]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;a[t]=1;a[u]=69;A=e|0;e=f|0;f=o|0;B=o+4|0;C=a[l]|0;l=a[m]|0;m=x;x=c[A>>2]|0;a:while(1){do{if((x|0)==0){D=0}else{if((c[x+12>>2]|0)!=(c[x+16>>2]|0)){D=x;break}if(!((Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0)==-1)){D=x;break}c[A>>2]=0;D=0}}while(0);E=(D|0)==0;F=c[e>>2]|0;do{if((F|0)==0){G=17}else{if((c[F+12>>2]|0)!=(c[F+16>>2]|0)){if(E){H=F;break}else{I=m;J=F;break a}}if((Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0)==-1){c[e>>2]=0;G=17;break}else{if(E){H=F;break}else{I=m;J=F;break a}}}}while(0);if((G|0)==17){G=0;if(E){I=m;J=0;break}else{H=0}}F=a[h]|0;K=(F&1)==0;if(K){L=(F&255)>>>1}else{L=c[B>>2]|0}if(((c[p>>2]|0)-m|0)==(L|0)){if(K){M=(F&255)>>>1;N=(F&255)>>>1}else{F=c[B>>2]|0;M=F;N=F}tm(o,M<<1,0);if((a[h]&1)==0){O=10}else{O=(c[f>>2]&-2)-1|0}tm(o,O,0);if((a[h]&1)==0){P=y}else{P=c[z>>2]|0}c[p>>2]=P+N;Q=P}else{Q=m}F=D+12|0;K=c[F>>2]|0;R=D+16|0;if((K|0)==(c[R>>2]|0)){S=(Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)&255}else{S=a[K]|0}if((Yo(S,t,u,Q,p,C,l,n,w,r,s,v)|0)!=0){I=Q;J=H;break}K=c[F>>2]|0;if((K|0)==(c[R>>2]|0)){Fc[c[(c[D>>2]|0)+40>>2]&255](D)|0;m=Q;x=D;continue}else{c[F>>2]=K+1;m=Q;x=D;continue}}x=a[n]|0;if((x&1)==0){T=(x&255)>>>1}else{T=c[n+4>>2]|0}do{if((T|0)!=0){if((a[t]|0)==0){break}x=c[r>>2]|0;if((x-q|0)>=160){break}Q=c[s>>2]|0;c[r>>2]=x+4;c[x>>2]=Q}}while(0);U=+Lt(I,c[p>>2]|0,j);g[k>>2]=U;hr(n,w,c[r>>2]|0,j);do{if((D|0)==0){V=0}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){V=D;break}if(!((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1)){V=D;break}c[A>>2]=0;V=0}}while(0);A=(V|0)==0;do{if((J|0)==0){G=63}else{if((c[J+12>>2]|0)!=(c[J+16>>2]|0)){if(!A){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}if((Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0)==-1){c[e>>2]=0;G=63;break}if(!(A^(J|0)==0)){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}}while(0);do{if((G|0)==63){if(A){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}}while(0);c[j>>2]=c[j>>2]|2;W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}function ro(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];so(a,0,j,k,f,g,h);i=b;return}function so(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,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.0,V=0,W=0,X=0,Y=0;d=i;i=i+280|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d+32|0;m=d+40|0;n=d+48|0;o=d+64|0;p=d+80|0;q=d+88|0;r=d+248|0;s=d+256|0;t=d+264|0;u=d+272|0;v=d|0;Xo(n,g,v,l,m);g=o;dv(g|0,0,12)|0;tm(o,10,0);if((a[g]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;a[t]=1;a[u]=69;A=e|0;e=f|0;f=o|0;B=o+4|0;C=a[l]|0;l=a[m]|0;m=x;x=c[A>>2]|0;a:while(1){do{if((x|0)==0){D=0}else{if((c[x+12>>2]|0)!=(c[x+16>>2]|0)){D=x;break}if(!((Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0)==-1)){D=x;break}c[A>>2]=0;D=0}}while(0);E=(D|0)==0;F=c[e>>2]|0;do{if((F|0)==0){G=17}else{if((c[F+12>>2]|0)!=(c[F+16>>2]|0)){if(E){H=F;break}else{I=m;J=F;break a}}if((Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0)==-1){c[e>>2]=0;G=17;break}else{if(E){H=F;break}else{I=m;J=F;break a}}}}while(0);if((G|0)==17){G=0;if(E){I=m;J=0;break}else{H=0}}F=a[g]|0;K=(F&1)==0;if(K){L=(F&255)>>>1}else{L=c[B>>2]|0}if(((c[p>>2]|0)-m|0)==(L|0)){if(K){M=(F&255)>>>1;N=(F&255)>>>1}else{F=c[B>>2]|0;M=F;N=F}tm(o,M<<1,0);if((a[g]&1)==0){O=10}else{O=(c[f>>2]&-2)-1|0}tm(o,O,0);if((a[g]&1)==0){P=y}else{P=c[z>>2]|0}c[p>>2]=P+N;Q=P}else{Q=m}F=D+12|0;K=c[F>>2]|0;R=D+16|0;if((K|0)==(c[R>>2]|0)){S=(Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)&255}else{S=a[K]|0}if((Yo(S,t,u,Q,p,C,l,n,w,r,s,v)|0)!=0){I=Q;J=H;break}K=c[F>>2]|0;if((K|0)==(c[R>>2]|0)){Fc[c[(c[D>>2]|0)+40>>2]&255](D)|0;m=Q;x=D;continue}else{c[F>>2]=K+1;m=Q;x=D;continue}}x=a[n]|0;if((x&1)==0){T=(x&255)>>>1}else{T=c[n+4>>2]|0}do{if((T|0)!=0){if((a[t]|0)==0){break}x=c[r>>2]|0;if((x-q|0)>=160){break}Q=c[s>>2]|0;c[r>>2]=x+4;c[x>>2]=Q}}while(0);U=+Kt(I,c[p>>2]|0,j);h[k>>3]=U;hr(n,w,c[r>>2]|0,j);do{if((D|0)==0){V=0}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){V=D;break}if(!((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1)){V=D;break}c[A>>2]=0;V=0}}while(0);A=(V|0)==0;do{if((J|0)==0){G=63}else{if((c[J+12>>2]|0)!=(c[J+16>>2]|0)){if(!A){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}if((Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0)==-1){c[e>>2]=0;G=63;break}if(!(A^(J|0)==0)){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}}while(0);do{if((G|0)==63){if(A){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}}while(0);c[j>>2]=c[j>>2]|2;W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}function to(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];uo(a,0,j,k,f,g,h);i=b;return}function uo(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,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.0,V=0,W=0,X=0,Y=0;d=i;i=i+280|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d+32|0;m=d+40|0;n=d+48|0;o=d+64|0;p=d+80|0;q=d+88|0;r=d+248|0;s=d+256|0;t=d+264|0;u=d+272|0;v=d|0;Xo(n,g,v,l,m);g=o;dv(g|0,0,12)|0;tm(o,10,0);if((a[g]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;a[t]=1;a[u]=69;A=e|0;e=f|0;f=o|0;B=o+4|0;C=a[l]|0;l=a[m]|0;m=x;x=c[A>>2]|0;a:while(1){do{if((x|0)==0){D=0}else{if((c[x+12>>2]|0)!=(c[x+16>>2]|0)){D=x;break}if(!((Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0)==-1)){D=x;break}c[A>>2]=0;D=0}}while(0);E=(D|0)==0;F=c[e>>2]|0;do{if((F|0)==0){G=17}else{if((c[F+12>>2]|0)!=(c[F+16>>2]|0)){if(E){H=F;break}else{I=m;J=F;break a}}if((Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0)==-1){c[e>>2]=0;G=17;break}else{if(E){H=F;break}else{I=m;J=F;break a}}}}while(0);if((G|0)==17){G=0;if(E){I=m;J=0;break}else{H=0}}F=a[g]|0;K=(F&1)==0;if(K){L=(F&255)>>>1}else{L=c[B>>2]|0}if(((c[p>>2]|0)-m|0)==(L|0)){if(K){M=(F&255)>>>1;N=(F&255)>>>1}else{F=c[B>>2]|0;M=F;N=F}tm(o,M<<1,0);if((a[g]&1)==0){O=10}else{O=(c[f>>2]&-2)-1|0}tm(o,O,0);if((a[g]&1)==0){P=y}else{P=c[z>>2]|0}c[p>>2]=P+N;Q=P}else{Q=m}F=D+12|0;K=c[F>>2]|0;R=D+16|0;if((K|0)==(c[R>>2]|0)){S=(Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)&255}else{S=a[K]|0}if((Yo(S,t,u,Q,p,C,l,n,w,r,s,v)|0)!=0){I=Q;J=H;break}K=c[F>>2]|0;if((K|0)==(c[R>>2]|0)){Fc[c[(c[D>>2]|0)+40>>2]&255](D)|0;m=Q;x=D;continue}else{c[F>>2]=K+1;m=Q;x=D;continue}}x=a[n]|0;if((x&1)==0){T=(x&255)>>>1}else{T=c[n+4>>2]|0}do{if((T|0)!=0){if((a[t]|0)==0){break}x=c[r>>2]|0;if((x-q|0)>=160){break}Q=c[s>>2]|0;c[r>>2]=x+4;c[x>>2]=Q}}while(0);U=+Jt(I,c[p>>2]|0,j);h[k>>3]=U;hr(n,w,c[r>>2]|0,j);do{if((D|0)==0){V=0}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){V=D;break}if(!((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1)){V=D;break}c[A>>2]=0;V=0}}while(0);A=(V|0)==0;do{if((J|0)==0){G=63}else{if((c[J+12>>2]|0)!=(c[J+16>>2]|0)){if(!A){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}if((Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0)==-1){c[e>>2]=0;G=63;break}if(!(A^(J|0)==0)){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}}while(0);do{if((G|0)==63){if(A){break}W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}}while(0);c[j>>2]=c[j>>2]|2;W=b|0;c[W>>2]=V;X=160;Y=0;rm(o);rm(n);i=d;return}function vo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+272|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+16|0;m=d+48|0;n=d+64|0;o=d+72|0;p=d+88|0;q=d+96|0;r=d+256|0;s=d+264|0;dv(m|0,0,12)|0;Lm(n,g);g=n|0;n=c[g>>2]|0;if(!((c[8716]|0)==-1)){c[k>>2]=34864;c[k+4>>2]=16;c[k+8>>2]=0;mm(34864,k,114)}k=(c[8717]|0)-1|0;t=c[n+8>>2]|0;do{if((c[n+12>>2]|0)-t>>2>>>0>k>>>0){u=c[t+(k<<2)>>2]|0;if((u|0)==0){break}v=l|0;Sc[c[(c[u>>2]|0)+32>>2]&15](u,27208,27234,v)|0;Ul(c[g>>2]|0)|0;u=o;dv(u|0,0,12)|0;tm(o,10,0);if((a[u]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;A=e|0;B=f|0;C=o|0;D=o+4|0;E=x;F=c[A>>2]|0;a:while(1){do{if((F|0)==0){G=0}else{if((c[F+12>>2]|0)!=(c[F+16>>2]|0)){G=F;break}if(!((Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0)==-1)){G=F;break}c[A>>2]=0;G=0}}while(0);H=(G|0)==0;I=c[B>>2]|0;do{if((I|0)==0){J=25}else{if((c[I+12>>2]|0)!=(c[I+16>>2]|0)){if(H){break}else{K=E;break a}}if((Fc[c[(c[I>>2]|0)+36>>2]&255](I)|0)==-1){c[B>>2]=0;J=25;break}else{if(H){break}else{K=E;break a}}}}while(0);if((J|0)==25){J=0;if(H){K=E;break}}I=a[u]|0;L=(I&1)==0;if(L){M=(I&255)>>>1}else{M=c[D>>2]|0}if(((c[p>>2]|0)-E|0)==(M|0)){if(L){N=(I&255)>>>1;O=(I&255)>>>1}else{I=c[D>>2]|0;N=I;O=I}tm(o,N<<1,0);if((a[u]&1)==0){P=10}else{P=(c[C>>2]&-2)-1|0}tm(o,P,0);if((a[u]&1)==0){Q=y}else{Q=c[z>>2]|0}c[p>>2]=Q+O;R=Q}else{R=E}I=G+12|0;L=c[I>>2]|0;S=G+16|0;if((L|0)==(c[S>>2]|0)){T=(Fc[c[(c[G>>2]|0)+36>>2]&255](G)|0)&255}else{T=a[L]|0}if((wo(T,16,R,p,s,0,m,w,r,v)|0)!=0){K=R;break}L=c[I>>2]|0;if((L|0)==(c[S>>2]|0)){Fc[c[(c[G>>2]|0)+40>>2]&255](G)|0;E=R;F=G;continue}else{c[I>>2]=L+1;E=R;F=G;continue}}a[K+3|0]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}F=Xa(2147483647,14472,0)|0;c[8330]=F}}while(0);F=xo(K,c[8330]|0,11744,(E=i,i=i+8|0,c[E>>2]=j,E)|0)|0;i=E;if((F|0)!=1){c[h>>2]=4}F=c[A>>2]|0;do{if((F|0)==0){U=0}else{if((c[F+12>>2]|0)!=(c[F+16>>2]|0)){U=F;break}if(!((Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0)==-1)){U=F;break}c[A>>2]=0;U=0}}while(0);A=(U|0)==0;F=c[B>>2]|0;do{if((F|0)==0){J=73}else{if((c[F+12>>2]|0)!=(c[F+16>>2]|0)){if(!A){break}V=b|0;c[V>>2]=U;W=160;X=0;rm(o);rm(m);i=d;return}if((Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0)==-1){c[B>>2]=0;J=73;break}if(!(A^(F|0)==0)){break}V=b|0;c[V>>2]=U;W=160;X=0;rm(o);rm(m);i=d;return}}while(0);do{if((J|0)==73){if(A){break}V=b|0;c[V>>2]=U;W=160;X=0;rm(o);rm(m);i=d;return}}while(0);c[h>>2]=c[h>>2]|2;V=b|0;c[V>>2]=U;W=160;X=0;rm(o);rm(m);i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function wo(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=c[f>>2]|0;n=(m|0)==(e|0);do{if(n){o=(a[l+24|0]|0)==b<<24>>24;if(!o){if(!((a[l+25|0]|0)==b<<24>>24)){break}}c[f>>2]=e+1;a[e]=o?43:45;c[g>>2]=0;p=0;return p|0}}while(0);o=a[i]|0;if((o&1)==0){q=(o&255)>>>1}else{q=c[i+4>>2]|0}if((q|0)!=0&b<<24>>24==h<<24>>24){h=c[k>>2]|0;if((h-j|0)>=160){p=0;return p|0}j=c[g>>2]|0;c[k>>2]=h+4;c[h>>2]=j;c[g>>2]=0;p=0;return p|0}j=l+26|0;h=l;while(1){k=h+1|0;if((a[h]|0)==b<<24>>24){r=h;break}if((k|0)==(j|0)){r=j;break}else{h=k}}h=r-l|0;if((h|0)>23){p=-1;return p|0}do{if((d|0)==8|(d|0)==10){if((h|0)<(d|0)){break}else{p=-1}return p|0}else if((d|0)==16){if((h|0)<22){break}if(n){p=-1;return p|0}if((m-e|0)>=3){p=-1;return p|0}if((a[m-1|0]|0)!=48){p=-1;return p|0}c[g>>2]=0;l=a[27208+h|0]|0;c[f>>2]=m+1;a[m]=l;p=0;return p|0}}while(0);e=a[27208+h|0]|0;c[f>>2]=m+1;a[m]=e;c[g>>2]=(c[g>>2]|0)+1;p=0;return p|0}function xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f|0;h=g;c[h>>2]=e;c[h+4>>2]=0;h=bc(b|0)|0;b=cb(a|0,d|0,g|0)|0;if((h|0)==0){i=f;return b|0}bc(h|0)|0;i=f;return b|0}function yo(a){a=a|0;Sl(a|0);Pu(a);return}function zo(a){a=a|0;Sl(a|0);return}function Ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0;k=i;i=i+112|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=k|0;m=k+16|0;n=k+32|0;o=k+40|0;p=k+48|0;q=k+56|0;r=k+64|0;s=k+72|0;t=k+80|0;u=k+104|0;if((c[g+4>>2]&1|0)==0){c[n>>2]=-1;v=c[(c[d>>2]|0)+16>>2]|0;w=e|0;c[p>>2]=c[w>>2];c[q>>2]=c[f>>2];Mc[v&127](o,d,p,q,g,h,n);q=c[o>>2]|0;c[w>>2]=q;w=c[n>>2]|0;if((w|0)==1){a[j]=1}else if((w|0)==0){a[j]=0}else{a[j]=1;c[h>>2]=4}c[b>>2]=q;i=k;return}Lm(r,g);q=r|0;r=c[q>>2]|0;if(!((c[8714]|0)==-1)){c[m>>2]=34856;c[m+4>>2]=16;c[m+8>>2]=0;mm(34856,m,114)}m=(c[8715]|0)-1|0;w=c[r+8>>2]|0;do{if((c[r+12>>2]|0)-w>>2>>>0>m>>>0){n=c[w+(m<<2)>>2]|0;if((n|0)==0){break}o=n;Ul(c[q>>2]|0)|0;Lm(s,g);n=s|0;p=c[n>>2]|0;if(!((c[8618]|0)==-1)){c[l>>2]=34472;c[l+4>>2]=16;c[l+8>>2]=0;mm(34472,l,114)}d=(c[8619]|0)-1|0;v=c[p+8>>2]|0;do{if((c[p+12>>2]|0)-v>>2>>>0>d>>>0){x=c[v+(d<<2)>>2]|0;if((x|0)==0){break}y=x;Ul(c[n>>2]|0)|0;z=t|0;A=x;Ec[c[(c[A>>2]|0)+24>>2]&127](z,y);Ec[c[(c[A>>2]|0)+28>>2]&127](t+12|0,y);c[u>>2]=c[f>>2];y=(Bo(e,u,z,t+24|0,o,h,1)|0)==(z|0)|0;a[j]=y;c[b>>2]=c[e>>2];Cm(t+12|0);Cm(t|0);i=k;return}}while(0);o=pc(4)|0;lu(o);Fb(o|0,25544,156)}}while(0);k=pc(4)|0;lu(k);Fb(k|0,25544,156)}function Bo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;k=i;i=i+104|0;l=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[l>>2];l=(f-e|0)/12|0;m=k|0;do{if(l>>>0>100>>>0){n=Gu(l)|0;if((n|0)!=0){o=n;p=n;break}Uu();o=0;p=0}else{o=m;p=0}}while(0);m=(e|0)==(f|0);if(m){q=l;r=0}else{n=l;l=0;s=o;t=e;while(1){u=a[t]|0;if((u&1)==0){v=(u&255)>>>1}else{v=c[t+4>>2]|0}if((v|0)==0){a[s]=2;w=l+1|0;x=n-1|0}else{a[s]=1;w=l;x=n}u=t+12|0;if((u|0)==(f|0)){q=x;r=w;break}else{n=x;l=w;s=s+1|0;t=u}}}t=b|0;b=d|0;d=g;s=0;w=r;r=q;a:while(1){q=c[t>>2]|0;do{if((q|0)==0){y=1}else{l=c[q+12>>2]|0;if((l|0)==(c[q+16>>2]|0)){z=Fc[c[(c[q>>2]|0)+36>>2]&255](q)|0}else{z=c[l>>2]|0}if((z|0)==-1){c[t>>2]=0;y=1;break}else{y=(c[t>>2]|0)==0;break}}}while(0);q=c[b>>2]|0;do{if((q|0)==0){A=1;B=0}else{l=c[q+12>>2]|0;if((l|0)==(c[q+16>>2]|0)){C=Fc[c[(c[q>>2]|0)+36>>2]&255](q)|0}else{C=c[l>>2]|0}if(!((C|0)==-1)){A=0;B=q;break}c[b>>2]=0;A=1;B=0}}while(0);D=c[t>>2]|0;if(!((y^A)&(r|0)!=0)){break}q=c[D+12>>2]|0;if((q|0)==(c[D+16>>2]|0)){E=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{E=c[q>>2]|0}if(j){F=E}else{F=Qc[c[(c[d>>2]|0)+28>>2]&63](g,E)|0}q=s+1|0;if(m){s=q;w=w;r=r;continue}b:do{if(j){l=r;x=w;n=o;v=0;u=e;while(1){do{if((a[n]|0)==1){G=a[u]|0;H=(G&1)==0;if(H){I=u+4|0}else{I=c[u+8>>2]|0}if((F|0)!=(c[I+(s<<2)>>2]|0)){a[n]=0;J=v;K=x;L=l-1|0;break}if(H){M=(G&255)>>>1}else{M=c[u+4>>2]|0}if((M|0)!=(q|0)){J=1;K=x;L=l;break}a[n]=2;J=1;K=x+1|0;L=l-1|0}else{J=v;K=x;L=l}}while(0);G=u+12|0;if((G|0)==(f|0)){N=L;O=K;P=J;break b}l=L;x=K;n=n+1|0;v=J;u=G}}else{u=r;v=w;n=o;x=0;l=e;while(1){do{if((a[n]|0)==1){G=l;if((a[G]&1)==0){Q=l+4|0}else{Q=c[l+8>>2]|0}if((F|0)!=(Qc[c[(c[d>>2]|0)+28>>2]&63](g,c[Q+(s<<2)>>2]|0)|0)){a[n]=0;R=x;S=v;T=u-1|0;break}H=a[G]|0;if((H&1)==0){U=(H&255)>>>1}else{U=c[l+4>>2]|0}if((U|0)!=(q|0)){R=1;S=v;T=u;break}a[n]=2;R=1;S=v+1|0;T=u-1|0}else{R=x;S=v;T=u}}while(0);H=l+12|0;if((H|0)==(f|0)){N=T;O=S;P=R;break b}u=T;v=S;n=n+1|0;x=R;l=H}}}while(0);if(!P){s=q;w=O;r=N;continue}l=c[t>>2]|0;x=l+12|0;n=c[x>>2]|0;if((n|0)==(c[l+16>>2]|0)){Fc[c[(c[l>>2]|0)+40>>2]&255](l)|0}else{c[x>>2]=n+4}if((N+O|0)>>>0<2>>>0){s=q;w=O;r=N;continue}else{V=O;W=o;X=e}while(1){do{if((a[W]|0)==2){n=a[X]|0;if((n&1)==0){Y=(n&255)>>>1}else{Y=c[X+4>>2]|0}if((Y|0)==(q|0)){Z=V;break}a[W]=0;Z=V-1|0}else{Z=V}}while(0);n=X+12|0;if((n|0)==(f|0)){s=q;w=Z;r=N;continue a}else{V=Z;W=W+1|0;X=n}}}do{if((D|0)==0){_=1}else{X=c[D+12>>2]|0;if((X|0)==(c[D+16>>2]|0)){$=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{$=c[X>>2]|0}if(($|0)==-1){c[t>>2]=0;_=1;break}else{_=(c[t>>2]|0)==0;break}}}while(0);do{if((B|0)==0){aa=94}else{t=c[B+12>>2]|0;if((t|0)==(c[B+16>>2]|0)){ba=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{ba=c[t>>2]|0}if((ba|0)==-1){c[b>>2]=0;aa=94;break}else{if(_){break}else{aa=96;break}}}}while(0);if((aa|0)==94){if(_){aa=96}}if((aa|0)==96){c[h>>2]=c[h>>2]|2}c:do{if(m){aa=101}else{if((a[o]|0)==2){ca=e;break}else{da=e;ea=o}while(1){_=da+12|0;b=ea+1|0;if((_|0)==(f|0)){aa=101;break c}if((a[b]|0)==2){ca=_;break}else{da=_;ea=b}}}}while(0);if((aa|0)==101){c[h>>2]=c[h>>2]|4;ca=f}if((p|0)==0){fa=100;ga=0;i=k;return ca|0}Hu(p);fa=100;ga=0;i=k;return ca|0}function Co(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];Do(a,0,j,k,f,g,h);i=b;return}
-    
-    
-    
-    function Xi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,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;j=i;i=i+8|0;k=j|0;a[b+1|0]=0;l=b+8|0;m=c[l>>2]|0;n=e+3|0;do{if((m|0)==0){o=Wi(b,n)|0;c[l>>2]=o;if((o|0)==0){p=7;i=j;return p|0}else{q=o+8|0;c[q>>2]=f;c[q+4>>2]=g;c[o+16>>2]=h;r=c[l>>2]|0;break}}else{r=m}}while(0);m=r+24|0;o=c[m>>2]|0;q=n+o|0;s=r+28|0;if((c[s>>2]|0)<(q|0)){t=Gu(q)|0;if((t|0)==0){p=7;i=j;return p|0}u=r+20|0;v=c[u>>2]|0;if((v|0)!=0){cv(t|0,v|0,c[m>>2]|0)|0;Hu(v)}c[u>>2]=t;c[s>>2]=q;w=c[m>>2]|0;x=t}else{w=o;x=c[r+20>>2]|0}o=x+w|0;do{if((e|0)>0){w=b+4|0;t=b+12|0;m=b+20|0;q=b+16|0;s=b+28|0;u=b+32|0;v=b+36|0;y=d;z=r;A=o;B=1;a:while(1){C=c[w>>2]|0;b:do{switch(C|0){case 7:{D=a[y]|0;if((D<<24>>24|0)==0){a[A]=0;E=A+1|0;F=z;break b}else if((D<<24>>24|0)==1){G=z+24|0;c[G>>2]=A-(c[z+20>>2]|0);H=c[m>>2]|0;I=c[q>>2]|0;if((H|0)==(I|0)){J=0}else{J=(H-I<<8)-1|0}K=c[s>>2]|0;L=c[u>>2]|0;if((J-K|0)==(L|0)){$i(t);M=c[u>>2]|0;N=c[s>>2]|0;O=c[q>>2]|0;P=c[m>>2]|0}else{M=L;N=K;O=I;P=H}H=M+N|0;do{if((P|0)!=(O|0)){I=(c[O+(H>>>10<<2)>>2]|0)+((H&1023)<<2)|0;if((I|0)==0){break}c[I>>2]=z}}while(0);c[u>>2]=M+1;c[v>>2]=(c[v>>2]|0)+(c[G>>2]|0);H=Wi(b,n)|0;c[l>>2]=H;if((H|0)==0){p=7;Q=48;break a}I=H+8|0;c[I>>2]=f;c[I+4>>2]=g;c[H+16>>2]=h;H=c[l>>2]|0;I=c[H+20>>2]|0;c[w>>2]=3;E=I;F=H;break b}else if((D<<24>>24|0)==3){a[A]=0;H=A+2|0;a[A+1|0]=0;c[w>>2]=5;I=z+36|0;K=c[I>>2]|0;L=(K-(c[z+32>>2]|0)>>2)+(H-(c[z+20>>2]|0))|0;c[k>>2]=L;if((K|0)==(c[z+40>>2]|0)){fj(z+32|0,k);E=H;F=z;break b}if((K|0)!=0){c[K>>2]=L}c[I>>2]=K+4;E=H;F=z;break b}else{a[A]=0;a[A+1|0]=0;a[A+2|0]=a[y]|0;c[w>>2]=5;E=A+3|0;F=z;break b}break};case 0:case 1:{if((a[y]|0)==0){c[w>>2]=C+1;E=A;F=z;break b}else{c[w>>2]=0;E=A;F=z;break b}break};case 3:{a[A]=a[y]|0;c[w>>2]=4;E=A+1|0;F=z;break};case 5:{H=a[y]|0;if(H<<24>>24==0){c[w>>2]=6;E=A;F=z;break b}else{a[A]=H;E=A+1|0;F=z;break b}break};case 2:{H=a[y]|0;if((H<<24>>24|0)==0){E=A;F=z;break b}else if((H<<24>>24|0)==1){c[w>>2]=3;E=A;F=z;break b}else{c[w>>2]=0;E=A;F=z;break b}break};case 6:{if((a[y]|0)==0){c[w>>2]=7;E=A;F=z;break b}else{a[A]=0;a[A+1|0]=a[y]|0;c[w>>2]=5;E=A+2|0;F=z;break b}break};case 4:{a[A]=a[y]|0;c[w>>2]=5;E=A+1|0;F=z;break};default:{E=A;F=z}}}while(0);if((B|0)>=(e|0)){Q=46;break}y=y+1|0;z=F;A=E;B=B+1|0}if((Q|0)==46){R=F;S=E;T=c[F+20>>2]|0;break}else if((Q|0)==48){i=j;return p|0}}else{R=r;S=o;T=x}}while(0);c[R+24>>2]=S-T;p=0;i=j;return p|0}function Yi(b,d,e,f,g,h){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((c[b+8>>2]|0)!=0){ec(6496,15256,375,17864);return 0}a[b+1|0]=0;i=Wi(b,e)|0;do{if((i|0)!=0){j=i+28|0;if((c[j>>2]|0)<(e|0)){k=Gu(e)|0;if((k|0)==0){break}l=i+20|0;m=c[l>>2]|0;if((m|0)!=0){cv(k|0,m|0,c[i+24>>2]|0)|0;Hu(m)}c[l>>2]=k;c[j>>2]=e;n=k}else{n=c[i+20>>2]|0}cv(n|0,d|0,e)|0;k=i+24|0;c[k>>2]=e;j=i+8|0;c[j>>2]=f;c[j+4>>2]=g;c[i+16>>2]=h;Ri(i);j=b+20|0;l=c[j>>2]|0;m=b+16|0;o=c[m>>2]|0;if((l|0)==(o|0)){p=0}else{p=(l-o<<8)-1|0}q=b+28|0;r=c[q>>2]|0;s=b+32|0;t=c[s>>2]|0;if((p-r|0)==(t|0)){$i(b+12|0);u=c[s>>2]|0;v=c[q>>2]|0;w=c[m>>2]|0;x=c[j>>2]|0}else{u=t;v=r;w=o;x=l}l=u+v|0;do{if((x|0)!=(w|0)){o=(c[w+(l>>>10<<2)>>2]|0)+((l&1023)<<2)|0;if((o|0)==0){break}c[o>>2]=i}}while(0);c[s>>2]=u+1;l=b+36|0;c[l>>2]=(c[l>>2]|0)+(c[k>>2]|0);y=0;return y|0}}while(0);Vi(b,i);y=7;return y|0}function Zi(b){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=b+8|0;e=c[d>>2]|0;if((e|0)==0){f=0;return f|0}g=b+4|0;h=c[g>>2]|0;if((h|0)==6){i=e+24|0;j=c[i>>2]|0;k=j+1|0;l=e+28|0;if((c[l>>2]|0)<(k|0)){m=Gu(k)|0;if((m|0)==0){f=7;return f|0}n=e+20|0;o=c[n>>2]|0;if((o|0)==0){p=j}else{cv(m|0,o|0,j)|0;Hu(o);p=c[i>>2]|0}c[n>>2]=m;c[l>>2]=k;q=p;r=m}else{q=j;r=c[e+20>>2]|0}a[r+q|0]=0;c[i>>2]=(c[i>>2]|0)+1;s=c[g>>2]|0}else{s=h}if((s|0)==7){h=e+24|0;i=c[h>>2]|0;q=i+2|0;r=e+28|0;if((c[r>>2]|0)<(q|0)){j=Gu(q)|0;if((j|0)==0){f=7;return f|0}m=e+20|0;p=c[m>>2]|0;if((p|0)==0){t=i}else{cv(j|0,p|0,i)|0;Hu(p);t=c[h>>2]|0}c[m>>2]=j;c[r>>2]=q;u=t;v=j}else{u=i;v=c[e+20>>2]|0}i=v+u|0;C=0;a[i]=C;C=C>>8;a[i+1|0]=C;c[h>>2]=(c[h>>2]|0)+2;w=c[g>>2]|0}else{w=s}if((w|0)>4){w=b+20|0;s=c[w>>2]|0;h=b+16|0;i=c[h>>2]|0;if((s|0)==(i|0)){x=0}else{x=(s-i<<8)-1|0}u=b+28|0;v=c[u>>2]|0;j=b+32|0;t=c[j>>2]|0;if((x-v|0)==(t|0)){$i(b+12|0);y=c[j>>2]|0;z=c[u>>2]|0;A=c[h>>2]|0;B=c[w>>2]|0}else{y=t;z=v;A=i;B=s}s=y+z|0;do{if((B|0)!=(A|0)){z=(c[A+(s>>>10<<2)>>2]|0)+((s&1023)<<2)|0;if((z|0)==0){break}c[z>>2]=e}}while(0);c[j>>2]=y+1;y=b+36|0;c[y>>2]=(c[y>>2]|0)+(c[e+24>>2]|0);c[d>>2]=0}c[g>>2]=0;f=0;return f|0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+8|0;d=c[b>>2]|0;if((d|0)!=0){Vi(a,d);c[b>>2]=0}b=a+32|0;d=c[b>>2]|0;if((d|0)==0){e=a+36|0;f=a+4|0;c[f>>2]=0;c[e>>2]=0;return}g=a+16|0;h=a+28|0;i=a+36|0;j=d;while(1){d=c[g>>2]|0;k=c[h>>2]|0;l=c[(c[d+(k>>>10<<2)>>2]|0)+((k&1023)<<2)>>2]|0;c[b>>2]=j-1;m=k+1|0;c[h>>2]=m;if(m>>>0>2047>>>0){Pu(c[d>>2]|0);c[g>>2]=(c[g>>2]|0)+4;c[h>>2]=(c[h>>2]|0)-1024}c[i>>2]=(c[i>>2]|0)-(c[l+24>>2]|0);if((l|0)==0){e=i;n=10;break}Vi(a,l);l=c[b>>2]|0;if((l|0)==0){e=i;n=10;break}else{j=l}}if((n|0)==10){f=a+4|0;c[f>>2]=0;c[e>>2]=0;return}}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;i=i+48|0;d=b|0;e=b+8|0;f=b+16|0;g=b+40|0;h=a+16|0;j=c[h>>2]|0;if(j>>>0>1023>>>0){c[h>>2]=j-1024;j=a+4|0;h=c[j>>2]|0;k=c[h>>2]|0;l=h+4|0;c[j>>2]=l;m=a+8|0;n=c[m>>2]|0;o=a+12|0;do{if((n|0)==(c[o>>2]|0)){p=a|0;q=c[p>>2]|0;if(l>>>0>q>>>0){r=l;s=((r-q>>2)+1|0)/-2|0;t=n-r|0;fv(h+(s+1<<2)|0,l|0,t|0)|0;r=h+((t>>2)+1+s<<2)|0;c[m>>2]=r;c[j>>2]=(c[j>>2]|0)+(s<<2);u=r;v=13;break}r=n-q>>1;s=(r|0)==0?1:r;r=Nu(s<<2)|0;t=r+(s>>>2<<2)|0;w=r+(s<<2)|0;if((l|0)==(n|0)){x=t;y=q}else{q=l;s=t;do{if((s|0)==0){z=0}else{c[s>>2]=c[q>>2];z=s}s=z+4|0;q=q+4|0;}while((q|0)!=(n|0));x=s;y=c[p>>2]|0}c[p>>2]=r;c[j>>2]=t;c[m>>2]=x;c[o>>2]=w;if((y|0)==0){A=x;v=12;break}Pu(y);A=c[m>>2]|0;v=12}else{A=n;v=12}}while(0);if((v|0)==12){if((A|0)==0){B=0}else{u=A;v=13}}if((v|0)==13){c[u>>2]=k;B=c[m>>2]|0}c[m>>2]=B+4;i=b;return}B=a|0;m=a+8|0;k=c[m>>2]|0;u=a+4|0;A=k-(c[u>>2]|0)>>2;n=a+12|0;y=c[n>>2]|0;x=a|0;o=y-(c[x>>2]|0)|0;if(!(A>>>0<o>>2>>>0)){j=o>>1;o=(j|0)==0?1:j;j=f+12|0;c[f+16>>2]=a+12;a=Nu(o<<2)|0;z=f|0;c[z>>2]=a;l=a+(A<<2)|0;A=f+8|0;c[A>>2]=l;h=f+4|0;c[h>>2]=l;c[j>>2]=a+(o<<2);o=Nu(4096)|0;c[g>>2]=o;cj(f,g);g=c[m>>2]|0;while(1){if((g|0)==(c[u>>2]|0)){break}o=g-4|0;dj(f,o);g=o}f=c[x>>2]|0;c[x>>2]=c[z>>2];c[z>>2]=f;c[u>>2]=c[h>>2];c[h>>2]=g;h=c[m>>2]|0;c[m>>2]=c[A>>2];c[A>>2]=h;z=c[n>>2]|0;c[n>>2]=c[j>>2];c[j>>2]=z;if((h|0)!=(g|0)){c[A>>2]=h+(~((h-4+(-g|0)|0)>>>2)<<2)}if((f|0)==0){i=b;return}Pu(f);i=b;return}f=Nu(4096)|0;if((y|0)!=(k|0)){c[d>>2]=f;aj(B,d);i=b;return}c[e>>2]=f;bj(B,e);e=c[u>>2]|0;B=c[e>>2]|0;f=e+4|0;c[u>>2]=f;d=c[m>>2]|0;do{if((d|0)==(c[n>>2]|0)){k=c[x>>2]|0;if(f>>>0>k>>>0){y=f;g=((y-k>>2)+1|0)/-2|0;h=d-y|0;fv(e+(g+1<<2)|0,f|0,h|0)|0;y=e+((h>>2)+1+g<<2)|0;c[m>>2]=y;c[u>>2]=(c[u>>2]|0)+(g<<2);C=y;v=29;break}y=d-k>>1;g=(y|0)==0?1:y;y=Nu(g<<2)|0;h=y+(g>>>2<<2)|0;A=y+(g<<2)|0;if((f|0)==(d|0)){D=h;E=k}else{k=f;g=h;do{if((g|0)==0){F=0}else{c[g>>2]=c[k>>2];F=g}g=F+4|0;k=k+4|0;}while((k|0)!=(d|0));D=g;E=c[x>>2]|0}c[x>>2]=y;c[u>>2]=h;c[m>>2]=D;c[n>>2]=A;if((E|0)==0){G=D;v=28;break}Pu(E);G=c[m>>2]|0;v=28}else{G=d;v=28}}while(0);if((v|0)==28){if((G|0)==0){H=0}else{C=G;v=29}}if((v|0)==29){c[C>>2]=B;H=c[m>>2]|0}c[m>>2]=H+4;i=b;return}function aj(a,b){a=a|0;b=b|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,r=0,s=0,t=0;d=a+8|0;e=c[d>>2]|0;f=a+12|0;do{if((e|0)==(c[f>>2]|0)){g=a+4|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;if(h>>>0>j>>>0){k=h;l=((k-j>>2)+1|0)/-2|0;m=e-k|0;fv(h+(l<<2)|0,h|0,m|0)|0;k=h+(l+(m>>2)<<2)|0;c[d>>2]=k;c[g>>2]=(c[g>>2]|0)+(l<<2);n=k;break}k=e-j>>1;l=(k|0)==0?1:k;k=Nu(l<<2)|0;m=k+(l>>>2<<2)|0;o=k+(l<<2)|0;if((h|0)==(e|0)){p=m;q=j}else{j=h;h=m;do{if((h|0)==0){r=0}else{c[h>>2]=c[j>>2];r=h}h=r+4|0;j=j+4|0;}while((j|0)!=(e|0));p=h;q=c[i>>2]|0}c[i>>2]=k;c[g>>2]=m;c[d>>2]=p;c[f>>2]=o;if((q|0)==0){n=p;break}Pu(q);n=c[d>>2]|0}else{n=e}}while(0);if((n|0)==0){s=0;t=s+4|0;c[d>>2]=t;return}c[n>>2]=c[b>>2];s=c[d>>2]|0;t=s+4|0;c[d>>2]=t;return}function bj(a,b){a=a|0;b=b|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,r=0;d=a+4|0;e=c[d>>2]|0;f=a|0;do{if((e|0)==(c[f>>2]|0)){g=a+8|0;h=c[g>>2]|0;i=a+12|0;j=c[i>>2]|0;k=j;if(h>>>0<j>>>0){j=h;l=((k-j>>2)+1|0)/2|0;m=j-e|0;j=h+(l-(m>>2)<<2)|0;fv(j|0,e|0,m|0)|0;c[d>>2]=j;c[g>>2]=(c[g>>2]|0)+(l<<2);n=j;break}j=k-e>>1;k=(j|0)==0?1:j;j=Nu(k<<2)|0;l=j+((k+3|0)>>>2<<2)|0;m=j+(k<<2)|0;if((e|0)==(h|0)){o=l;p=e}else{k=e;q=l;do{if((q|0)==0){r=0}else{c[q>>2]=c[k>>2];r=q}q=r+4|0;k=k+4|0;}while((k|0)!=(h|0));o=q;p=c[f>>2]|0}c[f>>2]=j;c[d>>2]=l;c[g>>2]=o;c[i>>2]=m;if((p|0)==0){n=l;break}Pu(p);n=c[d>>2]|0}else{n=e}}while(0);c[n-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function cj(a,b){a=a|0;b=b|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,r=0,s=0,t=0;d=a+8|0;e=c[d>>2]|0;f=a+12|0;do{if((e|0)==(c[f>>2]|0)){g=a+4|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;if(h>>>0>j>>>0){k=h;l=((k-j>>2)+1|0)/-2|0;m=e-k|0;fv(h+(l<<2)|0,h|0,m|0)|0;k=h+(l+(m>>2)<<2)|0;c[d>>2]=k;c[g>>2]=(c[g>>2]|0)+(l<<2);n=k;break}k=e-j>>1;l=(k|0)==0?1:k;k=Nu(l<<2)|0;m=k+(l>>>2<<2)|0;o=k+(l<<2)|0;if((h|0)==(e|0)){p=m;q=j}else{j=h;h=m;do{if((h|0)==0){r=0}else{c[h>>2]=c[j>>2];r=h}h=r+4|0;j=j+4|0;}while((j|0)!=(e|0));p=h;q=c[i>>2]|0}c[i>>2]=k;c[g>>2]=m;c[d>>2]=p;c[f>>2]=o;if((q|0)==0){n=p;break}Pu(q);n=c[d>>2]|0}else{n=e}}while(0);if((n|0)==0){s=0;t=s+4|0;c[d>>2]=t;return}c[n>>2]=c[b>>2];s=c[d>>2]|0;t=s+4|0;c[d>>2]=t;return}function dj(a,b){a=a|0;b=b|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,r=0;d=a+4|0;e=c[d>>2]|0;f=a|0;do{if((e|0)==(c[f>>2]|0)){g=a+8|0;h=c[g>>2]|0;i=a+12|0;j=c[i>>2]|0;k=j;if(h>>>0<j>>>0){j=h;l=((k-j>>2)+1|0)/2|0;m=j-e|0;j=h+(l-(m>>2)<<2)|0;fv(j|0,e|0,m|0)|0;c[d>>2]=j;c[g>>2]=(c[g>>2]|0)+(l<<2);n=j;break}j=k-e>>1;k=(j|0)==0?1:j;j=Nu(k<<2)|0;l=j+((k+3|0)>>>2<<2)|0;m=j+(k<<2)|0;if((e|0)==(h|0)){o=l;p=e}else{k=e;q=l;do{if((q|0)==0){r=0}else{c[q>>2]=c[k>>2];r=q}q=r+4|0;k=k+4|0;}while((k|0)!=(h|0));o=q;p=c[f>>2]|0}c[f>>2]=j;c[d>>2]=l;c[g>>2]=o;c[i>>2]=m;if((p|0)==0){n=l;break}Pu(p);n=c[d>>2]|0}else{n=e}}while(0);c[n-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function ej(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function fj(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+4|0;d=c[b>>2]|0;e=a+16|0;f=c[e>>2]|0;g=d+(f>>>10<<2)|0;h=a+8|0;i=c[h>>2]|0;if((i|0)==(d|0)){j=0;k=0;l=a+20|0}else{m=a+20|0;a=f+(c[m>>2]|0)|0;j=(c[d+(a>>>10<<2)>>2]|0)+((a&1023)<<2)|0;k=(c[g>>2]|0)+((f&1023)<<2)|0;l=m}m=g;g=k;a:while(1){k=g;do{if((k|0)==(j|0)){break a}k=k+4|0;}while((k-(c[m>>2]|0)|0)!=4096);k=m+4|0;m=k;g=c[k>>2]|0}c[l>>2]=0;l=i-d>>2;if(l>>>0>2>>>0){i=d;while(1){Pu(c[i>>2]|0);d=(c[b>>2]|0)+4|0;c[b>>2]=d;g=(c[h>>2]|0)-d>>2;if(g>>>0>2>>>0){i=d}else{n=g;break}}}else{n=l}if((n|0)==2){c[e>>2]=1024;return}else if((n|0)==1){c[e>>2]=512;return}else{return}}function hj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=a[g+2|0]|0;if((a[g+13|0]|0)!=0){g=(qd(e)|0)+2&255;a[b|0]=g}g=(nd(e,1)|0)!=0;a[b+1|0]=g&1;i=f+11096+(h*5168|0)+5012|0;if(!((c[i>>2]|0)==3|g^1)){Ue(f+4|0,1006,0)}g=(nd(e,1)|0)!=0;j=b+2|0;k=g&1;a[j]=k;if((c[i>>2]|0)!=0|g^1){l=k}else{Ue(f+4|0,1006,0);l=a[j]|0}a:do{if(!(l<<24>>24==0)){j=qd(e)|0;do{if(!((j|0)==-99999)){if((j|0)>(c[f+11096+(h*5168|0)+616>>2]|0)){break}a[b+3|0]=j;k=qd(e)|0;if((k|0)==-99999|(k|0)>5){Ue(f+4|0,1006,0);m=0;return m|0}g=k+1|0;k=b+4|0;a[k]=g;if((g&255|0)==0){break a}else{n=0}while(1){g=rd(e)|0;if((g+12|0)>>>0>24>>>0){o=15;break}a[b+5+n|0]=g;g=rd(e)|0;if((g+12|0)>>>0>24>>>0){o=17;break}a[b+11+n|0]=g;n=n+1|0;if((n|0)>=(d[k]|0)){break a}}if((o|0)==15){Ue(f+4|0,1006,0);m=0;return m|0}else if((o|0)==17){Ue(f+4|0,1006,0);m=0;return m|0}}}while(0);Ue(f+4|0,1006,0);m=0;return m|0}}while(0);o=qd(e)|0;do{if(!((o|0)==-99999)){n=(c[f+11096+(h*5168|0)+4996>>2]|0)-10|0;if((o|0)>(((n|0)<0?0:n)|0)){break}a[b+17|0]=o;n=qd(e)|0;do{if(!((n|0)==-99999)){l=(c[f+11096+(h*5168|0)+5004>>2]|0)-10|0;if((n|0)>(((l|0)<0?0:l)|0)){break}a[b+18|0]=n;m=1;return m|0}}while(0);Ue(f+4|0,1006,0);m=0;return m|0}}while(0);Ue(f+4|0,1006,0);m=0;return m|0}function ij(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;if((e|0)==2){g=q}else if((e|0)==1){g=t}else{i=f;return}e=c[g>>2]|0;Zk(e,6144,(g=i,i=i+1|0,i=i+7&-8,c[g>>2]=0,g)|0);i=g;Zk(e,15168,(g=i,i=i+8|0,c[g>>2]=d[b|0]|0,g)|0);i=g;Zk(e,12656,(g=i,i=i+8|0,c[g>>2]=d[b+1|0]|0,g)|0);i=g;h=b+2|0;Zk(e,9712,(g=i,i=i+8|0,c[g>>2]=d[h]|0,g)|0);i=g;do{if((a[h]|0)!=0){Zk(e,6704,(g=i,i=i+8|0,c[g>>2]=d[b+3|0]|0,g)|0);i=g;j=b+4|0;Zk(e,4920,(g=i,i=i+8|0,c[g>>2]=d[j]|0,g)|0);i=g;if((a[j]|0)==0){break}else{k=0}do{l=a[b+5+k|0]|0;Zk(e,3496,(g=i,i=i+16|0,c[g>>2]=k,c[g+8>>2]=l,g)|0);i=g;l=a[b+11+k|0]|0;Zk(e,2176,(g=i,i=i+16|0,c[g>>2]=k,c[g+8>>2]=l,g)|0);i=g;k=k+1|0;}while((k|0)<(d[j]|0))}}while(0);Zk(e,1128,(g=i,i=i+8|0,c[g>>2]=d[b+17|0]|0,g)|0);i=g;Zk(e,448,(g=i,i=i+8|0,c[g>>2]=d[b+18|0]|0,g)|0);i=g;i=f;return}function jj(b){b=b|0;var c=0;a[b+4138|0]=2;a[b+4155|0]=0;a[b+4156|0]=0;c=b+4139|0;C=0;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;dv(b+4340|0,0,60)|0;lj(b,0);return}function kj(a){a=a|0;var b=0,d=0,e=0;b=c[a+4388>>2]|0;if((b|0)!=0){d=a+4392|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=e+(~((e-4+(-b|0)|0)>>>2)<<2)}Pu(b)}b=c[a+4376>>2]|0;if((b|0)!=0){e=a+4380|0;d=c[e>>2]|0;if((d|0)!=(b|0)){c[e>>2]=d+(~((d-4+(-b|0)|0)>>>2)<<2)}Pu(b)}b=c[a+4364>>2]|0;if((b|0)!=0){d=a+4368|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=e+(~((e-4+(-b|0)|0)>>>2)<<2)}Pu(b)}b=c[a+4352>>2]|0;if((b|0)!=0){e=a+4356|0;d=c[e>>2]|0;if((d|0)!=(b|0)){c[e>>2]=d+(~((d-4+(-b|0)|0)>>>2)<<2)}Pu(b)}b=c[a+4340>>2]|0;if((b|0)==0){return}d=a+4344|0;a=c[d>>2]|0;if((a|0)!=(b|0)){c[d>>2]=a+(~((a-4+(-b|0)|0)>>>2)<<2)}Pu(b);return}function lj(b,d){b=b|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,p=0;dv(b|0,0,6)|0;a[b+6|0]=1;a[b+7|0]=1;c[b+8>>2]=27;a[b+12|0]=0;a[b+13|0]=0;a[b+14|0]=0;dv(b+16|0,0,19)|0;c[b+36>>2]=1;c[b+40>>2]=1;a[b+44|0]=1;a[b+45|0]=1;a[b+46|0]=1;dv(b+4172|0,0,168)|0;d=c[b+4340>>2]|0;e=b+4344|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=f+(~((f-4+(-d|0)|0)>>>2)<<2)}d=c[b+4352>>2]|0;f=b+4356|0;e=c[f>>2]|0;if((e|0)!=(d|0)){c[f>>2]=e+(~((e-4+(-d|0)|0)>>>2)<<2)}d=c[b+4364>>2]|0;e=b+4368|0;f=c[e>>2]|0;if((f|0)!=(d|0)){c[e>>2]=f+(~((f-4+(-d|0)|0)>>>2)<<2)}d=c[b+4376>>2]|0;f=b+4380|0;e=c[f>>2]|0;if((e|0)!=(d|0)){c[f>>2]=e+(~((e-4+(-d|0)|0)>>>2)<<2)}d=c[b+4388>>2]|0;e=b+4392|0;f=c[e>>2]|0;if((f|0)==(d|0)){g=b+4160|0;c[g>>2]=0;h=b+47|0;a[h]=0;i=b+48|0;a[i]=0;j=b+49|0;a[j]=0;k=b+52|0;c[k>>2]=0;l=b+56|0;c[l>>2]=0;m=b+60|0;a[m]=0;n=b+4125|0;a[n]=0;o=b+4128|0;c[o>>2]=2;p=b+4132|0;dv(p|0,0,6)|0;return}c[e>>2]=f+(~((f-4+(-d|0)|0)>>>2)<<2);g=b+4160|0;c[g>>2]=0;h=b+47|0;a[h]=0;i=b+48|0;a[i]=0;j=b+49|0;a[j]=0;k=b+52|0;c[k>>2]=0;l=b+56|0;c[l>>2]=0;m=b+60|0;a[m]=0;n=b+4125|0;a[n]=0;o=b+4128|0;c[o>>2]=2;p=b+4132|0;dv(p|0,0,6)|0;return}function mj(b,d,e){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;lj(b,0);f=qd(d)|0;a[b+1|0]=f;if((f|0)>63|(f|0)==-99999){Ue(e+4|0,1009,0);g=0;return g|0}f=qd(d)|0;h=b+2|0;a[h]=f;if((f|0)>63|(f|0)==-99999){Ue(e+4|0,1010,0);g=0;return g|0}f=(nd(d,1)|0)&255;a[b+3|0]=f;f=(nd(d,1)|0)&255;a[b+31|0]=f;f=(nd(d,3)|0)&255;a[b+4132|0]=f;f=(nd(d,1)|0)&255;a[b+4|0]=f;f=(nd(d,1)|0)&255;a[b+5|0]=f;f=qd(d)|0;i=f&255;j=b+6|0;a[j]=i;if((f|0)==-99999){Ue(e+4|0,1006,0);g=0;return g|0}a[j]=i+1;i=qd(d)|0;j=i&255;f=b+7|0;a[f]=j;if((i|0)==-99999){Ue(e+4|0,1006,0);g=0;return g|0}a[f]=j+1;j=a[h]|0;h=e+11096+(j*5168|0)|0;if((a[h|0]|0)==0){Ue(e+4|0,1010,0);g=0;return g|0}f=rd(d)|0;i=b+8|0;c[i>>2]=f;if((f|0)==-99999){Ue(e+4|0,1006,0);g=0;return g|0}c[i>>2]=f+26;f=(nd(d,1)|0)&255;a[b+12|0]=f;f=(nd(d,1)|0)&255;a[b+13|0]=f;f=(nd(d,1)|0)&255;a[b+14|0]=f;do{if(f<<24>>24==0){c[b+16>>2]=0}else{i=qd(d)|0;c[b+16>>2]=i;if(!((i|0)==-99999)){break}Ue(e+4|0,1006,0);g=0;return g|0}}while(0);f=rd(d)|0;c[b+20>>2]=f;if((f|0)==-99999){Ue(e+4|0,1006,0);g=0;return g|0}f=rd(d)|0;c[b+24>>2]=f;if((f|0)==-99999){Ue(e+4|0,1006,0);g=0;return g|0}f=(nd(d,1)|0)&255;a[b+28|0]=f;f=(nd(d,1)|0)&255;a[b+29|0]=f;f=(nd(d,1)|0)&255;a[b+30|0]=f;f=(nd(d,1)|0)&255;a[b+32|0]=f;f=(nd(d,1)|0)&255;i=b+34|0;a[i]=f;f=(nd(d,1)|0)&255;a[b+33|0]=f;if((a[i]|0)==0){c[b+36>>2]=1;c[b+40>>2]=1;a[b+44|0]=1;a[b+45|0]=0}else{i=qd(d)|0;f=b+36|0;c[f>>2]=i;if((i|0)==-99999|(i|0)>9){Ue(e+4|0,1006,0);g=0;return g|0}c[f>>2]=i+1;i=qd(d)|0;k=b+40|0;c[k>>2]=i;if((i|0)==-99999|(i|0)>9){Ue(e+4|0,1006,0);g=0;return g|0}c[k>>2]=i+1;i=(nd(d,1)|0)&255;a[b+44|0]=i;do{if(i<<24>>24==0){l=c[e+11096+(j*5168|0)+5056>>2]|0;m=c[e+11096+(j*5168|0)+5064>>2]|0;n=(c[f>>2]|0)-1|0;a:do{if((n|0)>0){o=l;p=0;while(1){q=qd(d)|0;r=b+4172+(p<<2)|0;c[r>>2]=q;if((q|0)==-99999){break}s=q+1|0;c[r>>2]=s;r=o-s|0;s=p+1|0;q=(c[f>>2]|0)-1|0;if((s|0)<(q|0)){o=r;p=s}else{t=r;u=q;break a}}Ue(e+4|0,1006,0);g=0;return g|0}else{t=l;u=n}}while(0);if((t|0)<1){g=0;return g|0}c[b+4172+(u<<2)>>2]=t;n=(c[k>>2]|0)-1|0;b:do{if((n|0)>0){l=m;p=0;while(1){o=qd(d)|0;q=b+4212+(p<<2)|0;c[q>>2]=o;if((o|0)==-99999){break}r=o+1|0;c[q>>2]=r;q=l-r|0;r=p+1|0;o=(c[k>>2]|0)-1|0;if((r|0)<(o|0)){l=q;p=r}else{v=q;w=o;break b}}Ue(e+4|0,1006,0);g=0;return g|0}else{v=m;w=n}}while(0);if((v|0)<1){g=0;return g|0}else{c[b+4212+(w<<2)>>2]=v;break}}}while(0);v=(nd(d,1)|0)&255;a[b+45|0]=v}v=b+52|0;c[v>>2]=0;w=b+56|0;c[w>>2]=0;k=(nd(d,1)|0)&255;a[b+46|0]=k;k=(nd(d,1)|0)&255;a[b+47|0]=k;do{if(k<<24>>24==0){a[b+48|0]=0;a[b+49|0]=0}else{t=(nd(d,1)|0)&255;a[b+48|0]=t;t=(nd(d,1)|0)&255;a[b+49|0]=t;if(!(t<<24>>24==0)){break}t=rd(d)|0;c[v>>2]=t;if((t|0)==-99999){Ue(e+4|0,1006,0);g=0;return g|0}c[v>>2]=t<<1;t=rd(d)|0;c[w>>2]=t;if(!((t|0)==-99999)){c[w>>2]=t<<1;break}Ue(e+4|0,1006,0);g=0;return g|0}}while(0);w=(nd(d,1)|0)&255;a[b+60|0]=w;v=w<<24>>24==0;if(!((a[e+11096+(j*5168|0)+636|0]|0)!=0|v)){Ue(e+4|0,1006,0);g=0;return g|0}do{if(v){cv(b+61|0,e+11096+(j*5168|0)+638|0,4064)|0}else{w=lk(d,h,b+61|0,1)|0;if((w|0)==0){break}Ue(e+4|0,w,0);g=0;return g|0}}while(0);v=(nd(d,1)|0)&255;a[b+4125|0]=v;v=qd(d)|0;w=b+4128|0;c[w>>2]=v;if((v|0)==-99999){Ue(e+4|0,1006,0);g=0;return g|0}c[w>>2]=v+2;if((v|0)>((c[e+11096+(j*5168|0)+612>>2]|0)-2+(c[e+11096+(j*5168|0)+616>>2]|0)|0)){g=0;return g|0}j=(nd(d,1)|0)&255;a[b+4133|0]=j;j=(nd(d,1)|0)&255;a[b+4134|0]=j;do{if(!(j<<24>>24==0)){v=(nd(d,1)|0)&255;w=b+4135|0;a[w]=v;v=(nd(d,1)|0)&255;a[b+4136|0]=v;v=(nd(d,6)|0)&255;a[b+4137|0]=v;if((a[w]|0)==0){break}if(hj(b+4138|0,d,e,b)|0){break}else{g=0}return g|0}}while(0);nj(b,h);a[b|0]=1;g=1;return g|0}function nj(b,e){b=b|0;e=e|0;var f=0,g=0,h=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,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;f=i;g=e+5040|0;c[b+4160>>2]=(c[g>>2]|0)-(c[b+16>>2]|0);c[b+4164>>2]=(c[g>>2]|0)-(d[b+4141|0]|0);c[b+4168>>2]=d[b+4138|0]|0;h=b+36|0;do{if((a[b+44|0]|0)!=0){j=c[h>>2]|0;k=i;i=i+((j<<2)+4)|0;i=i+7&-8;l=k;do{if((j|0)>=0){k=c[e+5056>>2]|0;m=0;while(1){n=(ga(k,m)|0)/(j|0)|0;c[l+(m<<2)>>2]=n;if((m|0)<(j|0)){m=m+1|0}else{break}}if((j|0)<=0){break}m=0;k=c[l>>2]|0;while(1){n=m+1|0;o=c[l+(n<<2)>>2]|0;c[b+4172+(m<<2)>>2]=o-k;if((n|0)<(c[h>>2]|0)){m=n;k=o}else{break}}}}while(0);l=b+40|0;j=c[l>>2]|0;k=i;i=i+((j<<2)+4)|0;i=i+7&-8;m=k;if((j|0)<0){break}k=c[e+5064>>2]|0;o=0;while(1){n=(ga(k,o)|0)/(j|0)|0;c[m+(o<<2)>>2]=n;if((o|0)<(j|0)){o=o+1|0}else{break}}if((j|0)<=0){break}o=0;k=c[m>>2]|0;while(1){n=o+1|0;p=c[m+(n<<2)>>2]|0;c[b+4212+(o<<2)>>2]=p-k;if((n|0)<(c[l>>2]|0)){o=n;k=p}else{break}}}}while(0);c[b+4252>>2]=0;if((c[h>>2]|0)>0){k=0;o=0;do{o=(c[b+4172+(k<<2)>>2]|0)+o|0;k=k+1|0;c[b+4252+(k<<2)>>2]=o;}while((k|0)<(c[h>>2]|0))}c[b+4296>>2]=0;k=b+40|0;if((c[k>>2]|0)>0){o=0;l=0;do{l=(c[b+4212+(o<<2)>>2]|0)+l|0;o=o+1|0;c[b+4296+(o<<2)>>2]=l;}while((o|0)<(c[k>>2]|0))}o=b+4340|0;l=e+5072|0;m=c[l>>2]|0;j=b+4344|0;p=c[j>>2]|0;n=o|0;q=c[n>>2]|0;r=p-q>>2;do{if(r>>>0<m>>>0){qj(o,m-r|0);s=c[l>>2]|0}else{if(!(r>>>0>m>>>0)){s=m;break}t=q+(m<<2)|0;if((p|0)==(t|0)){s=m;break}c[j>>2]=p+(~((p-4+(-t|0)|0)>>>2)<<2);s=m}}while(0);m=b+4352|0;p=b+4356|0;j=c[p>>2]|0;q=m|0;r=c[q>>2]|0;o=j-r>>2;do{if(o>>>0<s>>>0){qj(m,s-o|0);u=c[l>>2]|0}else{if(!(o>>>0>s>>>0)){u=s;break}t=r+(s<<2)|0;if((j|0)==(t|0)){u=s;break}c[p>>2]=j+(~((j-4+(-t|0)|0)>>>2)<<2);u=s}}while(0);s=b+4364|0;j=b+4368|0;p=c[j>>2]|0;r=s|0;o=c[r>>2]|0;m=p-o>>2;do{if(m>>>0<u>>>0){qj(s,u-m|0);v=c[l>>2]|0}else{if(!(m>>>0>u>>>0)){v=u;break}t=o+(u<<2)|0;if((p|0)==(t|0)){v=u;break}c[j>>2]=p+(~((p-4+(-t|0)|0)>>>2)<<2);v=u}}while(0);u=b+4376|0;p=b+4380|0;j=c[p>>2]|0;o=u|0;m=c[o>>2]|0;s=j-m>>2;do{if(s>>>0<v>>>0){qj(u,v-s|0)}else{if(!(s>>>0>v>>>0)){break}t=m+(v<<2)|0;if((j|0)==(t|0)){break}c[p>>2]=j+(~((j-4+(-t|0)|0)>>>2)<<2)}}while(0);j=b+4388|0;p=c[e+5096>>2]|0;v=b+4392|0;m=c[v>>2]|0;s=j|0;u=c[s>>2]|0;t=m-u>>2;do{if(t>>>0<p>>>0){qj(j,p-t|0)}else{if(!(t>>>0>p>>>0)){break}w=u+(p<<2)|0;if((m|0)==(w|0)){break}c[v>>2]=m+(~((m-4+(-w|0)|0)>>>2)<<2)}}while(0);a:do{if((c[l>>2]|0)>0){m=e+5056|0;v=0;while(1){p=c[m>>2]|0;u=(v|0)%(p|0)|0;t=(v|0)/(p|0)|0;p=c[h>>2]|0;if((p|0)>0){j=-1;w=0;while(1){x=(u|0)<(c[b+4252+(w<<2)>>2]|0)?j:w;y=w+1|0;if((y|0)<(p|0)){j=x;w=y}else{z=x;break}}}else{z=-1}w=c[k>>2]|0;if((w|0)>0){j=-1;p=0;while(1){x=(t|0)<(c[b+4296+(p<<2)>>2]|0)?j:p;y=p+1|0;if((y|0)<(w|0)){j=x;p=y}else{A=x;break}}}else{A=-1}p=(c[n>>2]|0)+(v<<2)|0;c[p>>2]=0;if((z|0)>0){j=b+4212+(A<<2)|0;w=0;x=0;while(1){y=x+(ga(c[b+4172+(w<<2)>>2]|0,c[j>>2]|0)|0)|0;c[p>>2]=y;B=w+1|0;if((B|0)<(z|0)){w=B;x=y}else{C=y;break}}}else{C=0}if((A|0)>0){x=0;w=C;while(1){j=w+(ga(c[b+4212+(x<<2)>>2]|0,c[m>>2]|0)|0)|0;c[p>>2]=j;y=x+1|0;if((y|0)<(A|0)){x=y;w=j}else{D=j;break}}}else{D=C}if(!((A|z|0)>-1)){break}w=D+(ga(t-(c[b+4296+(A<<2)>>2]|0)|0,c[b+4172+(z<<2)>>2]|0)|0)|0;c[p>>2]=w;x=u-(c[b+4252+(z<<2)>>2]|0)+w|0;c[p>>2]=x;c[(c[q>>2]|0)+(x<<2)>>2]=v;v=v+1|0;if((v|0)>=(c[l>>2]|0)){break a}}ec(16944,16440,618,17488)}}while(0);l=c[k>>2]|0;if((l|0)>0){q=e+5056|0;z=0;A=0;D=c[h>>2]|0;C=l;while(1){if((D|0)>0){l=b+4296+(z<<2)|0;v=z+1|0;m=b+4296+(v<<2)|0;x=A;w=0;j=c[m>>2]|0;y=D;while(1){B=c[l>>2]|0;if((B|0)<(j|0)){E=b+4252+(w<<2)|0;F=w+1|0;G=b+4252+(F<<2)|0;H=B;B=c[G>>2]|0;I=j;while(1){J=c[E>>2]|0;if((J|0)<(B|0)){K=c[n>>2]|0;L=c[r>>2]|0;M=c[o>>2]|0;N=J;do{J=K+((ga(c[q>>2]|0,H)|0)+N<<2)|0;c[L+(c[J>>2]<<2)>>2]=x;J=M+((ga(c[q>>2]|0,H)|0)+N<<2)|0;c[J>>2]=x;N=N+1|0;O=c[G>>2]|0;}while((N|0)<(O|0));P=O;Q=c[m>>2]|0}else{P=B;Q=I}N=H+1|0;if((N|0)<(Q|0)){H=N;B=P;I=Q}else{break}}R=Q;S=c[h>>2]|0;T=F}else{R=j;S=y;T=w+1|0}U=x+1|0;if((T|0)<(S|0)){x=U;w=T;j=R;y=S}else{break}}V=U;W=S;X=c[k>>2]|0;Y=v}else{V=A;W=D;X=C;Y=z+1|0}if((Y|0)<(X|0)){z=Y;A=V;D=W;C=X}else{break}}}X=e+5092|0;C=c[X>>2]|0;if((C|0)<=0){i=f;return}W=e+5088|0;D=e+5100|0;V=e+5056|0;e=0;A=c[W>>2]|0;Y=C;while(1){if((A|0)>0){C=c[n>>2]|0;z=c[s>>2]|0;k=0;S=A;do{U=c[D>>2]|0;R=c[g>>2]|0;T=C+((ga(c[V>>2]|0,e<<U>>R)|0)+(k<<U>>R)<<2)|0;h=z+((ga(S,e)|0)+k<<2)|0;c[h>>2]=c[T>>2]<<(R-U<<1);U=(c[g>>2]|0)-(c[D>>2]|0)|0;if((U|0)>0){R=0;T=0;while(1){h=1<<T;if((h&e|0)==0){Z=0}else{Z=h<<1<<T}Q=((h&k|0)==0?0:h<<T)+R+Z|0;h=T+1|0;if((h|0)<(U|0)){R=Q;T=h}else{_=Q;break}}}else{_=0}T=z+((ga(c[W>>2]|0,e)|0)+k<<2)|0;c[T>>2]=(c[T>>2]|0)+_;k=k+1|0;S=c[W>>2]|0;}while((k|0)<(S|0));$=S;aa=c[X>>2]|0}else{$=A;aa=Y}k=e+1|0;if((k|0)<(aa|0)){e=k;A=$;Y=aa}else{break}}i=f;return}function oj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((d|0)==2){f=q}else if((d|0)==1){f=t}else{i=e;return}g=c[f>>2]|0;Zk(g,16080,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;Zk(g,15672,(f=i,i=i+8|0,c[f>>2]=a[b+1|0]|0,f)|0);i=f;Zk(g,15304,(f=i,i=i+8|0,c[f>>2]=a[b+2|0]|0,f)|0);i=f;Zk(g,14992,(f=i,i=i+8|0,c[f>>2]=a[b+3|0]|0,f)|0);i=f;Zk(g,14728,(f=i,i=i+8|0,c[f>>2]=a[b+4|0]|0,f)|0);i=f;Zk(g,14432,(f=i,i=i+8|0,c[f>>2]=a[b+5|0]|0,f)|0);i=f;Zk(g,14168,(f=i,i=i+8|0,c[f>>2]=a[b+6|0]|0,f)|0);i=f;Zk(g,13904,(f=i,i=i+8|0,c[f>>2]=a[b+7|0]|0,f)|0);i=f;Zk(g,13664,(f=i,i=i+8|0,c[f>>2]=c[b+8>>2],f)|0);i=f;Zk(g,13464,(f=i,i=i+8|0,c[f>>2]=a[b+12|0]|0,f)|0);i=f;Zk(g,13272,(f=i,i=i+8|0,c[f>>2]=a[b+13|0]|0,f)|0);i=f;h=b+14|0;Zk(g,13072,(f=i,i=i+8|0,c[f>>2]=a[h]|0,f)|0);i=f;if((a[h]|0)!=0){Zk(g,12776,(f=i,i=i+8|0,c[f>>2]=c[b+16>>2],f)|0);i=f}Zk(g,12464,(f=i,i=i+8|0,c[f>>2]=c[b+20>>2],f)|0);i=f;Zk(g,12256,(f=i,i=i+8|0,c[f>>2]=c[b+24>>2],f)|0);i=f;Zk(g,11904,(f=i,i=i+8|0,c[f>>2]=a[b+28|0]|0,f)|0);i=f;Zk(g,11560,(f=i,i=i+8|0,c[f>>2]=a[b+29|0]|0,f)|0);i=f;Zk(g,11280,(f=i,i=i+8|0,c[f>>2]=a[b+30|0]|0,f)|0);i=f;Zk(g,11032,(f=i,i=i+8|0,c[f>>2]=a[b+31|0]|0,f)|0);i=f;Zk(g,10768,(f=i,i=i+8|0,c[f>>2]=a[b+32|0]|0,f)|0);i=f;h=b+34|0;Zk(g,10520,(f=i,i=i+8|0,c[f>>2]=a[h]|0,f)|0);i=f;Zk(g,10192,(f=i,i=i+8|0,c[f>>2]=a[b+33|0]|0,f)|0);i=f;if((a[h]|0)!=0){h=b+36|0;Zk(g,9856,(f=i,i=i+8|0,c[f>>2]=c[h>>2],f)|0);i=f;j=b+40|0;Zk(g,9448,(f=i,i=i+8|0,c[f>>2]=c[j>>2],f)|0);i=f;Zk(g,9112,(f=i,i=i+8|0,c[f>>2]=a[b+44|0]|0,f)|0);i=f;Zk(g,8800,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;if((c[h>>2]|0)>=0){k=0;while(1){Zk(g,8464,(f=i,i=i+8|0,c[f>>2]=c[b+4252+(k<<2)>>2],f)|0);i=f;if((k|0)<(c[h>>2]|0)){k=k+1|0}else{break}}}Zk(g,8280,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;Zk(g,8008,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;if((c[j>>2]|0)>=0){k=0;while(1){Zk(g,8464,(f=i,i=i+8|0,c[f>>2]=c[b+4296+(k<<2)>>2],f)|0);i=f;if((k|0)<(c[j>>2]|0)){k=k+1|0}else{break}}}Zk(g,8280,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;Zk(g,7728,(f=i,i=i+8|0,c[f>>2]=a[b+45|0]|0,f)|0);i=f}Zk(g,7432,(f=i,i=i+8|0,c[f>>2]=a[b+46|0]|0,f)|0);i=f;k=b+47|0;Zk(g,7144,(f=i,i=i+8|0,c[f>>2]=a[k]|0,f)|0);i=f;if((a[k]|0)!=0){Zk(g,6848,(f=i,i=i+8|0,c[f>>2]=a[b+48|0]|0,f)|0);i=f;Zk(g,6576,(f=i,i=i+8|0,c[f>>2]=a[b+49|0]|0,f)|0);i=f;Zk(g,6416,(f=i,i=i+8|0,c[f>>2]=c[b+52>>2],f)|0);i=f;Zk(g,6240,(f=i,i=i+8|0,c[f>>2]=c[b+56>>2],f)|0);i=f}Zk(g,6056,(f=i,i=i+8|0,c[f>>2]=a[b+60|0]|0,f)|0);i=f;Zk(g,5896,(f=i,i=i+8|0,c[f>>2]=a[b+4125|0]|0,f)|0);i=f;Zk(g,5752,(f=i,i=i+8|0,c[f>>2]=c[b+4128>>2],f)|0);i=f;Zk(g,5584,(f=i,i=i+8|0,c[f>>2]=a[b+4132|0]|0,f)|0);i=f;Zk(g,5448,(f=i,i=i+8|0,c[f>>2]=a[b+4133|0]|0,f)|0);i=f;Zk(g,5280,(f=i,i=i+8|0,c[f>>2]=a[b+4134|0]|0,f)|0);i=f;k=b+4135|0;Zk(g,5096,(f=i,i=i+8|0,c[f>>2]=a[k]|0,f)|0);i=f;Zk(g,4880,(f=i,i=i+8|0,c[f>>2]=a[b+4136|0]|0,f)|0);i=f;Zk(g,4752,(f=i,i=i+8|0,c[f>>2]=a[b+4137|0]|0,f)|0);i=f;Zk(g,4632,(f=i,i=i+8|0,c[f>>2]=c[b+4160>>2],f)|0);i=f;Zk(g,4392,(f=i,i=i+8|0,c[f>>2]=c[b+4164>>2],f)|0);i=f;Zk(g,4176,(f=i,i=i+8|0,c[f>>2]=c[b+4168>>2],f)|0);i=f;if((a[k]|0)==0){i=e;return}ij(b+4138|0,d);i=e;return}function pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((a[b+34|0]|0)==0){f=(e|d|0)==0;return f|0}g=c[b+36>>2]|0;if((g|0)>0){h=0}else{f=0;return f|0}while(1){i=h+1|0;if((c[b+4252+(h<<2)>>2]|0)==(d|0)){break}if((i|0)<(g|0)){h=i}else{f=0;j=9;break}}if((j|0)==9){return f|0}h=c[b+40>>2]|0;if((h|0)>0){k=0}else{f=0;return f|0}while(1){g=k+1|0;if((c[b+4296+(k<<2)>>2]|0)==(e|0)){f=1;j=9;break}if((g|0)<(h|0)){k=g}else{f=0;j=9;break}}if((j|0)==9){return f|0}return 0}function qj(a,b){a=a|0;b=b|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;d=a+8|0;e=a+4|0;f=c[e>>2]|0;g=c[d>>2]|0;h=f;if(!(g-h>>2>>>0<b>>>0)){i=b;j=f;while(1){if((j|0)!=0){c[j>>2]=0}k=i-1|0;if((k|0)==0){break}else{i=k;j=j+4|0}}c[e>>2]=f+(b<<2);return}f=a|0;a=c[f>>2]|0;j=a;i=h-j|0;h=i>>2;k=h+b|0;if(k>>>0>1073741823>>>0){Nr(0)}l=g-j|0;if(l>>2>>>0<536870911>>>0){j=l>>1;l=j>>>0<k>>>0?k:j;if((l|0)==0){m=0;n=0}else{o=l;p=10}}else{o=1073741823;p=10}if((p|0)==10){m=Nu(o<<2)|0;n=o}o=b;b=m+(h<<2)|0;while(1){if((b|0)!=0){c[b>>2]=0}h=o-1|0;if((h|0)==0){break}else{o=h;b=b+4|0}}b=a;cv(m|0,b|0,i)|0;c[f>>2]=m;c[e>>2]=m+(k<<2);c[d>>2]=m+(n<<2);if((a|0)==0){return}Pu(b);return}function rj(c){c=c|0;var d=0;d=c+96|0;C=0;a[d]=C;C=C>>8;a[d+1|0]=C;C=C>>8;a[d+2|0]=C;C=C>>8;a[d+3|0]=C;d=0;do{b[c+(d<<1)>>1]=0;b[c+32+(d<<1)>>1]=0;a[c+64+d|0]=0;a[c+80+d|0]=0;d=d+1|0;}while((d|0)<16);return}function sj(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,A=0,B=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;m=i;do{if((j|0)==0){n=56}else{if(((nd(g,1)|0)&255)<<24>>24==0){n=56;break}do{if(l){o=qd(g)|0;if((o|0)!=-99999&(o|0)<(j|0)){p=o+1|0;break}else{q=0;i=m;return q|0}}else{p=1}}while(0);o=j-p|0;if(!((o|0)>-1)){ec(5088,15040,129,18616);return 0}r=nd(g,1)|0;s=qd(g)|0;if((s|0)==-99999){q=0;i=m;return q|0}t=s+1|0;u=~s;s=k|0;v=d[(c[s>>2]|0)+(o*100|0)+98|0]|0;w=v+1|0;x=i;i=i+w|0;i=i+7&-8;y=i;i=i+w|0;i=i+7&-8;w=0;while(1){z=(nd(g,1)|0)&255;a[x+w|0]=z;if(z<<24>>24==0){z=(nd(g,1)|0)&255;a[y+w|0]=z}else{a[y+w|0]=1}if((w|0)<(v|0)){w=w+1|0}else{break}}w=(r|0)!=0?u:t;z=c[s>>2]|0;A=a[z+(o*100|0)+96|0]|0;B=A&255;D=a[z+(o*100|0)+97|0]|0;z=D&255;E=D<<24>>24==0;a:do{if(E){F=0}else{D=k+4|0;G=0;H=z;b:while(1){I=H;while(1){J=I-1|0;K=c[s>>2]|0;if(!(o>>>0<(((c[D>>2]|0)-K|0)/100|0)>>>0)){n=18;break b}if(!((I-1|0)>>>0<16>>>0)){n=20;break b}L=(b[K+(o*100|0)+32+(J<<1)>>1]|0)+w|0;if((L|0)<0){M=J+B|0;if((a[y+M|0]|0)!=0){break}}if((J|0)>0){I=J}else{F=G;break a}}if((G|0)>15){q=0;n=77;break}b[h+(G<<1)>>1]=L;a[h+64+G|0]=a[x+M|0]|0;I=G+1|0;if((J|0)>0){G=I;H=J}else{F=I;break a}}if((n|0)==18){ec(12504,15040,174,18616);return 0}else if((n|0)==20){ec(9480,15040,175,18616);return 0}else if((n|0)==77){i=m;return q|0}}}while(0);do{if((w|0)<0){if((a[y+v|0]|0)==0){N=F;break}if((F|0)>15){q=0;i=m;return q|0}else{b[h+(F<<1)>>1]=w;a[h+64+F|0]=a[x+v|0]|0;N=F+1|0;break}}else{N=F}}while(0);t=A<<24>>24==0;c:do{if(t){a[h+96|0]=N;O=0}else{u=N;r=0;d:while(1){H=(b[(c[s>>2]|0)+(o*100|0)+(r<<1)>>1]|0)+w|0;do{if((H|0)<0){if((a[y+r|0]|0)==0){P=u;break}if((u|0)>15){q=0;n=77;break d}b[h+(u<<1)>>1]=H;a[h+64+u|0]=a[x+r|0]|0;P=u+1|0}else{P=u}}while(0);H=r+1|0;if((H|0)<(B|0)){u=P;r=H}else{break}}if((n|0)==77){i=m;return q|0}a[h+96|0]=P;if(t){O=0;break}else{Q=0;R=B}while(1){r=c[s>>2]|0;u=R;while(1){S=u-1|0;T=(b[r+(o*100|0)+(S<<1)>>1]|0)+w|0;if((T|0)>0){if((a[y+S|0]|0)!=0){break}}if((S|0)>0){u=S}else{O=Q;break c}}if((Q|0)>15){q=0;break}b[h+32+(Q<<1)>>1]=T;a[h+80+Q|0]=a[x+S|0]|0;u=Q+1|0;if((S|0)>0){Q=u;R=S}else{O=u;break c}}i=m;return q|0}}while(0);do{if((w|0)>0){if((a[y+v|0]|0)==0){U=O;break}if((O|0)>15){q=0;i=m;return q|0}else{b[h+32+(O<<1)>>1]=w;a[h+80+O|0]=a[x+v|0]|0;U=O+1|0;break}}else{U=O}}while(0);do{if(E){V=U&255}else{v=U;t=0;e:while(1){A=(b[(c[s>>2]|0)+(o*100|0)+32+(t<<1)>>1]|0)+w|0;do{if((A|0)>0){u=t+B|0;if((a[y+u|0]|0)==0){W=v;break}if((v|0)>15){q=0;n=77;break e}b[h+32+(v<<1)>>1]=A;a[h+80+v|0]=a[x+u|0]|0;W=v+1|0}else{W=v}}while(0);A=t+1|0;if((A|0)<(z|0)){v=W;t=A}else{n=54;break}}if((n|0)==54){V=W&255;break}else if((n|0)==77){i=m;return q|0}}}while(0);a[h+97|0]=V}}while(0);f:do{if((n|0)==56){V=qd(g)|0;W=qd(g)|0;if((W+V|0)>(c[f+528+((a[f+2|0]|0)-1<<2)>>2]|0)){U=h+96|0;C=0;a[U]=C;C=C>>8;a[U+1|0]=C;C=C>>8;a[U+2|0]=C;C=C>>8;a[U+3|0]=C;Ue(e,1018,0);q=0;i=m;return q|0}if((V|0)>16|(W|0)>16){Ue(e,1018,0);q=0;i=m;return q|0}a[h+96|0]=V;a[h+97|0]=W;g:do{if((V|0)>0){U=0;O=0;while(1){S=qd(g)|0;if((S|0)==-99999){q=0;break}R=(nd(g,1)|0)&255;Q=h+(O<<1)|0;b[Q>>1]=U+65535-S;a[h+64+O|0]=R;R=O+1|0;if((R|0)<(V|0)){U=b[Q>>1]|0;O=R}else{break g}}i=m;return q|0}}while(0);if((W|0)>0){X=0;Y=0}else{break}while(1){V=qd(g)|0;if((V|0)==-99999){q=0;break}O=(nd(g,1)|0)&255;U=h+32+(Y<<1)|0;b[U>>1]=X+1+V;a[h+80+Y|0]=O;O=Y+1|0;if((O|0)<(W|0)){X=b[U>>1]|0;Y=O}else{break f}}i=m;return q|0}}while(0);Y=h+99|0;a[Y]=0;X=a[h+96|0]|0;if(X<<24>>24==0){Z=0;_=0}else{g=X&255;e=0;f=0;while(1){if((a[h+64+e|0]|0)==0){$=f}else{n=f+1&255;a[Y]=n;$=n}n=e+1|0;if((n|0)<(g|0)){e=n;f=$}else{Z=X;_=$;break}}}$=a[h+97|0]|0;if($<<24>>24==0){aa=0}else{X=$&255;f=0;e=_;while(1){if((a[h+80+f|0]|0)==0){ba=e}else{_=e+1&255;a[Y]=_;ba=_}_=f+1|0;if((_|0)<(X|0)){f=_;e=ba}else{aa=$;break}}}a[h+98|0]=aa+Z;q=1;i=m;return q|0}function tj(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;h=e<<1;j=i;i=i+(h+2)|0;i=i+7&-8;k=h|1;a[j+k|0]=0;if((k|0)>0){dv(j|0,46,k|0)|0}a[j+e|0]=124;k=a[d+96|0]|0;if(!(k<<24>>24==0)){h=-e|0;l=k&255;do{l=l-1|0;k=b[d+(l<<1)>>1]|0;m=a[d+64+l|0]|0;do{if((k|0)<(h|0)){Zk(f,16008,(n=i,i=i+16|0,c[n>>2]=k,c[n+8>>2]=m<<24>>24!=0?88:111,n)|0);i=n}else{o=j+(k+e)|0;if(m<<24>>24==0){a[o]=111;break}else{a[o]=88;break}}}while(0);}while((l|0)>0)}l=a[d+97|0]|0;if(l<<24>>24==0){Zk(f,15608,(n=i,i=i+8|0,c[n>>2]=j,n)|0);i=n;i=g;return}h=l&255;do{h=h-1|0;l=b[d+32+(h<<1)>>1]|0;m=a[d+80+h|0]|0;do{if((l|0)>(e|0)){Zk(f,16008,(n=i,i=i+16|0,c[n>>2]=l,c[n+8>>2]=m<<24>>24!=0?88:111,n)|0);i=n}else{k=j+(l+e)|0;if(m<<24>>24==0){a[k]=111;break}else{a[k]=88;break}}}while(0);}while((h|0)>0);Zk(f,15608,(n=i,i=i+8|0,c[n>>2]=j,n)|0);i=n;i=g;return}function uj(b){b=b|0;var 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,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;if((a[b+5467|0]|0)==0){return}d=b+40|0;f=b+28|0;g=ga(c[f>>2]|0,c[d>>2]|0)|0;h=b+5760|0;i=ga(g,((c[h>>2]|0)+7|0)/8|0)|0;g=b+44|0;j=b+36|0;k=ga(c[j>>2]|0,c[g>>2]|0)|0;l=b+5768|0;m=ga(k,((c[l>>2]|0)+7|0)/8|0)|0;k=(i|0)>(m|0)?i:m;m=Ou((k|0)>-1?k:-1)|0;if((m|0)==0){Ue((c[b+10332>>2]|0)+4|0,1024,0);return}k=(c[b+5776>>2]|0)==0?1:3;i=b+5828|0;n=b+5820|0;o=b+10352|0;p=b+10340|0;q=b+52|0;r=b+48|0;s=b+5804|0;t=b+4|0;u=m;v=b+5780|0;w=b+5784|0;x=0;y=c[i>>2]|0;a:while(1){z=(x|0)==0;A=z?d:g;B=c[A>>2]|0;C=b+4+(x<<2)|0;D=ga(c[(z?f:j)>>2]|0,B)|0;E=z?h:l;cv(m|0,c[C>>2]|0,ga(D,((c[E>>2]|0)+7|0)/8|0)|0)|0;if((y|0)>0){D=0;F=c[n>>2]|0;G=y;while(1){if((F|0)>0){H=0;do{I=(ga(c[o>>2]|0,D)|0)+H|0;J=e[(c[p>>2]|0)+(I*24|0)+2>>1]|0;I=c[r>>2]|0;if(!(J>>>0<(c[q>>2]|0)-I>>2>>>0)){K=24;break a}L=c[I+(J<<2)>>2]|0;if((L|0)==0){K=24;break a}do{if(z){if((a[L+325|0]|0)==0){break}J=1<<c[s>>2];I=c[t>>2]|0;M=c[d>>2]|0;if((c[h>>2]|0)>8){Aj(b,H,D,0,0,J,J,u,B,I,M);break}else{Bj(b,H,D,0,0,J,J,m,B,I,M);break}}else{if((a[L+326|0]|0)==0){break}M=1<<c[s>>2];I=(M|0)/(c[v>>2]|0)|0;J=(M|0)/(c[w>>2]|0)|0;M=c[C>>2]|0;N=c[A>>2]|0;if((c[E>>2]|0)>8){Aj(b,H,D,0,x,I,J,u,B,M,N);break}else{Bj(b,H,D,0,x,I,J,m,B,M,N);break}}}while(0);H=H+1|0;O=c[n>>2]|0;}while((H|0)<(O|0));P=O;Q=c[i>>2]|0}else{P=F;Q=G}H=D+1|0;if((H|0)<(Q|0)){D=H;F=P;G=Q}else{R=Q;break}}}else{R=y}G=x+1|0;if((G|0)<(k|0)){x=G;y=R}else{K=23;break}}if((K|0)==23){Qu(m);return}else if((K|0)==24){return}}function vj(b){b=b|0;var 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,A=0,B=0,C=0;d=b|0;f=b+4|0;c[f>>2]=1;g=b+12|0;Wh(c[g>>2]|0,d);h=c[g>>2]|0;i=c[h+5820>>2]|0;j=i-1|0;k=c[h+5804>>2]|0;l=1<<k;m=b+8|0;n=b+24|0;Yh(h,d,j,c[m>>2]|0,c[n>>2]|0);h=c[m>>2]|0;if((h|0)>0){Yh(c[g>>2]|0,d,j,h-1|0,c[n>>2]|0);o=c[m>>2]|0}else{o=h}h=o+1|0;p=c[g>>2]|0;if((h|0)<(c[p+5828>>2]|0)){Yh(p,d,j,h,c[n>>2]|0);q=c[m>>2]|0}else{q=o}o=b+20|0;n=b+16|0;Th(c[o>>2]|0,c[n>>2]|0,q<<k,q+1<<k);k=c[g>>2]|0;a:do{if((c[k+5820>>2]|0)>0){q=0;b=k;while(1){h=c[m>>2]|0;p=(ga(c[b+10352>>2]|0,h)|0)+q|0;r=e[(c[b+10340>>2]|0)+(p*24|0)+2>>1]|0;p=c[b+48>>2]|0;if(!(r>>>0<(c[b+52>>2]|0)-p>>2>>>0)){s=b;break a}t=c[p+(r<<2)>>2]|0;if((t|0)==0){s=b;break a}do{if((a[t+325|0]|0)!=0){r=c[n>>2]|0;p=c[r+4>>2]|0;u=c[r+40>>2]|0;r=c[o>>2]|0;v=c[r+4>>2]|0;w=c[r+40>>2]|0;if((c[b+5760>>2]|0)>8){Aj(b,q,h,0,0,l,l,p,u,v,w);break}else{Bj(b,q,h,0,0,l,l,p,u,v,w);break}}}while(0);do{if((a[t+326|0]|0)!=0){h=c[g>>2]|0;w=(l|0)/(c[h+5780>>2]|0)|0;v=(l|0)/(c[h+5784>>2]|0)|0;u=c[m>>2]|0;p=c[n>>2]|0;r=c[p+8>>2]|0;x=c[p+44>>2]|0;p=c[o>>2]|0;y=c[p+8>>2]|0;z=c[p+44>>2]|0;if((c[h+5768>>2]|0)>8){Aj(h,q,u,0,1,w,v,r,x,y,z)}else{Bj(h,q,u,0,1,w,v,r,x,y,z)}z=c[g>>2]|0;y=c[m>>2]|0;x=c[n>>2]|0;r=c[x+12>>2]|0;u=c[x+44>>2]|0;x=c[o>>2]|0;h=c[x+12>>2]|0;p=c[x+44>>2]|0;if((c[z+5768>>2]|0)>8){Aj(z,q,y,0,2,w,v,r,u,h,p);break}else{Bj(z,q,y,0,2,w,v,r,u,h,p);break}}}while(0);t=q+1|0;p=c[g>>2]|0;if((t|0)<(c[p+5820>>2]|0)){q=t;b=p}else{s=p;break}}}else{s=k}}while(0);if((i|0)<1){A=s;c[f>>2]=3;Xh(A,d);return}else{B=0;C=s}while(1){s=(ga(c[m>>2]|0,c[C+5820>>2]|0)|0)+B|0;Ek((c[C+10524>>2]|0)+(s*76|0)|0,4);if((B|0)>=(j|0)){break}B=B+1|0;C=c[g>>2]|0}A=c[g>>2]|0;c[f>>2]=3;Xh(A,d);return}function wj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+8|0;f=e|0;g=c[b>>2]|0;if((a[g+5467|0]|0)==0){h=0;i=e;return h|0}j=g+10332|0;k=c[j>>2]|0;l=b+8|0;m=g+10480|0;if((Ph(l,c[g+24>>2]|0,c[g+28>>2]|0,c[g+20>>2]|0,g+764|0,0,k,c[g+10336>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[g+10488>>2]|0,1)|0)!=0){Ue((c[j>>2]|0)+4|0,1024,0);h=0;i=e;return h|0}j=c[g+5828>>2]|0;Vh(g,j);if((j|0)>0){m=b+10668|0;n=b+10672|0;o=k+375396|0;k=b+10664|0;b=0;do{p=Nu(28)|0;c[p+4>>2]=0;c[p>>2]=22280;c[p+16>>2]=g;c[p+20>>2]=l;c[p+12>>2]=g;c[p+8>>2]=b;c[p+24>>2]=d;q=p;c[f>>2]=q;p=c[m>>2]|0;if(p>>>0<(c[n>>2]|0)>>>0){if((p|0)==0){r=0}else{c[p>>2]=q;r=c[m>>2]|0}c[m>>2]=r+4}else{He(k,f)}Kk(o,q);b=b+1|0;}while((b|0)<(j|0))}_h(g);Uh(g,l);h=1;i=e;return h|0}function xj(a){a=a|0;return}function yj(a){a=a|0;Pu(a);return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+104|0;f=e|0;mb(f|0,6568,(g=i,i=i+8|0,c[g>>2]=c[d+8>>2],g)|0)|0;i=g;g=ev(f|0)|0;if(g>>>0>4294967279>>>0){nm(0)}if(g>>>0<11>>>0){a[b]=g<<1;h=b+1|0;cv(h|0,f|0,g)|0;j=h+g|0;a[j]=0;k=100;l=0;i=e;return}else{d=g+16&-16;m=Nu(d)|0;c[b+8>>2]=m;c[b>>2]=d|1;c[b+4>>2]=g;h=m;cv(h|0,f|0,g)|0;j=h+g|0;a[j]=0;k=100;l=0;i=e;return}}function Aj(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,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,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,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;j=i;i=i+152|0;r=j|0;s=j+8|0;t=j+16|0;u=j+24|0;v=c[f+10352>>2]|0;w=(ga(v,h)|0)+g|0;x=c[f+10340>>2]|0;y=k<<1;z=(d[x+(w*24|0)+4|0]|0)>>>(y>>>0)&3;if((z|0)==0){i=j;return}A=(k|0)==0;B=c[(A?f+5760|0:f+5768|0)>>2]|0;C=(1<<B)-1|0;D=ga(l,g)|0;g=ga(m,h)|0;h=c[(A?f+24|0:f+32|0)>>2]|0;E=c[(A?f+28|0:f+36|0)>>2]|0;F=c[f+10348>>2]|0;G=D>>F;H=g>>F;if(!((G|0)>-1&(G|0)<(v|0))){ec(14920,12440,118,17328)}if(!((H|0)>-1)){ec(9408,12440,119,17328)}I=c[f+10356>>2]|0;if((H|0)>=(I|0)){ec(9408,12440,119,17328)}J=x+(((ga(H,v)|0)+G|0)*24|0)+2|0;G=f+52|0;H=c[f+48>>2]|0;K=c[(c[H+(e[J>>1]<<2)>>2]|0)+800>>2]|0;J=c[f+5820>>2]|0;if(A){L=0;M=0}else{L=(c[f+5784>>2]|0)-1|0;M=(c[f+5780>>2]|0)-1|0}A=c[f+5804>>2]|0;N=A-M|0;O=A-L|0;A=(D+l|0)>(h|0)?h-D|0:l;l=(g+m|0)>(E|0)?E-g|0:m;m=(a[x+(w*24|0)+22|0]|0)!=0;if((z|0)==2){z=(d[x+(w*24|0)+5|0]|0)>>>(y>>>0)&3;if((z|0)==3){c[r>>2]=1;c[r+4>>2]=-1;c[s>>2]=-1;c[s+4>>2]=1;P=-1;Q=1;R=1;S=-1}else if((z|0)==1){c[r>>2]=0;c[r+4>>2]=0;c[s>>2]=-1;c[s+4>>2]=1;P=-1;Q=1;R=0;S=0}else if((z|0)==2){c[r>>2]=-1;c[r+4>>2]=1;c[s>>2]=-1;c[s+4>>2]=1;P=-1;Q=1;R=-1;S=1}else if((z|0)==0){c[r>>2]=-1;c[r+4>>2]=1;c[s>>2]=0;c[s+4>>2]=0;P=0;Q=0;R=-1;S=1}else{P=0;Q=0;R=0;S=0}z=ga(P,o)|0;P=ga(Q,o)|0;a[t|0]=a[x+(w*24|0)+9+(k<<2)|0]|0;a[t+1|0]=a[x+(w*24|0)+9+(k<<2)+1|0]|0;a[t+2|0]=0;a[t+3|0]=a[x+(w*24|0)+9+(k<<2)+2|0]|0;a[t+4|0]=a[x+(w*24|0)+9+(k<<2)+3|0]|0;if((l|0)<=0){i=j;return}Q=(A|0)>0;y=f+5480|0;T=f+10368|0;U=f+10372|0;V=f+10376|0;W=f+10360|0;X=A-1|0;Y=l-1|0;Z=f+5977|0;_=f+10308|0;$=(ga(g>>O,J)|0)+(D>>N)|0;aa=0;a:while(1){ba=aa+g|0;ca=(ga(ba,o)|0)+D|0;da=(ga(ba,q)|0)+D|0;if(Q){ea=ba<<L;fa=(aa|0)==0;ha=ca+z|0;ia=ca+P|0;ja=(aa|0)==(Y|0);ka=0;do{do{if(m){if((a[y]|0)==0){la=28;break}ma=c[T>>2]|0;na=ka+D<<M>>ma;oa=ea>>ma;if(!((na|0)>-1)){la=23;break a}ma=c[U>>2]|0;if((na|0)>=(ma|0)){la=23;break a}if(!((oa|0)>-1)){la=26;break a}if((oa|0)>=(c[V>>2]|0)){la=26;break a}pa=(ga(ma,oa)|0)+na|0;na=(c[W>>2]|0)+(pa*3|0)|0;if(((d[na]|d[na+1|0]<<8)<<16>>16&1024)==0){la=28}}else{la=28}}while(0);b:do{if((la|0)==28){la=0;na=ka+D|0;pa=na<<M;oa=c[T>>2]|0;ma=pa>>oa;qa=ea>>oa;if(!((ma|0)>-1)){la=30;break a}oa=c[U>>2]|0;if((ma|0)>=(oa|0)){la=30;break a}if(!((qa|0)>-1)){la=33;break a}if((qa|0)>=(c[V>>2]|0)){la=33;break a}ra=(ga(oa,qa)|0)+ma|0;ma=(c[W>>2]|0)+(ra*3|0)|0;if(!(((d[ma]|d[ma+1|0]<<8)<<16>>16&2048)==0)){break}if((ka|0)==0|fa|(ka|0)==(X|0)|ja){ma=0;do{ra=(c[r+(ma<<2)>>2]|0)+na|0;qa=(c[s+(ma<<2)>>2]|0)+ba|0;if(!((qa|ra|0)>-1&(ra|0)<(h|0)&(qa|0)<(E|0))){break b}oa=ra<<M>>F;sa=qa<<L>>F;if(!((oa|0)>-1&(oa|0)<(v|0))){la=38;break a}if(!((sa|0)>-1&(sa|0)<(I|0))){la=40;break a}ta=x+(((ga(v,sa)|0)+oa|0)*24|0)+2|0;oa=e[ta>>1]|0;if(!(oa>>>0<(c[G>>2]|0)-H>>2>>>0)){la=113;break a}ta=c[H+(oa<<2)>>2]|0;if((ta|0)==0){la=113;break a}oa=c[ta+800>>2]|0;if((oa|0)<(K|0)){sa=pa>>F;ua=ea>>F;if(!((sa|0)>-1&(sa|0)<(v|0))){la=45;break a}if(!((ua|0)>-1&(ua|0)<(I|0))){la=47;break a}va=x+(((ga(v,ua)|0)+sa|0)*24|0)+2|0;if((a[(c[H+(e[va>>1]<<2)>>2]|0)+764|0]|0)==0){break b}}if((oa|0)>(K|0)){if((a[ta+764|0]|0)==0){break b}}if((a[Z]|0)==0){ta=(ga(qa>>O,J)|0)+(ra>>N)|0;ra=c[_>>2]|0;if((c[ra+(ta<<2)>>2]|0)!=(c[ra+($<<2)>>2]|0)){break b}}ma=ma+1|0;}while((ma|0)<2)}ma=e[n+(ka+ca<<1)>>1]|0;pa=ma-(e[n+(ha+ka+R<<1)>>1]|0)|0;if((pa|0)<0){wa=1}else{wa=(pa|0)>0|2}pa=ma-(e[n+(ia+ka+S<<1)>>1]|0)|0;if((pa|0)<0){xa=-1}else{xa=(pa|0)>0|0}pa=ma+(a[t+(wa+xa)|0]|0)|0;if((pa|0)<0){ya=0}else{ya=((pa|0)>(C|0)?C:pa)&65535}b[p+(da+ka<<1)>>1]=ya}}while(0);ka=ka+1|0;}while((ka|0)<(A|0))}ka=aa+1|0;if((ka|0)<(l|0)){aa=ka}else{la=113;break}}if((la|0)==23){ec(14920,12440,118,17328)}else if((la|0)==26){ec(9408,12440,119,17328)}else if((la|0)==30){ec(14920,12440,118,17328)}else if((la|0)==33){ec(9408,12440,119,17328)}else if((la|0)==38){ec(14920,12440,118,17328)}else if((la|0)==40){ec(9408,12440,119,17328)}else if((la|0)==45){ec(14920,12440,118,17328)}else if((la|0)==47){ec(9408,12440,119,17328)}else if((la|0)==113){i=j;return}}aa=d[x+(w*24|0)+6+k|0]|0;dv(u|0,0,128)|0;c[u+((aa&31)<<2)>>2]=1;c[u+((aa+1&31)<<2)>>2]=2;c[u+((aa+2&31)<<2)>>2]=3;c[u+((aa+3&31)<<2)>>2]=4;aa=B-5|0;B=(l|0)>0;if(!m){if(!B){i=j;return}m=(A|0)>0;ya=(aa|0)>7;xa=0;do{if(m){wa=xa+g|0;t=ga(wa,o)|0;S=ga(wa,q)|0;wa=0;do{R=wa+D|0;$=e[n+(R+t<<1)>>1]|0;_=ya?0:c[u+($>>>(aa>>>0)<<2)>>2]|0;if((_|0)>0){N=(a[_-1+(x+(w*24|0)+9+(k<<2))|0]|0)+$|0;if((N|0)<0){za=0}else{za=((N|0)>(C|0)?C:N)&65535}b[p+(R+S<<1)>>1]=za}wa=wa+1|0;}while((wa|0)<(A|0))}xa=xa+1|0;}while((xa|0)<(l|0));i=j;return}if(!B){i=j;return}B=(A|0)>0;xa=f+5480|0;za=f+10368|0;ya=f+10372|0;m=f+10376|0;wa=f+10360|0;f=(aa|0)>7;S=0;c:while(1){d:do{if(B){t=S+g|0;R=t<<L;N=ga(t,o)|0;$=ga(t,q)|0;if(f){t=a[xa]|0;_=0;while(1){if(t<<24>>24==0){Aa=c[za>>2]|0;Ba=_+D<<M;la=78}else{J=_+D<<M;O=c[za>>2]|0;Z=J>>O;K=R>>O;if(!((Z|0)>-1)){la=87;break c}H=c[ya>>2]|0;if((Z|0)>=(H|0)){la=87;break c}if(!((K|0)>-1)){la=90;break c}if((K|0)>=(c[m>>2]|0)){la=90;break c}v=(ga(H,K)|0)+Z|0;Z=(c[wa>>2]|0)+(v*3|0)|0;if(((d[Z]|d[Z+1|0]<<8)<<16>>16&1024)==0){Aa=O;Ba=J;la=78}}if((la|0)==78){la=0;J=Ba>>Aa;O=R>>Aa;if(!((J|0)>-1)){la=94;break c}if((J|0)>=(c[ya>>2]|0)){la=94;break c}if(!((O|0)>-1)){la=97;break c}if((O|0)>=(c[m>>2]|0)){la=97;break c}}_=_+1|0;if((_|0)>=(A|0)){break d}}}else{Ca=0}do{if((a[xa]|0)==0){_=Ca+D|0;Da=c[za>>2]|0;Ea=_;Fa=_<<M;la=92}else{_=Ca+D|0;t=_<<M;O=c[za>>2]|0;J=t>>O;Z=R>>O;if(!((J|0)>-1)){la=87;break c}v=c[ya>>2]|0;if((J|0)>=(v|0)){la=87;break c}if(!((Z|0)>-1)){la=90;break c}if((Z|0)>=(c[m>>2]|0)){la=90;break c}K=(ga(v,Z)|0)+J|0;J=(c[wa>>2]|0)+(K*3|0)|0;if(((d[J]|d[J+1|0]<<8)<<16>>16&1024)==0){Da=O;Ea=_;Fa=t;la=92}}do{if((la|0)==92){la=0;t=Fa>>Da;_=R>>Da;if(!((t|0)>-1)){la=94;break c}O=c[ya>>2]|0;if((t|0)>=(O|0)){la=94;break c}if(!((_|0)>-1)){la=97;break c}if((_|0)>=(c[m>>2]|0)){la=97;break c}J=(ga(O,_)|0)+t|0;t=(c[wa>>2]|0)+(J*3|0)|0;if(!(((d[t]|d[t+1|0]<<8)<<16>>16&2048)==0)){break}t=e[n+(Ea+N<<1)>>1]|0;J=c[u+(t>>>(aa>>>0)<<2)>>2]|0;if((J|0)<=0){break}_=(a[J-1+(x+(w*24|0)+9+(k<<2))|0]|0)+t|0;if((_|0)<0){Ga=0}else{Ga=((_|0)>(C|0)?C:_)&65535}b[p+(Ea+$<<1)>>1]=Ga}}while(0);Ca=Ca+1|0;}while((Ca|0)<(A|0))}}while(0);$=S+1|0;if(($|0)<(l|0)){S=$}else{la=113;break}}if((la|0)==87){ec(14920,12440,118,17328)}else if((la|0)==90){ec(9408,12440,119,17328)}else if((la|0)==94){ec(14920,12440,118,17328)}else if((la|0)==97){ec(9408,12440,119,17328)}else if((la|0)==113){i=j;return}}function Bj(b,f,g,h,j,k,l,m,n,o,p){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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,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,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;h=i;i=i+152|0;q=h|0;r=h+8|0;s=h+16|0;t=h+24|0;u=b+10352|0;v=c[u>>2]|0;w=(ga(v,g)|0)+f|0;x=b+10340|0;y=c[x>>2]|0;z=j<<1;A=(d[y+(w*24|0)+4|0]|0)>>>(z>>>0)&3;if((A|0)==0){i=h;return}B=(j|0)==0;C=c[(B?b+5760|0:b+5768|0)>>2]|0;D=(1<<C)-1|0;E=ga(k,f)|0;f=ga(l,g)|0;g=c[(B?b+24|0:b+32|0)>>2]|0;F=c[(B?b+28|0:b+36|0)>>2]|0;G=b+10348|0;H=c[G>>2]|0;I=E>>H;J=f>>H;if(!((I|0)>-1&(I|0)<(v|0))){ec(14920,12440,118,17328)}if(!((J|0)>-1)){ec(9408,12440,119,17328)}H=b+10356|0;if((J|0)>=(c[H>>2]|0)){ec(9408,12440,119,17328)}K=y+(((ga(J,v)|0)+I|0)*24|0)+2|0;I=b+52|0;v=b+48|0;J=c[(c[(c[v>>2]|0)+(e[K>>1]<<2)>>2]|0)+800>>2]|0;K=c[b+5820>>2]|0;if(B){L=0;M=0}else{L=(c[b+5784>>2]|0)-1|0;M=(c[b+5780>>2]|0)-1|0}B=c[b+5804>>2]|0;N=B-M|0;O=B-L|0;B=(E+k|0)>(g|0)?g-E|0:k;k=(f+l|0)>(F|0)?F-f|0:l;l=(a[y+(w*24|0)+22|0]|0)!=0;if((A|0)!=2){A=d[y+(w*24|0)+6+j|0]|0;dv(t|0,0,128)|0;c[t+((A&31)<<2)>>2]=1;c[t+((A+1&31)<<2)>>2]=2;c[t+((A+2&31)<<2)>>2]=3;c[t+((A+3&31)<<2)>>2]=4;A=C-5|0;C=(k|0)>0;if(!l){if(!C){i=h;return}P=(B|0)>0;Q=(A|0)>7;R=0;do{if(P){S=R+f|0;T=ga(S,n)|0;U=ga(S,p)|0;S=0;do{V=S+E|0;W=d[m+(V+T)|0]|0;X=Q?0:c[t+(W>>>(A>>>0)<<2)>>2]|0;if((X|0)>0){Y=(a[X-1+(y+(w*24|0)+9+(j<<2))|0]|0)+W|0;if((Y|0)<0){Z=0}else{Z=((Y|0)>(D|0)?D:Y)&255}a[o+(V+U)|0]=Z}S=S+1|0;}while((S|0)<(B|0))}R=R+1|0;}while((R|0)<(k|0));i=h;return}if(!C){i=h;return}C=(B|0)>0;R=b+5480|0;Z=b+10368|0;Q=b+10372|0;P=b+10376|0;S=b+10360|0;U=(A|0)>7;T=0;a:while(1){if(C){V=T+f|0;Y=V<<L;W=ga(V,n)|0;X=ga(V,p)|0;V=0;do{if((a[R]|0)==0){_=V+E|0;$=c[Z>>2]|0;aa=_;ba=_<<M;ca=81}else{_=V+E|0;da=_<<M;ea=c[Z>>2]|0;fa=da>>ea;ha=Y>>ea;if(!((fa|0)>-1)){ca=76;break a}ia=c[Q>>2]|0;if((fa|0)>=(ia|0)){ca=76;break a}if(!((ha|0)>-1)){ca=79;break a}if((ha|0)>=(c[P>>2]|0)){ca=79;break a}ja=(ga(ia,ha)|0)+fa|0;fa=(c[S>>2]|0)+(ja*3|0)|0;if(((d[fa]|d[fa+1|0]<<8)<<16>>16&1024)==0){$=ea;aa=_;ba=da;ca=81}}do{if((ca|0)==81){ca=0;da=ba>>$;_=Y>>$;if(!((da|0)>-1)){ca=83;break a}ea=c[Q>>2]|0;if((da|0)>=(ea|0)){ca=83;break a}if(!((_|0)>-1)){ca=86;break a}if((_|0)>=(c[P>>2]|0)){ca=86;break a}fa=(ga(ea,_)|0)+da|0;da=(c[S>>2]|0)+(fa*3|0)|0;if(!(((d[da]|d[da+1|0]<<8)<<16>>16&2048)==0)){break}da=d[m+(aa+W)|0]|0;fa=U?0:c[t+(da>>>(A>>>0)<<2)>>2]|0;if((fa|0)<=0){break}_=(a[fa-1+(y+(w*24|0)+9+(j<<2))|0]|0)+da|0;if((_|0)<0){ka=0}else{ka=((_|0)>(D|0)?D:_)&255}a[o+(aa+X)|0]=ka}}while(0);V=V+1|0;}while((V|0)<(B|0))}V=T+1|0;if((V|0)<(k|0)){T=V}else{ca=102;break}}if((ca|0)==76){ec(14920,12440,118,17328)}else if((ca|0)==79){ec(9408,12440,119,17328)}else if((ca|0)==83){ec(14920,12440,118,17328)}else if((ca|0)==86){ec(9408,12440,119,17328)}else if((ca|0)==102){i=h;return}}T=(d[y+(w*24|0)+5|0]|0)>>>(z>>>0)&3;if((T|0)==1){c[q>>2]=0;c[q+4>>2]=0;c[r>>2]=-1;c[r+4>>2]=1;la=-1;ma=1;na=0;oa=0}else if((T|0)==2){c[q>>2]=-1;c[q+4>>2]=1;c[r>>2]=-1;c[r+4>>2]=1;la=-1;ma=1;na=-1;oa=1}else if((T|0)==3){c[q>>2]=1;c[q+4>>2]=-1;c[r>>2]=-1;c[r+4>>2]=1;la=-1;ma=1;na=1;oa=-1}else if((T|0)==0){c[q>>2]=-1;c[q+4>>2]=1;c[r>>2]=0;c[r+4>>2]=0;la=0;ma=0;na=-1;oa=1}else{la=0;ma=0;na=0;oa=0}T=ga(la,n)|0;la=ga(ma,n)|0;a[s|0]=a[y+(w*24|0)+9+(j<<2)|0]|0;a[s+1|0]=a[y+(w*24|0)+9+(j<<2)+1|0]|0;a[s+2|0]=0;a[s+3|0]=a[y+(w*24|0)+9+(j<<2)+2|0]|0;a[s+4|0]=a[y+(w*24|0)+9+(j<<2)+3|0]|0;if((k|0)<=0){i=h;return}j=(B|0)>0;w=b+5480|0;y=b+10368|0;ma=b+10372|0;z=b+10376|0;ka=b+10360|0;aa=B-1|0;A=k-1|0;t=b+5977|0;U=b+10308|0;b=(ga(f>>O,K)|0)+(E>>N)|0;S=0;b:while(1){P=S+f|0;Q=(ga(P,n)|0)+E|0;$=(ga(P,p)|0)+E|0;if(j){ba=P<<L;Z=(S|0)==0;R=Q+T|0;C=Q+la|0;V=(S|0)==(A|0);X=0;do{do{if(l){if((a[w]|0)==0){ca=28;break}W=c[y>>2]|0;Y=X+E<<M>>W;_=ba>>W;if(!((Y|0)>-1)){ca=23;break b}W=c[ma>>2]|0;if((Y|0)>=(W|0)){ca=23;break b}if(!((_|0)>-1)){ca=26;break b}if((_|0)>=(c[z>>2]|0)){ca=26;break b}da=(ga(W,_)|0)+Y|0;Y=(c[ka>>2]|0)+(da*3|0)|0;if(((d[Y]|d[Y+1|0]<<8)<<16>>16&1024)==0){ca=28}}else{ca=28}}while(0);c:do{if((ca|0)==28){ca=0;Y=X+E|0;da=Y<<M;_=c[y>>2]|0;W=da>>_;fa=ba>>_;if(!((W|0)>-1)){ca=30;break b}_=c[ma>>2]|0;if((W|0)>=(_|0)){ca=30;break b}if(!((fa|0)>-1)){ca=33;break b}if((fa|0)>=(c[z>>2]|0)){ca=33;break b}ea=(ga(_,fa)|0)+W|0;W=(c[ka>>2]|0)+(ea*3|0)|0;if(!(((d[W]|d[W+1|0]<<8)<<16>>16&2048)==0)){break}if((X|0)==0|Z|(X|0)==(aa|0)|V){W=0;do{ea=(c[q+(W<<2)>>2]|0)+Y|0;fa=(c[r+(W<<2)>>2]|0)+P|0;if(!((fa|ea|0)>-1&(ea|0)<(g|0)&(fa|0)<(F|0))){break c}_=c[G>>2]|0;ja=ea<<M>>_;ha=fa<<L>>_;if(!((ja|0)>-1)){ca=39;break b}ia=c[u>>2]|0;if((ja|0)>=(ia|0)){ca=39;break b}if(!((ha|0)>-1)){ca=42;break b}pa=c[H>>2]|0;if((ha|0)>=(pa|0)){ca=42;break b}qa=(ga(ia,ha)|0)+ja|0;ja=c[x>>2]|0;ha=e[ja+(qa*24|0)+2>>1]|0;qa=c[v>>2]|0;if(!(ha>>>0<(c[I>>2]|0)-qa>>2>>>0)){ca=102;break b}ra=c[qa+(ha<<2)>>2]|0;if((ra|0)==0){ca=102;break b}ha=c[ra+800>>2]|0;if((ha|0)<(J|0)){sa=da>>_;ta=ba>>_;if(!((sa|0)>-1&(sa|0)<(ia|0))){ca=47;break b}if(!((ta|0)>-1&(ta|0)<(pa|0))){ca=49;break b}pa=ja+(((ga(ia,ta)|0)+sa|0)*24|0)+2|0;if((a[(c[qa+(e[pa>>1]<<2)>>2]|0)+764|0]|0)==0){break c}}if((ha|0)>(J|0)){if((a[ra+764|0]|0)==0){break c}}if((a[t]|0)==0){ra=(ga(fa>>O,K)|0)+(ea>>N)|0;ea=c[U>>2]|0;if((c[ea+(ra<<2)>>2]|0)!=(c[ea+(b<<2)>>2]|0)){break c}}W=W+1|0;}while((W|0)<2)}W=d[m+(X+Q)|0]|0;da=W-(d[m+(R+X+na)|0]|0)|0;if((da|0)<0){ua=1}else{ua=(da|0)>0|2}da=W-(d[m+(C+X+oa)|0]|0)|0;if((da|0)<0){va=-1}else{va=(da|0)>0|0}da=W+(a[s+(ua+va)|0]|0)|0;if((da|0)<0){wa=0}else{wa=((da|0)>(D|0)?D:da)&255}a[o+($+X)|0]=wa}}while(0);X=X+1|0;}while((X|0)<(B|0))}X=S+1|0;if((X|0)<(k|0)){S=X}else{ca=102;break}}if((ca|0)==23){ec(14920,12440,118,17328)}else if((ca|0)==26){ec(9408,12440,119,17328)}else if((ca|0)==30){ec(14920,12440,118,17328)}else if((ca|0)==33){ec(9408,12440,119,17328)}else if((ca|0)==39){ec(14920,12440,118,17328)}else if((ca|0)==42){ec(9408,12440,119,17328)}else if((ca|0)==47){ec(14920,12440,118,17328)}else if((ca|0)==49){ec(9408,12440,119,17328)}else if((ca|0)==102){i=h;return}}function Cj(a,b){a=a|0;b=b|0;var d=0;if((b|0)==1){d=c[28672+(a<<2)>>2]|0}else if((b|0)==0){d=c[28704+(a<<2)>>2]|0}else if((b|0)==2){d=c[28640+(a<<2)>>2]|0}else{d=0}return d|0}function Dj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=(c[27544+(g*24|0)+(h<<2)>>2]|0)+((f<<h)+e<<1)|0;e=b;C=(d[i]|d[i+1|0]<<8)<<16>>16;a[e]=C;C=C>>8;a[e+1|0]=C;return}function Ej(){var b=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,A=0,B=0;b=1;while(1){e=c[28672+(b<<2)>>2]|0;f=1<<b;if((f|0)>0){g=0;h=0;while(1){i=h&255;j=g;k=0;while(1){a[e+(j<<1)|0]=k;a[e+(j<<1)+1|0]=i;l=k+1|0;if((l|0)<(f|0)){j=j+1|0;k=l}else{break}}k=h+1|0;if((k|0)<(f|0)){g=g+f|0;h=k}else{break}}h=c[28640+(b<<2)>>2]|0;g=0;e=0;while(1){k=e&255;j=g;i=0;while(1){a[h+(j<<1)|0]=k;a[h+(j<<1)+1|0]=i;l=i+1|0;if((l|0)<(f|0)){j=j+1|0;i=l}else{break}}i=e+1|0;if((i|0)<(f|0)){g=g+f|0;e=i}else{break}}}e=c[28704+(b<<2)>>2]|0;g=f<<b;h=0;i=0;j=0;while(1){if((j|0)<(g|0)){k=h;l=i;while(1){if((k|0)>-1){m=l;n=k;break}else{k=l;l=0}}}else{if((h|0)>-1){m=i;n=h}else{break}}if((m|0)<(f|0)&(n|0)<(f|0)){a[e+(j<<1)|0]=m;a[e+(j<<1)+1|0]=n;o=j+1|0}else{o=j}h=n-1|0;i=m+1|0;j=o}j=b+1|0;if((j|0)<6){b=j}else{p=2;break}}do{b=1<<p;o=(b|0)>0;m=p-2|0;n=(1<<m<<m)-1|0;j=28704+(m<<2)|0;i=28672+(m<<2)|0;h=28640+(m<<2)|0;m=0;do{if(o){e=27544+(m*24|0)+(p<<2)|0;f=(m|0)==0;g=0;do{l=g<<p;k=c[e>>2]|0;if(f){q=0;do{r=q+l|0;s=c[j>>2]|0;t=16;u=n;while(1){v=(t|0)==0;w=(v<<31>>31)+u|0;x=v?15:t-1|0;if((((d[s+(w<<1)|0]|0)<<2)+(d[43504+(x<<1)|0]|0)|0)!=(q|0)){t=x;u=w;continue}if((((d[s+(w<<1)+1|0]|0)<<2)+(d[43505+(x<<1)|0]|0)|0)==(g|0)){break}else{t=x;u=w}}a[k+(r<<1)|0]=w;a[k+(r<<1)+1|0]=x;q=q+1|0;}while((q|0)<(b|0))}else{q=0;do{u=q+l|0;if((m|0)==2){y=38048;z=c[h>>2]|0}else if((m|0)==1){y=40776;z=c[i>>2]|0}else{y=0;z=0}t=16;s=n;while(1){v=(t|0)==0;A=(v<<31>>31)+s|0;B=v?15:t-1|0;if((((d[z+(A<<1)|0]|0)<<2)+(d[y+(B<<1)|0]|0)|0)!=(q|0)){t=B;s=A;continue}if((((d[z+(A<<1)+1|0]|0)<<2)+(d[y+(B<<1)+1|0]|0)|0)==(g|0)){break}else{t=B;s=A}}a[k+(u<<1)|0]=A;a[k+(u<<1)+1|0]=B;q=q+1|0;}while((q|0)<(b|0))}g=g+1|0;}while((g|0)<(b|0))}m=m+1|0;}while((m|0)<3);p=p+1|0;}while((p|0)<6);return}function Fj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;f=0;while(1){h=nd(d,8)|0;i=h+f|0;if((h|0)==255){f=i}else{j=0;break}}do{f=nd(d,8)|0;j=f+j|0;}while((f|0)==255);c[e>>2]=i;c[e+4>>2]=j;if((i|0)!=132){k=0;return k|0}i=nd(d,8)|0;j=e+8|0;c[j>>2]=i;if((g|0)==0){k=1025;return k|0}f=(c[g+476>>2]|0)==0?1:3;g=0;h=i;while(1){if((h|0)==2){i=nd(d,32)|0;c[e+68+(g<<2)>>2]=i}else if((h|0)==1){i=(nd(d,16)|0)&65535;b[e+60+(g<<1)>>1]=i}else if((h|0)==0){i=(nd(d,8)|0)&255;a[e+12+(g<<4)|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+1|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+2|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+3|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+4|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+5|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+6|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+7|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+8|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+9|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+10|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+11|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+12|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+13|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+14|0]=i;i=(nd(d,8)|0)&255;a[e+12+(g<<4)+15|0]=i}i=g+1|0;if((i|0)>=(f|0)){k=0;break}g=i;h=c[j>>2]|0}return k|0}function Gj(a,b){a=a|0;b=b|0;return}function Hj(f,g){f=f|0;g=g|0;var h=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,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,ha=0;h=i;i=i+168|0;j=h|0;k=h+152|0;if((c[f>>2]|0)!=132){l=0;i=h;return l|0}if((a[(c[g+10332>>2]|0)+512|0]|0)==0){l=0;i=h;return l|0}m=k|0;if((a[g+100|0]|0)==0){l=0;i=h;return l|0}n=(c[g+1240>>2]|0)==0?1:3;o=g+24|0;p=g+32|0;r=g+28|0;s=g+36|0;t=g+40|0;u=g+44|0;v=f+8|0;w=g+5760|0;x=g+5768|0;y=0;a:while(1){z=(y|0)==0;A=c[(z?o:p)>>2]|0;B=c[(z?r:s)>>2]|0;C=c[g+4+(y<<2)>>2]|0;D=c[(z?t:u)>>2]|0;E=c[v>>2]|0;if((E|0)==0){F=c[(z?w:x)>>2]|0;qi(j);b:do{if((B|0)>0){G=A<<1;H=(A|0)<0?-1:G;I=C;J=(A|0)>0;if((F|0)>8){K=0;L=0}else{if(J){M=0;while(1){ri(j,C+(ga(M,D)|0)|0,A);N=M+1|0;if((N|0)<(B|0)){M=N}else{O=0;break b}}}else{M=0;while(1){ri(j,C+(ga(M,D)|0)|0,A);N=M+1|0;if((N|0)<(B|0)){M=N}else{O=0;break b}}}}while(1){if((K|0)==0){P=Ou(H)|0}else{P=K}if(J){M=ga(L,D)|0;N=0;do{Q=I+(N+M<<1)|0;R=N<<1;a[P+R|0]=b[Q>>1];a[P+(R|1)|0]=(e[Q>>1]|0)>>>8;N=N+1|0;}while((N|0)<(A|0))}ri(j,P,G);N=L+1|0;if((N|0)<(B|0)){K=P;L=N}else{O=P;break}}}else{O=0}}while(0);ti(m,j);if((O|0)==0){S=0}else{Qu(O);S=0}while(1){F=S+1|0;if((a[k+S|0]|0)!=(a[f+12+(y<<4)+S|0]|0)){T=33;break a}if((F|0)<16){S=F}else{break}}}else if((E|0)==2){F=(B|0)>0;do{if((c[(z?w:x)>>2]|0)<9){if(!F){U=0;break}G=(A|0)>0;I=0;J=0;while(1){if(G){H=I>>>8^I;N=ga(I,D)|0;M=0;Q=J;while(1){R=((H^M^M>>>8)&255^d[C+(M+N)|0])+Q|0;V=M+1|0;if((V|0)<(A|0)){M=V;Q=R}else{W=R;break}}}else{W=J}Q=I+1|0;if((Q|0)<(B|0)){I=Q;J=W}else{U=W;break}}}else{if(!F){U=0;break}J=(A|0)>0;I=0;G=0;while(1){if(J){Q=I>>>8^I;M=ga(I,D)|0;N=0;H=G;while(1){R=(Q^N^N>>>8)&255;V=R+H+(R^d[C+(N+M)|0])|0;R=N+1|0;if((R|0)<(A|0)){N=R;H=V}else{X=V;break}}}else{X=G}H=I+1|0;if((H|0)<(B|0)){I=H;G=X}else{U=X;break}}}}while(0);Y=c[f+68+(y<<2)>>2]|0;if((U|0)!=(Y|0)){T=64;break}}else if((E|0)==1){do{if((B|0)>0){F=(c[(z?w:x)>>2]|0)>8;G=A<<1;I=(A|0)<0?-1:G;J=C;H=(A|0)>0;N=0;M=0;Q=7439;while(1){do{if(F){if((N|0)==0){Z=Ou(I)|0}else{Z=N}if(!H){_=Z;$=G;aa=Z;break}V=ga(M,D)|0;R=0;while(1){ba=J+(R+V<<1)|0;ca=R<<1;a[Z+ca|0]=b[ba>>1];a[Z+(ca|1)|0]=(e[ba>>1]|0)>>>8;ba=R+1|0;if((ba|0)<(A|0)){R=ba}else{_=Z;$=G;aa=Z;break}}}else{_=C+(ga(M,D)|0)|0;$=A;aa=N}}while(0);if(($|0)>0){R=0;V=Q;while(1){ba=d[_+R|0]^(V&65535)>>>8;ca=(ba&65535)>>>4^ba;ba=(ca|V<<8)^ca<<5^ca<<12;ca=R+1|0;if((ca|0)<($|0)){R=ca;V=ba}else{da=ba;break}}}else{da=Q}V=M+1|0;if((V|0)<(B|0)){N=aa;M=V;Q=da}else{break}}Q=da&65535;if((aa|0)==0){ea=Q;break}Qu(aa);ea=Q}else{ea=7439}}while(0);fa=e[f+60+(y<<1)>>1]|0;if((ea|0)!=(fa|0)){T=49;break}}B=y+1|0;if((B|0)<(n|0)){y=B}else{l=0;T=66;break}}if((T|0)==33){ic(c[q>>2]|0,12208,(ha=i,i=i+8|0,c[ha>>2]=c[g+92>>2],ha)|0)|0;i=ha;l=5;i=h;return l|0}else if((T|0)==49){y=c[g+92>>2]|0;ic(c[q>>2]|0,11840,(ha=i,i=i+24|0,c[ha>>2]=fa,c[ha+8>>2]=ea,c[ha+16>>2]=y,ha)|0)|0;i=ha;l=5;i=h;return l|0}else if((T|0)==64){y=c[g+92>>2]|0;ic(c[q>>2]|0,11840,(ha=i,i=i+24|0,c[ha>>2]=Y,c[ha+8>>2]=U,c[ha+16>>2]=y,ha)|0)|0;i=ha;l=5;i=h;return l|0}else if((T|0)==66){i=h;return l|0}return 0}function Ij(e,f,g){e=e|0;f=f|0;g=g|0;var 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,A=0,B=0;h=a[g+93784+((c[f+8>>2]|0)*4400|0)+2|0]|0;i=qd(e)|0;j=f+380|0;a[j]=i;if(i>>>0>7>>>0){k=0;return k|0}i=g+11096+(h*5168|0)+476|0;do{if((c[i>>2]|0)==0){l=f+381|0}else{m=rd(e)|0;n=(d[j]|0)+m|0;if(n>>>0>7>>>0){k=0;return k|0}else{m=f+381|0;a[m]=n;l=m;break}}}while(0);m=f+328|0;n=g+11096+(h*5168|0)+5164|0;o=g+11096+(h*5168|0)+5160|0;h=f+20|0;g=f+332|0;p=0;a:while(1){if((p|0)==0){q=m;r=9}else if((p|0)==1){if((c[h>>2]|0)==0){q=g;r=9}else{k=1;r=33;break}}do{if((r|0)==9){r=0;s=c[q>>2]|0;t=s-1|0;u=(s|0)<1;if(!u){s=0;while(1){v=(nd(e,1)|0)&255;a[f+382+(p<<4)+s|0]=v;if((s|0)<(t|0)){s=s+1|0}else{break}}}if((c[i>>2]|0)!=0){if(u){break}else{w=0}while(1){s=(nd(e,1)|0)&255;a[f+414+(p<<4)+w|0]=s;if((w|0)<(t|0)){w=w+1|0}else{break}}}if(u){break}else{x=0}while(1){if((a[f+382+(p<<4)+x|0]|0)==0){b[f+446+(p<<5)+(x<<1)>>1]=1<<d[j];a[f+510+(p<<4)+x|0]=0}else{s=rd(e)|0;if((s+128|0)>>>0>255>>>0){k=0;r=33;break a}b[f+446+(p<<5)+(x<<1)>>1]=(1<<d[j])+s;s=rd(e)|0;v=c[o>>2]|0;if((s|0)<(-v|0)|(s|0)>(v-1|0)){k=0;r=33;break a}a[f+510+(p<<4)+x|0]=s}if((a[f+414+(p<<4)+x|0]|0)==0){s=1<<d[l]&65535;b[f+542+(p<<6)+(x<<2)>>1]=s;a[f+670+(p<<5)+(x<<1)|0]=0;b[f+542+(p<<6)+(x<<2)+2>>1]=s;a[f+670+(p<<5)+(x<<1)+1|0]=0}else{s=0;do{v=rd(e)|0;if((v+128|0)>>>0>255>>>0){k=0;r=33;break a}y=f+542+(p<<6)+(x<<2)+(s<<1)|0;b[y>>1]=(1<<d[l])+v;v=rd(e)|0;z=c[n>>2]|0;if((v|0)<(z*-4|0|0)){k=0;r=33;break a}if((v|0)>((z<<2)-1|0)){k=0;r=33;break a}A=ga(b[y>>1]|0,z)|0;y=z+v-(A>>d[l])|0;A=-z|0;do{if((y|0)<(A|0)){B=A&255}else{v=z-1|0;if((y|0)>(v|0)){B=v&255;break}else{B=y&255;break}}}while(0);a[f+670+(p<<5)+(x<<1)+s|0]=B;s=s+1|0;}while((s|0)<2)}if((x|0)<(t|0)){x=x+1|0}else{break}}}}while(0);t=p+1|0;if((t|0)<2){p=t}else{k=1;r=33;break}}if((r|0)==33){return k|0}return 0}function Jj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;c[d>>2]=0;a[d+4|0]=0;a[d+5|0]=0;c[d+8>>2]=0;a[d+12|0]=0;c[d+28>>2]=0;a[d+32|0]=0;dv(d+16|0,0,10)|0;rj(d+34|0);c[d+136>>2]=0;c[d+140>>2]=0;c[d+144>>2]=0;e=0;do{a[d+148+e|0]=0;c[d+164+(e<<2)>>2]=0;a[d+228+e|0]=0;a[d+244+e|0]=0;c[d+260+(e<<2)>>2]=0;e=e+1|0;}while((e|0)<16);c[d+376>>2]=0;a[d+380|0]=0;a[d+381|0]=0;dv(d+324|0,0,49)|0;e=0;while(1){a[d+382+e|0]=0;a[d+414+e|0]=0;b[d+446+(e<<1)>>1]=0;a[d+510+e|0]=0;b[d+542+(e<<2)+2>>1]=0;b[d+542+(e<<2)>>1]=0;a[d+670+(e<<1)+1|0]=0;a[d+670+(e<<1)|0]=0;f=e+1|0;if((f|0)<16){e=f}else{g=0;break}}do{a[d+398+g|0]=0;a[d+430+g|0]=0;b[d+478+(g<<1)>>1]=0;a[d+526+g|0]=0;b[d+606+(g<<2)+2>>1]=0;b[d+606+(g<<2)>>1]=0;a[d+702+(g<<1)+1|0]=0;a[d+702+(g<<1)|0]=0;g=g+1|0;}while((g|0)<16);c[d+756>>2]=0;c[d+760>>2]=0;a[d+764|0]=0;c[d+768>>2]=0;c[d+772>>2]=0;dv(d+736|0,0,19)|0;g=c[d+776>>2]|0;e=d+780|0;f=c[e>>2]|0;if((f|0)!=(g|0)){c[e>>2]=f+(~((f-4+(-g|0)|0)>>>2)<<2)}dv(d+788|0,0,24)|0;rj(d+812|0);c[d+912>>2]=0;g=0;while(1){c[d+916+(g<<2)>>2]=0;c[d+1044+(g<<2)>>2]=0;c[d+1172+(g<<2)>>2]=0;a[d+1300+g|0]=0;f=g+1|0;if((f|0)<16){g=f}else{h=0;break}}do{c[d+980+(h<<2)>>2]=0;c[d+1108+(h<<2)>>2]=0;c[d+1236+(h<<2)>>2]=0;a[d+1316+h|0]=0;h=h+1|0;}while((h|0)<16);h=c[d+1344>>2]|0;g=d+1348|0;f=c[g>>2]|0;if((f|0)==(h|0)){i=d+1340|0;a[i]=0;return}c[g>>2]=f+(~((f-4+(-h|0)|0)>>>2)<<2);i=d+1340|0;a[i]=0;return}function Kj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,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;a[g]=0;Jj(b);h=b+12|0;a[h]=0;i=(nd(e,1)|0)&255;j=b+4|0;a[j]=i;if((a[f+377210|0]|0)!=0){i=(nd(e,1)|0)&255;a[b+5|0]=i}i=qd(e)|0;c[b+8>>2]=i;if((i|0)>64|(i|0)==-99999){Ue(f+4|0,1009,0);k=0;return k|0}if((a[f+93784+(i*4400|0)|0]|0)==0){Ue(f+4|0,1009,0);k=0;return k|0}l=a[f+93784+(i*4400|0)+2|0]|0;m=f+11096+(l*5168|0)|0;if((a[m|0]|0)==0){Ue(f+4|0,1010,0);a[g]=0;k=0;return k|0}if((a[j]|0)==0){if((a[f+93784+(i*4400|0)+3|0]|0)==0){n=0}else{n=(nd(e,1)|0)&255}a[h]=n;n=c[f+11096+(l*5168|0)+5072>>2]|0;o=0;while(1){if((1<<o|0)<(n|0)){o=o+1|0}else{break}}n=nd(e,o)|0;if((a[h]|0)==0){p=0}else{if((n|0)==0){a[g]=0;Ue(f+4|0,1021,0);k=0;return k|0}o=c[f+376224>>2]|0;if((o|0)==0){k=16;return k|0}cv(b|0,o|0,776)|0;q=(o|0)==(b|0);if(!q){tf(b+776|0,c[o+776>>2]|0,c[o+780>>2]|0)}cv(b+788|0,o+788|0,544)|0;Jd(b+1332|0,o+1332|0)|0;a[b+1340|0]=a[o+1340|0]|0;if(!q){tf(b+1344|0,c[o+1344>>2]|0,c[o+1348>>2]|0)}a[j]=0;a[h]=1;p=1}c[b+16>>2]=n;if((n|0)>=0){r=p;s=n;t=25}}else{a[h]=0;c[b+16>>2]=0;r=0;s=0;t=25}do{if((t|0)==25){h=b+16|0;if((s|0)>=(c[f+11096+(l*5168|0)+5072>>2]|0)){break}a:do{if(r<<24>>24==0){n=f+93784+(i*4400|0)+4132|0;if((a[n]|0)>0){p=0;do{od(e,1);p=p+1|0;}while((p|0)<(a[n]|0))}n=qd(e)|0;p=b+20|0;c[p>>2]=n;if((n|0)>2|(n|0)==-99999){Ue(f+4|0,1007,0);a[g]=0;k=0;return k|0}if((a[f+93784+(i*4400|0)+31|0]|0)==0){a[b+24|0]=1}else{n=(nd(e,1)|0)&255;a[b+24|0]=n}if((a[f+11096+(l*5168|0)+480|0]|0)==1){n=(nd(e,2)|0)&255;a[b+25|0]=n}n=b+28|0;c[n>>2]=0;j=b+32|0;a[j]=0;do{if(((a[f+377208|0]|0)-19&255)>>>0<2>>>0){c[n>>2]=0;c[b+140>>2]=0;c[b+144>>2]=0;u=0}else{o=f+11096+(l*5168|0)+520|0;q=nd(e,c[o>>2]|0)|0;c[n>>2]=q;q=(nd(e,1)|0)&255;a[j]=q;do{if(q<<24>>24==0){v=b+34|0;w=f+11096+(l*5168|0)+4724|0;x=f+11096+(l*5168|0)+4720|0;sj((f|0)==0?0:f+4|0,m,e,v,((c[w>>2]|0)-(c[x>>2]|0)|0)/100|0,f+11096+(l*5168|0)+4720|0,1)|0;c[b+808>>2]=((c[w>>2]|0)-(c[x>>2]|0)|0)/100|0;cv(b+812|0,v|0,100)|0}else{v=f+11096+(l*5168|0)+4724|0;x=c[v>>2]|0;w=f+11096+(l*5168|0)+4720|0;y=c[w>>2]|0;z=(x-y|0)/100|0;A=0;while(1){if((1<<A|0)<(z|0)){A=A+1|0}else{break}}if((A|0)>0){z=nd(e,A)|0;c[b+136>>2]=z;B=z;C=c[v>>2]|0;D=c[w>>2]|0}else{c[b+136>>2]=0;B=0;C=x;D=y}if((B|0)<((C-D|0)/100|0|0)){c[b+808>>2]=B;cv(b+812|0,D+(B*100|0)|0,100)|0;break}Ue(f+4|0,1015,0);k=8;return k|0}}while(0);b:do{if((a[f+11096+(l*5168|0)+4732|0]|0)==0){c[b+140>>2]=0;c[b+144>>2]=0;E=0}else{q=f+11096+(l*5168|0)+4736|0;do{if((c[q>>2]|0)>0){z=qd(e)|0;c[b+140>>2]=z;if((z|0)==-99999){k=8}else{break}return k|0}else{c[b+140>>2]=0}}while(0);y=qd(e)|0;x=b+144|0;c[x>>2]=y;if((y|0)==-99999){k=8;return k|0}w=b+140|0;v=c[w>>2]|0;A=v+y|0;if((A+(d[b+908|0]|0)+(d[b+909|0]|0)|0)>(c[f+11096+(l*5168|0)+528+((a[f+11096+(l*5168|0)+2|0]|0)-1<<2)>>2]|0)){Ue(f+4|0,1018,0);a[g]=0;k=0;return k|0}if((A|0)>0){F=0;G=0;H=v}else{E=0;break}while(1){if((F|0)<(H|0)){v=c[q>>2]|0;A=0;while(1){if((1<<A|0)<(v|0)){A=A+1|0}else{break}}v=nd(e,A)|0;y=b+148+F|0;a[y]=v;z=v&255;if((z|0)>=(c[q>>2]|0)){break}c[f+376228+(F<<2)>>2]=c[f+11096+(l*5168|0)+4740+(z<<2)>>2];z=a[(d[y]|0)+(f+11096+(l*5168|0)+4868)|0]|0;c[f+376292+(F<<2)>>2]=z;I=z}else{z=nd(e,c[o>>2]|0)|0;y=b+164+(F<<2)|0;c[y>>2]=z;z=(nd(e,1)|0)&255;v=b+228+F|0;a[v]=z;c[f+376228+(F<<2)>>2]=c[y>>2];y=a[v]|0;c[f+376292+(F<<2)>>2]=y;I=y}y=((I|0)!=0)+G|0;v=(nd(e,1)|0)&255;a[b+244+F|0]=v;if(v<<24>>24==0){c[b+260+(F<<2)>>2]=0;J=0}else{v=qd(e)|0;c[b+260+(F<<2)>>2]=v;if((v|0)==-99999){k=8;t=194;break}else{J=v}}do{if((F|0)==0){t=68}else{if((F|0)==(c[w>>2]|0)){t=68;break}c[f+376356+(F<<2)>>2]=(c[f+376356+(F-1<<2)>>2]|0)+J}}while(0);if((t|0)==68){t=0;c[f+376356+(F<<2)>>2]=J}A=F+1|0;v=c[w>>2]|0;if((A|0)<((c[x>>2]|0)+v|0)){F=A;G=y;H=v}else{E=y;break b}}if((t|0)==194){return k|0}Ue(f+4|0,1023,0);a[g]=0;k=0;return k|0}}while(0);if((a[f+11096+(l*5168|0)+4900|0]|0)==0){a[b+324|0]=0;u=E;break}else{o=(nd(e,1)|0)&255;a[b+324|0]=o;u=E;break}}}while(0);do{if((a[f+11096+(l*5168|0)+4703|0]|0)==0){a[b+325|0]=0;a[b+326|0]=0}else{j=(nd(e,1)|0)&255;a[b+325|0]=j;if((c[f+11096+(l*5168|0)+5012>>2]|0)==0){a[b+326|0]=0;break}else{j=(nd(e,1)|0)&255;a[b+326|0]=j;break}}}while(0);j=b+328|0;c[j>>2]=0;n=b+332|0;c[n>>2]=0;do{if((c[p>>2]|0)>>>0<2>>>0){o=(nd(e,1)|0)&255;a[b+327|0]=o;do{if(o<<24>>24==0){x=a[f+93784+(i*4400|0)+6|0]|0;c[j>>2]=x;K=a[f+93784+(i*4400|0)+7|0]|0;L=x;t=90}else{x=qd(e)|0;c[j>>2]=x;if((x|0)==-99999){Ue(f+4|0,1007,0);k=8;return k|0}w=x+1|0;c[j>>2]=w;if((c[p>>2]|0)!=0){M=w;break}w=qd(e)|0;c[n>>2]=w;if(!((w|0)==-99999)){K=w+1|0;L=c[j>>2]|0;t=90;break}Ue(f+4|0,1007,0);k=8;return k|0}}while(0);if((t|0)==90){c[n>>2]=K;M=L}if((M|0)>16){k=8;return k|0}if((c[n>>2]|0)>16){k=8;return k|0}o=(d[b+911|0]|0)+u|0;c[b+912>>2]=o;do{if((a[f+93784+(i*4400|0)+4125|0]|0)!=0&(o|0)>1){w=0;while(1){if((1<<w|0)<(o|0)){w=w+1|0}else{break}}x=(nd(e,1)|0)&255;a[b+336|0]=x;do{if(!(x<<24>>24==0)){if((c[j>>2]|0)>0){N=0}else{break}do{q=(nd(e,w)|0)&255;a[b+338+N|0]=q;N=N+1|0;}while((N|0)<(c[j>>2]|0))}}while(0);if((c[p>>2]|0)!=0){a[b+337|0]=0;break}x=(nd(e,1)|0)&255;a[b+337|0]=x;if(x<<24>>24==0){break}if((c[n>>2]|0)>0){O=0}else{break}do{x=(nd(e,w)|0)&255;a[b+354+O|0]=x;O=O+1|0;}while((O|0)<(c[n>>2]|0))}else{a[b+336|0]=0;a[b+337|0]=0}}while(0);if((c[p>>2]|0)==0){o=(nd(e,1)|0)&255;a[b+370|0]=o}if((a[f+93784+(i*4400|0)+5|0]|0)==0){a[b+371|0]=0}else{o=(nd(e,1)|0)&255;a[b+371|0]=o}do{if((a[b+324|0]|0)!=0){do{if((c[p>>2]|0)==0){o=(nd(e,1)|0)&255;a[b+372|0]=o;w=b+372|0;if(!(o<<24>>24==0)){P=o;Q=w;t=113;break}if((c[n>>2]|0)>1){R=w;t=115}else{S=0;t=118}}else{a[b+372|0]=1;P=1;Q=b+372|0;t=113}}while(0);if((t|0)==113){if((c[j>>2]|0)>1){R=Q;t=115}else{S=P;t=118}}do{if((t|0)==115){w=qd(e)|0;c[b+376>>2]=w;if(!((w|0)==-99999)){T=w;U=a[R]|0;break}Ue(f+4|0,1007,0);k=8;return k|0}else if((t|0)==118){c[b+376>>2]=0;T=0;U=S}}while(0);if(U<<24>>24==0){if((T|0)<(c[n>>2]|0)){break}}else{if((T|0)<(c[j>>2]|0)){break}}Ue(f+4|0,8,0);k=8;return k|0}}while(0);if((a[f+93784+(i*4400|0)+29|0]|0)==0){t=125}else{if((c[p>>2]|0)==1){t=127}else{t=125}}do{if((t|0)==125){if((a[f+93784+(i*4400|0)+30|0]|0)==0){break}if((c[p>>2]|0)==0){t=127}}}while(0);do{if((t|0)==127){if(Ij(e,b,f)|0){break}Ue(f+4|0,8,0);k=8;return k|0}}while(0);w=qd(e)|0;c[b+736>>2]=w;if(!((w|0)==-99999)){c[b+804>>2]=5-w;break}Ue(f+4|0,1007,0);k=8;return k|0}}while(0);p=rd(e)|0;c[b+740>>2]=p;if((p|0)==-99999){Ue(f+4|0,1007,0);k=8;return k|0}do{if((a[f+93784+(i*4400|0)+28|0]|0)==0){c[b+744>>2]=0;c[b+748>>2]=0}else{p=rd(e)|0;c[b+744>>2]=p;if((p|0)==-99999){Ue(f+4|0,1007,0);k=8;return k|0}p=rd(e)|0;c[b+748>>2]=p;if(!((p|0)==-99999)){break}Ue(f+4|0,1007,0);k=8;return k|0}}while(0);if((a[f+93784+(i*4400|0)+4140|0]|0)!=0){p=(nd(e,1)|0)&255;a[b+752|0]=p}if((a[f+93784+(i*4400|0)+48|0]|0)==0){a[b+753|0]=0;V=1}else{p=(nd(e,1)|0)&255;a[b+753|0]=p;V=p<<24>>24==0}p=b+756|0;c[p>>2]=c[f+93784+(i*4400|0)+52>>2];j=b+760|0;c[j>>2]=c[f+93784+(i*4400|0)+56>>2];do{if(V){a[b+754|0]=a[f+93784+(i*4400|0)+49|0]|0}else{n=(nd(e,1)|0)&255;a[b+754|0]=n;if(!(n<<24>>24==0)){break}n=rd(e)|0;c[p>>2]=n;if((n|0)==-99999){Ue(f+4|0,1007,0);k=8;return k|0}c[p>>2]=n<<1;n=rd(e)|0;c[j>>2]=n;if(!((n|0)==-99999)){c[j>>2]=n<<1;break}Ue(f+4|0,1007,0);k=8;return k|0}}while(0);j=a[f+93784+(i*4400|0)+46|0]|0;c:do{if(!(j<<24>>24==0)){do{if((a[b+325|0]|0)==0){if((a[b+326|0]|0)!=0){break}if((a[b+754|0]|0)!=0){break c}}}while(0);p=(nd(e,1)|0)&255;a[b+764|0]=p;break a}}while(0);a[b+764|0]=j}}while(0);p=f+93784+(i*4400|0)+34|0;do{if((a[p]|0)==0){if((a[f+93784+(i*4400|0)+33|0]|0)!=0){t=161;break}c[b+768>>2]=0}else{t=161}}while(0);d:do{if((t|0)==161){n=qd(e)|0;w=b+768|0;c[w>>2]=n;if((n|0)==-99999){Ue(f+4|0,1007,0);k=8;return k|0}do{if((a[f+93784+(i*4400|0)+33|0]|0)!=0){if((((c[h>>2]|0)/(c[f+11096+(l*5168|0)+5056>>2]|0)|0)+n|0)<(c[f+11096+(l*5168|0)+5064>>2]|0)){break}Ue(f+4|0,1007,0);k=8;return k|0}}while(0);do{if((a[p]|0)!=0){if((n|0)<=(ga(c[f+93784+(i*4400|0)+40>>2]|0,c[f+93784+(i*4400|0)+36>>2]|0)|0)){break}Ue(f+4|0,1007,0);k=8;return k|0}}while(0);j=b+776|0;o=b+780|0;x=c[o>>2]|0;y=j|0;q=c[y>>2]|0;v=x-q>>2;do{if(v>>>0<n>>>0){qj(j,n-v|0);W=c[w>>2]|0}else{if(!(v>>>0>n>>>0)){W=n;break}A=q+(n<<2)|0;if((x|0)==(A|0)){W=n;break}c[o>>2]=x+(~((x-4+(-A|0)|0)>>>2)<<2);W=n}}while(0);if((W|0)<=0){break}n=qd(e)|0;x=b+772|0;c[x>>2]=n;if((n|0)==-99999){Ue(f+4|0,1007,0);k=8;return k|0}o=n+1|0;c[x>>2]=o;if((n|0)>31){k=8;return k|0}if((c[w>>2]|0)>0){X=0;Y=o}else{break}while(1){o=(nd(e,Y)|0)+1|0;n=c[y>>2]|0;q=n+(X<<2)|0;c[q>>2]=o;if((X|0)>0){c[q>>2]=o+(c[n+(X-1<<2)>>2]|0)}n=X+1|0;if((n|0)>=(c[w>>2]|0)){break d}X=n;Y=c[x>>2]|0}}}while(0);do{if((a[f+93784+(i*4400|0)+4133|0]|0)!=0){p=qd(e)|0;h=b+788|0;c[h>>2]=p;if((p|0)==-99999|(p|0)>1e3){Ue(f+4|0,1007,0);k=8;return k|0}else{if((p|0)>0){Z=0}else{break}do{nd(e,8)|0;Z=Z+1|0;}while((Z|0)<(c[h>>2]|0))}}}while(0);c[b+792>>2]=(c[b+740>>2]|0)+(c[f+93784+(i*4400|0)+8>>2]|0);h=c[b+20>>2]|0;if((h|0)==2){c[b+796>>2]=0}else if((h|0)==1){c[b+796>>2]=(a[b+371|0]|0)+1}else if((h|0)==0){c[b+796>>2]=2-(a[b+371|0]|0)}c[b+804>>2]=5-(c[b+736>>2]|0);a[g]=1;k=0;return k|0}}while(0);Ue(f+4|0,1020,0);k=8;return k|0}function Lj(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0;h=i;if((g|0)==2){j=q}else if((g|0)==1){j=t}else{i=h;return}g=c[j>>2]|0;j=e+8|0;k=c[j>>2]|0;if((a[f+93784+(k*4400|0)|0]|0)==0){ec(12424,14776,1278,17264)}l=a[f+93784+(k*4400|0)+2|0]|0;if((a[f+11096+(l*5168|0)|0]|0)==0){ec(12192,14776,1281,17264)}Zk(g,11792,(m=i,i=i+1|0,i=i+7&-8,c[m>>2]=0,m)|0);i=m;n=e+4|0;Zk(g,11512,(m=i,i=i+8|0,c[m>>2]=a[n]|0,m)|0);i=m;o=f+377208|0;if(((a[o]|0)-16&255)>>>0<8>>>0){Zk(g,11232,(m=i,i=i+8|0,c[m>>2]=a[e+5|0]|0,m)|0);i=m}Zk(g,10984,(m=i,i=i+8|0,c[m>>2]=c[j>>2],m)|0);i=m;if((a[n]|0)==0){Zk(g,10720,(m=i,i=i+8|0,c[m>>2]=a[e+12|0]|0,m)|0);i=m;Zk(g,10472,(m=i,i=i+8|0,c[m>>2]=c[e+16>>2],m)|0);i=m}n=e+20|0;j=c[n>>2]|0;if((j|0)==0){p=66}else{p=(j|0)==1?80:73}Zk(g,10144,(m=i,i=i+8|0,c[m>>2]=p,m)|0);i=m;if((a[f+93784+(k*4400|0)+31|0]|0)!=0){Zk(g,9808,(m=i,i=i+8|0,c[m>>2]=a[e+24|0]|0,m)|0);i=m}if((a[f+11096+(l*5168|0)+480|0]|0)==1){Zk(g,9360,(m=i,i=i+8|0,c[m>>2]=a[e+25|0]|0,m)|0);i=m}Zk(g,9064,(m=i,i=i+8|0,c[m>>2]=c[e+28>>2],m)|0);i=m;do{if(!(((a[o]|0)-19&255)>>>0<2>>>0)){p=e+32|0;Zk(g,8752,(m=i,i=i+8|0,c[m>>2]=a[p]|0,m)|0);i=m;j=f+11096+(l*5168|0)+4720|0;r=(c[f+11096+(l*5168|0)+4724>>2]|0)-(c[j>>2]|0)|0;do{if((a[p]|0)==0){Zk(g,8440,(m=i,i=i+8|0,c[m>>2]=(r|0)/100|0,m)|0);i=m;tj(e+34|0,16,g)}else{if((r|0)<=100){break}s=e+136|0;Zk(g,8232,(m=i,i=i+8|0,c[m>>2]=c[s>>2],m)|0);i=m;tj((c[j>>2]|0)+((c[s>>2]|0)*100|0)|0,16,g)}}while(0);if((a[f+11096+(l*5168|0)+4732|0]|0)!=0){if((c[f+11096+(l*5168|0)+4736>>2]|0)>0){Zk(g,7960,(m=i,i=i+8|0,c[m>>2]=c[e+140>>2],m)|0);i=m}Zk(g,7680,(m=i,i=i+8|0,c[m>>2]=c[e+144>>2],m)|0);i=m}if((a[f+11096+(l*5168|0)+4900|0]|0)==0){break}Zk(g,7392,(m=i,i=i+8|0,c[m>>2]=a[e+324|0]|0,m)|0);i=m}}while(0);if((a[f+11096+(l*5168|0)+4703|0]|0)!=0){Zk(g,7088,(m=i,i=i+8|0,c[m>>2]=a[e+325|0]|0,m)|0);i=m;Zk(g,6808,(m=i,i=i+8|0,c[m>>2]=a[e+326|0]|0,m)|0);i=m}if((c[n>>2]|0)>>>0<2>>>0){o=e+327|0;Zk(g,6528,(m=i,i=i+8|0,c[m>>2]=a[o]|0,m)|0);i=m;j=e+328|0;r=(a[o]|0)!=0?31320:6040;Zk(g,6376,(m=i,i=i+16|0,c[m>>2]=c[j>>2],c[m+8>>2]=r,m)|0);i=m;if((c[n>>2]|0)==0){r=(a[o]|0)!=0?31320:6040;Zk(g,5856,(m=i,i=i+16|0,c[m>>2]=c[e+332>>2],c[m+8>>2]=r,m)|0);i=m}do{if((a[f+93784+(k*4400|0)+4125|0]|0)!=0){if((c[e+912>>2]|0)<=1){break}r=e+336|0;Zk(g,5712,(m=i,i=i+8|0,c[m>>2]=a[r]|0,m)|0);i=m;do{if((a[r]|0)!=0){if((c[j>>2]|0)>0){u=0}else{break}do{o=d[e+338+u|0]|0;Zk(g,5552,(m=i,i=i+16|0,c[m>>2]=u,c[m+8>>2]=o,m)|0);i=m;u=u+1|0;}while((u|0)<(c[j>>2]|0))}}while(0);r=e+337|0;Zk(g,5392,(m=i,i=i+8|0,c[m>>2]=a[r]|0,m)|0);i=m;if((a[r]|0)==0){break}r=e+332|0;if((c[r>>2]|0)>0){v=0}else{break}do{o=d[e+354+v|0]|0;Zk(g,5552,(m=i,i=i+16|0,c[m>>2]=v,c[m+8>>2]=o,m)|0);i=m;v=v+1|0;}while((v|0)<(c[r>>2]|0))}}while(0);if((c[n>>2]|0)==0){Zk(g,5224,(m=i,i=i+8|0,c[m>>2]=a[e+370|0]|0,m)|0);i=m}Zk(g,5008,(m=i,i=i+8|0,c[m>>2]=a[e+371|0]|0,m)|0);i=m;if((a[e+324|0]|0)!=0){Zk(g,4832,(m=i,i=i+8|0,c[m>>2]=a[e+372|0]|0,m)|0);i=m;Zk(g,4712,(m=i,i=i+8|0,c[m>>2]=c[e+376>>2],m)|0);i=m}if((a[f+93784+(k*4400|0)+29|0]|0)==0){w=47}else{if((c[n>>2]|0)==1){w=49}else{w=47}}do{if((w|0)==47){if((a[f+93784+(k*4400|0)+30|0]|0)==0){break}if((c[n>>2]|0)==0){w=49}}}while(0);a:do{if((w|0)==49){Zk(g,4480,(m=i,i=i+8|0,c[m>>2]=d[e+380|0]|0,m)|0);i=m;if((c[f+11096+(l*5168|0)+476>>2]|0)!=0){Zk(g,4248,(m=i,i=i+8|0,c[m>>2]=d[e+381|0]|0,m)|0);i=m}v=e+332|0;u=0;do{if((u|0)==1){if((c[n>>2]|0)==0){x=v;w=54}else{break a}}else if((u|0)==0){x=j;w=54}do{if((w|0)==54){w=0;r=c[x>>2]|0;o=r-1|0;if((r|0)<1){break}else{y=0}while(1){r=b[e+446+(u<<5)+(y<<1)>>1]|0;Zk(g,4096,(m=i,i=i+24|0,c[m>>2]=u,c[m+8>>2]=y,c[m+16>>2]=r,m)|0);i=m;r=a[e+510+(u<<4)+y|0]|0;Zk(g,4008,(m=i,i=i+24|0,c[m>>2]=u,c[m+8>>2]=y,c[m+16>>2]=r,m)|0);i=m;r=b[e+542+(u<<6)+(y<<2)>>1]|0;Zk(g,3944,(m=i,i=i+32|0,c[m>>2]=u,c[m+8>>2]=y,c[m+16>>2]=0,c[m+24>>2]=r,m)|0);i=m;r=a[e+670+(u<<5)+(y<<1)|0]|0;Zk(g,3880,(m=i,i=i+32|0,c[m>>2]=u,c[m+8>>2]=y,c[m+16>>2]=0,c[m+24>>2]=r,m)|0);i=m;r=b[e+542+(u<<6)+(y<<2)+2>>1]|0;Zk(g,3944,(m=i,i=i+32|0,c[m>>2]=u,c[m+8>>2]=y,c[m+16>>2]=1,c[m+24>>2]=r,m)|0);i=m;r=a[e+670+(u<<5)+(y<<1)+1|0]|0;Zk(g,3880,(m=i,i=i+32|0,c[m>>2]=u,c[m+8>>2]=y,c[m+16>>2]=1,c[m+24>>2]=r,m)|0);i=m;if((y|0)<(o|0)){y=y+1|0}else{break}}}}while(0);u=u+1|0;}while((u|0)<2)}}while(0);Zk(g,3792,(m=i,i=i+8|0,c[m>>2]=c[e+736>>2],m)|0);i=m}Zk(g,3624,(m=i,i=i+8|0,c[m>>2]=c[e+740>>2],m)|0);i=m;if((a[f+93784+(k*4400|0)+28|0]|0)!=0){Zk(g,3464,(m=i,i=i+8|0,c[m>>2]=c[e+744>>2],m)|0);i=m;Zk(g,3360,(m=i,i=i+8|0,c[m>>2]=c[e+748>>2],m)|0);i=m}y=e+753|0;if((a[f+93784+(k*4400|0)+48|0]|0)!=0){Zk(g,3144,(m=i,i=i+8|0,c[m>>2]=a[y]|0,m)|0);i=m}x=e+754|0;w=((a[y]|0)!=0?2896:2816)|0;Zk(g,3088,(m=i,i=i+16|0,c[m>>2]=a[x]|0,c[m+8>>2]=w,m)|0);i=m;do{if((a[y]|0)!=0){if((a[x]|0)!=0){break}Zk(g,2696,(m=i,i=i+8|0,c[m>>2]=c[e+756>>2],m)|0);i=m;Zk(g,2600,(m=i,i=i+8|0,c[m>>2]=c[e+760>>2],m)|0);i=m}}while(0);b:do{if((a[f+93784+(k*4400|0)+46|0]|0)!=0){do{if((a[e+325|0]|0)==0){if((a[e+326|0]|0)!=0){break}if((a[x]|0)!=0){break b}}}while(0);Zk(g,2480,(m=i,i=i+8|0,c[m>>2]=a[e+764|0]|0,m)|0);i=m}}while(0);do{if((a[f+93784+(k*4400|0)+34|0]|0)==0){if((a[f+93784+(k*4400|0)+33|0]|0)!=0){break}i=h;return}}while(0);k=e+768|0;Zk(g,2320,(m=i,i=i+8|0,c[m>>2]=c[k>>2],m)|0);i=m;if((c[k>>2]|0)<=0){i=h;return}Zk(g,2136,(m=i,i=i+8|0,c[m>>2]=c[e+772>>2],m)|0);i=m;if((c[k>>2]|0)<=0){i=h;return}f=e+776|0;e=0;do{x=c[(c[f>>2]|0)+(e<<2)>>2]|0;Zk(g,2048,(m=i,i=i+16|0,c[m>>2]=e,c[m+8>>2]=x,m)|0);i=m;e=e+1|0;}while((e|0)<(c[k>>2]|0));i=h;return}function Mj(){var b=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,A=0,B=0,C=0,D=0,E=0;b=Gu(11296)|0;if((b|0)==0){e=0;return e|0}dv(b|0,-1|0,11296)|0;c[7766]=b;c[7767]=b;c[7768]=b;c[7769]=b;c[7770]=b;c[7771]=b;c[7772]=b;c[7773]=b;f=b+16|0;c[7774]=f;c[7775]=f;c[7776]=f;c[7777]=f;c[7778]=f;c[7779]=f;c[7780]=f;c[7781]=f;f=b+1056|0;c[7782]=b+32;c[7783]=b+96;c[7784]=b+160;c[7785]=b+224;c[7786]=b+288;c[7787]=b+352;c[7788]=b+416;c[7789]=b+480;c[7790]=b+544;c[7791]=b+608;c[7792]=b+672;c[7793]=b+736;c[7794]=b+800;c[7795]=b+864;c[7796]=b+928;c[7797]=b+992;c[7798]=f;c[7802]=f;f=b+1312|0;c[7799]=f;c[7803]=f;f=b+1568|0;c[7800]=f;c[7804]=f;f=b+1824|0;c[7801]=f;c[7805]=f;f=b+2080|0;c[7806]=f;c[7810]=f;f=b+2336|0;c[7807]=f;c[7811]=f;f=b+2592|0;c[7808]=f;c[7812]=f;f=b+2848|0;c[7809]=f;c[7813]=f;f=b+3104|0;c[7814]=f;c[7818]=f;f=b+4128|0;c[7815]=f;c[7819]=f;f=b+5152|0;c[7816]=f;c[7820]=f;f=b+6176|0;c[7817]=f;c[7821]=f;f=b+7200|0;c[7822]=f;c[7826]=f;f=b+8224|0;c[7823]=f;c[7827]=f;f=b+9248|0;c[7824]=f;c[7828]=f;f=b+10272|0;c[7825]=f;c[7829]=f;f=2;a:while(1){b=1<<f;g=(b|0)>0;h=b>>2;i=(h|0)==1;j=f-2|0;k=(h|0)==2;h=0;do{l=(h|0)==0;m=0;do{n=(m|0)==0?9:15;o=0;do{if(g){p=31064+(j<<6)+(h<<5)+(m<<4)+(o<<2)|0;q=0;do{r=q<<2;s=q<<f;t=-q|0;u=q>>2;v=q&3;w=(v|0)==0;x=(v|0)==1|0;if(i){y=0;do{z=d[27272+(y+r)|0]|0;A=l?z:z+27|0;z=(c[p>>2]|0)+(y+s)|0;B=a[z]|0;if(!(B<<24>>24==-1|(B&255|0)==(A|0))){C=26;break a}a[z]=A;y=y+1|0;}while((y|0)<(b|0))}else{y=0;do{do{if((y|0)==(t|0)){D=0}else{r=y>>2;A=y&3;do{if((o|0)==1){E=w?2:x}else if((o|0)==2){if((A|0)==0){E=2;break}E=(A|0)==1|0}else if((o|0)==0){z=A+v|0;if((z|0)>2){E=0;break}E=(z|0)>0?1:2}else{E=2}}while(0);if(l){A=(r+u|0)>0?E+3|0:E;if(k){D=A+n|0;break}else{D=A+21|0;break}}else{if(k){D=E+9|0;break}else{D=E|12;break}}}}while(0);A=l?D:D+27|0;z=(c[p>>2]|0)+(y+s)|0;B=a[z]|0;if(!(B<<24>>24==-1|(B&255|0)==(A|0))){C=26;break a}a[z]=A;y=y+1|0;}while((y|0)<(b|0))}q=q+1|0;}while((q|0)<(b|0))}o=o+1|0;}while((o|0)<4);m=m+1|0;}while((m|0)<2);h=h+1|0;}while((h|0)<2);h=f+1|0;if((h|0)<6){f=h}else{e=1;C=33;break}}if((C|0)==26){ec(1728,14776,2100,18008);return 0}else if((C|0)==33){return e|0}return 0}function Nj(){Hu(c[7766]|0);c[7766]=0;return}function Oj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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,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=i;i=i+24|0;h=g|0;j=c[b+18600>>2]|0;k=c[b+18596>>2]|0;l=h|0;dv(l|0,0,17)|0;do{if((e|0)>0){m=ga(c[k+5820>>2]|0,f)|0;n=c[k+10308>>2]|0;if((c[b>>2]|0)<=(c[j+800>>2]|0)){o=1;break}if((c[n+(m+e<<2)>>2]|0)!=(c[n+(e-1+m<<2)>>2]|0)){o=1;break}o=((ud(b+18556|0,c[b+18580>>2]|0)|0)&255)<<24>>24==0}else{o=1}}while(0);do{if((f|0)>0&o){m=c[k+5820>>2]|0;n=c[k+10308>>2]|0;if(((c[b>>2]|0)-m|0)<(c[j+800>>2]|0)){p=0;break}q=n+((ga(m,f)|0)+e<<2)|0;r=n+((ga(m,f-1|0)|0)+e<<2)|0;if((c[q>>2]|0)!=(c[r>>2]|0)){p=0;break}p=((ud(b+18556|0,c[b+18580>>2]|0)|0)&255)<<24>>24!=0}else{p=0}}while(0);if(o&(p^1)){r=(c[k+5776>>2]|0)==0?1:3;q=j+325|0;m=b+18556|0;n=b+18580|0;b=k+5760|0;s=k+5768|0;t=k+10087|0;u=k+10088|0;v=h+1|0;w=j+326|0;j=0;do{x=(j|0)==0;if((a[q]|0)!=0&x){y=13}else{if((a[w]|0)!=0&(j|0)>0){y=13}}do{if((y|0)==13){y=0;do{if(x){if((ud(m,(c[n>>2]|0)+1|0)|0)==0){z=0}else{A=(wd(m)|0)==0;z=A?1:2}a[l]=z;B=z}else{if((j|0)!=1){B=(d[l]|0)>>>(j<<1>>>0)&3;break}if((ud(m,(c[n>>2]|0)+1|0)|0)==0){C=0}else{A=(wd(m)|0)==0;C=A?1:2}a[l]=C<<4|C<<2|d[l];B=C&255}}while(0);if(B<<24>>24==0){break}A=x?b:s;D=c[A>>2]|0;E=(xd(m,(D|0)<10?(1<<D-5)-1|0:31)|0)&255;D=h+5+(j<<2)|0;a[D]=E;F=c[A>>2]|0;G=(xd(m,(F|0)<10?(1<<F-5)-1|0:31)|0)&255;F=h+5+(j<<2)+1|0;a[F]=G;H=c[A>>2]|0;I=(xd(m,(H|0)<10?(1<<H-5)-1|0:31)|0)&255;H=h+5+(j<<2)+2|0;a[H]=I;J=c[A>>2]|0;A=(xd(m,(J|0)<10?(1<<J-5)-1|0:31)|0)&255;J=h+5+(j<<2)+3|0;a[J]=A;do{if(B<<24>>24==1){if(E<<24>>24==0){K=0}else{L=(wd(m)|0)!=0;K=L?-1:1}if(G<<24>>24==0){M=0}else{L=(wd(m)|0)!=0;M=L?-1:1}if(I<<24>>24==0){N=0}else{L=(wd(m)|0)!=0;N=L?-1:1}if(A<<24>>24==0){O=0}else{L=(wd(m)|0)!=0;O=L?-1:1}L=(yd(m,5)|0)&255;a[h+2+j|0]=L;P=K;Q=M;R=a[F]|0;S=N;T=a[H]|0;U=O;V=a[J]|0}else{if(x){L=(yd(m,2)|0)&255;a[v]=L;P=1;Q=1;R=G;S=-1;T=I;U=-1;V=A;break}if((j|0)!=1){P=1;Q=1;R=G;S=-1;T=I;U=-1;V=A;break}L=(yd(m,2)|0)&255;a[v]=d[v]|L<<2|L<<4;P=1;Q=1;R=G;S=-1;T=I;U=-1;V=A}}while(0);A=d[x?t:u]|0;I=(ga(a[D]<<A,P)|0)&255;a[D]=I;I=(ga(R<<24>>24<<A,Q)|0)&255;a[F]=I;I=(ga(T<<24>>24<<A,S)|0)&255;a[H]=I;I=(ga(V<<24>>24<<A,U)|0)&255;a[J]=I}}while(0);j=j+1|0;}while((j|0)<(r|0));r=(ga(c[k+10352>>2]|0,f)|0)+e|0;cv((c[k+10340>>2]|0)+(r*24|0)+4|0,l|0,17)|0}if(!o){o=ga(c[k+10352>>2]|0,f)|0;l=c[k+10340>>2]|0;cv(l+((o+e|0)*24|0)+4|0,l+((e-1+o|0)*24|0)+4|0,17)|0}if(!p){i=g;return}p=c[k+10352>>2]|0;o=(ga(p,f-1|0)|0)+e|0;l=c[k+10340>>2]|0;cv(l+(((ga(p,f)|0)+e|0)*24|0)+4|0,l+(o*24|0)+4|0,17)|0;i=g;return}function Pj(d){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,p=0,q=0,r=0,s=0;e=c[d+18600>>2]|0;f=c[d+18596>>2]|0;g=c[d>>2]|0;h=c[f+5820>>2]|0;i=(g|0)%(h|0)|0;j=(g|0)/(h|0)|0;h=f+5804|0;g=c[h>>2]|0;k=i<<g;l=j<<g;m=c[f+10352>>2]|0;n=(ga(m,j)|0)+i|0;o=c[f+10340>>2]|0;b[o+(n*24|0)>>1]=c[e+800>>2];n=c[e>>2]&65535;p=c[f+10348>>2]|0;q=k>>p;r=l>>p;if(!((q|0)>-1&(q|0)<(m|0))){ec(1024,904,128,17320)}if(!((r|0)>-1)){ec(816,904,129,17320)}if((r|0)>=(c[f+10356>>2]|0)){ec(816,904,129,17320)}f=o+(((ga(m,r)|0)+q|0)*24|0)+2|0;b[f>>1]=n;do{if((a[e+325|0]|0)==0){if((a[e+326|0]|0)==0){s=g}else{break}Qj(d,k,l,s,0);return}}while(0);Oj(d,i,j,0);s=c[h>>2]|0;Qj(d,k,l,s,0);return}function Qj(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;j=e+18596|0;k=e+18600|0;l=e+18516|0;m=e+18508|0;n=e+18512|0;o=e+18556|0;p=e+18580|0;q=i;i=h;h=g;g=f;a:while(1){r=c[j>>2]|0;f=1<<i;s=r+1248|0;t=c[s>>2]|0;do{if((f+g|0)>(t|0)){u=28}else{v=c[r+1252>>2]|0;if((f+h|0)>(v|0)){u=28;break}if((c[r+5800>>2]|0)>=(i|0)){u=28;break}w=g-1|0;do{if((w|h|0)>-1&(t|0)>(w|0)&(v|0)>(h|0)){x=c[r+5804>>2]|0;y=ga(h>>x,c[r+5820>>2]|0)|0;z=y+(g>>x)|0;A=y+(w>>x)|0;x=c[r+10340>>2]|0;if((b[x+(z*24|0)>>1]|0)!=(b[x+(A*24|0)>>1]|0)){B=0;break}x=c[r+10308>>2]|0;B=(c[x+(z<<2)>>2]|0)==(c[x+(A<<2)>>2]|0)|0}else{B=0}}while(0);A=h-1|0;do{if((A|g|0)>-1&(t|0)>(g|0)&(v|0)>(A|0)){x=c[r+5804>>2]|0;z=c[r+5820>>2]|0;y=g>>x;D=(ga(h>>x,z)|0)+y|0;E=(ga(A>>x,z)|0)+y|0;y=c[r+10340>>2]|0;if((b[y+(D*24|0)>>1]|0)!=(b[y+(E*24|0)>>1]|0)){F=0;break}y=c[r+10308>>2]|0;F=(c[y+(D<<2)>>2]|0)==(c[y+(E<<2)>>2]|0)|0}else{F=0}}while(0);if((B|0)==0){G=2}else{v=c[r+10368>>2]|0;E=w>>v;y=h>>v;if(!((E|0)>-1)){u=14;break a}v=c[r+10372>>2]|0;if((E|0)>=(v|0)){u=14;break a}if(!((y|0)>-1)){u=17;break a}if((y|0)>=(c[r+10376>>2]|0)){u=17;break a}D=(ga(v,y)|0)+E|0;E=(c[r+10360>>2]|0)+(D*3|0)|0;G=(((d[E]|d[E+1|0]<<8)<<16>>16&65535)>>>6&255&3|0)>(q|0)|2}if((F|0)==0){H=0}else{E=c[r+10368>>2]|0;D=g>>E;y=A>>E;if(!((D|0)>-1)){u=22;break a}E=c[r+10372>>2]|0;if((D|0)>=(E|0)){u=22;break a}if(!((y|0)>-1)){u=25;break a}if((y|0)>=(c[r+10376>>2]|0)){u=25;break a}v=(ga(E,y)|0)+D|0;D=(c[r+10360>>2]|0)+(v*3|0)|0;H=(((d[D]|d[D+1|0]<<8)<<16>>16&65535)>>>6&255&3|0)>(q|0)|0}I=ud(o,(c[p>>2]|0)+(H+G)|0)|0}}while(0);if((u|0)==28){u=0;I=(c[r+5800>>2]|0)<(i|0)|0}do{if((a[r+5946|0]|0)!=0){if((c[r+10092>>2]|0)>(i|0)){break}c[m>>2]=0;c[n>>2]=0}}while(0);do{if((a[(c[k>>2]|0)+752|0]|0)!=0){if((c[r+10096>>2]|0)>(i|0)){break}c[l>>2]=0}}while(0);if((I|0)==0){u=42;break}t=i-1|0;f=1<<t;D=f+g|0;v=f+h|0;f=q+1|0;Qj(e,g,h,t,f);if((D|0)<(c[s>>2]|0)){Qj(e,D,h,t,f)}y=r+1252|0;if((v|0)<(c[y>>2]|0)){Qj(e,g,v,t,f)}if((D|0)>=(c[s>>2]|0)){u=48;break}if((v|0)<(c[y>>2]|0)){q=f;i=t;h=v;g=D}else{u=48;break}}if((u|0)==14){ec(1024,904,118,17320)}else if((u|0)==17){ec(816,904,119,17320)}else if((u|0)==22){ec(1024,904,118,17320)}else if((u|0)==25){ec(816,904,119,17320)}else if((u|0)==42){I=c[r+10368>>2]|0;l=g>>I;k=h>>I;n=1<<i-I;I=n+k|0;if((n|0)>0){m=n+l|0;n=r+10372|0;G=r+10360|0;r=(q&65535)<<6&192;H=k;do{k=l;do{p=(ga(c[n>>2]|0,H)|0)+k|0;o=(c[G>>2]|0)+(p*3|0)|0;C=(d[o]|d[o+1|0]<<8)<<16>>16&-193|r;a[o]=C;C=C>>8;a[o+1|0]=C;k=k+1|0;}while((k|0)<(m|0));H=H+1|0;}while((H|0)<(I|0))}Xj(e,g,h,i,q);return}else if((u|0)==48){return}}function Rj(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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,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,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;l=i;i=i+152|0;m=l|0;n=l+8|0;o=l+72|0;p=l+104|0;q=l+120|0;r=l+136|0;s=c[f+18596>>2]|0;t=s+764|0;u=c[s+10368>>2]|0;v=g>>u;w=h>>u;if(!((v|0)>-1)){ec(1024,904,118,17320);return 0}u=c[s+10372>>2]|0;if((v|0)>=(u|0)){ec(1024,904,118,17320);return 0}if(!((w|0)>-1)){ec(816,904,119,17320);return 0}if((w|0)>=(c[s+10376>>2]|0)){ec(816,904,119,17320);return 0}x=(ga(u,w)|0)+v|0;v=(c[s+10360>>2]|0)+(x*3|0)|0;x=((d[v]|d[v+1|0]<<8)<<16>>16&65535)>>>8&3;v=(k|0)==0;do{if(v){w=c[s+10448>>2]|0;u=g>>w;y=h>>w;z=1<<j-w;w=z+y|0;if((z|0)<=0){break}A=z+u|0;z=s+10452|0;B=s+10440|0;C=y;do{y=u;do{D=(ga(c[z>>2]|0,C)|0)+y|0;E=(c[B>>2]|0)+D|0;a[E]=a[E]|-128;y=y+1|0;}while((y|0)<(A|0));C=C+1|0;}while((C|0)<(w|0))}}while(0);do{if((a[s+5945|0]|0)==0){F=17}else{if((a[f+32|0]|0)!=0){F=17;break}if((c[s+10100>>2]|0)<(j|0)){F=17;break}w=(ud(f+18556|0,(c[f+18580>>2]|0)+((k|0)!=0?142:141)|0)|0)&255;a[f+33+k|0]=w}}while(0);if((F|0)==17){a[f+33+k|0]=0}w=f+36|0;a[w]=0;do{if(x<<24>>24==1){if((a[s+5751|0]|0)==0){F=24;break}C=f+33+k|0;if((a[C]|0)==0){if((a[f+32|0]|0)==0){F=24;break}}A=f+18580|0;B=f+18556|0;z=(k|0)!=0;u=(ud(B,(c[A>>2]|0)+(z?144:143)|0)|0)&255;a[w]=u;if(u<<24>>24==0){G=C;break}u=(ud(B,(c[A>>2]|0)+(z?146:145)|0)|0)&255;a[f+37|0]=u;G=C}else{F=24}}while(0);if((F|0)==24){a[w]=0;G=f+33+k|0}C=v?2:0;if((a[G]|0)==0){if((a[f+32|0]|0)==0){H=C}else{F=27}}else{F=27}if((F|0)==27){H=C|1}C=f+18580|0;u=c[C>>2]|0;z=(j<<1)-1|0;if(v){I=(j*3|0)-6+(j-1>>2)+25|0;J=j+1>>2}else{I=40;J=j-2|0}A=(z|0)>0;if(A){B=f+18556|0;y=0;while(1){E=y+1|0;if((ud(B,u+(I+(y>>J))|0)|0)==0){K=y;break}if((E|0)<(z|0)){y=E}else{K=z;break}}L=K;M=c[C>>2]|0}else{L=z;M=u}if(v){N=(j*3|0)-6+(j-1>>2)+43|0;O=j+1>>2}else{N=58;O=j-2|0}a:do{if(A){u=f+18556|0;K=0;while(1){y=K+1|0;if((ud(u,M+(N+(K>>O))|0)|0)==0){P=K;break a}if((y|0)<(z|0)){K=y}else{P=z;break}}}else{P=z}}while(0);if((L|0)>3){z=(L>>1)-1|0;Q=(yd(f+18556|0,z)|0)+((L&1|2)<<z)|0}else{Q=L}if((P|0)>3){L=(P>>1)-1|0;R=(yd(f+18556|0,L)|0)+((P&1|2)<<L)|0}else{R=P}P=x<<24>>24==0;if(P){do{if(v){x=c[s+10408>>2]|0;L=g>>x;z=h>>x;if(!((L|0)>-1)){ec(1024,904,118,17320);return 0}x=c[s+10412>>2]|0;if((L|0)>=(x|0)){ec(1024,904,118,17320);return 0}if(!((z|0)>-1)){ec(816,904,119,17320);return 0}if((z|0)<(c[s+10416>>2]|0)){O=(ga(x,z)|0)+L|0;S=ei(j,d[(c[s+10400>>2]|0)+O|0]|0,0,t)|0;break}else{ec(816,904,119,17320);return 0}}else{O=c[s+10428>>2]|0;L=g>>O;z=h>>O;if(!((L|0)>-1)){ec(1024,904,118,17320);return 0}O=c[s+10432>>2]|0;if((L|0)>=(O|0)){ec(1024,904,118,17320);return 0}if(!((z|0)>-1)){ec(816,904,119,17320);return 0}if((z|0)<(c[s+10436>>2]|0)){x=(ga(O,z)|0)+L|0;S=ei(j,a[(c[s+10420>>2]|0)+x|0]&63,k,t)|0;break}else{ec(816,904,119,17320);return 0}}}while(0);t=(S|0)==2;T=t?Q:R;U=t?R:Q;V=S}else{T=R;U=Q;V=0}Q=j-2|0;R=Cj(Q,V)|0;S=Cj(2,V)|0;Dj(m,U,T,V,j);T=a[m+1|0]|0;U=d[m|0]|0;dv(n|0,0,1<<Q<<Q|0)|0;m=f+14404+(k<<1)|0;b[m>>1]=0;t=f+18556|0;x=(V|0)!=0|0;V=(k|0)!=0|0;L=(T&255)-1|0;z=o|0;O=r|0;N=p|0;M=s+5749|0;A=f+32|0;K=v?42:43;u=(k|0)>0;y=s+10408|0;J=s+10412|0;I=s+10416|0;B=s+10400|0;E=s+5750|0;D=s+5936|0;W=s+5755|0;X=f+18588+H|0;H=s+10428|0;Y=s+10432|0;Z=s+10436|0;_=s+10420|0;s=0;$=0;aa=U;ba=1;b:while(1){ca=a[R+(aa<<1)|0]|0;da=a[R+(aa<<1)+1|0]|0;ea=(aa|0)>0;do{if((aa|0)<(U|0)&ea){fa=ca&255;ha=d[n+(((da&255)<<Q)+fa)|0]|0;ia=ha&1|ha>>>1;if((ud(t,(c[C>>2]|0)+((v?ia:ia+2|0)+61)|0)|0)==0){ja=ba;ka=$;la=s}else{ma=1;na=fa;F=69}}else{if(!((aa|0)==0|(aa|0)==(U|0))){ja=ba;ka=$;la=s;break}ma=0;na=ca&255;F=69}}while(0);do{if((F|0)==69){F=0;if(!(ca<<24>>24==0)){fa=n+(na-1+((da&255)<<Q))|0;a[fa]=a[fa]|1}fa=da&255;if(!(da<<24>>24==0)){ia=n+((fa-1<<Q)+na)|0;a[ia]=a[ia]|2}ia=na<<2;ha=fa<<2;oa=c[31064+(Q<<6)+(V<<5)+(x<<4)+(d[n+((fa<<Q)+na)|0]<<2)>>2]|0;fa=(aa|0)==(U|0);pa=fa?L:15;if(fa){b[z>>1]=1;a[O]=1;a[N]=T;qa=1}else{qa=0}if((pa|0)>0){fa=qa;ra=pa;sa=ma;while(1){ta=(d[S+(ra<<1)|0]|0)+ia|0;ua=(d[S+(ra<<1)+1|0]|0)+ha|0;do{if((a[M]|0)==0){F=79}else{if((a[A]|0)!=0){va=K;break}if((a[G]|0)==0){F=79}else{va=K}}}while(0);if((F|0)==79){F=0;va=a[oa+(ta+(ua<<j))|0]|0}if((ud(t,(c[C>>2]|0)+((va&255)+65)|0)|0)==0){wa=sa;xa=fa}else{b[o+(fa<<1)>>1]=1;a[r+fa|0]=1;a[p+fa|0]=ra;wa=0;xa=fa+1|0}ya=ra-1|0;if((ya|0)>0){fa=xa;ra=ya;sa=wa}else{za=xa;Aa=wa;break}}}else{za=qa;Aa=ma}do{if((pa|0)>-1){if((Aa|0)!=0){b[o+(za<<1)>>1]=1;a[r+za|0]=1;a[p+za|0]=0;Ba=za+1|0;break}do{if((a[M]|0)==0){F=88}else{if((a[A]|0)!=0){Ca=K;break}if((a[G]|0)==0){F=88}else{Ca=K}}}while(0);if((F|0)==88){F=0;Ca=a[oa+((ha<<j)+ia)|0]|0}if((ud(t,(c[C>>2]|0)+((Ca&255)+65)|0)|0)==0){Ba=za;break}b[o+(za<<1)>>1]=1;a[r+za|0]=1;a[p+za|0]=0;Ba=za+1|0}else{Ba=za}}while(0);if((Ba|0)==0){ja=ba;ka=$;la=s;break}oa=((aa|0)==0|u?0:2)|(ba|0)==0;pa=(Ba|0)>8?8:Ba;do{if((pa|0)>0){ua=oa<<2;ta=s;sa=$;ra=-1;fa=1;ya=0;while(1){do{if((ya|0)==0){Da=1}else{if((ta|0)<=0){Da=ta;break}Da=(sa|0)==1?0:ta+1|0}}while(0);Ea=((Da|0)<3?Da:3)+ua|0;Fa=ud(t,(c[C>>2]|0)+((u?Ea+16|0:Ea)+109)|0)|0;if((Fa|0)==0){a[r+ya|0]=0;Ga=((fa-1|0)>>>0<2>>>0)+fa|0;Ha=ra}else{Ea=o+(ya<<1)|0;b[Ea>>1]=(b[Ea>>1]|0)+1;Ga=0;Ha=(ra|0)==-1?ya:ra}Ea=ya+1|0;if((Ea|0)<(pa|0)){ta=Da;sa=Fa;ra=Ha;fa=Ga;ya=Ea}else{break}}if((Ha|0)==-1){Ia=Ga;Ja=Fa;Ka=Da;break}ya=ud(t,(c[C>>2]|0)+((u?oa|4:oa)+133)|0)|0;fa=o+(Ha<<1)|0;b[fa>>1]=(e[fa>>1]|0)+ya;a[r+Ha|0]=ya;Ia=Ga;Ja=Fa;Ka=Da}else{Ia=1;Ja=$;Ka=s}}while(0);if(v){oa=c[y>>2]|0;pa=g>>oa;ya=h>>oa;if(!((pa|0)>-1)){F=107;break b}oa=c[J>>2]|0;if((pa|0)>=(oa|0)){F=107;break b}if(!((ya|0)>-1)){F=110;break b}if((ya|0)>=(c[I>>2]|0)){F=110;break b}fa=(ga(oa,ya)|0)+pa|0;La=d[(c[B>>2]|0)+fa|0]|0}else{fa=c[H>>2]|0;pa=g>>fa;ya=h>>fa;if(!((pa|0)>-1)){F=114;break b}fa=c[Y>>2]|0;if((pa|0)>=(fa|0)){F=114;break b}if(!((ya|0)>-1)){F=117;break b}if((ya|0)>=(c[Z>>2]|0)){F=117;break b}oa=(ga(fa,ya)|0)+pa|0;La=a[(c[_>>2]|0)+oa|0]&63}c:do{if((a[A]|0)==0){do{if(P){if((a[E]|0)==0){break}if((a[G]|0)==0){break}if((La&239|0)==10){Ma=0;break c}}}while(0);if((a[w]|0)!=0){Ma=0;break}Ma=((a[N]|0)-(a[p+(Ba-1)|0]|0)|0)>3|0}else{Ma=0}}while(0);oa=Ba-1|0;if((oa|0)>0){pa=0;do{ya=(wd(t)|0)&255;a[q+pa|0]=ya;pa=pa+1|0;}while((pa|0)<(oa|0))}pa=(Ma|0)==0;if((a[D]|0)==0|pa){ya=(wd(t)|0)&255;a[q+oa|0]=ya}else{a[q+oa|0]=0}if((a[W]|0)==0){Na=0}else{Na=(d[X]|0)>>>2}if((Ba|0)>0){Oa=0;Pa=Na;Qa=1;Ra=0}else{ja=Ia;ka=Ja;la=Ka;break}while(1){ya=b[o+(Ra<<1)>>1]|0;do{if((a[r+Ra|0]|0)==0){Sa=0;Ta=Qa;Ua=Pa}else{fa=-1;while(1){Va=fa+1|0;ra=wd(t)|0;if((fa|0)>63){Wa=0;break}if((ra|0)==0){F=137;break}else{fa=Va}}do{if((F|0)==137){F=0;if((Va|0)<4){Wa=(yd(t,Pa)|0)+(Va<<Pa)|0;break}else{ra=fa-2|0;Wa=(yd(t,ra+Pa|0)|0)+((1<<ra)+2<<Pa)|0;break}}}while(0);fa=(a[W]|0)==0;ra=(Wa+ya|0)>(3<<Pa|0);if(fa){if(!ra){Sa=Wa;Ta=0;Ua=Pa;break}sa=Pa+1|0;Sa=Wa;Ta=0;Ua=(sa|0)>4?4:sa;break}sa=(ra&1)+Pa|0;if(fa|Qa^1){Sa=Wa;Ta=0;Ua=sa;break}fa=a[X]|0;ra=(fa&255)>>>2;if((Wa|0)>=(3<<ra|0)){a[X]=fa+1;Sa=Wa;Ta=0;Ua=sa;break}if((Wa<<1|0)>=(1<<ra|0)|fa<<24>>24==0){Sa=Wa;Ta=0;Ua=sa;break}a[X]=fa-1;Sa=Wa;Ta=0;Ua=sa}}while(0);sa=Sa+ya|0;fa=sa&65535;ra=(a[q+Ra|0]|0)==0?fa:-fa&65535;do{if((a[D]|0)==0|pa){Xa=ra;Ya=Oa}else{fa=sa+Oa|0;if((Ra|0)!=(oa|0)){Xa=ra;Ya=fa;break}Xa=(fa&1|0)==0?ra:-ra&65535;Ya=fa}}while(0);ra=a[p+Ra|0]|0;sa=(d[S+(ra<<1)|0]|0)+ia|0;ya=(d[S+(ra<<1)+1|0]|0)+ha|0;b[f+2116+(k<<11)+(b[m>>1]<<1)>>1]=Xa;b[f+8260+(k<<11)+(b[m>>1]<<1)>>1]=sa+(ya<<j);b[m>>1]=(b[m>>1]|0)+1;ya=Ra+1|0;if((ya|0)<(Ba|0)){Oa=Ya;Pa=Ua;Qa=Ta;Ra=ya}else{ja=Ia;ka=Ja;la=Ka;break}}}}while(0);if(ea){s=la;$=ka;aa=aa-1|0;ba=ja}else{F=153;break}}if((F|0)==107){ec(1024,904,118,17320);return 0}else if((F|0)==110){ec(816,904,119,17320);return 0}else if((F|0)==114){ec(1024,904,118,17320);return 0}else if((F|0)==117){ec(816,904,119,17320);return 0}else if((F|0)==153){i=l;return 0}return 0}function Sj(b,e,f,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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;if((o|0)==-1){ec(1560,14776,3547,18792);return 0}if((p|0)==-1){ec(1424,14776,3548,18792);return 0}if((n|0)==-1){ec(1392,14776,3549,18792);return 0}l=b+18596|0;q=c[l>>2]|0;r=c[q+5776>>2]|0;s=(r|0)==3;t=((s^1)<<31>>31)+k|0;u=(t|0)<2?2:t;t=b+33|0;C=0;a[t]=C;C=C>>8;a[t+1|0]=C;C=C>>8;a[t+2|0]=C;C=C>>8;a[t+3|0]=C;t=c[q+10368>>2]|0;v=e>>t;w=f>>t;if(!((v|0)>-1)){ec(1024,904,118,17320);return 0}t=c[q+10372>>2]|0;if((v|0)>=(t|0)){ec(1024,904,118,17320);return 0}if(!((w|0)>-1)){ec(816,904,119,17320);return 0}if((w|0)>=(c[q+10376>>2]|0)){ec(816,904,119,17320);return 0}x=(ga(t,w)|0)+v|0;v=(c[q+10360>>2]|0)+(x*3|0)|0;x=((d[v]|d[v+1|0]<<8)<<16>>16&65535)>>>8&3;v=x&255;w=(n|0)!=0;n=w^1;t=(p|o|0)==0;do{if(!(t&n)){do{if((a[q+5946|0]|0)==0){y=0}else{z=b+18508|0;if((c[z>>2]|0)!=0){y=0;break}A=b+18556|0;B=b+18580|0;do{if((ud(A,(c[B>>2]|0)+139|0)|0)==0){D=0;E=0}else{F=1;G=0;while(1){if((ud(A,(c[B>>2]|0)+140|0)|0)==0){H=F;break}I=F+1|0;J=G+1|0;if((J|0)<4){F=I;G=J}else{H=I;break}}if((H|0)==5){K=(zd(A,0)|0)+5|0}else{K=H}if((K|0)==0){D=0;E=0;break}D=(wd(A)|0)<<1;E=K}}while(0);c[z>>2]=1;A=ga(1-D|0,E)|0;c[b+18512>>2]=A;y=1}}while(0);do{if((a[(c[b+18600>>2]|0)+752|0]|0)==0|t){L=32}else{if((a[b+32|0]|0)!=0){L=32;break}A=b+18516|0;if((c[A>>2]|0)!=0){L=32;break}B=b+18556|0;G=b+18580|0;F=ud(B,(c[G>>2]|0)+23|0)|0;I=c[l>>2]|0;if((F|0)==0){c[A>>2]=1;c[b+18520>>2]=0;c[b+18524>>2]=0;break}if((d[I+10074|0]|0)>>>0>1>>>0){M=ud(B,(c[G>>2]|0)+24|0)|0}else{M=0}c[A>>2]=1;c[b+18520>>2]=a[I+10075+M|0]|0;c[b+18524>>2]=a[I+10081+M|0]|0}}while(0);if((L|0)==32){if(!y){break}}Qk(b,e,f,i,j)}}while(0);y=1<<k;M=1<<u;t=c[l>>2]|0;E=c[t+5780>>2]|0;D=c[t+5784>>2]|0;t=b+28|0;c[t>>2]=0;if(w){Rj(b,e,f,k,0)|0}Tj(b,e,f,i,j,y,0,v,w);if(!((k|0)>2|s)){if((m|0)!=3){return 0}m=(o&1|0)!=0;if(m){Rj(b,g,h,k,1)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(g|0)/(E|0)|0,(h|0)/(D|0)|0,(i|0)/(E|0)|0,(j|0)/(D|0)|0,y,1,v,m)}m=(o&2|0)!=0;if(m){Rj(b,g,y+h|0,k,1)|0}s=(r|0)==2;if(s){Tj(b,(g|0)/(E|0)|0,((h|0)/(D|0)|0)+y|0,(i|0)/(E|0)|0,(j|0)/(D|0)|0,y,1,v,m)}m=(p&1|0)!=0;if(m){Rj(b,g,h,k,2)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(g|0)/(E|0)|0,(h|0)/(D|0)|0,(i|0)/(E|0)|0,(j|0)/(D|0)|0,y,2,v,m)}m=(p&2|0)!=0;if(m){Rj(b,g,M+h|0,k,2)|0}if(!s){return 0}Tj(b,(g|0)/(E|0)|0,((h|0)/(D|0)|0)+y|0,(i|0)/(E|0)|0,(j|0)/(D|0)|0,y,2,v,m);return 0}m=c[l>>2]|0;a:do{if((a[m+10071|0]|0)==0|n){N=0;O=0}else{do{if(!(x<<24>>24==1)){y=c[m+10428>>2]|0;h=e>>y;g=f>>y;if(!((h|0)>-1)){ec(1024,904,118,17320);return 0}y=c[m+10432>>2]|0;if((h|0)>=(y|0)){ec(1024,904,118,17320);return 0}if(!((g|0)>-1)){ec(816,904,119,17320);return 0}if((g|0)<(c[m+10436>>2]|0)){s=(ga(y,g)|0)+h|0;if((a[(c[m+10420>>2]|0)+s|0]|0)<0){break}else{N=0;O=0;break a}}else{ec(816,904,119,17320);return 0}}}while(0);s=b+18556|0;h=b+18580|0;g=0;while(1){if((ud(s,(c[h>>2]|0)+(g+162)|0)|0)==0){L=49;break}y=g+1|0;if((y|0)<4){g=y}else{P=y;break}}if((L|0)==49){if((g|0)==0){N=1;O=0;break}else{P=g}}N=1;O=1-((ud(s,(c[h>>2]|0)+170|0)|0)<<1)<<P-1}}while(0);c[t>>2]=O;O=(o&1|0)!=0;if(O){Rj(b,e,f,u,1)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(e|0)/(E|0)|0,(f|0)/(D|0)|0,(i|0)/(E|0)|0,(j|0)/(D|0)|0,M,1,v,O)}O=(r|0)==2;if(O){r=(o&2|0)!=0;if(r){Rj(b,e,(D<<u)+f|0,u,1)|0}Tj(b,(e|0)/(E|0)|0,((f|0)/(D|0)|0)+M|0,(i|0)/(E|0)|0,((j|0)/(D|0)|0)+M|0,M,1,v,r)}do{if(N){r=b+18556|0;o=b+18580|0;P=0;while(1){if((ud(r,(c[o>>2]|0)+(P+166)|0)|0)==0){L=63;break}m=P+1|0;if((m|0)<4){P=m}else{Q=m;break}}if((L|0)==63){if((P|0)==0){R=0;break}else{Q=P}}R=1-((ud(r,(c[o>>2]|0)+171|0)|0)<<1)<<Q-1}else{R=0}}while(0);c[t>>2]=R;R=(p&1|0)!=0;if(R){Rj(b,e,f,u,2)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(e|0)/(E|0)|0,(f|0)/(D|0)|0,(i|0)/(E|0)|0,(j|0)/(D|0)|0,M,2,v,R)}if(!O){return 0}O=(p&2|0)!=0;if(O){Rj(b,e,(D<<u)+f|0,u,2)|0}Tj(b,(e|0)/(E|0)|0,((f|0)/(D|0)|0)+M|0,(i|0)/(E|0)|0,((j|0)/(D|0)|0)+M|0,M,2,v,O);return 0}function Tj(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=e+18596|0;o=c[n>>2]|0;p=(l|0)==0;do{if(p){do{if((k|0)==0){l=c[o+10408>>2]|0;q=f>>l;r=g>>l;if(!((q|0)>-1)){ec(1024,904,118,17320)}l=c[o+10412>>2]|0;if((q|0)>=(l|0)){ec(1024,904,118,17320)}if(!((r|0)>-1)){ec(816,904,119,17320)}if((r|0)<(c[o+10416>>2]|0)){s=(ga(l,r)|0)+q|0;t=d[(c[o+10400>>2]|0)+s|0]|0;break}else{ec(816,904,119,17320)}}else{s=ga(c[o+5780>>2]|0,f)|0;q=ga(c[o+5784>>2]|0,g)|0;r=c[o+10428>>2]|0;l=s>>r;s=q>>r;if(!((l|0)>-1)){ec(1024,904,118,17320)}r=c[o+10432>>2]|0;if((l|0)>=(r|0)){ec(1024,904,118,17320)}if(!((s|0)>-1)){ec(816,904,119,17320)}if((s|0)<(c[o+10436>>2]|0)){q=(ga(r,s)|0)+l|0;t=a[(c[o+10420>>2]|0)+q|0]&63;break}else{ec(816,904,119,17320)}}}while(0);q=t>>>0>34>>>0?1:t;fi(o,f,g,q,j,k);do{if((a[(c[n>>2]|0)+5750|0]|0)==0){u=0}else{if((a[e+32|0]|0)==0){if((a[e+33+k|0]|0)==0){u=0;break}}u=(q&239|0)==10}}while(0);v=u&(q|0)==26?2:u&1}else{if((a[e+36|0]|0)==0){v=0;break}v=(a[e+37|0]|0)!=0?2:1}}while(0);if(m){Rk(e,f,g,h,i,j,k,(a[e+33+k|0]|0)!=0,p,v);return}if((k|0)==0){return}if((c[e+28>>2]|0)==0){return}b[e+14404+(k<<1)>>1]=0;Rk(e,f,g,h,i,j,k,(a[e+33+k|0]|0)!=0,p,0);return}function Uj(b,e,f,g,h,i,j,k,l,m,n,o,p,q,r){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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,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;s=b+18596|0;t=c[s>>2]|0;u=c[t+10368>>2]|0;v=e>>u;if(!((v|0)>-1)){ec(1024,904,118,17320)}w=(o|0)==1;x=b+18556|0;y=b+18580|0;z=(o|0)!=0;A=e;e=f;B=g;g=h;h=k;k=l;l=m;m=q;q=r;r=t;t=v;v=f>>u;f=u;a:while(1){u=c[r+10372>>2]|0;if((t|0)>=(u|0)){C=4;break}if(!((v|0)>-1)){C=7;break}D=c[r+10376>>2]|0;if((v|0)>=(D|0)){C=7;break}E=(ga(u,v)|0)+t|0;F=c[r+10360>>2]|0;G=F+(E*3|0)|0;H=((d[G]|d[G+1|0]<<8)<<16>>16&65535)>>>8&3;if((H&255|0)!=(p|0)){C=9;break}G=(c[r+5868>>2]|0)<(h|0);do{if(G){C=15}else{if((k|0)>=(n|0)|(c[r+5864>>2]|0)>=(h|0)|z&(k|0)==0){C=15;break}E=5-h|0;if(!(E>>>0<3>>>0)){C=13;break a}I=ud(x,(c[y>>2]|0)+(E+20)|0)|0;C=21}}while(0);do{if((C|0)==15){C=0;E=A>>f;J=e>>f;if(!((E|0)>-1&(E|0)<(u|0))){C=16;break a}if(!((J|0)>-1&(J|0)<(D|0))){C=18;break a}if(G){C=22;break}K=F+(((ga(u,J)|0)+E|0)*3|0)|0;E=K;I=(w&(k|0)==0|(c[r+1392>>2]|k|0)==0&H<<24>>24==1&((d[E]|d[E+1|0]<<8)<<16>>16&56)!=0)&1;C=21}}while(0);if((C|0)==21){C=0;if((I|0)==0){L=0}else{C=22}}if((C|0)==22){C=0;u=c[r+10448>>2]|0;F=A>>u;G=e>>u;if(!((F|0)>-1)){C=24;break}u=c[r+10452>>2]|0;if((F|0)>=(u|0)){C=24;break}if(!((G|0)>-1)){C=27;break}if((G|0)>=(c[r+10456>>2]|0)){C=27;break}D=(ga(u,G)|0)+F|0;F=(c[r+10440>>2]|0)+D|0;a[F]=d[F]|0|1<<k;L=1}F=c[r+5776>>2]|0;if((h|0)>2){if((F|0)==0){M=-1;C=41}else{C=32}}else{if((F|0)==3){C=32}else{M=-1;C=41}}if((C|0)==32){C=0;do{if(m<<24>>24==0){N=-1}else{F=k+16|0;D=ud(x,(c[y>>2]|0)+F|0)|0;if((c[r+5776>>2]|0)!=2){N=D;break}if(!((h|0)==3|L^1)){N=D;break}N=(ud(x,(c[y>>2]|0)+F|0)|0)<<1|D}}while(0);do{if(q<<24>>24==0){O=-1}else{D=k+16|0;F=ud(x,(c[y>>2]|0)+D|0)|0;if((c[r+5776>>2]|0)!=2){O=F;break}if(!((h|0)==3|L^1)){O=F;break}O=(ud(x,(c[y>>2]|0)+D|0)|0)<<1|F}}while(0);if((N|0)<0){M=O;C=41}else{P=N;Q=O}}if((C|0)==41){C=0;F=(h|0)==2;if((k|0)==0&F){C=42;break}P=(k|0)>0&F?m&255:0;Q=M}if((Q|0)<0){R=(k|0)>0&(h|0)==2?q&255:0}else{R=Q}if(!L){C=48;break}F=h-1|0;D=1<<F;G=D+A|0;u=D+e|0;D=k+1|0;E=P&255;K=R&255;Uj(b,A,e,A,e,i,j,F,D,0,n,o,p,E,K);Uj(b,G,e,A,e,i,j,F,D,1,n,o,p,E,K);Uj(b,A,u,A,e,i,j,F,D,2,n,o,p,E,K);J=c[s>>2]|0;S=c[J+10368>>2]|0;T=G>>S;if((T|0)>-1){B=A;A=G;g=e;e=u;h=F;k=D;l=3;m=E;q=K;r=J;t=T;v=u>>S;f=S}else{C=4;break}}if((C|0)==4){ec(1024,904,118,17320)}else if((C|0)==7){ec(816,904,119,17320)}else if((C|0)==9){ec(1368,14776,3827,18816)}else if((C|0)==13){ec(416,14776,1820,17880)}else if((C|0)==16){ec(1024,904,118,17320)}else if((C|0)==18){ec(816,904,119,17320)}else if((C|0)==24){ec(1024,904,128,17320)}else if((C|0)==27){ec(816,904,129,17320)}else if((C|0)==42){ec(1320,14776,3894,18816)}else if((C|0)==48){C=(k|0)==0;if(H<<24>>24!=0&C&(P|0)==0&(R|0)==0){U=1;V=Sj(b,A,e,B,g,i,j,h,0,l,U,P,R)|0;return}U=ud(x,(c[y>>2]|0)+(C&1|14)|0)|0;V=Sj(b,A,e,B,g,i,j,h,0,l,U,P,R)|0;return}}function Vj(a,d,e,f){a=a|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,o=0;e=a+18556|0;d=a+18580|0;g=ud(e,(c[d>>2]|0)+150|0)|0;h=ud(e,(c[d>>2]|0)+150|0)|0;i=(g|0)==0;if(i){j=0}else{j=ud(e,(c[d>>2]|0)+151|0)|0}g=(h|0)==0;if(g){k=0}else{k=ud(e,(c[d>>2]|0)+151|0)|0}do{if(i){l=0}else{if((j|0)==0){m=-1}else{m=zd(e,1)|0}if((wd(e)|0)==0){l=m+2&65535;break}l=-2-m&65535}}while(0);do{if(g){n=0}else{if((k|0)==0){o=-1}else{o=zd(e,1)|0}if((wd(e)|0)==0){n=o+2&65535;break}n=-2-o&65535}}while(0);b[a+18+(f<<2)>>1]=l;b[a+18+(f<<2)+2>>1]=n;return}function Wj(d,e,f,g,h,i,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;n=d+18600|0;o=c[n>>2]|0;p=d+18556|0;q=d+18580|0;r=ud(p,(c[q>>2]|0)+147|0)|0;s=d+16|0;t=d+26|0;u=(r&255)<<4&16|a[t]&-17;a[t]=u;if((r|0)!=0){a:do{if((c[(c[n>>2]|0)+804>>2]|0)<2){v=0}else{if((ud(p,(c[q>>2]|0)+148|0)|0)==0){v=0;break}if(((c[(c[n>>2]|0)+804>>2]|0)-1|0)>1){w=1}else{v=1;break}while(1){r=w+1|0;if((wd(p)|0)==0){v=w&255;break a}if((r|0)<((c[(c[n>>2]|0)+804>>2]|0)-1|0)){w=r}else{v=r&255;break}}}}while(0);a[t]=a[t]&31|v<<5;x=d+18592|0;y=c[x>>2]|0;z=y|0;A=c[n>>2]|0;B=d+18596|0;C=c[B>>2]|0;Ii(z,A,C,s,e,f,g,h,l,i,j,m);return}if((c[o+20>>2]|0)==0){v=c[q>>2]|0;do{if((j+i|0)==12){D=ud(p,v+160|0)|0}else{if((ud(p,v+(k+156)|0)|0)!=0){D=2;break}D=ud(p,v+160|0)|0}}while(0);v=D+1|0;a[t]=a[t]&-4|v&3;if((v|0)==2){E=2}else{F=v;G=15}}else{a[t]=u&-4|1;F=1;G=15}do{if((G|0)==15){u=(c[o+328>>2]|0)-1|0;b:do{if((u|0)==0){H=0}else{if((ud(p,(c[q>>2]|0)+154|0)|0)==0){H=0;break}v=u&255;D=0;while(1){k=D+1|0;if((k|0)==(u|0)){H=v;break b}if((D|0)==0){I=ud(p,(c[q>>2]|0)+155|0)|0}else{I=wd(p)|0}if((I|0)==0){H=k&255;break}else{D=k}}}}while(0);a[s|0]=H;Vj(d,0,0,0);u=(ud(p,(c[q>>2]|0)+152|0)|0)&255;a[t]=u<<2&4|a[t]&-5;if((F|0)!=1){E=F;break}x=d+18592|0;y=c[x>>2]|0;z=y|0;A=c[n>>2]|0;B=d+18596|0;C=c[B>>2]|0;Ii(z,A,C,s,e,f,g,h,l,i,j,m);return}}while(0);F=(c[o+332>>2]|0)-1|0;c:do{if((F|0)==0){J=0}else{if((ud(p,(c[q>>2]|0)+154|0)|0)==0){J=0;break}H=F&255;I=0;while(1){G=I+1|0;if((G|0)==(F|0)){J=H;break c}if((I|0)==0){K=ud(p,(c[q>>2]|0)+155|0)|0}else{K=wd(p)|0}if((K|0)==0){J=G&255;break}else{I=G}}}}while(0);a[d+17|0]=J;if((a[o+370|0]|0)!=0&(E|0)==3){b[d+22>>1]=0;b[d+24>>1]=0}else{Vj(d,0,0,1)}E=(ud(p,(c[q>>2]|0)+152|0)|0)&255;a[t]=E<<3&8|a[t]&-9;x=d+18592|0;y=c[x>>2]|0;z=y|0;A=c[n>>2]|0;B=d+18596|0;C=c[B>>2]|0;Ii(z,A,C,s,e,f,g,h,l,i,j,m);return}function Xj(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=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,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,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;k=i;i=i+88|0;l=k|0;m=k+24|0;n=k+40|0;o=k+56|0;p=k+72|0;q=e+18596|0;r=c[q>>2]|0;s=e+18600|0;t=c[s>>2]|0;u=r+10368|0;v=c[u>>2]|0;w=f>>v;x=g>>v;y=1<<h-v;z=y+x|0;if((y|0)>0){A=y+w|0;y=r+10372|0;B=r+10360|0;D=x;do{x=w;do{E=(ga(c[y>>2]|0,D)|0)+x|0;F=(c[B>>2]|0)+(E*3|0)|0;C=(d[F]|d[F+1|0]<<8)<<16>>16&-8;a[F]=C;C=C>>8;a[F+1|0]=C;x=x+1|0;}while((x|0)<(A|0));D=D+1|0;}while((D|0)<(z|0));G=c[u>>2]|0}else{G=v}v=f>>G;z=g>>G;if(!((v|0)>-1)){ec(1024,904,128,17320)}G=r+10372|0;D=c[G>>2]|0;if((v|0)>=(D|0)){ec(1024,904,128,17320)}if(!((z|0)>-1)){ec(816,904,129,17320)}A=r+10376|0;if((z|0)>=(c[A>>2]|0)){ec(816,904,129,17320)}B=(ga(D,z)|0)+v|0;v=r+10360|0;z=(c[v>>2]|0)+(B*3|0)|0;C=(d[z]|d[z+1|0]<<8)<<16>>16&-8|h&7;a[z]=C;C=C>>8;a[z+1|0]=C;z=c[r+10448>>2]|0;B=f>>z;D=g>>z;y=1<<h-z;z=y+D|0;if((y|0)>0){w=y+B|0;y=r+10452|0;x=r+10440|0;F=D;do{D=B;do{E=(ga(c[y>>2]|0,F)|0)+D|0;a[(c[x>>2]|0)+E|0]=0;D=D+1|0;}while((D|0)<(w|0));F=F+1|0;}while((F|0)<(z|0))}z=1<<h;Qk(e,f,g,f,g);do{if((a[r+5964|0]|0)==0){a[e+32|0]=0}else{F=ud(e+18556|0,(c[e+18580>>2]|0)+161|0)|0;a[e+32|0]=F;if((F|0)==0){break}F=c[u>>2]|0;w=f>>F;x=g>>F;y=1<<h-F;F=y+x|0;if((y|0)>0){B=y+w|0;y=x;do{x=w;do{D=(ga(c[G>>2]|0,y)|0)+x|0;E=(c[v>>2]|0)+(D*3|0)|0;C=(d[E]|d[E+1|0]<<8)<<16>>16|2048;a[E]=C;C=C>>8;a[E+1|0]=C;x=x+1|0;}while((x|0)<(B|0));y=y+1|0;}while((y|0)<(F|0))}F=c[r+10348>>2]|0;y=f>>F;B=g>>F;if(!((y|0)>-1)){ec(1024,904,128,17320)}F=c[r+10352>>2]|0;if((y|0)>=(F|0)){ec(1024,904,128,17320)}if(!((B|0)>-1)){ec(816,904,129,17320)}if((B|0)<(c[r+10356>>2]|0)){w=(ga(F,B)|0)+y|0;a[(c[r+10340>>2]|0)+(w*24|0)+22|0]=1;break}else{ec(816,904,129,17320)}}}while(0);w=t+20|0;do{if((c[w>>2]|0)==2){H=0}else{t=c[q>>2]|0;y=f-1|0;do{if((y|g|0)<0){I=0}else{if((c[t+1248>>2]|0)<=(y|0)){I=0;break}if((c[t+1252>>2]|0)<=(g|0)){I=0;break}B=c[t+5804>>2]|0;F=ga(g>>B,c[t+5820>>2]|0)|0;x=F+(f>>B)|0;E=F+(y>>B)|0;B=c[t+10340>>2]|0;if((b[B+(x*24|0)>>1]|0)!=(b[B+(E*24|0)>>1]|0)){I=0;break}B=c[t+10308>>2]|0;I=(c[B+(x<<2)>>2]|0)==(c[B+(E<<2)>>2]|0)|0}}while(0);E=g-1|0;do{if((E|f|0)<0){J=0}else{if((c[t+1248>>2]|0)<=(f|0)){J=0;break}if((c[t+1252>>2]|0)<=(E|0)){J=0;break}B=c[t+5804>>2]|0;x=c[t+5820>>2]|0;F=f>>B;D=(ga(g>>B,x)|0)+F|0;K=(ga(E>>B,x)|0)+F|0;F=c[t+10340>>2]|0;if((b[F+(D*24|0)>>1]|0)!=(b[F+(K*24|0)>>1]|0)){J=0;break}F=c[t+10308>>2]|0;J=(c[F+(D<<2)>>2]|0)==(c[F+(K<<2)>>2]|0)|0}}while(0);do{if((I|0)==0){L=5}else{K=c[t+10368>>2]|0;F=y>>K;D=g>>K;if(!((F|0)>-1)){ec(1024,904,118,17320)}K=c[t+10372>>2]|0;if((F|0)>=(K|0)){ec(1024,904,118,17320)}if(!((D|0)>-1)){ec(816,904,119,17320)}if((D|0)<(c[t+10376>>2]|0)){x=(ga(K,D)|0)+F|0;F=(c[t+10360>>2]|0)+(x*3|0)|0;L=((d[F]|d[F+1|0]<<8)<<16>>16&768)==512?6:5;break}else{ec(816,904,119,17320)}}}while(0);do{if((J|0)==0){M=0}else{y=c[t+10368>>2]|0;F=f>>y;x=E>>y;if(!((F|0)>-1)){ec(1024,904,118,17320)}y=c[t+10372>>2]|0;if((F|0)>=(y|0)){ec(1024,904,118,17320)}if(!((x|0)>-1)){ec(816,904,119,17320)}if((x|0)<(c[t+10376>>2]|0)){D=(ga(y,x)|0)+F|0;F=(c[t+10360>>2]|0)+(D*3|0)|0;M=((d[F]|d[F+1|0]<<8)<<16>>16&768)==512|0;break}else{ec(816,904,119,17320)}}}while(0);t=e+18556|0;E=e+18580|0;if(((ud(t,(c[E>>2]|0)+(M+L)|0)|0)&255)<<24>>24==0){if((c[w>>2]|0)==2){H=0;break}H=(ud(t,(c[E>>2]|0)+149|0)|0)==0|0;break}a:do{if((c[(c[s>>2]|0)+804>>2]|0)<2){N=0}else{if((ud(t,(c[E>>2]|0)+148|0)|0)==0){N=0;break}if(((c[(c[s>>2]|0)+804>>2]|0)-1|0)>1){O=1}else{N=1;break}while(1){F=O+1|0;if((wd(t)|0)==0){N=O&255;break a}if((F|0)<((c[(c[s>>2]|0)+804>>2]|0)-1|0)){O=F}else{N=F&255;break}}}}while(0);t=e+26|0;a[t]=N<<5|a[t]&15|16;t=c[u>>2]|0;E=f>>t;F=g>>t;if(!((E|0)>-1)){ec(1024,904,128,17320)}t=c[G>>2]|0;if((E|0)>=(t|0)){ec(1024,904,128,17320)}if(!((F|0)>-1)){ec(816,904,129,17320)}if((F|0)>=(c[A>>2]|0)){ec(816,904,129,17320)}D=(ga(t,F)|0)+E|0;E=(c[v>>2]|0)+(D*3|0)|0;C=(d[E]|d[E+1|0]<<8)<<16>>16&-57;a[E]=C;C=C>>8;a[E+1|0]=C;E=c[u>>2]|0;D=f>>E;F=g>>E;t=1<<h-E;E=t+F|0;if((t|0)>0){x=t+D|0;t=F;do{F=D;do{y=(ga(c[G>>2]|0,t)|0)+F|0;K=(c[v>>2]|0)+(y*3|0)|0;C=(d[K]|d[K+1|0]<<8)<<16>>16&-769|512;a[K]=C;C=C>>8;a[K+1|0]=C;F=F+1|0;}while((F|0)<(x|0));t=t+1|0;}while((t|0)<(E|0))}Ii(c[e+18592>>2]|0,c[s>>2]|0,c[q>>2]|0,e+16|0,f,g,0,0,z,z,z,0);i=k;return}}while(0);s=c[u>>2]|0;N=f>>s;O=g>>s;w=1<<h-s;s=w+O|0;if((w|0)>0){L=w+N|0;w=(H&65535)<<8;M=O;do{O=N;do{J=(ga(c[G>>2]|0,M)|0)+O|0;I=(c[v>>2]|0)+(J*3|0)|0;C=(d[I]|d[I+1|0]<<8)<<16>>16&-769|w;a[I]=C;C=C>>8;a[I+1|0]=C;O=O+1|0;}while((O|0)<(L|0));M=M+1|0;}while((M|0)<(s|0))}s=(H|0)!=0;if(s){P=87}else{if((c[r+5800>>2]|0)==(h|0)){P=87}else{Q=0;R=0}}if((P|0)==87){M=c[q>>2]|0;L=(H|0)==0;w=e+18556|0;N=e+18580|0;O=ud(w,(c[N>>2]|0)+8|0)|0;do{if(L){S=(O|0)!=0?0:3}else{if((O|0)!=0){S=0;break}I=ud(w,(c[N>>2]|0)+9|0)|0;if((c[M+5800>>2]|0)>=(h|0)){if((I|0)!=0){S=1;break}if((h|0)==3){S=2;break}S=3-(ud(w,(c[N>>2]|0)+10|0)|0)|0;break}if((a[M+5466|0]|0)==0){S=(I|0)!=0?1:2;break}if((ud(w,(c[N>>2]|0)+11|0)|0)!=0){S=(I|0)!=0?1:2;break}J=(I|0)!=0;I=J^1;E=(wd(w)|0)==0;if(!(E|I)){S=5;break}if(J&E){S=4;break}if(E&I){S=6;break}if(!(J|E)){S=7;break}ec(536,14776,1760,17936)}}while(0);Q=(S|0)==3&L&1;R=S}S=c[u>>2]|0;L=f>>S;w=g>>S;if(!((L|0)>-1)){ec(1024,904,128,17320)}S=c[G>>2]|0;if((L|0)>=(S|0)){ec(1024,904,128,17320)}if(!((w|0)>-1)){ec(816,904,129,17320)}if((w|0)>=(c[A>>2]|0)){ec(816,904,129,17320)}A=(ga(S,w)|0)+L|0;L=(c[v>>2]|0)+(A*3|0)|0;C=(d[L]|d[L+1|0]<<8)<<16>>16&-57|(R&65535)<<3&56;a[L]=C;C=C>>8;a[L+1|0]=C;L=(H|0)==0;A=(R|0)==0;b:do{if(L){do{if(A){if((a[r+5468|0]|0)==0){T=z;U=0;break}if((c[r+5884>>2]|0)>(h|0)){P=165;break}if((c[r+5888>>2]|0)<(h|0)){P=165;break}w=e+18556|0;if((vd(w)|0)==0){P=165;break}S=c[u>>2]|0;N=f>>S;M=g>>S;O=1<<h-S;S=O+M|0;if((O|0)>0){E=O+N|0;O=M;do{M=N;do{J=(ga(c[G>>2]|0,O)|0)+M|0;I=(c[v>>2]|0)+(J*3|0)|0;C=(d[I]|d[I+1|0]<<8)<<16>>16|1024;a[I]=C;C=C>>8;a[I+1|0]=C;M=M+1|0;}while((M|0)<(E|0));O=O+1|0;}while((O|0)<(S|0))}S=c[r+10348>>2]|0;O=f>>S;E=g>>S;if(!((O|0)>-1)){ec(1024,904,128,17320)}S=c[r+10352>>2]|0;if((O|0)>=(S|0)){ec(1024,904,128,17320)}if(!((E|0)>-1)){ec(816,904,129,17320)}if((E|0)>=(c[r+10356>>2]|0)){ec(816,904,129,17320)}N=(ga(S,E)|0)+O|0;a[(c[r+10340>>2]|0)+(N*24|0)+22|0]=1;N=e+18560|0;O=c[N>>2]|0;E=l|0;c[E>>2]=O;c[l+4>>2]=(c[e+18564>>2]|0)-O;O=l+8|0;c[O>>2]=0;c[O+4>>2]=0;c[l+16>>2]=0;O=c[q>>2]|0;S=c[O+5760>>2]|0;M=a[O+5469|0]|0;I=c[O+40>>2]|0;J=c[O+4>>2]|0;do{if((S|0)>8){O=J+((ga(I,g)|0)+f<<1)|0;t=S-M|0;if((z|0)>0){V=0}else{break}do{x=ga(V,I)|0;D=0;do{F=(nd(l,M)|0)<<t&65535;b[O+(D+x<<1)>>1]=F;D=D+1|0;}while((D|0)<(z|0));V=V+1|0;}while((V|0)<(z|0))}else{O=S-M|0;if((z|0)>0){W=0}else{break}do{t=(ga(W+g|0,I)|0)+f|0;D=0;do{x=(nd(l,M)|0)<<O&255;a[J+(t+D)|0]=x;D=D+1|0;}while((D|0)<(z|0));W=W+1|0;}while((W|0)<(z|0))}}while(0);J=c[q>>2]|0;do{if((c[J+5776>>2]|0)!=0){M=c[J+5768>>2]|0;I=c[J+5780>>2]|0;S=(z|0)/(I|0)|0;O=c[J+5784>>2]|0;D=(z|0)/(O|0)|0;t=(f|0)/(I|0)|0;x=(g|0)/(O|0)|0;F=a[J+5470|0]|0;K=F<<24>>24;y=c[J+44>>2]|0;B=c[J+8>>2]|0;if((M|0)>8){X=B+((ga(y,x)|0)+t<<1)|0;Y=M-K|0;if((D|0)>0){Z=(S|0)>0;_=0;do{if(Z){$=ga(_,y)|0;aa=0;do{ba=(nd(l,K)|0)<<Y&65535;b[X+(aa+$<<1)>>1]=ba;aa=aa+1|0;}while((aa|0)<(S|0))}_=_+1|0;}while((_|0)<(D|0));_=c[q>>2]|0;ca=_;da=c[_+5780>>2]|0;ea=c[_+5784>>2]|0;fa=a[_+5470|0]|0;ha=c[_+5768>>2]|0;ia=c[_+44>>2]|0}else{ca=J;da=I;ea=O;fa=F;ha=M;ia=y}_=(z|0)/(da|0)|0;X=(z|0)/(ea|0)|0;Y=fa<<24>>24;Z=(c[ca+12>>2]|0)+((ga((g|0)/(ea|0)|0,ia)|0)+((f|0)/(da|0)|0)<<1)|0;aa=ha-Y|0;if((X|0)<=0){break}$=(_|0)>0;ba=0;do{if($){ja=ga(ba,ia)|0;ka=0;do{la=(nd(l,Y)|0)<<aa&65535;b[Z+(ka+ja<<1)>>1]=la;ka=ka+1|0;}while((ka|0)<(_|0))}ba=ba+1|0;}while((ba|0)<(X|0))}else{X=M-K|0;if((D|0)>0){ba=(S|0)>0;_=0;do{if(ba){Z=(ga(_+x|0,y)|0)+t|0;aa=0;do{Y=(nd(l,K)|0)<<X&255;a[B+(Z+aa)|0]=Y;aa=aa+1|0;}while((aa|0)<(S|0))}_=_+1|0;}while((_|0)<(D|0));D=c[q>>2]|0;ma=D;na=c[D+5780>>2]|0;oa=c[D+5784>>2]|0;pa=a[D+5470|0]|0;qa=c[D+5768>>2]|0;ra=c[D+44>>2]|0}else{ma=J;na=I;oa=O;pa=F;qa=M;ra=y}D=(z|0)/(na|0)|0;_=(z|0)/(oa|0)|0;S=(f|0)/(na|0)|0;B=(g|0)/(oa|0)|0;X=pa<<24>>24;K=c[ma+12>>2]|0;t=qa-X|0;if((_|0)<=0){break}x=(D|0)>0;ba=0;do{if(x){aa=(ga(ba+B|0,ra)|0)+S|0;Z=0;do{Y=(nd(l,X)|0)<<t&255;a[K+(aa+Z)|0]=Y;Z=Z+1|0;}while((Z|0)<(D|0))}ba=ba+1|0;}while((ba|0)<(_|0))}}}while(0);pd(l);c[N>>2]=c[E>>2];td(w);i=k;return}else{P=165}}while(0);do{if((P|0)==165){if((R|0)!=3){T=z;U=0;break}T=(z|0)/2|0;U=-1}}while(0);J=U+h|0;_=(z|0)>0;if(_){ba=e+18556|0;D=e+18580|0;K=0;t=0;while(1){X=0;S=t;while(1){B=ud(ba,(c[D>>2]|0)+12|0)|0;sa=S+1|0;c[m+(S<<2)>>2]=B;B=X+T|0;if((B|0)<(z|0)){X=B;S=sa}else{break}}S=K+T|0;if((S|0)<(z|0)){K=S;t=sa}else{break}}}t=f-1|0;do{if((t|g|0)<0){ta=0}else{if((c[r+1248>>2]|0)<=(t|0)){ta=0;break}if((c[r+1252>>2]|0)<=(g|0)){ta=0;break}K=c[r+5804>>2]|0;D=ga(g>>K,c[r+5820>>2]|0)|0;ba=D+(f>>K)|0;S=D+(t>>K)|0;K=c[r+10340>>2]|0;if((b[K+(ba*24|0)>>1]|0)!=(b[K+(S*24|0)>>1]|0)){ta=0;break}K=c[r+10308>>2]|0;ta=(c[K+(ba<<2)>>2]|0)==(c[K+(S<<2)>>2]|0)|0}}while(0);t=g-1|0;do{if((t|f|0)<0){ua=0}else{if((c[r+1248>>2]|0)<=(f|0)){ua=0;break}if((c[r+1252>>2]|0)<=(t|0)){ua=0;break}S=c[r+5804>>2]|0;K=c[r+5820>>2]|0;ba=f>>S;D=(ga(g>>S,K)|0)+ba|0;X=(ga(t>>S,K)|0)+ba|0;ba=c[r+10340>>2]|0;if((b[ba+(D*24|0)>>1]|0)!=(b[ba+(X*24|0)>>1]|0)){ua=0;break}ba=c[r+10308>>2]|0;ua=(c[ba+(D<<2)>>2]|0)==(c[ba+(X<<2)>>2]|0)|0}}while(0);if(_){t=e+18556|0;X=(ta|0)!=0;ba=(ua|0)!=0;D=r+5872|0;K=r+5876|0;S=p|0;w=r+10408|0;E=r+10412|0;N=r+10400|0;B=p+4|0;x=p+8|0;y=0;M=0;while(1){F=y+g|0;O=(y|0)>0|ba;I=0;Z=M;do{aa=c[m+(Z<<2)>>2]|0;if((aa|0)==0){Y=yd(t,5)|0;c[o+(Z<<2)>>2]=Y}else{Y=xd(t,2)|0;c[n+(Z<<2)>>2]=Y}Y=I+f|0;$=c[D>>2]|0;ka=(ga(F>>$,c[K>>2]|0)|0)+(Y>>$)|0;di(S,Y,F,ka,(I|0)>0|X,O,r);if((aa|0)==1){va=c[p+(c[n+(Z<<2)>>2]<<2)>>2]&255}else{aa=c[S>>2]|0;Y=c[B>>2]|0;if((aa|0)>(Y|0)){c[S>>2]=Y;c[B>>2]=aa;wa=Y;xa=aa}else{wa=aa;xa=Y}Y=c[x>>2]|0;if((wa|0)>(Y|0)){c[S>>2]=Y;c[x>>2]=wa;ya=wa;za=Y}else{ya=Y;za=wa}if((xa|0)>(ya|0)){c[B>>2]=ya;c[x>>2]=xa;Aa=ya;Ba=xa}else{Aa=xa;Ba=ya}Y=c[o+(Z<<2)>>2]|0;aa=((Y|0)>=(za|0))+Y|0;Y=((aa|0)>=(Aa|0))+aa|0;va=((Y|0)>=(Ba|0))+Y&255}Y=1<<J-(c[w>>2]|0);if((Y|0)>0){aa=0;do{$=0;do{ja=$+ka+(ga(c[E>>2]|0,aa)|0)|0;a[(c[N>>2]|0)+ja|0]=va;$=$+1|0;}while(($|0)<(Y|0));aa=aa+1|0;}while((aa|0)<(Y|0))}Z=Z+1|0;I=I+T|0;}while((I|0)<(z|0));I=y+T|0;if((I|0)<(z|0)){y=I;M=Z}else{break}}}M=r+5776|0;y=c[M>>2]|0;if((y|0)==0){break}else if((y|0)!=3){y=e+18556|0;if((ud(y,(c[e+18580>>2]|0)+13|0)|0)==0){Ca=4}else{Ca=yd(y,2)|0}y=c[r+10408>>2]|0;N=f>>y;E=g>>y;if(!((N|0)>-1)){ec(1024,904,118,17320)}y=c[r+10412>>2]|0;if((N|0)>=(y|0)){ec(1024,904,118,17320)}if(!((E|0)>-1)){ec(816,904,119,17320)}if((E|0)>=(c[r+10416>>2]|0)){ec(816,904,119,17320)}w=(ga(y,E)|0)+N|0;N=d[(c[r+10400>>2]|0)+w|0]|0;w=(Ca|0)==4;if(w){Da=N}else{E=c[19448+(Ca<<2)>>2]|0;Da=(E|0)==(N|0)?34:E}if((c[M>>2]|0)==2){Ea=d[30544+Da|0]|0}else{Ea=Da}Yj(r,f,g,h,Ea,w);break}if(!_){break}w=e+18556|0;M=e+18580|0;E=r+10408|0;N=r+10412|0;y=r+10416|0;x=r+10400|0;B=0;c:while(1){S=B+g|0;X=0;do{K=X+f|0;if((ud(w,(c[M>>2]|0)+13|0)|0)==0){Fa=4}else{Fa=yd(w,2)|0}D=c[E>>2]|0;t=K>>D;ba=S>>D;if(!((t|0)>-1)){P=211;break c}D=c[N>>2]|0;if((t|0)>=(D|0)){P=211;break c}if(!((ba|0)>-1)){P=214;break c}if((ba|0)>=(c[y>>2]|0)){P=214;break c}I=(ga(D,ba)|0)+t|0;t=d[(c[x>>2]|0)+I|0]|0;I=(Fa|0)==4;if(I){Ga=t}else{ba=c[19448+(Fa<<2)>>2]|0;Ga=(ba|0)==(t|0)?34:ba}Yj(r,K,S,J,Ga,I);X=X+T|0;}while((X|0)<(z|0));B=B+T|0;if((B|0)>=(z|0)){break b}}if((P|0)==211){ec(1024,904,118,17320)}else if((P|0)==214){ec(816,904,119,17320)}}else{if(A){Wj(e,f,g,0,0,z,z,j,z,0);break}switch(R|0){case 1:{B=(z|0)/2|0;Wj(e,f,g,0,0,z,B,j,z,0);Wj(e,f,g,0,B,z,B,j,z,1);break b;break};case 2:{B=(z|0)/2|0;Wj(e,f,g,0,0,B,z,j,z,0);Wj(e,f,g,B,0,B,z,j,z,1);break b;break};case 4:{B=(z|0)/4|0;Wj(e,f,g,0,0,z,B,j,z,0);Wj(e,f,g,0,B,z,(3<<h|0)/4|0,j,z,1);break b;break};case 5:{B=(3<<h|0)/4|0;Wj(e,f,g,0,0,z,B,j,z,0);Wj(e,f,g,0,B,z,(z|0)/4|0,j,z,1);break b;break};case 6:{B=(z|0)/4|0;Wj(e,f,g,0,0,B,z,j,z,0);Wj(e,f,g,B,0,(3<<h|0)/4|0,z,j,z,1);break b;break};case 7:{B=(3<<h|0)/4|0;Wj(e,f,g,0,0,B,z,j,z,0);Wj(e,f,g,B,0,(z|0)/4|0,z,j,z,1);break b;break};case 3:{B=(z|0)/2|0;Wj(e,f,g,0,0,B,B,j,z,0);Wj(e,f,g,B,0,B,B,j,z,1);Wj(e,f,g,0,B,B,B,j,z,2);Wj(e,f,g,B,B,B,B,j,z,3);break b;break};default:{ec(14128,14776,4511,18912)}}}}while(0);do{if(s){if(!((R|0)!=0|(a[e+26|0]&16)==0)){break}if((ud(e+18556|0,(c[e+18580>>2]|0)+153|0)|0)!=0){break}i=k;return}}while(0);if(L){Ha=(c[r+1396>>2]|0)+Q|0}else{Ha=c[r+1392>>2]|0}L=(c[r+5776>>2]|0)!=0|0;Uj(e,f,g,f,g,f,g,h,0,0,Ha,Q,H,L,L);i=k;return}function Yj(b,d,e,f,g,h){b=b|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;if(h){i=(g|128)&255}else{i=g&255}g=1<<f-(c[b+10408>>2]|0);f=c[b+5872>>2]|0;h=b+5876|0;j=(ga(e>>f,c[h>>2]|0)|0)+(d>>f)|0;if((g|0)<=0){return}f=b+5880|0;d=b+10432|0;e=b+10424|0;k=b+10420|0;b=0;a:while(1){l=0;do{if((l|0)>=(c[h>>2]|0)){m=7;break a}if((b|0)>=(c[f>>2]|0)){m=9;break a}n=j+l+(ga(c[d>>2]|0,b)|0)|0;if((n|0)>=(c[e>>2]|0)){m=11;break a}a[(c[k>>2]|0)+n|0]=i;l=l+1|0;}while((l|0)<(g|0));l=b+1|0;if((l|0)<(g|0)){b=l}else{m=14;break}}if((m|0)==7){ec(776,904,659,17736)}else if((m|0)==9){ec(704,904,660,17736)}else if((m|0)==11){ec(640,904,663,17736)}else if((m|0)==14){return}}function Zj(b,d,e){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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;f=b+18596|0;g=c[f>>2]|0;h=c[g+5820>>2]|0;i=b+12|0;j=g+5965|0;do{if(!e){if((a[j]|0)==0){break}k=c[i>>2]|0;if((k|0)<=0){break}if((c[b+8>>2]|0)!=0){break}if((h|0)>1){l=k-1|0;m=b+18604|0;n=c[m>>2]|0;if(l>>>0<(c[n+10680>>2]|0)-(c[n+10676>>2]|0)>>3>>>0){Yh(g,c[b+18612>>2]|0,1,l,1);Jd(b+18580|0,(c[(c[m>>2]|0)+10676>>2]|0)+((c[i>>2]|0)-1<<3)|0)|0;Hd((c[(c[m>>2]|0)+10676>>2]|0)+((c[i>>2]|0)-1<<3)|0);break}else{o=2;return o|0}}else{Yh(g,c[b+18612>>2]|0,0,k-1|0,1);k=c[b+18600>>2]|0;m=c[k+796>>2]|0;if(m>>>0<3>>>0){Fd(b+18580|0,m,c[k+792>>2]|0);k=b+18588|0;C=0;a[k]=C;C=C>>8;a[k+1|0]=C;C=C>>8;a[k+2|0]=C;C=C>>8;a[k+3|0]=C;break}else{ec(1856,14776,1508,18744);return 0}}}}while(0);e=b+8|0;k=h-1|0;m=b+18612|0;l=b+18580|0;n=b+18584|0;p=g+5828|0;q=b+18604|0;r=b+18556|0;s=g+5935|0;t=b+18600|0;u=b+4|0;v=b|0;w=g+5966|0;x=g+10296|0;g=c[e>>2]|0;y=c[i>>2]|0;z=c[f>>2]|0;a:while(1){A=(ga(y,h)|0)+g|0;if(!(A>>>0<(c[z+10276>>2]|0)-(c[z+10272>>2]|0)>>2>>>0)){o=2;B=38;break}if((g|0)>=(c[z+5820>>2]|0)){o=2;B=38;break}if((y|0)>=(c[z+5828>>2]|0)){o=2;B=38;break}if((y|0)>0&d&(g|0)<(k|0)){Yh(z,c[m>>2]|0,g+1|0,y-1|0,1)}if((c[n>>2]|0)==0){o=2;B=38;break}Pj(b);do{if((a[j]|0)!=0&(g|0)==1){if((y|0)>=((c[p>>2]|0)-1|0)){break}D=c[q>>2]|0;E=c[D+10676>>2]|0;if(!((c[D+10680>>2]|0)-E>>3>>>0>y>>>0)){o=2;B=38;break a}Jd(E+(y<<3)|0,l)|0;Id((c[(c[q>>2]|0)+10676>>2]|0)+(y<<3)|0)}}while(0);E=vd(r)|0;D=(E|0)!=0;do{if(D){if((a[s]|0)==0){break}Jd((c[t>>2]|0)+1332|0,l)|0;Id((c[t>>2]|0)+1332|0);a[(c[t>>2]|0)+1340|0]=1}}while(0);Ek((c[(c[f>>2]|0)+10524>>2]|0)+(A*76|0)|0,1);F=c[i>>2]|0;G=c[u>>2]|0;H=G+1|0;c[u>>2]=H;I=c[f>>2]|0;J=c[I+5836>>2]|0;if((H|0)<(J|0)){K=c[(c[I+10284>>2]|0)+(H<<2)>>2]|0;c[v>>2]=K;L=I+5820|0;M=(K|0)%(c[L>>2]|0)|0;c[e>>2]=M;N=(K|0)/(c[L>>2]|0)|0;c[i>>2]=N;O=M;P=N}else{c[v>>2]=J;N=I+5820|0;M=(J|0)%(c[N>>2]|0)|0;c[e>>2]=M;L=(J|0)/(c[N>>2]|0)|0;c[i>>2]=L;if((E|0)==0){B=28;break}else{O=M;P=L}}if(D){o=0;B=38;break}if((a[w]|0)==0){Q=0}else{L=c[x>>2]|0;Q=(c[L+(H<<2)>>2]|0)!=(c[L+(G<<2)>>2]|0)|0}if((a[j]|0)==0){R=0}else{R=(F|0)!=(P|0)|0}if((R|Q|0)==0){g=O;y=P;z=I}else{B=35;break}}if((B|0)==28){Ue((c[b+18592>>2]|0)+4|0,1004,0);a[(c[f>>2]|0)+10516|0]=3;o=2;return o|0}else if((B|0)==35){if((vd(r)|0)==0){Ue((c[b+18592>>2]|0)+4|0,1017,0);a[(c[f>>2]|0)+10516|0]=3;o=2;return o|0}else{td(r);o=1;return o|0}}else if((B|0)==38){return o|0}return 0}function _j(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[b+18596>>2]|0;f=d+5932|0;g=b+18600|0;h=c[g>>2]|0;if((a[h+12|0]|0)==0){i=c[h+796>>2]|0;if(!(i>>>0<3>>>0)){ec(1856,14776,1508,18744);return 0}Fd(b+18580|0,i,c[h+792>>2]|0);i=b+18588|0;C=0;a[i]=C;C=C>>8;a[i+1|0]=C;C=C>>8;a[i+2|0]=C;C=C>>8;a[i+3|0]=C;j=1;return j|0}i=c[h+16>>2]|0;h=e[(c[d+10340>>2]|0)+((c[(c[d+10284>>2]|0)+((c[(c[d+10272>>2]|0)+(i<<2)>>2]|0)-1<<2)>>2]|0)*24|0)+2>>1]|0;k=c[d+48>>2]|0;if(!(h>>>0<(c[d+52>>2]|0)-k>>2>>>0)){j=0;return j|0}l=c[k+(h<<2)>>2]|0;h=c[d+5820>>2]|0;if(pj(f,(i|0)%(h|0)|0,(i|0)/(h|0)|0)|0){h=c[g>>2]|0;g=c[h+796>>2]|0;if(!(g>>>0<3>>>0)){ec(1856,14776,1508,18744);return 0}Fd(b+18580|0,g,c[h+792>>2]|0);h=b+18588|0;C=0;a[h]=C;C=C>>8;a[h+1|0]=C;C=C>>8;a[h+2|0]=C;C=C>>8;a[h+3|0]=C;j=1;return j|0}h=c[b+18604>>2]|0;g=c[b+18608>>2]|0;i=c[h+10632>>2]|0;f=(c[h+10636>>2]|0)-i>>2;if(f>>>0>1>>>0){m=1}else{j=0;return j|0}while(1){h=m+1|0;if((c[i+(m<<2)>>2]|0)==(g|0)){break}if(h>>>0<f>>>0){m=h}else{j=0;n=16;break}}if((n|0)==16){return j|0}n=c[i+(m-1<<2)>>2]|0;if((n|0)==0){j=0;return j|0}Dk(n+44|0,c[n+120>>2]|0);if((a[l+1340|0]|0)==0){j=0;return j|0}n=l+1332|0;Jd(b+18580|0,n)|0;Hd(n);j=1;return j|0}function $j(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+104|0;f=e|0;mb(f|0,1216,(g=i,i=i+8|0,c[g>>2]=c[d+12>>2],g)|0)|0;i=g;g=ev(f|0)|0;if(g>>>0>4294967279>>>0){nm(0)}if(g>>>0<11>>>0){a[b]=g<<1;h=b+1|0;cv(h|0,f|0,g)|0;j=h+g|0;a[j]=0;k=100;l=0;i=e;return}else{d=g+16&-16;m=Nu(d)|0;c[b+8>>2]=m;c[b>>2]=d|1;c[b+4>>2]=g;h=m;cv(h|0,f|0,g)|0;j=h+g|0;a[j]=0;k=100;l=0;i=e;return}}function ak(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+104|0;f=e|0;g=c[d+16>>2]|0;mb(f|0,1104,(h=i,i=i+16|0,c[h>>2]=c[d+12>>2],c[h+8>>2]=g,h)|0)|0;i=h;h=ev(f|0)|0;if(h>>>0>4294967279>>>0){nm(0)}if(h>>>0<11>>>0){a[b]=h<<1;j=b+1|0;cv(j|0,f|0,h)|0;k=j+h|0;a[k]=0;l=100;m=0;i=e;return}else{g=h+16&-16;d=Nu(g)|0;c[b+8>>2]=d;c[b>>2]=g|1;c[b+4>>2]=h;j=d;cv(j|0,f|0,h)|0;k=j+h|0;a[k]=0;l=100;m=0;i=e;return}}function bk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[b+20>>2]|0;e=d+18596|0;f=c[e>>2]|0;g=b|0;h=b+4|0;c[h>>2]=1;Wh(f,g);i=c[e>>2]|0;e=c[d+4>>2]|0;j=c[i+5836>>2]|0;if((e|0)<(j|0)){k=c[(c[i+10284>>2]|0)+(e<<2)>>2]|0;c[d>>2]=k;e=i+5820|0;c[d+8>>2]=(k|0)%(c[e>>2]|0)|0;c[d+12>>2]=(k|0)/(c[e>>2]|0)|0}else{c[d>>2]=j;e=i+5820|0;c[d+8>>2]=(j|0)%(c[e>>2]|0)|0;c[d+12>>2]=(j|0)/(c[e>>2]|0)|0}e=b+8|0;do{if((a[e]|0)==0){b=c[d+18600>>2]|0;j=c[b+796>>2]|0;if(j>>>0<3>>>0){Fd(d+18580|0,j,c[b+792>>2]|0);b=d+18588|0;C=0;a[b]=C;C=C>>8;a[b+1|0]=C;C=C>>8;a[b+2|0]=C;C=C>>8;a[b+3|0]=C;break}else{ec(1856,14776,1508,18744)}}else{if(_j(d)|0){break}c[h>>2]=3;Fk((c[d+18608>>2]|0)+44|0,1);Xh(f,g);return}}while(0);td(d+18556|0);Zj(d,0,(a[e]|0)!=0)|0;c[h>>2]=3;Fk((c[d+18608>>2]|0)+44|0,1);Xh(f,g);return}function ck(b){b=b|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;d=c[b+16>>2]|0;e=d+18596|0;f=c[e>>2]|0;g=f+5820|0;h=c[g>>2]|0;i=b|0;j=b+4|0;c[j>>2]=1;Wh(f,i);k=c[e>>2]|0;e=c[d+4>>2]|0;l=c[k+5836>>2]|0;if((e|0)<(l|0)){m=c[(c[k+10284>>2]|0)+(e<<2)>>2]|0;c[d>>2]=m;e=k+5820|0;c[d+8>>2]=(m|0)%(c[e>>2]|0)|0;c[d+12>>2]=(m|0)/(c[e>>2]|0)|0;n=m}else{c[d>>2]=l;m=k+5820|0;c[d+8>>2]=(l|0)%(c[m>>2]|0)|0;c[d+12>>2]=(l|0)/(c[m>>2]|0)|0;n=l}l=(n|0)/(h|0)|0;n=b+8|0;do{if((a[n]|0)!=0){if(_j(d)|0){break}if((h|0)>0){b=ga(l,h)|0;m=f+10524|0;k=0;do{Ek((c[m>>2]|0)+((k+b|0)*76|0)|0,1);k=k+1|0;}while((k|0)<(h|0))}c[j>>2]=3;Fk((c[d+18608>>2]|0)+44|0,1);Xh(f,i);return}}while(0);td(d+18556|0);if((a[n]|0)==0){o=0}else{o=(a[(c[d+18600>>2]|0)+12|0]|0)==0}Zj(d,1,o)|0;a:do{if((c[d+12>>2]|0)==(l|0)){o=c[g>>2]|0;n=c[d+8>>2]|0;if((n|0)>=(o|0)){break}k=f+5828|0;b=ga(l,h)|0;m=f+10524|0;e=n;n=o;while(1){do{if((e|0)<(n|0)){if((l|0)>=(c[k>>2]|0)){break}Ek((c[m>>2]|0)+((e+b|0)*76|0)|0,1)}}while(0);p=e+1|0;if((p|0)>=(o|0)){break a}e=p;n=c[g>>2]|0}}}while(0);c[j>>2]=3;Fk((c[d+18608>>2]|0)+44|0,1);Xh(f,i);return}function dk(b){b=b|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;d=c[b+18596>>2]|0;e=c[b+4>>2]|0;f=c[d+5836>>2]|0;if((e|0)<(f|0)){g=c[(c[d+10284>>2]|0)+(e<<2)>>2]|0;c[b>>2]=g;e=d+5820|0;c[b+8>>2]=(g|0)%(c[e>>2]|0)|0;c[b+12>>2]=(g|0)/(c[e>>2]|0)|0}else{c[b>>2]=f;e=d+5820|0;c[b+8>>2]=(f|0)%(c[e>>2]|0)|0;c[b+12>>2]=(f|0)/(c[e>>2]|0)|0}e=b+18600|0;f=c[e>>2]|0;if(!(_j(b)|0)){h=18;return h|0}g=b+18556|0;td(g);i=b+18560|0;j=g|0;g=b+18592|0;k=d+5966|0;d=b+18580|0;l=b+18588|0;m=(a[f+12|0]|0)==0;f=0;while(1){do{if((f|0)>0){n=f-1|0;o=c[e>>2]|0;p=c[o+776>>2]|0;if(n>>>0<(c[o+780>>2]|0)-p>>2>>>0){if(((c[i>>2]|0)-2-(c[j>>2]|0)|0)==(c[p+(n<<2)>>2]|0)){break}}Ue((c[g>>2]|0)+4|0,1003,1)}}while(0);n=f+1|0;if(((Zj(b,0,m)|0)&-3|0)==0){h=0;q=15;break}if((a[k]|0)==0){m=0;f=n;continue}p=c[e>>2]|0;o=c[p+796>>2]|0;if(!(o>>>0<3>>>0)){q=13;break}Fd(d,o,c[p+792>>2]|0);C=0;a[l]=C;C=C>>8;a[l+1|0]=C;C=C>>8;a[l+2|0]=C;C=C>>8;a[l+3|0]=C;m=0;f=n}if((q|0)==13){ec(1856,14776,1508,18744);return 0}else if((q|0)==15){return h|0}return 0}function ek(a){a=a|0;return}function fk(a){a=a|0;Pu(a);return}function gk(a){a=a|0;return}function hk(a){a=a|0;Pu(a);return}function ik(b){b=b|0;c[b+4720>>2]=0;c[b+4724>>2]=0;c[b+4728>>2]=0;kl(b+4904|0);dv(b+4984|0,0,9)|0;a[b|0]=0;return}function jk(a){a=a|0;var b=0,d=0;b=c[a+4720>>2]|0;if((b|0)==0){return}d=a+4724|0;a=c[d>>2]|0;if((a|0)!=(b|0)){c[d>>2]=a+(~(((a-100+(-b|0)|0)>>>0)/100|0)*100|0)}Pu(b);return}
-    
-    
-    
-    function cr(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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,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,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,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,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0;q=i;i=i+408|0;r=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[r>>2];r=q|0;s=q+400|0;t=i;i=i+1|0;i=i+7&-8;u=i;i=i+1|0;i=i+7&-8;v=i;i=i+12|0;i=i+7&-8;w=i;i=i+12|0;i=i+7&-8;x=i;i=i+12|0;i=i+7&-8;y=i;i=i+12|0;i=i+7&-8;z=i;i=i+12|0;i=i+7&-8;A=i;i=i+4|0;i=i+7&-8;B=i;i=i+4|0;i=i+7&-8;C=r|0;c[s>>2]=0;D=v;dv(D|0,0,12)|0;E=w;dv(E|0,0,12)|0;F=x;dv(F|0,0,12)|0;G=y;dv(G|0,0,12)|0;H=z;dv(H|0,0,12)|0;gr(g,h,s,t,u,v,w,x,y,A);h=n|0;c[o>>2]=c[h>>2];g=e|0;e=f|0;f=s;s=m+8|0;m=y+1|0;I=y+4|0;J=y+8|0;K=x+1|0;L=x+4|0;M=x+8|0;N=(j&512|0)!=0;j=w+1|0;O=w+8|0;P=w+4|0;Q=z;R=Q+1|0;S=z+8|0;T=z+4|0;U=f+3|0;V=n+4|0;n=v+4|0;W=p;p=194;X=C;Y=C;C=r+400|0;r=0;Z=0;a:while(1){_=c[g>>2]|0;do{if((_|0)==0){$=0}else{if((c[_+12>>2]|0)!=(c[_+16>>2]|0)){$=_;break}if((Fc[c[(c[_>>2]|0)+36>>2]&255](_)|0)==-1){c[g>>2]=0;$=0;break}else{$=c[g>>2]|0;break}}}while(0);_=($|0)==0;aa=c[e>>2]|0;do{if((aa|0)==0){ba=15}else{if((c[aa+12>>2]|0)!=(c[aa+16>>2]|0)){if(_){ca=aa;break}else{da=p;ea=X;fa=Y;ga=Z;ba=310;break a}}if((Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)==-1){c[e>>2]=0;ba=15;break}else{if(_){ca=aa;break}else{da=p;ea=X;fa=Y;ga=Z;ba=310;break a}}}}while(0);if((ba|0)==15){ba=0;if(_){da=p;ea=X;fa=Y;ga=Z;ba=310;break}else{ca=0}}b:do{switch(a[f+r|0]|0){case 1:{if((r|0)==3){da=p;ea=X;fa=Y;ga=Z;ba=310;break a}aa=c[g>>2]|0;ha=c[aa+12>>2]|0;if((ha|0)==(c[aa+16>>2]|0)){ia=(Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)&255}else{ia=a[ha]|0}if(!(ia<<24>>24>-1)){ba=41;break a}if((b[(c[s>>2]|0)+(ia<<24>>24<<1)>>1]&8192)==0){ba=41;break a}ha=c[g>>2]|0;aa=ha+12|0;ja=c[aa>>2]|0;if((ja|0)==(c[ha+16>>2]|0)){ka=(Fc[c[(c[ha>>2]|0)+40>>2]&255](ha)|0)&255}else{c[aa>>2]=ja+1;ka=a[ja]|0}wm(z,ka);ba=42;break};case 0:{ba=42;break};case 3:{ja=a[F]|0;aa=(ja&1)==0;if(aa){la=(ja&255)>>>1}else{la=c[L>>2]|0}ha=a[G]|0;ma=(ha&1)==0;if(ma){na=(ha&255)>>>1}else{na=c[I>>2]|0}if((la|0)==(-na|0)){oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}if(aa){ua=(ja&255)>>>1}else{ua=c[L>>2]|0}do{if((ua|0)!=0){if(ma){va=(ha&255)>>>1}else{va=c[I>>2]|0}if((va|0)==0){break}wa=c[g>>2]|0;xa=c[wa+12>>2]|0;ya=c[wa+16>>2]|0;if((xa|0)==(ya|0)){za=(Fc[c[(c[wa>>2]|0)+36>>2]&255](wa)|0)&255;Aa=c[g>>2]|0;Ba=za;Ca=a[F]|0;Da=Aa;Ea=c[Aa+12>>2]|0;Fa=c[Aa+16>>2]|0}else{Ba=a[xa]|0;Ca=ja;Da=wa;Ea=xa;Fa=ya}ya=Da+12|0;xa=(Ea|0)==(Fa|0);if(Ba<<24>>24==(a[(Ca&1)==0?K:c[M>>2]|0]|0)){if(xa){Fc[c[(c[Da>>2]|0)+40>>2]&255](Da)|0}else{c[ya>>2]=Ea+1}ya=a[F]|0;if((ya&1)==0){Ga=(ya&255)>>>1}else{Ga=c[L>>2]|0}oa=Ga>>>0>1>>>0?x:Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}if(xa){Ha=(Fc[c[(c[Da>>2]|0)+36>>2]&255](Da)|0)&255}else{Ha=a[Ea]|0}if(!(Ha<<24>>24==(a[(a[G]&1)==0?m:c[J>>2]|0]|0))){ba=136;break a}xa=c[g>>2]|0;ya=xa+12|0;wa=c[ya>>2]|0;if((wa|0)==(c[xa+16>>2]|0)){Fc[c[(c[xa>>2]|0)+40>>2]&255](xa)|0}else{c[ya>>2]=wa+1}a[l]=1;wa=a[G]|0;if((wa&1)==0){Ia=(wa&255)>>>1}else{Ia=c[I>>2]|0}oa=Ia>>>0>1>>>0?y:Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}}while(0);if(aa){Ja=(ja&255)>>>1}else{Ja=c[L>>2]|0}ma=c[g>>2]|0;wa=c[ma+12>>2]|0;ya=(wa|0)==(c[ma+16>>2]|0);if((Ja|0)==0){if(ya){xa=(Fc[c[(c[ma>>2]|0)+36>>2]&255](ma)|0)&255;Ka=xa;La=a[G]|0}else{Ka=a[wa]|0;La=ha}if(!(Ka<<24>>24==(a[(La&1)==0?m:c[J>>2]|0]|0))){oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}xa=c[g>>2]|0;Aa=xa+12|0;za=c[Aa>>2]|0;if((za|0)==(c[xa+16>>2]|0)){Fc[c[(c[xa>>2]|0)+40>>2]&255](xa)|0}else{c[Aa>>2]=za+1}a[l]=1;za=a[G]|0;if((za&1)==0){Ma=(za&255)>>>1}else{Ma=c[I>>2]|0}oa=Ma>>>0>1>>>0?y:Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}if(ya){ya=(Fc[c[(c[ma>>2]|0)+36>>2]&255](ma)|0)&255;Na=ya;Oa=a[F]|0}else{Na=a[wa]|0;Oa=ja}if(!(Na<<24>>24==(a[(Oa&1)==0?K:c[M>>2]|0]|0))){a[l]=1;oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}wa=c[g>>2]|0;ya=wa+12|0;ma=c[ya>>2]|0;if((ma|0)==(c[wa+16>>2]|0)){Fc[c[(c[wa>>2]|0)+40>>2]&255](wa)|0}else{c[ya>>2]=ma+1}ma=a[F]|0;if((ma&1)==0){Pa=(ma&255)>>>1}else{Pa=c[L>>2]|0}oa=Pa>>>0>1>>>0?x:Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break};case 2:{if(!((Z|0)!=0|r>>>0<2>>>0)){if((r|0)==2){Qa=(a[U]|0)!=0}else{Qa=0}if(!(N|Qa)){oa=0;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}}ma=a[E]|0;ya=(ma&1)==0;wa=ya?j:c[O>>2]|0;c:do{if((r|0)==0){Ra=wa;Sa=ma;Ta=ca;Ua=ca}else{if(!((d[f+(r-1)|0]|0)>>>0<2>>>0)){Ra=wa;Sa=ma;Ta=ca;Ua=ca;break}za=wa+(ya?(ma&255)>>>1:c[P>>2]|0)|0;Aa=wa;while(1){if((Aa|0)==(za|0)){Va=za;break}xa=a[Aa]|0;if(!(xa<<24>>24>-1)){Va=Aa;break}if((b[(c[s>>2]|0)+(xa<<24>>24<<1)>>1]&8192)==0){Va=Aa;break}else{Aa=Aa+1|0}}Aa=Va-wa|0;za=a[H]|0;xa=(za&1)==0;if(xa){Wa=(za&255)>>>1}else{Wa=c[T>>2]|0}if(Aa>>>0>Wa>>>0){Ra=wa;Sa=ma;Ta=ca;Ua=ca;break}if(xa){xa=(za&255)>>>1;Xa=xa;Ya=R;Za=xa-Aa+(Q+1)|0}else{xa=c[S>>2]|0;za=c[T>>2]|0;Xa=za;Ya=xa;Za=xa+(za-Aa)|0}Aa=Ya+Xa|0;if((Za|0)==(Aa|0)){Ra=Va;Sa=ma;Ta=ca;Ua=ca;break}else{_a=Za;$a=wa}while(1){if((a[_a]|0)!=(a[$a]|0)){Ra=wa;Sa=ma;Ta=ca;Ua=ca;break c}za=_a+1|0;if((za|0)==(Aa|0)){Ra=Va;Sa=ma;Ta=ca;Ua=ca;break}else{_a=za;$a=$a+1|0}}}}while(0);d:while(1){if((Sa&1)==0){ab=(Sa&255)>>>1;bb=j}else{ab=c[P>>2]|0;bb=c[O>>2]|0}if((Ra|0)==(bb+ab|0)){break}ma=c[g>>2]|0;do{if((ma|0)==0){cb=0}else{if((c[ma+12>>2]|0)!=(c[ma+16>>2]|0)){cb=ma;break}if((Fc[c[(c[ma>>2]|0)+36>>2]&255](ma)|0)==-1){c[g>>2]=0;cb=0;break}else{cb=c[g>>2]|0;break}}}while(0);ma=(cb|0)==0;do{if((Ta|0)==0){db=Ua;ba=173}else{if((c[Ta+12>>2]|0)!=(c[Ta+16>>2]|0)){if(ma){eb=Ta;fb=Ua;break}else{break d}}if((Fc[c[(c[Ta>>2]|0)+36>>2]&255](Ta)|0)==-1){c[e>>2]=0;db=0;ba=173;break}else{if(ma^(Ua|0)==0){eb=Ua;fb=Ua;break}else{break d}}}}while(0);if((ba|0)==173){ba=0;if(ma){break}else{eb=0;fb=db}}wa=c[g>>2]|0;ya=c[wa+12>>2]|0;if((ya|0)==(c[wa+16>>2]|0)){gb=(Fc[c[(c[wa>>2]|0)+36>>2]&255](wa)|0)&255}else{gb=a[ya]|0}if(!(gb<<24>>24==(a[Ra]|0))){break}ya=c[g>>2]|0;wa=ya+12|0;ja=c[wa>>2]|0;if((ja|0)==(c[ya+16>>2]|0)){Fc[c[(c[ya>>2]|0)+40>>2]&255](ya)|0}else{c[wa>>2]=ja+1}Ra=Ra+1|0;Sa=a[E]|0;Ta=eb;Ua=fb}if(!N){oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break b}ja=a[E]|0;if((ja&1)==0){hb=(ja&255)>>>1;ib=j}else{hb=c[P>>2]|0;ib=c[O>>2]|0}if((Ra|0)==(ib+hb|0)){oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W}else{ba=189;break a}break};case 4:{ja=0;wa=C;ya=Y;ha=X;aa=p;Aa=W;e:while(1){za=c[g>>2]|0;do{if((za|0)==0){jb=0}else{if((c[za+12>>2]|0)!=(c[za+16>>2]|0)){jb=za;break}if((Fc[c[(c[za>>2]|0)+36>>2]&255](za)|0)==-1){c[g>>2]=0;jb=0;break}else{jb=c[g>>2]|0;break}}}while(0);za=(jb|0)==0;ma=c[e>>2]|0;do{if((ma|0)==0){ba=202}else{if((c[ma+12>>2]|0)!=(c[ma+16>>2]|0)){if(za){break}else{break e}}if((Fc[c[(c[ma>>2]|0)+36>>2]&255](ma)|0)==-1){c[e>>2]=0;ba=202;break}else{if(za){break}else{break e}}}}while(0);if((ba|0)==202){ba=0;if(za){break}}ma=c[g>>2]|0;xa=c[ma+12>>2]|0;if((xa|0)==(c[ma+16>>2]|0)){kb=(Fc[c[(c[ma>>2]|0)+36>>2]&255](ma)|0)&255}else{kb=a[xa]|0}do{if(kb<<24>>24>-1){if((b[(c[s>>2]|0)+(kb<<24>>24<<1)>>1]&2048)==0){ba=221;break}xa=c[o>>2]|0;if((xa|0)==(Aa|0)){ma=(c[V>>2]|0)!=194;lb=c[h>>2]|0;mb=Aa-lb|0;nb=mb>>>0<2147483647>>>0?mb<<1:-1;ob=Iu(ma?lb:0,nb)|0;if((ob|0)==0){Uu()}do{if(ma){c[h>>2]=ob;pb=ob}else{lb=c[h>>2]|0;c[h>>2]=ob;if((lb|0)==0){pb=ob;break}Dc[c[V>>2]&511](lb);pb=c[h>>2]|0}}while(0);c[V>>2]=88;ob=pb+mb|0;c[o>>2]=ob;qb=(c[h>>2]|0)+nb|0;rb=ob}else{qb=Aa;rb=xa}c[o>>2]=rb+1;a[rb]=kb;sb=ja+1|0;tb=wa;ub=ya;vb=ha;wb=aa;xb=qb}else{ba=221}}while(0);if((ba|0)==221){ba=0;za=a[D]|0;if((za&1)==0){yb=(za&255)>>>1}else{yb=c[n>>2]|0}if((yb|0)==0|(ja|0)==0){break}if(!(kb<<24>>24==(a[u]|0))){break}if((ya|0)==(wa|0)){za=ya-ha|0;ob=za>>>0<2147483647>>>0?za<<1:-1;if((aa|0)==194){zb=0}else{zb=ha}ma=Iu(zb,ob)|0;lb=ma;if((ma|0)==0){Uu()}Ab=lb+(ob>>>2<<2)|0;Bb=lb+(za>>2<<2)|0;Cb=lb;Db=88}else{Ab=wa;Bb=ya;Cb=ha;Db=aa}c[Bb>>2]=ja;sb=0;tb=Ab;ub=Bb+4|0;vb=Cb;wb=Db;xb=Aa}lb=c[g>>2]|0;za=lb+12|0;ob=c[za>>2]|0;if((ob|0)==(c[lb+16>>2]|0)){Fc[c[(c[lb>>2]|0)+40>>2]&255](lb)|0;ja=sb;wa=tb;ya=ub;ha=vb;aa=wb;Aa=xb;continue}else{c[za>>2]=ob+1;ja=sb;wa=tb;ya=ub;ha=vb;aa=wb;Aa=xb;continue}}if((ha|0)==(ya|0)|(ja|0)==0){Eb=wa;Fb=ya;Gb=ha;Hb=aa}else{if((ya|0)==(wa|0)){ob=ya-ha|0;za=ob>>>0<2147483647>>>0?ob<<1:-1;if((aa|0)==194){Ib=0}else{Ib=ha}lb=Iu(Ib,za)|0;ma=lb;if((lb|0)==0){Uu()}Jb=ma+(za>>>2<<2)|0;Kb=ma+(ob>>2<<2)|0;Lb=ma;Mb=88}else{Jb=wa;Kb=ya;Lb=ha;Mb=aa}c[Kb>>2]=ja;Eb=Jb;Fb=Kb+4|0;Gb=Lb;Hb=Mb}if((c[A>>2]|0)>0){ma=c[g>>2]|0;do{if((ma|0)==0){Nb=0}else{if((c[ma+12>>2]|0)!=(c[ma+16>>2]|0)){Nb=ma;break}if((Fc[c[(c[ma>>2]|0)+36>>2]&255](ma)|0)==-1){c[g>>2]=0;Nb=0;break}else{Nb=c[g>>2]|0;break}}}while(0);ma=(Nb|0)==0;ja=c[e>>2]|0;do{if((ja|0)==0){ba=257}else{if((c[ja+12>>2]|0)!=(c[ja+16>>2]|0)){if(ma){Ob=ja;break}else{ba=264;break a}}if((Fc[c[(c[ja>>2]|0)+36>>2]&255](ja)|0)==-1){c[e>>2]=0;ba=257;break}else{if(ma){Ob=ja;break}else{ba=264;break a}}}}while(0);if((ba|0)==257){ba=0;if(ma){ba=264;break a}else{Ob=0}}ja=c[g>>2]|0;aa=c[ja+12>>2]|0;if((aa|0)==(c[ja+16>>2]|0)){Pb=(Fc[c[(c[ja>>2]|0)+36>>2]&255](ja)|0)&255}else{Pb=a[aa]|0}if(!(Pb<<24>>24==(a[t]|0))){ba=264;break a}aa=c[g>>2]|0;ja=aa+12|0;ha=c[ja>>2]|0;if((ha|0)==(c[aa+16>>2]|0)){Fc[c[(c[aa>>2]|0)+40>>2]&255](aa)|0;Qb=Aa;Rb=Ob;Sb=Ob}else{c[ja>>2]=ha+1;Qb=Aa;Rb=Ob;Sb=Ob}while(1){ha=c[g>>2]|0;do{if((ha|0)==0){Tb=0}else{if((c[ha+12>>2]|0)!=(c[ha+16>>2]|0)){Tb=ha;break}if((Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0)==-1){c[g>>2]=0;Tb=0;break}else{Tb=c[g>>2]|0;break}}}while(0);ha=(Tb|0)==0;do{if((Rb|0)==0){Ub=Sb;ba=280}else{if((c[Rb+12>>2]|0)!=(c[Rb+16>>2]|0)){if(ha){Vb=Sb;Wb=Rb;break}else{ba=288;break a}}if((Fc[c[(c[Rb>>2]|0)+36>>2]&255](Rb)|0)==-1){c[e>>2]=0;Ub=0;ba=280;break}else{if(ha^(Sb|0)==0){Vb=Sb;Wb=Sb;break}else{ba=288;break a}}}}while(0);if((ba|0)==280){ba=0;if(ha){ba=288;break a}else{Vb=Ub;Wb=0}}ja=c[g>>2]|0;aa=c[ja+12>>2]|0;if((aa|0)==(c[ja+16>>2]|0)){Xb=(Fc[c[(c[ja>>2]|0)+36>>2]&255](ja)|0)&255}else{Xb=a[aa]|0}if(!(Xb<<24>>24>-1)){ba=288;break a}if((b[(c[s>>2]|0)+(Xb<<24>>24<<1)>>1]&2048)==0){ba=288;break a}aa=c[o>>2]|0;if((aa|0)==(Qb|0)){ja=(c[V>>2]|0)!=194;ya=c[h>>2]|0;wa=Qb-ya|0;ob=wa>>>0<2147483647>>>0?wa<<1:-1;za=Iu(ja?ya:0,ob)|0;if((za|0)==0){Uu()}do{if(ja){c[h>>2]=za;Yb=za}else{ya=c[h>>2]|0;c[h>>2]=za;if((ya|0)==0){Yb=za;break}Dc[c[V>>2]&511](ya);Yb=c[h>>2]|0}}while(0);c[V>>2]=88;za=Yb+wa|0;c[o>>2]=za;Zb=(c[h>>2]|0)+ob|0;_b=za}else{Zb=Qb;_b=aa}za=c[g>>2]|0;ja=c[za+12>>2]|0;if((ja|0)==(c[za+16>>2]|0)){ha=(Fc[c[(c[za>>2]|0)+36>>2]&255](za)|0)&255;$b=ha;ac=c[o>>2]|0}else{$b=a[ja]|0;ac=_b}c[o>>2]=ac+1;a[ac]=$b;ja=(c[A>>2]|0)-1|0;c[A>>2]=ja;ha=c[g>>2]|0;za=ha+12|0;ya=c[za>>2]|0;if((ya|0)==(c[ha+16>>2]|0)){Fc[c[(c[ha>>2]|0)+40>>2]&255](ha)|0}else{c[za>>2]=ya+1}if((ja|0)>0){Qb=Zb;Rb=Wb;Sb=Vb}else{bc=Zb;break}}}else{bc=Aa}if((c[o>>2]|0)==(c[h>>2]|0)){ba=308;break a}else{oa=Z;pa=Eb;qa=Fb;ra=Gb;sa=Hb;ta=bc}break};default:{oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W}}}while(0);f:do{if((ba|0)==42){ba=0;if((r|0)==3){da=p;ea=X;fa=Y;ga=Z;ba=310;break a}else{cc=ca;dc=ca}while(1){_=c[g>>2]|0;do{if((_|0)==0){ec=0}else{if((c[_+12>>2]|0)!=(c[_+16>>2]|0)){ec=_;break}if((Fc[c[(c[_>>2]|0)+36>>2]&255](_)|0)==-1){c[g>>2]=0;ec=0;break}else{ec=c[g>>2]|0;break}}}while(0);_=(ec|0)==0;do{if((cc|0)==0){fc=dc;ba=55}else{if((c[cc+12>>2]|0)!=(c[cc+16>>2]|0)){if(_){gc=cc;hc=dc;break}else{oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break f}}if((Fc[c[(c[cc>>2]|0)+36>>2]&255](cc)|0)==-1){c[e>>2]=0;fc=0;ba=55;break}else{if(_^(dc|0)==0){gc=dc;hc=dc;break}else{oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break f}}}}while(0);if((ba|0)==55){ba=0;if(_){oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break f}else{gc=0;hc=fc}}aa=c[g>>2]|0;ob=c[aa+12>>2]|0;if((ob|0)==(c[aa+16>>2]|0)){ic=(Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)&255}else{ic=a[ob]|0}if(!(ic<<24>>24>-1)){oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break f}if((b[(c[s>>2]|0)+(ic<<24>>24<<1)>>1]&8192)==0){oa=Z;pa=C;qa=Y;ra=X;sa=p;ta=W;break f}ob=c[g>>2]|0;aa=ob+12|0;wa=c[aa>>2]|0;if((wa|0)==(c[ob+16>>2]|0)){jc=(Fc[c[(c[ob>>2]|0)+40>>2]&255](ob)|0)&255}else{c[aa>>2]=wa+1;jc=a[wa]|0}wm(z,jc);cc=gc;dc=hc}}}while(0);Aa=r+1|0;if(Aa>>>0<4>>>0){W=ta;p=sa;X=ra;Y=qa;C=pa;r=Aa;Z=oa}else{da=sa;ea=ra;fa=qa;ga=oa;ba=310;break}}g:do{if((ba|0)==41){c[k>>2]=c[k>>2]|4;kc=0;lc=X;mc=p}else if((ba|0)==136){c[k>>2]=c[k>>2]|4;kc=0;lc=X;mc=p}else if((ba|0)==189){c[k>>2]=c[k>>2]|4;kc=0;lc=X;mc=p}else if((ba|0)==264){c[k>>2]=c[k>>2]|4;kc=0;lc=Gb;mc=Hb}else if((ba|0)==288){c[k>>2]=c[k>>2]|4;kc=0;lc=Gb;mc=Hb}else if((ba|0)==308){c[k>>2]=c[k>>2]|4;kc=0;lc=Gb;mc=Hb}else if((ba|0)==310){h:do{if((ga|0)!=0){oa=ga;qa=ga+1|0;ra=ga+8|0;sa=ga+4|0;Z=1;i:while(1){r=a[oa]|0;if((r&1)==0){nc=(r&255)>>>1}else{nc=c[sa>>2]|0}if(!(Z>>>0<nc>>>0)){break h}r=c[g>>2]|0;do{if((r|0)==0){oc=0}else{if((c[r+12>>2]|0)!=(c[r+16>>2]|0)){oc=r;break}if((Fc[c[(c[r>>2]|0)+36>>2]&255](r)|0)==-1){c[g>>2]=0;oc=0;break}else{oc=c[g>>2]|0;break}}}while(0);r=(oc|0)==0;_=c[e>>2]|0;do{if((_|0)==0){ba=328}else{if((c[_+12>>2]|0)!=(c[_+16>>2]|0)){if(r){break}else{break i}}if((Fc[c[(c[_>>2]|0)+36>>2]&255](_)|0)==-1){c[e>>2]=0;ba=328;break}else{if(r){break}else{break i}}}}while(0);if((ba|0)==328){ba=0;if(r){break}}_=c[g>>2]|0;pa=c[_+12>>2]|0;if((pa|0)==(c[_+16>>2]|0)){pc=(Fc[c[(c[_>>2]|0)+36>>2]&255](_)|0)&255}else{pc=a[pa]|0}if((a[oa]&1)==0){qc=qa}else{qc=c[ra>>2]|0}if(!(pc<<24>>24==(a[qc+Z|0]|0))){break}pa=Z+1|0;_=c[g>>2]|0;C=_+12|0;Y=c[C>>2]|0;if((Y|0)==(c[_+16>>2]|0)){Fc[c[(c[_>>2]|0)+40>>2]&255](_)|0;Z=pa;continue}else{c[C>>2]=Y+1;Z=pa;continue}}c[k>>2]=c[k>>2]|4;kc=0;lc=ea;mc=da;break g}}while(0);if((ea|0)==(fa|0)){kc=1;lc=fa;mc=da;break}c[B>>2]=0;hr(v,ea,fa,B);if((c[B>>2]|0)==0){kc=1;lc=ea;mc=da;break}c[k>>2]=c[k>>2]|4;kc=0;lc=ea;mc=da}}while(0);rm(z);rm(y);rm(x);rm(w);rm(v);if((lc|0)==0){rc=400;sc=0;i=q;return kc|0}Dc[mc&511](lc);rc=400;sc=0;i=q;return kc|0}function dr(a){a=a|0;var b=0;b=pc(8)|0;_l(b,a);Fb(b|0,25560,30)}function er(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=i;i=i+160|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d|0;m=d+16|0;n=d+120|0;o=d+128|0;p=d+136|0;q=d+144|0;r=d+152|0;s=n|0;c[s>>2]=m;t=n+4|0;c[t>>2]=194;u=m+100|0;Lm(p,h);m=p|0;v=c[m>>2]|0;if(!((c[8716]|0)==-1)){c[l>>2]=34864;c[l+4>>2]=16;c[l+8>>2]=0;mm(34864,l,114)}l=(c[8717]|0)-1|0;w=c[v+8>>2]|0;do{if((c[v+12>>2]|0)-w>>2>>>0>l>>>0){x=c[w+(l<<2)>>2]|0;if((x|0)==0){break}y=x;a[q]=0;z=f|0;A=c[z>>2]|0;c[r>>2]=A;if(cr(e,r,g,p,c[h+4>>2]|0,j,q,y,n,o,u)|0){B=k;if((a[B]&1)==0){a[k+1|0]=0;a[B]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}B=x;if((a[q]|0)!=0){wm(k,Qc[c[(c[B>>2]|0)+28>>2]&63](y,45)|0)}x=Qc[c[(c[B>>2]|0)+28>>2]&63](y,48)|0;y=c[s>>2]|0;B=c[o>>2]|0;C=B-1|0;a:do{if(y>>>0<C>>>0){D=y;while(1){E=D+1|0;if(!((a[D]|0)==x<<24>>24)){F=D;break a}if(E>>>0<C>>>0){D=E}else{F=E;break}}}else{F=y}}while(0);fr(k,F,B)|0}y=e|0;C=c[y>>2]|0;do{if((C|0)==0){G=0}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){G=C;break}if(!((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1)){G=C;break}c[y>>2]=0;G=0}}while(0);y=(G|0)==0;do{if((A|0)==0){H=33}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(y){break}else{H=35;break}}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[z>>2]=0;H=33;break}else{if(y^(A|0)==0){break}else{H=35;break}}}}while(0);if((H|0)==33){if(y){H=35}}if((H|0)==35){c[j>>2]=c[j>>2]|2}c[b>>2]=G;Ul(c[m>>2]|0)|0;A=c[s>>2]|0;c[s>>2]=0;if((A|0)==0){I=100;J=0;i=d;return}Dc[c[t>>2]&511](A);I=100;J=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function fr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=b;g=d;h=a[f]|0;if((h&1)==0){i=10;j=h;k=(h&255)>>>1}else{h=c[b>>2]|0;i=(h&-2)-1|0;j=h&255;k=c[b+4>>2]|0}h=e-g|0;if((e|0)==(d|0)){return b|0}if((i-k|0)>>>0<h>>>0){zm(b,i,k+h-i|0,k,k,0,0);l=a[f]|0}else{l=j}if((l&1)==0){m=b+1|0}else{m=c[b+8>>2]|0}l=e+(k-g)|0;g=d;d=m+k|0;while(1){a[d]=a[g]|0;j=g+1|0;if((j|0)==(e|0)){break}else{g=j;d=d+1|0}}a[m+l|0]=0;l=k+h|0;if((a[f]&1)==0){a[f]=l<<1;return b|0}else{c[b+4>>2]=l;return b|0}return 0}function gr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0;n=i;i=i+176|0;o=n|0;p=n+16|0;q=n+32|0;r=n+40|0;s=n+56|0;t=n+72|0;u=n+88|0;v=n+104|0;w=n+112|0;x=n+128|0;y=n+144|0;z=n+160|0;if(b){b=c[d>>2]|0;if(!((c[8834]|0)==-1)){c[p>>2]=35336;c[p+4>>2]=16;c[p+8>>2]=0;mm(35336,p,114)}p=(c[8835]|0)-1|0;A=c[b+8>>2]|0;if(!((c[b+12>>2]|0)-A>>2>>>0>p>>>0)){B=pc(4)|0;D=B;lu(D);Fb(B|0,25544,156)}b=c[A+(p<<2)>>2]|0;if((b|0)==0){B=pc(4)|0;D=B;lu(D);Fb(B|0,25544,156)}B=b;Ec[c[(c[b>>2]|0)+44>>2]&127](q,B);D=e;C=c[q>>2]|0;a[D]=C;C=C>>8;a[D+1|0]=C;C=C>>8;a[D+2|0]=C;C=C>>8;a[D+3|0]=C;D=b;Ec[c[(c[D>>2]|0)+32>>2]&127](r,B);q=l;if((a[q]&1)==0){a[l+1|0]=0;a[q]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);p=r;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];dv(p|0,0,12)|0;rm(r);Ec[c[(c[D>>2]|0)+28>>2]&127](s,B);r=k;if((a[r]&1)==0){a[k+1|0]=0;a[r]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);p=s;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];dv(p|0,0,12)|0;rm(s);s=b;p=Fc[c[(c[s>>2]|0)+12>>2]&255](B)|0;a[f]=p;p=Fc[c[(c[s>>2]|0)+16>>2]&255](B)|0;a[g]=p;Ec[c[(c[D>>2]|0)+20>>2]&127](t,B);p=h;if((a[p]&1)==0){a[h+1|0]=0;a[p]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);s=t;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];dv(s|0,0,12)|0;rm(t);Ec[c[(c[D>>2]|0)+24>>2]&127](u,B);D=j;if((a[D]&1)==0){a[j+1|0]=0;a[D]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);t=u;c[D>>2]=c[t>>2];c[D+4>>2]=c[t+4>>2];c[D+8>>2]=c[t+8>>2];dv(t|0,0,12)|0;rm(u);E=Fc[c[(c[b>>2]|0)+36>>2]&255](B)|0;c[m>>2]=E;i=n;return}else{B=c[d>>2]|0;if(!((c[8836]|0)==-1)){c[o>>2]=35344;c[o+4>>2]=16;c[o+8>>2]=0;mm(35344,o,114)}o=(c[8837]|0)-1|0;d=c[B+8>>2]|0;if(!((c[B+12>>2]|0)-d>>2>>>0>o>>>0)){F=pc(4)|0;G=F;lu(G);Fb(F|0,25544,156)}B=c[d+(o<<2)>>2]|0;if((B|0)==0){F=pc(4)|0;G=F;lu(G);Fb(F|0,25544,156)}F=B;Ec[c[(c[B>>2]|0)+44>>2]&127](v,F);G=e;C=c[v>>2]|0;a[G]=C;C=C>>8;a[G+1|0]=C;C=C>>8;a[G+2|0]=C;C=C>>8;a[G+3|0]=C;G=B;Ec[c[(c[G>>2]|0)+32>>2]&127](w,F);v=l;if((a[v]&1)==0){a[l+1|0]=0;a[v]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);l=w;c[v>>2]=c[l>>2];c[v+4>>2]=c[l+4>>2];c[v+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;rm(w);Ec[c[(c[G>>2]|0)+28>>2]&127](x,F);w=k;if((a[w]&1)==0){a[k+1|0]=0;a[w]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);k=x;c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];c[w+8>>2]=c[k+8>>2];dv(k|0,0,12)|0;rm(x);x=B;k=Fc[c[(c[x>>2]|0)+12>>2]&255](F)|0;a[f]=k;k=Fc[c[(c[x>>2]|0)+16>>2]&255](F)|0;a[g]=k;Ec[c[(c[G>>2]|0)+20>>2]&127](y,F);k=h;if((a[k]&1)==0){a[h+1|0]=0;a[k]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);h=y;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];dv(h|0,0,12)|0;rm(y);Ec[c[(c[G>>2]|0)+24>>2]&127](z,F);G=j;if((a[G]&1)==0){a[j+1|0]=0;a[G]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);j=z;c[G>>2]=c[j>>2];c[G+4>>2]=c[j+4>>2];c[G+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;rm(z);E=Fc[c[(c[B>>2]|0)+36>>2]&255](F)|0;c[m>>2]=E;i=n;return}}function hr(b,d,e,f){b=b|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,o=0,p=0,q=0,r=0,s=0,t=0;g=b;h=a[g]|0;if((h&1)==0){i=(h&255)>>>1}else{i=c[b+4>>2]|0}if((i|0)==0){return}do{if((d|0)==(e|0)){j=h}else{i=e-4|0;if(i>>>0>d>>>0){k=d;l=i}else{j=h;break}do{i=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=i;k=k+4|0;l=l-4|0;}while(k>>>0<l>>>0);j=a[g]|0}}while(0);if((j&1)==0){m=(j&255)>>>1;n=b+1|0}else{m=c[b+4>>2]|0;n=c[b+8>>2]|0}b=e-4|0;e=a[n]|0;j=e<<24>>24<1|e<<24>>24==127;a:do{if(b>>>0>d>>>0){g=n+m|0;l=n;k=d;h=e;i=j;while(1){if(!i){if((h<<24>>24|0)!=(c[k>>2]|0)){break}}o=(g-l|0)>1?l+1|0:l;p=k+4|0;q=a[o]|0;r=q<<24>>24<1|q<<24>>24==127;if(p>>>0<b>>>0){l=o;k=p;h=q;i=r}else{s=q;t=r;break a}}c[f>>2]=4;return}else{s=e;t=j}}while(0);if(t){return}t=c[b>>2]|0;if(!(s<<24>>24>>>0<t>>>0|(t|0)==0)){return}c[f>>2]=4;return}function ir(a){a=a|0;Sl(a|0);Pu(a);return}function jr(a){a=a|0;Sl(a|0);return}function kr(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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;d=i;i=i+600|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d|0;m=d+16|0;n=d+416|0;o=d+424|0;p=d+432|0;q=d+440|0;r=d+448|0;s=d+456|0;t=d+496|0;u=n|0;c[u>>2]=m;v=n+4|0;c[v>>2]=194;w=m+400|0;Lm(p,h);m=p|0;x=c[m>>2]|0;if(!((c[8714]|0)==-1)){c[l>>2]=34856;c[l+4>>2]=16;c[l+8>>2]=0;mm(34856,l,114)}l=(c[8715]|0)-1|0;y=c[x+8>>2]|0;do{if((c[x+12>>2]|0)-y>>2>>>0>l>>>0){z=c[y+(l<<2)>>2]|0;if((z|0)==0){break}A=z;a[q]=0;B=f|0;c[r>>2]=c[B>>2];do{if(lr(e,r,g,p,c[h+4>>2]|0,j,q,A,n,o,w)|0){C=s|0;Sc[c[(c[z>>2]|0)+48>>2]&15](A,19144,19154,C)|0;D=t|0;E=c[o>>2]|0;F=c[u>>2]|0;G=E-F|0;do{if((G|0)>392){H=Gu((G>>2)+2|0)|0;if((H|0)!=0){I=H;J=H;break}Uu();I=0;J=0}else{I=D;J=0}}while(0);if((a[q]|0)==0){K=I}else{a[I]=45;K=I+1|0}if(F>>>0<E>>>0){G=s+40|0;H=s;L=K;M=F;while(1){N=c[M>>2]|0;O=C;while(1){P=O+4|0;if((c[O>>2]|0)==(N|0)){Q=O;break}if((P|0)==(G|0)){Q=G;break}else{O=P}}a[L]=a[19144+(Q-H>>2)|0]|0;O=M+4|0;N=L+1|0;if(O>>>0<(c[o>>2]|0)>>>0){L=N;M=O}else{R=N;break}}}else{R=K}a[R]=0;M=dc(D|0,15784,(L=i,i=i+8|0,c[L>>2]=k,L)|0)|0;i=L;if((M|0)==1){if((J|0)==0){break}Hu(J);break}M=pc(8)|0;_l(M,15400);Fb(M|0,25560,30)}}while(0);A=e|0;z=c[A>>2]|0;do{if((z|0)==0){S=1}else{M=c[z+12>>2]|0;if((M|0)==(c[z+16>>2]|0)){T=Fc[c[(c[z>>2]|0)+36>>2]&255](z)|0}else{T=c[M>>2]|0}if((T|0)==-1){c[A>>2]=0;S=1;break}else{S=(c[A>>2]|0)==0;break}}}while(0);z=c[B>>2]|0;do{if((z|0)==0){U=47}else{M=c[z+12>>2]|0;if((M|0)==(c[z+16>>2]|0)){V=Fc[c[(c[z>>2]|0)+36>>2]&255](z)|0}else{V=c[M>>2]|0}if((V|0)==-1){c[B>>2]=0;U=47;break}else{if(S){break}else{U=49;break}}}}while(0);if((U|0)==47){if(S){U=49}}if((U|0)==49){c[j>>2]=c[j>>2]|2}c[b>>2]=c[A>>2];Ul(c[m>>2]|0)|0;B=c[u>>2]|0;c[u>>2]=0;if((B|0)==0){W=400;X=0;i=d;return}Dc[c[v>>2]&511](B);W=400;X=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function lr(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=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,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,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,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,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0;p=i;i=i+416|0;q=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[q>>2];q=p|0;r=p+8|0;s=p+408|0;t=i;i=i+4|0;i=i+7&-8;u=i;i=i+4|0;i=i+7&-8;v=i;i=i+12|0;i=i+7&-8;w=i;i=i+12|0;i=i+7&-8;x=i;i=i+12|0;i=i+7&-8;y=i;i=i+12|0;i=i+7&-8;z=i;i=i+12|0;i=i+7&-8;A=i;i=i+4|0;i=i+7&-8;B=i;i=i+4|0;i=i+7&-8;c[q>>2]=o;o=r|0;c[s>>2]=0;C=v;dv(C|0,0,12)|0;D=w;dv(D|0,0,12)|0;E=x;dv(E|0,0,12)|0;F=y;dv(F|0,0,12)|0;G=z;dv(G|0,0,12)|0;or(f,g,s,t,u,v,w,x,y,A);g=m|0;c[n>>2]=c[g>>2];f=b|0;b=e|0;e=s;s=l;H=y+4|0;I=y+8|0;J=x+4|0;K=x+8|0;L=(h&512|0)!=0;h=w+4|0;M=w+8|0;N=z+4|0;O=z+8|0;P=e+3|0;Q=v+4|0;R=194;S=o;T=o;o=r+400|0;r=0;U=0;a:while(1){V=c[f>>2]|0;do{if((V|0)==0){W=1}else{X=c[V+12>>2]|0;if((X|0)==(c[V+16>>2]|0)){Y=Fc[c[(c[V>>2]|0)+36>>2]&255](V)|0}else{Y=c[X>>2]|0}if((Y|0)==-1){c[f>>2]=0;W=1;break}else{W=(c[f>>2]|0)==0;break}}}while(0);V=c[b>>2]|0;do{if((V|0)==0){Z=16}else{X=c[V+12>>2]|0;if((X|0)==(c[V+16>>2]|0)){_=Fc[c[(c[V>>2]|0)+36>>2]&255](V)|0}else{_=c[X>>2]|0}if((_|0)==-1){c[b>>2]=0;Z=16;break}else{if(W){$=V;break}else{aa=R;ba=S;ca=T;da=U;Z=302;break a}}}}while(0);if((Z|0)==16){Z=0;if(W){aa=R;ba=S;ca=T;da=U;Z=302;break}else{$=0}}b:do{switch(a[e+r|0]|0){case 4:{V=0;X=o;ea=T;fa=S;ga=R;c:while(1){ha=c[f>>2]|0;do{if((ha|0)==0){ia=1}else{ja=c[ha+12>>2]|0;if((ja|0)==(c[ha+16>>2]|0)){ka=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{ka=c[ja>>2]|0}if((ka|0)==-1){c[f>>2]=0;ia=1;break}else{ia=(c[f>>2]|0)==0;break}}}while(0);ha=c[b>>2]|0;do{if((ha|0)==0){Z=207}else{ja=c[ha+12>>2]|0;if((ja|0)==(c[ha+16>>2]|0)){la=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{la=c[ja>>2]|0}if((la|0)==-1){c[b>>2]=0;Z=207;break}else{if(ia){break}else{break c}}}}while(0);if((Z|0)==207){Z=0;if(ia){break}}ha=c[f>>2]|0;ja=c[ha+12>>2]|0;if((ja|0)==(c[ha+16>>2]|0)){ma=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{ma=c[ja>>2]|0}if(Hc[c[(c[s>>2]|0)+12>>2]&63](l,2048,ma)|0){ja=c[n>>2]|0;if((ja|0)==(c[q>>2]|0)){pr(m,n,q);na=c[n>>2]|0}else{na=ja}c[n>>2]=na+4;c[na>>2]=ma;oa=V+1|0;pa=X;qa=ea;ra=fa;sa=ga}else{ja=a[C]|0;if((ja&1)==0){ta=(ja&255)>>>1}else{ta=c[Q>>2]|0}if((ta|0)==0|(V|0)==0){break}if((ma|0)!=(c[u>>2]|0)){break}if((ea|0)==(X|0)){ja=(ga|0)!=194;ha=ea-fa|0;ua=ha>>>0<2147483647>>>0?ha<<1:-1;if(ja){va=fa}else{va=0}ja=Iu(va,ua)|0;wa=ja;if((ja|0)==0){Uu()}xa=wa+(ua>>>2<<2)|0;ya=wa+(ha>>2<<2)|0;za=wa;Aa=88}else{xa=X;ya=ea;za=fa;Aa=ga}c[ya>>2]=V;oa=0;pa=xa;qa=ya+4|0;ra=za;sa=Aa}wa=c[f>>2]|0;ha=wa+12|0;ua=c[ha>>2]|0;if((ua|0)==(c[wa+16>>2]|0)){Fc[c[(c[wa>>2]|0)+40>>2]&255](wa)|0;V=oa;X=pa;ea=qa;fa=ra;ga=sa;continue}else{c[ha>>2]=ua+4;V=oa;X=pa;ea=qa;fa=ra;ga=sa;continue}}if((fa|0)==(ea|0)|(V|0)==0){Ba=X;Ca=ea;Da=fa;Ea=ga}else{if((ea|0)==(X|0)){ua=(ga|0)!=194;ha=ea-fa|0;wa=ha>>>0<2147483647>>>0?ha<<1:-1;if(ua){Fa=fa}else{Fa=0}ua=Iu(Fa,wa)|0;ja=ua;if((ua|0)==0){Uu()}Ga=ja+(wa>>>2<<2)|0;Ha=ja+(ha>>2<<2)|0;Ia=ja;Ja=88}else{Ga=X;Ha=ea;Ia=fa;Ja=ga}c[Ha>>2]=V;Ba=Ga;Ca=Ha+4|0;Da=Ia;Ea=Ja}ja=c[A>>2]|0;if((ja|0)>0){ha=c[f>>2]|0;do{if((ha|0)==0){Ka=1}else{wa=c[ha+12>>2]|0;if((wa|0)==(c[ha+16>>2]|0)){La=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{La=c[wa>>2]|0}if((La|0)==-1){c[f>>2]=0;Ka=1;break}else{Ka=(c[f>>2]|0)==0;break}}}while(0);ha=c[b>>2]|0;do{if((ha|0)==0){Z=259}else{V=c[ha+12>>2]|0;if((V|0)==(c[ha+16>>2]|0)){Ma=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{Ma=c[V>>2]|0}if((Ma|0)==-1){c[b>>2]=0;Z=259;break}else{if(Ka){Na=ha;break}else{Z=265;break a}}}}while(0);if((Z|0)==259){Z=0;if(Ka){Z=265;break a}else{Na=0}}ha=c[f>>2]|0;V=c[ha+12>>2]|0;if((V|0)==(c[ha+16>>2]|0)){Oa=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{Oa=c[V>>2]|0}if((Oa|0)!=(c[t>>2]|0)){Z=265;break a}V=c[f>>2]|0;ha=V+12|0;ga=c[ha>>2]|0;if((ga|0)==(c[V+16>>2]|0)){Fc[c[(c[V>>2]|0)+40>>2]&255](V)|0;Pa=Na;Qa=ja;Ra=Na}else{c[ha>>2]=ga+4;Pa=Na;Qa=ja;Ra=Na}while(1){ga=c[f>>2]|0;do{if((ga|0)==0){Sa=1}else{ha=c[ga+12>>2]|0;if((ha|0)==(c[ga+16>>2]|0)){Ta=Fc[c[(c[ga>>2]|0)+36>>2]&255](ga)|0}else{Ta=c[ha>>2]|0}if((Ta|0)==-1){c[f>>2]=0;Sa=1;break}else{Sa=(c[f>>2]|0)==0;break}}}while(0);do{if((Pa|0)==0){Ua=Ra;Z=282}else{ga=c[Pa+12>>2]|0;if((ga|0)==(c[Pa+16>>2]|0)){Va=Fc[c[(c[Pa>>2]|0)+36>>2]&255](Pa)|0}else{Va=c[ga>>2]|0}if((Va|0)==-1){c[b>>2]=0;Ua=0;Z=282;break}else{if(Sa^(Ra|0)==0){Wa=Ra;Xa=Ra;break}else{Z=289;break a}}}}while(0);if((Z|0)==282){Z=0;if(Sa){Z=289;break a}else{Wa=Ua;Xa=0}}ga=c[f>>2]|0;ha=c[ga+12>>2]|0;if((ha|0)==(c[ga+16>>2]|0)){Ya=Fc[c[(c[ga>>2]|0)+36>>2]&255](ga)|0}else{Ya=c[ha>>2]|0}if(!(Hc[c[(c[s>>2]|0)+12>>2]&63](l,2048,Ya)|0)){Z=289;break a}if((c[n>>2]|0)==(c[q>>2]|0)){pr(m,n,q)}ha=c[f>>2]|0;ga=c[ha+12>>2]|0;if((ga|0)==(c[ha+16>>2]|0)){Za=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{Za=c[ga>>2]|0}ga=c[n>>2]|0;c[n>>2]=ga+4;c[ga>>2]=Za;ga=Qa-1|0;c[A>>2]=ga;ha=c[f>>2]|0;V=ha+12|0;fa=c[V>>2]|0;if((fa|0)==(c[ha+16>>2]|0)){Fc[c[(c[ha>>2]|0)+40>>2]&255](ha)|0}else{c[V>>2]=fa+4}if((ga|0)>0){Pa=Xa;Qa=ga;Ra=Wa}else{break}}}if((c[n>>2]|0)==(c[g>>2]|0)){Z=300;break a}else{_a=U;$a=Ba;ab=Ca;bb=Da;cb=Ea}break};case 1:{if((r|0)==3){aa=R;ba=S;ca=T;da=U;Z=302;break a}ja=c[f>>2]|0;ga=c[ja+12>>2]|0;if((ga|0)==(c[ja+16>>2]|0)){db=Fc[c[(c[ja>>2]|0)+36>>2]&255](ja)|0}else{db=c[ga>>2]|0}if(!(Hc[c[(c[s>>2]|0)+12>>2]&63](l,8192,db)|0)){Z=41;break a}ga=c[f>>2]|0;ja=ga+12|0;fa=c[ja>>2]|0;if((fa|0)==(c[ga+16>>2]|0)){eb=Fc[c[(c[ga>>2]|0)+40>>2]&255](ga)|0}else{c[ja>>2]=fa+4;eb=c[fa>>2]|0}Gm(z,eb);Z=42;break};case 0:{Z=42;break};case 3:{fa=a[E]|0;ja=(fa&1)==0;if(ja){fb=(fa&255)>>>1}else{fb=c[J>>2]|0}ga=a[F]|0;V=(ga&1)==0;if(V){gb=(ga&255)>>>1}else{gb=c[H>>2]|0}if((fb|0)==(-gb|0)){_a=U;$a=o;ab=T;bb=S;cb=R;break b}if(ja){hb=(fa&255)>>>1}else{hb=c[J>>2]|0}do{if((hb|0)!=0){if(V){ib=(ga&255)>>>1}else{ib=c[H>>2]|0}if((ib|0)==0){break}ha=c[f>>2]|0;ea=c[ha+12>>2]|0;if((ea|0)==(c[ha+16>>2]|0)){X=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0;jb=X;kb=a[E]|0}else{jb=c[ea>>2]|0;kb=fa}ea=c[f>>2]|0;X=ea+12|0;ha=c[X>>2]|0;wa=(ha|0)==(c[ea+16>>2]|0);if((jb|0)==(c[((kb&1)==0?J:c[K>>2]|0)>>2]|0)){if(wa){Fc[c[(c[ea>>2]|0)+40>>2]&255](ea)|0}else{c[X>>2]=ha+4}X=a[E]|0;if((X&1)==0){lb=(X&255)>>>1}else{lb=c[J>>2]|0}_a=lb>>>0>1>>>0?x:U;$a=o;ab=T;bb=S;cb=R;break b}if(wa){mb=Fc[c[(c[ea>>2]|0)+36>>2]&255](ea)|0}else{mb=c[ha>>2]|0}if((mb|0)!=(c[((a[F]&1)==0?H:c[I>>2]|0)>>2]|0)){Z=134;break a}ha=c[f>>2]|0;ea=ha+12|0;wa=c[ea>>2]|0;if((wa|0)==(c[ha+16>>2]|0)){Fc[c[(c[ha>>2]|0)+40>>2]&255](ha)|0}else{c[ea>>2]=wa+4}a[k]=1;wa=a[F]|0;if((wa&1)==0){nb=(wa&255)>>>1}else{nb=c[H>>2]|0}_a=nb>>>0>1>>>0?y:U;$a=o;ab=T;bb=S;cb=R;break b}}while(0);if(ja){ob=(fa&255)>>>1}else{ob=c[J>>2]|0}V=c[f>>2]|0;wa=c[V+12>>2]|0;ea=(wa|0)==(c[V+16>>2]|0);if((ob|0)==0){if(ea){ha=Fc[c[(c[V>>2]|0)+36>>2]&255](V)|0;pb=ha;qb=a[F]|0}else{pb=c[wa>>2]|0;qb=ga}if((pb|0)!=(c[((qb&1)==0?H:c[I>>2]|0)>>2]|0)){_a=U;$a=o;ab=T;bb=S;cb=R;break b}ha=c[f>>2]|0;X=ha+12|0;ua=c[X>>2]|0;if((ua|0)==(c[ha+16>>2]|0)){Fc[c[(c[ha>>2]|0)+40>>2]&255](ha)|0}else{c[X>>2]=ua+4}a[k]=1;ua=a[F]|0;if((ua&1)==0){rb=(ua&255)>>>1}else{rb=c[H>>2]|0}_a=rb>>>0>1>>>0?y:U;$a=o;ab=T;bb=S;cb=R;break b}if(ea){ea=Fc[c[(c[V>>2]|0)+36>>2]&255](V)|0;sb=ea;tb=a[E]|0}else{sb=c[wa>>2]|0;tb=fa}if((sb|0)!=(c[((tb&1)==0?J:c[K>>2]|0)>>2]|0)){a[k]=1;_a=U;$a=o;ab=T;bb=S;cb=R;break b}wa=c[f>>2]|0;ea=wa+12|0;V=c[ea>>2]|0;if((V|0)==(c[wa+16>>2]|0)){Fc[c[(c[wa>>2]|0)+40>>2]&255](wa)|0}else{c[ea>>2]=V+4}V=a[E]|0;if((V&1)==0){ub=(V&255)>>>1}else{ub=c[J>>2]|0}_a=ub>>>0>1>>>0?x:U;$a=o;ab=T;bb=S;cb=R;break};case 2:{if(!((U|0)!=0|r>>>0<2>>>0)){if((r|0)==2){vb=(a[P]|0)!=0}else{vb=0}if(!(L|vb)){_a=0;$a=o;ab=T;bb=S;cb=R;break b}}V=a[D]|0;ea=(V&1)==0?h:c[M>>2]|0;d:do{if((r|0)==0){wb=ea;xb=V;yb=$;zb=$}else{if((d[e+(r-1)|0]|0)>>>0<2>>>0){Ab=ea;Bb=V}else{wb=ea;xb=V;yb=$;zb=$;break}while(1){if((Bb&1)==0){Cb=(Bb&255)>>>1;Db=h}else{Cb=c[h>>2]|0;Db=c[M>>2]|0}if((Ab|0)==(Db+(Cb<<2)|0)){Eb=Bb;break}if(!(Hc[c[(c[s>>2]|0)+12>>2]&63](l,8192,c[Ab>>2]|0)|0)){Z=148;break}Ab=Ab+4|0;Bb=a[D]|0}if((Z|0)==148){Z=0;Eb=a[D]|0}wa=(Eb&1)==0;ua=Ab-(wa?h:c[M>>2]|0)>>2;X=a[G]|0;ha=(X&1)==0;if(ha){Fb=(X&255)>>>1}else{Fb=c[N>>2]|0}e:do{if(!(ua>>>0>Fb>>>0)){if(ha){Gb=(X&255)>>>1;Hb=N;Ib=N+(((X&255)>>>1)-ua<<2)|0}else{Jb=c[O>>2]|0;Kb=c[N>>2]|0;Gb=Kb;Hb=Jb;Ib=Jb+(Kb-ua<<2)|0}Kb=Hb+(Gb<<2)|0;if((Ib|0)==(Kb|0)){wb=Ab;xb=Eb;yb=$;zb=$;break d}else{Lb=Ib;Mb=wa?h:c[M>>2]|0}while(1){if((c[Lb>>2]|0)!=(c[Mb>>2]|0)){break e}Jb=Lb+4|0;if((Jb|0)==(Kb|0)){wb=Ab;xb=Eb;yb=$;zb=$;break d}Lb=Jb;Mb=Mb+4|0}}}while(0);wb=wa?h:c[M>>2]|0;xb=Eb;yb=$;zb=$}}while(0);f:while(1){if((xb&1)==0){Nb=(xb&255)>>>1;Ob=h}else{Nb=c[h>>2]|0;Ob=c[M>>2]|0}if((wb|0)==(Ob+(Nb<<2)|0)){break}V=c[f>>2]|0;do{if((V|0)==0){Pb=1}else{ea=c[V+12>>2]|0;if((ea|0)==(c[V+16>>2]|0)){Qb=Fc[c[(c[V>>2]|0)+36>>2]&255](V)|0}else{Qb=c[ea>>2]|0}if((Qb|0)==-1){c[f>>2]=0;Pb=1;break}else{Pb=(c[f>>2]|0)==0;break}}}while(0);do{if((yb|0)==0){Rb=zb;Z=178}else{V=c[yb+12>>2]|0;if((V|0)==(c[yb+16>>2]|0)){Sb=Fc[c[(c[yb>>2]|0)+36>>2]&255](yb)|0}else{Sb=c[V>>2]|0}if((Sb|0)==-1){c[b>>2]=0;Rb=0;Z=178;break}else{if(Pb^(zb|0)==0){Tb=zb;Ub=zb;break}else{break f}}}}while(0);if((Z|0)==178){Z=0;if(Pb){break}else{Tb=0;Ub=Rb}}V=c[f>>2]|0;wa=c[V+12>>2]|0;if((wa|0)==(c[V+16>>2]|0)){Vb=Fc[c[(c[V>>2]|0)+36>>2]&255](V)|0}else{Vb=c[wa>>2]|0}if((Vb|0)!=(c[wb>>2]|0)){break}wa=c[f>>2]|0;V=wa+12|0;ea=c[V>>2]|0;if((ea|0)==(c[wa+16>>2]|0)){Fc[c[(c[wa>>2]|0)+40>>2]&255](wa)|0}else{c[V>>2]=ea+4}wb=wb+4|0;xb=a[D]|0;yb=Tb;zb=Ub}if(!L){_a=U;$a=o;ab=T;bb=S;cb=R;break b}ea=a[D]|0;if((ea&1)==0){Wb=(ea&255)>>>1;Xb=h}else{Wb=c[h>>2]|0;Xb=c[M>>2]|0}if((wb|0)==(Xb+(Wb<<2)|0)){_a=U;$a=o;ab=T;bb=S;cb=R}else{Z=193;break a}break};default:{_a=U;$a=o;ab=T;bb=S;cb=R}}}while(0);g:do{if((Z|0)==42){Z=0;if((r|0)==3){aa=R;ba=S;ca=T;da=U;Z=302;break a}else{Yb=$;Zb=$}while(1){ea=c[f>>2]|0;do{if((ea|0)==0){_b=1}else{V=c[ea+12>>2]|0;if((V|0)==(c[ea+16>>2]|0)){$b=Fc[c[(c[ea>>2]|0)+36>>2]&255](ea)|0}else{$b=c[V>>2]|0}if(($b|0)==-1){c[f>>2]=0;_b=1;break}else{_b=(c[f>>2]|0)==0;break}}}while(0);do{if((Yb|0)==0){ac=Zb;Z=56}else{ea=c[Yb+12>>2]|0;if((ea|0)==(c[Yb+16>>2]|0)){bc=Fc[c[(c[Yb>>2]|0)+36>>2]&255](Yb)|0}else{bc=c[ea>>2]|0}if((bc|0)==-1){c[b>>2]=0;ac=0;Z=56;break}else{if(_b^(Zb|0)==0){cc=Zb;dc=Zb;break}else{_a=U;$a=o;ab=T;bb=S;cb=R;break g}}}}while(0);if((Z|0)==56){Z=0;if(_b){_a=U;$a=o;ab=T;bb=S;cb=R;break g}else{cc=0;dc=ac}}ea=c[f>>2]|0;V=c[ea+12>>2]|0;if((V|0)==(c[ea+16>>2]|0)){ec=Fc[c[(c[ea>>2]|0)+36>>2]&255](ea)|0}else{ec=c[V>>2]|0}if(!(Hc[c[(c[s>>2]|0)+12>>2]&63](l,8192,ec)|0)){_a=U;$a=o;ab=T;bb=S;cb=R;break g}V=c[f>>2]|0;ea=V+12|0;wa=c[ea>>2]|0;if((wa|0)==(c[V+16>>2]|0)){fc=Fc[c[(c[V>>2]|0)+40>>2]&255](V)|0}else{c[ea>>2]=wa+4;fc=c[wa>>2]|0}Gm(z,fc);Yb=cc;Zb=dc}}}while(0);wa=r+1|0;if(wa>>>0<4>>>0){R=cb;S=bb;T=ab;o=$a;r=wa;U=_a}else{aa=cb;ba=bb;ca=ab;da=_a;Z=302;break}}h:do{if((Z|0)==41){c[j>>2]=c[j>>2]|4;gc=0;hc=S;ic=R}else if((Z|0)==134){c[j>>2]=c[j>>2]|4;gc=0;hc=S;ic=R}else if((Z|0)==193){c[j>>2]=c[j>>2]|4;gc=0;hc=S;ic=R}else if((Z|0)==265){c[j>>2]=c[j>>2]|4;gc=0;hc=Da;ic=Ea}else if((Z|0)==289){c[j>>2]=c[j>>2]|4;gc=0;hc=Da;ic=Ea}else if((Z|0)==300){c[j>>2]=c[j>>2]|4;gc=0;hc=Da;ic=Ea}else if((Z|0)==302){i:do{if((da|0)!=0){_a=da;ab=da+4|0;bb=da+8|0;cb=1;j:while(1){U=a[_a]|0;if((U&1)==0){jc=(U&255)>>>1}else{jc=c[ab>>2]|0}if(!(cb>>>0<jc>>>0)){break i}U=c[f>>2]|0;do{if((U|0)==0){kc=1}else{r=c[U+12>>2]|0;if((r|0)==(c[U+16>>2]|0)){lc=Fc[c[(c[U>>2]|0)+36>>2]&255](U)|0}else{lc=c[r>>2]|0}if((lc|0)==-1){c[f>>2]=0;kc=1;break}else{kc=(c[f>>2]|0)==0;break}}}while(0);U=c[b>>2]|0;do{if((U|0)==0){Z=321}else{r=c[U+12>>2]|0;if((r|0)==(c[U+16>>2]|0)){mc=Fc[c[(c[U>>2]|0)+36>>2]&255](U)|0}else{mc=c[r>>2]|0}if((mc|0)==-1){c[b>>2]=0;Z=321;break}else{if(kc){break}else{break j}}}}while(0);if((Z|0)==321){Z=0;if(kc){break}}U=c[f>>2]|0;r=c[U+12>>2]|0;if((r|0)==(c[U+16>>2]|0)){nc=Fc[c[(c[U>>2]|0)+36>>2]&255](U)|0}else{nc=c[r>>2]|0}if((a[_a]&1)==0){oc=ab}else{oc=c[bb>>2]|0}if((nc|0)!=(c[oc+(cb<<2)>>2]|0)){break}r=cb+1|0;U=c[f>>2]|0;$a=U+12|0;o=c[$a>>2]|0;if((o|0)==(c[U+16>>2]|0)){Fc[c[(c[U>>2]|0)+40>>2]&255](U)|0;cb=r;continue}else{c[$a>>2]=o+4;cb=r;continue}}c[j>>2]=c[j>>2]|4;gc=0;hc=ba;ic=aa;break h}}while(0);if((ba|0)==(ca|0)){gc=1;hc=ca;ic=aa;break}c[B>>2]=0;hr(v,ba,ca,B);if((c[B>>2]|0)==0){gc=1;hc=ba;ic=aa;break}c[j>>2]=c[j>>2]|4;gc=0;hc=ba;ic=aa}}while(0);Cm(z);Cm(y);Cm(x);Cm(w);rm(v);if((hc|0)==0){pc=400;qc=0;i=p;return gc|0}Dc[ic&511](hc);pc=400;qc=0;i=p;return gc|0}function mr(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=i;i=i+456|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d|0;m=d+16|0;n=d+416|0;o=d+424|0;p=d+432|0;q=d+440|0;r=d+448|0;s=n|0;c[s>>2]=m;t=n+4|0;c[t>>2]=194;u=m+400|0;Lm(p,h);m=p|0;v=c[m>>2]|0;if(!((c[8714]|0)==-1)){c[l>>2]=34856;c[l+4>>2]=16;c[l+8>>2]=0;mm(34856,l,114)}l=(c[8715]|0)-1|0;w=c[v+8>>2]|0;do{if((c[v+12>>2]|0)-w>>2>>>0>l>>>0){x=c[w+(l<<2)>>2]|0;if((x|0)==0){break}y=x;a[q]=0;z=f|0;A=c[z>>2]|0;c[r>>2]=A;if(lr(e,r,g,p,c[h+4>>2]|0,j,q,y,n,o,u)|0){B=k;if((a[B]&1)==0){c[k+4>>2]=0;a[B]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}B=x;if((a[q]|0)!=0){Gm(k,Qc[c[(c[B>>2]|0)+44>>2]&63](y,45)|0)}x=Qc[c[(c[B>>2]|0)+44>>2]&63](y,48)|0;y=c[s>>2]|0;B=c[o>>2]|0;C=B-4|0;a:do{if(y>>>0<C>>>0){D=y;while(1){E=D+4|0;if((c[D>>2]|0)!=(x|0)){F=D;break a}if(E>>>0<C>>>0){D=E}else{F=E;break}}}else{F=y}}while(0);nr(k,F,B)|0}y=e|0;C=c[y>>2]|0;do{if((C|0)==0){G=1}else{x=c[C+12>>2]|0;if((x|0)==(c[C+16>>2]|0)){H=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{H=c[x>>2]|0}if((H|0)==-1){c[y>>2]=0;G=1;break}else{G=(c[y>>2]|0)==0;break}}}while(0);do{if((A|0)==0){I=35}else{C=c[A+12>>2]|0;if((C|0)==(c[A+16>>2]|0)){J=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{J=c[C>>2]|0}if((J|0)==-1){c[z>>2]=0;I=35;break}else{if(G){break}else{I=37;break}}}}while(0);if((I|0)==35){if(G){I=37}}if((I|0)==37){c[j>>2]=c[j>>2]|2}c[b>>2]=c[y>>2];Ul(c[m>>2]|0)|0;z=c[s>>2]|0;c[s>>2]=0;if((z|0)==0){K=400;L=0;i=d;return}Dc[c[t>>2]&511](z);K=400;L=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function nr(b,d,e){b=b|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;f=b;g=d;h=a[f]|0;if((h&1)==0){i=1;j=h;k=(h&255)>>>1}else{h=c[b>>2]|0;i=(h&-2)-1|0;j=h&255;k=c[b+4>>2]|0}h=e-g>>2;if((h|0)==0){return b|0}if((i-k|0)>>>0<h>>>0){Im(b,i,k+h-i|0,k,k,0,0);l=a[f]|0}else{l=j}if((l&1)==0){m=b+4|0}else{m=c[b+8>>2]|0}l=m+(k<<2)|0;if((d|0)==(e|0)){n=l}else{j=k+((e-4+(-g|0)|0)>>>2)+1|0;g=d;d=l;while(1){c[d>>2]=c[g>>2];l=g+4|0;if((l|0)==(e|0)){break}else{g=l;d=d+4|0}}n=m+(j<<2)|0}c[n>>2]=0;n=k+h|0;if((a[f]&1)==0){a[f]=n<<1;return b|0}else{c[b+4>>2]=n;return b|0}return 0}function or(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0;n=i;i=i+176|0;o=n|0;p=n+16|0;q=n+32|0;r=n+40|0;s=n+56|0;t=n+72|0;u=n+88|0;v=n+104|0;w=n+112|0;x=n+128|0;y=n+144|0;z=n+160|0;if(b){b=c[d>>2]|0;if(!((c[8830]|0)==-1)){c[p>>2]=35320;c[p+4>>2]=16;c[p+8>>2]=0;mm(35320,p,114)}p=(c[8831]|0)-1|0;A=c[b+8>>2]|0;if(!((c[b+12>>2]|0)-A>>2>>>0>p>>>0)){B=pc(4)|0;D=B;lu(D);Fb(B|0,25544,156)}b=c[A+(p<<2)>>2]|0;if((b|0)==0){B=pc(4)|0;D=B;lu(D);Fb(B|0,25544,156)}B=b;Ec[c[(c[b>>2]|0)+44>>2]&127](q,B);D=e;C=c[q>>2]|0;a[D]=C;C=C>>8;a[D+1|0]=C;C=C>>8;a[D+2|0]=C;C=C>>8;a[D+3|0]=C;D=b;Ec[c[(c[D>>2]|0)+32>>2]&127](r,B);q=l;if((a[q]&1)==0){c[l+4>>2]=0;a[q]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);p=r;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];dv(p|0,0,12)|0;Cm(r);Ec[c[(c[D>>2]|0)+28>>2]&127](s,B);r=k;if((a[r]&1)==0){c[k+4>>2]=0;a[r]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);p=s;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];dv(p|0,0,12)|0;Cm(s);s=b;p=Fc[c[(c[s>>2]|0)+12>>2]&255](B)|0;c[f>>2]=p;p=Fc[c[(c[s>>2]|0)+16>>2]&255](B)|0;c[g>>2]=p;Ec[c[(c[b>>2]|0)+20>>2]&127](t,B);b=h;if((a[b]&1)==0){a[h+1|0]=0;a[b]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);p=t;c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];dv(p|0,0,12)|0;rm(t);Ec[c[(c[D>>2]|0)+24>>2]&127](u,B);D=j;if((a[D]&1)==0){c[j+4>>2]=0;a[D]=0}else{c[c[j+8>>2]>>2]=0;c[j+4>>2]=0}Fm(j,0);t=u;c[D>>2]=c[t>>2];c[D+4>>2]=c[t+4>>2];c[D+8>>2]=c[t+8>>2];dv(t|0,0,12)|0;Cm(u);E=Fc[c[(c[s>>2]|0)+36>>2]&255](B)|0;c[m>>2]=E;i=n;return}else{B=c[d>>2]|0;if(!((c[8832]|0)==-1)){c[o>>2]=35328;c[o+4>>2]=16;c[o+8>>2]=0;mm(35328,o,114)}o=(c[8833]|0)-1|0;d=c[B+8>>2]|0;if(!((c[B+12>>2]|0)-d>>2>>>0>o>>>0)){F=pc(4)|0;G=F;lu(G);Fb(F|0,25544,156)}B=c[d+(o<<2)>>2]|0;if((B|0)==0){F=pc(4)|0;G=F;lu(G);Fb(F|0,25544,156)}F=B;Ec[c[(c[B>>2]|0)+44>>2]&127](v,F);G=e;C=c[v>>2]|0;a[G]=C;C=C>>8;a[G+1|0]=C;C=C>>8;a[G+2|0]=C;C=C>>8;a[G+3|0]=C;G=B;Ec[c[(c[G>>2]|0)+32>>2]&127](w,F);v=l;if((a[v]&1)==0){c[l+4>>2]=0;a[v]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);l=w;c[v>>2]=c[l>>2];c[v+4>>2]=c[l+4>>2];c[v+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;Cm(w);Ec[c[(c[G>>2]|0)+28>>2]&127](x,F);w=k;if((a[w]&1)==0){c[k+4>>2]=0;a[w]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);k=x;c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];c[w+8>>2]=c[k+8>>2];dv(k|0,0,12)|0;Cm(x);x=B;k=Fc[c[(c[x>>2]|0)+12>>2]&255](F)|0;c[f>>2]=k;k=Fc[c[(c[x>>2]|0)+16>>2]&255](F)|0;c[g>>2]=k;Ec[c[(c[B>>2]|0)+20>>2]&127](y,F);B=h;if((a[B]&1)==0){a[h+1|0]=0;a[B]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);h=y;c[B>>2]=c[h>>2];c[B+4>>2]=c[h+4>>2];c[B+8>>2]=c[h+8>>2];dv(h|0,0,12)|0;rm(y);Ec[c[(c[G>>2]|0)+24>>2]&127](z,F);G=j;if((a[G]&1)==0){c[j+4>>2]=0;a[G]=0}else{c[c[j+8>>2]>>2]=0;c[j+4>>2]=0}Fm(j,0);j=z;c[G>>2]=c[j>>2];c[G+4>>2]=c[j+4>>2];c[G+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;Cm(z);E=Fc[c[(c[x>>2]|0)+36>>2]&255](F)|0;c[m>>2]=E;i=n;return}}function pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;f=(c[e>>2]|0)!=194;g=a|0;a=c[g>>2]|0;h=a;i=(c[d>>2]|0)-h|0;j=i>>>0<2147483647>>>0?i<<1:-1;i=(c[b>>2]|0)-h>>2;if(f){k=a}else{k=0}a=Iu(k,j)|0;k=a;if((a|0)==0){Uu()}do{if(f){c[g>>2]=k;l=k}else{a=c[g>>2]|0;c[g>>2]=k;if((a|0)==0){l=k;break}Dc[c[e>>2]&511](a);l=c[g>>2]|0}}while(0);c[e>>2]=88;c[b>>2]=l+(i<<2);c[d>>2]=(c[g>>2]|0)+(j>>>2<<2);return}function qr(a){a=a|0;Sl(a|0);Pu(a);return}function rr(a){a=a|0;Sl(a|0);return}function sr(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=+k;var 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,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;d=i;i=i+248|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=d|0;m=d+120|0;n=d+232|0;o=d+240|0;p=o;q=i;i=i+1|0;i=i+7&-8;r=i;i=i+1|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;t=i;i=i+12|0;i=i+7&-8;u=i;i=i+12|0;i=i+7&-8;v=i;i=i+4|0;i=i+7&-8;w=i;i=i+100|0;i=i+7&-8;x=i;i=i+4|0;i=i+7&-8;y=i;i=i+4|0;i=i+7&-8;z=i;i=i+4|0;i=i+7&-8;A=d+16|0;c[m>>2]=A;B=d+128|0;C=db(A|0,100,15056,(A=i,i=i+8|0,h[A>>3]=k,A)|0)|0;i=A;do{if(C>>>0>99>>>0){do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}D=Xa(2147483647,14472,0)|0;c[8330]=D}}while(0);D=kp(m,c[8330]|0,15056,(A=i,i=i+8|0,h[A>>3]=k,A)|0)|0;i=A;E=c[m>>2]|0;if((E|0)==0){Uu();F=c[m>>2]|0}else{F=E}E=Gu(D)|0;if((E|0)!=0){G=E;H=D;I=E;J=F;break}Uu();G=0;H=D;I=0;J=F}else{G=B;H=C;I=0;J=0}}while(0);Lm(n,g);C=n|0;B=c[C>>2]|0;if(!((c[8716]|0)==-1)){c[l>>2]=34864;c[l+4>>2]=16;c[l+8>>2]=0;mm(34864,l,114)}l=(c[8717]|0)-1|0;F=c[B+8>>2]|0;do{if((c[B+12>>2]|0)-F>>2>>>0>l>>>0){A=c[F+(l<<2)>>2]|0;if((A|0)==0){break}D=A;E=c[m>>2]|0;Sc[c[(c[A>>2]|0)+32>>2]&15](D,E,E+H|0,G)|0;if((H|0)==0){K=0}else{K=(a[c[m>>2]|0]|0)==45}c[o>>2]=0;dv(s|0,0,12)|0;E=t;dv(E|0,0,12)|0;A=u;dv(A|0,0,12)|0;tr(f,K,n,p,q,r,s,t,u,v);L=w|0;M=c[v>>2]|0;if((H|0)>(M|0)){N=a[A]|0;if((N&1)==0){O=(N&255)>>>1}else{O=c[u+4>>2]|0}N=a[E]|0;if((N&1)==0){P=(N&255)>>>1}else{P=c[t+4>>2]|0}Q=O+(H-M<<1|1)+P|0}else{N=a[A]|0;if((N&1)==0){R=(N&255)>>>1}else{R=c[u+4>>2]|0}N=a[E]|0;if((N&1)==0){S=(N&255)>>>1}else{S=c[t+4>>2]|0}Q=R+2+S|0}N=Q+M|0;do{if(N>>>0>100>>>0){E=Gu(N)|0;if((E|0)!=0){T=E;U=E;break}Uu();T=0;U=0}else{T=L;U=0}}while(0);ur(T,x,y,c[g+4>>2]|0,G,G+H|0,D,K,p,a[q]|0,a[r]|0,s,t,u,M);c[z>>2]=c[e>>2];Bd(b,z,T,c[x>>2]|0,c[y>>2]|0,g,j);if((U|0)!=0){Hu(U)}rm(u);rm(t);rm(s);Ul(c[C>>2]|0)|0;if((I|0)!=0){Hu(I)}if((J|0)==0){V=100;W=0;X=100;Y=0;i=d;return}Hu(J);V=100;W=0;X=100;Y=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;n=i;i=i+40|0;o=n|0;p=n+16|0;q=n+32|0;r=q;s=i;i=i+12|0;i=i+7&-8;t=i;i=i+4|0;i=i+7&-8;u=t;v=i;i=i+12|0;i=i+7&-8;w=i;i=i+12|0;i=i+7&-8;x=i;i=i+12|0;i=i+7&-8;y=i;i=i+4|0;i=i+7&-8;z=y;A=i;i=i+12|0;i=i+7&-8;B=i;i=i+4|0;i=i+7&-8;D=B;E=i;i=i+12|0;i=i+7&-8;F=i;i=i+12|0;i=i+7&-8;G=i;i=i+12|0;i=i+7&-8;H=c[e>>2]|0;if(b){if(!((c[8834]|0)==-1)){c[p>>2]=35336;c[p+4>>2]=16;c[p+8>>2]=0;mm(35336,p,114)}p=(c[8835]|0)-1|0;b=c[H+8>>2]|0;if(!((c[H+12>>2]|0)-b>>2>>>0>p>>>0)){I=pc(4)|0;J=I;lu(J);Fb(I|0,25544,156)}e=c[b+(p<<2)>>2]|0;if((e|0)==0){I=pc(4)|0;J=I;lu(J);Fb(I|0,25544,156)}I=e;J=c[e>>2]|0;if(d){Ec[c[J+44>>2]&127](r,I);r=f;C=c[q>>2]|0;a[r]=C;C=C>>8;a[r+1|0]=C;C=C>>8;a[r+2|0]=C;C=C>>8;a[r+3|0]=C;Ec[c[(c[e>>2]|0)+32>>2]&127](s,I);r=l;if((a[r]&1)==0){a[l+1|0]=0;a[r]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);q=s;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];dv(q|0,0,12)|0;rm(s)}else{Ec[c[J+40>>2]&127](u,I);u=f;C=c[t>>2]|0;a[u]=C;C=C>>8;a[u+1|0]=C;C=C>>8;a[u+2|0]=C;C=C>>8;a[u+3|0]=C;Ec[c[(c[e>>2]|0)+28>>2]&127](v,I);u=l;if((a[u]&1)==0){a[l+1|0]=0;a[u]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);t=v;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];dv(t|0,0,12)|0;rm(v)}v=e;t=Fc[c[(c[v>>2]|0)+12>>2]&255](I)|0;a[g]=t;t=Fc[c[(c[v>>2]|0)+16>>2]&255](I)|0;a[h]=t;t=e;Ec[c[(c[t>>2]|0)+20>>2]&127](w,I);v=j;if((a[v]&1)==0){a[j+1|0]=0;a[v]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);u=w;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];dv(u|0,0,12)|0;rm(w);Ec[c[(c[t>>2]|0)+24>>2]&127](x,I);t=k;if((a[t]&1)==0){a[k+1|0]=0;a[t]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);w=x;c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];dv(w|0,0,12)|0;rm(x);K=Fc[c[(c[e>>2]|0)+36>>2]&255](I)|0;c[m>>2]=K;i=n;return}else{if(!((c[8836]|0)==-1)){c[o>>2]=35344;c[o+4>>2]=16;c[o+8>>2]=0;mm(35344,o,114)}o=(c[8837]|0)-1|0;I=c[H+8>>2]|0;if(!((c[H+12>>2]|0)-I>>2>>>0>o>>>0)){L=pc(4)|0;M=L;lu(M);Fb(L|0,25544,156)}H=c[I+(o<<2)>>2]|0;if((H|0)==0){L=pc(4)|0;M=L;lu(M);Fb(L|0,25544,156)}L=H;M=c[H>>2]|0;if(d){Ec[c[M+44>>2]&127](z,L);z=f;C=c[y>>2]|0;a[z]=C;C=C>>8;a[z+1|0]=C;C=C>>8;a[z+2|0]=C;C=C>>8;a[z+3|0]=C;Ec[c[(c[H>>2]|0)+32>>2]&127](A,L);z=l;if((a[z]&1)==0){a[l+1|0]=0;a[z]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);y=A;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];dv(y|0,0,12)|0;rm(A)}else{Ec[c[M+40>>2]&127](D,L);D=f;C=c[B>>2]|0;a[D]=C;C=C>>8;a[D+1|0]=C;C=C>>8;a[D+2|0]=C;C=C>>8;a[D+3|0]=C;Ec[c[(c[H>>2]|0)+28>>2]&127](E,L);D=l;if((a[D]&1)==0){a[l+1|0]=0;a[D]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);l=E;c[D>>2]=c[l>>2];c[D+4>>2]=c[l+4>>2];c[D+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;rm(E)}E=H;l=Fc[c[(c[E>>2]|0)+12>>2]&255](L)|0;a[g]=l;l=Fc[c[(c[E>>2]|0)+16>>2]&255](L)|0;a[h]=l;l=H;Ec[c[(c[l>>2]|0)+20>>2]&127](F,L);h=j;if((a[h]&1)==0){a[j+1|0]=0;a[h]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);j=F;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;rm(F);Ec[c[(c[l>>2]|0)+24>>2]&127](G,L);l=k;if((a[l]&1)==0){a[k+1|0]=0;a[l]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);k=G;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];dv(k|0,0,12)|0;rm(G);K=Fc[c[(c[H>>2]|0)+36>>2]&255](L)|0;c[m>>2]=K;i=n;return}}function ur(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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,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,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;c[f>>2]=d;s=j;t=q;u=q+1|0;v=q+8|0;w=q+4|0;q=p;x=(g&512|0)==0;y=p+1|0;z=p+8|0;A=p+4|0;p=(r|0)>0;B=o;C=o+1|0;D=o+8|0;E=o+4|0;o=j+8|0;F=-r|0;G=0;H=h;while(1){a:do{switch(a[l+G|0]|0){case 0:{c[e>>2]=c[f>>2];I=H;break};case 1:{c[e>>2]=c[f>>2];h=Qc[c[(c[s>>2]|0)+28>>2]&63](j,32)|0;J=c[f>>2]|0;c[f>>2]=J+1;a[J]=h;I=H;break};case 3:{h=a[t]|0;J=(h&1)==0;if(J){K=(h&255)>>>1}else{K=c[w>>2]|0}if((K|0)==0){I=H;break a}if(J){L=u}else{L=c[v>>2]|0}J=a[L]|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h]=J;I=H;break};case 2:{J=a[q]|0;h=(J&1)==0;if(h){M=(J&255)>>>1}else{M=c[A>>2]|0}if((M|0)==0|x){I=H;break a}if(h){N=(J&255)>>>1;O=y;P=y}else{J=c[z>>2]|0;N=c[A>>2]|0;O=J;P=J}J=O+N|0;h=c[f>>2]|0;if((P|0)==(J|0)){Q=h}else{R=h;h=P;while(1){a[R]=a[h]|0;S=h+1|0;T=R+1|0;if((S|0)==(J|0)){Q=T;break}else{R=T;h=S}}}c[f>>2]=Q;I=H;break};case 4:{h=c[f>>2]|0;R=k?H+1|0:H;b:do{if(R>>>0<i>>>0){J=R;while(1){S=a[J]|0;if(!(S<<24>>24>-1)){U=J;break b}T=J+1|0;if((b[(c[o>>2]|0)+(S<<24>>24<<1)>>1]&2048)==0){U=J;break b}if(T>>>0<i>>>0){J=T}else{U=T;break}}}else{U=R}}while(0);J=U;if(p){if(U>>>0>R>>>0){T=R+(-J|0)|0;J=T>>>0<F>>>0?F:T;T=J+r|0;S=U;V=r;W=h;while(1){X=S-1|0;Y=a[X]|0;c[f>>2]=W+1;a[W]=Y;Y=V-1|0;Z=(Y|0)>0;if(!(X>>>0>R>>>0&Z)){break}S=X;V=Y;W=c[f>>2]|0}W=U+J|0;if(Z){_=T;$=W;aa=32}else{ba=0;ca=T;da=W}}else{_=r;$=U;aa=32}if((aa|0)==32){aa=0;ba=Qc[c[(c[s>>2]|0)+28>>2]&63](j,48)|0;ca=_;da=$}W=c[f>>2]|0;c[f>>2]=W+1;if((ca|0)>0){V=ca;S=W;while(1){a[S]=ba;Y=V-1|0;X=c[f>>2]|0;c[f>>2]=X+1;if((Y|0)>0){V=Y;S=X}else{ea=X;break}}}else{ea=W}a[ea]=m;fa=da}else{fa=U}if((fa|0)==(R|0)){S=Qc[c[(c[s>>2]|0)+28>>2]&63](j,48)|0;V=c[f>>2]|0;c[f>>2]=V+1;a[V]=S}else{S=a[B]|0;V=(S&1)==0;if(V){ga=(S&255)>>>1}else{ga=c[E>>2]|0}if((ga|0)==0){ha=fa;ia=0;ja=0;ka=-1}else{if(V){la=C}else{la=c[D>>2]|0}ha=fa;ia=0;ja=0;ka=a[la]|0}while(1){do{if((ia|0)==(ka|0)){V=c[f>>2]|0;c[f>>2]=V+1;a[V]=n;V=ja+1|0;S=a[B]|0;T=(S&1)==0;if(T){ma=(S&255)>>>1}else{ma=c[E>>2]|0}if(!(V>>>0<ma>>>0)){na=ka;oa=V;pa=0;break}if(T){qa=C}else{qa=c[D>>2]|0}if((a[qa+V|0]|0)==127){na=-1;oa=V;pa=0;break}if(T){ra=C}else{ra=c[D>>2]|0}na=a[ra+V|0]|0;oa=V;pa=0}else{na=ka;oa=ja;pa=ia}}while(0);V=ha-1|0;T=a[V]|0;S=c[f>>2]|0;c[f>>2]=S+1;a[S]=T;if((V|0)==(R|0)){break}else{ha=V;ia=pa+1|0;ja=oa;ka=na}}}W=c[f>>2]|0;if((h|0)==(W|0)){I=R;break a}V=W-1|0;if(V>>>0>h>>>0){sa=h;ta=V}else{I=R;break a}while(1){V=a[sa]|0;a[sa]=a[ta]|0;a[ta]=V;V=sa+1|0;W=ta-1|0;if(V>>>0<W>>>0){sa=V;ta=W}else{I=R;break}}break};default:{I=H}}}while(0);R=G+1|0;if(R>>>0<4>>>0){G=R;H=I}else{break}}I=a[t]|0;t=(I&1)==0;if(t){ua=(I&255)>>>1}else{ua=c[w>>2]|0}if(ua>>>0>1>>>0){if(t){va=(I&255)>>>1;wa=u;xa=u}else{u=c[v>>2]|0;va=c[w>>2]|0;wa=u;xa=u}u=xa+1|0;xa=wa+va|0;va=c[f>>2]|0;if((u|0)==(xa|0)){ya=va}else{wa=va;va=u;while(1){a[wa]=a[va]|0;u=va+1|0;w=wa+1|0;if((u|0)==(xa|0)){ya=w;break}else{wa=w;va=u}}}c[f>>2]=ya}ya=g&176;if((ya|0)==32){c[e>>2]=c[f>>2];return}else if((ya|0)==16){return}else{c[e>>2]=d;return}}function vr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+32|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+16|0;m=d+24|0;n=m;o=i;i=i+1|0;i=i+7&-8;p=i;i=i+1|0;i=i+7&-8;q=i;i=i+12|0;i=i+7&-8;r=i;i=i+12|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;t=i;i=i+4|0;i=i+7&-8;u=i;i=i+100|0;i=i+7&-8;v=i;i=i+4|0;i=i+7&-8;w=i;i=i+4|0;i=i+7&-8;x=i;i=i+4|0;i=i+7&-8;Lm(l,g);y=l|0;z=c[y>>2]|0;if(!((c[8716]|0)==-1)){c[k>>2]=34864;c[k+4>>2]=16;c[k+8>>2]=0;mm(34864,k,114)}k=(c[8717]|0)-1|0;A=c[z+8>>2]|0;do{if((c[z+12>>2]|0)-A>>2>>>0>k>>>0){B=c[A+(k<<2)>>2]|0;if((B|0)==0){break}C=B;D=j;E=a[D]|0;F=(E&1)==0;if(F){G=(E&255)>>>1}else{G=c[j+4>>2]|0}if((G|0)==0){H=0}else{if(F){I=j+1|0}else{I=c[j+8>>2]|0}F=a[I]|0;H=F<<24>>24==(Qc[c[(c[B>>2]|0)+28>>2]&63](C,45)|0)<<24>>24}c[m>>2]=0;dv(q|0,0,12)|0;B=r;dv(B|0,0,12)|0;F=s;dv(F|0,0,12)|0;tr(f,H,l,n,o,p,q,r,s,t);E=u|0;J=a[D]|0;K=(J&1)==0;if(K){L=(J&255)>>>1}else{L=c[j+4>>2]|0}M=c[t>>2]|0;if((L|0)>(M|0)){if(K){N=(J&255)>>>1}else{N=c[j+4>>2]|0}K=a[F]|0;if((K&1)==0){O=(K&255)>>>1}else{O=c[s+4>>2]|0}K=a[B]|0;if((K&1)==0){P=(K&255)>>>1}else{P=c[r+4>>2]|0}Q=O+(N-M<<1|1)+P|0}else{K=a[F]|0;if((K&1)==0){R=(K&255)>>>1}else{R=c[s+4>>2]|0}K=a[B]|0;if((K&1)==0){S=(K&255)>>>1}else{S=c[r+4>>2]|0}Q=R+2+S|0}K=Q+M|0;do{if(K>>>0>100>>>0){B=Gu(K)|0;if((B|0)!=0){T=B;U=B;V=J;break}Uu();T=0;U=0;V=a[D]|0}else{T=E;U=0;V=J}}while(0);if((V&1)==0){W=(V&255)>>>1;X=j+1|0}else{W=c[j+4>>2]|0;X=c[j+8>>2]|0}ur(T,v,w,c[g+4>>2]|0,X,X+W|0,C,H,n,a[o]|0,a[p]|0,q,r,s,M);c[x>>2]=c[e>>2];Bd(b,x,T,c[v>>2]|0,c[w>>2]|0,g,h);if((U|0)==0){Y=100;Z=0;rm(s);rm(r);rm(q);_=c[y>>2]|0;$=_|0;aa=Ul($)|0;i=d;return}Hu(U);Y=100;Z=0;rm(s);rm(r);rm(q);_=c[y>>2]|0;$=_|0;aa=Ul($)|0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function wr(a){a=a|0;Sl(a|0);Pu(a);return}function xr(a){a=a|0;Sl(a|0);return}function yr(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=+k;var 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,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;d=i;i=i+544|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=d|0;m=d+120|0;n=d+528|0;o=d+536|0;p=o;q=i;i=i+4|0;i=i+7&-8;r=i;i=i+4|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;t=i;i=i+12|0;i=i+7&-8;u=i;i=i+12|0;i=i+7&-8;v=i;i=i+4|0;i=i+7&-8;w=i;i=i+400|0;x=i;i=i+4|0;i=i+7&-8;y=i;i=i+4|0;i=i+7&-8;z=i;i=i+4|0;i=i+7&-8;A=d+16|0;c[m>>2]=A;B=d+128|0;C=db(A|0,100,15056,(A=i,i=i+8|0,h[A>>3]=k,A)|0)|0;i=A;do{if(C>>>0>99>>>0){do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}D=Xa(2147483647,14472,0)|0;c[8330]=D}}while(0);D=kp(m,c[8330]|0,15056,(A=i,i=i+8|0,h[A>>3]=k,A)|0)|0;i=A;E=c[m>>2]|0;if((E|0)==0){Uu();F=c[m>>2]|0}else{F=E}E=Gu(D<<2)|0;G=E;if((E|0)!=0){H=G;I=D;J=G;K=F;break}Uu();H=0;I=D;J=0;K=F}else{H=B;I=C;J=0;K=0}}while(0);Lm(n,g);C=n|0;B=c[C>>2]|0;if(!((c[8714]|0)==-1)){c[l>>2]=34856;c[l+4>>2]=16;c[l+8>>2]=0;mm(34856,l,114)}l=(c[8715]|0)-1|0;F=c[B+8>>2]|0;do{if((c[B+12>>2]|0)-F>>2>>>0>l>>>0){A=c[F+(l<<2)>>2]|0;if((A|0)==0){break}D=A;G=c[m>>2]|0;Sc[c[(c[A>>2]|0)+48>>2]&15](D,G,G+I|0,H)|0;if((I|0)==0){L=0}else{L=(a[c[m>>2]|0]|0)==45}c[o>>2]=0;dv(s|0,0,12)|0;G=t;dv(G|0,0,12)|0;A=u;dv(A|0,0,12)|0;zr(f,L,n,p,q,r,s,t,u,v);E=w|0;M=c[v>>2]|0;if((I|0)>(M|0)){N=a[A]|0;if((N&1)==0){O=(N&255)>>>1}else{O=c[u+4>>2]|0}N=a[G]|0;if((N&1)==0){P=(N&255)>>>1}else{P=c[t+4>>2]|0}Q=O+(I-M<<1|1)+P|0}else{N=a[A]|0;if((N&1)==0){R=(N&255)>>>1}else{R=c[u+4>>2]|0}N=a[G]|0;if((N&1)==0){S=(N&255)>>>1}else{S=c[t+4>>2]|0}Q=R+2+S|0}N=Q+M|0;do{if(N>>>0>100>>>0){G=Gu(N<<2)|0;A=G;if((G|0)!=0){T=A;U=A;break}Uu();T=0;U=0}else{T=E;U=0}}while(0);Ar(T,x,y,c[g+4>>2]|0,H,H+(I<<2)|0,D,L,p,c[q>>2]|0,c[r>>2]|0,s,t,u,M);c[z>>2]=c[e>>2];tp(b,z,T,c[x>>2]|0,c[y>>2]|0,g,j);if((U|0)!=0){Hu(U)}Cm(u);Cm(t);rm(s);Ul(c[C>>2]|0)|0;if((J|0)!=0){Hu(J)}if((K|0)==0){V=400;W=0;X=100;Y=0;i=d;return}Hu(K);V=400;W=0;X=100;Y=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function zr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;n=i;i=i+40|0;o=n|0;p=n+16|0;q=n+32|0;r=q;s=i;i=i+12|0;i=i+7&-8;t=i;i=i+4|0;i=i+7&-8;u=t;v=i;i=i+12|0;i=i+7&-8;w=i;i=i+12|0;i=i+7&-8;x=i;i=i+12|0;i=i+7&-8;y=i;i=i+4|0;i=i+7&-8;z=y;A=i;i=i+12|0;i=i+7&-8;B=i;i=i+4|0;i=i+7&-8;D=B;E=i;i=i+12|0;i=i+7&-8;F=i;i=i+12|0;i=i+7&-8;G=i;i=i+12|0;i=i+7&-8;H=c[e>>2]|0;if(b){if(!((c[8830]|0)==-1)){c[p>>2]=35320;c[p+4>>2]=16;c[p+8>>2]=0;mm(35320,p,114)}p=(c[8831]|0)-1|0;b=c[H+8>>2]|0;if(!((c[H+12>>2]|0)-b>>2>>>0>p>>>0)){I=pc(4)|0;J=I;lu(J);Fb(I|0,25544,156)}e=c[b+(p<<2)>>2]|0;if((e|0)==0){I=pc(4)|0;J=I;lu(J);Fb(I|0,25544,156)}I=e;J=c[e>>2]|0;if(d){Ec[c[J+44>>2]&127](r,I);r=f;C=c[q>>2]|0;a[r]=C;C=C>>8;a[r+1|0]=C;C=C>>8;a[r+2|0]=C;C=C>>8;a[r+3|0]=C;Ec[c[(c[e>>2]|0)+32>>2]&127](s,I);r=l;if((a[r]&1)==0){c[l+4>>2]=0;a[r]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);q=s;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];dv(q|0,0,12)|0;Cm(s)}else{Ec[c[J+40>>2]&127](u,I);u=f;C=c[t>>2]|0;a[u]=C;C=C>>8;a[u+1|0]=C;C=C>>8;a[u+2|0]=C;C=C>>8;a[u+3|0]=C;Ec[c[(c[e>>2]|0)+28>>2]&127](v,I);u=l;if((a[u]&1)==0){c[l+4>>2]=0;a[u]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);t=v;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];dv(t|0,0,12)|0;Cm(v)}v=e;t=Fc[c[(c[v>>2]|0)+12>>2]&255](I)|0;c[g>>2]=t;t=Fc[c[(c[v>>2]|0)+16>>2]&255](I)|0;c[h>>2]=t;Ec[c[(c[e>>2]|0)+20>>2]&127](w,I);t=j;if((a[t]&1)==0){a[j+1|0]=0;a[t]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);u=w;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];dv(u|0,0,12)|0;rm(w);Ec[c[(c[e>>2]|0)+24>>2]&127](x,I);e=k;if((a[e]&1)==0){c[k+4>>2]=0;a[e]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);w=x;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];c[e+8>>2]=c[w+8>>2];dv(w|0,0,12)|0;Cm(x);K=Fc[c[(c[v>>2]|0)+36>>2]&255](I)|0;c[m>>2]=K;i=n;return}else{if(!((c[8832]|0)==-1)){c[o>>2]=35328;c[o+4>>2]=16;c[o+8>>2]=0;mm(35328,o,114)}o=(c[8833]|0)-1|0;I=c[H+8>>2]|0;if(!((c[H+12>>2]|0)-I>>2>>>0>o>>>0)){L=pc(4)|0;M=L;lu(M);Fb(L|0,25544,156)}H=c[I+(o<<2)>>2]|0;if((H|0)==0){L=pc(4)|0;M=L;lu(M);Fb(L|0,25544,156)}L=H;M=c[H>>2]|0;if(d){Ec[c[M+44>>2]&127](z,L);z=f;C=c[y>>2]|0;a[z]=C;C=C>>8;a[z+1|0]=C;C=C>>8;a[z+2|0]=C;C=C>>8;a[z+3|0]=C;Ec[c[(c[H>>2]|0)+32>>2]&127](A,L);z=l;if((a[z]&1)==0){c[l+4>>2]=0;a[z]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);y=A;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];dv(y|0,0,12)|0;Cm(A)}else{Ec[c[M+40>>2]&127](D,L);D=f;C=c[B>>2]|0;a[D]=C;C=C>>8;a[D+1|0]=C;C=C>>8;a[D+2|0]=C;C=C>>8;a[D+3|0]=C;Ec[c[(c[H>>2]|0)+28>>2]&127](E,L);D=l;if((a[D]&1)==0){c[l+4>>2]=0;a[D]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);l=E;c[D>>2]=c[l>>2];c[D+4>>2]=c[l+4>>2];c[D+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;Cm(E)}E=H;l=Fc[c[(c[E>>2]|0)+12>>2]&255](L)|0;c[g>>2]=l;l=Fc[c[(c[E>>2]|0)+16>>2]&255](L)|0;c[h>>2]=l;Ec[c[(c[H>>2]|0)+20>>2]&127](F,L);l=j;if((a[l]&1)==0){a[j+1|0]=0;a[l]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);j=F;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;rm(F);Ec[c[(c[H>>2]|0)+24>>2]&127](G,L);H=k;if((a[H]&1)==0){c[k+4>>2]=0;a[H]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);k=G;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];c[H+8>>2]=c[k+8>>2];dv(k|0,0,12)|0;Cm(G);K=Fc[c[(c[E>>2]|0)+36>>2]&255](L)|0;c[m>>2]=K;i=n;return}}function Ar(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|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;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,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,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;c[e>>2]=b;r=i;s=p;t=p+4|0;u=p+8|0;p=o;v=(f&512|0)==0;w=o+4|0;x=o+8|0;o=(q|0)>0;y=n;z=n+1|0;A=n+8|0;B=n+4|0;n=i;C=0;D=g;while(1){a:do{switch(a[k+C|0]|0){case 0:{c[d>>2]=c[e>>2];E=D;break};case 1:{c[d>>2]=c[e>>2];g=Qc[c[(c[r>>2]|0)+44>>2]&63](i,32)|0;F=c[e>>2]|0;c[e>>2]=F+4;c[F>>2]=g;E=D;break};case 3:{g=a[s]|0;F=(g&1)==0;if(F){G=(g&255)>>>1}else{G=c[t>>2]|0}if((G|0)==0){E=D;break a}if(F){H=t}else{H=c[u>>2]|0}F=c[H>>2]|0;g=c[e>>2]|0;c[e>>2]=g+4;c[g>>2]=F;E=D;break};case 2:{F=a[p]|0;g=(F&1)==0;if(g){I=(F&255)>>>1}else{I=c[w>>2]|0}if((I|0)==0|v){E=D;break a}if(g){J=(F&255)>>>1;K=w;L=w}else{F=c[x>>2]|0;J=c[w>>2]|0;K=F;L=F}F=K+(J<<2)|0;g=c[e>>2]|0;if((L|0)==(F|0)){M=g}else{N=(K+(J-1<<2)+(-L|0)|0)>>>2;O=g;P=L;while(1){c[O>>2]=c[P>>2];Q=P+4|0;if((Q|0)==(F|0)){break}O=O+4|0;P=Q}M=g+(N+1<<2)|0}c[e>>2]=M;E=D;break};case 4:{P=c[e>>2]|0;O=j?D+4|0:D;b:do{if(O>>>0<h>>>0){F=O;while(1){Q=F+4|0;if(!(Hc[c[(c[n>>2]|0)+12>>2]&63](i,2048,c[F>>2]|0)|0)){R=F;break b}if(Q>>>0<h>>>0){F=Q}else{R=Q;break}}}else{R=O}}while(0);if(o){do{if(R>>>0>O>>>0){N=R;g=q;F=c[e>>2]|0;while(1){S=N-4|0;T=F+4|0;c[F>>2]=c[S>>2];U=g-1|0;V=(U|0)>0;if(S>>>0>O>>>0&V){N=S;g=U;F=T}else{break}}c[e>>2]=T;if(V){W=U;X=S;Y=34;break}F=c[e>>2]|0;c[e>>2]=F+4;Z=F;_=S}else{W=q;X=R;Y=34}}while(0);do{if((Y|0)==34){Y=0;F=Qc[c[(c[r>>2]|0)+44>>2]&63](i,48)|0;g=c[e>>2]|0;N=g+4|0;c[e>>2]=N;if((W|0)>0){$=W;aa=g;ba=N}else{Z=g;_=X;break}while(1){c[aa>>2]=F;N=$-1|0;if((N|0)>0){$=N;aa=ba;ba=ba+4|0}else{break}}c[e>>2]=g+(W+1<<2);Z=g+(W<<2)|0;_=X}}while(0);c[Z>>2]=l;ca=_}else{ca=R}if((ca|0)==(O|0)){F=Qc[c[(c[r>>2]|0)+44>>2]&63](i,48)|0;N=c[e>>2]|0;Q=N+4|0;c[e>>2]=Q;c[N>>2]=F;da=Q}else{Q=a[y]|0;F=(Q&1)==0;if(F){ea=(Q&255)>>>1}else{ea=c[B>>2]|0}if((ea|0)==0){fa=ca;ga=0;ha=0;ia=-1}else{if(F){ja=z}else{ja=c[A>>2]|0}fa=ca;ga=0;ha=0;ia=a[ja]|0}while(1){F=c[e>>2]|0;do{if((ga|0)==(ia|0)){Q=F+4|0;c[e>>2]=Q;c[F>>2]=m;N=ha+1|0;ka=a[y]|0;la=(ka&1)==0;if(la){ma=(ka&255)>>>1}else{ma=c[B>>2]|0}if(!(N>>>0<ma>>>0)){na=ia;oa=N;pa=0;qa=Q;break}if(la){ra=z}else{ra=c[A>>2]|0}if((a[ra+N|0]|0)==127){na=-1;oa=N;pa=0;qa=Q;break}if(la){sa=z}else{sa=c[A>>2]|0}na=a[sa+N|0]|0;oa=N;pa=0;qa=Q}else{na=ia;oa=ha;pa=ga;qa=F}}while(0);F=fa-4|0;g=c[F>>2]|0;Q=qa+4|0;c[e>>2]=Q;c[qa>>2]=g;if((F|0)==(O|0)){da=Q;break}else{fa=F;ga=pa+1|0;ha=oa;ia=na}}}if((P|0)==(da|0)){E=O;break a}F=da-4|0;if(F>>>0>P>>>0){ta=P;ua=F}else{E=O;break a}while(1){F=c[ta>>2]|0;c[ta>>2]=c[ua>>2];c[ua>>2]=F;F=ta+4|0;Q=ua-4|0;if(F>>>0<Q>>>0){ta=F;ua=Q}else{E=O;break}}break};default:{E=D}}}while(0);O=C+1|0;if(O>>>0<4>>>0){C=O;D=E}else{break}}E=a[s]|0;s=(E&1)==0;if(s){va=(E&255)>>>1}else{va=c[t>>2]|0}if(va>>>0>1>>>0){if(s){wa=(E&255)>>>1;xa=t;ya=t}else{E=c[u>>2]|0;wa=c[t>>2]|0;xa=E;ya=E}E=ya+4|0;ya=xa+(wa<<2)|0;t=c[e>>2]|0;if((E|0)==(ya|0)){za=t}else{u=(xa+(wa-1<<2)+(-E|0)|0)>>>2;wa=t;xa=E;while(1){c[wa>>2]=c[xa>>2];E=xa+4|0;if((E|0)==(ya|0)){break}else{wa=wa+4|0;xa=E}}za=t+(u+1<<2)|0}c[e>>2]=za}za=f&176;if((za|0)==32){c[d>>2]=c[e>>2];return}else if((za|0)==16){return}else{c[d>>2]=b;return}}function Br(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+32|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+16|0;m=d+24|0;n=m;o=i;i=i+4|0;i=i+7&-8;p=i;i=i+4|0;i=i+7&-8;q=i;i=i+12|0;i=i+7&-8;r=i;i=i+12|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;t=i;i=i+4|0;i=i+7&-8;u=i;i=i+400|0;v=i;i=i+4|0;i=i+7&-8;w=i;i=i+4|0;i=i+7&-8;x=i;i=i+4|0;i=i+7&-8;Lm(l,g);y=l|0;z=c[y>>2]|0;if(!((c[8714]|0)==-1)){c[k>>2]=34856;c[k+4>>2]=16;c[k+8>>2]=0;mm(34856,k,114)}k=(c[8715]|0)-1|0;A=c[z+8>>2]|0;do{if((c[z+12>>2]|0)-A>>2>>>0>k>>>0){B=c[A+(k<<2)>>2]|0;if((B|0)==0){break}C=B;D=j;E=a[D]|0;F=(E&1)==0;if(F){G=(E&255)>>>1}else{G=c[j+4>>2]|0}if((G|0)==0){H=0}else{if(F){I=j+4|0}else{I=c[j+8>>2]|0}F=c[I>>2]|0;H=(F|0)==(Qc[c[(c[B>>2]|0)+44>>2]&63](C,45)|0)}c[m>>2]=0;dv(q|0,0,12)|0;B=r;dv(B|0,0,12)|0;F=s;dv(F|0,0,12)|0;zr(f,H,l,n,o,p,q,r,s,t);E=u|0;J=a[D]|0;K=(J&1)==0;if(K){L=(J&255)>>>1}else{L=c[j+4>>2]|0}M=c[t>>2]|0;if((L|0)>(M|0)){if(K){N=(J&255)>>>1}else{N=c[j+4>>2]|0}K=a[F]|0;if((K&1)==0){O=(K&255)>>>1}else{O=c[s+4>>2]|0}K=a[B]|0;if((K&1)==0){P=(K&255)>>>1}else{P=c[r+4>>2]|0}Q=O+(N-M<<1|1)+P|0}else{K=a[F]|0;if((K&1)==0){R=(K&255)>>>1}else{R=c[s+4>>2]|0}K=a[B]|0;if((K&1)==0){S=(K&255)>>>1}else{S=c[r+4>>2]|0}Q=R+2+S|0}K=Q+M|0;do{if(K>>>0>100>>>0){B=Gu(K<<2)|0;F=B;if((B|0)!=0){T=F;U=F;V=J;break}Uu();T=0;U=0;V=a[D]|0}else{T=E;U=0;V=J}}while(0);if((V&1)==0){W=(V&255)>>>1;X=j+4|0}else{W=c[j+4>>2]|0;X=c[j+8>>2]|0}Ar(T,v,w,c[g+4>>2]|0,X,X+(W<<2)|0,C,H,n,c[o>>2]|0,c[p>>2]|0,q,r,s,M);c[x>>2]=c[e>>2];tp(b,x,T,c[v>>2]|0,c[w>>2]|0,g,h);if((U|0)==0){Y=400;Z=0;Cm(s);Cm(r);rm(q);_=c[y>>2]|0;$=_|0;aa=Ul($)|0;i=d;return}Hu(U);Y=400;Z=0;Cm(s);Cm(r);rm(q);_=c[y>>2]|0;$=_|0;aa=Ul($)|0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function Cr(a){a=a|0;Sl(a|0);Pu(a);return}function Dr(a){a=a|0;Sl(a|0);return}function Er(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((a[d]&1)==0){f=d+1|0}else{f=c[d+8>>2]|0}d=sc(f|0,1)|0;return d>>>(((d|0)!=-1|0)>>>0)|0}function Fr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+16|0;j=d|0;k=j;dv(k|0,0,12)|0;l=a[h]|0;if((l&1)==0){m=(l&255)>>>1;n=h+1|0;o=h+1|0}else{l=c[h+8>>2]|0;m=c[h+4>>2]|0;n=l;o=l}l=o+m|0;do{if(n>>>0<l>>>0){m=n;do{wm(j,a[m]|0);m=m+1|0;}while(m>>>0<l>>>0);m=(e|0)==-1?-1:e<<1;if((a[k]&1)==0){p=m;q=10;break}r=c[j+8>>2]|0;s=m}else{p=(e|0)==-1?-1:e<<1;q=10}}while(0);if((q|0)==10){r=j+1|0;s=p}p=qb(s|0,f|0,g|0,r|0)|0;dv(b|0,0,12)|0;r=ev(p|0)|0;g=p+r|0;if((r|0)>0){t=p}else{rm(j);i=d;return}do{wm(b,a[t]|0);t=t+1|0;}while(t>>>0<g>>>0);rm(j);i=d;return}function Gr(a,b){a=a|0;b=b|0;Yb(((b|0)==-1?-1:b<<1)|0)|0;return}function Hr(a){a=a|0;Sl(a|0);Pu(a);return}function Ir(a){a=a|0;Sl(a|0);return}function Jr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((a[d]&1)==0){f=d+1|0}else{f=c[d+8>>2]|0}d=sc(f|0,1)|0;return d>>>(((d|0)!=-1|0)>>>0)|0}function Kr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,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;d=i;i=i+240|0;j=d|0;k=d+8|0;l=d+40|0;m=d+48|0;n=d+56|0;o=d+64|0;p=d+192|0;q=d+200|0;r=d+208|0;s=d+224|0;t=d+232|0;u=r;dv(u|0,0,12)|0;c[s+4>>2]=0;c[s>>2]=21168;v=a[h]|0;if((v&1)==0){w=(v&255)>>>1;x=h+4|0;y=h+4|0}else{v=c[h+8>>2]|0;w=c[h+4>>2]|0;x=v;y=v}v=y+(w<<2)|0;w=k|0;y=j;c[j>>2]=0;c[j+4>>2]=0;a:do{if(x>>>0<v>>>0){j=s|0;h=s;z=k+32|0;A=x;B=21168;while(1){c[m>>2]=A;C=(Vc[c[B+12>>2]&31](j,y,A,v,m,w,z,l)|0)==2;D=c[m>>2]|0;if(C|(D|0)==(A|0)){break}if(w>>>0<(c[l>>2]|0)>>>0){C=w;do{wm(r,a[C]|0);C=C+1|0;}while(C>>>0<(c[l>>2]|0)>>>0);E=c[m>>2]|0}else{E=D}if(!(E>>>0<v>>>0)){break a}A=E;B=c[h>>2]|0}dr(8296)}}while(0);Sl(s|0);if((a[u]&1)==0){F=r+1|0}else{F=c[r+8>>2]|0}u=qb(((e|0)==-1?-1:e<<1)|0,f|0,g|0,F|0)|0;dv(b|0,0,12)|0;c[t+4>>2]=0;c[t>>2]=21112;F=ev(u|0)|0;g=u+F|0;f=n;c[n>>2]=0;c[n+4>>2]=0;if((F|0)<=0){G=8;H=0;I=4;J=0;K=4;L=0;M=t|0;Sl(M);rm(r);i=d;return}F=t|0;n=t;e=g;s=o|0;E=o+128|0;o=u;u=21112;while(1){c[q>>2]=o;v=(Vc[c[u+16>>2]&31](F,f,o,(e-o|0)>32?o+32|0:g,q,s,E,p)|0)==2;m=c[q>>2]|0;if(v|(m|0)==(o|0)){break}if(s>>>0<(c[p>>2]|0)>>>0){v=s;do{Gm(b,c[v>>2]|0);v=v+4|0;}while(v>>>0<(c[p>>2]|0)>>>0);N=c[q>>2]|0}else{N=m}if(!(N>>>0<g>>>0)){O=37;break}o=N;u=c[n>>2]|0}if((O|0)==37){G=8;H=0;I=4;J=0;K=4;L=0;M=t|0;Sl(M);rm(r);i=d;return}dr(8296)}function Lr(a,b){a=a|0;b=b|0;Yb(((b|0)==-1?-1:b<<1)|0)|0;return}function Mr(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=20632;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){g=b|0;Sl(g);return}pb(c[d>>2]|0);g=b|0;Sl(g);return}function Nr(a){a=a|0;a=pc(8)|0;Vl(a,14768);c[a>>2]=19568;Fb(a|0,25576,40)}function Or(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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,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;e=i;i=i+448|0;f=e|0;g=e+16|0;h=e+32|0;j=e+48|0;k=e+64|0;l=e+80|0;m=e+96|0;n=e+112|0;o=e+128|0;p=e+144|0;q=e+160|0;r=e+176|0;s=e+192|0;t=e+208|0;u=e+224|0;v=e+240|0;w=e+256|0;x=e+272|0;y=e+288|0;z=e+304|0;A=e+320|0;B=e+336|0;C=e+352|0;D=e+368|0;E=e+384|0;F=e+400|0;G=e+416|0;H=e+432|0;c[b+4>>2]=d-1;c[b>>2]=20888;d=b+8|0;I=b+12|0;J=b+136|0;a[J]=1;K=b+24|0;c[I>>2]=K;c[d>>2]=K;c[b+16>>2]=J;J=28;L=K;do{if((L|0)==0){M=0}else{c[L>>2]=0;M=c[I>>2]|0}L=M+4|0;c[I>>2]=L;J=J-1|0;}while((J|0)!=0);pm(b+144|0,14472,1);J=c[d>>2]|0;d=c[I>>2]|0;if((d|0)!=(J|0)){c[I>>2]=d+(~((d-4+(-J|0)|0)>>>2)<<2)}c[8387]=0;c[8386]=20592;if(!((c[8636]|0)==-1)){c[G>>2]=34544;c[G+4>>2]=16;c[G+8>>2]=0;mm(34544,G,114)}Pr(b,33544,(c[8637]|0)-1|0);c[8385]=0;c[8384]=20552;if(!((c[8634]|0)==-1)){c[F>>2]=34536;c[F+4>>2]=16;c[F+8>>2]=0;mm(34536,F,114)}Pr(b,33536,(c[8635]|0)-1|0);c[8441]=0;c[8440]=21e3;c[8442]=0;a[33772]=0;F=ob()|0;c[8442]=c[F>>2];if(!((c[8716]|0)==-1)){c[E>>2]=34864;c[E+4>>2]=16;c[E+8>>2]=0;mm(34864,E,114)}Pr(b,33760,(c[8717]|0)-1|0);c[8439]=0;c[8438]=20920;if(!((c[8714]|0)==-1)){c[D>>2]=34856;c[D+4>>2]=16;c[D+8>>2]=0;mm(34856,D,114)}Pr(b,33752,(c[8715]|0)-1|0);c[8393]=0;c[8392]=20688;if(!((c[8640]|0)==-1)){c[C>>2]=34560;c[C+4>>2]=16;c[C+8>>2]=0;mm(34560,C,114)}Pr(b,33568,(c[8641]|0)-1|0);c[8389]=0;c[8388]=20632;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}C=Xa(2147483647,14472,0)|0;c[8330]=C}}while(0);c[8390]=c[8330];if(!((c[8638]|0)==-1)){c[B>>2]=34552;c[B+4>>2]=16;c[B+8>>2]=0;mm(34552,B,114)}Pr(b,33552,(c[8639]|0)-1|0);c[8395]=0;c[8394]=20744;if(!((c[8642]|0)==-1)){c[A>>2]=34568;c[A+4>>2]=16;c[A+8>>2]=0;mm(34568,A,114)}Pr(b,33576,(c[8643]|0)-1|0);c[8397]=0;c[8396]=20800;if(!((c[8644]|0)==-1)){c[z>>2]=34576;c[z+4>>2]=16;c[z+8>>2]=0;mm(34576,z,114)}Pr(b,33584,(c[8645]|0)-1|0);c[8367]=0;c[8366]=20096;a[33472]=46;a[33473]=44;dv(33476,0,12)|0;if(!((c[8620]|0)==-1)){c[y>>2]=34480;c[y+4>>2]=16;c[y+8>>2]=0;mm(34480,y,114)}Pr(b,33464,(c[8621]|0)-1|0);c[8359]=0;c[8358]=20048;c[8360]=46;c[8361]=44;dv(33448,0,12)|0;if(!((c[8618]|0)==-1)){c[x>>2]=34472;c[x+4>>2]=16;c[x+8>>2]=0;mm(34472,x,114)}Pr(b,33432,(c[8619]|0)-1|0);c[8383]=0;c[8382]=20480;if(!((c[8632]|0)==-1)){c[w>>2]=34528;c[w+4>>2]=16;c[w+8>>2]=0;mm(34528,w,114)}Pr(b,33528,(c[8633]|0)-1|0);c[8381]=0;c[8380]=20408;if(!((c[8630]|0)==-1)){c[v>>2]=34520;c[v+4>>2]=16;c[v+8>>2]=0;mm(34520,v,114)}Pr(b,33520,(c[8631]|0)-1|0);c[8379]=0;c[8378]=20344;if(!((c[8628]|0)==-1)){c[u>>2]=34512;c[u+4>>2]=16;c[u+8>>2]=0;mm(34512,u,114)}Pr(b,33512,(c[8629]|0)-1|0);c[8377]=0;c[8376]=20280;if(!((c[8626]|0)==-1)){c[t>>2]=34504;c[t+4>>2]=16;c[t+8>>2]=0;mm(34504,t,114)}Pr(b,33504,(c[8627]|0)-1|0);c[8451]=0;c[8450]=21928;if(!((c[8836]|0)==-1)){c[s>>2]=35344;c[s+4>>2]=16;c[s+8>>2]=0;mm(35344,s,114)}Pr(b,33800,(c[8837]|0)-1|0);c[8449]=0;c[8448]=21864;if(!((c[8834]|0)==-1)){c[r>>2]=35336;c[r+4>>2]=16;c[r+8>>2]=0;mm(35336,r,114)}Pr(b,33792,(c[8835]|0)-1|0);c[8447]=0;c[8446]=21800;if(!((c[8832]|0)==-1)){c[q>>2]=35328;c[q+4>>2]=16;c[q+8>>2]=0;mm(35328,q,114)}Pr(b,33784,(c[8833]|0)-1|0);c[8445]=0;c[8444]=21736;if(!((c[8830]|0)==-1)){c[p>>2]=35320;c[p+4>>2]=16;c[p+8>>2]=0;mm(35320,p,114)}Pr(b,33776,(c[8831]|0)-1|0);c[8341]=0;c[8340]=19752;if(!((c[8608]|0)==-1)){c[o>>2]=34432;c[o+4>>2]=16;c[o+8>>2]=0;mm(34432,o,114)}Pr(b,33360,(c[8609]|0)-1|0);c[8339]=0;c[8338]=19712;if(!((c[8606]|0)==-1)){c[n>>2]=34424;c[n+4>>2]=16;c[n+8>>2]=0;mm(34424,n,114)}Pr(b,33352,(c[8607]|0)-1|0);c[8337]=0;c[8336]=19672;if(!((c[8604]|0)==-1)){c[m>>2]=34416;c[m+4>>2]=16;c[m+8>>2]=0;mm(34416,m,114)}Pr(b,33344,(c[8605]|0)-1|0);c[8335]=0;c[8334]=19632;if(!((c[8602]|0)==-1)){c[l>>2]=34408;c[l+4>>2]=16;c[l+8>>2]=0;mm(34408,l,114)}Pr(b,33336,(c[8603]|0)-1|0);c[8355]=0;c[8354]=19952;c[8356]=2e4;if(!((c[8616]|0)==-1)){c[k>>2]=34464;c[k+4>>2]=16;c[k+8>>2]=0;mm(34464,k,114)}Pr(b,33416,(c[8617]|0)-1|0);c[8351]=0;c[8350]=19856;c[8352]=19904;if(!((c[8614]|0)==-1)){c[j>>2]=34456;c[j+4>>2]=16;c[j+8>>2]=0;mm(34456,j,114)}Pr(b,33400,(c[8615]|0)-1|0);c[8347]=0;c[8346]=20856;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}j=Xa(2147483647,14472,0)|0;c[8330]=j}}while(0);c[8348]=c[8330];c[8346]=19824;if(!((c[8612]|0)==-1)){c[h>>2]=34448;c[h+4>>2]=16;c[h+8>>2]=0;mm(34448,h,114)}Pr(b,33384,(c[8613]|0)-1|0);c[8343]=0;c[8342]=20856;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}h=Xa(2147483647,14472,0)|0;c[8330]=h}}while(0);c[8344]=c[8330];c[8342]=19792;if(!((c[8610]|0)==-1)){c[g>>2]=34440;c[g+4>>2]=16;c[g+8>>2]=0;mm(34440,g,114)}Pr(b,33368,(c[8611]|0)-1|0);c[8375]=0;c[8374]=20184;if(!((c[8624]|0)==-1)){c[f>>2]=34496;c[f+4>>2]=16;c[f+8>>2]=0;mm(34496,f,114)}Pr(b,33496,(c[8625]|0)-1|0);c[8373]=0;c[8372]=20144;if(!((c[8622]|0)==-1)){c[H>>2]=34488;c[H+4>>2]=16;c[H+8>>2]=0;mm(34488,H,114)}Pr(b,33488,(c[8623]|0)-1|0);i=e;return}function Pr(a,b,d){a=a|0;b=b|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;Tl(b|0);e=a+8|0;f=a+12|0;a=c[f>>2]|0;g=e|0;h=c[g>>2]|0;i=a-h>>2;do{if(i>>>0>d>>>0){j=h}else{k=d+1|0;if(i>>>0<k>>>0){Tt(e,k-i|0);j=c[g>>2]|0;break}if(!(i>>>0>k>>>0)){j=h;break}l=h+(k<<2)|0;if((a|0)==(l|0)){j=h;break}c[f>>2]=a+(~((a-4+(-l|0)|0)>>>2)<<2);j=h}}while(0);h=c[j+(d<<2)>>2]|0;if((h|0)==0){m=j;n=m+(d<<2)|0;c[n>>2]=b;return}Ul(h|0)|0;m=c[g>>2]|0;n=m+(d<<2)|0;c[n>>2]=b;return}function Qr(a){a=a|0;Rr(a);Pu(a);return}function Rr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[b>>2]=20888;d=b+12|0;e=c[d>>2]|0;f=b+8|0;g=c[f>>2]|0;if((e|0)!=(g|0)){h=0;i=g;g=e;while(1){e=c[i+(h<<2)>>2]|0;if((e|0)==0){j=g;k=i}else{Ul(e|0)|0;j=c[d>>2]|0;k=c[f>>2]|0}e=h+1|0;if(e>>>0<j-k>>2>>>0){h=e;i=k;g=j}else{break}}}rm(b+144|0);j=c[f>>2]|0;if((j|0)==0){l=b|0;Sl(l);return}f=c[d>>2]|0;if((f|0)!=(j|0)){c[d>>2]=f+(~((f-4+(-j|0)|0)>>>2)<<2)}if((b+24|0)==(j|0)){a[b+136|0]=0;l=b|0;Sl(l);return}else{Pu(j);l=b|0;Sl(l);return}}function Sr(){var b=0,d=0;if((a[51792]|0)!=0){b=c[8322]|0;return b|0}if((ub(51792)|0)==0){b=c[8322]|0;return b|0}do{if((a[51800]|0)==0){if((ub(51800)|0)==0){break}Or(33592,1);c[8326]=33592;c[8324]=33304}}while(0);d=c[c[8324]>>2]|0;c[8328]=d;Tl(d|0);c[8322]=33312;b=c[8322]|0;return b|0}function Tr(a){a=a|0;var b=0,d=0;b=Sr()|0;d=c[b>>2]|0;c[a>>2]=d;Tl(d|0);return}function Ur(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;Tl(d|0);return}function Vr(a){a=a|0;Ul(c[a>>2]|0)|0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d|0;f=c[a>>2]|0;a=b|0;if(!((c[a>>2]|0)==-1)){c[e>>2]=b;c[e+4>>2]=16;c[e+8>>2]=0;mm(a,e,114)}e=(c[b+4>>2]|0)-1|0;b=c[f+8>>2]|0;if(!((c[f+12>>2]|0)-b>>2>>>0>e>>>0)){g=pc(4)|0;h=g;lu(h);Fb(g|0,25544,156);return 0}f=c[b+(e<<2)>>2]|0;if((f|0)==0){g=pc(4)|0;h=g;lu(h);Fb(g|0,25544,156);return 0}else{i=d;return f|0}return 0}function Xr(a){a=a|0;Sl(a|0);Pu(a);return}function Yr(a){a=a|0;if((a|0)==0){return}Dc[c[(c[a>>2]|0)+4>>2]&511](a);return}function Zr(a){a=a|0;c[a+4>>2]=(I=c[8646]|0,c[8646]=I+1,I)+1;return}function _r(a){a=a|0;Sl(a|0);Pu(a);return}function $r(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;if(!(e>>>0<128>>>0)){f=0;return f|0}a=ob()|0;f=(b[(c[a>>2]|0)+(e<<1)>>1]&d)<<16>>16!=0;return f|0}function as(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if((d|0)==(e|0)){g=d;return g|0}else{h=d;i=f}while(1){f=c[h>>2]|0;if(f>>>0<128>>>0){d=ob()|0;j=b[(c[d>>2]|0)+(f<<1)>>1]|0}else{j=0}b[i>>1]=j;f=h+4|0;if((f|0)==(e|0)){g=e;break}else{h=f;i=i+2|0}}return g|0}function bs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((e|0)==(f|0)){g=e;return g|0}else{h=e}while(1){e=c[h>>2]|0;if(e>>>0<128>>>0){a=ob()|0;if(!((b[(c[a>>2]|0)+(e<<1)>>1]&d)<<16>>16==0)){g=h;i=7;break}}e=h+4|0;if((e|0)==(f|0)){g=f;i=7;break}else{h=e}}if((i|0)==7){return g|0}return 0}function cs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do{if((e|0)==(f|0)){g=e}else{a=e;while(1){h=c[a>>2]|0;if(!(h>>>0<128>>>0)){g=a;break a}i=ob()|0;j=a+4|0;if((b[(c[i>>2]|0)+(h<<1)>>1]&d)<<16>>16==0){g=a;break a}if((j|0)==(f|0)){g=f;break}else{a=j}}}}while(0);return g|0}function ds(a,b){a=a|0;b=b|0;var d=0;if(!(b>>>0<128>>>0)){d=b;return d|0}a=tc()|0;d=c[(c[a>>2]|0)+(b<<2)>>2]|0;return d|0}function es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((b|0)==(d|0)){e=b;return e|0}else{f=b}while(1){b=c[f>>2]|0;if(b>>>0<128>>>0){a=tc()|0;g=c[(c[a>>2]|0)+(b<<2)>>2]|0}else{g=b}c[f>>2]=g;b=f+4|0;if((b|0)==(d|0)){e=d;break}else{f=b}}return e|0}function fs(a,b){a=a|0;b=b|0;var d=0;if(!(b>>>0<128>>>0)){d=b;return d|0}a=uc()|0;d=c[(c[a>>2]|0)+(b<<2)>>2]|0;return d|0}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((b|0)==(d|0)){e=b;return e|0}else{f=b}while(1){b=c[f>>2]|0;if(b>>>0<128>>>0){a=uc()|0;g=c[(c[a>>2]|0)+(b<<2)>>2]|0}else{g=b}c[f>>2]=g;b=f+4|0;if((b|0)==(d|0)){e=d;break}else{f=b}}return e|0}function hs(a,b){a=a|0;b=b|0;return b<<24>>24|0}function is(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((d|0)==(e|0)){g=d;return g|0}else{h=d;i=f}while(1){c[i>>2]=a[h]|0;f=h+1|0;if((f|0)==(e|0)){g=e;break}else{h=f;i=i+4|0}}return g|0}function js(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128>>>0?b&255:c)|0}function ks(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if((d|0)==(e|0)){h=d;return h|0}b=((e-4+(-d|0)|0)>>>2)+1|0;i=d;j=g;while(1){g=c[i>>2]|0;a[j]=g>>>0<128>>>0?g&255:f;g=i+4|0;if((g|0)==(e|0)){break}else{i=g;j=j+1|0}}h=d+(b<<2)|0;return h|0}function ls(b){b=b|0;var d=0;c[b>>2]=21e3;d=c[b+8>>2]|0;do{if((d|0)!=0){if((a[b+12|0]|0)==0){break}Qu(d)}}while(0);Sl(b|0);Pu(b);return}function ms(b){b=b|0;var d=0;c[b>>2]=21e3;d=c[b+8>>2]|0;do{if((d|0)!=0){if((a[b+12|0]|0)==0){break}Qu(d)}}while(0);Sl(b|0);return}function ns(a,b){a=a|0;b=b|0;var d=0;if(!(b<<24>>24>-1)){d=b;return d|0}a=tc()|0;d=c[(c[a>>2]|0)+((b&255)<<2)>>2]&255;return d|0}function os(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((d|0)==(e|0)){f=d;return f|0}else{g=d}while(1){d=a[g]|0;if(d<<24>>24>-1){b=tc()|0;h=c[(c[b>>2]|0)+(d<<24>>24<<2)>>2]&255}else{h=d}a[g]=h;d=g+1|0;if((d|0)==(e|0)){f=e;break}else{g=d}}return f|0}function ps(a,b){a=a|0;b=b|0;var d=0;if(!(b<<24>>24>-1)){d=b;return d|0}a=uc()|0;d=c[(c[a>>2]|0)+(b<<24>>24<<2)>>2]&255;return d|0}function qs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((d|0)==(e|0)){f=d;return f|0}else{g=d}while(1){d=a[g]|0;if(d<<24>>24>-1){b=uc()|0;h=c[(c[b>>2]|0)+(d<<24>>24<<2)>>2]&255}else{h=d}a[g]=h;d=g+1|0;if((d|0)==(e|0)){f=e;break}else{g=d}}return f|0}function rs(a,b){a=a|0;b=b|0;return b|0}function ss(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((c|0)==(d|0)){f=c;return f|0}else{g=c;h=e}while(1){a[h]=a[g]|0;e=g+1|0;if((e|0)==(d|0)){f=d;break}else{g=e;h=h+1|0}}return f|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function us(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((c|0)==(d|0)){g=c;return g|0}else{h=c;i=f}while(1){f=a[h]|0;a[i]=f<<24>>24>-1?f:e;f=h+1|0;if((f|0)==(d|0)){g=d;break}else{h=f;i=i+1|0}}return g|0}function vs(a){a=a|0;Sl(a|0);Pu(a);return}function ws(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function xs(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function ys(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function zs(a){a=a|0;return 1}function As(a){a=a|0;return 1}function Bs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;b=d-c|0;return(b>>>0<e>>>0?b:e)|0}function Cs(a){a=a|0;return 1}function Ds(a){a=a|0;Mr(a);Pu(a);return}function Es(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;l=i;i=i+8|0;m=l|0;n=m;o=i;i=i+4|0;i=i+7&-8;p=(e|0)==(f|0);a:do{if(p){c[k>>2]=h;c[g>>2]=e;q=e}else{r=e;while(1){s=r+4|0;if((c[r>>2]|0)==0){t=r;break}if((s|0)==(f|0)){t=f;break}else{r=s}}c[k>>2]=h;c[g>>2]=e;if(p|(h|0)==(j|0)){q=e;break}r=d;s=j;u=b+8|0;v=o|0;w=h;x=e;y=t;while(1){z=c[r+4>>2]|0;c[m>>2]=c[r>>2];c[m+4>>2]=z;z=bc(c[u>>2]|0)|0;A=eu(w,g,y-x>>2,s-w|0,d)|0;if((z|0)!=0){bc(z|0)|0}if((A|0)==(-1|0)){B=16;break}else if((A|0)==0){C=1;B=51;break}z=(c[k>>2]|0)+A|0;c[k>>2]=z;if((z|0)==(j|0)){B=49;break}if((y|0)==(f|0)){D=f;E=z;F=c[g>>2]|0}else{z=bc(c[u>>2]|0)|0;A=du(v,0,d)|0;if((z|0)!=0){bc(z|0)|0}if((A|0)==-1){C=2;B=51;break}z=c[k>>2]|0;if(A>>>0>(s-z|0)>>>0){C=1;B=51;break}b:do{if((A|0)!=0){G=A;H=v;I=z;while(1){J=a[H]|0;c[k>>2]=I+1;a[I]=J;J=G-1|0;if((J|0)==0){break b}G=J;H=H+1|0;I=c[k>>2]|0}}}while(0);z=(c[g>>2]|0)+4|0;c[g>>2]=z;c:do{if((z|0)==(f|0)){K=f}else{A=z;while(1){I=A+4|0;if((c[A>>2]|0)==0){K=A;break c}if((I|0)==(f|0)){K=f;break}else{A=I}}}}while(0);D=K;E=c[k>>2]|0;F=z}if((F|0)==(f|0)|(E|0)==(j|0)){q=F;break a}else{w=E;x=F;y=D}}if((B|0)==16){c[k>>2]=w;d:do{if((x|0)==(c[g>>2]|0)){L=x}else{y=x;v=w;while(1){s=c[y>>2]|0;r=bc(c[u>>2]|0)|0;A=du(v,s,n)|0;if((r|0)!=0){bc(r|0)|0}if((A|0)==-1){L=y;break d}r=(c[k>>2]|0)+A|0;c[k>>2]=r;A=y+4|0;if((A|0)==(c[g>>2]|0)){L=A;break}else{y=A;v=r}}}}while(0);c[g>>2]=L;C=2;i=l;return C|0}else if((B|0)==49){q=c[g>>2]|0;break}else if((B|0)==51){i=l;return C|0}}}while(0);C=(q|0)!=(f|0)|0;i=l;return C|0}function Fs(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;l=i;i=i+8|0;m=l|0;n=m;o=(e|0)==(f|0);a:do{if(o){c[k>>2]=h;c[g>>2]=e;p=e}else{q=e;while(1){r=q+1|0;if((a[q]|0)==0){s=q;break}if((r|0)==(f|0)){s=f;break}else{q=r}}c[k>>2]=h;c[g>>2]=e;if(o|(h|0)==(j|0)){p=e;break}q=d;r=j;t=b+8|0;u=h;v=e;w=s;while(1){x=c[q+4>>2]|0;c[m>>2]=c[q>>2];c[m+4>>2]=x;y=w;x=bc(c[t>>2]|0)|0;z=au(u,g,y-v|0,r-u>>2,d)|0;if((x|0)!=0){bc(x|0)|0}if((z|0)==(-1|0)){A=16;break}else if((z|0)==0){B=2;A=50;break}x=(c[k>>2]|0)+(z<<2)|0;c[k>>2]=x;if((x|0)==(j|0)){A=48;break}z=c[g>>2]|0;if((w|0)==(f|0)){C=f;D=x;E=z}else{F=bc(c[t>>2]|0)|0;G=$t(x,z,1,d)|0;if((F|0)!=0){bc(F|0)|0}if((G|0)!=0){B=2;A=50;break}c[k>>2]=(c[k>>2]|0)+4;G=(c[g>>2]|0)+1|0;c[g>>2]=G;b:do{if((G|0)==(f|0)){H=f}else{F=G;while(1){z=F+1|0;if((a[F]|0)==0){H=F;break b}if((z|0)==(f|0)){H=f;break}else{F=z}}}}while(0);C=H;D=c[k>>2]|0;E=G}if((E|0)==(f|0)|(D|0)==(j|0)){p=E;break a}else{u=D;v=E;w=C}}if((A|0)==16){c[k>>2]=u;c:do{if((v|0)==(c[g>>2]|0)){I=v}else{w=u;r=v;while(1){q=bc(c[t>>2]|0)|0;F=$t(w,r,y-r|0,n)|0;if((q|0)!=0){bc(q|0)|0}if((F|0)==0){J=r+1|0}else if((F|0)==(-1|0)){A=27;break}else if((F|0)==(-2|0)){A=28;break}else{J=r+F|0}F=(c[k>>2]|0)+4|0;c[k>>2]=F;if((J|0)==(c[g>>2]|0)){I=J;break c}else{w=F;r=J}}if((A|0)==27){c[g>>2]=r;B=2;i=l;return B|0}else if((A|0)==28){c[g>>2]=r;B=1;i=l;return B|0}}}while(0);c[g>>2]=I;B=(I|0)!=(f|0)|0;i=l;return B|0}else if((A|0)==48){p=c[g>>2]|0;break}else if((A|0)==50){i=l;return B|0}}}while(0);B=(p|0)!=(f|0)|0;i=l;return B|0}function Gs(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+8|0;c[g>>2]=e;e=h|0;j=bc(c[b+8>>2]|0)|0;b=du(e,0,d)|0;if((j|0)!=0){bc(j|0)|0}if((b|0)==(-1|0)|(b|0)==0){k=2;i=h;return k|0}j=b-1|0;b=c[g>>2]|0;if(j>>>0>(f-b|0)>>>0){k=1;i=h;return k|0}if((j|0)==0){k=0;i=h;return k|0}else{l=j;m=e;n=b}while(1){b=a[m]|0;c[g>>2]=n+1;a[n]=b;b=l-1|0;if((b|0)==0){k=0;break}l=b;m=m+1|0;n=c[g>>2]|0}i=h;return k|0}function Hs(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;a=bc(c[b>>2]|0)|0;d=cu(0,0,4)|0;if((a|0)!=0){bc(a|0)|0}if((d|0)!=0){e=-1;return e|0}d=c[b>>2]|0;if((d|0)==0){e=1;return e|0}b=bc(d|0)|0;if((b|0)==0){e=0;return e|0}bc(b|0)|0;e=0;return e|0}function Is(a){a=a|0;return 0}function Js(a,b,d,e,f){a=a|0;b=b|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,o=0;if((f|0)==0|(d|0)==(e|0)){g=0;return g|0}h=e;i=a+8|0;a=d;d=0;j=0;while(1){k=bc(c[i>>2]|0)|0;l=_t(a,h-a|0,b)|0;if((k|0)!=0){bc(k|0)|0}if((l|0)==(-1|0)|(l|0)==(-2|0)){g=d;m=15;break}else if((l|0)==0){n=1;o=a+1|0}else{n=l;o=a+l|0}l=n+d|0;k=j+1|0;if(k>>>0>=f>>>0|(o|0)==(e|0)){g=l;m=15;break}else{a=o;d=l;j=k}}if((m|0)==15){return g|0}return 0}function Ks(a){a=a|0;var b=0,d=0;b=c[a+8>>2]|0;do{if((b|0)==0){d=1}else{a=bc(b|0)|0;if((a|0)==0){d=4;break}bc(a|0)|0;d=4}}while(0);return d|0}function Ls(a){a=a|0;Sl(a|0);Pu(a);return}function Ms(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b|0;k=b+8|0;c[a>>2]=d;c[k>>2]=g;l=Ns(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=d+((c[a>>2]|0)-d>>1<<1);c[j>>2]=g+((c[k>>2]|0)-g);i=b;return l|0}function Ns(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=d;c[j>>2]=h;do{if((l&2|0)!=0){if((i-h|0)<3){m=1;return m|0}else{c[j>>2]=h+1;a[h]=-17;d=c[j>>2]|0;c[j>>2]=d+1;a[d]=-69;d=c[j>>2]|0;c[j>>2]=d+1;a[d]=-65;break}}}while(0);h=f;l=c[g>>2]|0;if(!(l>>>0<f>>>0)){m=0;return m|0}d=i;i=l;a:while(1){l=b[i>>1]|0;n=l&65535;if(n>>>0>k>>>0){m=2;o=26;break}do{if((l&65535)>>>0<128>>>0){p=c[j>>2]|0;if((d-p|0)<1){m=1;o=26;break a}c[j>>2]=p+1;a[p]=l}else{if((l&65535)>>>0<2048>>>0){p=c[j>>2]|0;if((d-p|0)<2){m=1;o=26;break a}c[j>>2]=p+1;a[p]=n>>>6|192;p=c[j>>2]|0;c[j>>2]=p+1;a[p]=n&63|128;break}if((l&65535)>>>0<55296>>>0){p=c[j>>2]|0;if((d-p|0)<3){m=1;o=26;break a}c[j>>2]=p+1;a[p]=n>>>12|224;p=c[j>>2]|0;c[j>>2]=p+1;a[p]=n>>>6&63|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p]=n&63|128;break}if(!((l&65535)>>>0<56320>>>0)){if((l&65535)>>>0<57344>>>0){m=2;o=26;break a}p=c[j>>2]|0;if((d-p|0)<3){m=1;o=26;break a}c[j>>2]=p+1;a[p]=n>>>12|224;p=c[j>>2]|0;c[j>>2]=p+1;a[p]=n>>>6&63|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p]=n&63|128;break}if((h-i|0)<4){m=1;o=26;break a}p=i+2|0;q=e[p>>1]|0;if((q&64512|0)!=56320){m=2;o=26;break a}if((d-(c[j>>2]|0)|0)<4){m=1;o=26;break a}r=n&960;if(((r<<10)+65536|n<<10&64512|q&1023)>>>0>k>>>0){m=2;o=26;break a}c[g>>2]=p;p=(r>>>6)+1|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r]=p>>>2|240;r=c[j>>2]|0;c[j>>2]=r+1;a[r]=n>>>2&15|p<<4&48|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p]=n<<4&48|q>>>6&15|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p]=q&63|128}}while(0);n=(c[g>>2]|0)+2|0;c[g>>2]=n;if(n>>>0<f>>>0){i=n}else{m=0;o=26;break}}if((o|0)==26){return m|0}return 0}function Os(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b|0;k=b+8|0;c[a>>2]=d;c[k>>2]=g;l=Ps(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=d+((c[a>>2]|0)-d);c[j>>2]=g+((c[k>>2]|0)-g>>1<<1);i=b;return l|0}function Ps(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var 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;c[g>>2]=e;c[j>>2]=h;h=c[g>>2]|0;do{if((l&4|0)==0){m=h}else{if((f-h|0)<=2){m=h;break}if(!((a[h]|0)==-17)){m=h;break}if(!((a[h+1|0]|0)==-69)){m=h;break}if(!((a[h+2|0]|0)==-65)){m=h;break}e=h+3|0;c[g>>2]=e;m=e}}while(0);a:do{if(m>>>0<f>>>0){h=f;l=i;e=c[j>>2]|0;n=m;b:while(1){if(!(e>>>0<i>>>0)){o=n;break a}p=a[n]|0;q=p&255;if(q>>>0>k>>>0){r=2;s=41;break}do{if(p<<24>>24>-1){b[e>>1]=p&255;c[g>>2]=n+1}else{if((p&255)>>>0<194>>>0){r=2;s=41;break b}if((p&255)>>>0<224>>>0){if((h-n|0)<2){r=1;s=41;break b}t=d[n+1|0]|0;if((t&192|0)!=128){r=2;s=41;break b}u=t&63|q<<6&1984;if(u>>>0>k>>>0){r=2;s=41;break b}b[e>>1]=u;c[g>>2]=n+2;break}if((p&255)>>>0<240>>>0){if((h-n|0)<3){r=1;s=41;break b}u=a[n+1|0]|0;t=a[n+2|0]|0;if((q|0)==224){if(!((u&-32)<<24>>24==-96)){r=2;s=41;break b}}else if((q|0)==237){if(!((u&-32)<<24>>24==-128)){r=2;s=41;break b}}else{if(!((u&-64)<<24>>24==-128)){r=2;s=41;break b}}v=t&255;if((v&192|0)!=128){r=2;s=41;break b}t=(u&255)<<6&4032|q<<12|v&63;if((t&65535)>>>0>k>>>0){r=2;s=41;break b}b[e>>1]=t;c[g>>2]=n+3;break}if(!((p&255)>>>0<245>>>0)){r=2;s=41;break b}if((h-n|0)<4){r=1;s=41;break b}t=a[n+1|0]|0;v=a[n+2|0]|0;u=a[n+3|0]|0;if((q|0)==240){if(!((t+112&255)>>>0<48>>>0)){r=2;s=41;break b}}else if((q|0)==244){if(!((t&-16)<<24>>24==-128)){r=2;s=41;break b}}else{if(!((t&-64)<<24>>24==-128)){r=2;s=41;break b}}w=v&255;if((w&192|0)!=128){r=2;s=41;break b}v=u&255;if((v&192|0)!=128){r=2;s=41;break b}if((l-e|0)<4){r=1;s=41;break b}u=q&7;x=t&255;t=w<<6;y=v&63;if((x<<12&258048|u<<18|t&4032|y)>>>0>k>>>0){r=2;s=41;break b}b[e>>1]=x<<2&60|w>>>4&3|((x>>>4&3|u<<2)<<6)+16320|55296;u=e+2|0;c[j>>2]=u;b[u>>1]=y|t&960|56320;c[g>>2]=(c[g>>2]|0)+4}}while(0);q=(c[j>>2]|0)+2|0;c[j>>2]=q;p=c[g>>2]|0;if(p>>>0<f>>>0){e=q;n=p}else{o=p;break a}}if((s|0)==41){return r|0}}else{o=m}}while(0);r=o>>>0<f>>>0|0;return r|0}function Qs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Rs(a){a=a|0;return 0}function Ss(a){a=a|0;return 0}function Ts(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Us(c,d,e,1114111,0)|0}function Us(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var 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;do{if((g&4|0)==0){h=b}else{if((c-b|0)<=2){h=b;break}if(!((a[b]|0)==-17)){h=b;break}if(!((a[b+1|0]|0)==-69)){h=b;break}h=(a[b+2|0]|0)==-65?b+3|0:b}}while(0);a:do{if(h>>>0<c>>>0&(e|0)!=0){g=c;i=0;j=h;b:while(1){k=a[j]|0;l=k&255;if(l>>>0>f>>>0){m=j;break a}do{if(k<<24>>24>-1){n=j+1|0;o=i}else{if((k&255)>>>0<194>>>0){m=j;break a}if((k&255)>>>0<224>>>0){if((g-j|0)<2){m=j;break a}p=d[j+1|0]|0;if((p&192|0)!=128){m=j;break a}if((p&63|l<<6&1984)>>>0>f>>>0){m=j;break a}n=j+2|0;o=i;break}if((k&255)>>>0<240>>>0){q=j;if((g-q|0)<3){m=j;break a}p=a[j+1|0]|0;r=a[j+2|0]|0;if((l|0)==224){if(!((p&-32)<<24>>24==-96)){s=21;break b}}else if((l|0)==237){if(!((p&-32)<<24>>24==-128)){s=23;break b}}else{if(!((p&-64)<<24>>24==-128)){s=25;break b}}t=r&255;if((t&192|0)!=128){m=j;break a}if(((p&255)<<6&4032|l<<12&61440|t&63)>>>0>f>>>0){m=j;break a}n=j+3|0;o=i;break}if(!((k&255)>>>0<245>>>0)){m=j;break a}u=j;if((g-u|0)<4){m=j;break a}if((e-i|0)>>>0<2>>>0){m=j;break a}t=a[j+1|0]|0;p=a[j+2|0]|0;r=a[j+3|0]|0;if((l|0)==244){if(!((t&-16)<<24>>24==-128)){s=36;break b}}else if((l|0)==240){if(!((t+112&255)>>>0<48>>>0)){s=34;break b}}else{if(!((t&-64)<<24>>24==-128)){s=38;break b}}v=p&255;if((v&192|0)!=128){m=j;break a}p=r&255;if((p&192|0)!=128){m=j;break a}if(((t&255)<<12&258048|l<<18&1835008|v<<6&4032|p&63)>>>0>f>>>0){m=j;break a}n=j+4|0;o=i+1|0}}while(0);l=o+1|0;if(n>>>0<c>>>0&l>>>0<e>>>0){i=l;j=n}else{m=n;break a}}if((s|0)==21){w=q-b|0;return w|0}else if((s|0)==23){w=q-b|0;return w|0}else if((s|0)==25){w=q-b|0;return w|0}else if((s|0)==34){w=u-b|0;return w|0}else if((s|0)==36){w=u-b|0;return w|0}else if((s|0)==38){w=u-b|0;return w|0}}else{m=h}}while(0);w=m-b|0;return w|0}function Vs(a){a=a|0;return 4}function Ws(a){a=a|0;Sl(a|0);Pu(a);return}function Xs(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b|0;k=b+8|0;c[a>>2]=d;c[k>>2]=g;l=Ys(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=d+((c[a>>2]|0)-d>>2<<2);c[j>>2]=g+((c[k>>2]|0)-g);i=b;return l|0}function Ys(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;c[e>>2]=b;c[h>>2]=f;do{if((j&2|0)!=0){if((g-f|0)<3){k=1;return k|0}else{c[h>>2]=f+1;a[f]=-17;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=-69;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=-65;break}}}while(0);f=c[e>>2]|0;if(!(f>>>0<d>>>0)){k=0;return k|0}j=g;g=f;a:while(1){f=c[g>>2]|0;if((f&-2048|0)==55296|f>>>0>i>>>0){k=2;l=19;break}do{if(f>>>0<128>>>0){b=c[h>>2]|0;if((j-b|0)<1){k=1;l=19;break a}c[h>>2]=b+1;a[b]=f}else{if(f>>>0<2048>>>0){b=c[h>>2]|0;if((j-b|0)<2){k=1;l=19;break a}c[h>>2]=b+1;a[b]=f>>>6|192;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=f&63|128;break}b=c[h>>2]|0;m=j-b|0;if(f>>>0<65536>>>0){if((m|0)<3){k=1;l=19;break a}c[h>>2]=b+1;a[b]=f>>>12|224;n=c[h>>2]|0;c[h>>2]=n+1;a[n]=f>>>6&63|128;n=c[h>>2]|0;c[h>>2]=n+1;a[n]=f&63|128;break}else{if((m|0)<4){k=1;l=19;break a}c[h>>2]=b+1;a[b]=f>>>18|240;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=f>>>12&63|128;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=f>>>6&63|128;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=f&63|128;break}}}while(0);f=(c[e>>2]|0)+4|0;c[e>>2]=f;if(f>>>0<d>>>0){g=f}else{k=0;l=19;break}}if((l|0)==19){return k|0}return 0}function Zs(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b|0;k=b+8|0;c[a>>2]=d;c[k>>2]=g;l=_s(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=d+((c[a>>2]|0)-d);c[j>>2]=g+((c[k>>2]|0)-g>>2<<2);i=b;return l|0}function _s(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[f>>2]=b;c[i>>2]=g;g=c[f>>2]|0;do{if((k&4|0)==0){l=g}else{if((e-g|0)<=2){l=g;break}if(!((a[g]|0)==-17)){l=g;break}if(!((a[g+1|0]|0)==-69)){l=g;break}if(!((a[g+2|0]|0)==-65)){l=g;break}b=g+3|0;c[f>>2]=b;l=b}}while(0);a:do{if(l>>>0<e>>>0){g=e;k=c[i>>2]|0;b=l;b:while(1){if(!(k>>>0<h>>>0)){m=b;break a}n=a[b]|0;o=n&255;do{if(n<<24>>24>-1){if(o>>>0>j>>>0){p=2;q=40;break b}c[k>>2]=o;c[f>>2]=b+1}else{if((n&255)>>>0<194>>>0){p=2;q=40;break b}if((n&255)>>>0<224>>>0){if((g-b|0)<2){p=1;q=40;break b}r=d[b+1|0]|0;if((r&192|0)!=128){p=2;q=40;break b}s=r&63|o<<6&1984;if(s>>>0>j>>>0){p=2;q=40;break b}c[k>>2]=s;c[f>>2]=b+2;break}if((n&255)>>>0<240>>>0){if((g-b|0)<3){p=1;q=40;break b}s=a[b+1|0]|0;r=a[b+2|0]|0;if((o|0)==224){if(!((s&-32)<<24>>24==-96)){p=2;q=40;break b}}else if((o|0)==237){if(!((s&-32)<<24>>24==-128)){p=2;q=40;break b}}else{if(!((s&-64)<<24>>24==-128)){p=2;q=40;break b}}t=r&255;if((t&192|0)!=128){p=2;q=40;break b}r=(s&255)<<6&4032|o<<12&61440|t&63;if(r>>>0>j>>>0){p=2;q=40;break b}c[k>>2]=r;c[f>>2]=b+3;break}if(!((n&255)>>>0<245>>>0)){p=2;q=40;break b}if((g-b|0)<4){p=1;q=40;break b}r=a[b+1|0]|0;t=a[b+2|0]|0;s=a[b+3|0]|0;if((o|0)==240){if(!((r+112&255)>>>0<48>>>0)){p=2;q=40;break b}}else if((o|0)==244){if(!((r&-16)<<24>>24==-128)){p=2;q=40;break b}}else{if(!((r&-64)<<24>>24==-128)){p=2;q=40;break b}}u=t&255;if((u&192|0)!=128){p=2;q=40;break b}t=s&255;if((t&192|0)!=128){p=2;q=40;break b}s=(r&255)<<12&258048|o<<18&1835008|u<<6&4032|t&63;if(s>>>0>j>>>0){p=2;q=40;break b}c[k>>2]=s;c[f>>2]=b+4}}while(0);o=(c[i>>2]|0)+4|0;c[i>>2]=o;n=c[f>>2]|0;if(n>>>0<e>>>0){k=o;b=n}else{m=n;break a}}if((q|0)==40){return p|0}}else{m=l}}while(0);p=m>>>0<e>>>0|0;return p|0}function $s(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function at(a){a=a|0;return 0}function bt(a){a=a|0;return 0}function ct(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dt(c,d,e,1114111,0)|0}function dt(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var 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;do{if((g&4|0)==0){h=b}else{if((c-b|0)<=2){h=b;break}if(!((a[b]|0)==-17)){h=b;break}if(!((a[b+1|0]|0)==-69)){h=b;break}h=(a[b+2|0]|0)==-65?b+3|0:b}}while(0);a:do{if(h>>>0<c>>>0&(e|0)!=0){g=c;i=1;j=h;b:while(1){k=a[j]|0;l=k&255;do{if(k<<24>>24>-1){if(l>>>0>f>>>0){m=j;break a}n=j+1|0}else{if((k&255)>>>0<194>>>0){m=j;break a}if((k&255)>>>0<224>>>0){if((g-j|0)<2){m=j;break a}o=d[j+1|0]|0;if((o&192|0)!=128){m=j;break a}if((o&63|l<<6&1984)>>>0>f>>>0){m=j;break a}n=j+2|0;break}if((k&255)>>>0<240>>>0){p=j;if((g-p|0)<3){m=j;break a}o=a[j+1|0]|0;q=a[j+2|0]|0;if((l|0)==224){if(!((o&-32)<<24>>24==-96)){r=21;break b}}else if((l|0)==237){if(!((o&-32)<<24>>24==-128)){r=23;break b}}else{if(!((o&-64)<<24>>24==-128)){r=25;break b}}s=q&255;if((s&192|0)!=128){m=j;break a}if(((o&255)<<6&4032|l<<12&61440|s&63)>>>0>f>>>0){m=j;break a}n=j+3|0;break}if(!((k&255)>>>0<245>>>0)){m=j;break a}t=j;if((g-t|0)<4){m=j;break a}s=a[j+1|0]|0;o=a[j+2|0]|0;q=a[j+3|0]|0;if((l|0)==240){if(!((s+112&255)>>>0<48>>>0)){r=33;break b}}else if((l|0)==244){if(!((s&-16)<<24>>24==-128)){r=35;break b}}else{if(!((s&-64)<<24>>24==-128)){r=37;break b}}u=o&255;if((u&192|0)!=128){m=j;break a}o=q&255;if((o&192|0)!=128){m=j;break a}if(((s&255)<<12&258048|l<<18&1835008|u<<6&4032|o&63)>>>0>f>>>0){m=j;break a}n=j+4|0}}while(0);if(!(n>>>0<c>>>0&i>>>0<e>>>0)){m=n;break a}i=i+1|0;j=n}if((r|0)==21){v=p-b|0;return v|0}else if((r|0)==23){v=p-b|0;return v|0}else if((r|0)==25){v=p-b|0;return v|0}else if((r|0)==33){v=t-b|0;return v|0}else if((r|0)==35){v=t-b|0;return v|0}else if((r|0)==37){v=t-b|0;return v|0}}else{m=h}}while(0);v=m-b|0;return v|0}function et(a){a=a|0;return 4}function ft(a){a=a|0;Sl(a|0);Pu(a);return}function gt(a){a=a|0;Sl(a|0);Pu(a);return}function ht(a){a=a|0;c[a>>2]=20096;rm(a+12|0);Sl(a|0);Pu(a);return}function it(a){a=a|0;c[a>>2]=20096;rm(a+12|0);Sl(a|0);return}function jt(a){a=a|0;c[a>>2]=20048;rm(a+16|0);Sl(a|0);Pu(a);return}function kt(a){a=a|0;c[a>>2]=20048;rm(a+16|0);Sl(a|0);return}function lt(b){b=b|0;return a[b+8|0]|0}function mt(a){a=a|0;return c[a+8>>2]|0}function nt(b){b=b|0;return a[b+9|0]|0}function ot(a){a=a|0;return c[a+12>>2]|0}function pt(a,b){a=a|0;b=b|0;om(a,b+12|0);return}function qt(a,b){a=a|0;b=b|0;om(a,b+16|0);return}function rt(a,b){a=a|0;b=b|0;pm(a,12536,4);return}function st(a,b){a=a|0;b=b|0;Am(a,12296,gu(12296)|0);return}function tt(a,b){a=a|0;b=b|0;pm(a,11952,5);return}function ut(a,b){a=a|0;b=b|0;Am(a,11608,gu(11608)|0);return}function vt(b){b=b|0;var d=0;if((a[51888]|0)!=0){d=c[8476]|0;return d|0}if((ub(51888)|0)==0){d=c[8476]|0;return d|0}do{if((a[51776]|0)==0){if((ub(51776)|0)==0){break}dv(32832,0,168)|0;Ub(322,0,u|0)|0}}while(0);sm(32832,16184)|0;sm(32844,16176)|0;sm(32856,16168)|0;sm(32868,16128)|0;sm(32880,16016)|0;sm(32892,16e3)|0;sm(32904,15984)|0;sm(32916,15960)|0;sm(32928,15904)|0;sm(32940,15824)|0;sm(32952,15816)|0;sm(32964,15808)|0;sm(32976,15776)|0;sm(32988,15712)|0;c[8476]=32832;d=c[8476]|0;return d|0}function wt(b){b=b|0;var d=0;if((a[51832]|0)!=0){d=c[8454]|0;return d|0}if((ub(51832)|0)==0){d=c[8454]|0;return d|0}do{if((a[51752]|0)==0){if((ub(51752)|0)==0){break}dv(32088,0,168)|0;Ub(176,0,u|0)|0}}while(0);Dm(32088,16912)|0;Dm(32100,16880)|0;Dm(32112,16840)|0;Dm(32124,16728)|0;Dm(32136,16648)|0;Dm(32148,16616)|0;Dm(32160,16576)|0;Dm(32172,16544)|0;Dm(32184,16448)|0;Dm(32196,16424)|0;Dm(32208,16360)|0;Dm(32220,16344)|0;Dm(32232,16320)|0;Dm(32244,16256)|0;c[8454]=32088;d=c[8454]|0;return d|0}function xt(b){b=b|0;var d=0;if((a[51880]|0)!=0){d=c[8474]|0;return d|0}if((ub(51880)|0)==0){d=c[8474]|0;return d|0}do{if((a[51768]|0)==0){if((ub(51768)|0)==0){break}dv(32544,0,288)|0;Ub(198,0,u|0)|0}}while(0);sm(32544,1360)|0;sm(32556,1272)|0;sm(32568,1208)|0;sm(32580,1096)|0;sm(32592,1088)|0;sm(32604,1064)|0;sm(32616,1016)|0;sm(32628,896)|0;sm(32640,800)|0;sm(32652,728)|0;sm(32664,688)|0;sm(32676,624)|0;sm(32688,528)|0;sm(32700,408)|0;sm(32712,400)|0;sm(32724,392)|0;sm(32736,1088)|0;sm(32748,376)|0;sm(32760,288)|0;sm(32772,17112)|0;sm(32784,17104)|0;sm(32796,17096)|0;sm(32808,17088)|0;sm(32820,17008)|0;c[8474]=32544;d=c[8474]|0;return d|0}function yt(b){b=b|0;var d=0;if((a[51824]|0)!=0){d=c[8452]|0;return d|0}if((ub(51824)|0)==0){d=c[8452]|0;return d|0}do{if((a[51744]|0)==0){if((ub(51744)|0)==0){break}dv(31800,0,288)|0;Ub(146,0,u|0)|0}}while(0);Dm(31800,4560)|0;Dm(31812,4352)|0;Dm(31824,4152)|0;Dm(31836,4048)|0;Dm(31848,2448)|0;Dm(31860,3856)|0;Dm(31872,3760)|0;Dm(31884,3592)|0;Dm(31896,3424)|0;Dm(31908,3312)|0;Dm(31920,3184)|0;Dm(31932,3040)|0;Dm(31944,2880)|0;Dm(31956,2800)|0;Dm(31968,2680)|0;Dm(31980,2584)|0;Dm(31992,2448)|0;Dm(32004,2304)|0;Dm(32016,2120)|0;Dm(32028,2032)|0;Dm(32040,1904)|0;Dm(32052,1712)|0;Dm(32064,1544)|0;Dm(32076,1408)|0;c[8452]=31800;d=c[8452]|0;return d|0}function zt(b){b=b|0;var d=0;if((a[51896]|0)!=0){d=c[8478]|0;return d|0}if((ub(51896)|0)==0){d=c[8478]|0;return d|0}do{if((a[51784]|0)==0){if((ub(51784)|0)==0){break}dv(33e3,0,288)|0;Ub(144,0,u|0)|0}}while(0);sm(33e3,5080)|0;sm(33012,4872)|0;c[8478]=33e3;d=c[8478]|0;return d|0}function At(b){b=b|0;var d=0;if((a[51840]|0)!=0){d=c[8456]|0;return d|0}if((ub(51840)|0)==0){d=c[8456]|0;return d|0}do{if((a[51760]|0)==0){if((ub(51760)|0)==0){break}dv(32256,0,288)|0;Ub(208,0,u|0)|0}}while(0);Dm(32256,5568)|0;Dm(32268,5432)|0;c[8456]=32256;d=c[8456]|0;return d|0}function Bt(b){b=b|0;if((a[51904]|0)!=0){return 33920}if((ub(51904)|0)==0){return 33920}pm(33920,11072,8);Ub(314,33920,u|0)|0;return 33920}function Ct(b){b=b|0;if((a[51848]|0)!=0){return 33832}if((ub(51848)|0)==0){return 33832}Am(33832,10808,gu(10808)|0);Ub(230,33832,u|0)|0;return 33832}function Dt(b){b=b|0;if((a[51928]|0)!=0){return 33968}if((ub(51928)|0)==0){return 33968}pm(33968,10560,8);Ub(314,33968,u|0)|0;return 33968}function Et(b){b=b|0;if((a[51872]|0)!=0){return 33880}if((ub(51872)|0)==0){return 33880}Am(33880,10240,gu(10240)|0);Ub(230,33880,u|0)|0;return 33880}function Ft(b){b=b|0;if((a[51920]|0)!=0){return 33952}if((ub(51920)|0)==0){return 33952}pm(33952,9920,20);Ub(314,33952,u|0)|0;return 33952}function Gt(b){b=b|0;if((a[51864]|0)!=0){return 33864}if((ub(51864)|0)==0){return 33864}Am(33864,9512,gu(9512)|0);Ub(230,33864,u|0)|0;return 33864}function Ht(b){b=b|0;if((a[51912]|0)!=0){return 33936}if((ub(51912)|0)==0){return 33936}pm(33936,9144,11);Ub(314,33936,u|0)|0;return 33936}function It(b){b=b|0;if((a[51856]|0)!=0){return 33848}if((ub(51856)|0)==0){return 33848}Am(33848,8832,gu(8832)|0);Ub(230,33848,u|0)|0;return 33848}function Jt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0.0,j=0,k=0,l=0,m=0.0;f=i;i=i+8|0;g=f|0;if((b|0)==(d|0)){c[e>>2]=4;h=0.0;i=f;return+h}j=Vb()|0;k=c[j>>2]|0;c[j>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);m=+bv(b,g,c[8330]|0);b=c[j>>2]|0;if((b|0)==0){c[j>>2]=k}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;h=0.0;i=f;return+h}if((b|0)!=34){h=m;i=f;return+h}c[e>>2]=4;h=m;i=f;return+h}function Kt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0.0,j=0,k=0,l=0,m=0.0;f=i;i=i+8|0;g=f|0;if((b|0)==(d|0)){c[e>>2]=4;h=0.0;i=f;return+h}j=Vb()|0;k=c[j>>2]|0;c[j>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);m=+bv(b,g,c[8330]|0);b=c[j>>2]|0;if((b|0)==0){c[j>>2]=k}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;h=0.0;i=f;return+h}if((b|0)!=34){h=m;i=f;return+h}c[e>>2]=4;h=m;i=f;return+h}function Lt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0.0,j=0,k=0,l=0,m=0.0;f=i;i=i+8|0;g=f|0;if((b|0)==(d|0)){c[e>>2]=4;h=0.0;i=f;return+h}j=Vb()|0;k=c[j>>2]|0;c[j>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);m=+bv(b,g,c[8330]|0);b=c[j>>2]|0;if((b|0)==0){c[j>>2]=k}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;h=0.0;i=f;return+h}if((b|0)==34){c[e>>2]=4}h=m;i=f;return+h}function Mt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+8|0;h=g|0;do{if((b|0)==(d|0)){c[e>>2]=4;j=0;k=0}else{if((a[b]|0)==45){c[e>>2]=4;j=0;k=0;break}l=Vb()|0;m=c[l>>2]|0;c[l>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}n=Xa(2147483647,14472,0)|0;c[8330]=n}}while(0);n=Ib(b|0,h|0,f|0,c[8330]|0)|0;o=c[l>>2]|0;if((o|0)==0){c[l>>2]=m}if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;k=0;break}if((o|0)!=34){j=K;k=n;break}c[e>>2]=4;j=-1;k=-1}}while(0);i=g;return(K=j,k)|0}function Nt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+8|0;h=g|0;if((b|0)==(d|0)){c[e>>2]=4;j=0;i=g;return j|0}if((a[b]|0)==45){c[e>>2]=4;j=0;i=g;return j|0}k=Vb()|0;l=c[k>>2]|0;c[k>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}m=Xa(2147483647,14472,0)|0;c[8330]=m}}while(0);m=Ib(b|0,h|0,f|0,c[8330]|0)|0;f=K;b=c[k>>2]|0;if((b|0)==0){c[k>>2]=l}if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;i=g;return j|0}d=0;if((b|0)==34|(f>>>0>d>>>0|f>>>0==d>>>0&m>>>0>-1>>>0)){c[e>>2]=4;j=-1;i=g;return j|0}else{j=m;i=g;return j|0}return 0}function Ot(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+8|0;h=g|0;if((b|0)==(d|0)){c[e>>2]=4;j=0;i=g;return j|0}if((a[b]|0)==45){c[e>>2]=4;j=0;i=g;return j|0}k=Vb()|0;l=c[k>>2]|0;c[k>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}m=Xa(2147483647,14472,0)|0;c[8330]=m}}while(0);m=Ib(b|0,h|0,f|0,c[8330]|0)|0;f=K;b=c[k>>2]|0;if((b|0)==0){c[k>>2]=l}if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;i=g;return j|0}d=0;if((b|0)==34|(f>>>0>d>>>0|f>>>0==d>>>0&m>>>0>-1>>>0)){c[e>>2]=4;j=-1;i=g;return j|0}else{j=m;i=g;return j|0}return 0}function Pt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+8|0;h=g|0;if((b|0)==(d|0)){c[e>>2]=4;j=0;i=g;return j|0}if((a[b]|0)==45){c[e>>2]=4;j=0;i=g;return j|0}k=Vb()|0;l=c[k>>2]|0;c[k>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}m=Xa(2147483647,14472,0)|0;c[8330]=m}}while(0);m=Ib(b|0,h|0,f|0,c[8330]|0)|0;f=K;b=c[k>>2]|0;if((b|0)==0){c[k>>2]=l}if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;i=g;return j|0}d=0;if((b|0)==34|(f>>>0>d>>>0|f>>>0==d>>>0&m>>>0>65535>>>0)){c[e>>2]=4;j=-1;i=g;return j|0}else{j=m&65535;i=g;return j|0}return 0}function Qt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+8|0;h=g|0;if((b|0)==(d|0)){c[e>>2]=4;j=0;k=0;i=g;return(K=j,k)|0}l=Vb()|0;m=c[l>>2]|0;c[l>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}n=Xa(2147483647,14472,0)|0;c[8330]=n}}while(0);n=Lb(b|0,h|0,f|0,c[8330]|0)|0;f=K;b=c[l>>2]|0;if((b|0)==0){c[l>>2]=m}if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;k=0;i=g;return(K=j,k)|0}if((b|0)==34){c[e>>2]=4;e=0;b=(f|0)>(e|0)|(f|0)==(e|0)&n>>>0>0>>>0;i=g;return(K=b?2147483647:-2147483648,b?-1:0)|0}else{j=f;k=n;i=g;return(K=j,k)|0}return 0}function Rt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+8|0;h=g|0;if((b|0)==(d|0)){c[e>>2]=4;j=0;i=g;return j|0}k=Vb()|0;l=c[k>>2]|0;c[k>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}m=Xa(2147483647,14472,0)|0;c[8330]=m}}while(0);m=Lb(b|0,h|0,f|0,c[8330]|0)|0;f=K;b=c[k>>2]|0;if((b|0)==0){c[k>>2]=l}if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;i=g;return j|0}do{if((b|0)==34){c[e>>2]=4;d=0;if((f|0)>(d|0)|(f|0)==(d|0)&m>>>0>0>>>0){j=2147483647}else{break}i=g;return j|0}else{d=-1;if((f|0)<(d|0)|(f|0)==(d|0)&m>>>0<-2147483648>>>0){c[e>>2]=4;break}d=0;if((f|0)>(d|0)|(f|0)==(d|0)&m>>>0>2147483647>>>0){c[e>>2]=4;j=2147483647;i=g;return j|0}else{j=m;i=g;return j|0}}}while(0);j=-2147483648;i=g;return j|0}function St(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;d=(c[a>>2]|0)+(c[b+4>>2]|0)|0;a=d;e=c[b>>2]|0;if((e&1|0)==0){f=e;Dc[f&511](a);return}else{f=c[(c[d>>2]|0)+(e-1)>>2]|0;Dc[f&511](a);return}}function Tt(b,d){b=b|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,p=0,q=0,r=0;e=b+8|0;f=b+4|0;g=c[f>>2]|0;h=c[e>>2]|0;i=g;if(!(h-i>>2>>>0<d>>>0)){j=d;k=g;do{if((k|0)==0){l=0}else{c[k>>2]=0;l=c[f>>2]|0}k=l+4|0;c[f>>2]=k;j=j-1|0;}while((j|0)!=0);return}j=b+16|0;k=b|0;l=c[k>>2]|0;g=i-l>>2;i=g+d|0;if(i>>>0>1073741823>>>0){Nr(0)}m=h-l|0;do{if(m>>2>>>0<536870911>>>0){l=m>>1;h=l>>>0<i>>>0?i:l;if((h|0)==0){n=0;o=0;break}l=b+128|0;if(!((a[l]|0)==0&h>>>0<29>>>0)){p=h;q=11;break}a[l]=1;n=j;o=h}else{p=1073741823;q=11}}while(0);if((q|0)==11){n=Nu(p<<2)|0;o=p}p=d;d=n+(g<<2)|0;do{if((d|0)==0){r=0}else{c[d>>2]=0;r=d}d=r+4|0;p=p-1|0;}while((p|0)!=0);p=c[k>>2]|0;r=(c[f>>2]|0)-p|0;q=n+(g-(r>>2)<<2)|0;g=p;cv(q|0,g|0,r)|0;c[k>>2]=q;c[f>>2]=d;c[e>>2]=n+(o<<2);if((p|0)==0){return}if((j|0)==(p|0)){a[b+128|0]=0;return}else{Pu(g);return}}function Ut(a){a=a|0;Cm(32532);Cm(32520);Cm(32508);Cm(32496);Cm(32484);Cm(32472);Cm(32460);Cm(32448);Cm(32436);Cm(32424);Cm(32412);Cm(32400);Cm(32388);Cm(32376);Cm(32364);Cm(32352);Cm(32340);Cm(32328);Cm(32316);Cm(32304);Cm(32292);Cm(32280);Cm(32268);Cm(32256);return}function Vt(a){a=a|0;rm(33276);rm(33264);rm(33252);rm(33240);rm(33228);rm(33216);rm(33204);rm(33192);rm(33180);rm(33168);rm(33156);rm(33144);rm(33132);rm(33120);rm(33108);rm(33096);rm(33084);rm(33072);rm(33060);rm(33048);rm(33036);rm(33024);rm(33012);rm(33e3);return}function Wt(a){a=a|0;Cm(32076);Cm(32064);Cm(32052);Cm(32040);Cm(32028);Cm(32016);Cm(32004);Cm(31992);Cm(31980);Cm(31968);Cm(31956);Cm(31944);Cm(31932);Cm(31920);Cm(31908);Cm(31896);Cm(31884);Cm(31872);Cm(31860);Cm(31848);Cm(31836);Cm(31824);Cm(31812);Cm(31800);return}function Xt(a){a=a|0;rm(32820);rm(32808);rm(32796);rm(32784);rm(32772);rm(32760);rm(32748);rm(32736);rm(32724);rm(32712);rm(32700);rm(32688);rm(32676);rm(32664);rm(32652);rm(32640);rm(32628);rm(32616);rm(32604);rm(32592);rm(32580);rm(32568);rm(32556);rm(32544);return}function Yt(a){a=a|0;Cm(32244);Cm(32232);Cm(32220);Cm(32208);Cm(32196);Cm(32184);Cm(32172);Cm(32160);Cm(32148);Cm(32136);Cm(32124);Cm(32112);Cm(32100);Cm(32088);return}function Zt(a){a=a|0;rm(32988);rm(32976);rm(32964);rm(32952);rm(32940);rm(32928);rm(32916);rm(32904);rm(32892);rm(32880);rm(32868);rm(32856);rm(32844);rm(32832);return}function _t(a,b,c){a=a|0;b=b|0;c=c|0;return $t(0,a,b,(c|0)!=0?c:31056)|0}function $t(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+8|0;h=g|0;c[h>>2]=b;j=((f|0)==0?31048:f)|0;f=c[j>>2]|0;a:do{if((d|0)==0){if((f|0)==0){k=0}else{break}i=g;return k|0}else{if((b|0)==0){l=h;c[h>>2]=l;m=l}else{m=b}if((e|0)==0){k=-2;i=g;return k|0}do{if((f|0)==0){l=a[d]|0;n=l&255;if(l<<24>>24>-1){c[m>>2]=n;k=l<<24>>24!=0|0;i=g;return k|0}else{l=n-194|0;if(l>>>0>50>>>0){break a}o=d+1|0;p=c[18936+(l<<2)>>2]|0;q=e-1|0;break}}else{o=d;p=f;q=e}}while(0);b:do{if((q|0)==0){r=p}else{l=a[o]|0;n=(l&255)>>>3;if((n-16|n+(p>>26))>>>0>7>>>0){break a}else{s=o;t=p;u=q;v=l}while(1){s=s+1|0;t=(v&255)-128|t<<6;u=u-1|0;if((t|0)>=0){break}if((u|0)==0){r=t;break b}v=a[s]|0;if(((v&255)-128|0)>>>0>63>>>0){break a}}c[j>>2]=0;c[m>>2]=t;k=e-u|0;i=g;return k|0}}while(0);c[j>>2]=r;k=-2;i=g;return k|0}}while(0);c[j>>2]=0;j=Vb()|0;c[j>>2]=84;k=-1;i=g;return k|0}function au(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=i;i=i+1032|0;h=g+1024|0;j=c[b>>2]|0;c[h>>2]=j;k=(a|0)!=0;l=g|0;m=k?e:256;e=k?a:l;a:do{if((j|0)==0|(m|0)==0){n=d;o=0;p=m;q=e;r=j}else{a=m;s=0;t=e;u=d;v=j;while(1){w=u>>>2;x=w>>>0>=a>>>0;if(!(x|u>>>0>131>>>0)){n=u;o=s;p=a;q=t;r=v;break a}y=x?a:w;z=u-y|0;w=bu(t,h,y,f)|0;if((w|0)==-1){break}if((t|0)==(l|0)){A=l;B=a}else{A=t+(w<<2)|0;B=a-w|0}y=w+s|0;w=c[h>>2]|0;if((w|0)==0|(B|0)==0){n=z;o=y;p=B;q=A;r=w;break a}else{a=B;s=y;t=A;u=z;v=w}}n=z;o=-1;p=0;q=t;r=c[h>>2]|0}}while(0);b:do{if((r|0)==0){C=o}else{if((p|0)==0|(n|0)==0){C=o;break}else{D=p;E=o;F=q;G=n;H=r}while(1){I=$t(F,H,G,f)|0;if((I+2|0)>>>0<3>>>0){break}z=(c[h>>2]|0)+I|0;c[h>>2]=z;A=D-1|0;B=E+1|0;if((A|0)==0|(G|0)==(I|0)){C=B;break b}else{D=A;E=B;F=F+4|0;G=G-I|0;H=z}}if((I|0)==0){c[h>>2]=0;C=E;break}else if((I|0)==(-1|0)){C=-1;break}else{c[f>>2]=0;C=E;break}}}while(0);if(!k){J=1024;K=0;i=g;return C|0}c[b>>2]=c[h>>2];J=1024;K=0;i=g;return C|0}function bu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,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;h=c[e>>2]|0;do{if((g|0)==0){i=5}else{j=g|0;k=c[j>>2]|0;if((k|0)==0){i=5;break}if((b|0)==0){l=k;m=h;n=f;i=16;break}c[j>>2]=0;o=k;p=h;q=b;r=f;i=36}}while(0);if((i|0)==5){if((b|0)==0){s=h;t=f;i=7}else{u=h;v=b;w=f;i=6}}a:while(1){if((i|0)==6){i=0;if((w|0)==0){x=f;i=53;break}else{y=w;z=v;A=u}while(1){h=a[A]|0;do{if(((h&255)-1|0)>>>0<127>>>0){if((A&3|0)==0&y>>>0>3>>>0){B=y;C=z;D=A}else{E=A;F=z;G=y;H=h;break}while(1){I=c[D>>2]|0;if(((I-16843009|I)&-2139062144|0)!=0){i=30;break}c[C>>2]=I&255;c[C+4>>2]=d[D+1|0]|0;c[C+8>>2]=d[D+2|0]|0;J=D+4|0;K=C+16|0;c[C+12>>2]=d[D+3|0]|0;L=B-4|0;if(L>>>0>3>>>0){B=L;C=K;D=J}else{i=31;break}}if((i|0)==30){i=0;E=D;F=C;G=B;H=I&255;break}else if((i|0)==31){i=0;E=J;F=K;G=L;H=a[J]|0;break}}else{E=A;F=z;G=y;H=h}}while(0);M=H&255;if(!((M-1|0)>>>0<127>>>0)){break}c[F>>2]=M;h=G-1|0;if((h|0)==0){x=f;i=53;break a}else{y=h;z=F+4|0;A=E+1|0}}h=M-194|0;if(h>>>0>50>>>0){N=G;O=F;P=E;i=47;break}o=c[18936+(h<<2)>>2]|0;p=E+1|0;q=F;r=G;i=36;continue}else if((i|0)==7){i=0;h=a[s]|0;do{if(((h&255)-1|0)>>>0<127>>>0){if((s&3|0)!=0){Q=s;R=t;S=h;break}g=c[s>>2]|0;if(((g-16843009|g)&-2139062144|0)==0){T=t;U=s}else{Q=s;R=t;S=g&255;break}do{U=U+4|0;T=T-4|0;V=c[U>>2]|0;}while(((V-16843009|V)&-2139062144|0)==0);Q=U;R=T;S=V&255}else{Q=s;R=t;S=h}}while(0);h=S&255;if((h-1|0)>>>0<127>>>0){s=Q+1|0;t=R-1|0;i=7;continue}g=h-194|0;if(g>>>0>50>>>0){N=R;O=b;P=Q;i=47;break}l=c[18936+(g<<2)>>2]|0;m=Q+1|0;n=R;i=16;continue}else if((i|0)==16){i=0;g=(d[m]|0)>>>3;if((g-16|g+(l>>26))>>>0>7>>>0){i=17;break}g=m+1|0;do{if((l&33554432|0)==0){W=g}else{if(((d[g]|0)-128|0)>>>0>63>>>0){i=20;break a}h=m+2|0;if((l&524288|0)==0){W=h;break}if(((d[h]|0)-128|0)>>>0>63>>>0){i=23;break a}W=m+3|0}}while(0);s=W;t=n-1|0;i=7;continue}else if((i|0)==36){i=0;g=d[p]|0;h=g>>>3;if((h-16|h+(o>>26))>>>0>7>>>0){i=37;break}h=p+1|0;X=g-128|o<<6;do{if((X|0)<0){g=(d[h]|0)-128|0;if(g>>>0>63>>>0){i=40;break a}k=p+2|0;Y=g|X<<6;if((Y|0)>=0){Z=Y;_=k;break}g=(d[k]|0)-128|0;if(g>>>0>63>>>0){i=43;break a}Z=g|Y<<6;_=p+3|0}else{Z=X;_=h}}while(0);c[q>>2]=Z;u=_;v=q+4|0;w=r-1|0;i=6;continue}}if((i|0)==17){$=l;aa=m-1|0;ba=b;ca=n;i=46}else if((i|0)==20){$=l;aa=m-1|0;ba=b;ca=n;i=46}else if((i|0)==23){$=l;aa=m-1|0;ba=b;ca=n;i=46}else if((i|0)==37){$=o;aa=p-1|0;ba=q;ca=r;i=46}else if((i|0)==40){$=X;aa=p-1|0;ba=q;ca=r;i=46}else if((i|0)==43){$=Y;aa=p-1|0;ba=q;ca=r;i=46}else if((i|0)==53){return x|0}if((i|0)==46){if(($|0)==0){N=ca;O=ba;P=aa;i=47}else{da=ba;ea=aa}}do{if((i|0)==47){if((a[P]|0)!=0){da=O;ea=P;break}if((O|0)!=0){c[O>>2]=0;c[e>>2]=0}x=f-N|0;return x|0}}while(0);N=Vb()|0;c[N>>2]=84;if((da|0)==0){x=-1;return x|0}c[e>>2]=ea;x=-1;return x|0}function cu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+8|0;h=g|0;c[h>>2]=b;if((e|0)==0){j=0;i=g;return j|0}do{if((f|0)!=0){if((b|0)==0){k=h;c[h>>2]=k;l=k}else{l=b}k=a[e]|0;m=k&255;if(k<<24>>24>-1){c[l>>2]=m;j=k<<24>>24!=0|0;i=g;return j|0}k=m-194|0;if(k>>>0>50>>>0){break}m=e+1|0;n=c[18936+(k<<2)>>2]|0;if(f>>>0<4>>>0){if((n&-2147483648>>>(((f*6|0)-6|0)>>>0)|0)!=0){break}}k=d[m]|0;m=k>>>3;if((m-16|m+(n>>26))>>>0>7>>>0){break}m=k-128|n<<6;if((m|0)>=0){c[l>>2]=m;j=2;i=g;return j|0}n=(d[e+2|0]|0)-128|0;if(n>>>0>63>>>0){break}k=n|m<<6;if((k|0)>=0){c[l>>2]=k;j=3;i=g;return j|0}m=(d[e+3|0]|0)-128|0;if(m>>>0>63>>>0){break}c[l>>2]=m|k<<6;j=4;i=g;return j|0}}while(0);l=Vb()|0;c[l>>2]=84;j=-1;i=g;return j|0}function du(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((b|0)==0){f=1;return f|0}if(d>>>0<128>>>0){a[b]=d;f=1;return f|0}if(d>>>0<2048>>>0){a[b]=d>>>6|192;a[b+1|0]=d&63|128;f=2;return f|0}if(d>>>0<55296>>>0|(d-57344|0)>>>0<8192>>>0){a[b]=d>>>12|224;a[b+1|0]=d>>>6&63|128;a[b+2|0]=d&63|128;f=3;return f|0}if((d-65536|0)>>>0<1048576>>>0){a[b]=d>>>18|240;a[b+1|0]=d>>>12&63|128;a[b+2|0]=d>>>6&63|128;a[b+3|0]=d&63|128;f=4;return f|0}else{d=Vb()|0;c[d>>2]=84;f=-1;return f|0}return 0}function eu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;f=i;i=i+264|0;g=f+256|0;h=f|0;j=c[b>>2]|0;c[g>>2]=j;k=(a|0)!=0;l=k?e:256;e=k?a:h;a:do{if((j|0)==0|(l|0)==0){m=d;n=0;o=l;p=e;q=j}else{a=l;r=0;s=e;t=d;u=j;while(1){v=t>>>0>=a>>>0;if(!(v|t>>>0>32>>>0)){m=t;n=r;o=a;p=s;q=u;break a}w=v?a:t;x=t-w|0;v=fu(s,g,w,0)|0;if((v|0)==-1){break}if((s|0)==(h|0)){y=h;z=a}else{y=s+v|0;z=a-v|0}w=v+r|0;v=c[g>>2]|0;if((v|0)==0|(z|0)==0){m=x;n=w;o=z;p=y;q=v;break a}else{a=z;r=w;s=y;t=x;u=v}}m=x;n=-1;o=0;p=s;q=c[g>>2]|0}}while(0);b:do{if((q|0)==0){A=n}else{if((o|0)==0|(m|0)==0){A=n;break}else{B=o;C=n;D=p;E=m;F=q}while(1){G=du(D,c[F>>2]|0,0)|0;if((G+1|0)>>>0<2>>>0){break}x=(c[g>>2]|0)+4|0;c[g>>2]=x;y=E-1|0;z=C+1|0;if((B|0)==(G|0)|(y|0)==0){A=z;break b}else{B=B-G|0;C=z;D=D+G|0;E=y;F=x}}if((G|0)!=0){A=-1;break}c[g>>2]=0;A=C}}while(0);if(!k){H=256;I=0;i=f;return A|0}c[b>>2]=c[g>>2];H=256;I=0;i=f;return A|0}function fu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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,A=0;f=i;i=i+8|0;g=f|0;if((b|0)==0){h=c[d>>2]|0;j=g|0;k=c[h>>2]|0;if((k|0)==0){l=0;i=f;return l|0}else{m=0;n=h;o=k}while(1){if(o>>>0>127>>>0){k=du(j,o,0)|0;if((k|0)==-1){l=-1;p=26;break}else{q=k}}else{q=1}k=q+m|0;h=n+4|0;r=c[h>>2]|0;if((r|0)==0){l=k;p=26;break}else{m=k;n=h;o=r}}if((p|0)==26){i=f;return l|0}}a:do{if(e>>>0>3>>>0){o=e;n=b;m=c[d>>2]|0;while(1){q=c[m>>2]|0;if((q|0)==0){s=o;t=n;break a}if(q>>>0>127>>>0){j=du(n,q,0)|0;if((j|0)==-1){l=-1;break}u=n+j|0;v=o-j|0;w=m}else{a[n]=q;u=n+1|0;v=o-1|0;w=c[d>>2]|0}q=w+4|0;c[d>>2]=q;if(v>>>0>3>>>0){o=v;n=u;m=q}else{s=v;t=u;break a}}i=f;return l|0}else{s=e;t=b}}while(0);b:do{if((s|0)==0){x=0}else{b=g|0;u=s;v=t;w=c[d>>2]|0;while(1){m=c[w>>2]|0;if((m|0)==0){p=24;break}if(m>>>0>127>>>0){n=du(b,m,0)|0;if((n|0)==-1){l=-1;p=26;break}if(n>>>0>u>>>0){p=20;break}du(v,c[w>>2]|0,0)|0;y=v+n|0;z=u-n|0;A=w}else{a[v]=m;y=v+1|0;z=u-1|0;A=c[d>>2]|0}m=A+4|0;c[d>>2]=m;if((z|0)==0){x=0;break b}else{u=z;v=y;w=m}}if((p|0)==20){l=e-u|0;i=f;return l|0}else if((p|0)==24){a[v]=0;x=u;break}else if((p|0)==26){i=f;return l|0}}}while(0);c[d>>2]=0;l=e-x|0;i=f;return l|0}function gu(a){a=a|0;var b=0;b=a;while(1){if((c[b>>2]|0)==0){break}else{b=b+4|0}}return b-a>>2|0}function hu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0){return a|0}else{e=b;f=d;g=a}while(1){d=f-1|0;c[g>>2]=c[e>>2];if((d|0)==0){break}else{e=e+4|0;f=d;g=g+4|0}}return a|0}function iu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=(d|0)==0;if(a-b>>2>>>0<d>>>0){if(e){return a|0}else{f=d}do{f=f-1|0;c[a+(f<<2)>>2]=c[b+(f<<2)>>2];}while((f|0)!=0);return a|0}else{if(e){return a|0}else{g=b;h=d;i=a}while(1){d=h-1|0;c[i>>2]=c[g>>2];if((d|0)==0){break}else{g=g+4|0;h=d;i=i+4|0}}return a|0}return 0}function ju(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==0){return a|0}else{e=d;f=a}while(1){d=e-1|0;c[f>>2]=b;if((d|0)==0){break}else{e=d;f=f+4|0}}return a|0}function ku(a){a=a|0;return}function lu(a){a=a|0;c[a>>2]=19504;return}function mu(a){a=a|0;Pu(a);return}function nu(a){a=a|0;return}function ou(a){a=a|0;return 7128}function pu(a){a=a|0;ku(a|0);return}function qu(a){a=a|0;return}function ru(a){a=a|0;return}function su(a){a=a|0;ku(a|0);Pu(a);return}function tu(a){a=a|0;ku(a|0);Pu(a);return}function uu(a){a=a|0;ku(a|0);Pu(a);return}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+56|0;f=e|0;if((a|0)==(b|0)){g=1;i=e;return g|0}if((b|0)==0){g=0;i=e;return g|0}h=zu(b,27072,27056,0)|0;b=h;if((h|0)==0){g=0;i=e;return g|0}dv(f|0,0,56)|0;c[f>>2]=b;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Wc[c[(c[h>>2]|0)+28>>2]&63](b,f,c[d>>2]|0,1);if((c[f+24>>2]|0)!=1){g=0;i=e;return g|0}c[d>>2]=c[f+16>>2];g=1;i=e;return g|0}function wu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((c[d+8>>2]|0)!=(b|0)){return}b=d+16|0;g=c[b>>2]|0;if((g|0)==0){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((g|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}e=d+24|0;if((c[e>>2]|0)!=2){return}c[e>>2]=f;return}function xu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((b|0)!=(c[d+8>>2]|0)){g=c[b+8>>2]|0;Wc[c[(c[g>>2]|0)+28>>2]&63](g,d,e,f);return}g=d+16|0;b=c[g>>2]|0;if((b|0)==0){c[g>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((b|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}e=d+24|0;if((c[e>>2]|0)!=2){return}c[e>>2]=f;return}function yu(b,d,e,f){b=b|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;if((b|0)==(c[d+8>>2]|0)){g=d+16|0;h=c[g>>2]|0;if((h|0)==0){c[g>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}h=d+24|0;if((c[h>>2]|0)!=2){return}c[h>>2]=f;return}h=c[b+12>>2]|0;g=b+16+(h<<3)|0;i=c[b+20>>2]|0;j=i>>8;if((i&1|0)==0){k=j}else{k=c[(c[e>>2]|0)+j>>2]|0}j=c[b+16>>2]|0;Wc[c[(c[j>>2]|0)+28>>2]&63](j,d,e+k|0,(i&2|0)!=0?f:2);if((h|0)<=1){return}h=d+54|0;i=e;k=b+24|0;while(1){b=c[k+4>>2]|0;j=b>>8;if((b&1|0)==0){l=j}else{l=c[(c[i>>2]|0)+j>>2]|0}j=c[k>>2]|0;Wc[c[(c[j>>2]|0)+28>>2]&63](j,d,e+l|0,(b&2|0)!=0?f:2);if((a[h]|0)!=0){m=16;break}b=k+8|0;if(b>>>0<g>>>0){k=b}else{m=16;break}}if((m|0)==16){return}}function zu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+56|0;g=f|0;h=c[a>>2]|0;j=a+(c[h-8>>2]|0)|0;k=c[h-4>>2]|0;h=k;c[g>>2]=d;c[g+4>>2]=a;c[g+8>>2]=b;c[g+12>>2]=e;e=g+16|0;b=g+20|0;a=g+24|0;l=g+28|0;m=g+32|0;n=g+40|0;dv(e|0,0,39)|0;do{if((k|0)==(d|0)){c[g+48>>2]=1;Kc[c[(c[k>>2]|0)+20>>2]&63](h,g,j,j,1,0);o=(c[a>>2]|0)==1?j:0}else{Cc[c[(c[k>>2]|0)+24>>2]&31](h,g,j,1,0);p=c[g+36>>2]|0;if((p|0)==0){if((c[n>>2]|0)!=1){o=0;break}if((c[l>>2]|0)!=1){o=0;break}o=(c[m>>2]|0)==1?c[b>>2]|0:0;break}else if((p|0)!=1){o=0;break}if((c[a>>2]|0)!=1){if((c[n>>2]|0)!=0){o=0;break}if((c[l>>2]|0)!=1){o=0;break}if((c[m>>2]|0)!=1){o=0;break}}o=c[e>>2]|0}}while(0);i=f;return o|0}function Au(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=b|0;if((h|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){return}i=d+28|0;if((c[i>>2]|0)==1){return}c[i>>2]=f;return}if((h|0)==(c[d>>2]|0)){do{if((c[d+16>>2]|0)!=(e|0)){h=d+20|0;if((c[h>>2]|0)==(e|0)){break}c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4){return}j=c[b+12>>2]|0;k=b+16+(j<<3)|0;a:do{if((j|0)>0){l=d+52|0;m=d+53|0;n=d+54|0;o=b+8|0;p=d+24|0;q=e;r=0;s=b+16|0;t=0;b:while(1){a[l]=0;a[m]=0;u=c[s+4>>2]|0;v=u>>8;if((u&1|0)==0){w=v}else{w=c[(c[q>>2]|0)+v>>2]|0}v=c[s>>2]|0;Kc[c[(c[v>>2]|0)+20>>2]&63](v,d,e,e+w|0,2-(u>>>1&1)|0,g);if((a[n]|0)!=0){x=t;y=r;break}do{if((a[m]|0)==0){z=t;A=r}else{if((a[l]|0)==0){if((c[o>>2]&1|0)==0){x=1;y=r;break b}else{z=1;A=r;break}}if((c[p>>2]|0)==1){B=27;break a}if((c[o>>2]&2|0)==0){B=27;break a}else{z=1;A=1}}}while(0);u=s+8|0;if(u>>>0<k>>>0){r=A;s=u;t=z}else{x=z;y=A;break}}if(y){C=x;B=26}else{D=x;B=23}}else{D=0;B=23}}while(0);do{if((B|0)==23){c[h>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)!=1){C=D;B=26;break}if((c[d+24>>2]|0)!=2){C=D;B=26;break}a[d+54|0]=1;if(D){B=27}else{B=28}}}while(0);if((B|0)==26){if(C){B=27}else{B=28}}if((B|0)==27){c[i>>2]=3;return}else if((B|0)==28){c[i>>2]=4;return}}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}C=c[b+12>>2]|0;D=b+16+(C<<3)|0;x=c[b+20>>2]|0;y=x>>8;if((x&1|0)==0){E=y}else{E=c[(c[e>>2]|0)+y>>2]|0}y=c[b+16>>2]|0;Cc[c[(c[y>>2]|0)+24>>2]&31](y,d,e+E|0,(x&2|0)!=0?f:2,g);x=b+24|0;if((C|0)<=1){return}C=c[b+8>>2]|0;do{if((C&2|0)==0){b=d+36|0;if((c[b>>2]|0)==1){break}if((C&1|0)==0){E=d+54|0;y=e;A=x;while(1){if((a[E]|0)!=0){B=53;break}if((c[b>>2]|0)==1){B=53;break}z=c[A+4>>2]|0;w=z>>8;if((z&1|0)==0){F=w}else{F=c[(c[y>>2]|0)+w>>2]|0}w=c[A>>2]|0;Cc[c[(c[w>>2]|0)+24>>2]&31](w,d,e+F|0,(z&2|0)!=0?f:2,g);z=A+8|0;if(z>>>0<D>>>0){A=z}else{B=53;break}}if((B|0)==53){return}}A=d+24|0;y=d+54|0;E=e;i=x;while(1){if((a[y]|0)!=0){B=53;break}if((c[b>>2]|0)==1){if((c[A>>2]|0)==1){B=53;break}}z=c[i+4>>2]|0;w=z>>8;if((z&1|0)==0){G=w}else{G=c[(c[E>>2]|0)+w>>2]|0}w=c[i>>2]|0;Cc[c[(c[w>>2]|0)+24>>2]&31](w,d,e+G|0,(z&2|0)!=0?f:2,g);z=i+8|0;if(z>>>0<D>>>0){i=z}else{B=53;break}}if((B|0)==53){return}}}while(0);G=d+54|0;F=e;C=x;while(1){if((a[G]|0)!=0){B=53;break}x=c[C+4>>2]|0;i=x>>8;if((x&1|0)==0){H=i}else{H=c[(c[F>>2]|0)+i>>2]|0}i=c[C>>2]|0;Cc[c[(c[i>>2]|0)+24>>2]&31](i,d,e+H|0,(x&2|0)!=0?f:2,g);x=C+8|0;if(x>>>0<D>>>0){C=x}else{B=53;break}}if((B|0)==53){return}}function Bu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b|0;if((h|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){return}i=d+28|0;if((c[i>>2]|0)==1){return}c[i>>2]=f;return}if((h|0)!=(c[d>>2]|0)){h=c[b+8>>2]|0;Cc[c[(c[h>>2]|0)+24>>2]&31](h,d,e,f,g);return}do{if((c[d+16>>2]|0)!=(e|0)){h=d+20|0;if((c[h>>2]|0)==(e|0)){break}c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4){return}j=d+52|0;a[j]=0;k=d+53|0;a[k]=0;l=c[b+8>>2]|0;Kc[c[(c[l>>2]|0)+20>>2]&63](l,d,e,e,1,g);if((a[k]|0)==0){m=0;n=13}else{if((a[j]|0)==0){m=1;n=13}}a:do{if((n|0)==13){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){n=16;break}a[d+54|0]=1;if(m){break a}}else{n=16}}while(0);if((n|0)==16){if(m){break}}c[i>>2]=4;return}}while(0);c[i>>2]=3;return}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}function Cu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((c[d+8>>2]|0)==(b|0)){if((c[d+4>>2]|0)!=(e|0)){return}g=d+28|0;if((c[g>>2]|0)==1){return}c[g>>2]=f;return}if((c[d>>2]|0)!=(b|0)){return}do{if((c[d+16>>2]|0)!=(e|0)){b=d+20|0;if((c[b>>2]|0)==(e|0)){break}c[d+32>>2]=f;c[b>>2]=e;b=d+40|0;c[b>>2]=(c[b>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){break}a[d+54|0]=1}}while(0);c[d+44>>2]=4;return}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}function Du(b,d,e,f,g,h){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((b|0)!=(c[d+8>>2]|0)){i=d+52|0;j=a[i]|0;k=d+53|0;l=a[k]|0;m=c[b+12>>2]|0;n=b+16+(m<<3)|0;a[i]=0;a[k]=0;o=c[b+20>>2]|0;p=o>>8;if((o&1|0)==0){q=p}else{q=c[(c[f>>2]|0)+p>>2]|0}p=c[b+16>>2]|0;Kc[c[(c[p>>2]|0)+20>>2]&63](p,d,e,f+q|0,(o&2|0)!=0?g:2,h);a:do{if((m|0)>1){o=d+24|0;q=b+8|0;p=d+54|0;r=f;s=b+24|0;do{if((a[p]|0)!=0){break a}do{if((a[i]|0)==0){if((a[k]|0)==0){break}if((c[q>>2]&1|0)==0){break a}}else{if((c[o>>2]|0)==1){break a}if((c[q>>2]&2|0)==0){break a}}}while(0);a[i]=0;a[k]=0;t=c[s+4>>2]|0;u=t>>8;if((t&1|0)==0){v=u}else{v=c[(c[r>>2]|0)+u>>2]|0}u=c[s>>2]|0;Kc[c[(c[u>>2]|0)+20>>2]&63](u,d,e,f+v|0,(t&2|0)!=0?g:2,h);s=s+8|0;}while(s>>>0<n>>>0)}}while(0);a[i]=j;a[k]=l;return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;f=d+16|0;l=c[f>>2]|0;if((l|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((l|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;l=c[e>>2]|0;if((l|0)==2){c[e>>2]=g;w=g}else{w=l}if(!((c[d+48>>2]|0)==1&(w|0)==1)){return}a[d+54|0]=1;return}function Eu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((b|0)!=(c[d+8>>2]|0)){i=c[b+8>>2]|0;Kc[c[(c[i>>2]|0)+20>>2]&63](i,d,e,f,g,h);return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;f=d+16|0;h=c[f>>2]|0;if((h|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((h|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;h=c[e>>2]|0;if((h|0)==2){c[e>>2]=g;j=g}else{j=h}if(!((c[d+48>>2]|0)==1&(j|0)==1)){return}a[d+54|0]=1;return}function Fu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[d+8>>2]|0)!=(b|0)){return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;f=d+16|0;b=c[f>>2]|0;if((b|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((b|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;b=c[e>>2]|0;if((b|0)==2){c[e>>2]=g;i=g}else{i=b}if(!((c[d+48>>2]|0)==1&(i|0)==1)){return}a[d+54|0]=1;return}
-    
-    
-    
-    function mg(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0;j=i;i=i+2048|0;k=j|0;l=20-h|0;m=1<<l-1;if((f|0)>1){n=f;o=0;while(1){p=o+1|0;q=n>>1;if((q|0)>1){n=q;o=p}else{r=p;break}}}else{r=0}o=5-r|0;r=(f|0)>0;if(r){s=0}else{t=2048;u=0;i=j;return}do{n=f;while(1){v=n-1|0;if((n|0)<=0){break}p=g+((ga(v,f)|0)+s<<1)|0;if((b[p>>1]|0)==0){n=v}else{break}}p=(n|0)<1;q=0;do{if(p){w=0;x=13}else{y=0;z=0;while(1){A=g+((ga(z,f)|0)+s<<1)|0;B=(ga(b[A>>1]|0,a[27616+(z<<o<<5)+q|0]|0)|0)+y|0;if((z|0)<(v|0)){y=B;z=z+1|0}else{break}}z=B+64>>7;if((z|0)<-32768){C=-32768}else{w=z;x=13}}if((x|0)==13){x=0;C=(w|0)>32767?32767:w&65535}z=k+((ga(q,f)|0)+s<<1)|0;b[z>>1]=C;q=q+1|0;}while((q|0)<(f|0));s=s+1|0;}while((s|0)<(f|0));if(!r){t=2048;u=0;i=j;return}r=(1<<h)-1|0;h=0;do{s=ga(h,f)|0;C=f;while(1){D=C-1|0;if((C|0)<=0){break}if((b[k+(D+s<<1)>>1]|0)==0){C=D}else{break}}w=(C|0)<1;x=ga(h,d)|0;B=0;do{if(w){E=0}else{v=0;g=0;while(1){q=(ga(b[k+(g+s<<1)>>1]|0,a[27616+(g<<o<<5)+B|0]|0)|0)+v|0;if((g|0)<(D|0)){v=q;g=g+1|0}else{E=q;break}}}g=c+(B+x<<1)|0;v=(e[g>>1]|0)+(E+m>>l)|0;if((v|0)<0){F=0}else{F=((v|0)>(r|0)?r:v)&65535}b[g>>1]=F;B=B+1|0;}while((B|0)<(f|0));h=h+1|0;}while((h|0)<(f|0));t=2048;u=0;i=j;return}function ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,8,b,d);return}function og(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,16,b,d);return}function pg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,32,b,d);return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,4,b,c);return}function rg(c,d,e,f){c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+2048|0;h=g|0;if((d|0)>1){j=d;k=0;while(1){l=j>>1;if((l|0)>1){j=l;k=k+1|0}else{m=d;n=0;break}}while(1){j=m>>1;if((j|0)>1){m=j;n=n+1|0}else{break}}m=n+7|0;j=1<<k-1;l=1<<n+6;n=d;o=0;while(1){p=o+1|0;q=n>>1;if((q|0)>1){n=q;o=p}else{r=p;s=k;t=m;u=j;v=l;break}}}else{r=0;s=-1;t=6;u=0;v=32}l=5-r|0;r=(d|0)>0;if(r){w=0}else{x=2048;y=0;i=g;return}do{j=0;do{m=j<<l;k=0;o=0;do{n=e+((ga(o,f)|0)+w<<1)|0;k=(ga(b[n>>1]|0,a[27616+(m<<5)+o|0]|0)|0)+k|0;o=o+1|0;}while((o|0)<(d|0));o=h+((ga(j,d)|0)+w<<1)|0;b[o>>1]=k+u>>s;j=j+1|0;}while((j|0)<(d|0));w=w+1|0;}while((w|0)<(d|0));if(r){z=0}else{x=2048;y=0;i=g;return}do{r=ga(z,d)|0;w=0;do{s=w<<l;u=0;f=0;do{u=(ga(b[h+(f+r<<1)>>1]|0,a[27616+(s<<5)+f|0]|0)|0)+u|0;f=f+1|0;}while((f|0)<(d|0));b[c+(w+r<<1)>>1]=u+v>>t;w=w+1|0;}while((w|0)<(d|0));z=z+1|0;}while((z|0)<(d|0));x=2048;y=0;i=g;return}function sg(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,8,b,c);return}function tg(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,16,b,c);return}function ug(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,32,b,c);return}function vg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=i;i=i+2176|0;g=f|0;h=(c|0)>0;if(!h){j=64;k=0;l=64;m=0;n=2048;o=0;i=f;return}p=c>>1;q=(p|0)>0;r=c>>2;s=(r|0)>1;t=f+2048|0;u=f+2112|0;v=0;while(1){w=ga(v,e)|0;if(q){x=0;do{y=d+(x+w<<1)|0;z=x+p|0;A=d+(z+w<<1)|0;b[t+(x<<1)>>1]=(b[A>>1]|0)+(b[y>>1]|0);b[t+(z<<1)>>1]=(b[y>>1]|0)-(b[A>>1]|0);x=x+1|0;}while((x|0)<(p|0))}if(s){x=t;w=u;A=p;y=r;while(1){z=(y|0)>0;B=0;do{if(z){C=0;do{D=C+B|0;E=b[x+(D<<1)>>1]|0;F=D+y|0;G=b[x+(F<<1)>>1]|0;b[w+(D<<1)>>1]=G+E;b[w+(F<<1)>>1]=E-G;C=C+1|0;}while((C|0)<(y|0))}B=B+A|0;}while((B|0)<(c|0));B=y>>1;if((B|0)>1){z=x;x=w;A=A>>1;y=B;w=z}else{H=w;I=x;break}}}else{H=t;I=u}x=ga(v,c)|0;w=0;do{y=H+(w<<1)|0;A=w|1;z=H+(A<<1)|0;b[g+(w+x<<1)>>1]=(b[z>>1]|0)+(b[y>>1]|0);b[g+(A+x<<1)>>1]=(b[y>>1]|0)-(b[z>>1]|0);w=w+2|0;}while((w|0)<(c|0));w=v+1|0;if((w|0)<(c|0)){t=H;u=I;v=w}else{break}}if(!h){j=64;k=0;l=64;m=0;n=2048;o=0;i=f;return}h=c>>1;v=(h|0)>0;u=c>>2;t=(u|0)>1;r=H;H=I;I=0;while(1){if(v){p=0;do{s=g+((ga(p,c)|0)+I<<1)|0;d=p+h|0;q=g+((ga(d,c)|0)+I<<1)|0;b[r+(p<<1)>>1]=(b[q>>1]|0)+(b[s>>1]|0);b[r+(d<<1)>>1]=(b[s>>1]|0)-(b[q>>1]|0);p=p+1|0;}while((p|0)<(h|0))}if(t){p=r;q=H;s=h;d=u;while(1){e=(d|0)>0;w=0;do{if(e){x=0;do{z=x+w|0;y=b[p+(z<<1)>>1]|0;A=z+d|0;B=b[p+(A<<1)>>1]|0;b[q+(z<<1)>>1]=B+y;b[q+(A<<1)>>1]=y-B;x=x+1|0;}while((x|0)<(d|0))}w=w+s|0;}while((w|0)<(c|0));w=d>>1;if((w|0)>1){e=p;p=q;s=s>>1;d=w;q=e}else{J=q;K=p;break}}}else{J=r;K=H}p=0;do{q=J+(p<<1)|0;d=p|1;s=J+(d<<1)|0;e=a+((ga(p,c)|0)+I<<1)|0;b[e>>1]=(b[s>>1]|0)+(b[q>>1]|0);e=a+((ga(d,c)|0)+I<<1)|0;b[e>>1]=(b[q>>1]|0)-(b[s>>1]|0);p=p+2|0;}while((p|0)<(c|0));p=I+1|0;if((p|0)<(c|0)){r=J;H=K;I=p}else{break}}j=64;k=0;l=64;m=0;n=2048;o=0;i=f;return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+32|0;f=e|0;g=b[c>>1]|0;h=b[c+4>>1]|0;j=h+g&65535;k=b[c+2>>1]|0;l=b[c+6>>1]|0;m=l+k&65535;n=g-h&65535;h=k-l&65535;l=f|0;b[l>>1]=m+j;k=f+2|0;b[k>>1]=j-m;m=f+4|0;b[m>>1]=h+n;j=f+6|0;b[j>>1]=n-h;h=b[c+(d<<1)>>1]|0;n=b[c+(d+2<<1)>>1]|0;g=n+h&65535;o=b[c+(d+1<<1)>>1]|0;p=b[c+(d+3<<1)>>1]|0;q=p+o&65535;r=h-n&65535;n=o-p&65535;p=q+g&65535;b[f+8>>1]=p;o=g-q&65535;b[f+10>>1]=o;q=f+12|0;b[q>>1]=n+r;g=f+14|0;b[g>>1]=r-n;n=d<<1;r=b[c+(n<<1)>>1]|0;h=b[c+(n+2<<1)>>1]|0;s=h+r&65535;t=b[c+((n|1)<<1)>>1]|0;u=b[c+(n+3<<1)>>1]|0;n=u+t&65535;v=r-h&65535;h=t-u&65535;u=n+s&65535;b[f+16>>1]=u;t=s-n&65535;b[f+18>>1]=t;n=h+v&65535;b[f+20>>1]=n;s=v-h&65535;b[f+22>>1]=s;h=d*3|0;d=b[c+(h<<1)>>1]|0;v=b[c+(h+2<<1)>>1]|0;r=v+d&65535;w=b[c+(h+1<<1)>>1]|0;x=b[c+(h+3<<1)>>1]|0;h=x+w&65535;c=d-v&65535;v=w-x&65535;x=h+r&65535;b[f+24>>1]=x;w=r-h&65535;b[f+26>>1]=w;h=v+c&65535;b[f+28>>1]=h;r=c-v&65535;b[f+30>>1]=r;f=b[l>>1]|0;l=u+f&65535;v=x+p&65535;c=f-u&65535;u=p-x&65535;b[a>>1]=v+l;b[a+8>>1]=l-v;b[a+16>>1]=u+c;b[a+24>>1]=c-u;u=b[k>>1]|0;k=t+u&65535;c=w+o&65535;v=u-t&65535;t=o-w&65535;b[a+2>>1]=c+k;b[a+10>>1]=k-c;b[a+18>>1]=t+v;b[a+26>>1]=v-t;t=b[m>>1]|0;m=n+t&65535;v=b[q>>1]|0;q=h+v&65535;c=t-n&65535;n=v-h&65535;b[a+4>>1]=q+m;b[a+12>>1]=m-q;b[a+20>>1]=n+c;b[a+28>>1]=c-n;n=b[j>>1]|0;j=s+n&65535;c=b[g>>1]|0;g=r+c&65535;q=n-s&65535;s=c-r&65535;b[a+6>>1]=g+j;b[a+14>>1]=j-g;b[a+22>>1]=s+q;b[a+30>>1]=q-s;i=e;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+128|0;f=e|0;g=0;while(1){h=ga(g,d)|0;j=b[c+(h<<1)>>1]|0;k=b[c+(h+4<<1)>>1]|0;l=k+j&65535;m=b[c+(h+1<<1)>>1]|0;n=b[c+(h+5<<1)>>1]|0;o=n+m&65535;p=b[c+(h+2<<1)>>1]|0;q=b[c+(h+6<<1)>>1]|0;r=q+p&65535;s=b[c+(h+3<<1)>>1]|0;t=b[c+(h+7<<1)>>1]|0;h=t+s&65535;u=j-k&65535;k=m-n&65535;n=p-q&65535;q=s-t&65535;t=r+l&65535;s=h+o&65535;p=l-r&65535;r=o-h&65535;h=n+u&65535;o=q+k&65535;l=u-n&65535;n=k-q&65535;q=g<<3;b[f+(q<<1)>>1]=s+t;b[f+((q|1)<<1)>>1]=t-s;b[f+((q|2)<<1)>>1]=r+p;b[f+((q|3)<<1)>>1]=p-r;b[f+((q|4)<<1)>>1]=o+h;b[f+((q|5)<<1)>>1]=h-o;b[f+((q|6)<<1)>>1]=n+l;b[f+((q|7)<<1)>>1]=l-n;n=g+1|0;if((n|0)<8){g=n}else{v=0;break}}do{g=b[f+(v<<1)>>1]|0;c=v+32|0;d=b[f+(c<<1)>>1]|0;n=d+g&65535;l=v+8|0;q=b[f+(l<<1)>>1]|0;o=v+40|0;h=b[f+(o<<1)>>1]|0;r=h+q&65535;p=v+16|0;s=b[f+(p<<1)>>1]|0;t=v+48|0;k=b[f+(t<<1)>>1]|0;u=k+s&65535;m=v+24|0;j=b[f+(m<<1)>>1]|0;w=v+56|0;x=b[f+(w<<1)>>1]|0;y=x+j&65535;z=g-d&65535;d=q-h&65535;h=s-k&65535;k=j-x&65535;x=u+n&65535;j=y+r&65535;s=n-u&65535;u=r-y&65535;y=h+z&65535;r=k+d&65535;n=z-h&65535;h=d-k&65535;b[a+(v<<1)>>1]=j+x;b[a+(l<<1)>>1]=x-j;b[a+(p<<1)>>1]=u+s;b[a+(m<<1)>>1]=s-u;b[a+(c<<1)>>1]=r+y;b[a+(o<<1)>>1]=y-r;b[a+(t<<1)>>1]=h+n;b[a+(w<<1)>>1]=n-h;v=v+1|0;}while((v|0)<8);i=e;return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;vg(a,16,b,c);return}function zg(a,b,c){a=a|0;b=b|0;c=c|0;vg(a,32,b,c);return}function Ag(c,d,e,f,g,h){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;if((g&1|0)!=0){ec(13704,16192,40,18488)}if((h|0)>0&(g|0)>0){i=0}else{return}do{j=e+((ga(i,f)|0)<<1)|0;k=c+(ga(i,d)|0)|0;l=0;while(1){m=(b[j>>1]|0)+32>>6;if((m|0)<0){n=0}else{n=(m|0)>255?-1:m&255}a[k]=n;m=(b[j+2>>1]|0)+32>>6;if((m|0)<0){o=0}else{o=(m|0)>255?-1:m&255}a[k+1|0]=o;m=l+2|0;if((m|0)<(g|0)){j=j+4|0;k=k+2|0;l=m}else{break}}i=i+1|0;}while((i|0)<(h|0));return}function Bg(c,d,e,f,g,h,i,j,k){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;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((k|0)<=0){ec(13312,16192,60,18552)}l=1<<k-1;if((h|0)>0&(g|0)>0){m=0}else{return}do{n=e+((ga(m,f)|0)<<1)|0;o=c+(ga(m,d)|0)|0;p=0;while(1){q=((ga(b[n>>1]|0,i)|0)+l>>k)+j|0;if((q|0)<0){r=0}else{r=(q|0)>255?-1:q&255}a[o]=r;q=p+1|0;if((q|0)<(g|0)){n=n+2|0;o=o+1|0;p=q}else{break}}m=m+1|0;}while((m|0)<(h|0));return}function Cg(c,d,e,f,g,h,i,j,k,l,m,n){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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((n|0)<=0){ec(13312,16192,80,18456)}o=k+1+m<<n;if((i|0)<=0){return}m=n+1|0;if((h|0)>0){p=0}else{return}do{n=ga(p,g)|0;k=e+(n<<1)|0;q=f+(n<<1)|0;n=c+(ga(p,d)|0)|0;r=0;while(1){s=ga(b[k>>1]|0,j)|0;t=s+o+(ga(b[q>>1]|0,l)|0)>>m;if((t|0)<0){u=0}else{u=(t|0)>255?-1:t&255}a[n]=u;t=r+1|0;if((t|0)<(h|0)){k=k+2|0;q=q+2|0;n=n+1|0;r=t}else{break}}p=p+1|0;}while((p|0)<(i|0));return}function Dg(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((h&1|0)!=0){ec(13704,16192,105,18312)}if((i|0)<=0){return}j=(h|0)>0;k=0;do{l=ga(k,g)|0;if(j){m=e+(l<<1)|0;n=f+(l<<1)|0;l=c+(ga(k,d)|0)|0;o=0;while(1){p=(b[m>>1]|0)+64+(b[n>>1]|0)>>7;if((p|0)<0){q=0}else{q=(p|0)>255?-1:p&255}a[l]=q;p=(b[m+2>>1]|0)+64+(b[n+2>>1]|0)>>7;if((p|0)<0){r=0}else{r=(p|0)>255?-1:p&255}a[l+1|0]=r;p=o+2|0;if((p|0)<(h|0)){m=m+4|0;n=n+4|0;l=l+2|0;o=p}else{break}}}k=k+1|0;}while((k|0)<(i|0));return}function Eg(a,c,d,e,f,g,h){a=a|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,p=0,q=0,r=0,s=0;i=14-h|0;if((i|0)>0){j=1<<i-1}else{j=0}if((f&1|0)!=0){ec(13704,16192,172,18424)}if((g|0)<=0){return}k=(f|0)>0;l=(1<<h)-1|0;h=l&65535;m=0;do{if(k){n=d+((ga(m,e)|0)<<1)|0;o=a+((ga(m,c)|0)<<1)|0;p=0;while(1){q=(b[n>>1]|0)+j>>i;if((q|0)<0){r=0}else{r=(q|0)>(l|0)?h:q&65535}b[o>>1]=r;q=(b[n+2>>1]|0)+j>>i;if((q|0)<0){s=0}else{s=(q|0)>(l|0)?h:q&65535}b[o+2>>1]=s;q=p+2|0;if((q|0)<(f|0)){n=n+4|0;o=o+4|0;p=q}else{break}}}m=m+1|0;}while((m|0)<(g|0));return}function Fg(a,c,d,e,f,g,h,i,j,k){a=a|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;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((j|0)<=0){ec(13312,16192,193,18520)}l=1<<j-1;if((g|0)<=0){return}m=(f|0)>0;n=(1<<k)-1|0;k=0;do{if(m){o=d+((ga(k,e)|0)<<1)|0;p=a+((ga(k,c)|0)<<1)|0;q=0;while(1){r=((ga(b[o>>1]|0,h)|0)+l>>j)+i|0;if((r|0)<0){s=0}else{s=((r|0)>(n|0)?n:r)&65535}b[p>>1]=s;r=q+1|0;if((r|0)<(f|0)){o=o+2|0;p=p+2|0;q=r}else{break}}}k=k+1|0;}while((k|0)<(g|0));return}function Gg(a,c,d,e,f,g,h,i,j,k,l,m,n){a=a|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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((m|0)<=0){ec(13312,16192,213,18392)}o=j+1+l<<m;if((h|0)<=0){return}l=(g|0)>0;j=m+1|0;m=(1<<n)-1|0;n=0;do{p=ga(n,f)|0;if(l){q=d+(p<<1)|0;r=e+(p<<1)|0;p=a+((ga(n,c)|0)<<1)|0;s=0;while(1){t=ga(b[q>>1]|0,i)|0;u=t+o+(ga(b[r>>1]|0,k)|0)>>j;if((u|0)<0){v=0}else{v=((u|0)>(m|0)?m:u)&65535}b[p>>1]=v;u=s+1|0;if((u|0)<(g|0)){q=q+2|0;r=r+2|0;p=p+2|0;s=u}else{break}}}n=n+1|0;}while((n|0)<(h|0));return}function Hg(a,c,d,e,f,g,h,i){a=a|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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=15-i|0;k=1<<j-1;if((g&1|0)!=0){ec(13704,16192,238,18192)}if((h|0)<=0){return}l=(g|0)>0;m=(1<<i)-1|0;i=m&65535;n=0;do{o=ga(n,f)|0;if(l){p=d+(o<<1)|0;q=e+(o<<1)|0;o=a+((ga(n,c)|0)<<1)|0;r=0;while(1){s=(b[p>>1]|0)+k+(b[q>>1]|0)>>j;if((s|0)<0){t=0}else{t=(s|0)>(m|0)?i:s&65535}b[o>>1]=t;s=(b[p+2>>1]|0)+k+(b[q+2>>1]|0)>>j;if((s|0)<0){u=0}else{u=(s|0)>(m|0)?i:s&65535}b[o+2>>1]=u;s=r+2|0;if((s|0)<(g|0)){p=p+4|0;q=q+4|0;o=o+4|0;r=s}else{break}}}n=n+1|0;}while((n|0)<(h|0));return}function Ig(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;if((h|0)<=0){return}k=(g|0)>0;j=0;do{if(k){i=a+((ga(j,c)|0)<<1)|0;l=e+(ga(j,f)|0)|0;m=0;while(1){b[i>>1]=(d[l]|0)<<6;n=m+1|0;if((n|0)<(g|0)){i=i+2|0;l=l+1|0;m=n}else{break}}}j=j+1|0;}while((j|0)<(h|0));return}function Jg(a,c,d,f,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;k=14-l|0;if((h|0)<=0){return}l=(g|0)>0;j=0;do{if(l){i=a+((ga(j,c)|0)<<1)|0;m=d+((ga(j,f)|0)<<1)|0;n=0;while(1){b[i>>1]=(e[m>>1]|0)<<k;o=n+1|0;if((o|0)<(g|0)){i=i+2|0;m=m+2|0;n=o}else{break}}}j=j+1|0;}while((j|0)<(h|0));return}function Kg(a,c,e,f,g,h,j,k,l,m){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;l=i;n=m-8|0;m=h+3|0;o=ga(g<<1,m)|0;p=i;i=i+o|0;i=i+7&-8;o=p;p=h+2|0;if((p|0)>-1){q=(g|0)>0;r=-1;while(1){a:do{if(q){s=r+1|0;t=e+((ga(r,f)|0)-1)|0;u=0;while(1){switch(j|0){case 5:{v=((d[t+1|0]|0)*28|0)+((d[t]|0)*-4|0)+((d[t+2|0]|0)*46|0)+((d[t+3|0]|0)*-6|0)>>n&65535;break};case 6:{v=(d[t+1|0]<<4)+((d[t]|0)*-2|0)+((d[t+2|0]|0)*54|0)-(d[t+3|0]<<2)>>n&65535;break};case 0:{v=d[t+1|0]|0;break};case 1:{v=((d[t+1|0]|0)*58|0)+((d[t]|0)*-2|0)+((d[t+2|0]|0)*10|0)-(d[t+3|0]<<1)>>n&65535;break};case 2:{v=((d[t+1|0]|0)*54|0)+((d[t]|0)*-4|0)+(d[t+2|0]<<4)-(d[t+3|0]<<1)>>n&65535;break};case 3:{v=((d[t+1|0]|0)*46|0)+((d[t]|0)*-6|0)+((d[t+2|0]|0)*28|0)-(d[t+3|0]<<2)>>n&65535;break};case 4:{v=((d[t]|0)*-4|0)-(d[t+3|0]<<2)+(((d[t+2|0]|0)+(d[t+1|0]|0)|0)*36|0)>>n&65535;break};default:{v=((d[t+1|0]|0)*10|0)+((d[t]|0)*-2|0)+((d[t+2|0]|0)*58|0)-(d[t+3|0]<<1)>>n&65535}}w=o+(s+(ga(u,m)|0)<<1)|0;b[w>>1]=v;w=u+1|0;if((w|0)<(g|0)){t=t+1|0;u=w}else{x=s;break a}}}else{x=r+1|0}}while(0);if((x|0)<(p|0)){r=x}else{break}}}x=(j|0)==0?n:6;if((g|0)<=0){i=l;return}n=(h|0)>0;j=0;do{b:do{if(n){r=o+((ga(j,m)|0)<<1)|0;p=0;while(1){switch(k|0){case 0:{y=b[r+2>>1]|0;break};case 1:{y=((b[r+2>>1]|0)*58|0)+((b[r>>1]|0)*-2|0)+((b[r+4>>1]|0)*10|0)-(b[r+6>>1]<<1)>>x&65535;break};case 2:{y=((b[r+2>>1]|0)*54|0)+((b[r>>1]|0)*-4|0)+(b[r+4>>1]<<4)-(b[r+6>>1]<<1)>>x&65535;break};case 3:{y=((b[r+2>>1]|0)*46|0)+((b[r>>1]|0)*-6|0)+((b[r+4>>1]|0)*28|0)-(b[r+6>>1]<<2)>>x&65535;break};case 4:{y=((b[r>>1]|0)*-4|0)-(b[r+6>>1]<<2)+(((b[r+4>>1]|0)+(b[r+2>>1]|0)|0)*36|0)>>x&65535;break};case 5:{y=((b[r+2>>1]|0)*28|0)+((b[r>>1]|0)*-4|0)+((b[r+4>>1]|0)*46|0)+((b[r+6>>1]|0)*-6|0)>>x&65535;break};case 6:{y=(b[r+2>>1]<<4)+((b[r>>1]|0)*-2|0)+((b[r+4>>1]|0)*54|0)-(b[r+6>>1]<<2)>>x&65535;break};default:{y=((b[r+2>>1]|0)*10|0)+((b[r>>1]|0)*-2|0)+((b[r+4>>1]|0)*58|0)-(b[r+6>>1]<<1)>>x&65535}}v=a+((ga(p,c)|0)+j<<1)|0;b[v>>1]=y;v=p+1|0;if((v|0)<(h|0)){r=r+2|0;p=v}else{break b}}}}while(0);j=j+1|0;}while((j|0)<(g|0));i=l;return}function Lg(a,c,d,f,g,h,j,k,l,m){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;l=i;n=m-8|0;m=h+3|0;o=ga(g<<1,m)|0;p=i;i=i+o|0;i=i+7&-8;o=p;p=h+2|0;if((p|0)>-1){q=(g|0)>0;r=-1;while(1){a:do{if(q){s=r+1|0;t=d+((ga(r,f)|0)-1<<1)|0;u=0;while(1){switch(j|0){case 6:{v=(e[t+2>>1]<<4)+((e[t>>1]|0)*-2|0)+((e[t+4>>1]|0)*54|0)-(e[t+6>>1]<<2)>>n&65535;break};case 0:{v=b[t+2>>1]|0;break};case 1:{v=((e[t+2>>1]|0)*58|0)+((e[t>>1]|0)*-2|0)+((e[t+4>>1]|0)*10|0)-(e[t+6>>1]<<1)>>n&65535;break};case 2:{v=((e[t+2>>1]|0)*54|0)+((e[t>>1]|0)*-4|0)+(e[t+4>>1]<<4)-(e[t+6>>1]<<1)>>n&65535;break};case 3:{v=((e[t+2>>1]|0)*46|0)+((e[t>>1]|0)*-6|0)+((e[t+4>>1]|0)*28|0)-(e[t+6>>1]<<2)>>n&65535;break};case 4:{v=((e[t>>1]|0)*-4|0)-(e[t+6>>1]<<2)+(((e[t+4>>1]|0)+(e[t+2>>1]|0)|0)*36|0)>>n&65535;break};case 5:{v=((e[t+2>>1]|0)*28|0)+((e[t>>1]|0)*-4|0)+((e[t+4>>1]|0)*46|0)+((e[t+6>>1]|0)*-6|0)>>n&65535;break};default:{v=((e[t+2>>1]|0)*10|0)+((e[t>>1]|0)*-2|0)+((e[t+4>>1]|0)*58|0)-(e[t+6>>1]<<1)>>n&65535}}w=o+(s+(ga(u,m)|0)<<1)|0;b[w>>1]=v;w=u+1|0;if((w|0)<(g|0)){t=t+2|0;u=w}else{x=s;break a}}}else{x=r+1|0}}while(0);if((x|0)<(p|0)){r=x}else{break}}}x=(j|0)==0?n:6;if((g|0)<=0){i=l;return}n=(h|0)>0;j=0;do{b:do{if(n){r=o+((ga(j,m)|0)<<1)|0;p=0;while(1){switch(k|0){case 0:{y=b[r+2>>1]|0;break};case 1:{y=((b[r+2>>1]|0)*58|0)+((b[r>>1]|0)*-2|0)+((b[r+4>>1]|0)*10|0)-(b[r+6>>1]<<1)>>x&65535;break};case 2:{y=((b[r+2>>1]|0)*54|0)+((b[r>>1]|0)*-4|0)+(b[r+4>>1]<<4)-(b[r+6>>1]<<1)>>x&65535;break};case 3:{y=((b[r+2>>1]|0)*46|0)+((b[r>>1]|0)*-6|0)+((b[r+4>>1]|0)*28|0)-(b[r+6>>1]<<2)>>x&65535;break};case 4:{y=((b[r>>1]|0)*-4|0)-(b[r+6>>1]<<2)+(((b[r+4>>1]|0)+(b[r+2>>1]|0)|0)*36|0)>>x&65535;break};case 5:{y=((b[r+2>>1]|0)*28|0)+((b[r>>1]|0)*-4|0)+((b[r+4>>1]|0)*46|0)+((b[r+6>>1]|0)*-6|0)>>x&65535;break};case 6:{y=(b[r+2>>1]<<4)+((b[r>>1]|0)*-2|0)+((b[r+4>>1]|0)*54|0)-(b[r+6>>1]<<2)>>x&65535;break};default:{y=((b[r+2>>1]|0)*10|0)+((b[r>>1]|0)*-2|0)+((b[r+4>>1]|0)*58|0)-(b[r+6>>1]<<1)>>x&65535}}v=a+((ga(p,c)|0)+j<<1)|0;b[v>>1]=y;v=p+1|0;if((v|0)<(h|0)){r=r+2|0;p=v}else{break b}}}}while(0);j=j+1|0;}while((j|0)<(g|0));i=l;return}function Mg(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0){return}i=(g|0)>0;j=0;do{if(i){k=0;l=a+((ga(j,c)|0)<<1)|0;m=e+(ga(j,f)|0)|0;while(1){n=(d[m+1|0]|0)<<6;o=(d[m+2|0]|0)<<6;p=(d[m+3|0]|0)<<6;b[l>>1]=(d[m]|0)<<6;b[l+2>>1]=n;b[l+4>>1]=o;b[l+6>>1]=p;p=k+4|0;if((p|0)<(g|0)){k=p;l=l+8|0;m=m+4|0}else{break}}}j=j+1|0;}while((j|0)<(h|0));return}function Ng(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;i=14-j|0;if((h|0)<=0){return}j=(g|0)>0;k=0;do{if(j){l=d+((ga(k,f)|0)<<1)|0;m=a+((ga(k,c)|0)<<1)|0;n=0;while(1){b[m>>1]=(e[l>>1]|0)<<i;o=n+1|0;if((o|0)<(g|0)){l=l+2|0;m=m+2|0;n=o}else{break}}}k=k+1|0;}while((k|0)<(h|0));return}function Og(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;Pg(a,b,c,d,e,f,g,0,1,8);return}function Pg(a,e,f,g,h,i,j,k,l,m){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;n=c[30784+(k<<2)>>2]|0;o=c[30784+(l<<2)>>2]|0;p=c[30888+(l<<2)>>2]|0;q=o+i+p|0;r=m-8|0;do{if((k|0)==1){m=-o|0;s=p+i|0;if((s|0)<=(m|0)){break}t=(h|0)>0;u=m;do{if(t){m=f+((ga(u,g)|0)-n)|0;v=j+(u+o<<1)|0;w=0;while(1){x=m+1|0;b[v>>1]=(d[x]<<2)-(d[m]|0)+((d[m+2|0]|0)*-10|0)+((d[m+3|0]|0)*58|0)+((d[m+4|0]|0)*17|0)+((d[m+5|0]|0)*-5|0)+(d[m+6|0]|0)>>r;y=w+1|0;if((y|0)<(h|0)){m=x;v=v+(q<<1)|0;w=y}else{break}}}u=u+1|0;}while((u|0)<(s|0))}else if((k|0)==3){s=-o|0;u=p+i|0;if((u|0)<=(s|0)){break}t=(h|0)>0;w=s;do{if(t){s=f+((ga(w,g)|0)-n)|0;v=j+(w+o<<1)|0;m=0;while(1){y=s+1|0;b[v>>1]=((d[y]|0)*-5|0)+(d[s]|0)+((d[s+2|0]|0)*17|0)+((d[s+3|0]|0)*58|0)+((d[s+4|0]|0)*-10|0)+(d[s+5|0]<<2)-(d[s+6|0]|0)>>r;x=m+1|0;if((x|0)<(h|0)){s=y;v=v+(q<<1)|0;m=x}else{break}}}w=w+1|0;}while((w|0)<(u|0))}else if((k|0)==0){u=-o|0;w=p+i|0;if((w|0)<=(u|0)){break}t=(h|0)>0;m=u;do{if(t){u=f+((ga(m,g)|0)-n)|0;v=j+(m+o<<1)|0;s=0;while(1){b[v>>1]=d[u]|0;x=s+1|0;if((x|0)<(h|0)){u=u+1|0;v=v+(q<<1)|0;s=x}else{break}}}m=m+1|0;}while((m|0)<(w|0))}else if((k|0)==2){w=-o|0;m=p+i|0;if((m|0)<=(w|0)){break}t=(h|0)>0;s=w;do{if(t){w=f+((ga(s,g)|0)-n)|0;v=j+(s+o<<1)|0;u=0;while(1){x=w+1|0;b[v>>1]=(d[x]<<2)-(d[w]|0)+(d[w+6|0]<<2)-(d[w+7|0]|0)+(((d[w+4|0]|0)+(d[w+3|0]|0)|0)*40|0)+(((d[w+5|0]|0)+(d[w+2|0]|0)|0)*-11|0)>>r;y=u+1|0;if((y|0)<(h|0)){w=x;v=v+(q<<1)|0;u=y}else{break}}}s=s+1|0;}while((s|0)<(m|0))}}while(0);o=(k|0)==0?r:6;if((l|0)==3){if((h|0)<=0){return}r=(i|0)>0;k=0;do{if(r){n=j+((ga(k,q)|0)<<1)|0;g=a+(k<<1)|0;f=0;while(1){p=n+2|0;b[g>>1]=((b[p>>1]|0)*-5|0)+(b[n>>1]|0)+((b[n+4>>1]|0)*17|0)+((b[n+6>>1]|0)*58|0)+((b[n+8>>1]|0)*-10|0)+(b[n+10>>1]<<2)-(b[n+12>>1]|0)>>o;m=f+1|0;if((m|0)<(i|0)){n=p;g=g+(e<<1)|0;f=m}else{break}}}k=k+1|0;}while((k|0)<(h|0));return}else if((l|0)==2){if((h|0)<=0){return}k=(i|0)>0;r=0;do{if(k){f=j+((ga(r,q)|0)<<1)|0;g=a+(r<<1)|0;n=0;while(1){m=f+2|0;b[g>>1]=(b[m>>1]<<2)-(b[f>>1]|0)+(b[f+12>>1]<<2)-(b[f+14>>1]|0)+(((b[f+8>>1]|0)+(b[f+6>>1]|0)|0)*40|0)+(((b[f+10>>1]|0)+(b[f+4>>1]|0)|0)*-11|0)>>o;p=n+1|0;if((p|0)<(i|0)){f=m;g=g+(e<<1)|0;n=p}else{break}}}r=r+1|0;}while((r|0)<(h|0));return}else if((l|0)==1){if((h|0)<=0){return}r=(i|0)>0;k=0;do{if(r){n=j+((ga(k,q)|0)<<1)|0;g=a+(k<<1)|0;f=0;while(1){p=n+2|0;b[g>>1]=(b[p>>1]<<2)-(b[n>>1]|0)+((b[n+4>>1]|0)*-10|0)+((b[n+6>>1]|0)*58|0)+((b[n+8>>1]|0)*17|0)+((b[n+10>>1]|0)*-5|0)+(b[n+12>>1]|0)>>o;m=f+1|0;if((m|0)<(i|0)){n=p;g=g+(e<<1)|0;f=m}else{break}}}k=k+1|0;}while((k|0)<(h|0));return}else if((l|0)==0){if((h|0)<=0){return}l=(i|0)>0;k=0;do{if(l){o=j+((ga(k,q)|0)<<1)|0;r=a+(k<<1)|0;f=0;while(1){b[r>>1]=b[o>>1]|0;g=f+1|0;if((g|0)<(i|0)){o=o+2|0;r=r+(e<<1)|0;f=g}else{break}}}k=k+1|0;}while((k|0)<(h|0));return}else{return}}function Qg(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;Pg(a,b,c,d,e,f,g,0,2,8);return}function Rg(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;Pg(a,b,c,d,e,f,g,0,3,8);return}function Sg(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;Pg(a,b,c,d,e,f,g,1,0,8);return}function Tg(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;Pg(a,b,c,d,e,f,g,1,1,8);return}function Ug(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;Pg(a,b,c,d,e,f,g,1,2,8);return}function Vg(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;Pg(a,b,c,d,e,f,g,1,3,8);return}function Wg(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;Pg(a,b,c,d,e,f,g,2,0,8);return}function Xg(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;Pg(a,b,c,d,e,f,g,2,1,8);return}function Yg(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;Pg(a,b,c,d,e,f,g,2,2,8);return}function Zg(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;Pg(a,b,c,d,e,f,g,2,3,8);return}function _g(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;Pg(a,b,c,d,e,f,g,3,0,8);return}function $g(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;Pg(a,b,c,d,e,f,g,3,1,8);return}function ah(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;Pg(a,b,c,d,e,f,g,3,2,8);return}function bh(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;Pg(a,b,c,d,e,f,g,3,3,8);return}function ch(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;dh(a,b,c,d,e,f,g,0,1,h);return}function dh(a,d,f,g,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;n=c[30784+(k<<2)>>2]|0;o=c[30784+(l<<2)>>2]|0;p=c[30888+(l<<2)>>2]|0;q=o+i+p|0;r=m-8|0;do{if((k|0)==0){m=-o|0;s=p+i|0;if((s|0)<=(m|0)){break}t=(h|0)>0;u=m;do{if(t){m=f+((ga(u,g)|0)-n<<1)|0;v=j+(u+o<<1)|0;w=0;while(1){b[v>>1]=b[m>>1]|0;x=w+1|0;if((x|0)<(h|0)){m=m+2|0;v=v+(q<<1)|0;w=x}else{break}}}u=u+1|0;}while((u|0)<(s|0))}else if((k|0)==1){s=-o|0;u=p+i|0;if((u|0)<=(s|0)){break}t=(h|0)>0;w=s;do{if(t){s=f+((ga(w,g)|0)-n<<1)|0;v=j+(w+o<<1)|0;m=0;while(1){x=s+2|0;b[v>>1]=(e[x>>1]<<2)-(e[s>>1]|0)+((e[s+4>>1]|0)*-10|0)+((e[s+6>>1]|0)*58|0)+((e[s+8>>1]|0)*17|0)+((e[s+10>>1]|0)*-5|0)+(e[s+12>>1]|0)>>r;y=m+1|0;if((y|0)<(h|0)){s=x;v=v+(q<<1)|0;m=y}else{break}}}w=w+1|0;}while((w|0)<(u|0))}else if((k|0)==2){u=-o|0;w=p+i|0;if((w|0)<=(u|0)){break}t=(h|0)>0;m=u;do{if(t){u=f+((ga(m,g)|0)-n<<1)|0;v=j+(m+o<<1)|0;s=0;while(1){y=u+2|0;b[v>>1]=(e[y>>1]<<2)-(e[u>>1]|0)+(e[u+12>>1]<<2)-(e[u+14>>1]|0)+(((e[u+8>>1]|0)+(e[u+6>>1]|0)|0)*40|0)+(((e[u+10>>1]|0)+(e[u+4>>1]|0)|0)*-11|0)>>r;x=s+1|0;if((x|0)<(h|0)){u=y;v=v+(q<<1)|0;s=x}else{break}}}m=m+1|0;}while((m|0)<(w|0))}else if((k|0)==3){w=-o|0;m=p+i|0;if((m|0)<=(w|0)){break}t=(h|0)>0;s=w;do{if(t){w=f+((ga(s,g)|0)-n<<1)|0;v=j+(s+o<<1)|0;u=0;while(1){x=w+2|0;b[v>>1]=((e[x>>1]|0)*-5|0)+(e[w>>1]|0)+((e[w+4>>1]|0)*17|0)+((e[w+6>>1]|0)*58|0)+((e[w+8>>1]|0)*-10|0)+(e[w+10>>1]<<2)-(e[w+12>>1]|0)>>r;y=u+1|0;if((y|0)<(h|0)){w=x;v=v+(q<<1)|0;u=y}else{break}}}s=s+1|0;}while((s|0)<(m|0))}}while(0);o=(k|0)==0?r:6;if((l|0)==3){if((h|0)<=0){return}r=(i|0)>0;k=0;do{if(r){n=j+((ga(k,q)|0)<<1)|0;g=a+(k<<1)|0;f=0;while(1){p=n+2|0;b[g>>1]=((b[p>>1]|0)*-5|0)+(b[n>>1]|0)+((b[n+4>>1]|0)*17|0)+((b[n+6>>1]|0)*58|0)+((b[n+8>>1]|0)*-10|0)+(b[n+10>>1]<<2)-(b[n+12>>1]|0)>>o;m=f+1|0;if((m|0)<(i|0)){n=p;g=g+(d<<1)|0;f=m}else{break}}}k=k+1|0;}while((k|0)<(h|0));return}else if((l|0)==0){if((h|0)<=0){return}k=(i|0)>0;r=0;do{if(k){f=j+((ga(r,q)|0)<<1)|0;g=a+(r<<1)|0;n=0;while(1){b[g>>1]=b[f>>1]|0;m=n+1|0;if((m|0)<(i|0)){f=f+2|0;g=g+(d<<1)|0;n=m}else{break}}}r=r+1|0;}while((r|0)<(h|0));return}else if((l|0)==1){if((h|0)<=0){return}r=(i|0)>0;k=0;do{if(r){n=j+((ga(k,q)|0)<<1)|0;g=a+(k<<1)|0;f=0;while(1){m=n+2|0;b[g>>1]=(b[m>>1]<<2)-(b[n>>1]|0)+((b[n+4>>1]|0)*-10|0)+((b[n+6>>1]|0)*58|0)+((b[n+8>>1]|0)*17|0)+((b[n+10>>1]|0)*-5|0)+(b[n+12>>1]|0)>>o;p=f+1|0;if((p|0)<(i|0)){n=m;g=g+(d<<1)|0;f=p}else{break}}}k=k+1|0;}while((k|0)<(h|0));return}else if((l|0)==2){if((h|0)<=0){return}l=(i|0)>0;k=0;do{if(l){r=j+((ga(k,q)|0)<<1)|0;f=a+(k<<1)|0;g=0;while(1){n=r+2|0;b[f>>1]=(b[n>>1]<<2)-(b[r>>1]|0)+(b[r+12>>1]<<2)-(b[r+14>>1]|0)+(((b[r+8>>1]|0)+(b[r+6>>1]|0)|0)*40|0)+(((b[r+10>>1]|0)+(b[r+4>>1]|0)|0)*-11|0)>>o;p=g+1|0;if((p|0)<(i|0)){r=n;f=f+(d<<1)|0;g=p}else{break}}}k=k+1|0;}while((k|0)<(h|0));return}else{return}}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;dh(a,b,c,d,e,f,g,0,2,h);return}function fh(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;dh(a,b,c,d,e,f,g,0,3,h);return}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;dh(a,b,c,d,e,f,g,1,0,h);return}function hh(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;dh(a,b,c,d,e,f,g,1,1,h);return}function ih(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;dh(a,b,c,d,e,f,g,1,2,h);return}function jh(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;dh(a,b,c,d,e,f,g,1,3,h);return}function kh(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;dh(a,b,c,d,e,f,g,2,0,h);return}function lh(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;dh(a,b,c,d,e,f,g,2,1,h);return}function mh(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;dh(a,b,c,d,e,f,g,2,2,h);return}function nh(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;dh(a,b,c,d,e,f,g,2,3,h);return}function oh(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;dh(a,b,c,d,e,f,g,3,0,h);return}function ph(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;dh(a,b,c,d,e,f,g,3,1,h);return}function qh(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;dh(a,b,c,d,e,f,g,3,2,h);return}function rh(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;dh(a,b,c,d,e,f,g,3,3,h);return}function sh(a){a=a|0;dv(a+8|0,0,48)|0;c[a>>2]=30;c[a+4>>2]=30;return}function th(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+12|0;d=c[b>>2]|0;e=a+8|0;f=c[e>>2]|0;if((d|0)!=(f|0)){g=0;h=f;f=d;while(1){d=c[h+(g<<2)>>2]|0;if((d|0)==0){i=f;j=h}else{Rh(d);Pu(d);i=c[b>>2]|0;j=c[e>>2]|0}d=g+1|0;if(d>>>0<i-j>>2>>>0){g=d;h=j;f=i}else{break}}}i=a+32|0;Gh(i|0);f=a+36|0;j=c[f>>2]|0;h=a+40|0;g=c[h>>2]|0;do{if((j|0)!=(g|0)){d=j;do{Pu(c[d>>2]|0);d=d+4|0;}while((d|0)!=(g|0));d=c[f>>2]|0;k=c[h>>2]|0;if((k|0)==(d|0)){break}c[h>>2]=k+(~((k-4+(-d|0)|0)>>>2)<<2)}}while(0);h=c[i>>2]|0;if((h|0)!=0){Pu(h)}h=c[a+20>>2]|0;if((h|0)!=0){i=a+24|0;a=c[i>>2]|0;if((a|0)!=(h|0)){c[i>>2]=a+(~((a-4+(-h|0)|0)>>>2)<<2)}Pu(h)}h=c[e>>2]|0;if((h|0)==0){return}e=c[b>>2]|0;if((e|0)!=(h|0)){c[b>>2]=e+(~((e-4+(-h|0)|0)>>>2)<<2)}Pu(h);return}function uh(a){a=a|0;return}function vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d){e=1;return e|0}d=c[b+12>>2]|0;f=c[b+8>>2]|0;g=d-f>>2;if(g>>>0<(c[b>>2]|0)>>>0){e=1;return e|0}if((d|0)==(f|0)){e=0;return e|0}else{h=0}while(1){d=c[f+(h<<2)>>2]|0;if((a[d+100|0]|0)==0){if((c[d+96>>2]|0)==0){e=1;i=7;break}}d=h+1|0;if(d>>>0<g>>>0){h=d}else{e=0;i=7;break}}if((i|0)==7){return e|0}return 0}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[a+12>>2]|0;g=c[a+8>>2]|0;a:do{if(!((f|0)==(g|0)|e^1)){a=0;b:while(1){h=c[g+(a<<2)>>2]|0;do{if((c[h+92>>2]|0)==(b|0)){if((c[h+104>>2]|0)<=(d|0)){break}if((c[h+96>>2]|0)==2){i=a;break b}}}while(0);a=a+1|0;if(!(a>>>0<f-g>>2>>>0)){break a}}return i|0}}while(0);if((f|0)==(g|0)){i=-1;return i|0}else{j=0}c:while(1){e=c[g+(j<<2)>>2]|0;do{if((c[e+92>>2]|0)==(b|0)){if((c[e+104>>2]|0)<=(d|0)){break}if((c[e+96>>2]|0)!=0){i=j;k=11;break c}}}while(0);e=j+1|0;if(e>>>0<f-g>>2>>>0){j=e}else{i=-1;k=11;break}}if((k|0)==11){return i|0}return 0}function xh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[a+12>>2]|0;g=c[a+8>>2]|0;a:do{if(!((f|0)==(g|0)|e^1)){a=0;b:while(1){h=c[g+(a<<2)>>2]|0;do{if((c[h+88>>2]|0)==(b|0)){if((c[h+104>>2]|0)<=(d|0)){break}if((c[h+96>>2]|0)==2){i=a;break b}}}while(0);a=a+1|0;if(!(a>>>0<f-g>>2>>>0)){break a}}return i|0}}while(0);if((f|0)==(g|0)){i=-1;return i|0}else{j=0}c:while(1){e=c[g+(j<<2)>>2]|0;do{if((c[e+88>>2]|0)==(b|0)){if((c[e+104>>2]|0)<=(d|0)){break}if((c[e+96>>2]|0)!=0){i=j;k=11;break c}}}while(0);e=j+1|0;if(e>>>0<f-g>>2>>>0){j=e}else{i=-1;k=11;break}}if((k|0)==11){return i|0}return 0}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;if((d|0)==(e|0)){f=-1;return f|0}else{g=0}while(1){a=g+1|0;if((c[c[e+(g<<2)>>2]>>2]|0)==(b|0)){f=g;h=4;break}if(a>>>0<d-e>>2>>>0){g=a}else{f=-1;h=4;break}}if((h|0)==4){return f|0}return 0}function zh(a){a=a|0;var b=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;b=a+20|0;d=c[b>>2]|0;e=a+24|0;f=c[e>>2]|0;if((d|0)==(f|0)){ec(11328,15872,147,17376)}g=f-d>>2;if(g>>>0>1>>>0){f=c[(c[d>>2]|0)+92>>2]|0;h=0;i=1;while(1){j=c[(c[d+(i<<2)>>2]|0)+92>>2]|0;k=(j|0)<(f|0);l=k?i:h;m=i+1|0;if(m>>>0<g>>>0){f=k?j:f;h=l;i=m}else{n=l;break}}}else{n=0}i=d+(n<<2)|0;d=a+40|0;h=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if((h|0)==(g|0)){o=0}else{o=(h-g<<8)-1|0}l=a+48|0;m=c[l>>2]|0;j=a+52|0;k=c[j>>2]|0;if((o-m|0)==(k|0)){Hh(a+32|0);p=c[j>>2]|0;q=c[l>>2]|0;r=c[f>>2]|0;s=c[d>>2]|0}else{p=k;q=m;r=g;s=h}h=p+q|0;do{if((s|0)!=(r|0)){q=(c[r+(h>>>10<<2)>>2]|0)+((h&1023)<<2)|0;if((q|0)==0){break}c[q>>2]=c[i>>2]}}while(0);c[j>>2]=p+1;c[(c[b>>2]|0)+(n<<2)>>2]=c[(c[e>>2]|0)-4>>2];n=c[e>>2]|0;b=n-4|0;c[e>>2]=n+(~((b+(-b|0)|0)>>>2)<<2);return}function Ah(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=a+24|0;if((c[b>>2]|0)==(c[d>>2]|0)){e=0;return e|0}while(1){zh(a);if((c[b>>2]|0)==(c[d>>2]|0)){e=1;break}}return e|0}function Bh(b){b=b|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;d=b+12|0;e=c[d>>2]|0;f=b+8|0;g=c[f>>2]|0;if((e|0)!=(g|0)){h=0;i=g;g=e;while(1){e=c[i+(h<<2)>>2]|0;j=e+100|0;k=e+96|0;if((a[j]|0)==0){if((c[k>>2]|0)==0){l=g;m=i}else{n=4}}else{n=4}if((n|0)==4){n=0;a[j]=0;c[k>>2]=0;Qh(e);l=c[d>>2]|0;m=c[f>>2]|0}e=h+1|0;if(e>>>0<l-m>>2>>>0){h=e;i=m;g=l}else{break}}}l=c[b+20>>2]|0;g=b+24|0;m=c[g>>2]|0;if((m|0)==(l|0)){o=b+32|0;Gh(o);return}c[g>>2]=m+(~((m-4+(-l|0)|0)>>>2)<<2);o=b+32|0;Gh(o);return}function Ch(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0;k=i;i=i+8|0;l=k|0;m=b+8|0;n=b+12|0;o=c[n>>2]|0;p=m|0;q=c[p>>2]|0;a:do{if((o|0)==(q|0)){r=-1;s=o;t=o}else{u=0;while(1){v=c[q+(u<<2)>>2]|0;if((a[v+100|0]|0)==0){if((c[v+96>>2]|0)==0){break}}w=u+1|0;if(w>>>0<o-q>>2>>>0){u=w}else{r=-1;s=o;t=q;break a}}Qh(v);r=u;s=c[n>>2]|0;t=c[p>>2]|0}}while(0);v=s-t>>2;do{if(v>>>0<=(c[b+4>>2]|0)>>>0|(r|0)==(v-1|0)){x=s}else{t=c[s-4>>2]|0;if((a[t+100|0]|0)!=0){x=s;break}if((c[t+96>>2]|0)!=0){x=s;break}if((t|0)==0){y=s}else{Rh(t);Pu(t);y=c[n>>2]|0}t=y-4|0;q=y+(~((t+(-t|0)|0)>>>2)<<2)|0;c[n>>2]=q;x=q}}while(0);do{if((r|0)==-1){y=x-(c[p>>2]|0)>>2;s=Nu(10624)|0;Oh(s);c[l>>2]=s;v=c[n>>2]|0;if(!(v>>>0<(c[b+16>>2]|0)>>>0)){Fh(m,l);z=y;break}if((v|0)==0){A=0}else{c[v>>2]=s;A=c[n>>2]|0}c[n>>2]=A+4;z=y}else{z=r}}while(0);r=c[(c[p>>2]|0)+(z<<2)>>2]|0;p=c[d+476>>2]|0;if(p>>>0<4>>>0){Ph(r,c[d+484>>2]|0,c[d+488>>2]|0,p,d,1,e,0,f,g,h,j)|0;a[r+10516|0]=0;i=k;return z|0}else{ec(13160,15872,259,17360);return 0}return 0}function Dh(a){a=a|0;var b=0,d=0,e=0;b=a+36|0;d=a+48|0;e=a+52|0;c[e>>2]=(c[e>>2]|0)-1;e=(c[d>>2]|0)+1|0;c[d>>2]=e;if(!(e>>>0>2047>>>0)){return}Pu(c[c[b>>2]>>2]|0);c[b>>2]=(c[b>>2]|0)+4;c[d>>2]=(c[d>>2]|0)-1024;return}function Eh(a){a=a|0;return}function Fh(a,b){a=a|0;b=b|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;d=a+4|0;e=a|0;f=c[e>>2]|0;g=f;h=(c[d>>2]|0)-g|0;i=h>>2;j=i+1|0;if(j>>>0>1073741823>>>0){Nr(0)}k=a+8|0;a=(c[k>>2]|0)-g|0;if(a>>2>>>0<536870911>>>0){g=a>>1;a=g>>>0<j>>>0?j:g;if((a|0)==0){l=0;m=0}else{n=a;o=5}}else{n=1073741823;o=5}if((o|0)==5){l=Nu(n<<2)|0;m=n}n=l+(i<<2)|0;if((n|0)!=0){c[n>>2]=c[b>>2]}b=f;cv(l|0,b|0,h)|0;c[e>>2]=l;c[d>>2]=l+(j<<2);c[k>>2]=l+(m<<2);if((f|0)==0){return}Pu(b);return}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+4|0;d=c[b>>2]|0;e=a+16|0;f=c[e>>2]|0;g=d+(f>>>10<<2)|0;h=a+8|0;i=c[h>>2]|0;if((i|0)==(d|0)){j=0;k=0;l=a+20|0}else{m=a+20|0;a=f+(c[m>>2]|0)|0;j=(c[d+(a>>>10<<2)>>2]|0)+((a&1023)<<2)|0;k=(c[g>>2]|0)+((f&1023)<<2)|0;l=m}m=g;g=k;a:while(1){k=g;do{if((k|0)==(j|0)){break a}k=k+4|0;}while((k-(c[m>>2]|0)|0)!=4096);k=m+4|0;m=k;g=c[k>>2]|0}c[l>>2]=0;l=i-d>>2;if(l>>>0>2>>>0){i=d;while(1){Pu(c[i>>2]|0);d=(c[b>>2]|0)+4|0;c[b>>2]=d;g=(c[h>>2]|0)-d>>2;if(g>>>0>2>>>0){i=d}else{n=g;break}}}else{n=l}if((n|0)==2){c[e>>2]=1024;return}else if((n|0)==1){c[e>>2]=512;return}else{return}}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;i=i+48|0;d=b|0;e=b+8|0;f=b+16|0;g=b+40|0;h=a+16|0;j=c[h>>2]|0;if(j>>>0>1023>>>0){c[h>>2]=j-1024;j=a+4|0;h=c[j>>2]|0;k=c[h>>2]|0;l=h+4|0;c[j>>2]=l;m=a+8|0;n=c[m>>2]|0;o=a+12|0;do{if((n|0)==(c[o>>2]|0)){p=a|0;q=c[p>>2]|0;if(l>>>0>q>>>0){r=l;s=((r-q>>2)+1|0)/-2|0;t=n-r|0;fv(h+(s+1<<2)|0,l|0,t|0)|0;r=h+((t>>2)+1+s<<2)|0;c[m>>2]=r;c[j>>2]=(c[j>>2]|0)+(s<<2);u=r;v=13;break}r=n-q>>1;s=(r|0)==0?1:r;r=Nu(s<<2)|0;t=r+(s>>>2<<2)|0;w=r+(s<<2)|0;if((l|0)==(n|0)){x=t;y=q}else{q=l;s=t;do{if((s|0)==0){z=0}else{c[s>>2]=c[q>>2];z=s}s=z+4|0;q=q+4|0;}while((q|0)!=(n|0));x=s;y=c[p>>2]|0}c[p>>2]=r;c[j>>2]=t;c[m>>2]=x;c[o>>2]=w;if((y|0)==0){A=x;v=12;break}Pu(y);A=c[m>>2]|0;v=12}else{A=n;v=12}}while(0);if((v|0)==12){if((A|0)==0){B=0}else{u=A;v=13}}if((v|0)==13){c[u>>2]=k;B=c[m>>2]|0}c[m>>2]=B+4;i=b;return}B=a|0;m=a+8|0;k=c[m>>2]|0;u=a+4|0;A=k-(c[u>>2]|0)>>2;n=a+12|0;y=c[n>>2]|0;x=a|0;o=y-(c[x>>2]|0)|0;if(!(A>>>0<o>>2>>>0)){j=o>>1;o=(j|0)==0?1:j;j=f+12|0;c[f+16>>2]=a+12;a=Nu(o<<2)|0;z=f|0;c[z>>2]=a;l=a+(A<<2)|0;A=f+8|0;c[A>>2]=l;h=f+4|0;c[h>>2]=l;c[j>>2]=a+(o<<2);o=Nu(4096)|0;c[g>>2]=o;Kh(f,g);g=c[m>>2]|0;while(1){if((g|0)==(c[u>>2]|0)){break}o=g-4|0;Lh(f,o);g=o}f=c[x>>2]|0;c[x>>2]=c[z>>2];c[z>>2]=f;c[u>>2]=c[h>>2];c[h>>2]=g;h=c[m>>2]|0;c[m>>2]=c[A>>2];c[A>>2]=h;z=c[n>>2]|0;c[n>>2]=c[j>>2];c[j>>2]=z;if((h|0)!=(g|0)){c[A>>2]=h+(~((h-4+(-g|0)|0)>>>2)<<2)}if((f|0)==0){i=b;return}Pu(f);i=b;return}f=Nu(4096)|0;if((y|0)!=(k|0)){c[d>>2]=f;Ih(B,d);i=b;return}c[e>>2]=f;Jh(B,e);e=c[u>>2]|0;B=c[e>>2]|0;f=e+4|0;c[u>>2]=f;d=c[m>>2]|0;do{if((d|0)==(c[n>>2]|0)){k=c[x>>2]|0;if(f>>>0>k>>>0){y=f;g=((y-k>>2)+1|0)/-2|0;h=d-y|0;fv(e+(g+1<<2)|0,f|0,h|0)|0;y=e+((h>>2)+1+g<<2)|0;c[m>>2]=y;c[u>>2]=(c[u>>2]|0)+(g<<2);C=y;v=29;break}y=d-k>>1;g=(y|0)==0?1:y;y=Nu(g<<2)|0;h=y+(g>>>2<<2)|0;A=y+(g<<2)|0;if((f|0)==(d|0)){D=h;E=k}else{k=f;g=h;do{if((g|0)==0){F=0}else{c[g>>2]=c[k>>2];F=g}g=F+4|0;k=k+4|0;}while((k|0)!=(d|0));D=g;E=c[x>>2]|0}c[x>>2]=y;c[u>>2]=h;c[m>>2]=D;c[n>>2]=A;if((E|0)==0){G=D;v=28;break}Pu(E);G=c[m>>2]|0;v=28}else{G=d;v=28}}while(0);if((v|0)==28){if((G|0)==0){H=0}else{C=G;v=29}}if((v|0)==29){c[C>>2]=B;H=c[m>>2]|0}c[m>>2]=H+4;i=b;return}function Ih(a,b){a=a|0;b=b|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,r=0,s=0,t=0;d=a+8|0;e=c[d>>2]|0;f=a+12|0;do{if((e|0)==(c[f>>2]|0)){g=a+4|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;if(h>>>0>j>>>0){k=h;l=((k-j>>2)+1|0)/-2|0;m=e-k|0;fv(h+(l<<2)|0,h|0,m|0)|0;k=h+(l+(m>>2)<<2)|0;c[d>>2]=k;c[g>>2]=(c[g>>2]|0)+(l<<2);n=k;break}k=e-j>>1;l=(k|0)==0?1:k;k=Nu(l<<2)|0;m=k+(l>>>2<<2)|0;o=k+(l<<2)|0;if((h|0)==(e|0)){p=m;q=j}else{j=h;h=m;do{if((h|0)==0){r=0}else{c[h>>2]=c[j>>2];r=h}h=r+4|0;j=j+4|0;}while((j|0)!=(e|0));p=h;q=c[i>>2]|0}c[i>>2]=k;c[g>>2]=m;c[d>>2]=p;c[f>>2]=o;if((q|0)==0){n=p;break}Pu(q);n=c[d>>2]|0}else{n=e}}while(0);if((n|0)==0){s=0;t=s+4|0;c[d>>2]=t;return}c[n>>2]=c[b>>2];s=c[d>>2]|0;t=s+4|0;c[d>>2]=t;return}function Jh(a,b){a=a|0;b=b|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,r=0;d=a+4|0;e=c[d>>2]|0;f=a|0;do{if((e|0)==(c[f>>2]|0)){g=a+8|0;h=c[g>>2]|0;i=a+12|0;j=c[i>>2]|0;k=j;if(h>>>0<j>>>0){j=h;l=((k-j>>2)+1|0)/2|0;m=j-e|0;j=h+(l-(m>>2)<<2)|0;fv(j|0,e|0,m|0)|0;c[d>>2]=j;c[g>>2]=(c[g>>2]|0)+(l<<2);n=j;break}j=k-e>>1;k=(j|0)==0?1:j;j=Nu(k<<2)|0;l=j+((k+3|0)>>>2<<2)|0;m=j+(k<<2)|0;if((e|0)==(h|0)){o=l;p=e}else{k=e;q=l;do{if((q|0)==0){r=0}else{c[q>>2]=c[k>>2];r=q}q=r+4|0;k=k+4|0;}while((k|0)!=(h|0));o=q;p=c[f>>2]|0}c[f>>2]=j;c[d>>2]=l;c[g>>2]=o;c[i>>2]=m;if((p|0)==0){n=l;break}Pu(p);n=c[d>>2]|0}else{n=e}}while(0);c[n-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Kh(a,b){a=a|0;b=b|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,r=0,s=0,t=0;d=a+8|0;e=c[d>>2]|0;f=a+12|0;do{if((e|0)==(c[f>>2]|0)){g=a+4|0;h=c[g>>2]|0;i=a|0;j=c[i>>2]|0;if(h>>>0>j>>>0){k=h;l=((k-j>>2)+1|0)/-2|0;m=e-k|0;fv(h+(l<<2)|0,h|0,m|0)|0;k=h+(l+(m>>2)<<2)|0;c[d>>2]=k;c[g>>2]=(c[g>>2]|0)+(l<<2);n=k;break}k=e-j>>1;l=(k|0)==0?1:k;k=Nu(l<<2)|0;m=k+(l>>>2<<2)|0;o=k+(l<<2)|0;if((h|0)==(e|0)){p=m;q=j}else{j=h;h=m;do{if((h|0)==0){r=0}else{c[h>>2]=c[j>>2];r=h}h=r+4|0;j=j+4|0;}while((j|0)!=(e|0));p=h;q=c[i>>2]|0}c[i>>2]=k;c[g>>2]=m;c[d>>2]=p;c[f>>2]=o;if((q|0)==0){n=p;break}Pu(q);n=c[d>>2]|0}else{n=e}}while(0);if((n|0)==0){s=0;t=s+4|0;c[d>>2]=t;return}c[n>>2]=c[b>>2];s=c[d>>2]|0;t=s+4|0;c[d>>2]=t;return}function Lh(a,b){a=a|0;b=b|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,r=0;d=a+4|0;e=c[d>>2]|0;f=a|0;do{if((e|0)==(c[f>>2]|0)){g=a+8|0;h=c[g>>2]|0;i=a+12|0;j=c[i>>2]|0;k=j;if(h>>>0<j>>>0){j=h;l=((k-j>>2)+1|0)/2|0;m=j-e|0;j=h+(l-(m>>2)<<2)|0;fv(j|0,e|0,m|0)|0;c[d>>2]=j;c[g>>2]=(c[g>>2]|0)+(l<<2);n=j;break}j=k-e>>1;k=(j|0)==0?1:j;j=Nu(k<<2)|0;l=j+((k+3|0)>>>2<<2)|0;m=j+(k<<2)|0;if((e|0)==(h|0)){o=l;p=e}else{k=e;q=l;do{if((q|0)==0){r=0}else{c[q>>2]=c[k>>2];r=q}q=r+4|0;k=k+4|0;}while((k|0)!=(h|0));o=q;p=c[f>>2]|0}c[f>>2]=j;c[d>>2]=l;c[g>>2]=o;c[i>>2]=m;if((p|0)==0){n=l;break}Pu(p);n=c[d>>2]|0}else{n=e}}while(0);c[n-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Mh(a,b,d,e){a=a|0;b=b|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;e=c[b+4>>2]|0;a=c[b+8>>2]|0;f=(a|0)/(c[d+5784>>2]|0)|0;g=c[b+12>>2]|0;b=e-1+g|0;h=b-((b|0)%(g|0)|0)|0;b=((e|0)/(c[d+5780>>2]|0)|0)-1+g|0;e=b-((b|0)%(g|0)|0)|0;g=c[d+5760>>2]|0;if(!((g-8|0)>>>0<9>>>0)){ec(15720,15792,115,17912);return 0}b=c[d+5768>>2]|0;if(!((b-8|0)>>>0<9>>>0)){ec(15344,15792,116,17912);return 0}i=Ku(16,ga(ga(h,a)|0,(g+7|0)/8|0)|0)|0;g=(i|0)==0;do{if((c[d+20>>2]|0)==0){if(g){j=0}else{k=0;l=0;m=0;break}return j|0}else{a=ga(ga(e,f)|0,(b+7|0)/8|0)|0;n=Ku(16,a)|0;o=Ku(16,a)|0;if(!((n|0)==0|(o|0)==0|g)){k=e;l=n;m=o;break}if(!g){Hu(i)}if((n|0)!=0){Hu(n)}if((o|0)==0){j=0;return j|0}Hu(o);j=0;return j|0}}while(0);c[d+4>>2]=i;c[d+10492>>2]=0;c[d+40>>2]=h;c[d+8>>2]=l;c[d+10496>>2]=0;c[d+12>>2]=m;c[d+10500>>2]=0;c[d+44>>2]=k;j=1;return j|0}function Nh(a,b,d){a=a|0;b=b|0;d=d|0;d=c[b+4>>2]|0;if((d|0)!=0){Hu(d)}d=c[b+8>>2]|0;if((d|0)!=0){Hu(d)}d=c[b+12>>2]|0;if((d|0)==0){return}Hu(d);return}function Oh(b){b=b|0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+700>>2]=0;c[b+704>>2]=0;c[b+708>>2]=0;dv(b+736|0,0,24)|0;ik(b+764|0);jj(b+5932|0);a[b+10518|0]=0;a[b+10519|0]=0;a[b+10520|0]=0;dv(b+10340|0,0,140)|0;c[b>>2]=-1;c[b+104>>2]=0;c[b+10332>>2]=0;c[b+10336>>2]=0;c[b+10512>>2]=0;c[b+4>>2]=0;c[b+60>>2]=0;c[b+8>>2]=0;c[b+64>>2]=0;c[b+12>>2]=0;c[b+68>>2]=0;c[b+28>>2]=0;c[b+24>>2]=0;c[b+10524>>2]=0;dv(b+10480|0,0,24)|0;a[b+10516|0]=2;c[b+88>>2]=-1;c[b+92>>2]=-1;c[b+96>>2]=0;a[b+100|0]=0;dv(b+10528|0,0,20)|0;tk(b+10548|0);xk(b+10572|0);return}function Ph(b,d,e,f,g,h,j,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=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,E=0,F=0,G=0,H=0,I=0,J=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;p=i;i=i+40|0;q=p|0;if((g|0)==0){ec(13112,15792,240,17792);return 0}r=b+764|0;cv(r|0,g|0,4717)|0;if((r|0)!=(g|0)){zf(b+5484|0,c[g+4720>>2]|0,c[g+4724>>2]|0)}cv(b+5496|0,g+4732|0,436)|0;Qh(b);r=c[8838]|0;c[8838]=r+1;c[b>>2]=r;c[b+104>>2]=2147483647;c[b+10332>>2]=j;c[b+10336>>2]=k;c[b+20>>2]=f;c[b+24>>2]=d;c[b+28>>2]=e;r=b+32|0;c[r>>2]=d;s=b+36|0;c[s>>2]=e;c[b+10488>>2]=n;n=b+10480|0;c[n>>2]=l;c[n+4>>2]=m;if((f|0)==2){t=1;u=8}else if((f|0)==0|(f|0)==3){v=1;w=1}else if((f|0)==1){t=2;u=8}else{ec(10232,15792,276,17792);return 0}if((u|0)==8){v=2;w=t}if((f|0)==0){c[q>>2]=1;c[r>>2]=0;c[s>>2]=0;x=0;y=0}else if((f|0)==1){c[q>>2]=2;t=(d+1|0)/2|0;c[r>>2]=t;m=(e+1|0)/2|0;c[s>>2]=m;x=t;y=m}else if((f|0)==2){c[q>>2]=3;m=(d+1|0)/2|0;c[r>>2]=m;x=m;y=e}else if((f|0)==3){c[q>>2]=4;x=d;y=e}else{ec(7192,15792,302,17792);return 0}c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=16;f=c[g+496>>2]|0;m=c[g+500>>2]|0;r=c[g+504>>2]|0;t=c[g+508>>2]|0;s=m+f|0;n=d-(ga(s,v)|0)|0;c[b+72>>2]=n;d=t+r|0;l=e-(ga(d,w)|0)|0;c[b+76>>2]=l;c[b+80>>2]=x-s;c[b+84>>2]=y-d;d=ga(f,v)|0;c[q+16>>2]=d;y=ga(m,v)|0;c[q+20>>2]=y;y=ga(r,w)|0;c[q+24>>2]=y;v=ga(t,w)|0;c[q+28>>2]=v;c[q+32>>2]=n;c[q+36>>2]=l;a[b+16|0]=(c[g+4996>>2]|0)>8|0;l=(c[g+5004>>2]|0)>8|0;a[b+17|0]=l;a[b+18|0]=l;l=(j|0)==0;if(l){z=0}else{z=c[j+544>>2]|0}n=(k|0)==0;do{if(n){A=z;B=o^1;u=23}else{v=c[k+3060>>2]|0;w=o^1;if(n|w){A=v;B=w;u=23;break}w=c[k+3064>>2]|0;c[b+10512>>2]=w;t=b+10504|0;if((w|0)==0){w=t;m=27248;s=c[m>>2]|0;x=c[m+4>>2]|0;c[w>>2]=s;c[w+4>>2]=x;C=s;D=v;u=26;break}else{c[t>>2]=0;c[b+10508>>2]=0;break}}}while(0);do{if((u|0)==23){k=b+10504|0;if(l|B){n=k;o=27248;z=c[o>>2]|0;t=c[o+4>>2]|0;c[n>>2]=z;c[n+4>>2]=t;C=z;D=A;u=26;break}else{z=j+536|0;t=k;k=c[z>>2]|0;n=c[z+4>>2]|0;c[t>>2]=k;c[t+4>>2]=n;C=k;D=A;u=26;break}}}while(0);do{if((u|0)==26){if((C|0)==0){break}A=(Sc[C&15](j,q,b,D)|0)==0;B=(c[b+4>>2]|0)+((ga(c[b+40>>2]|0,y)|0)+d)|0;c[b+60>>2]=B;B=(ga(c[b+44>>2]|0,r)|0)+f|0;c[b+64>>2]=(c[b+8>>2]|0)+B;c[b+68>>2]=(c[b+12>>2]|0)+B;if(A){E=7}else{break}F=40;G=0;i=p;return E|0}}while(0);do{if(h){f=g+5112|0;r=c[f>>2]|0;d=g+5116|0;y=c[d>>2]|0;D=g+5108|0;q=c[D>>2]|0;j=ga(y,r)|0;C=b+10404|0;A=b+10400|0;B=c[A>>2]|0;do{if((j|0)==(c[C>>2]|0)){H=B;u=33}else{Hu(B);l=Gu(j)|0;c[A>>2]=l;if((l|0)==0){c[C>>2]=0;I=0;break}else{c[C>>2]=j;H=l;u=33;break}}}while(0);if((u|0)==33){c[b+10412>>2]=r;c[b+10416>>2]=y;c[b+10408>>2]=q;I=(H|0)!=0}j=c[f>>2]|0;C=c[d>>2]|0;A=c[D>>2]|0;B=ga(C,j)|0;l=b+10424|0;k=b+10420|0;n=c[k>>2]|0;do{if((B|0)==(c[l>>2]|0)){J=n;u=38}else{Hu(n);t=Gu(B)|0;c[k>>2]=t;if((t|0)==0){c[l>>2]=0;L=0;break}else{c[l>>2]=B;J=t;u=38;break}}}while(0);if((u|0)==38){c[b+10432>>2]=j;c[b+10436>>2]=C;c[b+10428>>2]=A;L=(J|0)!=0}B=I&L;l=g+5052|0;k=c[l>>2]|0;n=g+5060|0;D=c[n>>2]|0;d=g+5036|0;f=c[d>>2]|0;q=ga(D,k)|0;y=b+10364|0;r=b+10360|0;t=c[r>>2]|0;do{if((q|0)==(c[y>>2]|0)){M=t;u=43}else{Hu(t|0);z=Gu(q*3|0)|0;o=z;c[r>>2]=o;if((z|0)==0){c[y>>2]=0;N=0;break}else{c[y>>2]=q;M=o;u=43;break}}}while(0);if((u|0)==43){c[b+10372>>2]=k;c[b+10376>>2]=D;c[b+10368>>2]=f;N=(M|0)!=0}q=B&N;y=(c[d>>2]|0)-2|0;r=c[l>>2]<<y;t=c[n>>2]<<y;y=ga(t,r)|0;A=b+10384|0;C=b+10380|0;j=c[C>>2]|0;do{if((y|0)==(c[A>>2]|0)){O=j;u=48}else{Hu(j|0);o=Gu(y*12|0)|0;z=o;c[C>>2]=z;if((o|0)==0){c[A>>2]=0;P=0;break}else{c[A>>2]=y;O=z;u=48;break}}}while(0);if((u|0)==48){c[b+10392>>2]=r;c[b+10396>>2]=t;c[b+10388>>2]=2;P=(O|0)!=0}y=q&P;A=c[g+5088>>2]|0;C=c[g+5092>>2]|0;j=c[g+5100>>2]|0;n=ga(C,A)|0;l=b+10444|0;d=b+10440|0;B=c[d>>2]|0;do{if((n|0)==(c[l>>2]|0)){Q=B;u=53}else{Hu(B);f=Gu(n)|0;c[d>>2]=f;if((f|0)==0){c[l>>2]=0;R=0;break}else{c[l>>2]=n;Q=f;u=53;break}}}while(0);if((u|0)==53){c[b+10452>>2]=A;c[b+10456>>2]=C;c[b+10448>>2]=j;R=(Q|0)!=0}n=y&R;l=((c[g+484>>2]|0)+3|0)/4|0;d=((c[g+488>>2]|0)+3|0)/4|0;B=ga(d,l)|0;q=b+10464|0;t=b+10460|0;r=c[t>>2]|0;do{if((B|0)==(c[q>>2]|0)){S=r;u=58}else{Hu(r);f=Gu(B)|0;c[t>>2]=f;if((f|0)==0){c[q>>2]=0;T=0;break}else{c[q>>2]=B;S=f;u=58;break}}}while(0);if((u|0)==58){c[b+10472>>2]=l;c[b+10476>>2]=d;c[b+10468>>2]=2;T=(S|0)!=0}B=n&T;q=b+10344|0;t=c[q>>2]|0;if((t|0)==(c[g+5072>>2]|0)){if(B){break}else{E=7}F=40;G=0;i=p;return E|0}r=b+10524|0;y=c[r>>2]|0;if((y|0)==0){U=t}else{t=y-76+72|0;j=t;C=c[t>>2]|0;if((C|0)!=0){t=y+(C*76|0)|0;do{t=t-76|0;Ck(t);}while((t|0)!=(y|0))}Qu(j);U=c[q>>2]|0}y=c[g+5056>>2]|0;t=c[g+5064>>2]|0;n=c[g+5040>>2]|0;d=ga(t,y)|0;l=b+10340|0;C=c[l>>2]|0;do{if((d|0)==(U|0)){V=C;W=U;u=69}else{Hu(C);A=Gu(d*24|0)|0;f=A;c[l>>2]=f;if((A|0)==0){c[q>>2]=0;X=0;Y=0;break}else{c[q>>2]=d;V=f;W=d;u=69;break}}}while(0);if((u|0)==69){c[b+10352>>2]=y;c[b+10356>>2]=t;c[b+10348>>2]=n;X=(V|0)!=0;Y=W}d=B&X;q=Ra(Y|0,76)|0;l=K;C=sb(q|0,4)|0;q=Ou(l|K?-1:C)|0;c[q>>2]=Y;C=q+4|0;if((Y|0)!=0){q=C+(Y*76|0)|0;l=C;do{Bk(l);l=l+76|0;}while((l|0)!=(q|0))}c[r>>2]=C;if(d){break}else{E=7}F=40;G=0;i=p;return E|0}}while(0);E=0;F=40;G=0;i=p;return E|0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;if((c[b>>2]|0)!=0){d=c[a+10512>>2]|0;if((d|0)==0){e=c[a+10332>>2]|0;if((e|0)==0){f=0}else{f=c[e+544>>2]|0}Tc[c[a+10508>>2]&63](e,a,f)}else{f=c[a+10336>>2]|0;Tc[d&63](f,a,c[f+3060>>2]|0)}c[b>>2]=0;c[a+60>>2]=0;c[a+8>>2]=0;c[a+64>>2]=0;c[a+12>>2]=0;c[a+68>>2]=0}b=a+52|0;f=c[b>>2]|0;d=a+48|0;a=c[d>>2]|0;if((f|0)==(a|0)){return}else{g=0;h=a;i=f}while(1){f=c[h+(g<<2)>>2]|0;if((f|0)==0){j=i;k=h}else{a=c[f+1344>>2]|0;if((a|0)!=0){e=f+1348|0;l=c[e>>2]|0;if((l|0)!=(a|0)){c[e>>2]=l+(~((l-4+(-a|0)|0)>>>2)<<2)}Pu(a)}Ed(f+1332|0);a=c[f+776>>2]|0;if((a|0)!=0){l=f+780|0;e=c[l>>2]|0;if((e|0)!=(a|0)){c[l>>2]=e+(~((e-4+(-a|0)|0)>>>2)<<2)}Pu(a)}Pu(f);j=c[b>>2]|0;k=c[d>>2]|0}f=g+1|0;m=k;if(f>>>0<j-m>>2>>>0){g=f;h=k;i=j}else{break}}if((j|0)==(k|0)){return}c[b>>2]=j+(~((j-4+(-m|0)|0)>>>2)<<2);return}function Rh(a){a=a|0;var b=0,d=0,e=0,f=0;Qh(a);b=c[a+10524>>2]|0;if((b|0)!=0){d=b-76+72|0;e=d;f=c[d>>2]|0;if((f|0)!=0){d=b+(f*76|0)|0;do{d=d-76|0;Ck(d);}while((d|0)!=(b|0))}Qu(e)}yk(a+10572|0);uk(a+10548|0);Hu(c[a+10460>>2]|0);Hu(c[a+10440>>2]|0);Hu(c[a+10420>>2]|0);Hu(c[a+10400>>2]|0);Hu(c[a+10380>>2]|0);Hu(c[a+10360>>2]|0);Hu(c[a+10340>>2]|0);kj(a+5932|0);jk(a+764|0);Jf(a+108|0);e=c[a+48>>2]|0;if((e|0)==0){return}b=a+52|0;a=c[b>>2]|0;if((a|0)!=(e|0)){c[b>>2]=a+(~((a-4+(-e|0)|0)>>>2)<<2)}Pu(e);return}function Sh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((b|0)>-1){dv(c[a+4>>2]|0,b&255|0,ga(c[a+28>>2]|0,c[a+40>>2]|0)|0)|0}if((d|0)>-1){dv(c[a+8>>2]|0,d&255|0,ga(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0}if(!((e|0)>-1)){return}dv(c[a+12>>2]|0,e&255|0,ga(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0;return}function Th(a,b,d,e){a=a|0;b=b|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,p=0,q=0,r=0,s=0,t=0;f=c[b+28>>2]|0;g=(f|0)<(e|0)?f:e;if((d&1|0)!=0){ec(5264,15792,535,17776)}if((g&1|0)!=0){ec(3744,15792,536,17776)}e=((c[a+5760>>2]|0)+7|0)/8|0;f=((c[a+5768>>2]|0)+7|0)/8|0;h=b+40|0;i=c[h>>2]|0;j=a+40|0;k=c[j>>2]|0;a:do{if((i|0)==(k|0)){l=ga(ga(e,d)|0,i)|0;cv((c[a+4>>2]|0)+l|0,(c[b+4>>2]|0)+l|0,ga(ga(e,g-d|0)|0,i)|0)|0}else{if((g|0)<=(d|0)){break}l=a+4|0;m=b+4|0;n=b+24|0;o=d;p=k;q=i;while(1){r=ga(o,e)|0;s=(c[l>>2]|0)+(ga(r,p)|0)|0;t=(c[m>>2]|0)+(ga(r,q)|0)|0;cv(s|0,t|0,ga(c[n>>2]|0,e)|0)|0;t=o+1|0;if((t|0)>=(g|0)){break a}o=t;p=c[j>>2]|0;q=c[h>>2]|0}}}while(0);h=c[b+5784>>2]|0;j=(d|0)/(h|0)|0;d=(g|0)/(h|0)|0;if((c[b+20>>2]|0)==0){return}h=b+44|0;g=c[h>>2]|0;e=a+44|0;i=c[e>>2]|0;if((g|0)==(i|0)){k=ga(j,f)|0;q=ga(k,g)|0;p=ga(d-j|0,f)|0;cv((c[a+8>>2]|0)+q|0,(c[b+8>>2]|0)+q|0,ga(p,g)|0)|0;q=c[e>>2]|0;o=ga(k,q)|0;cv((c[a+12>>2]|0)+o|0,(c[b+12>>2]|0)+o|0,ga(p,q)|0)|0;return}if((j|0)>=(d|0)){return}q=a+8|0;p=b+8|0;o=b+32|0;k=a+12|0;a=b+12|0;b=j;j=i;i=g;while(1){g=ga(b,f)|0;n=(c[q>>2]|0)+(ga(g,j)|0)|0;m=(c[p>>2]|0)+(ga(g,i)|0)|0;cv(n|0,m|0,ga(c[o>>2]|0,f)|0)|0;m=(c[k>>2]|0)+(ga(g,c[e>>2]|0)|0)|0;n=(c[a>>2]|0)+(ga(g,c[h>>2]|0)|0)|0;cv(m|0,n|0,ga(c[o>>2]|0,f)|0)|0;n=b+1|0;if((n|0)>=(d|0)){break}b=n;j=c[e>>2]|0;i=c[h>>2]|0}return}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;e=b+4|0;f=c[d>>2]|0;c[d>>2]=c[e>>2];c[e>>2]=f;f=a+60|0;e=b+60|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;d=a+10492|0;e=b+10492|0;f=c[d>>2]|0;c[d>>2]=c[e>>2];c[e>>2]=f;f=a+8|0;e=b+8|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;d=a+64|0;e=b+64|0;f=c[d>>2]|0;c[d>>2]=c[e>>2];c[e>>2]=f;f=a+10496|0;e=b+10496|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;d=a+12|0;e=b+12|0;f=c[d>>2]|0;c[d>>2]=c[e>>2];c[e>>2]=f;f=a+68|0;e=b+68|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;d=a+10500|0;e=b+10500|0;f=c[d>>2]|0;c[d>>2]=c[e>>2];c[e>>2]=f;f=a+40|0;e=b+40|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;d=a+44|0;e=b+44|0;f=c[d>>2]|0;c[d>>2]=c[e>>2];c[e>>2]=f;f=a+10504|0;a=c[f>>2]|0;e=c[f+4>>2]|0;d=b+10504|0;b=c[d+4>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[d>>2]=a;c[d+4>>2]=e;return}function Vh(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+10548|0;vk(d);e=a+10528|0;c[e>>2]=(c[e>>2]|0)+b;e=a+10544|0;c[e>>2]=(c[e>>2]|0)+b;wk(d);return}function Wh(a,b){a=a|0;b=b|0;var d=0;b=a+10548|0;vk(b);d=a+10528|0;c[d>>2]=(c[d>>2]|0)-1;d=a+10532|0;c[d>>2]=(c[d>>2]|0)+1;wk(b);return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;b=a+10548|0;vk(b);d=a+10532|0;e=c[d>>2]|0;c[d>>2]=e-1;d=a+10540|0;f=(c[d>>2]|0)+1|0;c[d>>2]=f;if((e|0)<=0){ec(2424,15792,642,17760)}if((f|0)!=(c[a+10544>>2]|0)){wk(b);return}zk(a+10572|0,b);wk(b);return}function Yh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Zh(a,b,(ga(c[a+5820>>2]|0,e)|0)+d|0,f);return}function Zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((b|0)==0){return}f=(c[a+10524>>2]|0)+(d*76|0)|0;if((Gk(f)|0)>=(e|0)){return}d=a+10548|0;vk(d);g=a+10532|0;c[g>>2]=(c[g>>2]|0)-1;h=a+10536|0;c[h>>2]=(c[h>>2]|0)+1;wk(d);a=b+4|0;c[a>>2]=2;Dk(f,e);c[a>>2]=1;vk(d);c[h>>2]=(c[h>>2]|0)-1;c[g>>2]=(c[g>>2]|0)+1;wk(d);return}function _h(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+10548|0;vk(b);d=a+10540|0;e=a+10544|0;if((c[d>>2]|0)==(c[e>>2]|0)){wk(b);return}f=a+10572|0;do{Ak(f,b);}while((c[d>>2]|0)!=(c[e>>2]|0));wk(b);return}function $h(a){a=a|0;var b=0,d=0;b=c[a+10360>>2]|0;if((b|0)!=0){dv(b|0,0,(c[a+10364>>2]|0)*3|0|0)|0}b=c[a+10340>>2]|0;if((b|0)!=0){dv(b|0,0,(c[a+10344>>2]|0)*24|0|0)|0}b=c[a+10460>>2]|0;if((b|0)!=0){dv(b|0,0,c[a+10464>>2]|0)|0}b=a+10344|0;if((c[b>>2]|0)<=0){return}d=c[a+10524>>2]|0;a=0;do{c[d+(a*76|0)>>2]=0;a=a+1|0;}while((a|0)<(c[b>>2]|0));return}function ai(a,d,e,f,g,h){a=a|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;i=d>>2;d=e>>2;e=f>>2;f=g>>2;g=c[a+10392>>2]|0;if((f|0)<=0){return}j=a+10380|0;a=h|0;if((e|0)>0){k=0}else{return}do{h=(ga(k+d|0,g)|0)+i|0;l=0;do{m=(c[j>>2]|0)+((h+l|0)*12|0)|0;b[m>>1]=b[a>>1]|0;b[m+2>>1]=b[a+2>>1]|0;b[m+4>>1]=b[a+4>>1]|0;b[m+6>>1]=b[a+6>>1]|0;b[m+8>>1]=b[a+8>>1]|0;b[m+10>>1]=b[a+10>>1]|0;l=l+1|0;}while((l|0)<(e|0));k=k+1|0;}while((k|0)<(f|0));return}function bi(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((g|f|0)<0){h=0;return h|0}if((c[a+1248>>2]|0)<=(f|0)){h=0;return h|0}if((c[a+1252>>2]|0)<=(g|0)){h=0;return h|0}i=c[a+5864>>2]|0;j=c[a+5852>>2]|0;k=(ga(g>>i,j)|0)+(f>>i)|0;l=c[a+10320>>2]|0;m=l+((ga(e>>i,j)|0)+(d>>i)<<2)|0;if((c[l+(k<<2)>>2]|0)>(c[m>>2]|0)){h=0;return h|0}m=c[a+5804>>2]|0;k=d>>m;d=e>>m;e=f>>m;f=g>>m;m=c[a+10352>>2]|0;g=(ga(m,d)|0)+k|0;l=c[a+10340>>2]|0;i=l+(((ga(m,f)|0)+e|0)*24|0)|0;if((b[l+(g*24|0)>>1]|0)!=(b[i>>1]|0)){h=0;return h|0}i=c[a+5820>>2]|0;g=(ga(i,d)|0)+k|0;k=c[a+10308>>2]|0;a=k+((ga(i,f)|0)+e<<2)|0;h=(c[k+(g<<2)>>2]|0)==(c[a>>2]|0);return h|0}function ci(a,e,f,g,h,i,j,k,l,m,n){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0;do{if((e|0)>(m|0)){o=3}else{if(!((f|0)<=(n|0)&(g+e|0)>(m|0)&(g+f|0)>(n|0))){o=3;break}if((j<<1|0)!=(g|0)){break}if(!((k<<1|0)==(g|0)&(l|0)==1)){break}if((k+f|0)>(n|0)){break}if((j+e|0)<=(m|0)){break}return 0}}while(0);do{if((o|0)==3){if((n|m|0)<0){return 0}if((c[a+1248>>2]|0)<=(m|0)){return 0}if((c[a+1252>>2]|0)<=(n|0)){return 0}e=c[a+5864>>2]|0;j=c[a+5852>>2]|0;f=(ga(n>>e,j)|0)+(m>>e)|0;k=c[a+10320>>2]|0;l=k+((ga(i>>e,j)|0)+(h>>e)<<2)|0;if((c[k+(f<<2)>>2]|0)>(c[l>>2]|0)){return 0}l=c[a+5804>>2]|0;f=h>>l;k=i>>l;e=m>>l;j=n>>l;l=c[a+10352>>2]|0;g=(ga(l,k)|0)+f|0;p=c[a+10340>>2]|0;q=p+(((ga(l,j)|0)+e|0)*24|0)|0;if((b[p+(g*24|0)>>1]|0)!=(b[q>>1]|0)){return 0}q=c[a+5820>>2]|0;g=(ga(q,k)|0)+f|0;f=c[a+10308>>2]|0;k=f+((ga(q,j)|0)+e<<2)|0;if((c[f+(g<<2)>>2]|0)==(c[k>>2]|0)){break}return 0}}while(0);i=c[a+10368>>2]|0;h=m>>i;m=n>>i;if(!((h|0)>-1)){ec(568,17072,118,17344);return 0}i=c[a+10372>>2]|0;if((h|0)>=(i|0)){ec(568,17072,118,17344);return 0}if(!((m|0)>-1)){ec(16504,17072,119,17344);return 0}if((m|0)<(c[a+10376>>2]|0)){n=(ga(i,m)|0)+h|0;h=(c[a+10360>>2]|0)+(n*3|0)|0;return((d[h]|d[h+1|0]<<8)<<16>>16&768)!=0|0}else{ec(16504,17072,119,17344);return 0}return 0}function di(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;do{if(g){j=c[i+10368>>2]|0;k=b-1>>j;l=e>>j;if(!((k|0)>-1)){ec(7e3,5152,118,17336)}j=c[i+10372>>2]|0;if((k|0)>=(j|0)){ec(7e3,5152,118,17336)}if(!((l|0)>-1)){ec(3672,5152,119,17336)}if((l|0)>=(c[i+10376>>2]|0)){ec(3672,5152,119,17336)}m=(ga(j,l)|0)+k|0;k=(c[i+10360>>2]|0)+(m*3|0)|0;if(!(((d[k]|d[k+1|0]<<8)<<16>>16&1792)==0)){n=1;break}n=d[(c[i+10400>>2]|0)+(f-1)|0]|0}else{n=1}}while(0);do{if(h){g=c[i+10368>>2]|0;k=b>>g;m=e-1>>g;if(!((k|0)>-1)){ec(7e3,5152,118,17336)}g=c[i+10372>>2]|0;if((k|0)>=(g|0)){ec(7e3,5152,118,17336)}if(!((m|0)>-1)){ec(3672,5152,119,17336)}if((m|0)>=(c[i+10376>>2]|0)){ec(3672,5152,119,17336)}l=(ga(g,m)|0)+k|0;k=(c[i+10360>>2]|0)+(l*3|0)|0;if(!(((d[k]|d[k+1|0]<<8)<<16>>16&1792)==0)){o=1;break}k=c[i+5804>>2]|0;if((e>>k<<k|0)>=(e|0)){o=1;break}o=d[(c[i+10400>>2]|0)+(f-(c[i+5876>>2]|0))|0]|0}else{o=1}}while(0);if((n|0)==(o|0)){if(n>>>0<2>>>0){c[a>>2]=0;c[a+4>>2]=1;c[a+8>>2]=26;return}else{c[a>>2]=n;c[a+4>>2]=(n+29&31)+2;c[a+8>>2]=((n-1|0)%32|0)+2;return}}c[a>>2]=n;c[a+4>>2]=o;if(!((n|0)==0|(o|0)==0)){c[a+8>>2]=0;return}i=a+8|0;if((n|0)==1|(o|0)==1){c[i>>2]=26;return}else{c[i>>2]=1;return}}function ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==3){f=2}else if((a|0)!=2){g=0;return g|0}do{if((f|0)==2){if((d|0)==0){break}if((c[e+5012>>2]|0)==3){break}else{g=0}return g|0}}while(0);if((b-6|0)>>>0<9>>>0){g=2;return g|0}g=(b-22|0)>>>0<9>>>0|0;return g|0}function fi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((c[((g|0)==0?a+5760|0:a+5768|0)>>2]|0)>8){gi(a,b,d,e,f,g);return}else{hi(a,b,d,e,f,g);return}}function gi(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;l=i;i=i+264|0;m=l|0;n=m+128|0;mi(d,f,g,j,k,n);do{if((a[d+5753|0]|0)==0){if((k|0)!=0){if((c[d+5776>>2]|0)!=3){break}}ni(d,n,j,k,h)}}while(0);if((h|0)==0){o=c[((k|0)==0?d+40|0:d+44|0)>>2]|0;p=(c[d+4+(k<<2)>>2]|0)+((ga(o,g)|0)+f<<1)|0;if((j|0)>1){q=j;r=0;while(1){s=q>>1;if((s|0)>1){q=s;r=r+1|0}else{break}}t=r+2|0}else{t=1}if((j|0)<=0){u=258;v=0;i=l;return}r=j-1|0;q=e[m+(j+65<<1)>>1]|0;s=e[m+(63-j<<1)>>1]|0;w=0;while(1){x=r-w|0;y=w+1|0;z=ga(w,o)|0;A=e[m+(63-w<<1)>>1]|0;B=ga(s,y)|0;C=0;while(1){D=ga(A,r-C|0)|0;E=C+1|0;F=ga(q,E)|0;G=D+j+F+(ga(e[m+(C+65<<1)>>1]|0,x)|0)+B>>t&65535;b[p+(C+z<<1)>>1]=G;if((E|0)<(j|0)){C=E}else{break}}if((y|0)<(j|0)){w=y}else{break}}u=258;v=0;i=l;return}else if((h|0)==1){oi(d,f,g,j,k,n);u=258;v=0;i=l;return}else{pi(d,f,g,h,j,k,n);u=258;v=0;i=l;return}}function hi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0;k=i;i=i+136|0;l=k|0;m=l+64|0;ii(b,e,f,h,j,m);do{if((a[b+5753|0]|0)==0){if((j|0)!=0){if((c[b+5776>>2]|0)!=3){break}}ji(b,m,h,j,g)}}while(0);if((g|0)==0){n=c[((j|0)==0?b+40|0:b+44|0)>>2]|0;o=c[b+4+(j<<2)>>2]|0;if((h|0)>1){p=h;q=0;while(1){r=p>>1;if((r|0)>1){p=r;q=q+1|0}else{break}}s=q+2|0}else{s=1}if((h|0)<=0){t=129;u=0;i=k;return}q=h-1|0;p=d[l+(h+65)|0]|0;r=d[l+(63-h)|0]|0;v=0;while(1){w=q-v|0;x=v+1|0;y=ga(v+f|0,n)|0;z=d[l+(63-v)|0]|0;A=ga(r,x)|0;B=y+e|0;y=0;while(1){C=ga(z,q-y|0)|0;D=y+1|0;E=ga(p,D)|0;F=C+h+E+(ga(d[l+(y+65)|0]|0,w)|0)+A>>s&255;a[o+(B+y)|0]=F;if((D|0)<(h|0)){y=D}else{break}}if((x|0)<(h|0)){v=x}else{break}}t=129;u=0;i=k;return}else if((g|0)==1){ki(b,e,f,h,j,m);t=129;u=0;i=k;return}else{li(b,e,f,g,h,j,m);t=129;u=0;i=k;return}}function ii(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;l=i;i=i+136|0;m=l|0;n=m+64|0;o=c[b+4+(j<<2)>>2]|0;p=(j|0)==0;j=c[(p?b+40|0:b+44|0)>>2]|0;if(p){q=1;r=1}else{q=c[b+5784>>2]|0;r=c[b+5780>>2]|0}s=c[(p?b+5760|0:b+5768|0)>>2]|0;p=ga(r,f)|0;t=ga(q,g)|0;u=c[b+5804>>2]|0;v=c[b+5820>>2]|0;w=(p|0)!=0;x=(t|0)==0;y=x^1;z=w&y;A=ga(r,h+f|0)|0;B=c[b+1248>>2]|0;D=(A|0)<(B|0)&y;E=p>>u;F=t>>u;G=p-1>>u;H=A>>u;A=t-1>>u;u=c[b+10352>>2]|0;I=ga(u,F)|0;J=c[b+10340>>2]|0;K=e[J+((I+E|0)*24|0)>>1]|0;if(w){L=e[J+((I+G|0)*24|0)>>1]|0}else{L=-1}if(x){M=-1}else{I=J+(((ga(u,A)|0)+E|0)*24|0)|0;M=e[I>>1]|0}if(D){I=J+(((ga(u,A)|0)+H|0)*24|0)|0;N=e[I>>1]|0}else{N=-1}if(z){I=J+(((ga(u,A)|0)+G|0)*24|0)|0;O=e[I>>1]|0}else{O=-1}I=ga(F,v)|0;F=c[b+10308>>2]|0;u=c[F+(I+E<<2)>>2]|0;if(w){P=c[F+(I+G<<2)>>2]|0}else{P=-1}if(x){Q=-1}else{x=F+((ga(A,v)|0)+E<<2)|0;Q=c[x>>2]|0}if(z){x=F+((ga(A,v)|0)+G<<2)|0;R=c[x>>2]|0}else{R=-1}if(D){x=F+((ga(A,v)|0)+H<<2)|0;S=c[x>>2]|0}else{S=-1}x=(L|0)==(K|0)&(P|0)==(u|0)&w;w=(M|0)==(K|0)&(Q|0)==(u|0)&y;y=(O|0)==(K|0)&(R|0)==(u|0)&z;z=(N|0)==(K|0)&(S|0)==(u|0)&D;D=b+5864|0;u=c[D>>2]|0;S=b+5852|0;K=(ga(t>>u,c[S>>2]|0)|0)+(p>>u)|0;u=b+10320|0;N=c[(c[u>>2]|0)+(K<<2)>>2]|0;K=(q-1-t+(c[b+1252>>2]|0)|0)/(q|0)|0;t=h<<1;R=(K|0)>(t|0)?t:K;O=(r-1-p+B|0)/(r|0)|0;B=(O|0)>(t|0)?t:O;O=-t|0;p=h<<2|1;dv(m+(64-t)|0,0,p|0)|0;a:do{if((R|0)>0){Q=f-1|0;M=ga(r,Q)|0;P=b+5944|0;L=b+10368|0;H=b+10372|0;v=b+10376|0;A=b+10360|0;F=~K;G=~(h<<1);E=((F|0)>(G|0)?F:G)+65|0;G=0;F=0;I=R-1|0;J=0;b:while(1){T=m+(E+(J<<2))|0;do{if(x){U=c[D>>2]|0;V=I+g|0;W=ga(V,q)|0;X=(ga(W>>U,c[S>>2]|0)|0)+(M>>U)|0;U=(c[(c[u>>2]|0)+(X<<2)>>2]|0)<=(N|0);if((a[P]|0)==0){if(!U){Y=F;Z=G;break}}else{X=c[L>>2]|0;_=M>>X;$=W>>X;if(!((_|0)>-1)){aa=25;break b}X=c[H>>2]|0;if((_|0)>=(X|0)){aa=25;break b}if(!(($|0)>-1)){aa=28;break b}if(($|0)>=(c[v>>2]|0)){aa=28;break b}W=(ga(X,$)|0)+_|0;_=(c[A>>2]|0)+(W*3|0)|0;if(!(((d[_]|d[_+1|0]<<8)<<16>>16&768)==0&U)){Y=F;Z=G;break}}U=o+((ga(V,j)|0)+Q)|0;if((G|0)==0){ba=a[U]|0}else{ba=F}_=T;C=16843009;a[_]=C;C=C>>8;a[_+1|0]=C;C=C>>8;a[_+2|0]=C;C=C>>8;a[_+3|0]=C;a[k+~I|0]=a[U]|0;U=o+((ga(V-1|0,j)|0)+Q)|0;a[k+(1-I-1)|0]=a[U]|0;U=o+((ga(V-2|0,j)|0)+Q)|0;a[k+(2-I-1)|0]=a[U]|0;U=o+((ga(V-3|0,j)|0)+Q)|0;a[k+(3-I-1)|0]=a[U]|0;Y=ba;Z=G+4|0}else{Y=F;Z=G}}while(0);T=I-4|0;if((T|0)>-1){G=Z;F=Y;I=T;J=J+1|0}else{ca=Z;da=Y;break a}}if((aa|0)==25){ec(7e3,5152,118,17336)}else if((aa|0)==28){ec(3672,5152,119,17336)}}else{ca=0;da=0}}while(0);c:do{if(y){Y=f-1|0;Z=ga(r,Y)|0;ba=c[D>>2]|0;x=g-1|0;R=ga(q,x)|0;K=(ga(R>>ba,c[S>>2]|0)|0)+(Z>>ba)|0;ba=(c[(c[u>>2]|0)+(K<<2)>>2]|0)<=(N|0);do{if((a[b+5944|0]|0)==0){if(!ba){ea=da;fa=ca;break c}}else{K=c[b+10368>>2]|0;J=Z>>K;I=R>>K;if(!((J|0)>-1)){ec(7e3,5152,118,17336)}K=c[b+10372>>2]|0;if((J|0)>=(K|0)){ec(7e3,5152,118,17336)}if(!((I|0)>-1)){ec(3672,5152,119,17336)}if((I|0)<(c[b+10376>>2]|0)){F=(ga(K,I)|0)+J|0;J=(c[b+10360>>2]|0)+(F*3|0)|0;if(((d[J]|d[J+1|0]<<8)<<16>>16&768)==0&ba){break}else{ea=da;fa=ca;break c}}else{ec(3672,5152,119,17336)}}}while(0);ba=o+((ga(j,x)|0)+Y)|0;if((ca|0)==0){ha=a[ba]|0}else{ha=da}a[k]=a[ba]|0;a[n]=1;ea=ha;fa=ca+1|0}else{ea=da;fa=ca}}while(0);d:do{if((B|0)>0){ca=g-1|0;da=ga(q,ca)|0;ha=b+5944|0;n=ga(j,ca)|0;ca=b+10368|0;y=b+10372|0;ba=b+10376|0;R=b+10360|0;Z=fa;J=ea;F=0;I=0;e:while(1){K=m+((I<<2)+65)|0;do{if((F|0)<(h|0)?w:z){G=F+f|0;Q=ga(G,r)|0;A=c[D>>2]|0;v=(ga(da>>A,c[S>>2]|0)|0)+(Q>>A)|0;A=(c[(c[u>>2]|0)+(v<<2)>>2]|0)<=(N|0);if((a[ha]|0)==0){if(!A){ia=J;ja=Z;break}}else{v=c[ca>>2]|0;H=Q>>v;Q=da>>v;if(!((H|0)>-1)){aa=54;break e}v=c[y>>2]|0;if((H|0)>=(v|0)){aa=54;break e}if(!((Q|0)>-1)){aa=57;break e}if((Q|0)>=(c[ba>>2]|0)){aa=57;break e}M=(ga(v,Q)|0)+H|0;H=(c[R>>2]|0)+(M*3|0)|0;if(!(((d[H]|d[H+1|0]<<8)<<16>>16&768)==0&A)){ia=J;ja=Z;break}}A=G+n|0;G=o+A|0;if((Z|0)==0){ka=a[G]|0}else{ka=J}H=K;C=16843009;a[H]=C;C=C>>8;a[H+1|0]=C;C=C>>8;a[H+2|0]=C;C=C>>8;a[H+3|0]=C;H=F|1;a[k+H|0]=a[G]|0;a[k+(H+1)|0]=a[o+(A+1)|0]|0;a[k+(F|3)|0]=a[o+(A+2)|0]|0;a[k+((F|3)+1)|0]=a[o+(A+3)|0]|0;ia=ka;ja=Z+4|0}else{ia=J;ja=Z}}while(0);K=F+4|0;if((K|0)<(B|0)){Z=ja;J=ia;F=K;I=I+1|0}else{la=ja;ma=ia;break d}}if((aa|0)==54){ec(7e3,5152,118,17336)}else if((aa|0)==57){ec(3672,5152,119,17336)}}else{la=fa;ma=ea}}while(0);if((la|0)==(p|0)){na=129;oa=0;i=l;return}if((la|0)==0){dv(k+O|0,1<<s-1&255|0,p|0)|0;na=129;oa=0;i=l;return}p=h*-2|0;if((a[m+(p+64)|0]|0)==0){a[k+p|0]=ma}ma=p|1;if((ma|0)>(t|0)){na=129;oa=0;i=l;return}else{pa=ma}while(1){if((a[m+(pa+64)|0]|0)==0){a[k+pa|0]=a[k+(pa-1)|0]|0}if((pa|0)<(t|0)){pa=pa+1|0}else{break}}na=129;oa=0;i=l;return}function ji(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+136|0;k=j|0;if((h|0)==1|(f|0)==4){i=j;return}l=h-26|0;m=(l|0)<0?26-h|0:l;l=h-10|0;n=(l|0)<0?10-h|0:l;l=(m|0)<(n|0)?m:n;do{if((f|0)==32){if((l|0)>0){break}i=j;return}else if((f|0)==8){if((l|0)>7){break}i=j;return}else if((f|0)==16){if((l|0)>1){break}i=j;return}else{ec(8920,15552,518,18232)}}while(0);do{if((a[b+5665|0]|0)!=0&(g|0)==0&(f|0)==32){l=d[e]|0;n=(d[e+64|0]|0)+l-(d[e+32|0]<<1)|0;m=1<<(c[b+1276>>2]|0)-5;if((((n|0)<0?-n|0:n)|0)>=(m|0)){o=0;break}n=(d[e-64|0]|0)+l-(d[e-32|0]<<1)|0;o=(((n|0)<0?-n|0:n)|0)<(m|0)}else{o=0}}while(0);b=f*-2|0;a[k+(b+64)|0]=a[e+b|0]|0;b=f<<1;a[k+(b+64)|0]=a[e+b|0]|0;do{if(o){g=a[e]|0;a[k+64|0]=g;m=g&255;g=(d[e-64|0]|0)-m|0;n=(d[e+64|0]|0)-m|0;l=1;do{h=(((ga(g,l)|0)+32|0)>>>6)+m&255;a[k+(64-l)|0]=h;h=(((ga(n,l)|0)+32|0)>>>6)+m&255;a[k+(l+64)|0]=h;l=l+1|0;}while((l|0)<64)}else{l=b-1|0;m=1-b|0;if((m|0)>(l|0)){break}n=m;g=a[e+m|0]|0;while(1){m=n+1|0;h=a[e+m|0]|0;a[k+(n+64)|0]=((h&255)+2+((g&255)<<1)+(d[e+(n-1)|0]|0)|0)>>>2;if((n|0)<(l|0)){n=m;g=h}else{break}}}}while(0);cv(e+(-b|0)|0,k+(64-b)|0,f<<2|1)|0;i=j;return}function ki(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=(h|0)==0;k=c[(j?b+40|0:b+44|0)>>2]|0;l=c[b+4+(h<<2)>>2]|0;h=(ga(k,f)|0)+e|0;b=l+h|0;m=(g|0)>1;if(m){n=g;o=0;while(1){p=n>>1;if((p|0)>1){n=p;o=o+1|0}else{break}}q=o+2|0}else{q=1}o=(g|0)>0;if(o){n=0;p=0;while(1){r=p+1|0;s=(d[i+r|0]|0)+n+(d[i+~p|0]|0)|0;if((r|0)<(g|0)){n=s;p=r}else{t=s;break}}}else{t=0}p=t+g>>q;if(!(j&(g|0)<32)){if(!o){return}o=p&255;j=0;do{dv(l+(h+(ga(k,j)|0))|0,o|0,g|0)|0;j=j+1|0;}while((j|0)<(g|0));return}a[b]=((p<<1)+2+(d[i-1|0]|0)+(d[i+1|0]|0)|0)>>>2;if(!m){return}b=(p*3|0)+2|0;j=1;while(1){o=j+1|0;a[l+(j+h)|0]=(b+(d[i+o|0]|0)|0)>>>2;if((o|0)<(g|0)){j=o}else{break}}if(!m){return}j=(p*3|0)+2|0;b=1;do{o=l+((ga(b,k)|0)+h)|0;a[o]=(j+(d[i+~b|0]|0)|0)>>>2;b=b+1|0;}while((b|0)<(g|0));if(!m){return}m=p&255;p=(ga(k,f+1|0)|0)+e+1|0;e=g-1|0;f=1;b=0;while(1){dv(l+(p+(ga(k,b)|0))|0,m|0,e|0)|0;i=f+1|0;if((i|0)<(g|0)){f=i;b=b+1|0}else{break}}return}function li(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;l=i;i=i+136|0;m=l|0;n=(j|0)==0;o=c[(n?b+40|0:b+44|0)>>2]|0;p=c[b+4+(j<<2)>>2]|0;j=(ga(o,f)|0)+e|0;q=c[(n?b+5760|0:b+5768|0)>>2]|0;if((g|0)>=35){ec(12952,15552,596,18712)}if((g|0)<=1){ec(10072,15552,597,18712)}r=c[64+(g<<2)>>2]|0;do{if((a[b+5750|0]|0)==0){s=0}else{t=c[b+10368>>2]|0;u=e>>t;v=f>>t;if(!((u|0)>-1)){ec(7e3,5152,118,17336)}t=c[b+10372>>2]|0;if((u|0)>=(t|0)){ec(7e3,5152,118,17336)}if(!((v|0)>-1)){ec(3672,5152,119,17336)}if((v|0)<(c[b+10376>>2]|0)){w=(ga(t,v)|0)+u|0;u=(c[b+10360>>2]|0)+(w*3|0)|0;s=((d[u]|d[u+1|0]<<8)<<16>>16&2048)!=0;break}else{ec(3672,5152,119,17336)}}}while(0);b=(h|0)<0;if((g|0)>17){if(!b){cv(m+64|0,k|0,h+1|0)|0}f=g-11|0;do{if(f>>>0<15>>>0){e=c[30584+(f<<2)>>2]|0;u=(ga(r,h)|0)>>5;if((u|0)<-1){x=u}else{break}do{u=k+(-((ga(x,e)|0)+128>>8)|0)|0;a[m+(x+64)|0]=a[u]|0;x=x+1|0;}while((x|0)<0)}else{if((h<<1|0)<=(h|0)){break}cv(m+(h+65)|0,k+(h+1)|0,h)|0}}while(0);x=(h|0)>0;if(x){f=0;while(1){e=f+1|0;u=ga(e,r)|0;w=u>>5;v=u&31;u=(v|0)==0;t=w+65|0;y=(ga(f,o)|0)+j|0;z=32-v|0;A=0;do{if(u){a[p+(y+A)|0]=a[m+(t+A)|0]|0}else{B=A+w|0;C=ga(d[m+(B+65)|0]|0,z)|0;D=(C+16+(ga(d[m+(B+66)|0]|0,v)|0)|0)>>>5&255;a[p+(y+A)|0]=D}A=A+1|0;}while((A|0)<(h|0));if((e|0)<(h|0)){f=e}else{break}}}if(s|(g|0)==26&n&(h|0)<32^1|x^1){E=129;F=0;i=l;return}x=k+1|0;f=(1<<q)-1|0;A=0;do{y=((d[k+~A|0]|0)-(d[k]|0)>>1)+(d[x]|0)|0;if((y|0)<0){G=0}else{G=((y|0)>(f|0)?f:y)&255}y=p+((ga(A,o)|0)+j)|0;a[y]=G;A=A+1|0;}while((A|0)<(h|0));E=129;F=0;i=l;return}else{if(!b){b=0;while(1){a[m+(b+64)|0]=a[k+(-b|0)|0]|0;if((b|0)<(h|0)){b=b+1|0}else{break}}}b=g-11|0;do{if(b>>>0<15>>>0){A=c[30584+(b<<2)>>2]|0;G=(ga(r,h)|0)>>5;if((G|0)<-1){H=G}else{break}do{G=k+((ga(H,A)|0)+128>>8)|0;a[m+(H+64)|0]=a[G]|0;H=H+1|0;}while((H|0)<0)}else{A=h<<1;if((A|0)>(h|0)){I=h}else{break}while(1){e=I+1|0;a[m+(I+65)|0]=a[k+~I|0]|0;if((e|0)<(A|0)){I=e}else{break}}}}while(0);I=(h|0)>0;if(I){H=0;do{b=H+65|0;A=(ga(H,o)|0)+j|0;e=0;while(1){G=e+1|0;f=ga(G,r)|0;x=f>>5;y=f&31;if((y|0)==0){a[p+(A+e)|0]=a[m+(b+x)|0]|0}else{f=x+H|0;x=ga(d[m+(f+65)|0]|0,32-y|0)|0;v=(x+16+(ga(d[m+(f+66)|0]|0,y)|0)|0)>>>5&255;a[p+(A+e)|0]=v}if((G|0)<(h|0)){e=G}else{break}}H=H+1|0;}while((H|0)<(h|0))}if(s|(g|0)==10&n&(h|0)<32^1|I^1){E=129;F=0;i=l;return}I=k-1|0;n=(1<<q)-1|0;q=0;while(1){g=q+1|0;s=((d[k+g|0]|0)-(d[k]|0)>>1)+(d[I]|0)|0;if((s|0)<0){J=0}else{J=((s|0)>(n|0)?n:s)&255}a[p+(q+j)|0]=J;if((g|0)<(h|0)){q=g}else{break}}E=129;F=0;i=l;return}}function mi(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,A=0,B=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,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;m=i;i=i+136|0;n=m|0;o=n+64|0;p=c[f+4+(k<<2)>>2]|0;q=(k|0)==0;k=c[(q?f+40|0:f+44|0)>>2]|0;if(q){r=1;s=1}else{r=c[f+5784>>2]|0;s=c[f+5780>>2]|0}t=c[(q?f+5760|0:f+5768|0)>>2]|0;q=ga(s,g)|0;u=ga(r,h)|0;v=c[f+5804>>2]|0;w=c[f+5820>>2]|0;x=(q|0)!=0;y=(u|0)==0;z=y^1;A=x&z;B=ga(s,j+g|0)|0;D=c[f+1248>>2]|0;E=(B|0)<(D|0)&z;F=q>>v;G=u>>v;H=q-1>>v;I=B>>v;B=u-1>>v;v=c[f+10352>>2]|0;J=ga(v,G)|0;K=c[f+10340>>2]|0;L=e[K+((J+F|0)*24|0)>>1]|0;if(x){M=e[K+((J+H|0)*24|0)>>1]|0}else{M=-1}if(y){N=-1}else{J=K+(((ga(v,B)|0)+F|0)*24|0)|0;N=e[J>>1]|0}if(E){J=K+(((ga(v,B)|0)+I|0)*24|0)|0;O=e[J>>1]|0}else{O=-1}if(A){J=K+(((ga(v,B)|0)+H|0)*24|0)|0;P=e[J>>1]|0}else{P=-1}J=ga(G,w)|0;G=c[f+10308>>2]|0;v=c[G+(J+F<<2)>>2]|0;if(x){Q=c[G+(J+H<<2)>>2]|0}else{Q=-1}if(y){R=-1}else{y=G+((ga(B,w)|0)+F<<2)|0;R=c[y>>2]|0}if(A){y=G+((ga(B,w)|0)+H<<2)|0;S=c[y>>2]|0}else{S=-1}if(E){y=G+((ga(B,w)|0)+I<<2)|0;T=c[y>>2]|0}else{T=-1}y=(N|0)==(L|0)&(R|0)==(v|0)&z;z=(P|0)==(L|0)&(S|0)==(v|0)&A;A=(O|0)==(L|0)&(T|0)==(v|0)&E;E=c[f+5864>>2]|0;T=c[f+5852>>2]|0;O=(ga(u>>E,T)|0)+(q>>E)|0;S=c[f+10320>>2]|0;P=c[S+(O<<2)>>2]|0;O=(r-1-u+(c[f+1252>>2]|0)|0)/(r|0)|0;u=j<<1;R=(O|0)>(u|0)?u:O;N=(s-1-q+D|0)/(s|0)|0;D=(N|0)>(u|0)?u:N;N=j<<2|1;dv(n+(64-u)|0,0,N|0)|0;q=R-1|0;a:do{if((R|0)>0){I=g-1|0;w=ga(s,I)|0;B=f+5944|0;G=f+10368|0;H=f+10372|0;F=f+10376|0;J=f+10360|0;if(!((M|0)==(L|0)&(Q|0)==(v|0)&x)){K=q;while(1){U=K-4|0;if((U|0)>-1){K=U}else{V=0;W=0;break a}}}K=~O;U=~(j<<1);X=((K|0)>(U|0)?K:U)+65|0;U=0;K=0;Y=q;Z=0;while(1){_=n+(X+(Z<<2))|0;$=Y+h|0;aa=ga($,r)|0;ba=S+((ga(aa>>E,T)|0)+(w>>E)<<2)|0;ca=(c[ba>>2]|0)<=(P|0);if((a[B]|0)==0){if(ca){da=29}else{ea=K;fa=U}}else{ba=c[G>>2]|0;ha=w>>ba;ia=aa>>ba;if(!((ha|0)>-1)){da=33;break}ba=c[H>>2]|0;if((ha|0)>=(ba|0)){da=33;break}if(!((ia|0)>-1)){da=34;break}if((ia|0)>=(c[F>>2]|0)){da=34;break}aa=(ga(ba,ia)|0)+ha|0;ha=(c[J>>2]|0)+(aa*3|0)|0;if(((d[ha]|d[ha+1|0]<<8)<<16>>16&768)==0&ca){da=29}else{ea=K;fa=U}}if((da|0)==29){da=0;ca=p+((ga($,k)|0)+I<<1)|0;if((U|0)==0){ja=b[ca>>1]|0}else{ja=K}ha=_;C=16843009;a[ha]=C;C=C>>8;a[ha+1|0]=C;C=C>>8;a[ha+2|0]=C;C=C>>8;a[ha+3|0]=C;b[l+(~Y<<1)>>1]=b[ca>>1]|0;ca=p+((ga($-1|0,k)|0)+I<<1)|0;b[l+(1-Y-1<<1)>>1]=b[ca>>1]|0;ca=p+((ga($-2|0,k)|0)+I<<1)|0;b[l+(2-Y-1<<1)>>1]=b[ca>>1]|0;ca=p+((ga($-3|0,k)|0)+I<<1)|0;b[l+(3-Y-1<<1)>>1]=b[ca>>1]|0;ea=ja;fa=U+4|0}ca=Y-4|0;if((ca|0)>-1){U=fa;K=ea;Y=ca;Z=Z+1|0}else{V=fa;W=ea;break a}}if((da|0)==33){ec(7e3,5152,118,17336)}else if((da|0)==34){ec(3672,5152,119,17336)}}else{V=0;W=0}}while(0);b:do{if(z){ea=g-1|0;fa=ga(s,ea)|0;ja=h-1|0;q=ga(r,ja)|0;O=S+((ga(q>>E,T)|0)+(fa>>E)<<2)|0;x=(c[O>>2]|0)<=(P|0);do{if((a[f+5944|0]|0)==0){if(!x){ka=W;la=V;break b}}else{O=c[f+10368>>2]|0;v=fa>>O;Q=q>>O;if(!((v|0)>-1)){ec(7e3,5152,118,17336)}O=c[f+10372>>2]|0;if((v|0)>=(O|0)){ec(7e3,5152,118,17336)}if(!((Q|0)>-1)){ec(3672,5152,119,17336)}if((Q|0)<(c[f+10376>>2]|0)){L=(ga(O,Q)|0)+v|0;v=(c[f+10360>>2]|0)+(L*3|0)|0;if(((d[v]|d[v+1|0]<<8)<<16>>16&768)==0&x){break}else{ka=W;la=V;break b}}else{ec(3672,5152,119,17336)}}}while(0);x=p+((ga(k,ja)|0)+ea<<1)|0;if((V|0)==0){ma=b[x>>1]|0}else{ma=W}b[l>>1]=b[x>>1]|0;a[o]=1;ka=ma;la=V+1|0}else{ka=W;la=V}}while(0);c:do{if((D|0)>0){V=h-1|0;W=ga(r,V)|0;ma=f+5944|0;o=ga(k,V)|0;V=f+10368|0;z=f+10372|0;x=f+10376|0;q=f+10360|0;fa=la;v=ka;L=0;Q=0;d:while(1){O=n+((Q<<2)+65)|0;do{if((L|0)<(j|0)?y:A){M=L+g|0;R=ga(M,s)|0;Z=S+((ga(W>>E,T)|0)+(R>>E)<<2)|0;Y=(c[Z>>2]|0)<=(P|0);if((a[ma]|0)==0){if(!Y){na=v;oa=fa;break}}else{Z=c[V>>2]|0;K=R>>Z;R=W>>Z;if(!((K|0)>-1)){da=55;break d}Z=c[z>>2]|0;if((K|0)>=(Z|0)){da=55;break d}if(!((R|0)>-1)){da=58;break d}if((R|0)>=(c[x>>2]|0)){da=58;break d}U=(ga(Z,R)|0)+K|0;K=(c[q>>2]|0)+(U*3|0)|0;if(!(((d[K]|d[K+1|0]<<8)<<16>>16&768)==0&Y)){na=v;oa=fa;break}}Y=M+o|0;M=p+(Y<<1)|0;if((fa|0)==0){pa=b[M>>1]|0}else{pa=v}K=O;C=16843009;a[K]=C;C=C>>8;a[K+1|0]=C;C=C>>8;a[K+2|0]=C;C=C>>8;a[K+3|0]=C;K=L|1;b[l+(K<<1)>>1]=b[M>>1]|0;b[l+(K+1<<1)>>1]=b[p+(Y+1<<1)>>1]|0;b[l+((L|3)<<1)>>1]=b[p+(Y+2<<1)>>1]|0;b[l+((L|3)+1<<1)>>1]=b[p+(Y+3<<1)>>1]|0;na=pa;oa=fa+4|0}else{na=v;oa=fa}}while(0);O=L+4|0;if((O|0)<(D|0)){fa=oa;v=na;L=O;Q=Q+1|0}else{qa=oa;ra=na;break c}}if((da|0)==55){ec(7e3,5152,118,17336)}else if((da|0)==58){ec(3672,5152,119,17336)}}else{qa=la;ra=ka}}while(0);if((qa|0)==(N|0)){sa=129;ta=0;i=m;return}N=j*-2|0;if((qa|0)==0){if((N|0)>(u|0)){sa=129;ta=0;i=m;return}qa=1<<t-1&65535;t=N;while(1){b[l+(t<<1)>>1]=qa;if((t|0)<(u|0)){t=t+1|0}else{break}}sa=129;ta=0;i=m;return}if((a[n+(N+64)|0]|0)==0){b[l+(N<<1)>>1]=ra}ra=N|1;if((ra|0)>(u|0)){sa=129;ta=0;i=m;return}else{ua=ra}while(1){if((a[n+(ua+64)|0]|0)==0){b[l+(ua<<1)>>1]=b[l+(ua-1<<1)>>1]|0}if((ua|0)<(u|0)){ua=ua+1|0}else{break}}sa=129;ta=0;i=m;return}function ni(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+264|0;l=k|0;if((j|0)==1|(g|0)==4){i=k;return}m=j-26|0;n=(m|0)<0?26-j|0:m;m=j-10|0;o=(m|0)<0?10-j|0:m;m=(n|0)<(o|0)?n:o;do{if((g|0)==16){if((m|0)>1){break}i=k;return}else if((g|0)==8){if((m|0)>7){break}i=k;return}else if((g|0)==32){if((m|0)>0){break}i=k;return}else{ec(8920,15552,518,18232)}}while(0);do{if((a[d+5665|0]|0)!=0&(h|0)==0&(g|0)==32){m=e[f>>1]|0;o=(e[f+128>>1]|0)+m-(e[f+64>>1]<<1)|0;n=1<<(c[d+1276>>2]|0)-5;if((((o|0)<0?-o|0:o)|0)>=(n|0)){p=0;break}o=(e[f-128>>1]|0)+m-(e[f-64>>1]<<1)|0;p=(((o|0)<0?-o|0:o)|0)<(n|0)}else{p=0}}while(0);d=g*-2|0;b[l+(d+64<<1)>>1]=b[f+(d<<1)>>1]|0;d=g<<1;b[l+(d+64<<1)>>1]=b[f+(d<<1)>>1]|0;do{if(p){h=b[f>>1]|0;b[l+128>>1]=h;n=h&65535;h=(e[f-128>>1]|0)-n|0;o=(e[f+128>>1]|0)-n|0;m=1;do{j=(((ga(h,m)|0)+32|0)>>>6)+n&65535;b[l+(64-m<<1)>>1]=j;j=(((ga(o,m)|0)+32|0)>>>6)+n&65535;b[l+(m+64<<1)>>1]=j;m=m+1|0;}while((m|0)<64)}else{m=d-1|0;n=1-d|0;if((n|0)>(m|0)){break}o=n;h=b[f+(n<<1)>>1]|0;while(1){n=o+1|0;j=b[f+(n<<1)>>1]|0;b[l+(o+64<<1)>>1]=((j&65535)+2+((h&65535)<<1)+(e[f+(o-1<<1)>>1]|0)|0)>>>2;if((o|0)<(m|0)){o=n;h=j}else{break}}}}while(0);cv(f+(-d<<1)|0,l+(64-d<<1)|0,g<<3|2)|0;i=k;return}function oi(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=(h|0)==0;k=c[(j?a+40|0:a+44|0)>>2]|0;l=(c[a+4+(h<<2)>>2]|0)+((ga(k,f)|0)+d<<1)|0;d=(g|0)>1;if(d){f=g;h=0;while(1){a=f>>1;if((a|0)>1){f=a;h=h+1|0}else{break}}m=h+2|0}else{m=1}h=(g|0)>0;if(h){f=0;a=0;while(1){n=a+1|0;o=(e[i+(n<<1)>>1]|0)+f+(e[i+(~a<<1)>>1]|0)|0;if((n|0)<(g|0)){f=o;a=n}else{p=o;break}}}else{p=0}a=p+g>>m;if(!(j&(g|0)<32)){if(!h){return}h=a&65535;j=0;do{m=ga(j,k)|0;p=0;do{b[l+(p+m<<1)>>1]=h;p=p+1|0;}while((p|0)<(g|0));j=j+1|0;}while((j|0)<(g|0));return}b[l>>1]=((a<<1)+2+(e[i-2>>1]|0)+(e[i+2>>1]|0)|0)>>>2;if(!d){return}j=(a*3|0)+2|0;h=1;while(1){p=h+1|0;b[l+(h<<1)>>1]=(j+(e[i+(p<<1)>>1]|0)|0)>>>2;if((p|0)<(g|0)){h=p}else{break}}if(!d){return}h=(a*3|0)+2|0;j=1;do{p=l+((ga(j,k)|0)<<1)|0;b[p>>1]=(h+(e[i+(~j<<1)>>1]|0)|0)>>>2;j=j+1|0;}while((j|0)<(g|0));if(!d){return}d=a&65535;a=1;do{j=ga(a,k)|0;i=1;do{b[l+(i+j<<1)>>1]=d;i=i+1|0;}while((i|0)<(g|0));a=a+1|0;}while((a|0)<(g|0));return}function pi(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;n=i;o=m;p=i;i=i+258|0;i=i+7&-8;q=(l|0)==0;r=c[(q?f+40|0:f+44|0)>>2]|0;s=(c[f+4+(l<<2)>>2]|0)+((ga(r,h)|0)+g<<1)|0;l=c[(q?f+5760|0:f+5768|0)>>2]|0;if((j|0)>=35){ec(12952,15552,596,18712)}if((j|0)<=1){ec(10072,15552,597,18712)}t=c[64+(j<<2)>>2]|0;do{if((a[f+5750|0]|0)==0){u=0}else{v=c[f+10368>>2]|0;w=g>>v;x=h>>v;if(!((w|0)>-1)){ec(7e3,5152,118,17336)}v=c[f+10372>>2]|0;if((w|0)>=(v|0)){ec(7e3,5152,118,17336)}if(!((x|0)>-1)){ec(3672,5152,119,17336)}if((x|0)<(c[f+10376>>2]|0)){y=(ga(v,x)|0)+w|0;w=(c[f+10360>>2]|0)+(y*3|0)|0;u=((d[w]|d[w+1|0]<<8)<<16>>16&2048)!=0;break}else{ec(3672,5152,119,17336)}}}while(0);f=(k|0)<0;if((j|0)>17){if(!f){cv(p+128|0,o|0,(k<<1)+2|0)|0}o=j-11|0;do{if(o>>>0<15>>>0){h=c[30584+(o<<2)>>2]|0;g=(ga(t,k)|0)>>5;if((g|0)<-1){z=g}else{break}do{g=m+(-((ga(z,h)|0)+128>>8)<<1)|0;b[p+(z+64<<1)>>1]=b[g>>1]|0;z=z+1|0;}while((z|0)<0)}else{if((k<<1|0)<=(k|0)){break}cv(p+(k+65<<1)|0,m+(k+1<<1)|0,k<<1)|0}}while(0);z=(k|0)>0;if(z){o=0;while(1){h=o+1|0;g=ga(h,t)|0;w=g>>5;y=g&31;g=(y|0)==0;x=w+65|0;v=ga(o,r)|0;A=32-y|0;B=0;do{if(g){b[s+(B+v<<1)>>1]=b[p+(x+B<<1)>>1]|0}else{C=B+w|0;D=ga(e[p+(C+65<<1)>>1]|0,A)|0;E=(D+16+(ga(e[p+(C+66<<1)>>1]|0,y)|0)|0)>>>5&65535;b[s+(B+v<<1)>>1]=E}B=B+1|0;}while((B|0)<(k|0));if((h|0)<(k|0)){o=h}else{break}}}if(u|(j|0)==26&q&(k|0)<32^1|z^1){F=258;G=0;i=n;return}z=m+2|0;o=(1<<l)-1|0;B=0;do{v=((e[m+(~B<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[z>>1]|0)|0;if((v|0)<0){H=0}else{H=((v|0)>(o|0)?o:v)&65535}v=s+((ga(B,r)|0)<<1)|0;b[v>>1]=H;B=B+1|0;}while((B|0)<(k|0));F=258;G=0;i=n;return}else{if(!f){f=0;while(1){b[p+(f+64<<1)>>1]=b[m+(-f<<1)>>1]|0;if((f|0)<(k|0)){f=f+1|0}else{break}}}f=j-11|0;do{if(f>>>0<15>>>0){B=c[30584+(f<<2)>>2]|0;H=(ga(t,k)|0)>>5;if((H|0)<-1){I=H}else{break}do{H=m+((ga(I,B)|0)+128>>8<<1)|0;b[p+(I+64<<1)>>1]=b[H>>1]|0;I=I+1|0;}while((I|0)<0)}else{B=k<<1;if((B|0)>(k|0)){J=k}else{break}while(1){h=J+1|0;b[p+(J+65<<1)>>1]=b[m+(~J<<1)>>1]|0;if((h|0)<(B|0)){J=h}else{break}}}}while(0);J=(k|0)>0;if(J){I=0;do{f=I+65|0;B=ga(I,r)|0;h=0;while(1){H=h+1|0;o=ga(H,t)|0;z=o>>5;v=o&31;if((v|0)==0){b[s+(h+B<<1)>>1]=b[p+(f+z<<1)>>1]|0}else{o=z+I|0;z=ga(e[p+(o+65<<1)>>1]|0,32-v|0)|0;y=(z+16+(ga(e[p+(o+66<<1)>>1]|0,v)|0)|0)>>>5&65535;b[s+(h+B<<1)>>1]=y}if((H|0)<(k|0)){h=H}else{break}}I=I+1|0;}while((I|0)<(k|0))}if(u|(j|0)==10&q&(k|0)<32^1|J^1){F=258;G=0;i=n;return}J=m-2|0;q=(1<<l)-1|0;l=0;while(1){j=l+1|0;u=((e[m+(j<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[J>>1]|0)|0;if((u|0)<0){K=0}else{K=((u|0)>(q|0)?q:u)&65535}b[s+(l<<1)>>1]=K;if((j|0)<(k|0)){l=j}else{break}}F=258;G=0;i=n;return}}function qi(a){a=a|0;c[a+8>>2]=1732584193;c[a+12>>2]=-271733879;c[a+16>>2]=-1732584194;c[a+20>>2]=271733878;c[a>>2]=0;c[a+4>>2]=0;return}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a|0;f=c[e>>2]|0;g=f+d&536870911;c[e>>2]=g;e=a+4|0;h=c[e>>2]|0;if(g>>>0<f>>>0){g=h+1|0;c[e>>2]=g;i=g}else{i=h}c[a+4>>2]=i+(d>>>29);i=f&63;do{if((i|0)==0){j=b;k=d}else{f=64-i|0;h=a+24+i|0;if(!(f>>>0>d>>>0)){cv(h|0,b|0,f)|0;si(a,a+24|0,64)|0;j=b+f|0;k=d-f|0;break}cv(h|0,b|0,d)|0;return}}while(0);if(k>>>0>63>>>0){l=si(a,j,k&-64)|0;m=k&63}else{l=j;m=k}cv(a+24|0,l|0,m)|0;return}function si(a,b,e){a=a|0;b=b|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,p=0,q=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,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;f=a+8|0;g=a+12|0;h=a+16|0;i=a+20|0;j=a+88|0;k=a+92|0;l=a+96|0;m=a+100|0;n=a+104|0;o=a+108|0;p=a+112|0;q=a+116|0;r=a+120|0;s=a+124|0;t=a+128|0;u=a+132|0;v=a+136|0;w=a+140|0;x=a+144|0;y=a+148|0;a=e;e=b;b=c[f>>2]|0;z=c[g>>2]|0;A=c[i>>2]|0;B=c[h>>2]|0;do{C=(d[e+1|0]|0)<<8|(d[e]|0)|(d[e+2|0]|0)<<16|(d[e+3|0]|0)<<24;c[j>>2]=C;D=b-680876936+(z&(A^B)^A)+C|0;C=(D<<7|D>>>25)+z|0;D=(d[e+5|0]|0)<<8|(d[e+4|0]|0)|(d[e+6|0]|0)<<16|(d[e+7|0]|0)<<24;c[k>>2]=D;E=A-389564586+D+(C&(z^B)^B)|0;D=(E<<12|E>>>20)+C|0;E=(d[e+9|0]|0)<<8|(d[e+8|0]|0)|(d[e+10|0]|0)<<16|(d[e+11|0]|0)<<24;c[l>>2]=E;F=B+606105819+E+(D&(C^z)^z)|0;E=(F<<17|F>>>15)+D|0;F=(d[e+13|0]|0)<<8|(d[e+12|0]|0)|(d[e+14|0]|0)<<16|(d[e+15|0]|0)<<24;c[m>>2]=F;G=z-1044525330+F+(E&(D^C)^C)|0;F=(G<<22|G>>>10)+E|0;G=(d[e+17|0]|0)<<8|(d[e+16|0]|0)|(d[e+18|0]|0)<<16|(d[e+19|0]|0)<<24;c[n>>2]=G;H=C-176418897+G+(F&(E^D)^D)|0;G=(H<<7|H>>>25)+F|0;H=(d[e+21|0]|0)<<8|(d[e+20|0]|0)|(d[e+22|0]|0)<<16|(d[e+23|0]|0)<<24;c[o>>2]=H;C=D+1200080426+H+(G&(F^E)^E)|0;H=(C<<12|C>>>20)+G|0;C=(d[e+25|0]|0)<<8|(d[e+24|0]|0)|(d[e+26|0]|0)<<16|(d[e+27|0]|0)<<24;c[p>>2]=C;D=E-1473231341+C+(H&(G^F)^F)|0;C=(D<<17|D>>>15)+H|0;D=(d[e+29|0]|0)<<8|(d[e+28|0]|0)|(d[e+30|0]|0)<<16|(d[e+31|0]|0)<<24;c[q>>2]=D;E=F-45705983+D+(C&(H^G)^G)|0;D=(E<<22|E>>>10)+C|0;E=(d[e+33|0]|0)<<8|(d[e+32|0]|0)|(d[e+34|0]|0)<<16|(d[e+35|0]|0)<<24;c[r>>2]=E;F=G+1770035416+E+(D&(C^H)^H)|0;E=(F<<7|F>>>25)+D|0;F=(d[e+37|0]|0)<<8|(d[e+36|0]|0)|(d[e+38|0]|0)<<16|(d[e+39|0]|0)<<24;c[s>>2]=F;G=H-1958414417+F+(E&(D^C)^C)|0;F=(G<<12|G>>>20)+E|0;G=(d[e+41|0]|0)<<8|(d[e+40|0]|0)|(d[e+42|0]|0)<<16|(d[e+43|0]|0)<<24;c[t>>2]=G;H=G-42063+C+(F&(E^D)^D)|0;C=(H<<17|H>>>15)+F|0;H=(d[e+45|0]|0)<<8|(d[e+44|0]|0)|(d[e+46|0]|0)<<16|(d[e+47|0]|0)<<24;c[u>>2]=H;G=H-1990404162+D+(C&(F^E)^E)|0;D=(G<<22|G>>>10)+C|0;G=(d[e+49|0]|0)<<8|(d[e+48|0]|0)|(d[e+50|0]|0)<<16|(d[e+51|0]|0)<<24;c[v>>2]=G;H=G+1804603682+E+(D&(C^F)^F)|0;E=(H<<7|H>>>25)+D|0;H=(d[e+53|0]|0)<<8|(d[e+52|0]|0)|(d[e+54|0]|0)<<16|(d[e+55|0]|0)<<24;c[w>>2]=H;G=H-40341101+F+(E&(D^C)^C)|0;F=(G<<12|G>>>20)+E|0;G=(d[e+57|0]|0)<<8|(d[e+56|0]|0)|(d[e+58|0]|0)<<16|(d[e+59|0]|0)<<24;c[x>>2]=G;H=G-1502002290+C+(F&(E^D)^D)|0;C=(H<<17|H>>>15)+F|0;H=(d[e+61|0]|0)<<8|(d[e+60|0]|0)|(d[e+62|0]|0)<<16|(d[e+63|0]|0)<<24;c[y>>2]=H;G=H+1236535329+D+(C&(F^E)^E)|0;D=(G<<22|G>>>10)+C|0;G=c[k>>2]|0;I=G-165796510+E+((D^C)&F^C)|0;E=(I<<5|I>>>27)+D|0;I=c[p>>2]|0;J=I-1069501632+F+((E^D)&C^D)|0;F=(J<<9|J>>>23)+E|0;J=c[u>>2]|0;K=J+643717713+C+((F^E)&D^E)|0;C=(K<<14|K>>>18)+F|0;K=c[j>>2]|0;L=K-373897302+D+((C^F)&E^F)|0;D=(L<<20|L>>>12)+C|0;L=c[o>>2]|0;M=L-701558691+E+((D^C)&F^C)|0;E=(M<<5|M>>>27)+D|0;M=c[t>>2]|0;N=M+38016083+F+((E^D)&C^D)|0;F=(N<<9|N>>>23)+E|0;N=H-660478335+C+((F^E)&D^E)|0;C=(N<<14|N>>>18)+F|0;N=c[n>>2]|0;O=N-405537848+D+((C^F)&E^F)|0;D=(O<<20|O>>>12)+C|0;O=c[s>>2]|0;P=O+568446438+E+((D^C)&F^C)|0;E=(P<<5|P>>>27)+D|0;P=c[x>>2]|0;Q=P-1019803690+F+((E^D)&C^D)|0;F=(Q<<9|Q>>>23)+E|0;Q=c[m>>2]|0;R=Q-187363961+C+((F^E)&D^E)|0;C=(R<<14|R>>>18)+F|0;R=c[r>>2]|0;S=R+1163531501+D+((C^F)&E^F)|0;D=(S<<20|S>>>12)+C|0;S=c[w>>2]|0;T=S-1444681467+E+((D^C)&F^C)|0;E=(T<<5|T>>>27)+D|0;T=c[l>>2]|0;U=T-51403784+F+((E^D)&C^D)|0;F=(U<<9|U>>>23)+E|0;U=c[q>>2]|0;V=U+1735328473+C+((F^E)&D^E)|0;C=(V<<14|V>>>18)+F|0;V=C^F;W=c[v>>2]|0;X=W-1926607734+D+(V&E^F)|0;D=(X<<20|X>>>12)+C|0;X=L-378558+E+(V^D)|0;V=(X<<4|X>>>28)+D|0;X=R-2022574463+F+(D^C^V)|0;F=(X<<11|X>>>21)+V|0;X=J+1839030562+C+(V^D^F)|0;C=(X<<16|X>>>16)+F|0;X=P-35309556+D+(F^V^C)|0;D=(X<<23|X>>>9)+C|0;X=G-1530992060+V+(C^F^D)|0;V=(X<<4|X>>>28)+D|0;X=N+1272893353+F+(D^C^V)|0;F=(X<<11|X>>>21)+V|0;X=U-155497632+C+(V^D^F)|0;C=(X<<16|X>>>16)+F|0;X=M-1094730640+D+(F^V^C)|0;D=(X<<23|X>>>9)+C|0;X=S+681279174+V+(C^F^D)|0;V=(X<<4|X>>>28)+D|0;X=K-358537222+F+(D^C^V)|0;F=(X<<11|X>>>21)+V|0;X=Q-722521979+C+(V^D^F)|0;C=(X<<16|X>>>16)+F|0;X=I+76029189+D+(F^V^C)|0;D=(X<<23|X>>>9)+C|0;X=O-640364487+V+(C^F^D)|0;V=(X<<4|X>>>28)+D|0;X=W-421815835+F+(D^C^V)|0;F=(X<<11|X>>>21)+V|0;X=H+530742520+C+(V^D^F)|0;C=(X<<16|X>>>16)+F|0;X=T-995338651+D+(F^V^C)|0;D=(X<<23|X>>>9)+C|0;X=K-198630844+V+((D|~F)^C)|0;V=(X<<6|X>>>26)+D|0;X=U+1126891415+F+((V|~C)^D)|0;F=(X<<10|X>>>22)+V|0;X=P-1416354905+C+((F|~D)^V)|0;C=(X<<15|X>>>17)+F|0;X=L-57434055+D+((C|~V)^F)|0;D=(X<<21|X>>>11)+C|0;X=W+1700485571+V+((D|~F)^C)|0;V=(X<<6|X>>>26)+D|0;X=Q-1894986606+F+((V|~C)^D)|0;F=(X<<10|X>>>22)+V|0;X=M-1051523+C+((F|~D)^V)|0;C=(X<<15|X>>>17)+F|0;X=G-2054922799+D+((C|~V)^F)|0;D=(X<<21|X>>>11)+C|0;X=R+1873313359+V+((D|~F)^C)|0;V=(X<<6|X>>>26)+D|0;X=H-30611744+F+((V|~C)^D)|0;F=(X<<10|X>>>22)+V|0;X=I-1560198380+C+((F|~D)^V)|0;C=(X<<15|X>>>17)+F|0;X=S+1309151649+D+((C|~V)^F)|0;D=(X<<21|X>>>11)+C|0;X=N-145523070+V+((D|~F)^C)|0;V=(X<<6|X>>>26)+D|0;X=J-1120210379+F+((V|~C)^D)|0;F=(X<<10|X>>>22)+V|0;X=T+718787259+C+((F|~D)^V)|0;C=(X<<15|X>>>17)+F|0;X=O-343485551+D+((C|~V)^F)|0;b=V+b|0;z=C+z+(X<<21|X>>>11)|0;B=C+B|0;A=F+A|0;e=e+64|0;a=a-64|0;}while((a|0)!=0);c[f>>2]=b;c[g>>2]=z;c[h>>2]=B;c[i>>2]=A;return e|0}function ti(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=d|0;f=c[e>>2]&63;g=f+1|0;h=d+24|0;a[d+24+f|0]=-128;i=f^63;if(i>>>0<8>>>0){dv(d+24+g|0,0,i|0)|0;f=h|0;si(d,f,64)|0;j=56;k=0;l=f}else{j=i-8|0;k=g;l=h|0}dv(d+24+k|0,0,j|0)|0;j=c[e>>2]|0;k=j<<3;c[e>>2]=k;a[d+80|0]=k;a[d+81|0]=j>>>5;a[d+82|0]=j>>>13;a[d+83|0]=j>>>21;j=c[d+4>>2]|0;a[d+84|0]=j;a[d+85|0]=j>>>8;a[d+86|0]=j>>>16;a[d+87|0]=j>>>24;si(d,l,64)|0;l=d+8|0;a[b]=c[l>>2];a[b+1|0]=(c[l>>2]|0)>>>8;a[b+2|0]=(c[l>>2]|0)>>>16;a[b+3|0]=(c[l>>2]|0)>>>24;l=d+12|0;a[b+4|0]=c[l>>2];a[b+5|0]=(c[l>>2]|0)>>>8;a[b+6|0]=(c[l>>2]|0)>>>16;a[b+7|0]=(c[l>>2]|0)>>>24;l=d+16|0;a[b+8|0]=c[l>>2];a[b+9|0]=(c[l>>2]|0)>>>8;a[b+10|0]=(c[l>>2]|0)>>>16;a[b+11|0]=(c[l>>2]|0)>>>24;l=d+20|0;a[b+12|0]=c[l>>2];a[b+13|0]=(c[l>>2]|0)>>>8;a[b+14|0]=(c[l>>2]|0)>>>16;a[b+15|0]=(c[l>>2]|0)>>>24;dv(d|0,0,152)|0;return}function ui(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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,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;q=i;i=i+49160|0;r=q|0;s=q+16384|0;t=q+49152|0;u=k+h|0;h=l+j|0;j=g+764|0;l=c[g+5780>>2]|0;k=c[g+5784>>2]|0;v=c[g+40>>2]|0;w=(ga(v,h)|0)+u|0;x=(c[g+4>>2]|0)+(w<<d[g+16|0])|0;w=c[g+44>>2]|0;y=(ga(w,(h|0)/(k|0)|0)|0)+((u|0)/(l|0)|0)|0;z=(c[g+8>>2]|0)+(y<<d[g+17|0])|0;A=(c[g+12>>2]|0)+(y<<d[g+18|0])|0;y=a[p|0]|0;B=y&255;c[t>>2]=B;C=a[p+1|0]|0;D=C&255;E=t+4|0;c[E>>2]=D;F=g+5760|0;G=c[F>>2]|0;H=g+5768|0;I=c[H>>2]|0;J=g+5961|0;do{if((a[J]|0)==0){if(y<<24>>24==0|C<<24>>24==0){K=D;break}if((b[p+4>>1]|0)!=(b[p+8>>1]|0)){K=D;break}if((b[p+6>>1]|0)!=(b[p+10>>1]|0)){K=D;break}if((c[f+916+(a[p+2|0]<<2)>>2]|0)!=(c[f+980+(a[p+3|0]<<2)>>2]|0)){K=D;break}c[E>>2]=0;K=0}else{K=D}}while(0);D=e;E=g+10516|0;C=e+4|0;L=0;M=B;a:while(1){do{if((M|0)!=0){B=a[p+2+L|0]|0;if(B<<24>>24>15){N=10;break a}O=Qc[c[(c[D>>2]|0)+8>>2]&63](e,c[f+916+(L<<6)+(B<<24>>24<<2)>>2]|0)|0;if((c[O+96>>2]|0)==0){a[E]=3;Ue(C,1012,0);break}B=p+4+(L<<2)|0;P=b[B>>1]|0;Q=p+4+(L<<2)+2|0;R=b[Q>>1]|0;S=r+(L<<13)|0;T=c[O+4>>2]|0;if((c[F>>2]|0)>8){vi(e,j,P,R,u,h,S,m,T,c[O+40>>2]|0,n,o,G)}else{wi(e,j,P,R,u,h,S,m,T,c[O+40>>2]|0,n,o,G)}T=b[B>>1]|0;S=b[Q>>1]|0;R=s+(L<<13)|0;P=c[O+8>>2]|0;if((c[F>>2]|0)>8){U=O+44|0;V=(n|0)/(l|0)|0;W=(o|0)/(k|0)|0;xi(e,j,T,S,u,h,R,m,P,c[U>>2]|0,V,W,I);xi(e,j,b[B>>1]|0,b[Q>>1]|0,u,h,s+16384+(L<<13)|0,m,c[O+12>>2]|0,c[U>>2]|0,V,W,I);break}else{W=O+44|0;V=(n|0)/(l|0)|0;U=(o|0)/(k|0)|0;yi(e,j,T,S,u,h,R,m,P,c[W>>2]|0,V,U,I);yi(e,j,b[B>>1]|0,b[Q>>1]|0,u,h,s+16384+(L<<13)|0,m,c[O+12>>2]|0,c[W>>2]|0,V,U,I);break}}}while(0);U=L+1|0;if((U|0)>=2){break}L=U;M=c[t+(U<<2)>>2]|0}if((N|0)==10){a[E]=3;Ue(C,1012,0);X=32768;Y=0;Z=16384;_=0;i=q;return}N=14-(c[F>>2]|0)|0;F=(N|0)<2?2:N;N=d[g+5920|0]|0;t=14-(c[H>>2]|0)|0;H=(t|0)<2?2:t;t=d[g+5921|0]|0;M=c[f+20>>2]|0;if((M|0)==1){L=y<<24>>24==1&(K|0)==0;if((a[J]|0)==0){if(!L){Ue(C,1011,0);a[E]=3;X=32768;Y=0;Z=16384;_=0;i=q;return}J=r|0;if((G|0)<9){Kc[c[e+176>>2]&63](x,v,J,m,n,o)}else{Mc[c[e+192>>2]&127](x,v,J,m,n,o,G)}J=s|0;h=(n|0)/(l|0)|0;u=(o|0)/(k|0)|0;if((I|0)<9){j=e+176|0;Kc[c[j>>2]&63](z,w,J,m,h,u);Kc[c[j>>2]&63](A,w,s+16384|0,m,h,u);X=32768;Y=0;Z=16384;_=0;i=q;return}else{j=e+192|0;Mc[c[j>>2]&127](z,w,J,m,h,u,I);Mc[c[j>>2]&127](A,w,s+16384|0,m,h,u,I);X=32768;Y=0;Z=16384;_=0;i=q;return}}else{if(!L){Ue(C,1011,0);a[E]=3;X=32768;Y=0;Z=16384;_=0;i=q;return}L=a[p+2|0]|0;u=(d[f+380|0]|0)+F|0;h=(d[f+381|0]|0)+H|0;j=b[f+446+(L<<1)>>1]|0;J=a[f+510+L|0]<<N;D=b[f+542+(L<<2)>>1]|0;U=a[f+670+(L<<1)|0]<<t;V=b[f+542+(L<<2)+2>>1]|0;W=a[f+670+(L<<1)+1|0]<<t;L=r|0;if((G|0)<9){Oc[c[e+180>>2]&15](x,v,L,m,n,o,j,J,u)}else{Pc[c[e+196>>2]&15](x,v,L,m,n,o,j,J,u,G)}u=s|0;J=(n|0)/(l|0)|0;j=(o|0)/(k|0)|0;if((I|0)<9){L=e+180|0;Oc[c[L>>2]&15](z,w,u,m,J,j,D,U,h);Oc[c[L>>2]&15](A,w,s+16384|0,m,J,j,V,W,h);X=32768;Y=0;Z=16384;_=0;i=q;return}else{L=e+196|0;Pc[c[L>>2]&15](z,w,u,m,J,j,D,U,h,I);Pc[c[L>>2]&15](A,w,s+16384|0,m,J,j,V,W,h,I);X=32768;Y=0;Z=16384;_=0;i=q;return}}}else if((M|0)==0){M=(K|0)==1;do{if(y<<24>>24==1){if(!M){break}if((a[g+5962|0]|0)==0){K=r|0;h=r+8192|0;W=e+172|0;if((G|0)<9){Mc[c[W>>2]&127](x,v,K,h,m,n,o)}else{Jc[c[e+188>>2]&63](x,v,K,h,m,n,o,G)}h=s|0;K=s+8192|0;V=s+16384|0;j=s+24576|0;J=(n|0)/(l|0)|0;L=(o|0)/(k|0)|0;if((I|0)<9){U=W|0;Mc[c[U>>2]&127](z,w,h,K,m,J,L);Mc[c[U>>2]&127](A,w,V,j,m,J,L);X=32768;Y=0;Z=16384;_=0;i=q;return}else{U=e+188|0;Jc[c[U>>2]&63](z,w,h,K,m,J,L,I);Jc[c[U>>2]&63](A,w,V,j,m,J,L,I);X=32768;Y=0;Z=16384;_=0;i=q;return}}else{L=a[p+2|0]|0;J=a[p+3|0]|0;j=(d[f+380|0]|0)+F|0;V=(d[f+381|0]|0)+H|0;U=b[f+446+(L<<1)>>1]|0;K=a[f+510+L|0]<<N;h=b[f+478+(J<<1)>>1]|0;W=a[f+526+J|0]<<N;D=b[f+542+(L<<2)>>1]|0;u=a[f+670+(L<<1)|0]<<t;O=b[f+542+(L<<2)+2>>1]|0;Q=a[f+670+(L<<1)+1|0]<<t;L=b[f+606+(J<<2)>>1]|0;B=a[f+702+(J<<1)|0]<<t;P=b[f+606+(J<<2)+2>>1]|0;R=a[f+702+(J<<1)+1|0]<<t;J=r|0;S=r+8192|0;if((G|0)<9){Rc[c[e+184>>2]&3](x,v,J,S,m,n,o,U,K,h,W,j)}else{Lc[c[e+200>>2]&3](x,v,J,S,m,n,o,U,K,h,W,j,G)}j=s|0;W=s+8192|0;h=s+16384|0;K=s+24576|0;U=(n|0)/(l|0)|0;S=(o|0)/(k|0)|0;if((I|0)<9){J=e+184|0;Rc[c[J>>2]&3](z,w,j,W,m,U,S,D,u,L,B,V);Rc[c[J>>2]&3](A,w,h,K,m,U,S,O,Q,P,R,V);X=32768;Y=0;Z=16384;_=0;i=q;return}else{J=e+200|0;Lc[c[J>>2]&3](z,w,j,W,m,U,S,D,u,L,B,V,I);Lc[c[J>>2]&3](A,w,h,K,m,U,S,O,Q,P,R,V,I);X=32768;Y=0;Z=16384;_=0;i=q;return}}}else{if(M){break}Ue(C,1011,0);a[E]=3;X=32768;Y=0;Z=16384;_=0;i=q;return}}while(0);E=y<<24>>24==0|0;if((a[g+5962|0]|0)==0){g=r+(E<<13)|0;if((G|0)<9){Kc[c[e+176>>2]&63](x,v,g,m,n,o)}else{Mc[c[e+192>>2]&127](x,v,g,m,n,o,G)}g=s+(E<<13)|0;y=(n|0)/(l|0)|0;C=(o|0)/(k|0)|0;if((I|0)<9){M=e+176|0;Kc[c[M>>2]&63](z,w,g,m,y,C);Kc[c[M>>2]&63](A,w,s+16384+(E<<13)|0,m,y,C);X=32768;Y=0;Z=16384;_=0;i=q;return}else{M=e+192|0;Mc[c[M>>2]&127](z,w,g,m,y,C,I);Mc[c[M>>2]&127](A,w,s+16384+(E<<13)|0,m,y,C,I);X=32768;Y=0;Z=16384;_=0;i=q;return}}else{C=a[p+2+E|0]|0;p=(d[f+380|0]|0)+F|0;F=(d[f+381|0]|0)+H|0;H=b[f+446+(E<<5)+(C<<1)>>1]|0;y=a[f+510+(E<<4)+C|0]<<N;N=b[f+542+(E<<6)+(C<<2)>>1]|0;M=a[f+670+(E<<5)+(C<<1)|0]<<t;g=b[f+542+(E<<6)+(C<<2)+2>>1]|0;V=a[f+670+(E<<5)+(C<<1)+1|0]<<t;t=r+(E<<13)|0;if((G|0)<9){Oc[c[e+180>>2]&15](x,v,t,m,n,o,H,y,p)}else{Pc[c[e+196>>2]&15](x,v,t,m,n,o,H,y,p,G)}G=s+(E<<13)|0;p=(n|0)/(l|0)|0;l=(o|0)/(k|0)|0;if((I|0)<9){k=e+180|0;Oc[c[k>>2]&15](z,w,G,m,p,l,N,M,F);Oc[c[k>>2]&15](A,w,s+16384+(E<<13)|0,m,p,l,g,V,F);X=32768;Y=0;Z=16384;_=0;i=q;return}else{k=e+196|0;Pc[c[k>>2]&15](z,w,G,m,p,l,N,M,F,I);Pc[c[k>>2]&15](A,w,s+16384+(E<<13)|0,m,p,l,g,V,F,I);X=32768;Y=0;Z=16384;_=0;i=q;return}}}else{ec(8616,15536,489,18272)}}function vi(a,d,f,g,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;r=i;i=i+20448|0;s=r|0;t=r+9088|0;u=f&3;v=g&3;w=(f>>2)+h|0;h=(g>>2)+j|0;j=14-(c[d+4996>>2]|0)|0;x=c[d+484>>2]|0;y=c[d+488>>2]|0;if(((g|f)&3|0)==0){do{if((h|w|0)>-1){if((w+o|0)>(x|0)){break}if((h+p|0)>(y|0)){break}f=m+((ga(h,n)|0)+w<<1)|0;g=s|0;if((q|0)<9){Mc[c[a+220>>2]&127](k,l,f,n,o,p,g);z=9088;A=0;i=r;return}else{Jc[c[a+300>>2]&63](k,l,f,n,o,p,g,q);z=9088;A=0;i=r;return}}}while(0);if((p|0)<=0){z=9088;A=0;i=r;return}g=y-1|0;f=x-1|0;if((o|0)>0){B=0}else{z=9088;A=0;i=r;return}do{d=B+h|0;C=ga(B,l)|0;D=(d|0)>(g|0)?g:d;if((d|0)<0){d=0;do{E=d+w|0;if((E|0)<0){F=0}else{F=(E|0)>(f|0)?f:E}b[k+(d+C<<1)>>1]=(e[m+(F<<1)>>1]|0)<<j;d=d+1|0;}while((d|0)<(o|0))}else{d=0;do{E=d+w|0;if((E|0)<0){G=0}else{G=(E|0)>(f|0)?f:E}E=m+((ga(D,n)|0)+G<<1)|0;b[k+(d+C<<1)>>1]=(e[E>>1]|0)<<j;d=d+1|0;}while((d|0)<(o|0))}B=B+1|0;}while((B|0)<(p|0));z=9088;A=0;i=r;return}B=c[30768+(u<<2)>>2]|0;j=c[30872+(u<<2)>>2]|0;G=c[30768+(v<<2)>>2]|0;f=c[30872+(v<<2)>>2]|0;F=-B|0;do{if((w-B|0)>-1){if(!((h-G|0)>-1)){H=23;break}if((w+o+j|0)>=(x|0)){H=23;break}if((h+p+f|0)>=(y|0)){H=23;break}I=n;J=m+((ga(h,n)|0)+w<<1)|0}else{H=23}}while(0);if((H|0)==23){H=-G|0;g=f+p|0;if((g|0)>(H|0)){f=j+o|0;j=(f|0)>(F|0);d=y-1|0;y=x-1|0;x=H;do{if(j){H=x+h|0;C=((x+G|0)*80|0)+B|0;D=(H|0)>(d|0)?d:H;if((H|0)<0){H=F;do{E=H+w|0;if((E|0)<0){K=0}else{K=(E|0)>(y|0)?y:E}b[t+(C+H<<1)>>1]=b[m+(K<<1)>>1]|0;H=H+1|0;}while((H|0)<(f|0))}else{H=F;do{E=H+w|0;if((E|0)<0){L=0}else{L=(E|0)>(y|0)?y:E}E=m+((ga(D,n)|0)+L<<1)|0;b[t+(C+H<<1)>>1]=b[E>>1]|0;H=H+1|0;}while((H|0)<(f|0))}}x=x+1|0;}while((x|0)<(g|0))}I=80;J=t+((G*80|0)+B<<1)|0}B=s|0;if((q|0)<9){Mc[c[a+220+(u<<4)+(v<<2)>>2]&127](k,l,J,I,o,p,B);z=9088;A=0;i=r;return}else{Jc[c[a+300+(u<<4)+(v<<2)>>2]&63](k,l,J,I,o,p,B,q);z=9088;A=0;i=r;return}}function wi(e,f,g,h,j,k,l,m,n,o,p,q,r){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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,I=0,J=0,K=0,L=0,M=0;s=i;i=i+14768|0;t=s|0;u=s+9088|0;v=g&3;w=h&3;x=(g>>2)+j|0;j=(h>>2)+k|0;k=14-(c[f+4996>>2]|0)|0;y=c[f+484>>2]|0;z=c[f+488>>2]|0;if(((h|g)&3|0)==0){do{if((j|x|0)>-1){if((x+p|0)>(y|0)){break}if((j+q|0)>(z|0)){break}g=n+((ga(j,o)|0)+x)|0;h=t|0;if((r|0)<9){Mc[c[e+220>>2]&127](l,m,g,o,p,q,h);A=9088;B=0;i=s;return}else{Jc[c[e+300>>2]&63](l,m,g,o,p,q,h,r);A=9088;B=0;i=s;return}}}while(0);if((q|0)<=0){A=9088;B=0;i=s;return}h=(p|0)>0;g=z-1|0;f=y-1|0;C=0;do{if(h){D=C+j|0;E=(D|0)<0;F=ga(C,m)|0;G=(D|0)>(g|0)?g:D;D=0;do{H=D+x|0;if((H|0)<0){I=0}else{I=(H|0)>(f|0)?f:H}H=n+((ga(E?0:G,o)|0)+I)|0;b[l+(D+F<<1)>>1]=(d[H]|0)<<k;D=D+1|0;}while((D|0)<(p|0))}C=C+1|0;}while((C|0)<(q|0));A=9088;B=0;i=s;return}C=c[30768+(v<<2)>>2]|0;k=c[30872+(v<<2)>>2]|0;I=c[30768+(w<<2)>>2]|0;f=c[30872+(w<<2)>>2]|0;g=-C|0;do{if((x-C|0)>-1){if(!((j-I|0)>-1)){J=21;break}if((x+p+k|0)>=(y|0)){J=21;break}if((j+q+f|0)>=(z|0)){J=21;break}K=o;L=n+((ga(j,o)|0)+x)|0}else{J=21}}while(0);if((J|0)==21){J=-I|0;h=f+q|0;if((h|0)>(J|0)){f=k+p|0;k=(f|0)>(g|0);D=z-1|0;z=y-1|0;y=J;do{if(k){J=y+j|0;F=(J|0)<0;G=((y+I|0)*80|0)+C|0;E=(J|0)>(D|0)?D:J;J=g;do{H=J+x|0;if((H|0)<0){M=0}else{M=(H|0)>(z|0)?z:H}H=n+((ga(F?0:E,o)|0)+M)|0;a[u+(G+J)|0]=a[H]|0;J=J+1|0;}while((J|0)<(f|0))}y=y+1|0;}while((y|0)<(h|0))}K=80;L=u+((I*80|0)+C)|0}C=t|0;if((r|0)<9){Mc[c[e+220+(v<<4)+(w<<2)>>2]&127](l,m,L,K,p,q,C);A=9088;B=0;i=s;return}else{Jc[c[e+300+(v<<4)+(w<<2)>>2]&63](l,m,L,K,p,q,C,r);A=9088;B=0;i=s;return}}function xi(a,d,f,g,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;r=i;i=i+19808|0;s=r|0;t=r+9088|0;u=14-(c[d+5004>>2]|0)|0;v=c[d+5016>>2]|0;w=(c[d+484>>2]|0)/(v|0)|0;x=c[d+5020>>2]|0;y=(c[d+488>>2]|0)/(x|0)|0;d=ga(2/(v|0)|0,f)|0;f=ga(2/(x|0)|0,g)|0;g=d&7;z=f&7;A=((h|0)/(v|0)|0)+(d>>3)|0;v=((j|0)/(x|0)|0)+(f>>3)|0;x=(z|0)==0;if(((f|d)&7|0)==0){do{if((A|0)>-1){if(!((A+o|0)<=(w|0)&(v|0)>-1)){break}if((v+p|0)>(y|0)){break}d=m+((ga(v,n)|0)+A<<1)|0;if((q|0)<9){Oc[c[a+204>>2]&15](k,l,d,n,o,p,0,0,0);B=9088;C=0;i=r;return}else{Pc[c[a+284>>2]&15](k,l,d,n,o,p,0,0,0,q);B=9088;C=0;i=r;return}}}while(0);if((p|0)<=0){B=9088;C=0;i=r;return}d=(o|0)>0;f=y-1|0;j=w-1|0;h=0;do{if(d){D=h+v|0;E=(D|0)<0;F=ga(h,l)|0;G=(D|0)>(f|0)?f:D;D=0;do{H=D+A|0;if((H|0)<0){I=0}else{I=(H|0)>(j|0)?j:H}H=m+((ga(E?0:G,n)|0)+I<<1)|0;b[k+(D+F<<1)>>1]=(e[H>>1]|0)<<u;D=D+1|0;}while((D|0)<(o|0))}h=h+1|0;}while((h|0)<(p|0));B=9088;C=0;i=r;return}do{if((A|0)>0){if(!((A+o|0)<=(w-2|0)&(v|0)>0)){J=17;break}if((v+p|0)>(y-2|0)){J=17;break}K=m+((ga(v,n)|0)+A<<1)|0;L=n}else{J=17}}while(0);if((J|0)==17){J=p+2|0;if((J|0)>-1){h=o+2|0;u=(h|0)>-1;I=y-1|0;y=w-1|0;w=-1;do{if(u){j=w+v|0;f=(j|0)<0;d=(w*80|0)+80|0;D=(j|0)>(I|0)?I:j;j=-1;do{F=j+A|0;if((F|0)<0){M=0}else{M=(F|0)>(y|0)?y:F}F=m+((ga(f?0:D,n)|0)+M<<1)|0;j=j+1|0;b[t+(d+j<<1)>>1]=b[F>>1]|0;}while((j|0)<(h|0))}w=w+1|0;}while((w|0)<(J|0))}K=t+162|0;L=80}t=(g|0)!=0;if(!(x|t^1)){J=s|0;if((q|0)<9){Pc[c[a+216>>2]&15](k,l,K,L,o,p,g,z,J,q);B=9088;C=0;i=r;return}else{Pc[c[a+296>>2]&15](k,l,K,L,o,p,g,z,J,q);B=9088;C=0;i=r;return}}if(t){t=s|0;if((q|0)<9){Pc[c[a+208>>2]&15](k,l,K,L,o,p,g,z,t,q);B=9088;C=0;i=r;return}else{Pc[c[a+288>>2]&15](k,l,K,L,o,p,g,z,t,q);B=9088;C=0;i=r;return}}if(x){ec(10064,15536,268,17976)}x=s|0;if((q|0)<9){Pc[c[a+212>>2]&15](k,l,K,L,o,p,0,z,x,q);B=9088;C=0;i=r;return}else{Pc[c[a+292>>2]&15](k,l,K,L,o,p,0,z,x,q);B=9088;C=0;i=r;return}}function yi(e,f,g,h,j,k,l,m,n,o,p,q,r){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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,I=0,J=0,K=0,L=0,M=0,N=0;s=i;i=i+14448|0;t=s|0;u=s+9088|0;v=14-(c[f+5004>>2]|0)|0;w=c[f+5016>>2]|0;x=(c[f+484>>2]|0)/(w|0)|0;y=c[f+5020>>2]|0;z=(c[f+488>>2]|0)/(y|0)|0;f=ga(2/(w|0)|0,g)|0;g=ga(2/(y|0)|0,h)|0;h=f&7;A=g&7;B=((j|0)/(w|0)|0)+(f>>3)|0;w=((k|0)/(y|0)|0)+(g>>3)|0;y=(A|0)==0;if(((g|f)&7|0)==0){do{if((B|0)>-1){if(!((B+p|0)<=(x|0)&(w|0)>-1)){break}if((w+q|0)>(z|0)){break}f=n+((ga(w,o)|0)+B)|0;if((r|0)<9){Oc[c[e+204>>2]&15](l,m,f,o,p,q,0,0,0);C=9088;D=0;i=s;return}else{Pc[c[e+284>>2]&15](l,m,f,o,p,q,0,0,0,r);C=9088;D=0;i=s;return}}}while(0);if((q|0)<=0){C=9088;D=0;i=s;return}f=(p|0)>0;g=z-1|0;k=x-1|0;j=0;do{if(f){E=j+w|0;F=(E|0)<0;G=ga(j,m)|0;H=(E|0)>(g|0)?g:E;E=0;do{I=E+B|0;if((I|0)<0){J=0}else{J=(I|0)>(k|0)?k:I}I=n+((ga(F?0:H,o)|0)+J)|0;b[l+(E+G<<1)>>1]=(d[I]|0)<<v;E=E+1|0;}while((E|0)<(p|0))}j=j+1|0;}while((j|0)<(q|0));C=9088;D=0;i=s;return}do{if((B|0)>0){if(!((B+p|0)<=(x-2|0)&(w|0)>0)){K=17;break}if((w+q|0)>(z-2|0)){K=17;break}L=n+((ga(w,o)|0)+B)|0;M=o}else{K=17}}while(0);if((K|0)==17){K=q+2|0;if((K|0)>-1){j=p+2|0;v=(j|0)>-1;J=z-1|0;z=x-1|0;x=-1;do{if(v){k=x+w|0;g=(k|0)<0;f=(x*80|0)+80|0;E=(k|0)>(J|0)?J:k;k=-1;do{G=k+B|0;if((G|0)<0){N=0}else{N=(G|0)>(z|0)?z:G}G=n+((ga(g?0:E,o)|0)+N)|0;k=k+1|0;a[u+(f+k)|0]=a[G]|0;}while((k|0)<(j|0))}x=x+1|0;}while((x|0)<(K|0))}L=u+81|0;M=80}u=(h|0)!=0;if(!(y|u^1)){K=t|0;if((r|0)<9){Pc[c[e+216>>2]&15](l,m,L,M,p,q,h,A,K,r);C=9088;D=0;i=s;return}else{Pc[c[e+296>>2]&15](l,m,L,M,p,q,h,A,K,r);C=9088;D=0;i=s;return}}if(u){u=t|0;if((r|0)<9){Pc[c[e+208>>2]&15](l,m,L,M,p,q,h,A,u,r);C=9088;D=0;i=s;return}else{Pc[c[e+288>>2]&15](l,m,L,M,p,q,h,A,u,r);C=9088;D=0;i=s;return}}if(y){ec(10064,15536,268,17976)}y=t|0;if((r|0)<9){Pc[c[e+212>>2]&15](l,m,L,M,p,q,0,A,y,r);C=9088;D=0;i=s;return}else{Pc[c[e+292>>2]&15](l,m,L,M,p,q,0,A,y,r);C=9088;D=0;i=s;return}}function zi(e,f,g,h,i,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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,E=0,F=0,G=0,H=0,I=0,J=0,K=0;k=c[e+10060>>2]|0;q=c[e+10368>>2]|0;r=f>>q;s=g>>q;if(!((r|0)>-1)){ec(1232,544,118,17296);return 0}q=c[e+10372>>2]|0;if((r|0)>=(q|0)){ec(1232,544,118,17296);return 0}if(!((s|0)>-1)){ec(17016,544,119,17296);return 0}if((s|0)>=(c[e+10376>>2]|0)){ec(17016,544,119,17296);return 0}t=(ga(q,s)|0)+r|0;r=(c[e+10360>>2]|0)+(t*3|0)|0;t=((d[r]|d[r+1|0]<<8)<<16>>16&65535)>>>3&7;r=t&255;s=i-1|0;q=m+j|0;u=q-1|0;v=i>>k;w=(v|0)==(s>>k|0);if(w){if((j>>k|0)==(u>>k|0)){x=0;y=0}else{z=9}}else{z=9}do{if((z|0)==9){if((n|0)==1){if((r&3|0)==2|t<<24>>24==7){x=0;y=0;break}}if(!(ci(e,f,g,h,i,j,l,m,n,s,u)|0)){x=0;y=0;break}A=c[e+10388>>2]|0;B=s>>A;C=u>>A;if(!((B|0)>-1)){ec(1232,544,118,17296);return 0}A=c[e+10392>>2]|0;if((B|0)>=(A|0)){ec(1232,544,118,17296);return 0}if(!((C|0)>-1)){ec(17016,544,119,17296);return 0}if((C|0)<(c[e+10396>>2]|0)){D=(ga(A,C)|0)+B|0;B=o|0;C=(c[e+10380>>2]|0)+(D*12|0)|0;b[B>>1]=b[C>>1]|0;b[B+2>>1]=b[C+2>>1]|0;b[B+4>>1]=b[C+4>>1]|0;b[B+6>>1]=b[C+6>>1]|0;b[B+8>>1]=b[C+8>>1]|0;b[B+10>>1]=b[C+10>>1]|0;x=1;y=1;break}else{ec(17016,544,119,17296);return 0}}}while(0);if((x|0)>=(p|0)){E=x;return E|0}u=l+i|0;t=u-1|0;C=j-1|0;if((v|0)==(t>>k|0)){if((j>>k|0)==(C>>k|0)){F=x;G=0;H=0}else{z=22}}else{z=22}a:do{if((z|0)==22){if((n|0)==1){if((r|0)==5|(r|0)==4|(r|0)==1){F=x;G=0;H=0;break}}if(!(ci(e,f,g,h,i,j,l,m,n,t,C)|0)){F=x;G=0;H=0;break}B=c[e+10388>>2]|0;D=t>>B;A=C>>B;if(!((D|0)>-1)){ec(1232,544,118,17296);return 0}B=c[e+10392>>2]|0;if((D|0)>=(B|0)){ec(1232,544,118,17296);return 0}if(!((A|0)>-1)){ec(17016,544,119,17296);return 0}if((A|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}I=(ga(B,A)|0)+D|0;D=c[e+10380>>2]|0;b:do{if(y){A=0;while(1){B=a[o+A|0]|0;if(!(B<<24>>24==(a[D+(I*12|0)+A|0]|0))){break b}if(!(B<<24>>24==0)){if((b[o+4+(A<<2)>>1]|0)!=(b[D+(I*12|0)+4+(A<<2)>>1]|0)){break b}if((b[o+4+(A<<2)+2>>1]|0)!=(b[D+(I*12|0)+4+(A<<2)+2>>1]|0)){break b}if((a[o+2+A|0]|0)!=(a[D+(I*12|0)+2+A|0]|0)){break b}}B=A+1|0;if((B|0)<2){A=B}else{F=x;G=0;H=1;break a}}}}while(0);A=o+(x*12|0)|0;B=D+(I*12|0)|0;b[A>>1]=b[B>>1]|0;b[A+2>>1]=b[B+2>>1]|0;b[A+4>>1]=b[B+4>>1]|0;b[A+6>>1]=b[B+6>>1]|0;b[A+8>>1]=b[B+8>>1]|0;b[A+10>>1]=b[B+10>>1]|0;F=x+1|0;G=x;H=1}}while(0);if((F|0)>=(p|0)){E=F;return E|0}if((v|0)==(u>>k|0)){if((j>>k|0)==(C>>k|0)){J=F}else{z=42}}else{z=42}c:do{if((z|0)==42){if(!(ci(e,f,g,h,i,j,l,m,n,u,C)|0)){J=F;break}v=c[e+10388>>2]|0;x=u>>v;t=C>>v;if(!((x|0)>-1)){ec(1232,544,118,17296);return 0}v=c[e+10392>>2]|0;if((x|0)>=(v|0)){ec(1232,544,118,17296);return 0}if(!((t|0)>-1)){ec(17016,544,119,17296);return 0}if((t|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}r=(ga(v,t)|0)+x|0;x=c[e+10380>>2]|0;d:do{if(H){t=0;while(1){v=a[o+(G*12|0)+t|0]|0;if(!(v<<24>>24==(a[x+(r*12|0)+t|0]|0))){break d}if(!(v<<24>>24==0)){if((b[o+(G*12|0)+4+(t<<2)>>1]|0)!=(b[x+(r*12|0)+4+(t<<2)>>1]|0)){break d}if((b[o+(G*12|0)+4+(t<<2)+2>>1]|0)!=(b[x+(r*12|0)+4+(t<<2)+2>>1]|0)){break d}if((a[o+(G*12|0)+2+t|0]|0)!=(a[x+(r*12|0)+2+t|0]|0)){break d}}v=t+1|0;if((v|0)<2){t=v}else{J=F;break c}}}}while(0);I=o+(F*12|0)|0;D=x+(r*12|0)|0;b[I>>1]=b[D>>1]|0;b[I+2>>1]=b[D+2>>1]|0;b[I+4>>1]=b[D+4>>1]|0;b[I+6>>1]=b[D+6>>1]|0;b[I+8>>1]=b[D+8>>1]|0;b[I+10>>1]=b[D+10>>1]|0;J=F+1|0}}while(0);if((J|0)>=(p|0)){E=J;return E|0}if(w){if((j>>k|0)==(q>>k|0)){K=J}else{z=60}}else{z=60}e:do{if((z|0)==60){if(!(ci(e,f,g,h,i,j,l,m,n,s,q)|0)){K=J;break}F=c[e+10388>>2]|0;u=s>>F;D=q>>F;if(!((u|0)>-1)){ec(1232,544,118,17296);return 0}F=c[e+10392>>2]|0;if((u|0)>=(F|0)){ec(1232,544,118,17296);return 0}if(!((D|0)>-1)){ec(17016,544,119,17296);return 0}if((D|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}I=(ga(F,D)|0)+u|0;u=c[e+10380>>2]|0;f:do{if(y){D=0;while(1){F=a[o+D|0]|0;if(!(F<<24>>24==(a[u+(I*12|0)+D|0]|0))){break f}if(!(F<<24>>24==0)){if((b[o+4+(D<<2)>>1]|0)!=(b[u+(I*12|0)+4+(D<<2)>>1]|0)){break f}if((b[o+4+(D<<2)+2>>1]|0)!=(b[u+(I*12|0)+4+(D<<2)+2>>1]|0)){break f}if((a[o+2+D|0]|0)!=(a[u+(I*12|0)+2+D|0]|0)){break f}}F=D+1|0;if((F|0)<2){D=F}else{K=J;break e}}}}while(0);r=o+(J*12|0)|0;x=u+(I*12|0)|0;b[r>>1]=b[x>>1]|0;b[r+2>>1]=b[x+2>>1]|0;b[r+4>>1]=b[x+4>>1]|0;b[r+6>>1]=b[x+6>>1]|0;b[r+8>>1]=b[x+8>>1]|0;b[r+10>>1]=b[x+10>>1]|0;K=J+1|0}}while(0);if((K|0)>=(p|0)|(K|0)==4){E=K;return E|0}do{if(w){if((j>>k|0)==(C>>k|0)){E=K}else{break}return E|0}}while(0);if(!(ci(e,f,g,h,i,j,l,m,n,s,C)|0)){E=K;return E|0}n=c[e+10388>>2]|0;m=s>>n;s=C>>n;if(!((m|0)>-1)){ec(1232,544,118,17296);return 0}n=c[e+10392>>2]|0;if((m|0)>=(n|0)){ec(1232,544,118,17296);return 0}if(!((s|0)>-1)){ec(17016,544,119,17296);return 0}if((s|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}C=(ga(n,s)|0)+m|0;m=c[e+10380>>2]|0;g:do{if(H){e=0;while(1){s=a[o+(G*12|0)+e|0]|0;if(!(s<<24>>24==(a[m+(C*12|0)+e|0]|0))){break g}if(!(s<<24>>24==0)){if((b[o+(G*12|0)+4+(e<<2)>>1]|0)!=(b[m+(C*12|0)+4+(e<<2)>>1]|0)){break g}if((b[o+(G*12|0)+4+(e<<2)+2>>1]|0)!=(b[m+(C*12|0)+4+(e<<2)+2>>1]|0)){break g}if((a[o+(G*12|0)+2+e|0]|0)!=(a[m+(C*12|0)+2+e|0]|0)){break g}}s=e+1|0;if((s|0)<2){e=s}else{E=K;break}}return E|0}}while(0);h:do{if(y){G=0;while(1){H=a[o+G|0]|0;if(!(H<<24>>24==(a[m+(C*12|0)+G|0]|0))){break h}if(!(H<<24>>24==0)){if((b[o+4+(G<<2)>>1]|0)!=(b[m+(C*12|0)+4+(G<<2)>>1]|0)){break h}if((b[o+4+(G<<2)+2>>1]|0)!=(b[m+(C*12|0)+4+(G<<2)+2>>1]|0)){break h}if((a[o+2+G|0]|0)!=(a[m+(C*12|0)+2+G|0]|0)){break h}}H=G+1|0;if((H|0)<2){G=H}else{E=K;break}}return E|0}}while(0);y=o+(K*12|0)|0;o=m+(C*12|0)|0;b[y>>1]=b[o>>1]|0;b[y+2>>1]=b[o+2>>1]|0;b[y+4>>1]=b[o+4>>1]|0;b[y+6>>1]=b[o+6>>1]|0;b[y+8>>1]=b[o+8>>1]|0;b[y+10>>1]=b[o+10>>1]|0;E=K+1|0;return E|0}function Ai(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=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;h=i;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];if((f|0)<-128){k=-128}else{k=(f|0)>127?127:f}if((g|0)<-128){l=-128}else{l=(g|0)>127?127:g}if((k|0)==0){g=d;f=a;C=e[g>>1]|e[g+2>>1]<<16;b[f>>1]=C;b[f+2>>1]=C>>16;m=0;i=h;return m|0}f=(ga(((((k|0)<0?-k|0:k)>>1)+16384|0)/(k|0)|0,l)|0)+32>>6;if((f|0)<-4096){n=-4096}else{n=(f|0)>4095?4095:f}f=ga(b[d>>1]|0,n)|0;l=(f|0)<0;if(l){o=-1}else{o=(f|0)>0|0}k=(l?-f|0:f)+127>>8;do{if((ga(k,o)|0)<-32768){p=-32768}else{if(l){q=-1}else{q=(f|0)>0|0}if((ga(k,q)|0)>32767){p=32767;break}if(l){r=-1}else{r=(f|0)>0|0}p=(ga(k,r)|0)&65535}}while(0);b[a>>1]=p;p=ga(b[d+2>>1]|0,n)|0;n=(p|0)<0;if(n){s=-1}else{s=(p|0)>0|0}d=(n?-p|0:p)+127>>8;do{if((ga(d,s)|0)<-32768){t=-32768}else{if(n){u=-1}else{u=(p|0)>0|0}if((ga(d,u)|0)>32767){t=32767;break}if(n){v=-1}else{v=(p|0)>0|0}t=(ga(d,v)|0)&65535}}while(0);b[a+2>>1]=t;m=1;i=h;return m|0}function Bi(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;k=i;i=i+8|0;j=k|0;s=j;if(!(Qc[c[(c[f>>2]|0)+12>>2]&63](f,l)|0)){ec(12928,15536,1074,18352)}t=f;u=Qc[c[(c[t>>2]|0)+8>>2]&63](f,l)|0;do{if((c[u+24>>2]|0)>(m|0)){if((c[u+28>>2]|0)<=(n|0)){break}l=c[u+10368>>2]|0;v=m>>l;w=n>>l;if(!((v|0)>-1)){ec(1232,544,118,17296)}l=c[u+10372>>2]|0;if((v|0)>=(l|0)){ec(1232,544,118,17296)}if(!((w|0)>-1)){ec(17016,544,119,17296)}if((w|0)>=(c[u+10376>>2]|0)){ec(17016,544,119,17296)}x=(ga(l,w)|0)+v|0;v=(c[u+10360>>2]|0)+(x*3|0)|0;if(((d[v]|d[v+1|0]<<8)<<16>>16&768)==0){b[q>>1]=0;b[q+2>>1]=0;a[r]=0;i=k;return}if((a[u+10516|0]|0)==1){b[q>>1]=0;b[q+2>>1]=0;a[r]=0;i=k;return}v=c[u+10388>>2]|0;x=m>>v;w=n>>v;if(!((x|0)>-1)){ec(1232,544,118,17296)}v=c[u+10392>>2]|0;if((x|0)>=(v|0)){ec(1232,544,118,17296)}if(!((w|0)>-1)){ec(17016,544,119,17296)}if((w|0)>=(c[u+10396>>2]|0)){ec(17016,544,119,17296)}l=(ga(v,w)|0)+x|0;x=c[u+10380>>2]|0;do{if((a[x+(l*12|0)|0]|0)==0){y=1;z=x+(l*12|0)+3|0;A=x+(l*12|0)+8|0}else{if((a[x+(l*12|0)+1|0]|0)==0){y=0;z=x+(l*12|0)+2|0;A=x+(l*12|0)+4|0;break}w=c[g+92>>2]|0;v=h+332|0;if((c[v>>2]|0)<1){B=1}else{D=0;E=1;while(1){F=(Qc[c[(c[t>>2]|0)+8>>2]&63](f,c[h+980+(D<<2)>>2]|0)|0)+92|0;G=E&(c[F>>2]|0)<=(w|0);F=D+1|0;if((F|0)>=(c[v>>2]|0)|G^1){B=G;break}else{D=F;E=G}}}E=h+328|0;if((c[E>>2]|0)<1|B^1){H=B}else{D=0;v=B;while(1){G=(Qc[c[(c[t>>2]|0)+8>>2]&63](f,c[h+916+(D<<2)>>2]|0)|0)+92|0;F=v&(c[G>>2]|0)<=(w|0);G=D+1|0;if((G|0)>=(c[E>>2]|0)|F^1){H=F;break}else{D=G;v=F}}}if(H){y=p;z=x+(l*12|0)+2+p|0;A=x+(l*12|0)+4+(p<<2)|0;break}else{v=a[h+372|0]|0;y=v;z=x+(l*12|0)+2+v|0;A=x+(l*12|0)+4+(v<<2)|0;break}}}while(0);l=A;x=e[l>>1]|e[l+2>>1]<<16;l=a[z]|0;v=c[u+10348>>2]|0;D=m>>v;E=n>>v;if(!((D|0)>-1)){ec(1232,544,118,17296)}v=c[u+10352>>2]|0;if((D|0)>=(v|0)){ec(1232,544,118,17296)}if(!((E|0)>-1)){ec(17016,544,119,17296)}if((E|0)>=(c[u+10356>>2]|0)){ec(17016,544,119,17296)}w=(ga(v,E)|0)+D|0;D=c[(c[u+48>>2]|0)+(e[(c[u+10340>>2]|0)+(w*24|0)+2>>1]<<2)>>2]|0;w=h+1300+(p<<4)+o|0;if((a[w]|0)!=(a[D+1300+(y<<4)+l|0]|0)){a[r]=0;b[q>>1]=0;b[q+2>>1]=0;i=k;return}a[r]=1;E=(c[u+92>>2]|0)-(c[D+1044+(y<<6)+(l<<2)>>2]|0)|0;l=(c[g+92>>2]|0)-(c[h+1044+(p<<6)+(o<<2)>>2]|0)|0;if((a[w]|0)!=0|(E|0)==(l|0)){w=q;C=x;b[w>>1]=C;b[w+2>>1]=C>>16;i=k;return}c[j>>2]=x;if(Ai(q,s,E,l)|0){i=k;return}Ue(f+4|0,1008,0);a[g+10516|0]=3;i=k;return}}while(0);Ue(f+4|0,1026,0);a[r]=0;i=k;return}function Ci(d,e,f,g,h,i,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if((a[f+324|0]|0)==0){b[m>>1]=0;b[m+2>>1]=0;a[n]=0;return}o=c[e+5804>>2]|0;do{if((c[f+20>>2]|0)==0){if((a[f+372|0]|0)!=0){p=6;break}q=f+980+(c[f+376>>2]<<2)|0}else{p=6}}while(0);if((p|0)==6){q=f+916+(c[f+376>>2]<<2)|0}r=c[q>>2]|0;if(!(Qc[c[(c[d>>2]|0)+12>>2]&63](d,r)|0)){b[m>>1]=0;b[m+2>>1]=0;a[n]=0;Ue(d+4|0,1012,0);return}q=j+h|0;s=i+g|0;do{if((h>>o|0)==(q>>o|0)){if((s|0)>=(c[e+1248>>2]|0)){p=12;break}if((q|0)>=(c[e+1252>>2]|0)){p=12;break}Bi(d,e,f,0,0,r,s&-16,q&-16,k,l,m,n);if((a[n]|0)==0){break}return}else{p=12}}while(0);if((p|0)==12){b[m>>1]=0;b[m+2>>1]=0;a[n]=0}Bi(d,e,f,0,0,r,(i>>1)+g&-16,(j>>1)+h&-16,k,l,m,n);return}function Di(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var 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;j=c[h>>2]|0;if(!((j|0)>1&(j|0)<(i|0))){return}k=ga(j-1|0,j)|0;l=d;m=0;n=1;a:while(1){o=m;while(1){if(!n){p=20;break a}q=c[30904+(o<<2)>>2]|0;r=c[30952+(o<<2)>>2]|0;if(!((q|0)<(j|0)&(r|0)<(j|0))){p=6;break a}s=g+(q*12|0)|0;if((a[s]|0)==0){t=0}else{t=Qc[c[(c[l>>2]|0)+8>>2]&63](d,c[f+916+(a[g+(q*12|0)+2|0]<<2)>>2]|0)|0}u=g+(r*12|0)+1|0;if((a[u]|0)==0){v=0}else{v=Qc[c[(c[l>>2]|0)+8>>2]&63](d,c[f+980+(a[g+(r*12|0)+3|0]<<2)>>2]|0)|0}w=a[s]|0;if(w<<24>>24!=0&(t|0)==0){p=20;break a}s=a[u]|0;if(s<<24>>24!=0&(v|0)==0){p=20;break a}b:do{if(!(w<<24>>24==0|s<<24>>24==0)){do{if((c[t+92>>2]|0)==(c[v+92>>2]|0)){if((b[g+(q*12|0)+4>>1]|0)!=(b[g+(r*12|0)+8>>1]|0)){break}if((b[g+(q*12|0)+6>>1]|0)==(b[g+(r*12|0)+10>>1]|0)){break b}}}while(0);u=c[h>>2]|0;a[g+(u*12|0)+2|0]=a[g+(q*12|0)+2|0]|0;a[g+(u*12|0)+3|0]=a[g+(r*12|0)+3|0]|0;a[g+(u*12|0)|0]=w;a[g+(u*12|0)+1|0]=s;x=g+(q*12|0)+4|0;y=g+(u*12|0)+4|0;C=e[x>>1]|e[x+2>>1]<<16;b[y>>1]=C;b[y+2>>1]=C>>16;y=g+(r*12|0)+8|0;x=g+(u*12|0)+8|0;C=e[y>>1]|e[y+2>>1]<<16;b[x>>1]=C;b[x+2>>1]=C>>16;c[h>>2]=(c[h>>2]|0)+1}}while(0);r=o+1|0;if((r|0)==(k|0)){m=k;n=0;continue a}if((c[h>>2]|0)==(i|0)){m=r;n=0;continue a}else{o=r}}}if((p|0)==6){ec(10064,15536,1360,18064)}else if((p|0)==20){return}}function Ei(d,e,f,g,h,j,k,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;r=i;i=i+24|0;s=r|0;t=r+8|0;u=r+16|0;v=(c[f+10060>>2]|0)>2&(l|0)==8;w=v?l:n;n=v?l:m;m=v?h:k;k=v?g:j;j=p+1|0;p=zi(f,g,h,l,k,m,0,n,w,v?0:o,q,j)|0;c[s>>2]=p;do{if((p|0)<(j|0)){o=u|0;Ci(d,f,e,k,m,n,w,0,0,t|0,o);v=a[o]|0;l=u+1|0;a[l]=0;h=e+20|0;if((c[h>>2]|0)==0){Ci(d,f,e,k,m,n,w,0,1,t+4|0,l);g=a[l]|0;x=g|v;y=g}else{x=v;y=0}if(x<<24>>24==0){z=h;break}c[s>>2]=p+1;v=q+(p*12|0)+4|0;C=c[t>>2]|0;b[v>>1]=C;b[v+2>>1]=C>>16;v=q+(p*12|0)+8|0;C=c[t+4>>2]|0;b[v>>1]=C;b[v+2>>1]=C>>16;a[q+(p*12|0)|0]=a[o]|0;a[q+(p*12|0)+1|0]=y;a[q+(p*12|0)+2|0]=0;a[q+(p*12|0)+3|0]=0;z=h}else{z=e+20|0}}while(0);p=c[z>>2]|0;if((p|0)==0){Di(d,e,q,s,j);A=c[z>>2]|0}else{A=p}p=c[e+328>>2]|0;if((A|0)==1){B=p}else{d=c[e+332>>2]|0;B=(p|0)<(d|0)?p:d}d=c[s>>2]|0;if((d|0)<(j|0)){D=0;E=A;F=d}else{i=r;return}while(1){d=q+(F*12|0)|0;A=(D|0)<(B|0)?D&255:0;a[q+(F*12|0)+2|0]=A;p=q+(F*12|0)+3|0;if((E|0)==1){a[p]=-1;a[d|0]=1;a[q+(F*12|0)+1|0]=0}else{a[p]=A;a[d|0]=1;a[q+(F*12|0)+1|0]=1}d=q+(F*12|0)+4|0;A=d|0;C=0;b[A>>1]=C;b[A+2>>1]=C>>16;A=d+4|0;C=0;b[A>>1]=C;b[A+2>>1]=C>>16;G=F+1|0;if((G|0)>=(j|0)){break}D=D+1|0;E=c[z>>2]|0;F=G}c[s>>2]=G;i=r;return}function Fi(f,g,h,j,k,l,m,n,o,p,q,r,s,t,u){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;v=i;i=i+32|0;w=v|0;x=v+8|0;y=v+16|0;z=v+24|0;A=z;B=i;i=i+12|0;i=i+7&-8;D=i;i=i+12|0;i=i+7&-8;E=i;i=i+3|0;i=i+7&-8;F=i;i=i+4|0;i=i+7&-8;G=F;H=t+1|0;a[H]=0;I=m-1|0;c[w>>2]=I;J=p+n|0;c[x>>2]=J;c[w+4>>2]=I;K=J-1|0;c[x+4>>2]=K;a[t]=0;b[u>>1]=0;b[u+2>>1]=0;L=ci(g,j,k,l,m,n,o,p,s,I,J)|0;J=L&1;a[y|0]=J;M=ci(g,j,k,l,m,n,o,p,s,I,K)|0;a[y+1|0]=M&1;K=L|M;M=f;L=h+916+(q<<6)+(r<<2)|0;N=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[L>>2]|0)|0;if((N|0)==0){i=v;return}O=c[N+92>>2]|0;N=g+10368|0;P=g+10372|0;Q=g+10376|0;R=g+10360|0;S=1-q|0;T=g+10388|0;U=g+10392|0;V=g+10396|0;W=g+10380|0;X=u;Y=0;Z=-1;_=J;a:while(1){b:do{if(_<<24>>24==0){$=Z}else{if((a[t]|0)!=0){$=Z;break}J=c[w+(Y<<2)>>2]|0;aa=c[x+(Y<<2)>>2]|0;ba=c[N>>2]|0;ca=J>>ba;da=aa>>ba;if(!((ca|0)>-1)){ea=8;break a}ba=c[P>>2]|0;if((ca|0)>=(ba|0)){ea=8;break a}if(!((da|0)>-1)){ea=11;break a}if((da|0)>=(c[Q>>2]|0)){ea=11;break a}fa=(ga(ba,da)|0)+ca|0;ca=(c[R>>2]|0)+(fa*3|0)|0;if(((d[ca]|d[ca+1|0]<<8)<<16>>16&768)==0){$=Z;break}ca=c[T>>2]|0;fa=J>>ca;J=aa>>ca;if(!((fa|0)>-1)){ea=15;break a}ca=c[U>>2]|0;if((fa|0)>=(ca|0)){ea=15;break a}if(!((J|0)>-1)){ea=18;break a}if((J|0)>=(c[V>>2]|0)){ea=18;break a}aa=(ga(ca,J)|0)+fa|0;fa=c[W>>2]|0;J=fa+(aa*12|0)+q|0;if((a[J]|0)==0){ha=0}else{ha=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[h+916+(q<<6)+(a[fa+(aa*12|0)+2+q|0]<<2)>>2]|0)|0}ca=fa+(aa*12|0)+S|0;if((a[ca]|0)==0){ia=0}else{ia=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[h+916+(S<<6)+(a[fa+(aa*12|0)+2+S|0]<<2)>>2]|0)|0}do{if(!((a[J]|0)==0|(ha|0)==0)){if((c[ha+92>>2]|0)!=(O|0)){break}a[t]=1;da=fa+(aa*12|0)+4+(q<<2)|0;C=e[da>>1]|e[da+2>>1]<<16;b[X>>1]=C;b[X+2>>1]=C>>16;$=a[fa+(aa*12|0)+2+q|0]|0;break b}}while(0);if((a[ca]|0)==0|(ia|0)==0){$=Z;break}if((c[ia+92>>2]|0)!=(O|0)){$=Z;break}a[t]=1;J=fa+(aa*12|0)+4+(S<<2)|0;C=e[J>>1]|e[J+2>>1]<<16;b[X>>1]=C;b[X+2>>1]=C>>16;$=a[fa+(aa*12|0)+2+S|0]|0}}while(0);J=Y+1|0;if((J|0)>=2){ea=3;break}Y=J;Z=$;_=a[y+J|0]|0}if((ea|0)==3){_=h+1300+(q<<4)+r|0;r=g+92|0;Z=f+4|0;Y=g+10516|0;ia=0;ha=$;c:while(1){if((a[t]|0)!=0){ea=62;break}d:do{if((a[y+ia|0]|0)==0){ja=ha;ka=-1}else{$=c[w+(ia<<2)>>2]|0;J=c[x+(ia<<2)>>2]|0;da=c[N>>2]|0;ba=$>>da;la=J>>da;if(!((ba|0)>-1)){ea=35;break c}da=c[P>>2]|0;if((ba|0)>=(da|0)){ea=35;break c}if(!((la|0)>-1)){ea=38;break c}if((la|0)>=(c[Q>>2]|0)){ea=38;break c}ma=(ga(da,la)|0)+ba|0;ba=(c[R>>2]|0)+(ma*3|0)|0;if(((d[ba]|d[ba+1|0]<<8)<<16>>16&768)==0){ja=ha;ka=-1;break}ba=c[T>>2]|0;ma=$>>ba;$=J>>ba;if(!((ma|0)>-1)){ea=42;break c}ba=c[U>>2]|0;if((ma|0)>=(ba|0)){ea=42;break c}if(!(($|0)>-1)){ea=45;break c}if(($|0)>=(c[V>>2]|0)){ea=45;break c}J=(ga(ba,$)|0)+ma|0;ma=c[W>>2]|0;do{if((a[ma+(J*12|0)+q|0]|0)==1){$=ma+(J*12|0)+2+q|0;if((a[_]|0)!=(a[(a[$]|0)+(h+1300+(q<<4))|0]|0)){break}a[t]=1;ba=ma+(J*12|0)+4+(q<<2)|0;C=e[ba>>1]|e[ba+2>>1]<<16;b[X>>1]=C;b[X+2>>1]=C>>16;ja=a[$]|0;ka=q;break d}}while(0);if((a[ma+(J*12|0)+S|0]|0)!=1){ja=ha;ka=-1;break}aa=ma+(J*12|0)+2+S|0;if((a[_]|0)!=(a[(a[aa]|0)+(h+1300+(S<<4))|0]|0)){ja=ha;ka=-1;break}a[t]=1;fa=ma+(J*12|0)+4+(S<<2)|0;C=e[fa>>1]|e[fa+2>>1]<<16;b[X>>1]=C;b[X+2>>1]=C>>16;ja=a[aa]|0;ka=S}}while(0);do{if((a[t]|0)==1){if((ja|0)<0){ea=54;break c}if(!((ka|0)>-1)){ea=56;break c}aa=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[h+916+(ka<<6)+(ja<<2)>>2]|0)|0;Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[L>>2]|0)|0;if((a[h+1300+(ka<<4)+ja|0]|0)!=0){break}if((a[_]|0)!=0){break}fa=c[r>>2]|0;ca=fa-(c[aa+92>>2]|0)|0;c[z>>2]=e[X>>1]|e[X+2>>1]<<16;if(Ai(u,A,ca,fa-O|0)|0){break}Ue(Z,1008,0);a[Y]=3}}while(0);fa=ia+1|0;if((fa|0)<2){ia=fa;ha=ja}else{ea=62;break}}if((ea|0)==35){ec(1232,544,118,17296)}else if((ea|0)==38){ec(17016,544,119,17296)}else if((ea|0)==42){ec(1232,544,118,17296)}else if((ea|0)==45){ec(17016,544,119,17296)}else if((ea|0)==54){a[H]=0;a[t]=0;i=v;return}else if((ea|0)==56){ec(5136,15536,1698,18112)}else if((ea|0)==62){ja=o+m|0;c[B>>2]=ja;ha=n-1|0;c[D>>2]=ha;c[B+4>>2]=ja-1;c[D+4>>2]=ha;c[B+8>>2]=I;c[D+8>>2]=ha;a[H]=0;I=u+4|0;b[I>>1]=0;b[u+6>>1]=0;u=I;ia=0;A=-1;z=ja;ja=ha;e:while(1){ha=ci(g,j,k,l,m,n,o,p,s,z,ja)|0;a[E+ia|0]=ha&1;f:do{if(ha){if((a[H]|0)!=0){na=A;break}ka=c[T>>2]|0;R=z>>ka;Q=ja>>ka;if(!((R|0)>-1)){ea=67;break e}ka=c[U>>2]|0;if((R|0)>=(ka|0)){ea=67;break e}if(!((Q|0)>-1)){ea=70;break e}if((Q|0)>=(c[V>>2]|0)){ea=70;break e}P=(ga(ka,Q)|0)+R|0;R=c[W>>2]|0;Q=R+(P*12|0)+q|0;if((a[Q]|0)==0){oa=0}else{oa=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[h+916+(q<<6)+(a[R+(P*12|0)+2+q|0]<<2)>>2]|0)|0}ka=R+(P*12|0)+S|0;if((a[ka]|0)==0){pa=0}else{pa=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[h+916+(S<<6)+(a[R+(P*12|0)+2+S|0]<<2)>>2]|0)|0}do{if(!((a[Q]|0)==0|(oa|0)==0)){if((c[oa+92>>2]|0)!=(O|0)){break}a[H]=1;N=R+(P*12|0)+4+(q<<2)|0;C=e[N>>1]|e[N+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;na=a[R+(P*12|0)+2+q|0]|0;break f}}while(0);if((a[ka]|0)==0|(pa|0)==0){na=A;break}if((c[pa+92>>2]|0)!=(O|0)){na=A;break}a[H]=1;Q=R+(P*12|0)+4+(S<<2)|0;C=e[Q>>1]|e[Q+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;na=a[R+(P*12|0)+2+S|0]|0}else{na=A}}while(0);ha=ia+1|0;if((ha|0)>=3){ea=83;break}ia=ha;A=na;z=c[B+(ha<<2)>>2]|0;ja=c[D+(ha<<2)>>2]|0}if((ea|0)==67){ec(1232,544,118,17296)}else if((ea|0)==70){ec(17016,544,119,17296)}else if((ea|0)==83){if(K){i=v;return}if((a[H]|0)!=0){a[t]=1;C=e[u>>1]|e[u+2>>1]<<16;b[X>>1]=C;b[X+2>>1]=C>>16}a[H]=0;X=g+10332|0;g=0;K=na;na=1;g:while(1){if(!na){ea=115;break}h:do{if((a[E+g|0]|0)==0){qa=K;ra=-1}else{ja=c[T>>2]|0;z=c[B+(g<<2)>>2]>>ja;A=c[D+(g<<2)>>2]>>ja;if(!((z|0)>-1)){ea=91;break g}ja=c[U>>2]|0;if((z|0)>=(ja|0)){ea=91;break g}if(!((A|0)>-1)){ea=94;break g}if((A|0)>=(c[V>>2]|0)){ea=94;break g}ia=(ga(ja,A)|0)+z|0;z=c[W>>2]|0;do{if((a[z+(ia*12|0)+q|0]|0)==1){A=z+(ia*12|0)+2+q|0;if((a[_]|0)!=(a[(a[A]|0)+(h+1300+(q<<4))|0]|0)){break}a[H]=1;ja=z+(ia*12|0)+4+(q<<2)|0;C=e[ja>>1]|e[ja+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;qa=a[A]|0;ra=q;break h}}while(0);if((a[z+(ia*12|0)+S|0]|0)!=1){qa=K;ra=-1;break}P=z+(ia*12|0)+2+S|0;if((a[_]|0)!=(a[(a[P]|0)+(h+1300+(S<<4))|0]|0)){qa=K;ra=-1;break}a[H]=1;R=z+(ia*12|0)+4+(S<<2)|0;C=e[R>>1]|e[R+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;qa=a[P]|0;ra=S}}while(0);do{if((a[H]|0)==1){if((qa|0)<0){ea=103;break g}if(!((ra|0)>-1)){ea=105;break g}if(!((qa|0)>-1)){ea=107;break g}P=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[h+916+(ra<<6)+(qa<<2)>>2]|0)|0;R=Qc[c[(c[M>>2]|0)+8>>2]&63](f,c[L>>2]|0)|0;if((P|0)==0|(R|0)==0){Ue((c[X>>2]|0)+4|0,1012,0);a[Y]=3;break}ka=c[P+92>>2]|0;if(!((ka|0)!=(c[R+92>>2]|0)&(a[h+1300+(ra<<4)+qa|0]|0)==0&(a[_]|0)==0)){break}R=c[r>>2]|0;c[F>>2]=e[u>>1]|e[u+2>>1]<<16;if(Ai(I,G,R-ka|0,R-O|0)|0){break}Ue(Z,1008,0);a[Y]=3}}while(0);R=g+1|0;if((R|0)>=3){ea=115;break}g=R;K=qa;na=(a[H]|0)==0}if((ea|0)==91){ec(1232,544,118,17296)}else if((ea|0)==94){ec(17016,544,119,17296)}else if((ea|0)==103){a[H]=0;a[t]=0;i=v;return}else if((ea|0)==105){ec(5136,15536,1839,18112)}else if((ea|0)==107){ec(3656,15536,1840,18112)}else if((ea|0)==115){i=v;return}}}}else if((ea|0)==8){ec(1232,544,118,17296)}else if((ea|0)==11){ec(17016,544,119,17296)}else if((ea|0)==15){ec(1232,544,118,17296)}else if((ea|0)==18){ec(17016,544,119,17296)}}function Gi(d,e,f,g,h,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;s=i;i=i+32|0;t=s|0;u=s+8|0;v=s+16|0;w=s+24|0;x=w;y=t|0;Fi(d,f,e,g,h,j,k,l,m,n,o,p,q,y,u|0);q=(a[y]|0)==0;do{if(q){z=6}else{if((a[t+1|0]|0)==0){z=6;break}if((b[u>>1]|0)==(b[u+4>>1]|0)){if((b[u+2>>1]|0)==(b[u+6>>1]|0)){z=6;break}}a[v]=0}}while(0);if((z|0)==6){Ci(d,f,e,k,l,m,n,p,o,x,v)}if(q){A=0}else{x=r;C=c[u>>2]|0;b[x>>1]=C;b[x+2>>1]=C>>16;A=1}a:do{if((a[t+1|0]|0)==0){B=A}else{do{if(!q){if((b[u>>1]|0)!=(b[u+4>>1]|0)){break}if((b[u+2>>1]|0)==(b[u+6>>1]|0)){B=A;break a}}}while(0);x=r+(A<<2)|0;C=c[u+4>>2]|0;b[x>>1]=C;b[x+2>>1]=C>>16;B=A+1|0}}while(0);if((a[v]|0)==0){D=B}else{v=r+(B<<2)|0;C=c[w>>2]|0;b[v>>1]=C;b[v+2>>1]=C>>16;D=B+1|0}if((D|0)<2){B=D;do{b[r+(B<<2)>>1]=0;b[r+(B<<2)+2>>1]=0;B=B+1|0;}while((B|0)<2);i=s;return}if((D|0)==2){i=s;return}else{ec(2360,15536,1943,18152)}}function Hi(f,g,h,j,k,l,m,n,o,p,q,r,s){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;t=i;i=i+80|0;u=t|0;v=t+8|0;w=t+72|0;x=m+k|0;m=n+l|0;n=c[h+10368>>2]|0;y=k>>n;z=l>>n;if(!((y|0)>-1)){ec(1232,544,118,17296)}n=c[h+10372>>2]|0;if((y|0)>=(n|0)){ec(1232,544,118,17296)}if(!((z|0)>-1)){ec(17016,544,119,17296)}if((z|0)>=(c[h+10376>>2]|0)){ec(17016,544,119,17296)}A=(ga(n,z)|0)+y|0;y=(c[h+10360>>2]|0)+(A*3|0)|0;A=((d[y]|d[y+1|0]<<8)<<16>>16&65535)>>>8&255&3;if((A|0)==2){B=a[j+10|0]|0;D=12}else if((A|0)==1){A=j+10|0;y=a[A]|0;if((y&16)==0){E=A;D=11}else{B=y;D=12}}else{E=j+10|0;D=11}if((D|0)==11){y=u|0;A=0;do{z=a[E]&3;if((z<<24>>24|0)==1){if((A|0)==0){D=20}else{D=19}}else if((z<<24>>24|0)==3){D=20}else if((z<<24>>24|0)==2){if((A|0)==1){D=20}else{D=19}}else{D=19}if((D|0)==19){D=0;a[s+2+A|0]=-1;a[s+A|0]=0}else if((D|0)==20){D=0;z=a[j+A|0]|0;a[s+2+A|0]=z;a[s+A|0]=1;n=b[j+2+(A<<2)+2>>1]|0;F=e[j+2+(A<<2)>>1]|0;Gi(f,g,h,k,l,o,x,m,p,q,A,z<<24>>24,r,y);z=u+(((d[E]|0)>>>(((A|0)!=0?3:2)>>>0)&1)<<2)|0;G=e[z>>1]|e[z+2>>1]<<16;z=w+(A<<2)|0;C=G;b[z>>1]=C;b[z+2>>1]=C>>16;z=(b[w+(A<<2)+2>>1]|0)+n&65535;b[s+4+(A<<2)>>1]=G+F;b[s+4+(A<<2)+2>>1]=z}A=A+1|0;}while((A|0)<2);i=t;return}else if((D|0)==12){D=(B&255)>>>5&255;Ei(f,g,h,k,l,x,m,o,p,q,r,D,v|0);r=s|0;o=v+(D*12|0)|0;b[r>>1]=b[o>>1]|0;b[r+2>>1]=b[o+2>>1]|0;b[r+4>>1]=b[o+4>>1]|0;b[r+6>>1]=b[o+6>>1]|0;b[r+8>>1]=b[o+8>>1]|0;b[r+10>>1]=b[o+10>>1]|0;if((a[r]|0)==0){i=t;return}r=s+1|0;if((a[r]|0)==0){i=t;return}if((q+p|0)!=12){i=t;return}a[s+3|0]=-1;a[r]=0;i=t;return}}function Ii(a,b,c,d,e,f,g,h,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;n=i;i=i+16|0;o=n|0;Hi(a,b,c,d,e,f,g,h,j,k,l,m,o);ui(a,b,c,e,f,g,h,j,k,l,o);ai(c,g+e|0,h+f|0,k,l,o);i=n;return}function Ji(b,c){b=b|0;c=c|0;var d=0;od(c,1);d=(nd(c,6)|0)&255;a[b|0]=d;d=(nd(c,6)|0)&255;a[b+1|0]=d;d=(nd(c,3)|0)+255&255;a[b+2|0]=d;return}function Ki(a){a=a|0;return(a-19&255)>>>0<2>>>0|0}function Li(a){a=a|0;return(a-16&255)>>>0<3>>>0|0}function Mi(a){a=a|0;return(a&-2)<<24>>24==8|0}function Ni(a){a=a|0;return(a-16&255)>>>0<8>>>0|0}function Oi(a){a=a|0;return(a&-2)<<24>>24==6|0}function Pi(a){a=a|0;var b=0;switch(a&255|0){case 0:case 2:case 4:case 6:case 8:case 10:case 12:case 14:{b=1;break};default:{b=0}}return b|0}function Qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[a+32>>2]|0;f=(c[a+36>>2]|0)-e>>2;while(1){a=f-1|0;if(!((a|0)>-1)){g=0;h=4;break}if(((c[e+(a<<2)>>2]|0)-d|0)>(b|0)){f=a}else{g=f;h=4;break}}if((h|0)==4){return g|0}return 0}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0,h=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;d=i;i=i+8|0;e=d|0;f=b+24|0;g=c[f>>2]|0;if((g-2|0)<=0){i=d;return}h=b+36|0;j=b+32|0;k=b+40|0;l=b+32|0;m=c[b+20>>2]|0;b=0;n=g;while(1){g=m+2|0;o=a[g]|0;do{if((o<<24>>24|0)==3|(o<<24>>24|0)==0){if((a[m]|0)!=0){p=b;q=m;r=n;break}s=m+1|0;if(!((a[s]|0)==0&o<<24>>24==3)){p=b;q=m;r=n;break}t=c[h>>2]|0;u=b+2+(t-(c[j>>2]|0)>>2)|0;c[e>>2]=u;if((t|0)==(c[k>>2]|0)){fj(l,e)}else{if((t|0)!=0){c[t>>2]=u}c[h>>2]=t+4}fv(g|0,m+3|0,-3-b+(c[f>>2]|0)|0)|0;t=(c[f>>2]|0)-1|0;c[f>>2]=t;p=b+1|0;q=s;r=t}else{p=b+2|0;q=g;r=n}}while(0);g=p+1|0;if((g|0)<(r-2|0)){m=q+1|0;b=g;n=r}else{break}}i=d;return}function Si(b){b=b|0;a[b|0]=0;a[b+1|0]=0;dv(b+4|0,0,48)|0;return}function Ti(a){a=a|0;var b=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;b=a+32|0;d=a+16|0;e=a+28|0;f=a+36|0;while(1){g=c[b>>2]|0;if((g|0)==0){break}h=c[d>>2]|0;i=c[e>>2]|0;j=c[(c[h+(i>>>10<<2)>>2]|0)+((i&1023)<<2)>>2]|0;c[b>>2]=g-1;g=i+1|0;c[e>>2]=g;if(g>>>0>2047>>>0){Pu(c[h>>2]|0);c[d>>2]=(c[d>>2]|0)+4;c[e>>2]=(c[e>>2]|0)-1024}c[f>>2]=(c[f>>2]|0)-(c[j+24>>2]|0);if((j|0)==0){break}Vi(a,j)}f=c[a+8>>2]|0;if((f|0)!=0){Vi(a,f)}f=a+44|0;e=c[f>>2]|0;b=a+40|0;j=c[b>>2]|0;if((e|0)==(j|0)){k=e;l=e;m=j}else{h=0;g=j;j=e;while(1){e=c[g+(h<<2)>>2]|0;if((e|0)==0){n=j;o=g}else{Hu(c[e+20>>2]|0);i=c[e+32>>2]|0;if((i|0)!=0){p=e+36|0;q=c[p>>2]|0;if((q|0)!=(i|0)){c[p>>2]=q+(~((q-4+(-i|0)|0)>>>2)<<2)}Pu(i)}Pu(e|0);n=c[f>>2]|0;o=c[b>>2]|0}e=h+1|0;i=o;if(e>>>0<n-i>>2>>>0){h=e;g=o;j=n}else{k=n;l=o;m=i;break}}}if((l|0)!=0){if((k|0)!=(l|0)){c[f>>2]=k+(~((k-4+(-m|0)|0)>>>2)<<2)}Pu(l)}l=a+12|0;gj(l|0);m=c[d>>2]|0;k=a+20|0;a=c[k>>2]|0;do{if((m|0)!=(a|0)){f=m;do{Pu(c[f>>2]|0);f=f+4|0;}while((f|0)!=(a|0));f=c[d>>2]|0;o=c[k>>2]|0;if((o|0)==(f|0)){break}c[k>>2]=o+(~((o-4+(-f|0)|0)>>>2)<<2)}}while(0);k=c[l>>2]|0;if((k|0)==0){return}Pu(k);return}function Ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+32|0;d=c[b>>2]|0;if((d|0)==0){e=0;return e|0}f=a+16|0;g=c[f>>2]|0;h=a+28|0;i=c[h>>2]|0;j=c[(c[g+(i>>>10<<2)>>2]|0)+((i&1023)<<2)>>2]|0;c[b>>2]=d-1;d=i+1|0;c[h>>2]=d;if(d>>>0>2047>>>0){Pu(c[g>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[h>>2]=(c[h>>2]|0)-1024}h=a+36|0;c[h>>2]=(c[h>>2]|0)-(c[j+24>>2]|0);e=j;return e|0}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+8|0;e=d|0;c[e>>2]=b;if((b|0)==0){i=d;return}f=a+40|0;g=a+44|0;h=c[g>>2]|0;if(!(h-(c[f>>2]|0)>>2>>>0<16>>>0)){Hu(c[b+20>>2]|0);j=c[b+32>>2]|0;if((j|0)!=0){k=b+36|0;l=c[k>>2]|0;if((l|0)!=(j|0)){c[k>>2]=l+(~((l-4+(-j|0)|0)>>>2)<<2)}Pu(j)}Pu(b|0);i=d;return}if((h|0)==(c[a+48>>2]|0)){ej(f,e);i=d;return}if((h|0)==0){m=0}else{c[h>>2]=b;m=c[g>>2]|0}c[g>>2]=m+4;i=d;return}function Wi(b,d){b=b|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;e=b+44|0;f=c[e>>2]|0;if((f|0)==(c[b+40>>2]|0)){g=Nu(48)|0;a[g]=0;a[g+1|0]=0;a[g+2|0]=0;h=g+32|0;c[h>>2]=0;i=g+36|0;c[i>>2]=0;j=g+40|0;c[j>>2]=0;k=Nu(64)|0;l=k;c[i>>2]=l;c[h>>2]=l;h=k+64|0;c[j>>2]=h;if((k|0)!=0){c[l>>2]=0}dv(k+4|0,0,60)|0;c[i>>2]=h;dv(g+8|0,0,24)|0;m=g}else{g=f-4|0;h=c[g>>2]|0;c[e>>2]=f+(~((g+(-g|0)|0)>>>2)<<2);m=h}a[m|0]=0;a[m+1|0]=0;a[m+2|0]=0;h=m+8|0;c[h>>2]=0;c[h+4>>2]=0;c[m+16>>2]=0;h=m+24|0;c[h>>2]=0;g=c[m+32>>2]|0;f=m+36|0;e=c[f>>2]|0;if((e|0)!=(g|0)){c[f>>2]=e+(~((e-4+(-g|0)|0)>>>2)<<2)}g=m+28|0;if((c[g>>2]|0)>=(d|0)){n=m;return n|0}e=Gu(d)|0;if((e|0)==0){Vi(b,m);n=0;return n|0}b=m+20|0;f=c[b>>2]|0;if((f|0)!=0){cv(e|0,f|0,c[h>>2]|0)|0;Hu(f)}c[b>>2]=e;c[g>>2]=d;n=m;return n|0}
-    
-    
-    
-    function Do(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+328|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+104|0;m=d+112|0;n=d+128|0;o=d+144|0;p=d+152|0;q=d+312|0;r=d+320|0;s=c[g+4>>2]&74;if((s|0)==0){t=0}else if((s|0)==8){t=16}else if((s|0)==64){t=8}else{t=10}s=k|0;Zo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=c[l>>2]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=1;B=0}else{C=c[u+12>>2]|0;if((C|0)==(c[u+16>>2]|0)){D=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{D=c[C>>2]|0}if(!((D|0)==-1)){A=0;B=u;break}c[x>>2]=0;A=1;B=0}}while(0);C=c[e>>2]|0;do{if((C|0)==0){E=22}else{F=c[C+12>>2]|0;if((F|0)==(c[C+16>>2]|0)){G=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{G=c[F>>2]|0}if((G|0)==-1){c[e>>2]=0;E=22;break}else{if(A){H=C;break}else{I=l;J=C;break a}}}}while(0);if((E|0)==22){E=0;if(A){I=l;J=0;break}else{H=0}}C=a[g]|0;F=(C&1)==0;if(F){K=(C&255)>>>1}else{K=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(K|0)){if(F){L=(C&255)>>>1;M=(C&255)>>>1}else{C=c[y>>2]|0;L=C;M=C}tm(n,L<<1,0);if((a[g]&1)==0){N=10}else{N=(c[f>>2]&-2)-1|0}tm(n,N,0);if((a[g]&1)==0){O=v}else{O=c[w>>2]|0}c[o>>2]=O+M;P=O}else{P=l}C=B+12|0;F=c[C>>2]|0;Q=B+16|0;if((F|0)==(c[Q>>2]|0)){R=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{R=c[F>>2]|0}if((Vo(R,t,P,o,r,z,m,k,q,s)|0)!=0){I=P;J=H;break}F=c[C>>2]|0;if((F|0)==(c[Q>>2]|0)){Fc[c[(c[B>>2]|0)+40>>2]&255](B)|0;l=P;u=B;continue}else{c[C>>2]=F+4;l=P;u=B;continue}}u=a[m]|0;if((u&1)==0){S=(u&255)>>>1}else{S=c[m+4>>2]|0}do{if((S|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}P=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=P}}while(0);r=Rt(I,c[o>>2]|0,h,t)|0;c[j>>2]=r;hr(m,k,c[q>>2]|0,h);do{if((B|0)==0){T=1;U=0}else{q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0)){V=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{V=c[q>>2]|0}if(!((V|0)==-1)){T=0;U=B;break}c[x>>2]=0;T=1;U=0}}while(0);do{if((J|0)==0){E=67}else{x=c[J+12>>2]|0;if((x|0)==(c[J+16>>2]|0)){W=Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0}else{W=c[x>>2]|0}if((W|0)==-1){c[e>>2]=0;E=67;break}if(!T){break}X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}}while(0);do{if((E|0)==67){if(T){break}X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}}while(0);c[h>>2]=c[h>>2]|2;X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}function Eo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];Fo(a,0,j,k,f,g,h);i=b;return}function Fo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=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;d=i;i=i+328|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+104|0;m=d+112|0;n=d+128|0;o=d+144|0;p=d+152|0;q=d+312|0;r=d+320|0;s=c[g+4>>2]&74;if((s|0)==64){t=8}else if((s|0)==0){t=0}else if((s|0)==8){t=16}else{t=10}s=k|0;Zo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=c[l>>2]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=1;B=0}else{C=c[u+12>>2]|0;if((C|0)==(c[u+16>>2]|0)){D=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{D=c[C>>2]|0}if(!((D|0)==-1)){A=0;B=u;break}c[x>>2]=0;A=1;B=0}}while(0);C=c[e>>2]|0;do{if((C|0)==0){E=22}else{F=c[C+12>>2]|0;if((F|0)==(c[C+16>>2]|0)){G=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{G=c[F>>2]|0}if((G|0)==-1){c[e>>2]=0;E=22;break}else{if(A){H=C;break}else{I=l;J=C;break a}}}}while(0);if((E|0)==22){E=0;if(A){I=l;J=0;break}else{H=0}}C=a[g]|0;F=(C&1)==0;if(F){L=(C&255)>>>1}else{L=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(L|0)){if(F){M=(C&255)>>>1;N=(C&255)>>>1}else{C=c[y>>2]|0;M=C;N=C}tm(n,M<<1,0);if((a[g]&1)==0){O=10}else{O=(c[f>>2]&-2)-1|0}tm(n,O,0);if((a[g]&1)==0){P=v}else{P=c[w>>2]|0}c[o>>2]=P+N;Q=P}else{Q=l}C=B+12|0;F=c[C>>2]|0;R=B+16|0;if((F|0)==(c[R>>2]|0)){S=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{S=c[F>>2]|0}if((Vo(S,t,Q,o,r,z,m,k,q,s)|0)!=0){I=Q;J=H;break}F=c[C>>2]|0;if((F|0)==(c[R>>2]|0)){Fc[c[(c[B>>2]|0)+40>>2]&255](B)|0;l=Q;u=B;continue}else{c[C>>2]=F+4;l=Q;u=B;continue}}u=a[m]|0;if((u&1)==0){T=(u&255)>>>1}else{T=c[m+4>>2]|0}do{if((T|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}Q=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=Q}}while(0);r=Qt(I,c[o>>2]|0,h,t)|0;c[j>>2]=r;c[j+4>>2]=K;hr(m,k,c[q>>2]|0,h);do{if((B|0)==0){U=1;V=0}else{q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0)){W=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{W=c[q>>2]|0}if(!((W|0)==-1)){U=0;V=B;break}c[x>>2]=0;U=1;V=0}}while(0);do{if((J|0)==0){E=67}else{x=c[J+12>>2]|0;if((x|0)==(c[J+16>>2]|0)){X=Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0}else{X=c[x>>2]|0}if((X|0)==-1){c[e>>2]=0;E=67;break}if(!U){break}Y=b|0;c[Y>>2]=V;Z=160;_=0;rm(n);rm(m);$=104;aa=0;i=d;return}}while(0);do{if((E|0)==67){if(U){break}Y=b|0;c[Y>>2]=V;Z=160;_=0;rm(n);rm(m);$=104;aa=0;i=d;return}}while(0);c[h>>2]=c[h>>2]|2;Y=b|0;c[Y>>2]=V;Z=160;_=0;rm(n);rm(m);$=104;aa=0;i=d;return}function Go(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];Ho(a,0,j,k,f,g,h);i=b;return}function Ho(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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;e=i;i=i+328|0;l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=g;g=i;i=i+4|0;i=i+7&-8;c[g>>2]=c[l>>2];l=e|0;m=e+104|0;n=e+112|0;o=e+128|0;p=e+144|0;q=e+152|0;r=e+312|0;s=e+320|0;t=c[h+4>>2]&74;if((t|0)==0){u=0}else if((t|0)==8){u=16}else if((t|0)==64){u=8}else{u=10}t=l|0;Zo(n,h,t,m);h=o;dv(h|0,0,12)|0;tm(o,10,0);if((a[h]&1)==0){l=o+1|0;v=l;w=l;x=o+8|0}else{l=o+8|0;v=c[l>>2]|0;w=o+1|0;x=l}c[p>>2]=v;l=q|0;c[r>>2]=l;c[s>>2]=0;y=f|0;f=g|0;g=o|0;z=o+4|0;A=c[m>>2]|0;m=v;v=c[y>>2]|0;a:while(1){do{if((v|0)==0){B=1;C=0}else{D=c[v+12>>2]|0;if((D|0)==(c[v+16>>2]|0)){E=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{E=c[D>>2]|0}if(!((E|0)==-1)){B=0;C=v;break}c[y>>2]=0;B=1;C=0}}while(0);D=c[f>>2]|0;do{if((D|0)==0){F=22}else{G=c[D+12>>2]|0;if((G|0)==(c[D+16>>2]|0)){H=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{H=c[G>>2]|0}if((H|0)==-1){c[f>>2]=0;F=22;break}else{if(B){I=D;break}else{J=m;K=D;break a}}}}while(0);if((F|0)==22){F=0;if(B){J=m;K=0;break}else{I=0}}D=a[h]|0;G=(D&1)==0;if(G){L=(D&255)>>>1}else{L=c[z>>2]|0}if(((c[p>>2]|0)-m|0)==(L|0)){if(G){M=(D&255)>>>1;N=(D&255)>>>1}else{D=c[z>>2]|0;M=D;N=D}tm(o,M<<1,0);if((a[h]&1)==0){O=10}else{O=(c[g>>2]&-2)-1|0}tm(o,O,0);if((a[h]&1)==0){P=w}else{P=c[x>>2]|0}c[p>>2]=P+N;Q=P}else{Q=m}D=C+12|0;G=c[D>>2]|0;R=C+16|0;if((G|0)==(c[R>>2]|0)){S=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{S=c[G>>2]|0}if((Vo(S,u,Q,p,s,A,n,l,r,t)|0)!=0){J=Q;K=I;break}G=c[D>>2]|0;if((G|0)==(c[R>>2]|0)){Fc[c[(c[C>>2]|0)+40>>2]&255](C)|0;m=Q;v=C;continue}else{c[D>>2]=G+4;m=Q;v=C;continue}}v=a[n]|0;if((v&1)==0){T=(v&255)>>>1}else{T=c[n+4>>2]|0}do{if((T|0)!=0){v=c[r>>2]|0;if((v-q|0)>=160){break}Q=c[s>>2]|0;c[r>>2]=v+4;c[v>>2]=Q}}while(0);s=Pt(J,c[p>>2]|0,j,u)|0;b[k>>1]=s;hr(n,l,c[r>>2]|0,j);do{if((C|0)==0){U=1;V=0}else{r=c[C+12>>2]|0;if((r|0)==(c[C+16>>2]|0)){W=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{W=c[r>>2]|0}if(!((W|0)==-1)){U=0;V=C;break}c[y>>2]=0;U=1;V=0}}while(0);do{if((K|0)==0){F=67}else{y=c[K+12>>2]|0;if((y|0)==(c[K+16>>2]|0)){X=Fc[c[(c[K>>2]|0)+36>>2]&255](K)|0}else{X=c[y>>2]|0}if((X|0)==-1){c[f>>2]=0;F=67;break}if(!U){break}Y=d|0;c[Y>>2]=V;Z=160;_=0;rm(o);rm(n);$=104;aa=0;i=e;return}}while(0);do{if((F|0)==67){if(U){break}Y=d|0;c[Y>>2]=V;Z=160;_=0;rm(o);rm(n);$=104;aa=0;i=e;return}}while(0);c[j>>2]=c[j>>2]|2;Y=d|0;c[Y>>2]=V;Z=160;_=0;rm(o);rm(n);$=104;aa=0;i=e;return}function Io(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];Jo(a,0,j,k,f,g,h);i=b;return}function Jo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+328|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+104|0;m=d+112|0;n=d+128|0;o=d+144|0;p=d+152|0;q=d+312|0;r=d+320|0;s=c[g+4>>2]&74;if((s|0)==0){t=0}else if((s|0)==64){t=8}else if((s|0)==8){t=16}else{t=10}s=k|0;Zo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=c[l>>2]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=1;B=0}else{C=c[u+12>>2]|0;if((C|0)==(c[u+16>>2]|0)){D=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{D=c[C>>2]|0}if(!((D|0)==-1)){A=0;B=u;break}c[x>>2]=0;A=1;B=0}}while(0);C=c[e>>2]|0;do{if((C|0)==0){E=22}else{F=c[C+12>>2]|0;if((F|0)==(c[C+16>>2]|0)){G=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{G=c[F>>2]|0}if((G|0)==-1){c[e>>2]=0;E=22;break}else{if(A){H=C;break}else{I=l;J=C;break a}}}}while(0);if((E|0)==22){E=0;if(A){I=l;J=0;break}else{H=0}}C=a[g]|0;F=(C&1)==0;if(F){K=(C&255)>>>1}else{K=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(K|0)){if(F){L=(C&255)>>>1;M=(C&255)>>>1}else{C=c[y>>2]|0;L=C;M=C}tm(n,L<<1,0);if((a[g]&1)==0){N=10}else{N=(c[f>>2]&-2)-1|0}tm(n,N,0);if((a[g]&1)==0){O=v}else{O=c[w>>2]|0}c[o>>2]=O+M;P=O}else{P=l}C=B+12|0;F=c[C>>2]|0;Q=B+16|0;if((F|0)==(c[Q>>2]|0)){R=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{R=c[F>>2]|0}if((Vo(R,t,P,o,r,z,m,k,q,s)|0)!=0){I=P;J=H;break}F=c[C>>2]|0;if((F|0)==(c[Q>>2]|0)){Fc[c[(c[B>>2]|0)+40>>2]&255](B)|0;l=P;u=B;continue}else{c[C>>2]=F+4;l=P;u=B;continue}}u=a[m]|0;if((u&1)==0){S=(u&255)>>>1}else{S=c[m+4>>2]|0}do{if((S|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}P=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=P}}while(0);r=Ot(I,c[o>>2]|0,h,t)|0;c[j>>2]=r;hr(m,k,c[q>>2]|0,h);do{if((B|0)==0){T=1;U=0}else{q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0)){V=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{V=c[q>>2]|0}if(!((V|0)==-1)){T=0;U=B;break}c[x>>2]=0;T=1;U=0}}while(0);do{if((J|0)==0){E=67}else{x=c[J+12>>2]|0;if((x|0)==(c[J+16>>2]|0)){W=Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0}else{W=c[x>>2]|0}if((W|0)==-1){c[e>>2]=0;E=67;break}if(!T){break}X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}}while(0);do{if((E|0)==67){if(T){break}X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}}while(0);c[h>>2]=c[h>>2]|2;X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}function Ko(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];Lo(a,0,j,k,f,g,h);i=b;return}function Lo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+328|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+104|0;m=d+112|0;n=d+128|0;o=d+144|0;p=d+152|0;q=d+312|0;r=d+320|0;s=c[g+4>>2]&74;if((s|0)==0){t=0}else if((s|0)==8){t=16}else if((s|0)==64){t=8}else{t=10}s=k|0;Zo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=c[l>>2]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=1;B=0}else{C=c[u+12>>2]|0;if((C|0)==(c[u+16>>2]|0)){D=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{D=c[C>>2]|0}if(!((D|0)==-1)){A=0;B=u;break}c[x>>2]=0;A=1;B=0}}while(0);C=c[e>>2]|0;do{if((C|0)==0){E=22}else{F=c[C+12>>2]|0;if((F|0)==(c[C+16>>2]|0)){G=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{G=c[F>>2]|0}if((G|0)==-1){c[e>>2]=0;E=22;break}else{if(A){H=C;break}else{I=l;J=C;break a}}}}while(0);if((E|0)==22){E=0;if(A){I=l;J=0;break}else{H=0}}C=a[g]|0;F=(C&1)==0;if(F){K=(C&255)>>>1}else{K=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(K|0)){if(F){L=(C&255)>>>1;M=(C&255)>>>1}else{C=c[y>>2]|0;L=C;M=C}tm(n,L<<1,0);if((a[g]&1)==0){N=10}else{N=(c[f>>2]&-2)-1|0}tm(n,N,0);if((a[g]&1)==0){O=v}else{O=c[w>>2]|0}c[o>>2]=O+M;P=O}else{P=l}C=B+12|0;F=c[C>>2]|0;Q=B+16|0;if((F|0)==(c[Q>>2]|0)){R=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{R=c[F>>2]|0}if((Vo(R,t,P,o,r,z,m,k,q,s)|0)!=0){I=P;J=H;break}F=c[C>>2]|0;if((F|0)==(c[Q>>2]|0)){Fc[c[(c[B>>2]|0)+40>>2]&255](B)|0;l=P;u=B;continue}else{c[C>>2]=F+4;l=P;u=B;continue}}u=a[m]|0;if((u&1)==0){S=(u&255)>>>1}else{S=c[m+4>>2]|0}do{if((S|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}P=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=P}}while(0);r=Nt(I,c[o>>2]|0,h,t)|0;c[j>>2]=r;hr(m,k,c[q>>2]|0,h);do{if((B|0)==0){T=1;U=0}else{q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0)){V=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{V=c[q>>2]|0}if(!((V|0)==-1)){T=0;U=B;break}c[x>>2]=0;T=1;U=0}}while(0);do{if((J|0)==0){E=67}else{x=c[J+12>>2]|0;if((x|0)==(c[J+16>>2]|0)){W=Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0}else{W=c[x>>2]|0}if((W|0)==-1){c[e>>2]=0;E=67;break}if(!T){break}X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}}while(0);do{if((E|0)==67){if(T){break}X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}}while(0);c[h>>2]=c[h>>2]|2;X=b|0;c[X>>2]=U;Y=160;Z=0;rm(n);rm(m);_=104;$=0;i=d;return}function Mo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];No(a,0,j,k,f,g,h);i=b;return}function No(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=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;d=i;i=i+328|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+104|0;m=d+112|0;n=d+128|0;o=d+144|0;p=d+152|0;q=d+312|0;r=d+320|0;s=c[g+4>>2]&74;if((s|0)==64){t=8}else if((s|0)==0){t=0}else if((s|0)==8){t=16}else{t=10}s=k|0;Zo(m,g,s,l);g=n;dv(g|0,0,12)|0;tm(n,10,0);if((a[g]&1)==0){k=n+1|0;u=k;v=k;w=n+8|0}else{k=n+8|0;u=c[k>>2]|0;v=n+1|0;w=k}c[o>>2]=u;k=p|0;c[q>>2]=k;c[r>>2]=0;x=e|0;e=f|0;f=n|0;y=n+4|0;z=c[l>>2]|0;l=u;u=c[x>>2]|0;a:while(1){do{if((u|0)==0){A=1;B=0}else{C=c[u+12>>2]|0;if((C|0)==(c[u+16>>2]|0)){D=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{D=c[C>>2]|0}if(!((D|0)==-1)){A=0;B=u;break}c[x>>2]=0;A=1;B=0}}while(0);C=c[e>>2]|0;do{if((C|0)==0){E=22}else{F=c[C+12>>2]|0;if((F|0)==(c[C+16>>2]|0)){G=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{G=c[F>>2]|0}if((G|0)==-1){c[e>>2]=0;E=22;break}else{if(A){H=C;break}else{I=l;J=C;break a}}}}while(0);if((E|0)==22){E=0;if(A){I=l;J=0;break}else{H=0}}C=a[g]|0;F=(C&1)==0;if(F){L=(C&255)>>>1}else{L=c[y>>2]|0}if(((c[o>>2]|0)-l|0)==(L|0)){if(F){M=(C&255)>>>1;N=(C&255)>>>1}else{C=c[y>>2]|0;M=C;N=C}tm(n,M<<1,0);if((a[g]&1)==0){O=10}else{O=(c[f>>2]&-2)-1|0}tm(n,O,0);if((a[g]&1)==0){P=v}else{P=c[w>>2]|0}c[o>>2]=P+N;Q=P}else{Q=l}C=B+12|0;F=c[C>>2]|0;R=B+16|0;if((F|0)==(c[R>>2]|0)){S=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{S=c[F>>2]|0}if((Vo(S,t,Q,o,r,z,m,k,q,s)|0)!=0){I=Q;J=H;break}F=c[C>>2]|0;if((F|0)==(c[R>>2]|0)){Fc[c[(c[B>>2]|0)+40>>2]&255](B)|0;l=Q;u=B;continue}else{c[C>>2]=F+4;l=Q;u=B;continue}}u=a[m]|0;if((u&1)==0){T=(u&255)>>>1}else{T=c[m+4>>2]|0}do{if((T|0)!=0){u=c[q>>2]|0;if((u-p|0)>=160){break}Q=c[r>>2]|0;c[q>>2]=u+4;c[u>>2]=Q}}while(0);r=Mt(I,c[o>>2]|0,h,t)|0;c[j>>2]=r;c[j+4>>2]=K;hr(m,k,c[q>>2]|0,h);do{if((B|0)==0){U=1;V=0}else{q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0)){W=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{W=c[q>>2]|0}if(!((W|0)==-1)){U=0;V=B;break}c[x>>2]=0;U=1;V=0}}while(0);do{if((J|0)==0){E=67}else{x=c[J+12>>2]|0;if((x|0)==(c[J+16>>2]|0)){X=Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0}else{X=c[x>>2]|0}if((X|0)==-1){c[e>>2]=0;E=67;break}if(!U){break}Y=b|0;c[Y>>2]=V;Z=160;_=0;rm(n);rm(m);$=104;aa=0;i=d;return}}while(0);do{if((E|0)==67){if(U){break}Y=b|0;c[Y>>2]=V;Z=160;_=0;rm(n);rm(m);$=104;aa=0;i=d;return}}while(0);c[h>>2]=c[h>>2]|2;Y=b|0;c[Y>>2]=V;Z=160;_=0;rm(n);rm(m);$=104;aa=0;i=d;return}function Oo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];Po(a,0,j,k,f,g,h);i=b;return}function Po(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var 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,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.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;d=i;i=i+376|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d+128|0;m=d+136|0;n=d+144|0;o=d+160|0;p=d+176|0;q=d+184|0;r=d+344|0;s=d+352|0;t=d+360|0;u=d+368|0;v=d|0;_o(n,h,v,l,m);h=o;dv(h|0,0,12)|0;tm(o,10,0);if((a[h]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;a[t]=1;a[u]=69;A=e|0;e=f|0;f=o|0;B=o+4|0;C=c[l>>2]|0;l=c[m>>2]|0;m=x;x=c[A>>2]|0;a:while(1){do{if((x|0)==0){D=1;E=0}else{F=c[x+12>>2]|0;if((F|0)==(c[x+16>>2]|0)){G=Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0}else{G=c[F>>2]|0}if(!((G|0)==-1)){D=0;E=x;break}c[A>>2]=0;D=1;E=0}}while(0);F=c[e>>2]|0;do{if((F|0)==0){H=18}else{I=c[F+12>>2]|0;if((I|0)==(c[F+16>>2]|0)){J=Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0}else{J=c[I>>2]|0}if((J|0)==-1){c[e>>2]=0;H=18;break}else{if(D){K=F;break}else{L=m;M=F;break a}}}}while(0);if((H|0)==18){H=0;if(D){L=m;M=0;break}else{K=0}}F=a[h]|0;I=(F&1)==0;if(I){N=(F&255)>>>1}else{N=c[B>>2]|0}if(((c[p>>2]|0)-m|0)==(N|0)){if(I){O=(F&255)>>>1;P=(F&255)>>>1}else{F=c[B>>2]|0;O=F;P=F}tm(o,O<<1,0);if((a[h]&1)==0){Q=10}else{Q=(c[f>>2]&-2)-1|0}tm(o,Q,0);if((a[h]&1)==0){R=y}else{R=c[z>>2]|0}c[p>>2]=R+P;S=R}else{S=m}F=E+12|0;I=c[F>>2]|0;T=E+16|0;if((I|0)==(c[T>>2]|0)){U=Fc[c[(c[E>>2]|0)+36>>2]&255](E)|0}else{U=c[I>>2]|0}if(($o(U,t,u,S,p,C,l,n,w,r,s,v)|0)!=0){L=S;M=K;break}I=c[F>>2]|0;if((I|0)==(c[T>>2]|0)){Fc[c[(c[E>>2]|0)+40>>2]&255](E)|0;m=S;x=E;continue}else{c[F>>2]=I+4;m=S;x=E;continue}}x=a[n]|0;if((x&1)==0){V=(x&255)>>>1}else{V=c[n+4>>2]|0}do{if((V|0)!=0){if((a[t]|0)==0){break}x=c[r>>2]|0;if((x-q|0)>=160){break}S=c[s>>2]|0;c[r>>2]=x+4;c[x>>2]=S}}while(0);W=+Lt(L,c[p>>2]|0,j);g[k>>2]=W;hr(n,w,c[r>>2]|0,j);do{if((E|0)==0){X=1;Y=0}else{r=c[E+12>>2]|0;if((r|0)==(c[E+16>>2]|0)){Z=Fc[c[(c[E>>2]|0)+36>>2]&255](E)|0}else{Z=c[r>>2]|0}if(!((Z|0)==-1)){X=0;Y=E;break}c[A>>2]=0;X=1;Y=0}}while(0);do{if((M|0)==0){H=64}else{A=c[M+12>>2]|0;if((A|0)==(c[M+16>>2]|0)){_=Fc[c[(c[M>>2]|0)+36>>2]&255](M)|0}else{_=c[A>>2]|0}if((_|0)==-1){c[e>>2]=0;H=64;break}if(!X){break}$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}}while(0);do{if((H|0)==64){if(X){break}$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}}while(0);c[j>>2]=c[j>>2]|2;$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}function Qo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];Ro(a,0,j,k,f,g,h);i=b;return}function Ro(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,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.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;d=i;i=i+376|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d+128|0;m=d+136|0;n=d+144|0;o=d+160|0;p=d+176|0;q=d+184|0;r=d+344|0;s=d+352|0;t=d+360|0;u=d+368|0;v=d|0;_o(n,g,v,l,m);g=o;dv(g|0,0,12)|0;tm(o,10,0);if((a[g]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;a[t]=1;a[u]=69;A=e|0;e=f|0;f=o|0;B=o+4|0;C=c[l>>2]|0;l=c[m>>2]|0;m=x;x=c[A>>2]|0;a:while(1){do{if((x|0)==0){D=1;E=0}else{F=c[x+12>>2]|0;if((F|0)==(c[x+16>>2]|0)){G=Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0}else{G=c[F>>2]|0}if(!((G|0)==-1)){D=0;E=x;break}c[A>>2]=0;D=1;E=0}}while(0);F=c[e>>2]|0;do{if((F|0)==0){H=18}else{I=c[F+12>>2]|0;if((I|0)==(c[F+16>>2]|0)){J=Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0}else{J=c[I>>2]|0}if((J|0)==-1){c[e>>2]=0;H=18;break}else{if(D){K=F;break}else{L=m;M=F;break a}}}}while(0);if((H|0)==18){H=0;if(D){L=m;M=0;break}else{K=0}}F=a[g]|0;I=(F&1)==0;if(I){N=(F&255)>>>1}else{N=c[B>>2]|0}if(((c[p>>2]|0)-m|0)==(N|0)){if(I){O=(F&255)>>>1;P=(F&255)>>>1}else{F=c[B>>2]|0;O=F;P=F}tm(o,O<<1,0);if((a[g]&1)==0){Q=10}else{Q=(c[f>>2]&-2)-1|0}tm(o,Q,0);if((a[g]&1)==0){R=y}else{R=c[z>>2]|0}c[p>>2]=R+P;S=R}else{S=m}F=E+12|0;I=c[F>>2]|0;T=E+16|0;if((I|0)==(c[T>>2]|0)){U=Fc[c[(c[E>>2]|0)+36>>2]&255](E)|0}else{U=c[I>>2]|0}if(($o(U,t,u,S,p,C,l,n,w,r,s,v)|0)!=0){L=S;M=K;break}I=c[F>>2]|0;if((I|0)==(c[T>>2]|0)){Fc[c[(c[E>>2]|0)+40>>2]&255](E)|0;m=S;x=E;continue}else{c[F>>2]=I+4;m=S;x=E;continue}}x=a[n]|0;if((x&1)==0){V=(x&255)>>>1}else{V=c[n+4>>2]|0}do{if((V|0)!=0){if((a[t]|0)==0){break}x=c[r>>2]|0;if((x-q|0)>=160){break}S=c[s>>2]|0;c[r>>2]=x+4;c[x>>2]=S}}while(0);W=+Kt(L,c[p>>2]|0,j);h[k>>3]=W;hr(n,w,c[r>>2]|0,j);do{if((E|0)==0){X=1;Y=0}else{r=c[E+12>>2]|0;if((r|0)==(c[E+16>>2]|0)){Z=Fc[c[(c[E>>2]|0)+36>>2]&255](E)|0}else{Z=c[r>>2]|0}if(!((Z|0)==-1)){X=0;Y=E;break}c[A>>2]=0;X=1;Y=0}}while(0);do{if((M|0)==0){H=64}else{A=c[M+12>>2]|0;if((A|0)==(c[M+16>>2]|0)){_=Fc[c[(c[M>>2]|0)+36>>2]&255](M)|0}else{_=c[A>>2]|0}if((_|0)==-1){c[e>>2]=0;H=64;break}if(!X){break}$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}}while(0);do{if((H|0)==64){if(X){break}$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}}while(0);c[j>>2]=c[j>>2]|2;$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}function So(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;b=i;i=i+16|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;c[j>>2]=c[d>>2];c[k>>2]=c[e>>2];To(a,0,j,k,f,g,h);i=b;return}function To(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,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.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;d=i;i=i+376|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d+128|0;m=d+136|0;n=d+144|0;o=d+160|0;p=d+176|0;q=d+184|0;r=d+344|0;s=d+352|0;t=d+360|0;u=d+368|0;v=d|0;_o(n,g,v,l,m);g=o;dv(g|0,0,12)|0;tm(o,10,0);if((a[g]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;a[t]=1;a[u]=69;A=e|0;e=f|0;f=o|0;B=o+4|0;C=c[l>>2]|0;l=c[m>>2]|0;m=x;x=c[A>>2]|0;a:while(1){do{if((x|0)==0){D=1;E=0}else{F=c[x+12>>2]|0;if((F|0)==(c[x+16>>2]|0)){G=Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0}else{G=c[F>>2]|0}if(!((G|0)==-1)){D=0;E=x;break}c[A>>2]=0;D=1;E=0}}while(0);F=c[e>>2]|0;do{if((F|0)==0){H=18}else{I=c[F+12>>2]|0;if((I|0)==(c[F+16>>2]|0)){J=Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0}else{J=c[I>>2]|0}if((J|0)==-1){c[e>>2]=0;H=18;break}else{if(D){K=F;break}else{L=m;M=F;break a}}}}while(0);if((H|0)==18){H=0;if(D){L=m;M=0;break}else{K=0}}F=a[g]|0;I=(F&1)==0;if(I){N=(F&255)>>>1}else{N=c[B>>2]|0}if(((c[p>>2]|0)-m|0)==(N|0)){if(I){O=(F&255)>>>1;P=(F&255)>>>1}else{F=c[B>>2]|0;O=F;P=F}tm(o,O<<1,0);if((a[g]&1)==0){Q=10}else{Q=(c[f>>2]&-2)-1|0}tm(o,Q,0);if((a[g]&1)==0){R=y}else{R=c[z>>2]|0}c[p>>2]=R+P;S=R}else{S=m}F=E+12|0;I=c[F>>2]|0;T=E+16|0;if((I|0)==(c[T>>2]|0)){U=Fc[c[(c[E>>2]|0)+36>>2]&255](E)|0}else{U=c[I>>2]|0}if(($o(U,t,u,S,p,C,l,n,w,r,s,v)|0)!=0){L=S;M=K;break}I=c[F>>2]|0;if((I|0)==(c[T>>2]|0)){Fc[c[(c[E>>2]|0)+40>>2]&255](E)|0;m=S;x=E;continue}else{c[F>>2]=I+4;m=S;x=E;continue}}x=a[n]|0;if((x&1)==0){V=(x&255)>>>1}else{V=c[n+4>>2]|0}do{if((V|0)!=0){if((a[t]|0)==0){break}x=c[r>>2]|0;if((x-q|0)>=160){break}S=c[s>>2]|0;c[r>>2]=x+4;c[x>>2]=S}}while(0);W=+Jt(L,c[p>>2]|0,j);h[k>>3]=W;hr(n,w,c[r>>2]|0,j);do{if((E|0)==0){X=1;Y=0}else{r=c[E+12>>2]|0;if((r|0)==(c[E+16>>2]|0)){Z=Fc[c[(c[E>>2]|0)+36>>2]&255](E)|0}else{Z=c[r>>2]|0}if(!((Z|0)==-1)){X=0;Y=E;break}c[A>>2]=0;X=1;Y=0}}while(0);do{if((M|0)==0){H=64}else{A=c[M+12>>2]|0;if((A|0)==(c[M+16>>2]|0)){_=Fc[c[(c[M>>2]|0)+36>>2]&255](M)|0}else{_=c[A>>2]|0}if((_|0)==-1){c[e>>2]=0;H=64;break}if(!X){break}$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}}while(0);do{if((H|0)==64){if(X){break}$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}}while(0);c[j>>2]=c[j>>2]|2;$=b|0;c[$>>2]=Y;aa=160;ba=0;rm(o);rm(n);ca=128;da=0;i=d;return}function Uo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;d=i;i=i+344|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=d|0;l=d+16|0;m=d+120|0;n=d+136|0;o=d+144|0;p=d+160|0;q=d+168|0;r=d+328|0;s=d+336|0;dv(m|0,0,12)|0;Lm(n,g);g=n|0;n=c[g>>2]|0;if(!((c[8714]|0)==-1)){c[k>>2]=34856;c[k+4>>2]=16;c[k+8>>2]=0;mm(34856,k,114)}k=(c[8715]|0)-1|0;t=c[n+8>>2]|0;do{if((c[n+12>>2]|0)-t>>2>>>0>k>>>0){u=c[t+(k<<2)>>2]|0;if((u|0)==0){break}v=l|0;Sc[c[(c[u>>2]|0)+48>>2]&15](u,27208,27234,v)|0;Ul(c[g>>2]|0)|0;u=o;dv(u|0,0,12)|0;tm(o,10,0);if((a[u]&1)==0){w=o+1|0;x=w;y=w;z=o+8|0}else{w=o+8|0;x=c[w>>2]|0;y=o+1|0;z=w}c[p>>2]=x;w=q|0;c[r>>2]=w;c[s>>2]=0;A=e|0;B=f|0;C=o|0;D=o+4|0;E=x;F=c[A>>2]|0;a:while(1){do{if((F|0)==0){G=1;H=0}else{I=c[F+12>>2]|0;if((I|0)==(c[F+16>>2]|0)){J=Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0}else{J=c[I>>2]|0}if(!((J|0)==-1)){G=0;H=F;break}c[A>>2]=0;G=1;H=0}}while(0);I=c[B>>2]|0;do{if((I|0)==0){K=26}else{L=c[I+12>>2]|0;if((L|0)==(c[I+16>>2]|0)){M=Fc[c[(c[I>>2]|0)+36>>2]&255](I)|0}else{M=c[L>>2]|0}if((M|0)==-1){c[B>>2]=0;K=26;break}else{if(G){break}else{N=E;break a}}}}while(0);if((K|0)==26){K=0;if(G){N=E;break}}I=a[u]|0;L=(I&1)==0;if(L){O=(I&255)>>>1}else{O=c[D>>2]|0}if(((c[p>>2]|0)-E|0)==(O|0)){if(L){P=(I&255)>>>1;Q=(I&255)>>>1}else{I=c[D>>2]|0;P=I;Q=I}tm(o,P<<1,0);if((a[u]&1)==0){R=10}else{R=(c[C>>2]&-2)-1|0}tm(o,R,0);if((a[u]&1)==0){S=y}else{S=c[z>>2]|0}c[p>>2]=S+Q;T=S}else{T=E}I=H+12|0;L=c[I>>2]|0;U=H+16|0;if((L|0)==(c[U>>2]|0)){V=Fc[c[(c[H>>2]|0)+36>>2]&255](H)|0}else{V=c[L>>2]|0}if((Vo(V,16,T,p,s,0,m,w,r,v)|0)!=0){N=T;break}L=c[I>>2]|0;if((L|0)==(c[U>>2]|0)){Fc[c[(c[H>>2]|0)+40>>2]&255](H)|0;E=T;F=H;continue}else{c[I>>2]=L+4;E=T;F=H;continue}}a[N+3|0]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}F=Xa(2147483647,14472,0)|0;c[8330]=F}}while(0);F=xo(N,c[8330]|0,11744,(E=i,i=i+8|0,c[E>>2]=j,E)|0)|0;i=E;if((F|0)!=1){c[h>>2]=4}F=c[A>>2]|0;do{if((F|0)==0){W=1;X=0}else{E=c[F+12>>2]|0;if((E|0)==(c[F+16>>2]|0)){Y=Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0}else{Y=c[E>>2]|0}if(!((Y|0)==-1)){W=0;X=F;break}c[A>>2]=0;W=1;X=0}}while(0);A=c[B>>2]|0;do{if((A|0)==0){K=74}else{F=c[A+12>>2]|0;if((F|0)==(c[A+16>>2]|0)){Z=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{Z=c[F>>2]|0}if((Z|0)==-1){c[B>>2]=0;K=74;break}if(!W){break}_=b|0;c[_>>2]=X;$=160;aa=0;rm(o);rm(m);ba=104;ca=0;i=d;return}}while(0);do{if((K|0)==74){if(W){break}_=b|0;c[_>>2]=X;$=160;aa=0;rm(o);rm(m);ba=104;ca=0;i=d;return}}while(0);c[h>>2]=c[h>>2]|2;_=b|0;c[_>>2]=X;$=160;aa=0;rm(o);rm(m);ba=104;ca=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function Vo(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=c[f>>2]|0;n=(m|0)==(e|0);do{if(n){o=(c[l+96>>2]|0)==(b|0);if(!o){if((c[l+100>>2]|0)!=(b|0)){break}}c[f>>2]=e+1;a[e]=o?43:45;c[g>>2]=0;p=0;return p|0}}while(0);o=a[i]|0;if((o&1)==0){q=(o&255)>>>1}else{q=c[i+4>>2]|0}if((q|0)!=0&(b|0)==(h|0)){h=c[k>>2]|0;if((h-j|0)>=160){p=0;return p|0}j=c[g>>2]|0;c[k>>2]=h+4;c[h>>2]=j;c[g>>2]=0;p=0;return p|0}j=l+104|0;h=l;while(1){k=h+4|0;if((c[h>>2]|0)==(b|0)){r=h;break}if((k|0)==(j|0)){r=j;break}else{h=k}}h=r-l|0;l=h>>2;if((h|0)>92){p=-1;return p|0}do{if((d|0)==8|(d|0)==10){if((l|0)<(d|0)){break}else{p=-1}return p|0}else if((d|0)==16){if((h|0)<88){break}if(n){p=-1;return p|0}if((m-e|0)>=3){p=-1;return p|0}if((a[m-1|0]|0)!=48){p=-1;return p|0}c[g>>2]=0;r=a[27208+l|0]|0;c[f>>2]=m+1;a[m]=r;p=0;return p|0}}while(0);e=a[27208+l|0]|0;c[f>>2]=m+1;a[m]=e;c[g>>2]=(c[g>>2]|0)+1;p=0;return p|0}function Wo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+40|0;h=g|0;j=g+16|0;k=g+32|0;Lm(k,d);d=k|0;k=c[d>>2]|0;if(!((c[8716]|0)==-1)){c[j>>2]=34864;c[j+4>>2]=16;c[j+8>>2]=0;mm(34864,j,114)}j=(c[8717]|0)-1|0;l=c[k+8>>2]|0;do{if((c[k+12>>2]|0)-l>>2>>>0>j>>>0){m=c[l+(j<<2)>>2]|0;if((m|0)==0){break}Sc[c[(c[m>>2]|0)+32>>2]&15](m,27208,27234,e)|0;m=c[d>>2]|0;if(!((c[8620]|0)==-1)){c[h>>2]=34480;c[h+4>>2]=16;c[h+8>>2]=0;mm(34480,h,114)}n=(c[8621]|0)-1|0;o=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-o>>2>>>0>n>>>0){p=c[o+(n<<2)>>2]|0;if((p|0)==0){break}q=p;r=Fc[c[(c[p>>2]|0)+16>>2]&255](q)|0;a[f]=r;Ec[c[(c[p>>2]|0)+20>>2]&127](b,q);Ul(c[d>>2]|0)|0;i=g;return}}while(0);n=pc(4)|0;lu(n);Fb(n|0,25544,156)}}while(0);g=pc(4)|0;lu(g);Fb(g|0,25544,156)}function Xo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+40|0;j=h|0;k=h+16|0;l=h+32|0;Lm(l,d);d=l|0;l=c[d>>2]|0;if(!((c[8716]|0)==-1)){c[k>>2]=34864;c[k+4>>2]=16;c[k+8>>2]=0;mm(34864,k,114)}k=(c[8717]|0)-1|0;m=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-m>>2>>>0>k>>>0){n=c[m+(k<<2)>>2]|0;if((n|0)==0){break}Sc[c[(c[n>>2]|0)+32>>2]&15](n,27208,27240,e)|0;n=c[d>>2]|0;if(!((c[8620]|0)==-1)){c[j>>2]=34480;c[j+4>>2]=16;c[j+8>>2]=0;mm(34480,j,114)}o=(c[8621]|0)-1|0;p=c[n+8>>2]|0;do{if((c[n+12>>2]|0)-p>>2>>>0>o>>>0){q=c[p+(o<<2)>>2]|0;if((q|0)==0){break}r=q;s=q;t=Fc[c[(c[s>>2]|0)+12>>2]&255](r)|0;a[f]=t;t=Fc[c[(c[s>>2]|0)+16>>2]&255](r)|0;a[g]=t;Ec[c[(c[q>>2]|0)+20>>2]&127](b,r);Ul(c[d>>2]|0)|0;i=h;return}}while(0);o=pc(4)|0;lu(o);Fb(o|0,25544,156)}}while(0);h=pc(4)|0;lu(h);Fb(h|0,25544,156)}function Yo(b,d,e,f,g,h,i,j,k,l,m,n){b=b|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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if(b<<24>>24==h<<24>>24){if((a[d]|0)==0){o=-1;return o|0}a[d]=0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=46;h=a[j]|0;if((h&1)==0){p=(h&255)>>>1}else{p=c[j+4>>2]|0}if((p|0)==0){o=0;return o|0}p=c[l>>2]|0;if((p-k|0)>=160){o=0;return o|0}h=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=h;o=0;return o|0}do{if(b<<24>>24==i<<24>>24){h=a[j]|0;if((h&1)==0){q=(h&255)>>>1}else{q=c[j+4>>2]|0}if((q|0)==0){break}if((a[d]|0)==0){o=-1;return o|0}h=c[l>>2]|0;if((h-k|0)>=160){o=0;return o|0}p=c[m>>2]|0;c[l>>2]=h+4;c[h>>2]=p;c[m>>2]=0;o=0;return o|0}}while(0);q=n+32|0;i=n;while(1){p=i+1|0;if((a[i]|0)==b<<24>>24){r=i;break}if((p|0)==(q|0)){r=q;break}else{i=p}}i=r-n|0;if((i|0)>31){o=-1;return o|0}n=a[27208+i|0]|0;if((i|0)==25|(i|0)==24){r=c[g>>2]|0;do{if((r|0)!=(f|0)){if((a[r-1|0]&95|0)==(a[e]&127|0)){break}else{o=-1}return o|0}}while(0);c[g>>2]=r+1;a[r]=n;o=0;return o|0}else if((i|0)==22|(i|0)==23){a[e]=80;r=c[g>>2]|0;c[g>>2]=r+1;a[r]=n;o=0;return o|0}else{r=a[e]|0;do{if((n&95|0)==(r<<24>>24|0)){a[e]=r|-128;if((a[d]|0)==0){break}a[d]=0;f=a[j]|0;if((f&1)==0){s=(f&255)>>>1}else{s=c[j+4>>2]|0}if((s|0)==0){break}f=c[l>>2]|0;if((f-k|0)>=160){break}q=c[m>>2]|0;c[l>>2]=f+4;c[f>>2]=q}}while(0);l=c[g>>2]|0;c[g>>2]=l+1;a[l]=n;if((i|0)>21){o=0;return o|0}c[m>>2]=(c[m>>2]|0)+1;o=0;return o|0}return 0}function Zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+40|0;g=f|0;h=f+16|0;j=f+32|0;Lm(j,b);b=j|0;j=c[b>>2]|0;if(!((c[8714]|0)==-1)){c[h>>2]=34856;c[h+4>>2]=16;c[h+8>>2]=0;mm(34856,h,114)}h=(c[8715]|0)-1|0;k=c[j+8>>2]|0;do{if((c[j+12>>2]|0)-k>>2>>>0>h>>>0){l=c[k+(h<<2)>>2]|0;if((l|0)==0){break}Sc[c[(c[l>>2]|0)+48>>2]&15](l,27208,27234,d)|0;l=c[b>>2]|0;if(!((c[8618]|0)==-1)){c[g>>2]=34472;c[g+4>>2]=16;c[g+8>>2]=0;mm(34472,g,114)}m=(c[8619]|0)-1|0;n=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-n>>2>>>0>m>>>0){o=c[n+(m<<2)>>2]|0;if((o|0)==0){break}p=o;q=Fc[c[(c[o>>2]|0)+16>>2]&255](p)|0;c[e>>2]=q;Ec[c[(c[o>>2]|0)+20>>2]&127](a,p);Ul(c[b>>2]|0)|0;i=f;return}}while(0);m=pc(4)|0;lu(m);Fb(m|0,25544,156)}}while(0);f=pc(4)|0;lu(f);Fb(f|0,25544,156)}function _o(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+40|0;h=g|0;j=g+16|0;k=g+32|0;Lm(k,b);b=k|0;k=c[b>>2]|0;if(!((c[8714]|0)==-1)){c[j>>2]=34856;c[j+4>>2]=16;c[j+8>>2]=0;mm(34856,j,114)}j=(c[8715]|0)-1|0;l=c[k+8>>2]|0;do{if((c[k+12>>2]|0)-l>>2>>>0>j>>>0){m=c[l+(j<<2)>>2]|0;if((m|0)==0){break}Sc[c[(c[m>>2]|0)+48>>2]&15](m,27208,27240,d)|0;m=c[b>>2]|0;if(!((c[8618]|0)==-1)){c[h>>2]=34472;c[h+4>>2]=16;c[h+8>>2]=0;mm(34472,h,114)}n=(c[8619]|0)-1|0;o=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-o>>2>>>0>n>>>0){p=c[o+(n<<2)>>2]|0;if((p|0)==0){break}q=p;r=p;s=Fc[c[(c[r>>2]|0)+12>>2]&255](q)|0;c[e>>2]=s;s=Fc[c[(c[r>>2]|0)+16>>2]&255](q)|0;c[f>>2]=s;Ec[c[(c[p>>2]|0)+20>>2]&127](a,q);Ul(c[b>>2]|0)|0;i=g;return}}while(0);n=pc(4)|0;lu(n);Fb(n|0,25544,156)}}while(0);g=pc(4)|0;lu(g);Fb(g|0,25544,156)}function $o(b,d,e,f,g,h,i,j,k,l,m,n){b=b|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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if((b|0)==(h|0)){if((a[d]|0)==0){o=-1;return o|0}a[d]=0;h=c[g>>2]|0;c[g>>2]=h+1;a[h]=46;h=a[j]|0;if((h&1)==0){p=(h&255)>>>1}else{p=c[j+4>>2]|0}if((p|0)==0){o=0;return o|0}p=c[l>>2]|0;if((p-k|0)>=160){o=0;return o|0}h=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=h;o=0;return o|0}do{if((b|0)==(i|0)){h=a[j]|0;if((h&1)==0){q=(h&255)>>>1}else{q=c[j+4>>2]|0}if((q|0)==0){break}if((a[d]|0)==0){o=-1;return o|0}h=c[l>>2]|0;if((h-k|0)>=160){o=0;return o|0}p=c[m>>2]|0;c[l>>2]=h+4;c[h>>2]=p;c[m>>2]=0;o=0;return o|0}}while(0);q=n+128|0;i=n;while(1){p=i+4|0;if((c[i>>2]|0)==(b|0)){r=i;break}if((p|0)==(q|0)){r=q;break}else{i=p}}i=r-n|0;n=i>>2;if((i|0)>124){o=-1;return o|0}r=a[27208+n|0]|0;do{if((n|0)==25|(n|0)==24){q=c[g>>2]|0;do{if((q|0)!=(f|0)){if((a[q-1|0]&95|0)==(a[e]&127|0)){break}else{o=-1}return o|0}}while(0);c[g>>2]=q+1;a[q]=r;o=0;return o|0}else if((n|0)==22|(n|0)==23){a[e]=80}else{b=a[e]|0;if((r&95|0)!=(b<<24>>24|0)){break}a[e]=b|-128;if((a[d]|0)==0){break}a[d]=0;b=a[j]|0;if((b&1)==0){s=(b&255)>>>1}else{s=c[j+4>>2]|0}if((s|0)==0){break}b=c[l>>2]|0;if((b-k|0)>=160){break}p=c[m>>2]|0;c[l>>2]=b+4;c[b>>2]=p}}while(0);l=c[g>>2]|0;c[g>>2]=l+1;a[l]=r;if((i|0)>84){o=0;return o|0}c[m>>2]=(c[m>>2]|0)+1;o=0;return o|0}function ap(a){a=a|0;Sl(a|0);Pu(a);return}function bp(a){a=a|0;Sl(a|0);return}function cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+48|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+16|0;m=j+24|0;n=j+32|0;if((c[f+4>>2]&1|0)==0){o=c[(c[d>>2]|0)+24>>2]|0;c[l>>2]=c[e>>2];Kc[o&63](b,d,l,f,g,h&1);i=j;return}Lm(m,f);f=m|0;m=c[f>>2]|0;if(!((c[8620]|0)==-1)){c[k>>2]=34480;c[k+4>>2]=16;c[k+8>>2]=0;mm(34480,k,114)}k=(c[8621]|0)-1|0;g=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-g>>2>>>0>k>>>0){l=c[g+(k<<2)>>2]|0;if((l|0)==0){break}d=l;Ul(c[f>>2]|0)|0;o=c[l>>2]|0;if(h){Ec[c[o+24>>2]&127](n,d)}else{Ec[c[o+28>>2]&127](n,d)}d=n;o=a[d]|0;if((o&1)==0){l=n+1|0;p=l;q=l;r=n+8|0}else{l=n+8|0;p=c[l>>2]|0;q=n+1|0;r=l}l=e|0;s=n+4|0;t=p;u=o;while(1){if((u&1)==0){v=(u&255)>>>1;w=q}else{v=c[s>>2]|0;w=c[r>>2]|0}if((t|0)==(w+v|0)){break}o=a[t]|0;x=c[l>>2]|0;do{if((x|0)!=0){y=x+24|0;z=c[y>>2]|0;if((z|0)!=(c[x+28>>2]|0)){c[y>>2]=z+1;a[z]=o;break}if(!((Qc[c[(c[x>>2]|0)+52>>2]&63](x,o&255)|0)==-1)){break}c[l>>2]=0}}while(0);t=t+1|0;u=a[d]|0}c[b>>2]=c[l>>2];rm(n);i=j;return}}while(0);j=pc(4)|0;lu(j);Fb(j|0,25544,156)}function dp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;d=i;i=i+80|0;j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=d|0;k=d+8|0;l=d+24|0;m=d+48|0;n=d+56|0;o=d+64|0;p=d+72|0;q=j|0;a[q]=a[19432]|0;a[q+1|0]=a[19433]|0;a[q+2|0]=a[19434]|0;a[q+3|0]=a[19435]|0;a[q+4|0]=a[19436]|0;a[q+5|0]=a[19437]|0;r=j+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=r}else{a[r]=43;u=j+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;u=v+1|0;v=t&74;do{if((v|0)==64){a[u]=111}else if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=100}}while(0);u=k|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=ep(u,12,c[8330]|0,q,(q=i,i=i+8|0,c[q>>2]=h,q)|0)|0;i=q;q=k+t|0;h=c[s>>2]&176;do{if((h|0)==32){w=q}else if((h|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=k+1|0;break}if(!((t|0)>1&s<<24>>24==48)){x=22;break}s=a[k+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=k+2|0}else{x=22}}while(0);if((x|0)==22){w=u}x=l|0;Lm(o,f);fp(u,w,q,x,m,n,o);Ul(c[o>>2]|0)|0;c[p>>2]=c[e>>2];Bd(b,p,x,c[m>>2]|0,c[n>>2]|0,f,g);i=d;return}function ep(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g|0;j=h;c[j>>2]=f;c[j+4>>2]=0;j=bc(d|0)|0;d=cc(a|0,b|0,e|0,h|0)|0;if((j|0)==0){i=g;return d|0}bc(j|0)|0;i=g;return d|0}function fp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;k=i;i=i+48|0;l=k|0;m=k+16|0;n=k+32|0;o=j|0;j=c[o>>2]|0;if(!((c[8716]|0)==-1)){c[m>>2]=34864;c[m+4>>2]=16;c[m+8>>2]=0;mm(34864,m,114)}m=(c[8717]|0)-1|0;p=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-p>>2>>>0>m>>>0)){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}j=c[p+(m<<2)>>2]|0;if((j|0)==0){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}q=j;r=c[o>>2]|0;if(!((c[8620]|0)==-1)){c[l>>2]=34480;c[l+4>>2]=16;c[l+8>>2]=0;mm(34480,l,114)}l=(c[8621]|0)-1|0;o=c[r+8>>2]|0;if(!((c[r+12>>2]|0)-o>>2>>>0>l>>>0)){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}r=c[o+(l<<2)>>2]|0;if((r|0)==0){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}s=r;Ec[c[(c[r>>2]|0)+20>>2]&127](n,s);t=n;l=a[t]|0;if((l&1)==0){u=(l&255)>>>1}else{u=c[n+4>>2]|0}do{if((u|0)==0){Sc[c[(c[j>>2]|0)+32>>2]&15](q,b,e,f)|0;c[h>>2]=f+(e-b)}else{c[h>>2]=f;l=a[b]|0;if((l<<24>>24|0)==45|(l<<24>>24|0)==43){o=Qc[c[(c[j>>2]|0)+28>>2]&63](q,l)|0;l=c[h>>2]|0;c[h>>2]=l+1;a[l]=o;v=b+1|0}else{v=b}do{if((e-v|0)>1){if((a[v]|0)!=48){w=v;break}o=v+1|0;l=a[o]|0;if(!((l<<24>>24|0)==120|(l<<24>>24|0)==88)){w=v;break}l=j;m=Qc[c[(c[l>>2]|0)+28>>2]&63](q,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p]=m;m=Qc[c[(c[l>>2]|0)+28>>2]&63](q,a[o]|0)|0;o=c[h>>2]|0;c[h>>2]=o+1;a[o]=m;w=v+2|0}else{w=v}}while(0);do{if((w|0)!=(e|0)){m=e-1|0;if(m>>>0>w>>>0){x=w;y=m}else{break}do{m=a[x]|0;a[x]=a[y]|0;a[y]=m;x=x+1|0;y=y-1|0;}while(x>>>0<y>>>0)}}while(0);m=Fc[c[(c[r>>2]|0)+16>>2]&255](s)|0;if(w>>>0<e>>>0){o=n+1|0;l=j;p=n+4|0;z=n+8|0;A=0;B=0;C=w;while(1){D=(a[t]&1)==0;do{if((a[(D?o:c[z>>2]|0)+B|0]|0)==0){E=B;F=A}else{if((A|0)!=(a[(D?o:c[z>>2]|0)+B|0]|0)){E=B;F=A;break}G=c[h>>2]|0;c[h>>2]=G+1;a[G]=m;G=a[t]|0;if((G&1)==0){H=(G&255)>>>1}else{H=c[p>>2]|0}E=(B>>>0<(H-1|0)>>>0)+B|0;F=0}}while(0);D=Qc[c[(c[l>>2]|0)+28>>2]&63](q,a[C]|0)|0;G=c[h>>2]|0;c[h>>2]=G+1;a[G]=D;D=C+1|0;if(D>>>0<e>>>0){A=F+1|0;B=E;C=D}else{break}}}C=f+(w-b)|0;B=c[h>>2]|0;if((C|0)==(B|0)){break}A=B-1|0;if(A>>>0>C>>>0){I=C;J=A}else{break}do{A=a[I]|0;a[I]=a[J]|0;a[J]=A;I=I+1|0;J=J-1|0;}while(I>>>0<J>>>0)}}while(0);if((d|0)==(e|0)){K=c[h>>2]|0;c[g>>2]=K;rm(n);i=k;return}else{K=f+(d-b)|0;c[g>>2]=K;rm(n);i=k;return}}function gp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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;d=i;i=i+112|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+32|0;n=d+80|0;o=d+88|0;p=d+96|0;q=d+104|0;c[k>>2]=37;c[k+4>>2]=0;r=k;k=r+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=k}else{a[k]=43;u=r+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;a[v+1|0]=108;u=v+2|0;v=t&74;do{if((v|0)==64){a[u]=111}else if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=100}}while(0);u=l|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=ep(u,22,c[8330]|0,r,(r=i,i=i+16|0,c[r>>2]=h,c[r+8>>2]=j,r)|0)|0;i=r;r=l+t|0;j=c[s>>2]&176;do{if((j|0)==32){w=r}else if((j|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=l+1|0;break}if(!((t|0)>1&s<<24>>24==48)){x=22;break}s=a[l+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=l+2|0}else{x=22}}while(0);if((x|0)==22){w=u}x=m|0;Lm(p,f);fp(u,w,r,x,n,o,p);Ul(c[p>>2]|0)|0;c[q>>2]=c[e>>2];Bd(b,q,x,c[n>>2]|0,c[o>>2]|0,f,g);i=d;return}function hp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;d=i;i=i+80|0;j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=d|0;k=d+8|0;l=d+24|0;m=d+48|0;n=d+56|0;o=d+64|0;p=d+72|0;q=j|0;a[q]=a[19432]|0;a[q+1|0]=a[19433]|0;a[q+2|0]=a[19434]|0;a[q+3|0]=a[19435]|0;a[q+4|0]=a[19436]|0;a[q+5|0]=a[19437]|0;r=j+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=r}else{a[r]=43;u=j+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;u=v+1|0;v=t&74;do{if((v|0)==64){a[u]=111}else if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=117}}while(0);u=k|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=ep(u,12,c[8330]|0,q,(q=i,i=i+8|0,c[q>>2]=h,q)|0)|0;i=q;q=k+t|0;h=c[s>>2]&176;do{if((h|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=k+1|0;break}if(!((t|0)>1&s<<24>>24==48)){x=22;break}s=a[k+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=k+2|0}else if((h|0)==32){w=q}else{x=22}}while(0);if((x|0)==22){w=u}x=l|0;Lm(o,f);fp(u,w,q,x,m,n,o);Ul(c[o>>2]|0)|0;c[p>>2]=c[e>>2];Bd(b,p,x,c[m>>2]|0,c[n>>2]|0,f,g);i=d;return}function ip(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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;d=i;i=i+112|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+32|0;n=d+80|0;o=d+88|0;p=d+96|0;q=d+104|0;c[k>>2]=37;c[k+4>>2]=0;r=k;k=r+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=k}else{a[k]=43;u=r+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;a[v+1|0]=108;u=v+2|0;v=t&74;do{if((v|0)==64){a[u]=111}else if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=117}}while(0);u=l|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=ep(u,23,c[8330]|0,r,(r=i,i=i+16|0,c[r>>2]=h,c[r+8>>2]=j,r)|0)|0;i=r;r=l+t|0;j=c[s>>2]&176;do{if((j|0)==32){w=r}else if((j|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=l+1|0;break}if(!((t|0)>1&s<<24>>24==48)){x=22;break}s=a[l+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=l+2|0}else{x=22}}while(0);if((x|0)==22){w=u}x=m|0;Lm(p,f);fp(u,w,r,x,n,o,p);Ul(c[p>>2]|0)|0;c[q>>2]=c[e>>2];Bd(b,q,x,c[n>>2]|0,c[o>>2]|0,f,g);i=d;return}function jp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=i;i=i+152|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+40|0;n=d+48|0;o=d+112|0;p=d+120|0;q=d+128|0;r=d+136|0;s=d+144|0;c[k>>2]=37;c[k+4>>2]=0;t=k;k=t+1|0;u=f+4|0;v=c[u>>2]|0;if((v&2048|0)==0){w=k}else{a[k]=43;w=t+2|0}if((v&1024|0)==0){x=w}else{a[w]=35;x=w+1|0}w=v&260;k=v>>>14;do{if((w|0)==260){if((k&1|0)==0){a[x]=97;y=0;break}else{a[x]=65;y=0;break}}else{a[x]=46;v=x+2|0;a[x+1|0]=42;if((w|0)==4){if((k&1|0)==0){a[v]=102;y=1;break}else{a[v]=70;y=1;break}}else if((w|0)==256){if((k&1|0)==0){a[v]=101;y=1;break}else{a[v]=69;y=1;break}}else{if((k&1|0)==0){a[v]=103;y=1;break}else{a[v]=71;y=1;break}}}}while(0);k=l|0;c[m>>2]=k;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=c[8330]|0;if(y){w=ep(k,30,l,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;A=w}else{w=ep(k,30,l,t,(z=i,i=i+8|0,h[z>>3]=j,z)|0)|0;i=z;A=w}do{if((A|0)>29){w=(a[51808]|0)==0;if(y){do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=kp(m,c[8330]|0,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;B=l}else{do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);w=kp(m,c[8330]|0,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;B=w}w=c[m>>2]|0;if((w|0)!=0){C=B;D=w;E=w;break}Uu();w=c[m>>2]|0;C=B;D=w;E=w}else{C=A;D=0;E=c[m>>2]|0}}while(0);A=E+C|0;B=c[u>>2]&176;do{if((B|0)==32){F=A}else if((B|0)==16){u=a[E]|0;if((u<<24>>24|0)==45|(u<<24>>24|0)==43){F=E+1|0;break}if(!((C|0)>1&u<<24>>24==48)){G=53;break}u=a[E+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){G=53;break}F=E+2|0}else{G=53}}while(0);if((G|0)==53){F=E}do{if((E|0)==(k|0)){H=n|0;I=0;J=k}else{G=Gu(C<<1)|0;if((G|0)!=0){H=G;I=G;J=E;break}Uu();H=0;I=0;J=c[m>>2]|0}}while(0);Lm(q,f);lp(J,F,A,H,o,p,q);Ul(c[q>>2]|0)|0;q=e|0;c[s>>2]=c[q>>2];Bd(r,s,H,c[o>>2]|0,c[p>>2]|0,f,g);g=c[r>>2]|0;c[q>>2]=g;c[b>>2]=g;if((I|0)!=0){Hu(I)}if((D|0)==0){i=d;return}Hu(D);i=d;return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f|0;h=g;c[h>>2]=e;c[h+4>>2]=0;h=bc(b|0)|0;b=rc(a|0,d|0,g|0)|0;if((h|0)==0){i=f;return b|0}bc(h|0)|0;i=f;return b|0}function lp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;k=i;i=i+48|0;l=k|0;m=k+16|0;n=k+32|0;o=j|0;j=c[o>>2]|0;if(!((c[8716]|0)==-1)){c[m>>2]=34864;c[m+4>>2]=16;c[m+8>>2]=0;mm(34864,m,114)}m=(c[8717]|0)-1|0;p=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-p>>2>>>0>m>>>0)){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}j=c[p+(m<<2)>>2]|0;if((j|0)==0){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}q=j;r=c[o>>2]|0;if(!((c[8620]|0)==-1)){c[l>>2]=34480;c[l+4>>2]=16;c[l+8>>2]=0;mm(34480,l,114)}l=(c[8621]|0)-1|0;o=c[r+8>>2]|0;if(!((c[r+12>>2]|0)-o>>2>>>0>l>>>0)){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}r=c[o+(l<<2)>>2]|0;if((r|0)==0){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}s=r;Ec[c[(c[r>>2]|0)+20>>2]&127](n,s);c[h>>2]=f;t=a[b]|0;if((t<<24>>24|0)==45|(t<<24>>24|0)==43){l=Qc[c[(c[j>>2]|0)+28>>2]&63](q,t)|0;t=c[h>>2]|0;c[h>>2]=t+1;a[t]=l;u=b+1|0}else{u=b}l=e;a:do{if((l-u|0)>1){if((a[u]|0)!=48){v=21;break}t=u+1|0;o=a[t]|0;if(!((o<<24>>24|0)==120|(o<<24>>24|0)==88)){v=21;break}o=j;m=Qc[c[(c[o>>2]|0)+28>>2]&63](q,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p]=m;m=u+2|0;p=Qc[c[(c[o>>2]|0)+28>>2]&63](q,a[t]|0)|0;t=c[h>>2]|0;c[h>>2]=t+1;a[t]=p;if(m>>>0<e>>>0){w=m}else{x=m;y=m;break}while(1){p=a[w]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=w+1|0;if((Ua(p<<24>>24|0,c[8330]|0)|0)==0){x=m;y=w;break a}if(t>>>0<e>>>0){w=t}else{x=m;y=t;break}}}else{v=21}}while(0);b:do{if((v|0)==21){if(u>>>0<e>>>0){z=u}else{x=u;y=u;break}while(1){w=a[z]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}m=Xa(2147483647,14472,0)|0;c[8330]=m}}while(0);p=z+1|0;if((ib(w<<24>>24|0,c[8330]|0)|0)==0){x=u;y=z;break b}if(p>>>0<e>>>0){z=p}else{x=u;y=p;break}}}}while(0);u=n;z=a[u]|0;if((z&1)==0){A=(z&255)>>>1}else{A=c[n+4>>2]|0}do{if((A|0)==0){Sc[c[(c[j>>2]|0)+32>>2]&15](q,x,y,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(y-x)}else{do{if((x|0)!=(y|0)){z=y-1|0;if(z>>>0>x>>>0){B=x;C=z}else{break}do{z=a[B]|0;a[B]=a[C]|0;a[C]=z;B=B+1|0;C=C-1|0;}while(B>>>0<C>>>0)}}while(0);w=Fc[c[(c[r>>2]|0)+16>>2]&255](s)|0;if(x>>>0<y>>>0){z=n+1|0;v=n+4|0;p=n+8|0;m=j;t=0;o=0;D=x;while(1){E=(a[u]&1)==0;do{if((a[(E?z:c[p>>2]|0)+o|0]|0)>0){if((t|0)!=(a[(E?z:c[p>>2]|0)+o|0]|0)){F=o;G=t;break}H=c[h>>2]|0;c[h>>2]=H+1;a[H]=w;H=a[u]|0;if((H&1)==0){I=(H&255)>>>1}else{I=c[v>>2]|0}F=(o>>>0<(I-1|0)>>>0)+o|0;G=0}else{F=o;G=t}}while(0);E=Qc[c[(c[m>>2]|0)+28>>2]&63](q,a[D]|0)|0;H=c[h>>2]|0;c[h>>2]=H+1;a[H]=E;E=D+1|0;if(E>>>0<y>>>0){t=G+1|0;o=F;D=E}else{break}}}D=f+(x-b)|0;o=c[h>>2]|0;if((D|0)==(o|0)){break}t=o-1|0;if(t>>>0>D>>>0){J=D;K=t}else{break}do{t=a[J]|0;a[J]=a[K]|0;a[K]=t;J=J+1|0;K=K-1|0;}while(J>>>0<K>>>0)}}while(0);c:do{if(y>>>0<e>>>0){K=j;J=y;while(1){x=a[J]|0;if(x<<24>>24==46){break}F=Qc[c[(c[K>>2]|0)+28>>2]&63](q,x)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x]=F;F=J+1|0;if(F>>>0<e>>>0){J=F}else{L=F;break c}}K=Fc[c[(c[r>>2]|0)+12>>2]&255](s)|0;F=c[h>>2]|0;c[h>>2]=F+1;a[F]=K;L=J+1|0}else{L=y}}while(0);Sc[c[(c[j>>2]|0)+32>>2]&15](q,L,e,c[h>>2]|0)|0;q=(c[h>>2]|0)+(l-L)|0;c[h>>2]=q;if((d|0)==(e|0)){M=q;c[g>>2]=M;rm(n);i=k;return}M=f+(d-b)|0;c[g>>2]=M;rm(n);i=k;return}function mp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=i;i=i+152|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+40|0;n=d+48|0;o=d+112|0;p=d+120|0;q=d+128|0;r=d+136|0;s=d+144|0;c[k>>2]=37;c[k+4>>2]=0;t=k;k=t+1|0;u=f+4|0;v=c[u>>2]|0;if((v&2048|0)==0){w=k}else{a[k]=43;w=t+2|0}if((v&1024|0)==0){x=w}else{a[w]=35;x=w+1|0}w=v&260;k=v>>>14;do{if((w|0)==260){a[x]=76;v=x+1|0;if((k&1|0)==0){a[v]=97;y=0;break}else{a[v]=65;y=0;break}}else{a[x]=46;a[x+1|0]=42;a[x+2|0]=76;v=x+3|0;if((w|0)==4){if((k&1|0)==0){a[v]=102;y=1;break}else{a[v]=70;y=1;break}}else if((w|0)==256){if((k&1|0)==0){a[v]=101;y=1;break}else{a[v]=69;y=1;break}}else{if((k&1|0)==0){a[v]=103;y=1;break}else{a[v]=71;y=1;break}}}}while(0);k=l|0;c[m>>2]=k;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=c[8330]|0;if(y){w=ep(k,30,l,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;A=w}else{w=ep(k,30,l,t,(z=i,i=i+8|0,h[z>>3]=j,z)|0)|0;i=z;A=w}do{if((A|0)>29){w=(a[51808]|0)==0;if(y){do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=kp(m,c[8330]|0,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;B=l}else{do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);w=kp(m,c[8330]|0,t,(z=i,i=i+8|0,h[z>>3]=j,z)|0)|0;i=z;B=w}w=c[m>>2]|0;if((w|0)!=0){C=B;D=w;E=w;break}Uu();w=c[m>>2]|0;C=B;D=w;E=w}else{C=A;D=0;E=c[m>>2]|0}}while(0);A=E+C|0;B=c[u>>2]&176;do{if((B|0)==32){F=A}else if((B|0)==16){u=a[E]|0;if((u<<24>>24|0)==45|(u<<24>>24|0)==43){F=E+1|0;break}if(!((C|0)>1&u<<24>>24==48)){G=53;break}u=a[E+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){G=53;break}F=E+2|0}else{G=53}}while(0);if((G|0)==53){F=E}do{if((E|0)==(k|0)){H=n|0;I=0;J=k}else{G=Gu(C<<1)|0;if((G|0)!=0){H=G;I=G;J=E;break}Uu();H=0;I=0;J=c[m>>2]|0}}while(0);Lm(q,f);lp(J,F,A,H,o,p,q);Ul(c[q>>2]|0)|0;q=e|0;c[s>>2]=c[q>>2];Bd(r,s,H,c[o>>2]|0,c[p>>2]|0,f,g);g=c[r>>2]|0;c[q>>2]=g;c[b>>2]=g;if((I|0)!=0){Hu(I)}if((D|0)==0){i=d;return}Hu(D);i=d;return}function np(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,A=0;d=i;i=i+104|0;j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=d|0;k=d+24|0;l=d+48|0;m=d+88|0;n=d+96|0;o=d+16|0;a[o]=a[19440]|0;a[o+1|0]=a[19441]|0;a[o+2|0]=a[19442]|0;a[o+3|0]=a[19443]|0;a[o+4|0]=a[19444]|0;a[o+5|0]=a[19445]|0;p=k|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}q=Xa(2147483647,14472,0)|0;c[8330]=q}}while(0);q=ep(p,20,c[8330]|0,o,(o=i,i=i+8|0,c[o>>2]=h,o)|0)|0;i=o;o=k+q|0;h=c[f+4>>2]&176;do{if((h|0)==32){r=o}else if((h|0)==16){s=a[p]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){r=k+1|0;break}if(!((q|0)>1&s<<24>>24==48)){t=12;break}s=a[k+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){t=12;break}r=k+2|0}else{t=12}}while(0);if((t|0)==12){r=p}t=l|0;Lm(m,f);h=m|0;m=c[h>>2]|0;if(!((c[8716]|0)==-1)){c[j>>2]=34864;c[j+4>>2]=16;c[j+8>>2]=0;mm(34864,j,114)}j=(c[8717]|0)-1|0;s=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-s>>2>>>0>j>>>0){u=c[s+(j<<2)>>2]|0;if((u|0)==0){break}Ul(c[h>>2]|0)|0;Sc[c[(c[u>>2]|0)+32>>2]&15](u,p,o,t)|0;u=l+q|0;if((r|0)==(o|0)){v=u;w=e|0;x=c[w>>2]|0;y=n|0;c[y>>2]=x;Bd(b,n,t,v,u,f,g);z=37;A=0;i=d;return}v=l+(r-k)|0;w=e|0;x=c[w>>2]|0;y=n|0;c[y>>2]=x;Bd(b,n,t,v,u,f,g);z=37;A=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function op(a){a=a|0;Sl(a|0);Pu(a);return}function pp(a){a=a|0;Sl(a|0);return}function qp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+48|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+16|0;m=j+24|0;n=j+32|0;if((c[f+4>>2]&1|0)==0){o=c[(c[d>>2]|0)+24>>2]|0;c[l>>2]=c[e>>2];Kc[o&63](b,d,l,f,g,h&1);i=j;return}Lm(m,f);f=m|0;m=c[f>>2]|0;if(!((c[8618]|0)==-1)){c[k>>2]=34472;c[k+4>>2]=16;c[k+8>>2]=0;mm(34472,k,114)}k=(c[8619]|0)-1|0;g=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-g>>2>>>0>k>>>0){l=c[g+(k<<2)>>2]|0;if((l|0)==0){break}d=l;Ul(c[f>>2]|0)|0;o=c[l>>2]|0;if(h){Ec[c[o+24>>2]&127](n,d)}else{Ec[c[o+28>>2]&127](n,d)}d=n;o=a[d]|0;if((o&1)==0){l=n+4|0;p=l;q=l;r=n+8|0}else{l=n+8|0;p=c[l>>2]|0;q=n+4|0;r=l}l=e|0;s=p;t=o;while(1){if((t&1)==0){u=(t&255)>>>1;v=q}else{u=c[q>>2]|0;v=c[r>>2]|0}if((s|0)==(v+(u<<2)|0)){break}o=c[s>>2]|0;w=c[l>>2]|0;do{if((w|0)!=0){x=w+24|0;y=c[x>>2]|0;if((y|0)==(c[w+28>>2]|0)){z=Qc[c[(c[w>>2]|0)+52>>2]&63](w,o)|0}else{c[x>>2]=y+4;c[y>>2]=o;z=o}if(!((z|0)==-1)){break}c[l>>2]=0}}while(0);s=s+4|0;t=a[d]|0}c[b>>2]=c[l>>2];Cm(n);i=j;return}}while(0);j=pc(4)|0;lu(j);Fb(j|0,25544,156)}function rp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;d=i;i=i+144|0;j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=d|0;k=d+8|0;l=d+24|0;m=d+112|0;n=d+120|0;o=d+128|0;p=d+136|0;q=j|0;a[q]=a[19432]|0;a[q+1|0]=a[19433]|0;a[q+2|0]=a[19434]|0;a[q+3|0]=a[19435]|0;a[q+4|0]=a[19436]|0;a[q+5|0]=a[19437]|0;r=j+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=r}else{a[r]=43;u=j+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;u=v+1|0;v=t&74;do{if((v|0)==64){a[u]=111}else if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=100}}while(0);u=k|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=ep(u,12,c[8330]|0,q,(q=i,i=i+8|0,c[q>>2]=h,q)|0)|0;i=q;q=k+t|0;h=c[s>>2]&176;do{if((h|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=k+1|0;break}if(!((t|0)>1&s<<24>>24==48)){x=22;break}s=a[k+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=k+2|0}else if((h|0)==32){w=q}else{x=22}}while(0);if((x|0)==22){w=u}x=l|0;Lm(o,f);sp(u,w,q,x,m,n,o);Ul(c[o>>2]|0)|0;c[p>>2]=c[e>>2];tp(b,p,x,c[m>>2]|0,c[n>>2]|0,f,g);i=d;return}function sp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;k=i;i=i+48|0;l=k|0;m=k+16|0;n=k+32|0;o=j|0;j=c[o>>2]|0;if(!((c[8714]|0)==-1)){c[m>>2]=34856;c[m+4>>2]=16;c[m+8>>2]=0;mm(34856,m,114)}m=(c[8715]|0)-1|0;p=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-p>>2>>>0>m>>>0)){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}j=c[p+(m<<2)>>2]|0;if((j|0)==0){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}q=j;r=c[o>>2]|0;if(!((c[8618]|0)==-1)){c[l>>2]=34472;c[l+4>>2]=16;c[l+8>>2]=0;mm(34472,l,114)}l=(c[8619]|0)-1|0;o=c[r+8>>2]|0;if(!((c[r+12>>2]|0)-o>>2>>>0>l>>>0)){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}r=c[o+(l<<2)>>2]|0;if((r|0)==0){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}s=r;Ec[c[(c[r>>2]|0)+20>>2]&127](n,s);t=n;l=a[t]|0;if((l&1)==0){u=(l&255)>>>1}else{u=c[n+4>>2]|0}do{if((u|0)==0){Sc[c[(c[j>>2]|0)+48>>2]&15](q,b,e,f)|0;l=f+(e-b<<2)|0;c[h>>2]=l;v=l}else{c[h>>2]=f;l=a[b]|0;if((l<<24>>24|0)==45|(l<<24>>24|0)==43){o=Qc[c[(c[j>>2]|0)+44>>2]&63](q,l)|0;l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=o;w=b+1|0}else{w=b}do{if((e-w|0)>1){if((a[w]|0)!=48){x=w;break}o=w+1|0;l=a[o]|0;if(!((l<<24>>24|0)==120|(l<<24>>24|0)==88)){x=w;break}l=j;m=Qc[c[(c[l>>2]|0)+44>>2]&63](q,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=m;m=Qc[c[(c[l>>2]|0)+44>>2]&63](q,a[o]|0)|0;o=c[h>>2]|0;c[h>>2]=o+4;c[o>>2]=m;x=w+2|0}else{x=w}}while(0);do{if((x|0)!=(e|0)){m=e-1|0;if(m>>>0>x>>>0){y=x;z=m}else{break}do{m=a[y]|0;a[y]=a[z]|0;a[z]=m;y=y+1|0;z=z-1|0;}while(y>>>0<z>>>0)}}while(0);m=Fc[c[(c[r>>2]|0)+16>>2]&255](s)|0;if(x>>>0<e>>>0){o=n+1|0;l=j;p=n+4|0;A=n+8|0;B=0;C=0;D=x;while(1){E=(a[t]&1)==0;do{if((a[(E?o:c[A>>2]|0)+C|0]|0)==0){F=C;G=B}else{if((B|0)!=(a[(E?o:c[A>>2]|0)+C|0]|0)){F=C;G=B;break}H=c[h>>2]|0;c[h>>2]=H+4;c[H>>2]=m;H=a[t]|0;if((H&1)==0){I=(H&255)>>>1}else{I=c[p>>2]|0}F=(C>>>0<(I-1|0)>>>0)+C|0;G=0}}while(0);E=Qc[c[(c[l>>2]|0)+44>>2]&63](q,a[D]|0)|0;H=c[h>>2]|0;J=H+4|0;c[h>>2]=J;c[H>>2]=E;E=D+1|0;if(E>>>0<e>>>0){B=G+1|0;C=F;D=E}else{K=J;break}}}else{K=c[h>>2]|0}D=f+(x-b<<2)|0;if((D|0)==(K|0)){v=K;break}C=K-4|0;if(C>>>0>D>>>0){L=D;M=C}else{v=K;break}while(1){C=c[L>>2]|0;c[L>>2]=c[M>>2];c[M>>2]=C;C=L+4|0;D=M-4|0;if(C>>>0<D>>>0){L=C;M=D}else{v=K;break}}}}while(0);if((d|0)==(e|0)){N=v;c[g>>2]=N;rm(n);i=k;return}N=f+(d-b<<2)|0;c[g>>2]=N;rm(n);i=k;return}function tp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+16|0;l=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[l>>2];l=k|0;m=d|0;d=c[m>>2]|0;if((d|0)==0){c[b>>2]=0;i=k;return}n=g;g=e;o=n-g>>2;p=h+12|0;h=c[p>>2]|0;q=(h|0)>(o|0)?h-o|0:0;o=f;h=o-g|0;g=h>>2;do{if((h|0)>0){if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,e,g)|0)==(g|0)){break}c[m>>2]=0;c[b>>2]=0;i=k;return}}while(0);do{if((q|0)>0){Bm(l,q,j);if((a[l]&1)==0){r=l+4|0}else{r=c[l+8>>2]|0}if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,r,q)|0)==(q|0)){Cm(l);break}c[m>>2]=0;c[b>>2]=0;Cm(l);i=k;return}}while(0);l=n-o|0;o=l>>2;do{if((l|0)>0){if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,f,o)|0)==(o|0)){break}c[m>>2]=0;c[b>>2]=0;i=k;return}}while(0);c[p>>2]=0;c[b>>2]=d;i=k;return}function up(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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;d=i;i=i+232|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+32|0;n=d+200|0;o=d+208|0;p=d+216|0;q=d+224|0;c[k>>2]=37;c[k+4>>2]=0;r=k;k=r+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=k}else{a[k]=43;u=r+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;a[v+1|0]=108;u=v+2|0;v=t&74;do{if((v|0)==64){a[u]=111}else if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=100}}while(0);u=l|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=ep(u,22,c[8330]|0,r,(r=i,i=i+16|0,c[r>>2]=h,c[r+8>>2]=j,r)|0)|0;i=r;r=l+t|0;j=c[s>>2]&176;do{if((j|0)==32){w=r}else if((j|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=l+1|0;break}if(!((t|0)>1&s<<24>>24==48)){x=22;break}s=a[l+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=l+2|0}else{x=22}}while(0);if((x|0)==22){w=u}x=m|0;Lm(p,f);sp(u,w,r,x,n,o,p);Ul(c[p>>2]|0)|0;c[q>>2]=c[e>>2];tp(b,q,x,c[n>>2]|0,c[o>>2]|0,f,g);i=d;return}function vp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;d=i;i=i+144|0;j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=d|0;k=d+8|0;l=d+24|0;m=d+112|0;n=d+120|0;o=d+128|0;p=d+136|0;q=j|0;a[q]=a[19432]|0;a[q+1|0]=a[19433]|0;a[q+2|0]=a[19434]|0;a[q+3|0]=a[19435]|0;a[q+4|0]=a[19436]|0;a[q+5|0]=a[19437]|0;r=j+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=r}else{a[r]=43;u=j+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;u=v+1|0;v=t&74;do{if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else if((v|0)==64){a[u]=111}else{a[u]=117}}while(0);u=k|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}v=Xa(2147483647,14472,0)|0;c[8330]=v}}while(0);v=ep(u,12,c[8330]|0,q,(q=i,i=i+8|0,c[q>>2]=h,q)|0)|0;i=q;q=k+v|0;h=c[s>>2]&176;do{if((h|0)==32){w=q}else if((h|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=k+1|0;break}if(!((v|0)>1&s<<24>>24==48)){x=22;break}s=a[k+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=k+2|0}else{x=22}}while(0);if((x|0)==22){w=u}x=l|0;Lm(o,f);sp(u,w,q,x,m,n,o);Ul(c[o>>2]|0)|0;c[p>>2]=c[e>>2];tp(b,p,x,c[m>>2]|0,c[n>>2]|0,f,g);i=d;return}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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;d=i;i=i+240|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+32|0;n=d+208|0;o=d+216|0;p=d+224|0;q=d+232|0;c[k>>2]=37;c[k+4>>2]=0;r=k;k=r+1|0;s=f+4|0;t=c[s>>2]|0;if((t&2048|0)==0){u=k}else{a[k]=43;u=r+2|0}if((t&512|0)==0){v=u}else{a[u]=35;v=u+1|0}a[v]=108;a[v+1|0]=108;u=v+2|0;v=t&74;do{if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else if((v|0)==64){a[u]=111}else{a[u]=117}}while(0);u=l|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}v=Xa(2147483647,14472,0)|0;c[8330]=v}}while(0);v=ep(u,23,c[8330]|0,r,(r=i,i=i+16|0,c[r>>2]=h,c[r+8>>2]=j,r)|0)|0;i=r;r=l+v|0;j=c[s>>2]&176;do{if((j|0)==32){w=r}else if((j|0)==16){s=a[u]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){w=l+1|0;break}if(!((v|0)>1&s<<24>>24==48)){x=22;break}s=a[l+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){x=22;break}w=l+2|0}else{x=22}}while(0);if((x|0)==22){w=u}x=m|0;Lm(p,f);sp(u,w,r,x,n,o,p);Ul(c[p>>2]|0)|0;c[q>>2]=c[e>>2];tp(b,q,x,c[n>>2]|0,c[o>>2]|0,f,g);i=d;return}function xp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=i;i=i+320|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+40|0;n=d+48|0;o=d+280|0;p=d+288|0;q=d+296|0;r=d+304|0;s=d+312|0;c[k>>2]=37;c[k+4>>2]=0;t=k;k=t+1|0;u=f+4|0;v=c[u>>2]|0;if((v&2048|0)==0){w=k}else{a[k]=43;w=t+2|0}if((v&1024|0)==0){x=w}else{a[w]=35;x=w+1|0}w=v&260;k=v>>>14;do{if((w|0)==260){if((k&1|0)==0){a[x]=97;y=0;break}else{a[x]=65;y=0;break}}else{a[x]=46;v=x+2|0;a[x+1|0]=42;if((w|0)==256){if((k&1|0)==0){a[v]=101;y=1;break}else{a[v]=69;y=1;break}}else if((w|0)==4){if((k&1|0)==0){a[v]=102;y=1;break}else{a[v]=70;y=1;break}}else{if((k&1|0)==0){a[v]=103;y=1;break}else{a[v]=71;y=1;break}}}}while(0);k=l|0;c[m>>2]=k;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=c[8330]|0;if(y){w=ep(k,30,l,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;A=w}else{w=ep(k,30,l,t,(z=i,i=i+8|0,h[z>>3]=j,z)|0)|0;i=z;A=w}do{if((A|0)>29){w=(a[51808]|0)==0;if(y){do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=kp(m,c[8330]|0,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;B=l}else{do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);w=kp(m,c[8330]|0,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;B=w}w=c[m>>2]|0;if((w|0)!=0){C=B;D=w;E=w;break}Uu();w=c[m>>2]|0;C=B;D=w;E=w}else{C=A;D=0;E=c[m>>2]|0}}while(0);A=E+C|0;B=c[u>>2]&176;do{if((B|0)==16){u=a[E]|0;if((u<<24>>24|0)==45|(u<<24>>24|0)==43){F=E+1|0;break}if(!((C|0)>1&u<<24>>24==48)){G=53;break}u=a[E+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){G=53;break}F=E+2|0}else if((B|0)==32){F=A}else{G=53}}while(0);if((G|0)==53){F=E}do{if((E|0)==(k|0)){H=n|0;I=0;J=k}else{G=Gu(C<<3)|0;B=G;if((G|0)!=0){H=B;I=B;J=E;break}Uu();H=B;I=B;J=c[m>>2]|0}}while(0);Lm(q,f);yp(J,F,A,H,o,p,q);Ul(c[q>>2]|0)|0;q=e|0;c[s>>2]=c[q>>2];tp(r,s,H,c[o>>2]|0,c[p>>2]|0,f,g);g=c[r>>2]|0;c[q>>2]=g;c[b>>2]=g;if((I|0)!=0){Hu(I)}if((D|0)==0){i=d;return}Hu(D);i=d;return}function yp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,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;k=i;i=i+48|0;l=k|0;m=k+16|0;n=k+32|0;o=j|0;j=c[o>>2]|0;if(!((c[8714]|0)==-1)){c[m>>2]=34856;c[m+4>>2]=16;c[m+8>>2]=0;mm(34856,m,114)}m=(c[8715]|0)-1|0;p=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-p>>2>>>0>m>>>0)){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}j=c[p+(m<<2)>>2]|0;if((j|0)==0){q=pc(4)|0;r=q;lu(r);Fb(q|0,25544,156)}q=j;r=c[o>>2]|0;if(!((c[8618]|0)==-1)){c[l>>2]=34472;c[l+4>>2]=16;c[l+8>>2]=0;mm(34472,l,114)}l=(c[8619]|0)-1|0;o=c[r+8>>2]|0;if(!((c[r+12>>2]|0)-o>>2>>>0>l>>>0)){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}r=c[o+(l<<2)>>2]|0;if((r|0)==0){s=pc(4)|0;t=s;lu(t);Fb(s|0,25544,156)}s=r;Ec[c[(c[r>>2]|0)+20>>2]&127](n,s);c[h>>2]=f;t=a[b]|0;if((t<<24>>24|0)==45|(t<<24>>24|0)==43){l=Qc[c[(c[j>>2]|0)+44>>2]&63](q,t)|0;t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=l;u=b+1|0}else{u=b}l=e;a:do{if((l-u|0)>1){if((a[u]|0)!=48){v=21;break}t=u+1|0;o=a[t]|0;if(!((o<<24>>24|0)==120|(o<<24>>24|0)==88)){v=21;break}o=j;m=Qc[c[(c[o>>2]|0)+44>>2]&63](q,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=m;m=u+2|0;p=Qc[c[(c[o>>2]|0)+44>>2]&63](q,a[t]|0)|0;t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=p;if(m>>>0<e>>>0){w=m}else{x=m;y=m;break}while(1){p=a[w]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);t=w+1|0;if((Ua(p<<24>>24|0,c[8330]|0)|0)==0){x=m;y=w;break a}if(t>>>0<e>>>0){w=t}else{x=m;y=t;break}}}else{v=21}}while(0);b:do{if((v|0)==21){if(u>>>0<e>>>0){z=u}else{x=u;y=u;break}while(1){w=a[z]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}m=Xa(2147483647,14472,0)|0;c[8330]=m}}while(0);p=z+1|0;if((ib(w<<24>>24|0,c[8330]|0)|0)==0){x=u;y=z;break b}if(p>>>0<e>>>0){z=p}else{x=u;y=p;break}}}}while(0);u=n;z=a[u]|0;if((z&1)==0){A=(z&255)>>>1}else{A=c[n+4>>2]|0}do{if((A|0)==0){Sc[c[(c[j>>2]|0)+48>>2]&15](q,x,y,c[h>>2]|0)|0;z=(c[h>>2]|0)+(y-x<<2)|0;c[h>>2]=z;B=z}else{do{if((x|0)!=(y|0)){z=y-1|0;if(z>>>0>x>>>0){C=x;D=z}else{break}do{z=a[C]|0;a[C]=a[D]|0;a[D]=z;C=C+1|0;D=D-1|0;}while(C>>>0<D>>>0)}}while(0);w=Fc[c[(c[r>>2]|0)+16>>2]&255](s)|0;if(x>>>0<y>>>0){z=n+1|0;v=n+4|0;p=n+8|0;m=j;t=0;o=0;E=x;while(1){F=(a[u]&1)==0;do{if((a[(F?z:c[p>>2]|0)+o|0]|0)>0){if((t|0)!=(a[(F?z:c[p>>2]|0)+o|0]|0)){G=o;H=t;break}I=c[h>>2]|0;c[h>>2]=I+4;c[I>>2]=w;I=a[u]|0;if((I&1)==0){J=(I&255)>>>1}else{J=c[v>>2]|0}G=(o>>>0<(J-1|0)>>>0)+o|0;H=0}else{G=o;H=t}}while(0);F=Qc[c[(c[m>>2]|0)+44>>2]&63](q,a[E]|0)|0;I=c[h>>2]|0;K=I+4|0;c[h>>2]=K;c[I>>2]=F;F=E+1|0;if(F>>>0<y>>>0){t=H+1|0;o=G;E=F}else{L=K;break}}}else{L=c[h>>2]|0}E=f+(x-b<<2)|0;if((E|0)==(L|0)){B=L;break}o=L-4|0;if(o>>>0>E>>>0){M=E;N=o}else{B=L;break}while(1){o=c[M>>2]|0;c[M>>2]=c[N>>2];c[N>>2]=o;o=M+4|0;E=N-4|0;if(o>>>0<E>>>0){M=o;N=E}else{B=L;break}}}}while(0);c:do{if(y>>>0<e>>>0){L=j;N=y;while(1){M=a[N]|0;if(M<<24>>24==46){break}x=Qc[c[(c[L>>2]|0)+44>>2]&63](q,M)|0;M=c[h>>2]|0;G=M+4|0;c[h>>2]=G;c[M>>2]=x;x=N+1|0;if(x>>>0<e>>>0){N=x}else{O=x;P=G;break c}}L=Fc[c[(c[r>>2]|0)+12>>2]&255](s)|0;G=c[h>>2]|0;x=G+4|0;c[h>>2]=x;c[G>>2]=L;O=N+1|0;P=x}else{O=y;P=B}}while(0);Sc[c[(c[j>>2]|0)+48>>2]&15](q,O,e,P)|0;P=(c[h>>2]|0)+(l-O<<2)|0;c[h>>2]=P;if((d|0)==(e|0)){Q=P;c[g>>2]=Q;rm(n);i=k;return}Q=f+(d-b<<2)|0;c[g>>2]=Q;rm(n);i=k;return}function zp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=i;i=i+320|0;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;l=d+8|0;m=d+40|0;n=d+48|0;o=d+280|0;p=d+288|0;q=d+296|0;r=d+304|0;s=d+312|0;c[k>>2]=37;c[k+4>>2]=0;t=k;k=t+1|0;u=f+4|0;v=c[u>>2]|0;if((v&2048|0)==0){w=k}else{a[k]=43;w=t+2|0}if((v&1024|0)==0){x=w}else{a[w]=35;x=w+1|0}w=v&260;k=v>>>14;do{if((w|0)==260){a[x]=76;v=x+1|0;if((k&1|0)==0){a[v]=97;y=0;break}else{a[v]=65;y=0;break}}else{a[x]=46;a[x+1|0]=42;a[x+2|0]=76;v=x+3|0;if((w|0)==4){if((k&1|0)==0){a[v]=102;y=1;break}else{a[v]=70;y=1;break}}else if((w|0)==256){if((k&1|0)==0){a[v]=101;y=1;break}else{a[v]=69;y=1;break}}else{if((k&1|0)==0){a[v]=103;y=1;break}else{a[v]=71;y=1;break}}}}while(0);k=l|0;c[m>>2]=k;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=c[8330]|0;if(y){w=ep(k,30,l,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;A=w}else{w=ep(k,30,l,t,(z=i,i=i+8|0,h[z>>3]=j,z)|0)|0;i=z;A=w}do{if((A|0)>29){w=(a[51808]|0)==0;if(y){do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=kp(m,c[8330]|0,t,(z=i,i=i+16|0,c[z>>2]=c[f+8>>2],h[z+8>>3]=j,z)|0)|0;i=z;B=l}else{do{if(w){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);w=kp(m,c[8330]|0,t,(z=i,i=i+8|0,h[z>>3]=j,z)|0)|0;i=z;B=w}w=c[m>>2]|0;if((w|0)!=0){C=B;D=w;E=w;break}Uu();w=c[m>>2]|0;C=B;D=w;E=w}else{C=A;D=0;E=c[m>>2]|0}}while(0);A=E+C|0;B=c[u>>2]&176;do{if((B|0)==32){F=A}else if((B|0)==16){u=a[E]|0;if((u<<24>>24|0)==45|(u<<24>>24|0)==43){F=E+1|0;break}if(!((C|0)>1&u<<24>>24==48)){G=53;break}u=a[E+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){G=53;break}F=E+2|0}else{G=53}}while(0);if((G|0)==53){F=E}do{if((E|0)==(k|0)){H=n|0;I=0;J=k}else{G=Gu(C<<3)|0;B=G;if((G|0)!=0){H=B;I=B;J=E;break}Uu();H=B;I=B;J=c[m>>2]|0}}while(0);Lm(q,f);yp(J,F,A,H,o,p,q);Ul(c[q>>2]|0)|0;q=e|0;c[s>>2]=c[q>>2];tp(r,s,H,c[o>>2]|0,c[p>>2]|0,f,g);g=c[r>>2]|0;c[q>>2]=g;c[b>>2]=g;if((I|0)!=0){Hu(I)}if((D|0)==0){i=d;return}Hu(D);i=d;return}function Ap(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,A=0;d=i;i=i+216|0;j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=d|0;k=d+24|0;l=d+48|0;m=d+200|0;n=d+208|0;o=d+16|0;a[o]=a[19440]|0;a[o+1|0]=a[19441]|0;a[o+2|0]=a[19442]|0;a[o+3|0]=a[19443]|0;a[o+4|0]=a[19444]|0;a[o+5|0]=a[19445]|0;p=k|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}q=Xa(2147483647,14472,0)|0;c[8330]=q}}while(0);q=ep(p,20,c[8330]|0,o,(o=i,i=i+8|0,c[o>>2]=h,o)|0)|0;i=o;o=k+q|0;h=c[f+4>>2]&176;do{if((h|0)==32){r=o}else if((h|0)==16){s=a[p]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){r=k+1|0;break}if(!((q|0)>1&s<<24>>24==48)){t=12;break}s=a[k+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){t=12;break}r=k+2|0}else{t=12}}while(0);if((t|0)==12){r=p}Lm(m,f);t=m|0;m=c[t>>2]|0;if(!((c[8714]|0)==-1)){c[j>>2]=34856;c[j+4>>2]=16;c[j+8>>2]=0;mm(34856,j,114)}j=(c[8715]|0)-1|0;h=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-h>>2>>>0>j>>>0){s=c[h+(j<<2)>>2]|0;if((s|0)==0){break}Ul(c[t>>2]|0)|0;u=l|0;Sc[c[(c[s>>2]|0)+48>>2]&15](s,p,o,u)|0;s=l+(q<<2)|0;if((r|0)==(o|0)){v=s;w=e|0;x=c[w>>2]|0;y=n|0;c[y>>2]=x;tp(b,n,u,v,s,f,g);z=148;A=0;i=d;return}v=l+(r-k<<2)|0;w=e|0;x=c[w>>2]|0;y=n|0;c[y>>2]=x;tp(b,n,u,v,s,f,g);z=148;A=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function Bp(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,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;n=i;i=i+48|0;o=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[o>>2];o=g;g=i;i=i+4|0;i=i+7&-8;c[g>>2]=c[o>>2];o=n|0;p=n+16|0;q=n+24|0;r=n+32|0;s=n+40|0;Lm(p,h);t=p|0;p=c[t>>2]|0;if(!((c[8716]|0)==-1)){c[o>>2]=34864;c[o+4>>2]=16;c[o+8>>2]=0;mm(34864,o,114)}o=(c[8717]|0)-1|0;u=c[p+8>>2]|0;do{if((c[p+12>>2]|0)-u>>2>>>0>o>>>0){v=c[u+(o<<2)>>2]|0;if((v|0)==0){break}w=v;Ul(c[t>>2]|0)|0;c[j>>2]=0;x=f|0;a:do{if((l|0)==(m|0)){y=67}else{z=g|0;A=v;B=v+8|0;C=v;D=e;E=r|0;F=s|0;G=q|0;H=l;I=0;b:while(1){J=I;while(1){if((J|0)!=0){y=67;break a}K=c[x>>2]|0;do{if((K|0)==0){L=0}else{if((c[K+12>>2]|0)!=(c[K+16>>2]|0)){L=K;break}if(!((Fc[c[(c[K>>2]|0)+36>>2]&255](K)|0)==-1)){L=K;break}c[x>>2]=0;L=0}}while(0);K=(L|0)==0;M=c[z>>2]|0;c:do{if((M|0)==0){y=20}else{do{if((c[M+12>>2]|0)==(c[M+16>>2]|0)){if(!((Fc[c[(c[M>>2]|0)+36>>2]&255](M)|0)==-1)){break}c[z>>2]=0;y=20;break c}}while(0);if(K){N=M}else{y=21;break b}}}while(0);if((y|0)==20){y=0;if(K){y=21;break b}else{N=0}}if((Hc[c[(c[A>>2]|0)+36>>2]&63](w,a[H]|0,0)|0)<<24>>24==37){y=24;break}M=a[H]|0;if(M<<24>>24>-1){O=c[B>>2]|0;if(!((b[O+(M<<24>>24<<1)>>1]&8192)==0)){P=H;y=35;break}}Q=L+12|0;M=c[Q>>2]|0;R=L+16|0;if((M|0)==(c[R>>2]|0)){S=(Fc[c[(c[L>>2]|0)+36>>2]&255](L)|0)&255}else{S=a[M]|0}M=Qc[c[(c[C>>2]|0)+12>>2]&63](w,S)|0;if(M<<24>>24==(Qc[c[(c[C>>2]|0)+12>>2]&63](w,a[H]|0)|0)<<24>>24){y=62;break}c[j>>2]=4;J=4}d:do{if((y|0)==24){y=0;J=H+1|0;if((J|0)==(m|0)){y=25;break b}M=Hc[c[(c[A>>2]|0)+36>>2]&63](w,a[J]|0,0)|0;if((M<<24>>24|0)==69|(M<<24>>24|0)==48){T=H+2|0;if((T|0)==(m|0)){y=28;break b}U=M;V=Hc[c[(c[A>>2]|0)+36>>2]&63](w,a[T]|0,0)|0;W=T}else{U=0;V=M;W=J}J=c[(c[D>>2]|0)+36>>2]|0;c[E>>2]=L;c[F>>2]=N;Oc[J&15](q,e,r,s,h,j,k,V,U);c[x>>2]=c[G>>2];X=W+1|0}else if((y|0)==35){while(1){y=0;J=P+1|0;if((J|0)==(m|0)){Y=m;break}M=a[J]|0;if(!(M<<24>>24>-1)){Y=J;break}if((b[O+(M<<24>>24<<1)>>1]&8192)==0){Y=J;break}else{P=J;y=35}}K=L;J=N;M=N;while(1){do{if((K|0)==0){Z=0}else{if((c[K+12>>2]|0)!=(c[K+16>>2]|0)){Z=K;break}if(!((Fc[c[(c[K>>2]|0)+36>>2]&255](K)|0)==-1)){Z=K;break}c[x>>2]=0;Z=0}}while(0);T=(Z|0)==0;do{if((J|0)==0){_=M;y=48}else{if((c[J+12>>2]|0)!=(c[J+16>>2]|0)){if(T){$=J;aa=M;break}else{X=Y;break d}}if((Fc[c[(c[J>>2]|0)+36>>2]&255](J)|0)==-1){c[z>>2]=0;_=0;y=48;break}else{if(T^(M|0)==0){$=M;aa=M;break}else{X=Y;break d}}}}while(0);if((y|0)==48){y=0;if(T){X=Y;break d}else{$=0;aa=_}}ba=Z+12|0;ca=c[ba>>2]|0;da=Z+16|0;if((ca|0)==(c[da>>2]|0)){ea=(Fc[c[(c[Z>>2]|0)+36>>2]&255](Z)|0)&255}else{ea=a[ca]|0}if(!(ea<<24>>24>-1)){X=Y;break d}if((b[(c[B>>2]|0)+(ea<<24>>24<<1)>>1]&8192)==0){X=Y;break d}ca=c[ba>>2]|0;if((ca|0)==(c[da>>2]|0)){Fc[c[(c[Z>>2]|0)+40>>2]&255](Z)|0;K=Z;J=$;M=aa;continue}else{c[ba>>2]=ca+1;K=Z;J=$;M=aa;continue}}}else if((y|0)==62){y=0;M=c[Q>>2]|0;if((M|0)==(c[R>>2]|0)){Fc[c[(c[L>>2]|0)+40>>2]&255](L)|0}else{c[Q>>2]=M+1}X=H+1|0}}while(0);if((X|0)==(m|0)){y=67;break a}H=X;I=c[j>>2]|0}if((y|0)==21){c[j>>2]=4;fa=L;break}else if((y|0)==25){c[j>>2]=4;fa=L;break}else if((y|0)==28){c[j>>2]=4;fa=L;break}}}while(0);if((y|0)==67){fa=c[x>>2]|0}w=f|0;do{if((fa|0)==0){ga=0}else{if((c[fa+12>>2]|0)!=(c[fa+16>>2]|0)){ga=fa;break}if(!((Fc[c[(c[fa>>2]|0)+36>>2]&255](fa)|0)==-1)){ga=fa;break}c[w>>2]=0;ga=0}}while(0);w=(ga|0)==0;x=g|0;v=c[x>>2]|0;e:do{if((v|0)==0){y=77}else{do{if((c[v+12>>2]|0)==(c[v+16>>2]|0)){if(!((Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0)==-1)){break}c[x>>2]=0;y=77;break e}}while(0);if(!w){break}ha=d|0;c[ha>>2]=ga;i=n;return}}while(0);do{if((y|0)==77){if(w){break}ha=d|0;c[ha>>2]=ga;i=n;return}}while(0);c[j>>2]=c[j>>2]|2;ha=d|0;c[ha>>2]=ga;i=n;return}}while(0);n=pc(4)|0;lu(n);Fb(n|0,25544,156)}function Cp(a){a=a|0;Sl(a|0);Pu(a);return}function Dp(a){a=a|0;Sl(a|0);return}function Ep(a){a=a|0;return 2}function Fp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;j=i;i=i+16|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+8|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];Bp(a,b,k,l,f,g,h,19424,19432);i=j;return}function Gp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+16|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=k|0;m=k+8|0;n=d+8|0;o=Fc[c[(c[n>>2]|0)+20>>2]&255](n)|0;c[l>>2]=c[e>>2];c[m>>2]=c[f>>2];f=a[o]|0;if((f&1)==0){p=(f&255)>>>1;q=o+1|0;r=o+1|0}else{f=c[o+8>>2]|0;p=c[o+4>>2]|0;q=f;r=f}Bp(b,d,l,m,g,h,j,q,r+p|0);i=k;return}function Hp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+8|0;m=j+24|0;Lm(m,f);f=m|0;m=c[f>>2]|0;if(!((c[8716]|0)==-1)){c[l>>2]=34864;c[l+4>>2]=16;c[l+8>>2]=0;mm(34864,l,114)}l=(c[8717]|0)-1|0;n=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-n>>2>>>0>l>>>0){o=c[n+(l<<2)>>2]|0;if((o|0)==0){break}Ul(c[f>>2]|0)|0;p=c[e>>2]|0;q=b+8|0;r=Fc[c[c[q>>2]>>2]&255](q)|0;c[k>>2]=p;p=(bo(d,k,r,r+168|0,o,g,0)|0)-r|0;if((p|0)>=168){s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}c[h+24>>2]=((p|0)/12|0|0)%7|0;s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}}while(0);j=pc(4)|0;lu(j);Fb(j|0,25544,156)}function Ip(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+8|0;m=j+24|0;Lm(m,f);f=m|0;m=c[f>>2]|0;if(!((c[8716]|0)==-1)){c[l>>2]=34864;c[l+4>>2]=16;c[l+8>>2]=0;mm(34864,l,114)}l=(c[8717]|0)-1|0;n=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-n>>2>>>0>l>>>0){o=c[n+(l<<2)>>2]|0;if((o|0)==0){break}Ul(c[f>>2]|0)|0;p=c[e>>2]|0;q=b+8|0;r=Fc[c[(c[q>>2]|0)+4>>2]&255](q)|0;c[k>>2]=p;p=(bo(d,k,r,r+288|0,o,g,0)|0)-r|0;if((p|0)>=288){s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}c[h+16>>2]=((p|0)/12|0|0)%12|0;s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}}while(0);j=pc(4)|0;lu(j);Fb(j|0,25544,156)}function Jp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=i;i=i+32|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;l=b+24|0;Lm(l,f);f=l|0;l=c[f>>2]|0;if(!((c[8716]|0)==-1)){c[k>>2]=34864;c[k+4>>2]=16;c[k+8>>2]=0;mm(34864,k,114)}k=(c[8717]|0)-1|0;m=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-m>>2>>>0>k>>>0){n=c[m+(k<<2)>>2]|0;if((n|0)==0){break}Ul(c[f>>2]|0)|0;c[j>>2]=c[e>>2];o=Op(d,j,g,n,4)|0;if((c[g>>2]&4|0)!=0){p=4;q=0;r=d|0;s=c[r>>2]|0;t=a|0;c[t>>2]=s;i=b;return}if((o|0)<69){u=o+2e3|0}else{u=(o-69|0)>>>0<31>>>0?o+1900|0:o}c[h+20>>2]=u-1900;p=4;q=0;r=d|0;s=c[r>>2]|0;t=a|0;c[t>>2]=s;i=b;return}}while(0);b=pc(4)|0;lu(b);Fb(b|0,25544,156)}function Kp(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;l=i;i=i+328|0;m=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[m>>2];m=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[m>>2];m=l|0;n=l+8|0;o=l+16|0;p=l+24|0;q=l+32|0;r=l+40|0;s=l+48|0;t=l+56|0;u=l+64|0;v=l+72|0;w=l+80|0;x=l+88|0;y=l+96|0;z=l+112|0;A=l+120|0;B=l+128|0;C=l+136|0;D=l+144|0;E=l+152|0;F=l+160|0;G=l+168|0;H=l+176|0;I=l+184|0;J=l+192|0;K=l+200|0;L=l+208|0;M=l+216|0;N=l+224|0;O=l+232|0;P=l+240|0;Q=l+248|0;R=l+256|0;S=l+264|0;T=l+272|0;U=l+280|0;V=l+288|0;W=l+296|0;X=l+304|0;Y=l+312|0;Z=l+320|0;c[h>>2]=0;Lm(z,g);_=z|0;z=c[_>>2]|0;if(!((c[8716]|0)==-1)){c[y>>2]=34864;c[y+4>>2]=16;c[y+8>>2]=0;mm(34864,y,114)}y=(c[8717]|0)-1|0;$=c[z+8>>2]|0;do{if((c[z+12>>2]|0)-$>>2>>>0>y>>>0){aa=c[$+(y<<2)>>2]|0;if((aa|0)==0){break}ba=aa;Ul(c[_>>2]|0)|0;a:do{switch(k<<24>>24|0){case 109:{c[r>>2]=c[f>>2];aa=Op(e,r,h,ba,2)|0;ca=c[h>>2]|0;if((ca&4|0)==0&(aa|0)<13){c[j+16>>2]=aa-1;break a}else{c[h>>2]=ca|4;break a}break};case 121:{c[n>>2]=c[f>>2];ca=Op(e,n,h,ba,4)|0;if((c[h>>2]&4|0)!=0){break a}if((ca|0)<69){da=ca+2e3|0}else{da=(ca-69|0)>>>0<31>>>0?ca+1900|0:ca}c[j+20>>2]=da-1900;break};case 68:{ca=e|0;c[E>>2]=c[ca>>2];c[F>>2]=c[f>>2];Bp(D,d,E,F,g,h,j,19416,19424);c[ca>>2]=c[D>>2];break};case 106:{c[s>>2]=c[f>>2];ca=Op(e,s,h,ba,3)|0;aa=c[h>>2]|0;if((aa&4|0)==0&(ca|0)<366){c[j+28>>2]=ca;break a}else{c[h>>2]=aa|4;break a}break};case 98:case 66:case 104:{aa=c[f>>2]|0;ca=d+8|0;ea=Fc[c[(c[ca>>2]|0)+4>>2]&255](ca)|0;c[w>>2]=aa;aa=(bo(e,w,ea,ea+288|0,ba,h,0)|0)-ea|0;if((aa|0)>=288){break a}c[j+16>>2]=((aa|0)/12|0|0)%12|0;break};case 114:{aa=e|0;c[M>>2]=c[aa>>2];c[N>>2]=c[f>>2];Bp(L,d,M,N,g,h,j,19392,19403);c[aa>>2]=c[L>>2];break};case 84:{aa=e|0;c[S>>2]=c[aa>>2];c[T>>2]=c[f>>2];Bp(R,d,S,T,g,h,j,19376,19384);c[aa>>2]=c[R>>2];break};case 119:{c[o>>2]=c[f>>2];aa=Op(e,o,h,ba,1)|0;ea=c[h>>2]|0;if((ea&4|0)==0&(aa|0)<7){c[j+24>>2]=aa;break a}else{c[h>>2]=ea|4;break a}break};case 82:{ea=e|0;c[P>>2]=c[ea>>2];c[Q>>2]=c[f>>2];Bp(O,d,P,Q,g,h,j,19384,19389);c[ea>>2]=c[O>>2];break};case 112:{c[K>>2]=c[f>>2];Mp(d,j+8|0,e,K,h,ba);break};case 70:{ea=e|0;c[H>>2]=c[ea>>2];c[I>>2]=c[f>>2];Bp(G,d,H,I,g,h,j,19408,19416);c[ea>>2]=c[G>>2];break};case 97:case 65:{ea=c[f>>2]|0;aa=d+8|0;ca=Fc[c[c[aa>>2]>>2]&255](aa)|0;c[x>>2]=ea;ea=(bo(e,x,ca,ca+168|0,ba,h,0)|0)-ca|0;if((ea|0)>=168){break a}c[j+24>>2]=((ea|0)/12|0|0)%7|0;break};case 110:case 116:{c[J>>2]=c[f>>2];Lp(0,e,J,h,ba);break};case 83:{c[p>>2]=c[f>>2];ea=Op(e,p,h,ba,2)|0;ca=c[h>>2]|0;if((ca&4|0)==0&(ea|0)<61){c[j>>2]=ea;break a}else{c[h>>2]=ca|4;break a}break};case 73:{ca=j+8|0;c[t>>2]=c[f>>2];ea=Op(e,t,h,ba,2)|0;aa=c[h>>2]|0;do{if((aa&4|0)==0){if(!((ea-1|0)>>>0<12>>>0)){break}c[ca>>2]=ea;break a}}while(0);c[h>>2]=aa|4;break};case 77:{c[q>>2]=c[f>>2];ea=Op(e,q,h,ba,2)|0;ca=c[h>>2]|0;if((ca&4|0)==0&(ea|0)<60){c[j+4>>2]=ea;break a}else{c[h>>2]=ca|4;break a}break};case 120:{ca=c[(c[d>>2]|0)+20>>2]|0;c[U>>2]=c[e>>2];c[V>>2]=c[f>>2];Mc[ca&127](b,d,U,V,g,h,j);i=l;return};case 88:{ca=d+8|0;ea=Fc[c[(c[ca>>2]|0)+24>>2]&255](ca)|0;ca=e|0;c[X>>2]=c[ca>>2];c[Y>>2]=c[f>>2];fa=a[ea]|0;if((fa&1)==0){ga=(fa&255)>>>1;ha=ea+1|0;ia=ea+1|0}else{fa=c[ea+8>>2]|0;ga=c[ea+4>>2]|0;ha=fa;ia=fa}Bp(W,d,X,Y,g,h,j,ha,ia+ga|0);c[ca>>2]=c[W>>2];break};case 99:{ca=d+8|0;fa=Fc[c[(c[ca>>2]|0)+12>>2]&255](ca)|0;ca=e|0;c[B>>2]=c[ca>>2];c[C>>2]=c[f>>2];ea=a[fa]|0;if((ea&1)==0){ja=(ea&255)>>>1;ka=fa+1|0;la=fa+1|0}else{ea=c[fa+8>>2]|0;ja=c[fa+4>>2]|0;ka=ea;la=ea}Bp(A,d,B,C,g,h,j,ka,la+ja|0);c[ca>>2]=c[A>>2];break};case 72:{c[u>>2]=c[f>>2];ca=Op(e,u,h,ba,2)|0;ea=c[h>>2]|0;if((ea&4|0)==0&(ca|0)<24){c[j+8>>2]=ca;break a}else{c[h>>2]=ea|4;break a}break};case 89:{c[m>>2]=c[f>>2];ea=Op(e,m,h,ba,4)|0;if((c[h>>2]&4|0)!=0){break a}c[j+20>>2]=ea-1900;break};case 37:{c[Z>>2]=c[f>>2];Np(0,e,Z,h,ba);break};case 100:case 101:{ea=j+12|0;c[v>>2]=c[f>>2];ca=Op(e,v,h,ba,2)|0;fa=c[h>>2]|0;do{if((fa&4|0)==0){if(!((ca-1|0)>>>0<31>>>0)){break}c[ea>>2]=ca;break a}}while(0);c[h>>2]=fa|4;break};default:{c[h>>2]=c[h>>2]|4}}}while(0);c[b>>2]=c[e>>2];i=l;return}}while(0);l=pc(4)|0;lu(l);Fb(l|0,25544,156)}function Lp(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;j=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[j>>2];j=e|0;e=f|0;f=h+8|0;a:while(1){h=c[j>>2]|0;do{if((h|0)==0){k=0}else{if((c[h+12>>2]|0)!=(c[h+16>>2]|0)){k=h;break}if((Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0)==-1){c[j>>2]=0;k=0;break}else{k=c[j>>2]|0;break}}}while(0);h=(k|0)==0;l=c[e>>2]|0;do{if((l|0)==0){m=12}else{if((c[l+12>>2]|0)!=(c[l+16>>2]|0)){if(h){n=l;break}else{o=l;break a}}if((Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0)==-1){c[e>>2]=0;m=12;break}else{if(h){n=l;break}else{o=l;break a}}}}while(0);if((m|0)==12){m=0;if(h){o=0;break}else{n=0}}l=c[j>>2]|0;p=c[l+12>>2]|0;if((p|0)==(c[l+16>>2]|0)){q=(Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0)&255}else{q=a[p]|0}if(!(q<<24>>24>-1)){o=n;break}if((b[(c[f>>2]|0)+(q<<24>>24<<1)>>1]&8192)==0){o=n;break}p=c[j>>2]|0;l=p+12|0;r=c[l>>2]|0;if((r|0)==(c[p+16>>2]|0)){Fc[c[(c[p>>2]|0)+40>>2]&255](p)|0;continue}else{c[l>>2]=r+1;continue}}n=c[j>>2]|0;do{if((n|0)==0){s=0}else{if((c[n+12>>2]|0)!=(c[n+16>>2]|0)){s=n;break}if((Fc[c[(c[n>>2]|0)+36>>2]&255](n)|0)==-1){c[j>>2]=0;s=0;break}else{s=c[j>>2]|0;break}}}while(0);j=(s|0)==0;b:do{if((o|0)==0){m=32}else{do{if((c[o+12>>2]|0)==(c[o+16>>2]|0)){if(!((Fc[c[(c[o>>2]|0)+36>>2]&255](o)|0)==-1)){break}c[e>>2]=0;m=32;break b}}while(0);if(!j){break}i=d;return}}while(0);do{if((m|0)==32){if(j){break}i=d;return}}while(0);c[g>>2]=c[g>>2]|2;i=d;return}function Mp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+8|0;k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=j|0;l=b+8|0;b=Fc[c[(c[l>>2]|0)+8>>2]&255](l)|0;l=a[b]|0;if((l&1)==0){m=(l&255)>>>1}else{m=c[b+4>>2]|0}l=a[b+12|0]|0;if((l&1)==0){n=(l&255)>>>1}else{n=c[b+16>>2]|0}if((m|0)==(-n|0)){c[g>>2]=c[g>>2]|4;i=j;return}c[k>>2]=c[f>>2];f=bo(e,k,b,b+24|0,h,g,0)|0;g=f-b|0;do{if((f|0)==(b|0)){if((c[d>>2]|0)!=12){break}c[d>>2]=0;i=j;return}}while(0);if((g|0)!=12){i=j;return}g=c[d>>2]|0;if((g|0)>=12){i=j;return}c[d>>2]=g+12;i=j;return}function Np(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;b=i;h=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[h>>2];h=d|0;d=c[h>>2]|0;do{if((d|0)==0){j=0}else{if((c[d+12>>2]|0)!=(c[d+16>>2]|0)){j=d;break}if((Fc[c[(c[d>>2]|0)+36>>2]&255](d)|0)==-1){c[h>>2]=0;j=0;break}else{j=c[h>>2]|0;break}}}while(0);d=(j|0)==0;j=e|0;e=c[j>>2]|0;a:do{if((e|0)==0){k=11}else{do{if((c[e+12>>2]|0)==(c[e+16>>2]|0)){if(!((Fc[c[(c[e>>2]|0)+36>>2]&255](e)|0)==-1)){break}c[j>>2]=0;k=11;break a}}while(0);if(d){l=e}else{k=12}}}while(0);if((k|0)==11){if(d){k=12}else{l=0}}if((k|0)==12){c[f>>2]=c[f>>2]|6;i=b;return}d=c[h>>2]|0;e=c[d+12>>2]|0;if((e|0)==(c[d+16>>2]|0)){m=(Fc[c[(c[d>>2]|0)+36>>2]&255](d)|0)&255}else{m=a[e]|0}if(!((Hc[c[(c[g>>2]|0)+36>>2]&63](g,m,0)|0)<<24>>24==37)){c[f>>2]=c[f>>2]|4;i=b;return}m=c[h>>2]|0;g=m+12|0;e=c[g>>2]|0;if((e|0)==(c[m+16>>2]|0)){Fc[c[(c[m>>2]|0)+40>>2]&255](m)|0}else{c[g>>2]=e+1}e=c[h>>2]|0;do{if((e|0)==0){n=0}else{if((c[e+12>>2]|0)!=(c[e+16>>2]|0)){n=e;break}if((Fc[c[(c[e>>2]|0)+36>>2]&255](e)|0)==-1){c[h>>2]=0;n=0;break}else{n=c[h>>2]|0;break}}}while(0);h=(n|0)==0;b:do{if((l|0)==0){k=31}else{do{if((c[l+12>>2]|0)==(c[l+16>>2]|0)){if(!((Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0)==-1)){break}c[j>>2]=0;k=31;break b}}while(0);if(!h){break}i=b;return}}while(0);do{if((k|0)==31){if(h){break}i=b;return}}while(0);c[f>>2]=c[f>>2]|2;i=b;return}function Op(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=i;k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=d|0;d=c[k>>2]|0;do{if((d|0)==0){l=0}else{if((c[d+12>>2]|0)!=(c[d+16>>2]|0)){l=d;break}if((Fc[c[(c[d>>2]|0)+36>>2]&255](d)|0)==-1){c[k>>2]=0;l=0;break}else{l=c[k>>2]|0;break}}}while(0);d=(l|0)==0;l=e|0;e=c[l>>2]|0;a:do{if((e|0)==0){m=11}else{do{if((c[e+12>>2]|0)==(c[e+16>>2]|0)){if(!((Fc[c[(c[e>>2]|0)+36>>2]&255](e)|0)==-1)){break}c[l>>2]=0;m=11;break a}}while(0);if(d){n=e}else{m=12}}}while(0);if((m|0)==11){if(d){m=12}else{n=0}}if((m|0)==12){c[f>>2]=c[f>>2]|6;o=0;i=j;return o|0}d=c[k>>2]|0;e=c[d+12>>2]|0;if((e|0)==(c[d+16>>2]|0)){p=(Fc[c[(c[d>>2]|0)+36>>2]&255](d)|0)&255}else{p=a[e]|0}do{if(p<<24>>24>-1){e=g+8|0;if((b[(c[e>>2]|0)+(p<<24>>24<<1)>>1]&2048)==0){break}d=g;q=(Hc[c[(c[d>>2]|0)+36>>2]&63](g,p,0)|0)<<24>>24;r=c[k>>2]|0;s=r+12|0;t=c[s>>2]|0;if((t|0)==(c[r+16>>2]|0)){Fc[c[(c[r>>2]|0)+40>>2]&255](r)|0;u=q;v=h;w=n;x=n}else{c[s>>2]=t+1;u=q;v=h;w=n;x=n}while(1){y=u-48|0;q=v-1|0;t=c[k>>2]|0;do{if((t|0)==0){z=0}else{if((c[t+12>>2]|0)!=(c[t+16>>2]|0)){z=t;break}if((Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0)==-1){c[k>>2]=0;z=0;break}else{z=c[k>>2]|0;break}}}while(0);t=(z|0)==0;do{if((w|0)==0){A=0;B=x}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){A=w;B=x;break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){A=x;B=x;break}c[l>>2]=0;A=0;B=0}}while(0);C=c[k>>2]|0;if(!((t^(A|0)==0)&(q|0)>0)){m=40;break}s=c[C+12>>2]|0;if((s|0)==(c[C+16>>2]|0)){D=(Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)&255}else{D=a[s]|0}if(!(D<<24>>24>-1)){o=y;m=52;break}if((b[(c[e>>2]|0)+(D<<24>>24<<1)>>1]&2048)==0){o=y;m=52;break}s=((Hc[c[(c[d>>2]|0)+36>>2]&63](g,D,0)|0)<<24>>24)+(y*10|0)|0;r=c[k>>2]|0;E=r+12|0;F=c[E>>2]|0;if((F|0)==(c[r+16>>2]|0)){Fc[c[(c[r>>2]|0)+40>>2]&255](r)|0;u=s;v=q;w=A;x=B;continue}else{c[E>>2]=F+1;u=s;v=q;w=A;x=B;continue}}if((m|0)==40){do{if((C|0)==0){G=0}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){G=C;break}if((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1){c[k>>2]=0;G=0;break}else{G=c[k>>2]|0;break}}}while(0);d=(G|0)==0;b:do{if((B|0)==0){m=50}else{do{if((c[B+12>>2]|0)==(c[B+16>>2]|0)){if(!((Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)==-1)){break}c[l>>2]=0;m=50;break b}}while(0);if(d){o=y}else{break}i=j;return o|0}}while(0);do{if((m|0)==50){if(d){break}else{o=y}i=j;return o|0}}while(0);c[f>>2]=c[f>>2]|2;o=y;i=j;return o|0}else if((m|0)==52){i=j;return o|0}}}while(0);c[f>>2]=c[f>>2]|4;o=0;i=j;return o|0}function Pp(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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;l=i;i=i+48|0;m=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[m>>2];m=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[m>>2];m=l|0;n=l+16|0;o=l+24|0;p=l+32|0;q=l+40|0;Lm(n,f);r=n|0;n=c[r>>2]|0;if(!((c[8714]|0)==-1)){c[m>>2]=34856;c[m+4>>2]=16;c[m+8>>2]=0;mm(34856,m,114)}m=(c[8715]|0)-1|0;s=c[n+8>>2]|0;do{if((c[n+12>>2]|0)-s>>2>>>0>m>>>0){t=c[s+(m<<2)>>2]|0;if((t|0)==0){break}u=t;Ul(c[r>>2]|0)|0;c[g>>2]=0;v=d|0;a:do{if((j|0)==(k|0)){w=71}else{x=e|0;y=t;z=t;A=t;B=b;C=p|0;D=q|0;E=o|0;F=j;G=0;b:while(1){H=G;while(1){if((H|0)!=0){w=71;break a}I=c[v>>2]|0;do{if((I|0)==0){J=1;K=0}else{L=c[I+12>>2]|0;if((L|0)==(c[I+16>>2]|0)){M=Fc[c[(c[I>>2]|0)+36>>2]&255](I)|0}else{M=c[L>>2]|0}if(!((M|0)==-1)){J=0;K=I;break}c[v>>2]=0;J=1;K=0}}while(0);I=c[x>>2]|0;do{if((I|0)==0){w=23}else{L=c[I+12>>2]|0;if((L|0)==(c[I+16>>2]|0)){N=Fc[c[(c[I>>2]|0)+36>>2]&255](I)|0}else{N=c[L>>2]|0}if((N|0)==-1){c[x>>2]=0;w=23;break}else{if(J){O=I;break}else{w=25;break b}}}}while(0);if((w|0)==23){w=0;if(J){w=25;break b}else{O=0}}if((Hc[c[(c[y>>2]|0)+52>>2]&63](u,c[F>>2]|0,0)|0)<<24>>24==37){w=28;break}if(Hc[c[(c[z>>2]|0)+12>>2]&63](u,8192,c[F>>2]|0)|0){P=F;w=38;break}Q=K+12|0;I=c[Q>>2]|0;R=K+16|0;if((I|0)==(c[R>>2]|0)){S=Fc[c[(c[K>>2]|0)+36>>2]&255](K)|0}else{S=c[I>>2]|0}I=Qc[c[(c[A>>2]|0)+28>>2]&63](u,S)|0;if((I|0)==(Qc[c[(c[A>>2]|0)+28>>2]&63](u,c[F>>2]|0)|0)){w=66;break}c[g>>2]=4;H=4}c:do{if((w|0)==28){w=0;H=F+4|0;if((H|0)==(k|0)){w=29;break b}I=Hc[c[(c[y>>2]|0)+52>>2]&63](u,c[H>>2]|0,0)|0;if((I<<24>>24|0)==69|(I<<24>>24|0)==48){L=F+8|0;if((L|0)==(k|0)){w=32;break b}T=I;U=Hc[c[(c[y>>2]|0)+52>>2]&63](u,c[L>>2]|0,0)|0;V=L}else{T=0;U=I;V=H}H=c[(c[B>>2]|0)+36>>2]|0;c[C>>2]=K;c[D>>2]=O;Oc[H&15](o,b,p,q,f,g,h,U,T);c[v>>2]=c[E>>2];W=V+4|0}else if((w|0)==38){while(1){w=0;H=P+4|0;if((H|0)==(k|0)){X=k;break}if(Hc[c[(c[z>>2]|0)+12>>2]&63](u,8192,c[H>>2]|0)|0){P=H;w=38}else{X=H;break}}H=K;I=O;L=O;while(1){do{if((H|0)==0){Y=1;Z=0}else{_=c[H+12>>2]|0;if((_|0)==(c[H+16>>2]|0)){$=Fc[c[(c[H>>2]|0)+36>>2]&255](H)|0}else{$=c[_>>2]|0}if(!(($|0)==-1)){Y=0;Z=H;break}c[v>>2]=0;Y=1;Z=0}}while(0);do{if((I|0)==0){aa=L;w=53}else{_=c[I+12>>2]|0;if((_|0)==(c[I+16>>2]|0)){ba=Fc[c[(c[I>>2]|0)+36>>2]&255](I)|0}else{ba=c[_>>2]|0}if((ba|0)==-1){c[x>>2]=0;aa=0;w=53;break}else{if(Y^(L|0)==0){ca=L;da=L;break}else{W=X;break c}}}}while(0);if((w|0)==53){w=0;if(Y){W=X;break c}else{ca=0;da=aa}}_=Z+12|0;ea=c[_>>2]|0;fa=Z+16|0;if((ea|0)==(c[fa>>2]|0)){ga=Fc[c[(c[Z>>2]|0)+36>>2]&255](Z)|0}else{ga=c[ea>>2]|0}if(!(Hc[c[(c[z>>2]|0)+12>>2]&63](u,8192,ga)|0)){W=X;break c}ea=c[_>>2]|0;if((ea|0)==(c[fa>>2]|0)){Fc[c[(c[Z>>2]|0)+40>>2]&255](Z)|0;H=Z;I=ca;L=da;continue}else{c[_>>2]=ea+4;H=Z;I=ca;L=da;continue}}}else if((w|0)==66){w=0;L=c[Q>>2]|0;if((L|0)==(c[R>>2]|0)){Fc[c[(c[K>>2]|0)+40>>2]&255](K)|0}else{c[Q>>2]=L+4}W=F+4|0}}while(0);if((W|0)==(k|0)){w=71;break a}F=W;G=c[g>>2]|0}if((w|0)==25){c[g>>2]=4;ha=K;break}else if((w|0)==29){c[g>>2]=4;ha=K;break}else if((w|0)==32){c[g>>2]=4;ha=K;break}}}while(0);if((w|0)==71){ha=c[v>>2]|0}u=d|0;do{if((ha|0)==0){ia=1;ja=0}else{t=c[ha+12>>2]|0;if((t|0)==(c[ha+16>>2]|0)){ka=Fc[c[(c[ha>>2]|0)+36>>2]&255](ha)|0}else{ka=c[t>>2]|0}if(!((ka|0)==-1)){ia=0;ja=ha;break}c[u>>2]=0;ia=1;ja=0}}while(0);u=e|0;v=c[u>>2]|0;do{if((v|0)==0){w=84}else{t=c[v+12>>2]|0;if((t|0)==(c[v+16>>2]|0)){la=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{la=c[t>>2]|0}if((la|0)==-1){c[u>>2]=0;w=84;break}if(!ia){break}ma=a|0;c[ma>>2]=ja;i=l;return}}while(0);do{if((w|0)==84){if(ia){break}ma=a|0;c[ma>>2]=ja;i=l;return}}while(0);c[g>>2]=c[g>>2]|2;ma=a|0;c[ma>>2]=ja;i=l;return}}while(0);l=pc(4)|0;lu(l);Fb(l|0,25544,156)}function Qp(a){a=a|0;Sl(a|0);Pu(a);return}function Rp(a){a=a|0;Sl(a|0);return}function Sp(a){a=a|0;return 2}function Tp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;j=i;i=i+16|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+8|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];Pp(a,b,k,l,f,g,h,19344,19376);i=j;return}function Up(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+16|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=k|0;m=k+8|0;n=d+8|0;o=Fc[c[(c[n>>2]|0)+20>>2]&255](n)|0;c[l>>2]=c[e>>2];c[m>>2]=c[f>>2];f=a[o]|0;if((f&1)==0){p=(f&255)>>>1;q=o+4|0;r=o+4|0}else{f=c[o+8>>2]|0;p=c[o+4>>2]|0;q=f;r=f}Pp(b,d,l,m,g,h,j,q,r+(p<<2)|0);i=k;return}function Vp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+8|0;m=j+24|0;Lm(m,f);f=m|0;m=c[f>>2]|0;if(!((c[8714]|0)==-1)){c[l>>2]=34856;c[l+4>>2]=16;c[l+8>>2]=0;mm(34856,l,114)}l=(c[8715]|0)-1|0;n=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-n>>2>>>0>l>>>0){o=c[n+(l<<2)>>2]|0;if((o|0)==0){break}Ul(c[f>>2]|0)|0;p=c[e>>2]|0;q=b+8|0;r=Fc[c[c[q>>2]>>2]&255](q)|0;c[k>>2]=p;p=(Bo(d,k,r,r+168|0,o,g,0)|0)-r|0;if((p|0)>=168){s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}c[h+24>>2]=((p|0)/12|0|0)%7|0;s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}}while(0);j=pc(4)|0;lu(j);Fb(j|0,25544,156)}function Wp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;l=j+8|0;m=j+24|0;Lm(m,f);f=m|0;m=c[f>>2]|0;if(!((c[8714]|0)==-1)){c[l>>2]=34856;c[l+4>>2]=16;c[l+8>>2]=0;mm(34856,l,114)}l=(c[8715]|0)-1|0;n=c[m+8>>2]|0;do{if((c[m+12>>2]|0)-n>>2>>>0>l>>>0){o=c[n+(l<<2)>>2]|0;if((o|0)==0){break}Ul(c[f>>2]|0)|0;p=c[e>>2]|0;q=b+8|0;r=Fc[c[(c[q>>2]|0)+4>>2]&255](q)|0;c[k>>2]=p;p=(Bo(d,k,r,r+288|0,o,g,0)|0)-r|0;if((p|0)>=288){s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}c[h+16>>2]=((p|0)/12|0|0)%12|0;s=4;t=0;u=d|0;v=c[u>>2]|0;w=a|0;c[w>>2]=v;i=j;return}}while(0);j=pc(4)|0;lu(j);Fb(j|0,25544,156)}function Xp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=i;i=i+32|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;k=b+8|0;l=b+24|0;Lm(l,f);f=l|0;l=c[f>>2]|0;if(!((c[8714]|0)==-1)){c[k>>2]=34856;c[k+4>>2]=16;c[k+8>>2]=0;mm(34856,k,114)}k=(c[8715]|0)-1|0;m=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-m>>2>>>0>k>>>0){n=c[m+(k<<2)>>2]|0;if((n|0)==0){break}Ul(c[f>>2]|0)|0;c[j>>2]=c[e>>2];o=aq(d,j,g,n,4)|0;if((c[g>>2]&4|0)!=0){p=4;q=0;r=d|0;s=c[r>>2]|0;t=a|0;c[t>>2]=s;i=b;return}if((o|0)<69){u=o+2e3|0}else{u=(o-69|0)>>>0<31>>>0?o+1900|0:o}c[h+20>>2]=u-1900;p=4;q=0;r=d|0;s=c[r>>2]|0;t=a|0;c[t>>2]=s;i=b;return}}while(0);b=pc(4)|0;lu(b);Fb(b|0,25544,156)}function Yp(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;l=i;i=i+328|0;m=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[m>>2];m=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[m>>2];m=l|0;n=l+8|0;o=l+16|0;p=l+24|0;q=l+32|0;r=l+40|0;s=l+48|0;t=l+56|0;u=l+64|0;v=l+72|0;w=l+80|0;x=l+88|0;y=l+96|0;z=l+112|0;A=l+120|0;B=l+128|0;C=l+136|0;D=l+144|0;E=l+152|0;F=l+160|0;G=l+168|0;H=l+176|0;I=l+184|0;J=l+192|0;K=l+200|0;L=l+208|0;M=l+216|0;N=l+224|0;O=l+232|0;P=l+240|0;Q=l+248|0;R=l+256|0;S=l+264|0;T=l+272|0;U=l+280|0;V=l+288|0;W=l+296|0;X=l+304|0;Y=l+312|0;Z=l+320|0;c[h>>2]=0;Lm(z,g);_=z|0;z=c[_>>2]|0;if(!((c[8714]|0)==-1)){c[y>>2]=34856;c[y+4>>2]=16;c[y+8>>2]=0;mm(34856,y,114)}y=(c[8715]|0)-1|0;$=c[z+8>>2]|0;do{if((c[z+12>>2]|0)-$>>2>>>0>y>>>0){aa=c[$+(y<<2)>>2]|0;if((aa|0)==0){break}ba=aa;Ul(c[_>>2]|0)|0;a:do{switch(k<<24>>24|0){case 84:{aa=e|0;c[S>>2]=c[aa>>2];c[T>>2]=c[f>>2];Pp(R,d,S,T,g,h,j,19208,19240);c[aa>>2]=c[R>>2];break};case 119:{c[o>>2]=c[f>>2];aa=aq(e,o,h,ba,1)|0;ca=c[h>>2]|0;if((ca&4|0)==0&(aa|0)<7){c[j+24>>2]=aa;break a}else{c[h>>2]=ca|4;break a}break};case 77:{c[q>>2]=c[f>>2];ca=aq(e,q,h,ba,2)|0;aa=c[h>>2]|0;if((aa&4|0)==0&(ca|0)<60){c[j+4>>2]=ca;break a}else{c[h>>2]=aa|4;break a}break};case 110:case 116:{c[J>>2]=c[f>>2];Zp(0,e,J,h,ba);break};case 82:{aa=e|0;c[P>>2]=c[aa>>2];c[Q>>2]=c[f>>2];Pp(O,d,P,Q,g,h,j,19240,19260);c[aa>>2]=c[O>>2];break};case 106:{c[s>>2]=c[f>>2];aa=aq(e,s,h,ba,3)|0;ca=c[h>>2]|0;if((ca&4|0)==0&(aa|0)<366){c[j+28>>2]=aa;break a}else{c[h>>2]=ca|4;break a}break};case 89:{c[m>>2]=c[f>>2];ca=aq(e,m,h,ba,4)|0;if((c[h>>2]&4|0)!=0){break a}c[j+20>>2]=ca-1900;break};case 37:{c[Z>>2]=c[f>>2];$p(0,e,Z,h,ba);break};case 109:{c[r>>2]=c[f>>2];ca=aq(e,r,h,ba,2)|0;aa=c[h>>2]|0;if((aa&4|0)==0&(ca|0)<13){c[j+16>>2]=ca-1;break a}else{c[h>>2]=aa|4;break a}break};case 72:{c[u>>2]=c[f>>2];aa=aq(e,u,h,ba,2)|0;ca=c[h>>2]|0;if((ca&4|0)==0&(aa|0)<24){c[j+8>>2]=aa;break a}else{c[h>>2]=ca|4;break a}break};case 98:case 66:case 104:{ca=c[f>>2]|0;aa=d+8|0;da=Fc[c[(c[aa>>2]|0)+4>>2]&255](aa)|0;c[w>>2]=ca;ca=(Bo(e,w,da,da+288|0,ba,h,0)|0)-da|0;if((ca|0)>=288){break a}c[j+16>>2]=((ca|0)/12|0|0)%12|0;break};case 68:{ca=e|0;c[E>>2]=c[ca>>2];c[F>>2]=c[f>>2];Pp(D,d,E,F,g,h,j,19312,19344);c[ca>>2]=c[D>>2];break};case 112:{c[K>>2]=c[f>>2];_p(d,j+8|0,e,K,h,ba);break};case 114:{ca=e|0;c[M>>2]=c[ca>>2];c[N>>2]=c[f>>2];Pp(L,d,M,N,g,h,j,19264,19308);c[ca>>2]=c[L>>2];break};case 73:{ca=j+8|0;c[t>>2]=c[f>>2];da=aq(e,t,h,ba,2)|0;aa=c[h>>2]|0;do{if((aa&4|0)==0){if(!((da-1|0)>>>0<12>>>0)){break}c[ca>>2]=da;break a}}while(0);c[h>>2]=aa|4;break};case 120:{da=c[(c[d>>2]|0)+20>>2]|0;c[U>>2]=c[e>>2];c[V>>2]=c[f>>2];Mc[da&127](b,d,U,V,g,h,j);i=l;return};case 88:{da=d+8|0;ca=Fc[c[(c[da>>2]|0)+24>>2]&255](da)|0;da=e|0;c[X>>2]=c[da>>2];c[Y>>2]=c[f>>2];ea=a[ca]|0;if((ea&1)==0){fa=(ea&255)>>>1;ga=ca+4|0;ha=ca+4|0}else{ea=c[ca+8>>2]|0;fa=c[ca+4>>2]|0;ga=ea;ha=ea}Pp(W,d,X,Y,g,h,j,ga,ha+(fa<<2)|0);c[da>>2]=c[W>>2];break};case 121:{c[n>>2]=c[f>>2];da=aq(e,n,h,ba,4)|0;if((c[h>>2]&4|0)!=0){break a}if((da|0)<69){ia=da+2e3|0}else{ia=(da-69|0)>>>0<31>>>0?da+1900|0:da}c[j+20>>2]=ia-1900;break};case 70:{da=e|0;c[H>>2]=c[da>>2];c[I>>2]=c[f>>2];Pp(G,d,H,I,g,h,j,19176,19208);c[da>>2]=c[G>>2];break};case 100:case 101:{da=j+12|0;c[v>>2]=c[f>>2];ea=aq(e,v,h,ba,2)|0;ca=c[h>>2]|0;do{if((ca&4|0)==0){if(!((ea-1|0)>>>0<31>>>0)){break}c[da>>2]=ea;break a}}while(0);c[h>>2]=ca|4;break};case 83:{c[p>>2]=c[f>>2];ea=aq(e,p,h,ba,2)|0;da=c[h>>2]|0;if((da&4|0)==0&(ea|0)<61){c[j>>2]=ea;break a}else{c[h>>2]=da|4;break a}break};case 99:{da=d+8|0;ea=Fc[c[(c[da>>2]|0)+12>>2]&255](da)|0;da=e|0;c[B>>2]=c[da>>2];c[C>>2]=c[f>>2];aa=a[ea]|0;if((aa&1)==0){ja=(aa&255)>>>1;ka=ea+4|0;la=ea+4|0}else{aa=c[ea+8>>2]|0;ja=c[ea+4>>2]|0;ka=aa;la=aa}Pp(A,d,B,C,g,h,j,ka,la+(ja<<2)|0);c[da>>2]=c[A>>2];break};case 97:case 65:{da=c[f>>2]|0;aa=d+8|0;ea=Fc[c[c[aa>>2]>>2]&255](aa)|0;c[x>>2]=da;da=(Bo(e,x,ea,ea+168|0,ba,h,0)|0)-ea|0;if((da|0)>=168){break a}c[j+24>>2]=((da|0)/12|0|0)%7|0;break};default:{c[h>>2]=c[h>>2]|4}}}while(0);c[b>>2]=c[e>>2];i=l;return}}while(0);l=pc(4)|0;lu(l);Fb(l|0,25544,156)}function Zp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;a=i;g=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[g>>2];g=b|0;b=d|0;d=f;a:while(1){h=c[g>>2]|0;do{if((h|0)==0){j=1}else{k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0)){l=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{l=c[k>>2]|0}if((l|0)==-1){c[g>>2]=0;j=1;break}else{j=(c[g>>2]|0)==0;break}}}while(0);h=c[b>>2]|0;do{if((h|0)==0){m=15}else{k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0)){n=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{n=c[k>>2]|0}if((n|0)==-1){c[b>>2]=0;m=15;break}else{if(j){o=h;break}else{p=h;break a}}}}while(0);if((m|0)==15){m=0;if(j){p=0;break}else{o=0}}h=c[g>>2]|0;k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0)){q=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{q=c[k>>2]|0}if(!(Hc[c[(c[d>>2]|0)+12>>2]&63](f,8192,q)|0)){p=o;break}k=c[g>>2]|0;h=k+12|0;r=c[h>>2]|0;if((r|0)==(c[k+16>>2]|0)){Fc[c[(c[k>>2]|0)+40>>2]&255](k)|0;continue}else{c[h>>2]=r+4;continue}}o=c[g>>2]|0;do{if((o|0)==0){s=1}else{q=c[o+12>>2]|0;if((q|0)==(c[o+16>>2]|0)){t=Fc[c[(c[o>>2]|0)+36>>2]&255](o)|0}else{t=c[q>>2]|0}if((t|0)==-1){c[g>>2]=0;s=1;break}else{s=(c[g>>2]|0)==0;break}}}while(0);do{if((p|0)==0){m=37}else{g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0)){u=Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0}else{u=c[g>>2]|0}if((u|0)==-1){c[b>>2]=0;m=37;break}if(!s){break}i=a;return}}while(0);do{if((m|0)==37){if(s){break}i=a;return}}while(0);c[e>>2]=c[e>>2]|2;i=a;return}function _p(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+8|0;k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=j|0;l=b+8|0;b=Fc[c[(c[l>>2]|0)+8>>2]&255](l)|0;l=a[b]|0;if((l&1)==0){m=(l&255)>>>1}else{m=c[b+4>>2]|0}l=a[b+12|0]|0;if((l&1)==0){n=(l&255)>>>1}else{n=c[b+16>>2]|0}if((m|0)==(-n|0)){c[g>>2]=c[g>>2]|4;i=j;return}c[k>>2]=c[f>>2];f=Bo(e,k,b,b+24|0,h,g,0)|0;g=f-b|0;do{if((f|0)==(b|0)){if((c[d>>2]|0)!=12){break}c[d>>2]=0;i=j;return}}while(0);if((g|0)!=12){i=j;return}g=c[d>>2]|0;if((g|0)>=12){i=j;return}c[d>>2]=g+12;i=j;return}function $p(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;g=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[g>>2];g=b|0;b=c[g>>2]|0;do{if((b|0)==0){h=1}else{j=c[b+12>>2]|0;if((j|0)==(c[b+16>>2]|0)){k=Fc[c[(c[b>>2]|0)+36>>2]&255](b)|0}else{k=c[j>>2]|0}if((k|0)==-1){c[g>>2]=0;h=1;break}else{h=(c[g>>2]|0)==0;break}}}while(0);k=d|0;d=c[k>>2]|0;do{if((d|0)==0){l=14}else{b=c[d+12>>2]|0;if((b|0)==(c[d+16>>2]|0)){m=Fc[c[(c[d>>2]|0)+36>>2]&255](d)|0}else{m=c[b>>2]|0}if((m|0)==-1){c[k>>2]=0;l=14;break}else{if(h){n=d;break}else{l=16;break}}}}while(0);if((l|0)==14){if(h){l=16}else{n=0}}if((l|0)==16){c[e>>2]=c[e>>2]|6;i=a;return}h=c[g>>2]|0;d=c[h+12>>2]|0;if((d|0)==(c[h+16>>2]|0)){o=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{o=c[d>>2]|0}if(!((Hc[c[(c[f>>2]|0)+52>>2]&63](f,o,0)|0)<<24>>24==37)){c[e>>2]=c[e>>2]|4;i=a;return}o=c[g>>2]|0;f=o+12|0;d=c[f>>2]|0;if((d|0)==(c[o+16>>2]|0)){Fc[c[(c[o>>2]|0)+40>>2]&255](o)|0}else{c[f>>2]=d+4}d=c[g>>2]|0;do{if((d|0)==0){p=1}else{f=c[d+12>>2]|0;if((f|0)==(c[d+16>>2]|0)){q=Fc[c[(c[d>>2]|0)+36>>2]&255](d)|0}else{q=c[f>>2]|0}if((q|0)==-1){c[g>>2]=0;p=1;break}else{p=(c[g>>2]|0)==0;break}}}while(0);do{if((n|0)==0){l=38}else{g=c[n+12>>2]|0;if((g|0)==(c[n+16>>2]|0)){r=Fc[c[(c[n>>2]|0)+36>>2]&255](n)|0}else{r=c[g>>2]|0}if((r|0)==-1){c[k>>2]=0;l=38;break}if(!p){break}i=a;return}}while(0);do{if((l|0)==38){if(p){break}i=a;return}}while(0);c[e>>2]=c[e>>2]|2;i=a;return}function aq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=i;h=b;b=i;i=i+4|0;i=i+7&-8;c[b>>2]=c[h>>2];h=a|0;a=c[h>>2]|0;do{if((a|0)==0){j=1}else{k=c[a+12>>2]|0;if((k|0)==(c[a+16>>2]|0)){l=Fc[c[(c[a>>2]|0)+36>>2]&255](a)|0}else{l=c[k>>2]|0}if((l|0)==-1){c[h>>2]=0;j=1;break}else{j=(c[h>>2]|0)==0;break}}}while(0);l=b|0;b=c[l>>2]|0;do{if((b|0)==0){m=14}else{a=c[b+12>>2]|0;if((a|0)==(c[b+16>>2]|0)){n=Fc[c[(c[b>>2]|0)+36>>2]&255](b)|0}else{n=c[a>>2]|0}if((n|0)==-1){c[l>>2]=0;m=14;break}else{if(j){o=b;break}else{m=16;break}}}}while(0);if((m|0)==14){if(j){m=16}else{o=0}}if((m|0)==16){c[d>>2]=c[d>>2]|6;p=0;i=g;return p|0}j=c[h>>2]|0;b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){q=Fc[c[(c[j>>2]|0)+36>>2]&255](j)|0}else{q=c[b>>2]|0}b=e;if(!(Hc[c[(c[b>>2]|0)+12>>2]&63](e,2048,q)|0)){c[d>>2]=c[d>>2]|4;p=0;i=g;return p|0}j=e;n=(Hc[c[(c[j>>2]|0)+52>>2]&63](e,q,0)|0)<<24>>24;q=c[h>>2]|0;a=q+12|0;k=c[a>>2]|0;if((k|0)==(c[q+16>>2]|0)){Fc[c[(c[q>>2]|0)+40>>2]&255](q)|0;r=n;s=f;t=o;u=o}else{c[a>>2]=k+4;r=n;s=f;t=o;u=o}while(1){v=r-48|0;o=s-1|0;f=c[h>>2]|0;do{if((f|0)==0){w=1}else{n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0)){x=Fc[c[(c[f>>2]|0)+36>>2]&255](f)|0}else{x=c[n>>2]|0}if((x|0)==-1){c[h>>2]=0;w=1;break}else{w=(c[h>>2]|0)==0;break}}}while(0);do{if((t|0)==0){y=1;z=0;A=u}else{f=c[t+12>>2]|0;if((f|0)==(c[t+16>>2]|0)){B=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{B=c[f>>2]|0}if((B|0)==-1){c[l>>2]=0;y=1;z=0;A=0;break}else{y=(u|0)==0;z=u;A=u;break}}}while(0);C=c[h>>2]|0;if(!((w^y)&(o|0)>0)){break}f=c[C+12>>2]|0;if((f|0)==(c[C+16>>2]|0)){D=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{D=c[f>>2]|0}if(!(Hc[c[(c[b>>2]|0)+12>>2]&63](e,2048,D)|0)){p=v;m=63;break}f=((Hc[c[(c[j>>2]|0)+52>>2]&63](e,D,0)|0)<<24>>24)+(v*10|0)|0;n=c[h>>2]|0;k=n+12|0;a=c[k>>2]|0;if((a|0)==(c[n+16>>2]|0)){Fc[c[(c[n>>2]|0)+40>>2]&255](n)|0;r=f;s=o;t=z;u=A;continue}else{c[k>>2]=a+4;r=f;s=o;t=z;u=A;continue}}if((m|0)==63){i=g;return p|0}do{if((C|0)==0){E=1}else{u=c[C+12>>2]|0;if((u|0)==(c[C+16>>2]|0)){F=Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0}else{F=c[u>>2]|0}if((F|0)==-1){c[h>>2]=0;E=1;break}else{E=(c[h>>2]|0)==0;break}}}while(0);do{if((A|0)==0){m=60}else{h=c[A+12>>2]|0;if((h|0)==(c[A+16>>2]|0)){G=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{G=c[h>>2]|0}if((G|0)==-1){c[l>>2]=0;m=60;break}if(E){p=v}else{break}i=g;return p|0}}while(0);do{if((m|0)==60){if(E){break}else{p=v}i=g;return p|0}}while(0);c[d>>2]=c[d>>2]|2;p=v;i=g;return p|0}function bq(b){b=b|0;var d=0,e=0,f=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)!=(c[8330]|0)){pb(c[d>>2]|0)}Sl(b|0);Pu(b);return}function cq(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){g=b|0;Sl(g);return}pb(c[d>>2]|0);g=b|0;Sl(g);return}function dq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;g=i;i=i+112|0;f=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[f>>2];f=g|0;l=g+8|0;m=l|0;n=f|0;a[n]=37;o=f+1|0;a[o]=j;p=f+2|0;a[p]=k;a[f+3|0]=0;if(!(k<<24>>24==0)){a[o]=k;a[p]=j}j=gc(m|0,100,n|0,h|0,c[d+8>>2]|0)|0;d=l+j|0;l=c[e>>2]|0;if((j|0)==0){q=l;r=b|0;c[r>>2]=q;s=100;t=0;i=g;return}else{u=m;v=l;w=l}while(1){l=a[u]|0;do{if((v|0)==0){x=0;y=w}else{m=v+24|0;j=c[m>>2]|0;if((j|0)==(c[v+28>>2]|0)){e=(Qc[c[(c[v>>2]|0)+52>>2]&63](v,l&255)|0)==-1;x=e?0:v;y=e?0:w;break}else{c[m>>2]=j+1;a[j]=l;x=v;y=w;break}}}while(0);l=u+1|0;if((l|0)==(d|0)){q=y;break}else{u=l;v=x;w=y}}r=b|0;c[r>>2]=q;s=100;t=0;i=g;return}function eq(b){b=b|0;var d=0,e=0,f=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)!=(c[8330]|0)){pb(c[d>>2]|0)}Sl(b|0);Pu(b);return}function fq(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){g=b|0;Sl(g);return}pb(c[d>>2]|0);g=b|0;Sl(g);return}function gq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=i;i=i+408|0;e=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[e>>2];e=f|0;k=f+400|0;l=e|0;c[k>>2]=e+400;hq(b+8|0,l,k,g,h,j);j=c[k>>2]|0;k=c[d>>2]|0;if((l|0)==(j|0)){m=k;n=a|0;c[n>>2]=m;o=400;p=0;i=f;return}else{q=l;r=k;s=k}while(1){k=c[q>>2]|0;if((r|0)==0){t=0;u=s}else{l=r+24|0;d=c[l>>2]|0;if((d|0)==(c[r+28>>2]|0)){v=Qc[c[(c[r>>2]|0)+52>>2]&63](r,k)|0}else{c[l>>2]=d+4;c[d>>2]=k;v=k}k=(v|0)==-1;t=k?0:r;u=k?0:s}k=q+4|0;if((k|0)==(j|0)){m=u;break}else{q=k;r=t;s=u}}n=a|0;c[n>>2]=m;o=400;p=0;i=f;return}function hq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+120|0;k=j|0;l=j+112|0;m=i;i=i+4|0;i=i+7&-8;n=j+8|0;o=k|0;a[o]=37;p=k+1|0;a[p]=g;q=k+2|0;a[q]=h;a[k+3|0]=0;if(!(h<<24>>24==0)){a[p]=h;a[q]=g}g=b|0;gc(n|0,100,o|0,f|0,c[g>>2]|0)|0;c[l>>2]=0;c[l+4>>2]=0;c[m>>2]=n;n=(c[e>>2]|0)-d>>2;f=bc(c[g>>2]|0)|0;g=bu(d,m,n,l)|0;if((f|0)!=0){bc(f|0)|0}if((g|0)==-1){dr(8296)}else{c[e>>2]=d+(g<<2);i=j;return}}function iq(a){a=a|0;Sl(a|0);Pu(a);return}function jq(a){a=a|0;Sl(a|0);return}function kq(a){a=a|0;return 127}function lq(a){a=a|0;return 127}function mq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function nq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function oq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function pq(a,b){a=a|0;b=b|0;qm(a,1,45);return}function qq(a){a=a|0;return 0}function rq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function sq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function tq(a){a=a|0;Sl(a|0);Pu(a);return}function uq(a){a=a|0;Sl(a|0);return}function vq(a){a=a|0;return 127}function wq(a){a=a|0;return 127}function xq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function yq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function zq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Aq(a,b){a=a|0;b=b|0;qm(a,1,45);return}function Bq(a){a=a|0;return 0}function Cq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Dq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Eq(a){a=a|0;Sl(a|0);Pu(a);return}function Fq(a){a=a|0;Sl(a|0);return}function Gq(a){a=a|0;return 2147483647}function Hq(a){a=a|0;return 2147483647}function Iq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Jq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Kq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Lq(a,b){a=a|0;b=b|0;Bm(a,1,45);return}function Mq(a){a=a|0;return 0}function Nq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Oq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Pq(a){a=a|0;Sl(a|0);Pu(a);return}function Qq(a){a=a|0;Sl(a|0);return}function Rq(a){a=a|0;return 2147483647}function Sq(a){a=a|0;return 2147483647}function Tq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Uq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Vq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Wq(a,b){a=a|0;b=b|0;Bm(a,1,45);return}function Xq(a){a=a|0;return 0}function Yq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Zq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function _q(a){a=a|0;Sl(a|0);Pu(a);return}function $q(a){a=a|0;Sl(a|0);return}function ar(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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;d=i;i=i+280|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=d|0;m=d+16|0;n=d+120|0;o=d+128|0;p=d+136|0;q=d+144|0;r=d+152|0;s=d+160|0;t=d+176|0;u=n|0;c[u>>2]=m;v=n+4|0;c[v>>2]=194;w=m+100|0;Lm(p,h);m=p|0;x=c[m>>2]|0;if(!((c[8716]|0)==-1)){c[l>>2]=34864;c[l+4>>2]=16;c[l+8>>2]=0;mm(34864,l,114)}l=(c[8717]|0)-1|0;y=c[x+8>>2]|0;do{if((c[x+12>>2]|0)-y>>2>>>0>l>>>0){z=c[y+(l<<2)>>2]|0;if((z|0)==0){break}A=z;a[q]=0;B=f|0;c[r>>2]=c[B>>2];do{if(cr(e,r,g,p,c[h+4>>2]|0,j,q,A,n,o,w)|0){C=s|0;Sc[c[(c[z>>2]|0)+32>>2]&15](A,19160,19170,C)|0;D=t|0;E=c[o>>2]|0;F=c[u>>2]|0;G=E-F|0;do{if((G|0)>98){H=Gu(G+2|0)|0;if((H|0)!=0){I=H;J=H;break}Uu();I=0;J=0}else{I=D;J=0}}while(0);if((a[q]|0)==0){K=I}else{a[I]=45;K=I+1|0}if(F>>>0<E>>>0){G=s+10|0;H=s;L=K;M=F;while(1){N=a[M]|0;O=C;while(1){P=O+1|0;if((a[O]|0)==N<<24>>24){Q=O;break}if((P|0)==(G|0)){Q=G;break}else{O=P}}a[L]=a[19160+(Q-H)|0]|0;O=M+1|0;N=L+1|0;if(O>>>0<(c[o>>2]|0)>>>0){L=N;M=O}else{R=N;break}}}else{R=K}a[R]=0;M=dc(D|0,15784,(L=i,i=i+8|0,c[L>>2]=k,L)|0)|0;i=L;if((M|0)==1){if((J|0)==0){break}Hu(J);break}M=pc(8)|0;_l(M,15400);Fb(M|0,25560,30)}}while(0);A=e|0;z=c[A>>2]|0;do{if((z|0)==0){S=0}else{if((c[z+12>>2]|0)!=(c[z+16>>2]|0)){S=z;break}if(!((Fc[c[(c[z>>2]|0)+36>>2]&255](z)|0)==-1)){S=z;break}c[A>>2]=0;S=0}}while(0);A=(S|0)==0;z=c[B>>2]|0;do{if((z|0)==0){T=45}else{if((c[z+12>>2]|0)!=(c[z+16>>2]|0)){if(A){break}else{T=47;break}}if((Fc[c[(c[z>>2]|0)+36>>2]&255](z)|0)==-1){c[B>>2]=0;T=45;break}else{if(A){break}else{T=47;break}}}}while(0);if((T|0)==45){if(A){T=47}}if((T|0)==47){c[j>>2]=c[j>>2]|2}c[b>>2]=S;Ul(c[m>>2]|0)|0;B=c[u>>2]|0;c[u>>2]=0;if((B|0)==0){U=100;V=0;i=d;return}Dc[c[v>>2]&511](B);U=100;V=0;i=d;return}}while(0);d=pc(4)|0;lu(d);Fb(d|0,25544,156)}function br(a){a=a|0;return}
-    
-    
-    
-    function Gu(a){a=a|0;var b=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,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,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,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;do{if(a>>>0<245>>>0){if(a>>>0<11>>>0){b=16}else{b=a+11&-8}d=b>>>3;e=c[7832]|0;f=e>>>(d>>>0);if((f&3|0)!=0){g=(f&1^1)+d|0;h=g<<1;i=31368+(h<<2)|0;j=31368+(h+2<<2)|0;h=c[j>>2]|0;k=h+8|0;l=c[k>>2]|0;do{if((i|0)==(l|0)){c[7832]=e&~(1<<g)}else{if(l>>>0<(c[7836]|0)>>>0){hc();return 0}m=l+12|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=i;c[j>>2]=l;break}else{hc();return 0}}}while(0);l=g<<3;c[h+4>>2]=l|3;j=h+(l|4)|0;c[j>>2]=c[j>>2]|1;n=k;return n|0}if(!(b>>>0>(c[7834]|0)>>>0)){o=b;break}if((f|0)!=0){j=2<<d;l=f<<d&(j|-j);j=(l&-l)-1|0;l=j>>>12&16;i=j>>>(l>>>0);j=i>>>5&8;m=i>>>(j>>>0);i=m>>>2&4;p=m>>>(i>>>0);m=p>>>1&2;q=p>>>(m>>>0);p=q>>>1&1;r=(j|l|i|m|p)+(q>>>(p>>>0))|0;p=r<<1;q=31368+(p<<2)|0;m=31368+(p+2<<2)|0;p=c[m>>2]|0;i=p+8|0;l=c[i>>2]|0;do{if((q|0)==(l|0)){c[7832]=e&~(1<<r)}else{if(l>>>0<(c[7836]|0)>>>0){hc();return 0}j=l+12|0;if((c[j>>2]|0)==(p|0)){c[j>>2]=q;c[m>>2]=l;break}else{hc();return 0}}}while(0);l=r<<3;m=l-b|0;c[p+4>>2]=b|3;q=p;e=q+b|0;c[q+(b|4)>>2]=m|1;c[q+l>>2]=m;l=c[7834]|0;if((l|0)!=0){q=c[7837]|0;d=l>>>3;l=d<<1;f=31368+(l<<2)|0;k=c[7832]|0;h=1<<d;do{if((k&h|0)==0){c[7832]=k|h;s=f;t=31368+(l+2<<2)|0}else{d=31368+(l+2<<2)|0;g=c[d>>2]|0;if(!(g>>>0<(c[7836]|0)>>>0)){s=g;t=d;break}hc();return 0}}while(0);c[t>>2]=q;c[s+12>>2]=q;c[q+8>>2]=s;c[q+12>>2]=f}c[7834]=m;c[7837]=e;n=i;return n|0}l=c[7833]|0;if((l|0)==0){o=b;break}h=(l&-l)-1|0;l=h>>>12&16;k=h>>>(l>>>0);h=k>>>5&8;p=k>>>(h>>>0);k=p>>>2&4;r=p>>>(k>>>0);p=r>>>1&2;d=r>>>(p>>>0);r=d>>>1&1;g=c[31632+((h|l|k|p|r)+(d>>>(r>>>0))<<2)>>2]|0;r=g;d=g;p=(c[g+4>>2]&-8)-b|0;while(1){g=c[r+16>>2]|0;if((g|0)==0){k=c[r+20>>2]|0;if((k|0)==0){break}else{u=k}}else{u=g}g=(c[u+4>>2]&-8)-b|0;k=g>>>0<p>>>0;r=u;d=k?u:d;p=k?g:p}r=d;i=c[7836]|0;if(r>>>0<i>>>0){hc();return 0}e=r+b|0;m=e;if(!(r>>>0<e>>>0)){hc();return 0}e=c[d+24>>2]|0;f=c[d+12>>2]|0;do{if((f|0)==(d|0)){q=d+20|0;g=c[q>>2]|0;if((g|0)==0){k=d+16|0;l=c[k>>2]|0;if((l|0)==0){v=0;break}else{w=l;x=k}}else{w=g;x=q}while(1){q=w+20|0;g=c[q>>2]|0;if((g|0)!=0){w=g;x=q;continue}q=w+16|0;g=c[q>>2]|0;if((g|0)==0){break}else{w=g;x=q}}if(x>>>0<i>>>0){hc();return 0}else{c[x>>2]=0;v=w;break}}else{q=c[d+8>>2]|0;if(q>>>0<i>>>0){hc();return 0}g=q+12|0;if((c[g>>2]|0)!=(d|0)){hc();return 0}k=f+8|0;if((c[k>>2]|0)==(d|0)){c[g>>2]=f;c[k>>2]=q;v=f;break}else{hc();return 0}}}while(0);a:do{if((e|0)!=0){f=c[d+28>>2]|0;i=31632+(f<<2)|0;do{if((d|0)==(c[i>>2]|0)){c[i>>2]=v;if((v|0)!=0){break}c[7833]=c[7833]&~(1<<f);break a}else{if(e>>>0<(c[7836]|0)>>>0){hc();return 0}q=e+16|0;if((c[q>>2]|0)==(d|0)){c[q>>2]=v}else{c[e+20>>2]=v}if((v|0)==0){break a}}}while(0);if(v>>>0<(c[7836]|0)>>>0){hc();return 0}c[v+24>>2]=e;f=c[d+16>>2]|0;do{if((f|0)!=0){if(f>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[v+16>>2]=f;c[f+24>>2]=v;break}}}while(0);f=c[d+20>>2]|0;if((f|0)==0){break}if(f>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[v+20>>2]=f;c[f+24>>2]=v;break}}}while(0);if(p>>>0<16>>>0){e=p+b|0;c[d+4>>2]=e|3;f=r+(e+4)|0;c[f>>2]=c[f>>2]|1}else{c[d+4>>2]=b|3;c[r+(b|4)>>2]=p|1;c[r+(p+b)>>2]=p;f=c[7834]|0;if((f|0)!=0){e=c[7837]|0;i=f>>>3;f=i<<1;q=31368+(f<<2)|0;k=c[7832]|0;g=1<<i;do{if((k&g|0)==0){c[7832]=k|g;y=q;z=31368+(f+2<<2)|0}else{i=31368+(f+2<<2)|0;l=c[i>>2]|0;if(!(l>>>0<(c[7836]|0)>>>0)){y=l;z=i;break}hc();return 0}}while(0);c[z>>2]=e;c[y+12>>2]=e;c[e+8>>2]=y;c[e+12>>2]=q}c[7834]=p;c[7837]=m}n=d+8|0;return n|0}else{if(a>>>0>4294967231>>>0){o=-1;break}f=a+11|0;g=f&-8;k=c[7833]|0;if((k|0)==0){o=g;break}r=-g|0;i=f>>>8;do{if((i|0)==0){A=0}else{if(g>>>0>16777215>>>0){A=31;break}f=(i+1048320|0)>>>16&8;l=i<<f;h=(l+520192|0)>>>16&4;j=l<<h;l=(j+245760|0)>>>16&2;B=14-(h|f|l)+(j<<l>>>15)|0;A=g>>>((B+7|0)>>>0)&1|B<<1}}while(0);i=c[31632+(A<<2)>>2]|0;b:do{if((i|0)==0){C=0;D=r;E=0}else{if((A|0)==31){F=0}else{F=25-(A>>>1)|0}d=0;m=r;p=i;q=g<<F;e=0;while(1){B=c[p+4>>2]&-8;l=B-g|0;if(l>>>0<m>>>0){if((B|0)==(g|0)){C=p;D=l;E=p;break b}else{G=p;H=l}}else{G=d;H=m}l=c[p+20>>2]|0;B=c[p+16+(q>>>31<<2)>>2]|0;j=(l|0)==0|(l|0)==(B|0)?e:l;if((B|0)==0){C=G;D=H;E=j;break}else{d=G;m=H;p=B;q=q<<1;e=j}}}}while(0);if((E|0)==0&(C|0)==0){i=2<<A;r=k&(i|-i);if((r|0)==0){o=g;break}i=(r&-r)-1|0;r=i>>>12&16;e=i>>>(r>>>0);i=e>>>5&8;q=e>>>(i>>>0);e=q>>>2&4;p=q>>>(e>>>0);q=p>>>1&2;m=p>>>(q>>>0);p=m>>>1&1;I=c[31632+((i|r|e|q|p)+(m>>>(p>>>0))<<2)>>2]|0}else{I=E}if((I|0)==0){J=D;K=C}else{p=I;m=D;q=C;while(1){e=(c[p+4>>2]&-8)-g|0;r=e>>>0<m>>>0;i=r?e:m;e=r?p:q;r=c[p+16>>2]|0;if((r|0)!=0){p=r;m=i;q=e;continue}r=c[p+20>>2]|0;if((r|0)==0){J=i;K=e;break}else{p=r;m=i;q=e}}}if((K|0)==0){o=g;break}if(!(J>>>0<((c[7834]|0)-g|0)>>>0)){o=g;break}q=K;m=c[7836]|0;if(q>>>0<m>>>0){hc();return 0}p=q+g|0;k=p;if(!(q>>>0<p>>>0)){hc();return 0}e=c[K+24>>2]|0;i=c[K+12>>2]|0;do{if((i|0)==(K|0)){r=K+20|0;d=c[r>>2]|0;if((d|0)==0){j=K+16|0;B=c[j>>2]|0;if((B|0)==0){L=0;break}else{M=B;N=j}}else{M=d;N=r}while(1){r=M+20|0;d=c[r>>2]|0;if((d|0)!=0){M=d;N=r;continue}r=M+16|0;d=c[r>>2]|0;if((d|0)==0){break}else{M=d;N=r}}if(N>>>0<m>>>0){hc();return 0}else{c[N>>2]=0;L=M;break}}else{r=c[K+8>>2]|0;if(r>>>0<m>>>0){hc();return 0}d=r+12|0;if((c[d>>2]|0)!=(K|0)){hc();return 0}j=i+8|0;if((c[j>>2]|0)==(K|0)){c[d>>2]=i;c[j>>2]=r;L=i;break}else{hc();return 0}}}while(0);c:do{if((e|0)!=0){i=c[K+28>>2]|0;m=31632+(i<<2)|0;do{if((K|0)==(c[m>>2]|0)){c[m>>2]=L;if((L|0)!=0){break}c[7833]=c[7833]&~(1<<i);break c}else{if(e>>>0<(c[7836]|0)>>>0){hc();return 0}r=e+16|0;if((c[r>>2]|0)==(K|0)){c[r>>2]=L}else{c[e+20>>2]=L}if((L|0)==0){break c}}}while(0);if(L>>>0<(c[7836]|0)>>>0){hc();return 0}c[L+24>>2]=e;i=c[K+16>>2]|0;do{if((i|0)!=0){if(i>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[L+16>>2]=i;c[i+24>>2]=L;break}}}while(0);i=c[K+20>>2]|0;if((i|0)==0){break}if(i>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[L+20>>2]=i;c[i+24>>2]=L;break}}}while(0);d:do{if(J>>>0<16>>>0){e=J+g|0;c[K+4>>2]=e|3;i=q+(e+4)|0;c[i>>2]=c[i>>2]|1}else{c[K+4>>2]=g|3;c[q+(g|4)>>2]=J|1;c[q+(J+g)>>2]=J;i=J>>>3;if(J>>>0<256>>>0){e=i<<1;m=31368+(e<<2)|0;r=c[7832]|0;j=1<<i;do{if((r&j|0)==0){c[7832]=r|j;O=m;P=31368+(e+2<<2)|0}else{i=31368+(e+2<<2)|0;d=c[i>>2]|0;if(!(d>>>0<(c[7836]|0)>>>0)){O=d;P=i;break}hc();return 0}}while(0);c[P>>2]=k;c[O+12>>2]=k;c[q+(g+8)>>2]=O;c[q+(g+12)>>2]=m;break}e=p;j=J>>>8;do{if((j|0)==0){Q=0}else{if(J>>>0>16777215>>>0){Q=31;break}r=(j+1048320|0)>>>16&8;i=j<<r;d=(i+520192|0)>>>16&4;B=i<<d;i=(B+245760|0)>>>16&2;l=14-(d|r|i)+(B<<i>>>15)|0;Q=J>>>((l+7|0)>>>0)&1|l<<1}}while(0);j=31632+(Q<<2)|0;c[q+(g+28)>>2]=Q;c[q+(g+20)>>2]=0;c[q+(g+16)>>2]=0;m=c[7833]|0;l=1<<Q;if((m&l|0)==0){c[7833]=m|l;c[j>>2]=e;c[q+(g+24)>>2]=j;c[q+(g+12)>>2]=e;c[q+(g+8)>>2]=e;break}l=c[j>>2]|0;if((Q|0)==31){R=0}else{R=25-(Q>>>1)|0}e:do{if((c[l+4>>2]&-8|0)==(J|0)){S=l}else{j=l;m=J<<R;while(1){T=j+16+(m>>>31<<2)|0;i=c[T>>2]|0;if((i|0)==0){break}if((c[i+4>>2]&-8|0)==(J|0)){S=i;break e}else{j=i;m=m<<1}}if(T>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[T>>2]=e;c[q+(g+24)>>2]=j;c[q+(g+12)>>2]=e;c[q+(g+8)>>2]=e;break d}}}while(0);l=S+8|0;m=c[l>>2]|0;i=c[7836]|0;if(S>>>0<i>>>0){hc();return 0}if(m>>>0<i>>>0){hc();return 0}else{c[m+12>>2]=e;c[l>>2]=e;c[q+(g+8)>>2]=m;c[q+(g+12)>>2]=S;c[q+(g+24)>>2]=0;break}}}while(0);n=K+8|0;return n|0}}while(0);K=c[7834]|0;if(!(o>>>0>K>>>0)){S=K-o|0;T=c[7837]|0;if(S>>>0>15>>>0){J=T;c[7837]=J+o;c[7834]=S;c[J+(o+4)>>2]=S|1;c[J+K>>2]=S;c[T+4>>2]=o|3}else{c[7834]=0;c[7837]=0;c[T+4>>2]=K|3;S=T+(K+4)|0;c[S>>2]=c[S>>2]|1}n=T+8|0;return n|0}T=c[7835]|0;if(o>>>0<T>>>0){S=T-o|0;c[7835]=S;T=c[7838]|0;K=T;c[7838]=K+o;c[K+(o+4)>>2]=S|1;c[T+4>>2]=o|3;n=T+8|0;return n|0}do{if((c[7756]|0)==0){T=Kb(30)|0;if((T-1&T|0)==0){c[7758]=T;c[7757]=T;c[7759]=-1;c[7760]=-1;c[7761]=0;c[7943]=0;T=(Ac(0)|0)&-16^1431655768;c[7756]=T;break}else{hc();return 0}}}while(0);T=o+48|0;S=c[7758]|0;K=o+47|0;J=S+K|0;R=-S|0;S=J&R;if(!(S>>>0>o>>>0)){n=0;return n|0}Q=c[7942]|0;do{if((Q|0)!=0){O=c[7940]|0;P=O+S|0;if(P>>>0<=O>>>0|P>>>0>Q>>>0){n=0}else{break}return n|0}}while(0);f:do{if((c[7943]&4|0)==0){Q=c[7838]|0;g:do{if((Q|0)==0){U=182}else{P=Q;O=31776;while(1){V=O|0;L=c[V>>2]|0;if(!(L>>>0>P>>>0)){W=O+4|0;if((L+(c[W>>2]|0)|0)>>>0>P>>>0){break}}L=c[O+8>>2]|0;if((L|0)==0){U=182;break g}else{O=L}}if((O|0)==0){U=182;break}P=J-(c[7835]|0)&R;if(!(P>>>0<2147483647>>>0)){X=0;break}e=Tb(P|0)|0;L=(e|0)==((c[V>>2]|0)+(c[W>>2]|0)|0);Y=L?e:-1;Z=L?P:0;_=e;$=P;U=191}}while(0);do{if((U|0)==182){Q=Tb(0)|0;if((Q|0)==-1){X=0;break}P=Q;e=c[7757]|0;L=e-1|0;if((L&P|0)==0){aa=S}else{aa=S-P+(L+P&-e)|0}e=c[7940]|0;P=e+aa|0;if(!(aa>>>0>o>>>0&aa>>>0<2147483647>>>0)){X=0;break}L=c[7942]|0;if((L|0)!=0){if(P>>>0<=e>>>0|P>>>0>L>>>0){X=0;break}}L=Tb(aa|0)|0;P=(L|0)==(Q|0);Y=P?Q:-1;Z=P?aa:0;_=L;$=aa;U=191}}while(0);h:do{if((U|0)==191){L=-$|0;if(!((Y|0)==-1)){ba=Z;ca=Y;U=202;break f}do{if((_|0)!=-1&$>>>0<2147483647>>>0&$>>>0<T>>>0){P=c[7758]|0;Q=K-$+P&-P;if(!(Q>>>0<2147483647>>>0)){da=$;break}if((Tb(Q|0)|0)==-1){Tb(L|0)|0;X=Z;break h}else{da=Q+$|0;break}}else{da=$}}while(0);if((_|0)==-1){X=Z}else{ba=da;ca=_;U=202;break f}}}while(0);c[7943]=c[7943]|4;ea=X;U=199}else{ea=0;U=199}}while(0);do{if((U|0)==199){if(!(S>>>0<2147483647>>>0)){break}X=Tb(S|0)|0;_=Tb(0)|0;if(!((_|0)!=-1&(X|0)!=-1&X>>>0<_>>>0)){break}da=_-X|0;_=da>>>0>(o+40|0)>>>0;if(_){ba=_?da:ea;ca=X;U=202}}}while(0);do{if((U|0)==202){ea=(c[7940]|0)+ba|0;c[7940]=ea;if(ea>>>0>(c[7941]|0)>>>0){c[7941]=ea}ea=c[7838]|0;i:do{if((ea|0)==0){S=c[7836]|0;if((S|0)==0|ca>>>0<S>>>0){c[7836]=ca}c[7944]=ca;c[7945]=ba;c[7947]=0;c[7841]=c[7756];c[7840]=-1;S=0;do{X=S<<1;da=31368+(X<<2)|0;c[31368+(X+3<<2)>>2]=da;c[31368+(X+2<<2)>>2]=da;S=S+1|0;}while(S>>>0<32>>>0);S=ca+8|0;if((S&7|0)==0){fa=0}else{fa=-S&7}S=ba-40-fa|0;c[7838]=ca+fa;c[7835]=S;c[ca+(fa+4)>>2]=S|1;c[ca+(ba-36)>>2]=40;c[7839]=c[7760]}else{S=31776;while(1){ga=c[S>>2]|0;ha=S+4|0;ia=c[ha>>2]|0;if((ca|0)==(ga+ia|0)){U=214;break}da=c[S+8>>2]|0;if((da|0)==0){break}else{S=da}}do{if((U|0)==214){if((c[S+12>>2]&8|0)!=0){break}da=ea;if(!(da>>>0>=ga>>>0&da>>>0<ca>>>0)){break}c[ha>>2]=ia+ba;X=(c[7835]|0)+ba|0;_=ea+8|0;if((_&7|0)==0){ja=0}else{ja=-_&7}_=X-ja|0;c[7838]=da+ja;c[7835]=_;c[da+(ja+4)>>2]=_|1;c[da+(X+4)>>2]=40;c[7839]=c[7760];break i}}while(0);if(ca>>>0<(c[7836]|0)>>>0){c[7836]=ca}S=ca+ba|0;X=31776;while(1){ka=X|0;if((c[ka>>2]|0)==(S|0)){U=224;break}da=c[X+8>>2]|0;if((da|0)==0){break}else{X=da}}do{if((U|0)==224){if((c[X+12>>2]&8|0)!=0){break}c[ka>>2]=ca;S=X+4|0;c[S>>2]=(c[S>>2]|0)+ba;S=ca+8|0;if((S&7|0)==0){la=0}else{la=-S&7}S=ca+(ba+8)|0;if((S&7|0)==0){ma=0}else{ma=-S&7}S=ca+(ma+ba)|0;da=S;_=la+o|0;Z=ca+_|0;$=Z;K=S-(ca+la)-o|0;c[ca+(la+4)>>2]=o|3;j:do{if((da|0)==(c[7838]|0)){T=(c[7835]|0)+K|0;c[7835]=T;c[7838]=$;c[ca+(_+4)>>2]=T|1}else{if((da|0)==(c[7837]|0)){T=(c[7834]|0)+K|0;c[7834]=T;c[7837]=$;c[ca+(_+4)>>2]=T|1;c[ca+(T+_)>>2]=T;break}T=ba+4|0;Y=c[ca+(T+ma)>>2]|0;if((Y&3|0)==1){aa=Y&-8;W=Y>>>3;k:do{if(Y>>>0<256>>>0){V=c[ca+((ma|8)+ba)>>2]|0;R=c[ca+(ba+12+ma)>>2]|0;J=31368+(W<<1<<2)|0;do{if((V|0)!=(J|0)){if(V>>>0<(c[7836]|0)>>>0){hc();return 0}if((c[V+12>>2]|0)==(da|0)){break}hc();return 0}}while(0);if((R|0)==(V|0)){c[7832]=c[7832]&~(1<<W);break}do{if((R|0)==(J|0)){na=R+8|0}else{if(R>>>0<(c[7836]|0)>>>0){hc();return 0}L=R+8|0;if((c[L>>2]|0)==(da|0)){na=L;break}hc();return 0}}while(0);c[V+12>>2]=R;c[na>>2]=V}else{J=S;L=c[ca+((ma|24)+ba)>>2]|0;O=c[ca+(ba+12+ma)>>2]|0;do{if((O|0)==(J|0)){Q=ma|16;P=ca+(T+Q)|0;e=c[P>>2]|0;if((e|0)==0){M=ca+(Q+ba)|0;Q=c[M>>2]|0;if((Q|0)==0){oa=0;break}else{pa=Q;qa=M}}else{pa=e;qa=P}while(1){P=pa+20|0;e=c[P>>2]|0;if((e|0)!=0){pa=e;qa=P;continue}P=pa+16|0;e=c[P>>2]|0;if((e|0)==0){break}else{pa=e;qa=P}}if(qa>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[qa>>2]=0;oa=pa;break}}else{P=c[ca+((ma|8)+ba)>>2]|0;if(P>>>0<(c[7836]|0)>>>0){hc();return 0}e=P+12|0;if((c[e>>2]|0)!=(J|0)){hc();return 0}M=O+8|0;if((c[M>>2]|0)==(J|0)){c[e>>2]=O;c[M>>2]=P;oa=O;break}else{hc();return 0}}}while(0);if((L|0)==0){break}O=c[ca+(ba+28+ma)>>2]|0;V=31632+(O<<2)|0;do{if((J|0)==(c[V>>2]|0)){c[V>>2]=oa;if((oa|0)!=0){break}c[7833]=c[7833]&~(1<<O);break k}else{if(L>>>0<(c[7836]|0)>>>0){hc();return 0}R=L+16|0;if((c[R>>2]|0)==(J|0)){c[R>>2]=oa}else{c[L+20>>2]=oa}if((oa|0)==0){break k}}}while(0);if(oa>>>0<(c[7836]|0)>>>0){hc();return 0}c[oa+24>>2]=L;J=ma|16;O=c[ca+(J+ba)>>2]|0;do{if((O|0)!=0){if(O>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[oa+16>>2]=O;c[O+24>>2]=oa;break}}}while(0);O=c[ca+(T+J)>>2]|0;if((O|0)==0){break}if(O>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[oa+20>>2]=O;c[O+24>>2]=oa;break}}}while(0);ra=ca+((aa|ma)+ba)|0;sa=aa+K|0}else{ra=da;sa=K}T=ra+4|0;c[T>>2]=c[T>>2]&-2;c[ca+(_+4)>>2]=sa|1;c[ca+(sa+_)>>2]=sa;T=sa>>>3;if(sa>>>0<256>>>0){W=T<<1;Y=31368+(W<<2)|0;O=c[7832]|0;L=1<<T;do{if((O&L|0)==0){c[7832]=O|L;ta=Y;ua=31368+(W+2<<2)|0}else{T=31368+(W+2<<2)|0;V=c[T>>2]|0;if(!(V>>>0<(c[7836]|0)>>>0)){ta=V;ua=T;break}hc();return 0}}while(0);c[ua>>2]=$;c[ta+12>>2]=$;c[ca+(_+8)>>2]=ta;c[ca+(_+12)>>2]=Y;break}W=Z;L=sa>>>8;do{if((L|0)==0){va=0}else{if(sa>>>0>16777215>>>0){va=31;break}O=(L+1048320|0)>>>16&8;aa=L<<O;T=(aa+520192|0)>>>16&4;V=aa<<T;aa=(V+245760|0)>>>16&2;R=14-(T|O|aa)+(V<<aa>>>15)|0;va=sa>>>((R+7|0)>>>0)&1|R<<1}}while(0);L=31632+(va<<2)|0;c[ca+(_+28)>>2]=va;c[ca+(_+20)>>2]=0;c[ca+(_+16)>>2]=0;Y=c[7833]|0;R=1<<va;if((Y&R|0)==0){c[7833]=Y|R;c[L>>2]=W;c[ca+(_+24)>>2]=L;c[ca+(_+12)>>2]=W;c[ca+(_+8)>>2]=W;break}R=c[L>>2]|0;if((va|0)==31){wa=0}else{wa=25-(va>>>1)|0}l:do{if((c[R+4>>2]&-8|0)==(sa|0)){xa=R}else{L=R;Y=sa<<wa;while(1){ya=L+16+(Y>>>31<<2)|0;aa=c[ya>>2]|0;if((aa|0)==0){break}if((c[aa+4>>2]&-8|0)==(sa|0)){xa=aa;break l}else{L=aa;Y=Y<<1}}if(ya>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[ya>>2]=W;c[ca+(_+24)>>2]=L;c[ca+(_+12)>>2]=W;c[ca+(_+8)>>2]=W;break j}}}while(0);R=xa+8|0;Y=c[R>>2]|0;J=c[7836]|0;if(xa>>>0<J>>>0){hc();return 0}if(Y>>>0<J>>>0){hc();return 0}else{c[Y+12>>2]=W;c[R>>2]=W;c[ca+(_+8)>>2]=Y;c[ca+(_+12)>>2]=xa;c[ca+(_+24)>>2]=0;break}}}while(0);n=ca+(la|8)|0;return n|0}}while(0);X=ea;_=31776;while(1){za=c[_>>2]|0;if(!(za>>>0>X>>>0)){Aa=c[_+4>>2]|0;Ba=za+Aa|0;if(Ba>>>0>X>>>0){break}}_=c[_+8>>2]|0}_=za+(Aa-39)|0;if((_&7|0)==0){Ca=0}else{Ca=-_&7}_=za+(Aa-47+Ca)|0;Z=_>>>0<(ea+16|0)>>>0?X:_;_=Z+8|0;$=ca+8|0;if(($&7|0)==0){Da=0}else{Da=-$&7}$=ba-40-Da|0;c[7838]=ca+Da;c[7835]=$;c[ca+(Da+4)>>2]=$|1;c[ca+(ba-36)>>2]=40;c[7839]=c[7760];c[Z+4>>2]=27;c[_>>2]=c[7944];c[_+4>>2]=c[7945];c[_+8>>2]=c[7946];c[_+12>>2]=c[7947];c[7944]=ca;c[7945]=ba;c[7947]=0;c[7946]=_;_=Z+28|0;c[_>>2]=7;if((Z+32|0)>>>0<Ba>>>0){$=_;while(1){_=$+4|0;c[_>>2]=7;if(($+8|0)>>>0<Ba>>>0){$=_}else{break}}}if((Z|0)==(X|0)){break}$=Z-ea|0;_=X+($+4)|0;c[_>>2]=c[_>>2]&-2;c[ea+4>>2]=$|1;c[X+$>>2]=$;_=$>>>3;if($>>>0<256>>>0){K=_<<1;da=31368+(K<<2)|0;S=c[7832]|0;j=1<<_;do{if((S&j|0)==0){c[7832]=S|j;Ea=da;Fa=31368+(K+2<<2)|0}else{_=31368+(K+2<<2)|0;Y=c[_>>2]|0;if(!(Y>>>0<(c[7836]|0)>>>0)){Ea=Y;Fa=_;break}hc();return 0}}while(0);c[Fa>>2]=ea;c[Ea+12>>2]=ea;c[ea+8>>2]=Ea;c[ea+12>>2]=da;break}K=ea;j=$>>>8;do{if((j|0)==0){Ga=0}else{if($>>>0>16777215>>>0){Ga=31;break}S=(j+1048320|0)>>>16&8;X=j<<S;Z=(X+520192|0)>>>16&4;_=X<<Z;X=(_+245760|0)>>>16&2;Y=14-(Z|S|X)+(_<<X>>>15)|0;Ga=$>>>((Y+7|0)>>>0)&1|Y<<1}}while(0);j=31632+(Ga<<2)|0;c[ea+28>>2]=Ga;c[ea+20>>2]=0;c[ea+16>>2]=0;da=c[7833]|0;Y=1<<Ga;if((da&Y|0)==0){c[7833]=da|Y;c[j>>2]=K;c[ea+24>>2]=j;c[ea+12>>2]=ea;c[ea+8>>2]=ea;break}Y=c[j>>2]|0;if((Ga|0)==31){Ha=0}else{Ha=25-(Ga>>>1)|0}m:do{if((c[Y+4>>2]&-8|0)==($|0)){Ia=Y}else{j=Y;da=$<<Ha;while(1){Ja=j+16+(da>>>31<<2)|0;X=c[Ja>>2]|0;if((X|0)==0){break}if((c[X+4>>2]&-8|0)==($|0)){Ia=X;break m}else{j=X;da=da<<1}}if(Ja>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[Ja>>2]=K;c[ea+24>>2]=j;c[ea+12>>2]=ea;c[ea+8>>2]=ea;break i}}}while(0);$=Ia+8|0;Y=c[$>>2]|0;da=c[7836]|0;if(Ia>>>0<da>>>0){hc();return 0}if(Y>>>0<da>>>0){hc();return 0}else{c[Y+12>>2]=K;c[$>>2]=K;c[ea+8>>2]=Y;c[ea+12>>2]=Ia;c[ea+24>>2]=0;break}}}while(0);ea=c[7835]|0;if(!(ea>>>0>o>>>0)){break}Y=ea-o|0;c[7835]=Y;ea=c[7838]|0;$=ea;c[7838]=$+o;c[$+(o+4)>>2]=Y|1;c[ea+4>>2]=o|3;n=ea+8|0;return n|0}}while(0);o=Vb()|0;c[o>>2]=12;n=0;return n|0}function Hu(a){a=a|0;var b=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,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;if((a|0)==0){return}b=a-8|0;d=b;e=c[7836]|0;if(b>>>0<e>>>0){hc()}f=c[a-4>>2]|0;g=f&3;if((g|0)==1){hc()}h=f&-8;i=a+(h-8)|0;j=i;a:do{if((f&1|0)==0){k=c[b>>2]|0;if((g|0)==0){return}l=-8-k|0;m=a+l|0;n=m;o=k+h|0;if(m>>>0<e>>>0){hc()}if((n|0)==(c[7837]|0)){p=a+(h-4)|0;if((c[p>>2]&3|0)!=3){q=n;r=o;break}c[7834]=o;c[p>>2]=c[p>>2]&-2;c[a+(l+4)>>2]=o|1;c[i>>2]=o;return}p=k>>>3;if(k>>>0<256>>>0){k=c[a+(l+8)>>2]|0;s=c[a+(l+12)>>2]|0;t=31368+(p<<1<<2)|0;do{if((k|0)!=(t|0)){if(k>>>0<e>>>0){hc()}if((c[k+12>>2]|0)==(n|0)){break}hc()}}while(0);if((s|0)==(k|0)){c[7832]=c[7832]&~(1<<p);q=n;r=o;break}do{if((s|0)==(t|0)){u=s+8|0}else{if(s>>>0<e>>>0){hc()}v=s+8|0;if((c[v>>2]|0)==(n|0)){u=v;break}hc()}}while(0);c[k+12>>2]=s;c[u>>2]=k;q=n;r=o;break}t=m;p=c[a+(l+24)>>2]|0;v=c[a+(l+12)>>2]|0;do{if((v|0)==(t|0)){w=a+(l+20)|0;x=c[w>>2]|0;if((x|0)==0){y=a+(l+16)|0;z=c[y>>2]|0;if((z|0)==0){A=0;break}else{B=z;C=y}}else{B=x;C=w}while(1){w=B+20|0;x=c[w>>2]|0;if((x|0)!=0){B=x;C=w;continue}w=B+16|0;x=c[w>>2]|0;if((x|0)==0){break}else{B=x;C=w}}if(C>>>0<e>>>0){hc()}else{c[C>>2]=0;A=B;break}}else{w=c[a+(l+8)>>2]|0;if(w>>>0<e>>>0){hc()}x=w+12|0;if((c[x>>2]|0)!=(t|0)){hc()}y=v+8|0;if((c[y>>2]|0)==(t|0)){c[x>>2]=v;c[y>>2]=w;A=v;break}else{hc()}}}while(0);if((p|0)==0){q=n;r=o;break}v=c[a+(l+28)>>2]|0;m=31632+(v<<2)|0;do{if((t|0)==(c[m>>2]|0)){c[m>>2]=A;if((A|0)!=0){break}c[7833]=c[7833]&~(1<<v);q=n;r=o;break a}else{if(p>>>0<(c[7836]|0)>>>0){hc()}k=p+16|0;if((c[k>>2]|0)==(t|0)){c[k>>2]=A}else{c[p+20>>2]=A}if((A|0)==0){q=n;r=o;break a}}}while(0);if(A>>>0<(c[7836]|0)>>>0){hc()}c[A+24>>2]=p;t=c[a+(l+16)>>2]|0;do{if((t|0)!=0){if(t>>>0<(c[7836]|0)>>>0){hc()}else{c[A+16>>2]=t;c[t+24>>2]=A;break}}}while(0);t=c[a+(l+20)>>2]|0;if((t|0)==0){q=n;r=o;break}if(t>>>0<(c[7836]|0)>>>0){hc()}else{c[A+20>>2]=t;c[t+24>>2]=A;q=n;r=o;break}}else{q=d;r=h}}while(0);d=q;if(!(d>>>0<i>>>0)){hc()}A=a+(h-4)|0;e=c[A>>2]|0;if((e&1|0)==0){hc()}do{if((e&2|0)==0){if((j|0)==(c[7838]|0)){B=(c[7835]|0)+r|0;c[7835]=B;c[7838]=q;c[q+4>>2]=B|1;if((q|0)!=(c[7837]|0)){return}c[7837]=0;c[7834]=0;return}if((j|0)==(c[7837]|0)){B=(c[7834]|0)+r|0;c[7834]=B;c[7837]=q;c[q+4>>2]=B|1;c[d+B>>2]=B;return}B=(e&-8)+r|0;C=e>>>3;b:do{if(e>>>0<256>>>0){u=c[a+h>>2]|0;g=c[a+(h|4)>>2]|0;b=31368+(C<<1<<2)|0;do{if((u|0)!=(b|0)){if(u>>>0<(c[7836]|0)>>>0){hc()}if((c[u+12>>2]|0)==(j|0)){break}hc()}}while(0);if((g|0)==(u|0)){c[7832]=c[7832]&~(1<<C);break}do{if((g|0)==(b|0)){D=g+8|0}else{if(g>>>0<(c[7836]|0)>>>0){hc()}f=g+8|0;if((c[f>>2]|0)==(j|0)){D=f;break}hc()}}while(0);c[u+12>>2]=g;c[D>>2]=u}else{b=i;f=c[a+(h+16)>>2]|0;t=c[a+(h|4)>>2]|0;do{if((t|0)==(b|0)){p=a+(h+12)|0;v=c[p>>2]|0;if((v|0)==0){m=a+(h+8)|0;k=c[m>>2]|0;if((k|0)==0){E=0;break}else{F=k;G=m}}else{F=v;G=p}while(1){p=F+20|0;v=c[p>>2]|0;if((v|0)!=0){F=v;G=p;continue}p=F+16|0;v=c[p>>2]|0;if((v|0)==0){break}else{F=v;G=p}}if(G>>>0<(c[7836]|0)>>>0){hc()}else{c[G>>2]=0;E=F;break}}else{p=c[a+h>>2]|0;if(p>>>0<(c[7836]|0)>>>0){hc()}v=p+12|0;if((c[v>>2]|0)!=(b|0)){hc()}m=t+8|0;if((c[m>>2]|0)==(b|0)){c[v>>2]=t;c[m>>2]=p;E=t;break}else{hc()}}}while(0);if((f|0)==0){break}t=c[a+(h+20)>>2]|0;u=31632+(t<<2)|0;do{if((b|0)==(c[u>>2]|0)){c[u>>2]=E;if((E|0)!=0){break}c[7833]=c[7833]&~(1<<t);break b}else{if(f>>>0<(c[7836]|0)>>>0){hc()}g=f+16|0;if((c[g>>2]|0)==(b|0)){c[g>>2]=E}else{c[f+20>>2]=E}if((E|0)==0){break b}}}while(0);if(E>>>0<(c[7836]|0)>>>0){hc()}c[E+24>>2]=f;b=c[a+(h+8)>>2]|0;do{if((b|0)!=0){if(b>>>0<(c[7836]|0)>>>0){hc()}else{c[E+16>>2]=b;c[b+24>>2]=E;break}}}while(0);b=c[a+(h+12)>>2]|0;if((b|0)==0){break}if(b>>>0<(c[7836]|0)>>>0){hc()}else{c[E+20>>2]=b;c[b+24>>2]=E;break}}}while(0);c[q+4>>2]=B|1;c[d+B>>2]=B;if((q|0)!=(c[7837]|0)){H=B;break}c[7834]=B;return}else{c[A>>2]=e&-2;c[q+4>>2]=r|1;c[d+r>>2]=r;H=r}}while(0);r=H>>>3;if(H>>>0<256>>>0){d=r<<1;e=31368+(d<<2)|0;A=c[7832]|0;E=1<<r;do{if((A&E|0)==0){c[7832]=A|E;I=e;J=31368+(d+2<<2)|0}else{r=31368+(d+2<<2)|0;h=c[r>>2]|0;if(!(h>>>0<(c[7836]|0)>>>0)){I=h;J=r;break}hc()}}while(0);c[J>>2]=q;c[I+12>>2]=q;c[q+8>>2]=I;c[q+12>>2]=e;return}e=q;I=H>>>8;do{if((I|0)==0){K=0}else{if(H>>>0>16777215>>>0){K=31;break}J=(I+1048320|0)>>>16&8;d=I<<J;E=(d+520192|0)>>>16&4;A=d<<E;d=(A+245760|0)>>>16&2;r=14-(E|J|d)+(A<<d>>>15)|0;K=H>>>((r+7|0)>>>0)&1|r<<1}}while(0);I=31632+(K<<2)|0;c[q+28>>2]=K;c[q+20>>2]=0;c[q+16>>2]=0;r=c[7833]|0;d=1<<K;c:do{if((r&d|0)==0){c[7833]=r|d;c[I>>2]=e;c[q+24>>2]=I;c[q+12>>2]=q;c[q+8>>2]=q}else{A=c[I>>2]|0;if((K|0)==31){L=0}else{L=25-(K>>>1)|0}d:do{if((c[A+4>>2]&-8|0)==(H|0)){M=A}else{J=A;E=H<<L;while(1){N=J+16+(E>>>31<<2)|0;h=c[N>>2]|0;if((h|0)==0){break}if((c[h+4>>2]&-8|0)==(H|0)){M=h;break d}else{J=h;E=E<<1}}if(N>>>0<(c[7836]|0)>>>0){hc()}else{c[N>>2]=e;c[q+24>>2]=J;c[q+12>>2]=q;c[q+8>>2]=q;break c}}}while(0);A=M+8|0;B=c[A>>2]|0;E=c[7836]|0;if(M>>>0<E>>>0){hc()}if(B>>>0<E>>>0){hc()}else{c[B+12>>2]=e;c[A>>2]=e;c[q+8>>2]=B;c[q+12>>2]=M;c[q+24>>2]=0;break}}}while(0);q=(c[7840]|0)-1|0;c[7840]=q;if((q|0)==0){O=31784}else{return}while(1){q=c[O>>2]|0;if((q|0)==0){break}else{O=q+8|0}}c[7840]=-1;return}function Iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((a|0)==0){d=Gu(b)|0;return d|0}if(b>>>0>4294967231>>>0){e=Vb()|0;c[e>>2]=12;d=0;return d|0}if(b>>>0<11>>>0){f=16}else{f=b+11&-8}e=Ju(a-8|0,f)|0;if((e|0)!=0){d=e+8|0;return d|0}e=Gu(b)|0;if((e|0)==0){d=0;return d|0}f=c[a-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;cv(e|0,a|0,g>>>0<b>>>0?g:b)|0;Hu(a);d=e;return d|0}function Ju(a,b){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a;h=g+f|0;i=h;j=c[7836]|0;if(g>>>0<j>>>0){hc();return 0}k=e&3;if(!((k|0)!=1&g>>>0<h>>>0)){hc();return 0}l=g+(f|4)|0;m=c[l>>2]|0;if((m&1|0)==0){hc();return 0}if((k|0)==0){if(b>>>0<256>>>0){n=0;return n|0}do{if(!(f>>>0<(b+4|0)>>>0)){if((f-b|0)>>>0>c[7758]<<1>>>0){break}else{n=a}return n|0}}while(0);n=0;return n|0}if(!(f>>>0<b>>>0)){k=f-b|0;if(!(k>>>0>15>>>0)){n=a;return n|0}c[d>>2]=e&1|b|2;c[g+(b+4)>>2]=k|3;c[l>>2]=c[l>>2]|1;Mu(g+b|0,k);n=a;return n|0}if((i|0)==(c[7838]|0)){k=(c[7835]|0)+f|0;if(!(k>>>0>b>>>0)){n=0;return n|0}l=k-b|0;c[d>>2]=e&1|b|2;c[g+(b+4)>>2]=l|1;c[7838]=g+b;c[7835]=l;n=a;return n|0}if((i|0)==(c[7837]|0)){l=(c[7834]|0)+f|0;if(l>>>0<b>>>0){n=0;return n|0}k=l-b|0;if(k>>>0>15>>>0){c[d>>2]=e&1|b|2;c[g+(b+4)>>2]=k|1;c[g+l>>2]=k;o=g+(l+4)|0;c[o>>2]=c[o>>2]&-2;p=g+b|0;q=k}else{c[d>>2]=e&1|l|2;e=g+(l+4)|0;c[e>>2]=c[e>>2]|1;p=0;q=0}c[7834]=q;c[7837]=p;n=a;return n|0}if((m&2|0)!=0){n=0;return n|0}p=(m&-8)+f|0;if(p>>>0<b>>>0){n=0;return n|0}q=p-b|0;e=m>>>3;a:do{if(m>>>0<256>>>0){l=c[g+(f+8)>>2]|0;k=c[g+(f+12)>>2]|0;o=31368+(e<<1<<2)|0;do{if((l|0)!=(o|0)){if(l>>>0<j>>>0){hc();return 0}if((c[l+12>>2]|0)==(i|0)){break}hc();return 0}}while(0);if((k|0)==(l|0)){c[7832]=c[7832]&~(1<<e);break}do{if((k|0)==(o|0)){r=k+8|0}else{if(k>>>0<j>>>0){hc();return 0}s=k+8|0;if((c[s>>2]|0)==(i|0)){r=s;break}hc();return 0}}while(0);c[l+12>>2]=k;c[r>>2]=l}else{o=h;s=c[g+(f+24)>>2]|0;t=c[g+(f+12)>>2]|0;do{if((t|0)==(o|0)){u=g+(f+20)|0;v=c[u>>2]|0;if((v|0)==0){w=g+(f+16)|0;x=c[w>>2]|0;if((x|0)==0){y=0;break}else{z=x;A=w}}else{z=v;A=u}while(1){u=z+20|0;v=c[u>>2]|0;if((v|0)!=0){z=v;A=u;continue}u=z+16|0;v=c[u>>2]|0;if((v|0)==0){break}else{z=v;A=u}}if(A>>>0<j>>>0){hc();return 0}else{c[A>>2]=0;y=z;break}}else{u=c[g+(f+8)>>2]|0;if(u>>>0<j>>>0){hc();return 0}v=u+12|0;if((c[v>>2]|0)!=(o|0)){hc();return 0}w=t+8|0;if((c[w>>2]|0)==(o|0)){c[v>>2]=t;c[w>>2]=u;y=t;break}else{hc();return 0}}}while(0);if((s|0)==0){break}t=c[g+(f+28)>>2]|0;l=31632+(t<<2)|0;do{if((o|0)==(c[l>>2]|0)){c[l>>2]=y;if((y|0)!=0){break}c[7833]=c[7833]&~(1<<t);break a}else{if(s>>>0<(c[7836]|0)>>>0){hc();return 0}k=s+16|0;if((c[k>>2]|0)==(o|0)){c[k>>2]=y}else{c[s+20>>2]=y}if((y|0)==0){break a}}}while(0);if(y>>>0<(c[7836]|0)>>>0){hc();return 0}c[y+24>>2]=s;o=c[g+(f+16)>>2]|0;do{if((o|0)!=0){if(o>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[y+16>>2]=o;c[o+24>>2]=y;break}}}while(0);o=c[g+(f+20)>>2]|0;if((o|0)==0){break}if(o>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[y+20>>2]=o;c[o+24>>2]=y;break}}}while(0);if(q>>>0<16>>>0){c[d>>2]=p|c[d>>2]&1|2;y=g+(p|4)|0;c[y>>2]=c[y>>2]|1;n=a;return n|0}else{c[d>>2]=c[d>>2]&1|b|2;c[g+(b+4)>>2]=q|3;d=g+(p|4)|0;c[d>>2]=c[d>>2]|1;Mu(g+b|0,q);n=a;return n|0}return 0}function Ku(a,b){a=a|0;b=b|0;var c=0;if(a>>>0<9>>>0){c=Gu(b)|0;return c|0}else{c=Lu(a,b)|0;return c|0}return 0}function Lu(a,b){a=a|0;b=b|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;d=a>>>0<16>>>0?16:a;if((d-1&d|0)==0){e=d}else{a=16;while(1){if(a>>>0<d>>>0){a=a<<1}else{e=a;break}}}if(!((-64-e|0)>>>0>b>>>0)){a=Vb()|0;c[a>>2]=12;f=0;return f|0}if(b>>>0<11>>>0){g=16}else{g=b+11&-8}b=Gu(e+12+g|0)|0;if((b|0)==0){f=0;return f|0}a=b-8|0;d=a;h=e-1|0;do{if((b&h|0)==0){i=d}else{j=b+h&-e;k=j-8|0;l=a;if((k-l|0)>>>0>15>>>0){m=k}else{m=j+(e-8)|0}j=m;k=m-l|0;l=b-4|0;n=c[l>>2]|0;o=(n&-8)-k|0;if((n&3|0)==0){c[m>>2]=(c[a>>2]|0)+k;c[m+4>>2]=o;i=j;break}else{n=m+4|0;c[n>>2]=o|c[n>>2]&1|2;n=m+(o+4)|0;c[n>>2]=c[n>>2]|1;c[l>>2]=k|c[l>>2]&1|2;l=b+(k-4)|0;c[l>>2]=c[l>>2]|1;Mu(d,k);i=j;break}}}while(0);d=i+4|0;b=c[d>>2]|0;do{if((b&3|0)!=0){m=b&-8;if(!(m>>>0>(g+16|0)>>>0)){break}a=m-g|0;e=i;c[d>>2]=g|b&1|2;c[e+(g|4)>>2]=a|3;h=e+(m|4)|0;c[h>>2]=c[h>>2]|1;Mu(e+g|0,a)}}while(0);f=i+8|0;return f|0}function Mu(a,b){a=a|0;b=b|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,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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=a;e=d+b|0;f=e;g=c[a+4>>2]|0;a:do{if((g&1|0)==0){h=c[a>>2]|0;if((g&3|0)==0){return}i=d+(-h|0)|0;j=i;k=h+b|0;l=c[7836]|0;if(i>>>0<l>>>0){hc()}if((j|0)==(c[7837]|0)){m=d+(b+4)|0;if((c[m>>2]&3|0)!=3){n=j;o=k;break}c[7834]=k;c[m>>2]=c[m>>2]&-2;c[d+(4-h)>>2]=k|1;c[e>>2]=k;return}m=h>>>3;if(h>>>0<256>>>0){p=c[d+(8-h)>>2]|0;q=c[d+(12-h)>>2]|0;r=31368+(m<<1<<2)|0;do{if((p|0)!=(r|0)){if(p>>>0<l>>>0){hc()}if((c[p+12>>2]|0)==(j|0)){break}hc()}}while(0);if((q|0)==(p|0)){c[7832]=c[7832]&~(1<<m);n=j;o=k;break}do{if((q|0)==(r|0)){s=q+8|0}else{if(q>>>0<l>>>0){hc()}t=q+8|0;if((c[t>>2]|0)==(j|0)){s=t;break}hc()}}while(0);c[p+12>>2]=q;c[s>>2]=p;n=j;o=k;break}r=i;m=c[d+(24-h)>>2]|0;t=c[d+(12-h)>>2]|0;do{if((t|0)==(r|0)){u=16-h|0;v=d+(u+4)|0;w=c[v>>2]|0;if((w|0)==0){x=d+u|0;u=c[x>>2]|0;if((u|0)==0){y=0;break}else{z=u;A=x}}else{z=w;A=v}while(1){v=z+20|0;w=c[v>>2]|0;if((w|0)!=0){z=w;A=v;continue}v=z+16|0;w=c[v>>2]|0;if((w|0)==0){break}else{z=w;A=v}}if(A>>>0<l>>>0){hc()}else{c[A>>2]=0;y=z;break}}else{v=c[d+(8-h)>>2]|0;if(v>>>0<l>>>0){hc()}w=v+12|0;if((c[w>>2]|0)!=(r|0)){hc()}x=t+8|0;if((c[x>>2]|0)==(r|0)){c[w>>2]=t;c[x>>2]=v;y=t;break}else{hc()}}}while(0);if((m|0)==0){n=j;o=k;break}t=c[d+(28-h)>>2]|0;l=31632+(t<<2)|0;do{if((r|0)==(c[l>>2]|0)){c[l>>2]=y;if((y|0)!=0){break}c[7833]=c[7833]&~(1<<t);n=j;o=k;break a}else{if(m>>>0<(c[7836]|0)>>>0){hc()}i=m+16|0;if((c[i>>2]|0)==(r|0)){c[i>>2]=y}else{c[m+20>>2]=y}if((y|0)==0){n=j;o=k;break a}}}while(0);if(y>>>0<(c[7836]|0)>>>0){hc()}c[y+24>>2]=m;r=16-h|0;t=c[d+r>>2]|0;do{if((t|0)!=0){if(t>>>0<(c[7836]|0)>>>0){hc()}else{c[y+16>>2]=t;c[t+24>>2]=y;break}}}while(0);t=c[d+(r+4)>>2]|0;if((t|0)==0){n=j;o=k;break}if(t>>>0<(c[7836]|0)>>>0){hc()}else{c[y+20>>2]=t;c[t+24>>2]=y;n=j;o=k;break}}else{n=a;o=b}}while(0);a=c[7836]|0;if(e>>>0<a>>>0){hc()}y=d+(b+4)|0;z=c[y>>2]|0;do{if((z&2|0)==0){if((f|0)==(c[7838]|0)){A=(c[7835]|0)+o|0;c[7835]=A;c[7838]=n;c[n+4>>2]=A|1;if((n|0)!=(c[7837]|0)){return}c[7837]=0;c[7834]=0;return}if((f|0)==(c[7837]|0)){A=(c[7834]|0)+o|0;c[7834]=A;c[7837]=n;c[n+4>>2]=A|1;c[n+A>>2]=A;return}A=(z&-8)+o|0;s=z>>>3;b:do{if(z>>>0<256>>>0){g=c[d+(b+8)>>2]|0;t=c[d+(b+12)>>2]|0;h=31368+(s<<1<<2)|0;do{if((g|0)!=(h|0)){if(g>>>0<a>>>0){hc()}if((c[g+12>>2]|0)==(f|0)){break}hc()}}while(0);if((t|0)==(g|0)){c[7832]=c[7832]&~(1<<s);break}do{if((t|0)==(h|0)){B=t+8|0}else{if(t>>>0<a>>>0){hc()}m=t+8|0;if((c[m>>2]|0)==(f|0)){B=m;break}hc()}}while(0);c[g+12>>2]=t;c[B>>2]=g}else{h=e;m=c[d+(b+24)>>2]|0;l=c[d+(b+12)>>2]|0;do{if((l|0)==(h|0)){i=d+(b+20)|0;p=c[i>>2]|0;if((p|0)==0){q=d+(b+16)|0;v=c[q>>2]|0;if((v|0)==0){C=0;break}else{D=v;E=q}}else{D=p;E=i}while(1){i=D+20|0;p=c[i>>2]|0;if((p|0)!=0){D=p;E=i;continue}i=D+16|0;p=c[i>>2]|0;if((p|0)==0){break}else{D=p;E=i}}if(E>>>0<a>>>0){hc()}else{c[E>>2]=0;C=D;break}}else{i=c[d+(b+8)>>2]|0;if(i>>>0<a>>>0){hc()}p=i+12|0;if((c[p>>2]|0)!=(h|0)){hc()}q=l+8|0;if((c[q>>2]|0)==(h|0)){c[p>>2]=l;c[q>>2]=i;C=l;break}else{hc()}}}while(0);if((m|0)==0){break}l=c[d+(b+28)>>2]|0;g=31632+(l<<2)|0;do{if((h|0)==(c[g>>2]|0)){c[g>>2]=C;if((C|0)!=0){break}c[7833]=c[7833]&~(1<<l);break b}else{if(m>>>0<(c[7836]|0)>>>0){hc()}t=m+16|0;if((c[t>>2]|0)==(h|0)){c[t>>2]=C}else{c[m+20>>2]=C}if((C|0)==0){break b}}}while(0);if(C>>>0<(c[7836]|0)>>>0){hc()}c[C+24>>2]=m;h=c[d+(b+16)>>2]|0;do{if((h|0)!=0){if(h>>>0<(c[7836]|0)>>>0){hc()}else{c[C+16>>2]=h;c[h+24>>2]=C;break}}}while(0);h=c[d+(b+20)>>2]|0;if((h|0)==0){break}if(h>>>0<(c[7836]|0)>>>0){hc()}else{c[C+20>>2]=h;c[h+24>>2]=C;break}}}while(0);c[n+4>>2]=A|1;c[n+A>>2]=A;if((n|0)!=(c[7837]|0)){F=A;break}c[7834]=A;return}else{c[y>>2]=z&-2;c[n+4>>2]=o|1;c[n+o>>2]=o;F=o}}while(0);o=F>>>3;if(F>>>0<256>>>0){z=o<<1;y=31368+(z<<2)|0;C=c[7832]|0;b=1<<o;do{if((C&b|0)==0){c[7832]=C|b;G=y;H=31368+(z+2<<2)|0}else{o=31368+(z+2<<2)|0;d=c[o>>2]|0;if(!(d>>>0<(c[7836]|0)>>>0)){G=d;H=o;break}hc()}}while(0);c[H>>2]=n;c[G+12>>2]=n;c[n+8>>2]=G;c[n+12>>2]=y;return}y=n;G=F>>>8;do{if((G|0)==0){I=0}else{if(F>>>0>16777215>>>0){I=31;break}H=(G+1048320|0)>>>16&8;z=G<<H;b=(z+520192|0)>>>16&4;C=z<<b;z=(C+245760|0)>>>16&2;o=14-(b|H|z)+(C<<z>>>15)|0;I=F>>>((o+7|0)>>>0)&1|o<<1}}while(0);G=31632+(I<<2)|0;c[n+28>>2]=I;c[n+20>>2]=0;c[n+16>>2]=0;o=c[7833]|0;z=1<<I;if((o&z|0)==0){c[7833]=o|z;c[G>>2]=y;c[n+24>>2]=G;c[n+12>>2]=n;c[n+8>>2]=n;return}z=c[G>>2]|0;if((I|0)==31){J=0}else{J=25-(I>>>1)|0}c:do{if((c[z+4>>2]&-8|0)==(F|0)){K=z}else{I=z;G=F<<J;while(1){L=I+16+(G>>>31<<2)|0;o=c[L>>2]|0;if((o|0)==0){break}if((c[o+4>>2]&-8|0)==(F|0)){K=o;break c}else{I=o;G=G<<1}}if(L>>>0<(c[7836]|0)>>>0){hc()}c[L>>2]=y;c[n+24>>2]=I;c[n+12>>2]=n;c[n+8>>2]=n;return}}while(0);L=K+8|0;F=c[L>>2]|0;J=c[7836]|0;if(K>>>0<J>>>0){hc()}if(F>>>0<J>>>0){hc()}c[F+12>>2]=y;c[L>>2]=y;c[n+8>>2]=F;c[n+12>>2]=K;c[n+24>>2]=0;return}function Nu(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==0?1:a;while(1){d=Gu(b)|0;if((d|0)!=0){e=10;break}a=(I=c[10888]|0,c[10888]=I+0,I);if((a|0)==0){break}Uc[a&3]()}if((e|0)==10){return d|0}d=pc(4)|0;c[d>>2]=19472;Fb(d|0,25528,174);return 0}function Ou(a){a=a|0;return Nu(a)|0}function Pu(a){a=a|0;if((a|0)==0){return}Hu(a);return}function Qu(a){a=a|0;Pu(a);return}function Ru(a){a=a|0;Pu(a);return}function Su(a){a=a|0;return}function Tu(a){a=a|0;return 9160}function Uu(){var a=0;a=pc(4)|0;c[a>>2]=19472;Fb(a|0,25528,174)}function Vu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=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,L=0,M=0,N=0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0,ea=0.0,fa=0,ha=0,ia=0.0,ja=0.0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0.0,va=0,wa=0.0,xa=0,ya=0.0,za=0,Aa=0,Ba=0,Ca=0.0,Da=0,Ea=0.0,Fa=0.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,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0.0,xc=0,yc=0,zc=0.0,Ac=0.0,Bc=0.0,Cc=0.0,Dc=0.0,Ec=0.0,Fc=0.0,Gc=0,Hc=0,Ic=0.0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0;g=i;i=i+512|0;h=g|0;if((e|0)==1){j=-1074;k=53}else if((e|0)==0){j=-149;k=24}else if((e|0)==2){j=-1074;k=53}else{l=0.0;i=g;return+l}e=b+4|0;m=b+100|0;do{n=c[e>>2]|0;if(n>>>0<(c[m>>2]|0)>>>0){c[e>>2]=n+1;o=d[n]|0}else{o=Yu(b)|0}}while((Sa(o|0)|0)!=0);do{if((o|0)==45|(o|0)==43){n=1-(((o|0)==45)<<1)|0;p=c[e>>2]|0;if(p>>>0<(c[m>>2]|0)>>>0){c[e>>2]=p+1;q=d[p]|0;r=n;break}else{q=Yu(b)|0;r=n;break}}else{q=o;r=1}}while(0);o=0;n=q;while(1){if((n|32|0)!=(a[3344+o|0]|0)){s=o;t=n;break}do{if(o>>>0<7>>>0){q=c[e>>2]|0;if(q>>>0<(c[m>>2]|0)>>>0){c[e>>2]=q+1;u=d[q]|0;break}else{u=Yu(b)|0;break}}else{u=n}}while(0);q=o+1|0;if(q>>>0<8>>>0){o=q;n=u}else{s=q;t=u;break}}do{if((s|0)==3){x=23}else if((s|0)!=8){u=(f|0)==0;if(!(s>>>0<4>>>0|u)){if((s|0)==8){break}else{x=23;break}}a:do{if((s|0)==0){n=0;o=t;while(1){if((o|32|0)!=(a[14392+n|0]|0)){y=o;z=n;break a}do{if(n>>>0<2>>>0){q=c[e>>2]|0;if(q>>>0<(c[m>>2]|0)>>>0){c[e>>2]=q+1;A=d[q]|0;break}else{A=Yu(b)|0;break}}else{A=o}}while(0);q=n+1|0;if(q>>>0<3>>>0){n=q;o=A}else{y=A;z=q;break}}}else{y=t;z=s}}while(0);if((z|0)==0){do{if((y|0)==48){o=c[e>>2]|0;if(o>>>0<(c[m>>2]|0)>>>0){c[e>>2]=o+1;B=d[o]|0}else{B=Yu(b)|0}if((B|32|0)!=120){if((c[m>>2]|0)==0){C=48;break}c[e>>2]=(c[e>>2]|0)-1;C=48;break}o=c[e>>2]|0;if(o>>>0<(c[m>>2]|0)>>>0){c[e>>2]=o+1;D=d[o]|0;E=0}else{D=Yu(b)|0;E=0}while(1){if((D|0)==46){x=70;break}else if((D|0)!=48){F=D;G=0;H=0;I=0;J=0;L=E;M=0;N=0;O=1.0;P=0.0;Q=0;break}o=c[e>>2]|0;if(o>>>0<(c[m>>2]|0)>>>0){c[e>>2]=o+1;D=d[o]|0;E=1;continue}else{D=Yu(b)|0;E=1;continue}}b:do{if((x|0)==70){o=c[e>>2]|0;if(o>>>0<(c[m>>2]|0)>>>0){c[e>>2]=o+1;R=d[o]|0}else{R=Yu(b)|0}if((R|0)==48){S=-1;T=-1}else{F=R;G=0;H=0;I=0;J=0;L=E;M=1;N=0;O=1.0;P=0.0;Q=0;break}while(1){o=c[e>>2]|0;if(o>>>0<(c[m>>2]|0)>>>0){c[e>>2]=o+1;U=d[o]|0}else{U=Yu(b)|0}if((U|0)!=48){F=U;G=0;H=0;I=S;J=T;L=1;M=1;N=0;O=1.0;P=0.0;Q=0;break b}o=hv(T,S,-1,-1)|0;S=K;T=o}}}while(0);c:while(1){o=F-48|0;do{if(o>>>0<10>>>0){W=o;x=84}else{n=F|32;q=(F|0)==46;if(!((n-97|0)>>>0<6>>>0|q)){X=F;break c}if(q){if((M|0)==0){Y=G;Z=H;_=G;$=H;aa=L;ba=1;ca=N;da=O;ea=P;fa=Q;break}else{X=46;break c}}else{W=(F|0)>57?n-87|0:o;x=84;break}}}while(0);if((x|0)==84){x=0;o=0;do{if((G|0)<(o|0)|(G|0)==(o|0)&H>>>0<8>>>0){ha=N;ia=O;ja=P;ka=W+(Q<<4)|0}else{n=0;if((G|0)<(n|0)|(G|0)==(n|0)&H>>>0<14>>>0){la=O*.0625;ha=N;ia=la;ja=P+la*+(W|0);ka=Q;break}if(!((W|0)!=0&(N|0)==0)){ha=N;ia=O;ja=P;ka=Q;break}ha=1;ia=O;ja=P+O*.5;ka=Q}}while(0);o=hv(H,G,1,0)|0;Y=K;Z=o;_=I;$=J;aa=1;ba=M;ca=ha;da=ia;ea=ja;fa=ka}o=c[e>>2]|0;if(o>>>0<(c[m>>2]|0)>>>0){c[e>>2]=o+1;F=d[o]|0;G=Y;H=Z;I=_;J=$;L=aa;M=ba;N=ca;O=da;P=ea;Q=fa;continue}else{F=Yu(b)|0;G=Y;H=Z;I=_;J=$;L=aa;M=ba;N=ca;O=da;P=ea;Q=fa;continue}}if((L|0)==0){o=(c[m>>2]|0)==0;if(!o){c[e>>2]=(c[e>>2]|0)-1}do{if(u){Xu(b,0)}else{if(o){break}n=c[e>>2]|0;c[e>>2]=n-1;if((M|0)==0){break}c[e>>2]=n-2}}while(0);l=+(r|0)*0.0;i=g;return+l}o=(M|0)==0;n=o?H:J;q=o?G:I;o=0;if((G|0)<(o|0)|(G|0)==(o|0)&H>>>0<8>>>0){o=Q;p=G;ma=H;while(1){na=o<<4;oa=hv(ma,p,1,0)|0;pa=K;qa=0;if((pa|0)<(qa|0)|(pa|0)==(qa|0)&oa>>>0<8>>>0){o=na;p=pa;ma=oa}else{ra=na;break}}}else{ra=Q}do{if((X|32|0)==112){ma=Wu(b,f)|0;p=K;if(!((ma|0)==0&(p|0)==(-2147483648|0))){sa=p;ta=ma;break}if(u){Xu(b,0);l=0.0;i=g;return+l}else{if((c[m>>2]|0)==0){sa=0;ta=0;break}c[e>>2]=(c[e>>2]|0)-1;sa=0;ta=0;break}}else{if((c[m>>2]|0)==0){sa=0;ta=0;break}c[e>>2]=(c[e>>2]|0)-1;sa=0;ta=0}}while(0);ma=hv(n<<2|0>>>30,q<<2|n>>>30,-32,-1)|0;p=hv(ma,K,ta,sa)|0;ma=K;if((ra|0)==0){l=+(r|0)*0.0;i=g;return+l}o=0;if((ma|0)>(o|0)|(ma|0)==(o|0)&p>>>0>(-j|0)>>>0){o=Vb()|0;c[o>>2]=34;l=+(r|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+l}o=j-106|0;na=(o|0)<0|0?-1:0;if((ma|0)<(na|0)|(ma|0)==(na|0)&p>>>0<o>>>0){o=Vb()|0;c[o>>2]=34;l=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+l}if((ra|0)>-1){o=ra;la=P;na=ma;oa=p;while(1){pa=o<<1;if(la<.5){ua=la;va=pa}else{ua=la+-1.0;va=pa|1}wa=la+ua;pa=hv(oa,na,-1,-1)|0;qa=K;if((va|0)>-1){o=va;la=wa;na=qa;oa=pa}else{xa=va;ya=wa;za=qa;Aa=pa;break}}}else{xa=ra;ya=P;za=ma;Aa=p}oa=0;na=iv(32,0,j,(j|0)<0|0?-1:0)|0;o=hv(Aa,za,na,K)|0;na=K;if((oa|0)>(na|0)|(oa|0)==(na|0)&k>>>0>o>>>0){na=o;Ba=(na|0)<0?0:na}else{Ba=k}do{if((Ba|0)<53){la=+(r|0);wa=+Cb(+(+Zu(1.0,84-Ba|0)),+la);if(!((Ba|0)<32&ya!=0.0)){Ca=ya;Da=xa;Ea=wa;Fa=la;break}na=xa&1;Ca=(na|0)==0?0.0:ya;Da=(na^1)+xa|0;Ea=wa;Fa=la}else{Ca=ya;Da=xa;Ea=0.0;Fa=+(r|0)}}while(0);la=Fa*Ca+(Ea+Fa*+(Da>>>0>>>0))-Ea;if(!(la!=0.0)){p=Vb()|0;c[p>>2]=34}l=+_u(la,Aa);i=g;return+l}else{C=y}}while(0);p=j+k|0;ma=-p|0;na=C;o=0;while(1){if((na|0)==46){x=139;break}else if((na|0)!=48){Ga=na;Ha=0;Ia=o;Ja=0;Ka=0;break}oa=c[e>>2]|0;if(oa>>>0<(c[m>>2]|0)>>>0){c[e>>2]=oa+1;na=d[oa]|0;o=1;continue}else{na=Yu(b)|0;o=1;continue}}d:do{if((x|0)==139){na=c[e>>2]|0;if(na>>>0<(c[m>>2]|0)>>>0){c[e>>2]=na+1;La=d[na]|0}else{La=Yu(b)|0}if((La|0)==48){Ma=-1;Na=-1}else{Ga=La;Ha=1;Ia=o;Ja=0;Ka=0;break}while(1){na=c[e>>2]|0;if(na>>>0<(c[m>>2]|0)>>>0){c[e>>2]=na+1;Oa=d[na]|0}else{Oa=Yu(b)|0}if((Oa|0)!=48){Ga=Oa;Ha=1;Ia=1;Ja=Ma;Ka=Na;break d}na=hv(Na,Ma,-1,-1)|0;Ma=K;Na=na}}}while(0);o=h|0;c[o>>2]=0;na=Ga-48|0;oa=(Ga|0)==46;e:do{if(na>>>0<10>>>0|oa){n=h+496|0;q=Ja;pa=Ka;qa=0;Pa=0;Qa=0;Ra=Ia;Ta=Ha;Ua=0;Va=0;Wa=Ga;Xa=na;Ya=oa;while(1){do{if(Ya){if((Ta|0)==0){Za=Va;_a=Ua;ab=1;bb=Ra;cb=Qa;db=qa;eb=Pa;fb=qa;gb=Pa}else{hb=q;ib=pa;jb=qa;kb=Pa;lb=Qa;mb=Ra;nb=Ua;ob=Va;pb=Wa;break e}}else{qb=hv(Pa,qa,1,0)|0;rb=K;sb=(Wa|0)!=48;if((Ua|0)>=125){if(!sb){Za=Va;_a=Ua;ab=Ta;bb=Ra;cb=Qa;db=rb;eb=qb;fb=q;gb=pa;break}c[n>>2]=c[n>>2]|1;Za=Va;_a=Ua;ab=Ta;bb=Ra;cb=Qa;db=rb;eb=qb;fb=q;gb=pa;break}tb=h+(Ua<<2)|0;if((Va|0)==0){ub=Xa}else{ub=Wa-48+((c[tb>>2]|0)*10|0)|0}c[tb>>2]=ub;tb=Va+1|0;vb=(tb|0)==9;Za=vb?0:tb;_a=(vb&1)+Ua|0;ab=Ta;bb=1;cb=sb?qb:Qa;db=rb;eb=qb;fb=q;gb=pa}}while(0);qb=c[e>>2]|0;if(qb>>>0<(c[m>>2]|0)>>>0){c[e>>2]=qb+1;wb=d[qb]|0}else{wb=Yu(b)|0}qb=wb-48|0;rb=(wb|0)==46;if(qb>>>0<10>>>0|rb){q=fb;pa=gb;qa=db;Pa=eb;Qa=cb;Ra=bb;Ta=ab;Ua=_a;Va=Za;Wa=wb;Xa=qb;Ya=rb}else{xb=fb;yb=gb;zb=db;Ab=eb;Bb=cb;Db=bb;Eb=ab;Fb=_a;Gb=Za;Hb=wb;x=162;break}}}else{xb=Ja;yb=Ka;zb=0;Ab=0;Bb=0;Db=Ia;Eb=Ha;Fb=0;Gb=0;Hb=Ga;x=162}}while(0);if((x|0)==162){oa=(Eb|0)==0;hb=oa?zb:xb;ib=oa?Ab:yb;jb=zb;kb=Ab;lb=Bb;mb=Db;nb=Fb;ob=Gb;pb=Hb}oa=(mb|0)!=0;do{if(oa){if((pb|32|0)!=101){x=171;break}na=Wu(b,f)|0;Ya=K;do{if((na|0)==0&(Ya|0)==(-2147483648|0)){if(u){Xu(b,0);l=0.0;i=g;return+l}else{if((c[m>>2]|0)==0){Ib=0;Jb=0;break}c[e>>2]=(c[e>>2]|0)-1;Ib=0;Jb=0;break}}else{Ib=Ya;Jb=na}}while(0);na=hv(Jb,Ib,ib,hb)|0;Kb=K;Lb=na}else{x=171}}while(0);do{if((x|0)==171){if(!((pb|0)>-1)){Kb=hb;Lb=ib;break}if((c[m>>2]|0)==0){Kb=hb;Lb=ib;break}c[e>>2]=(c[e>>2]|0)-1;Kb=hb;Lb=ib}}while(0);if(!oa){na=Vb()|0;c[na>>2]=22;Xu(b,0);l=0.0;i=g;return+l}na=c[o>>2]|0;if((na|0)==0){l=+(r|0)*0.0;i=g;return+l}Ya=0;do{if((Lb|0)==(kb|0)&(Kb|0)==(jb|0)&((jb|0)<(Ya|0)|(jb|0)==(Ya|0)&kb>>>0<10>>>0)){if(!(k>>>0>30>>>0)){if((na>>>(k>>>0)|0)!=0){break}}l=+(r|0)*+(na>>>0>>>0);i=g;return+l}}while(0);na=(j|0)/-2|0;Ya=(na|0)<0|0?-1:0;if((Kb|0)>(Ya|0)|(Kb|0)==(Ya|0)&Lb>>>0>na>>>0){na=Vb()|0;c[na>>2]=34;l=+(r|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+l}na=j-106|0;Ya=(na|0)<0|0?-1:0;if((Kb|0)<(Ya|0)|(Kb|0)==(Ya|0)&Lb>>>0<na>>>0){na=Vb()|0;c[na>>2]=34;l=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+l}if((ob|0)==0){Mb=nb}else{if((ob|0)<9){na=h+(nb<<2)|0;Ya=ob;oa=c[na>>2]|0;do{oa=oa*10|0;Ya=Ya+1|0;}while((Ya|0)<9);c[na>>2]=oa}Mb=nb+1|0}Ya=Lb;do{if((lb|0)<9){if(!((lb|0)<=(Ya|0)&(Ya|0)<18)){break}if((Ya|0)==9){l=+(r|0)*+((c[o>>2]|0)>>>0>>>0);i=g;return+l}if((Ya|0)<9){l=+(r|0)*+((c[o>>2]|0)>>>0>>>0)/+(c[216+(8-Ya<<2)>>2]|0);i=g;return+l}Xa=k+27+(Ya*-3|0)|0;Wa=c[o>>2]|0;if((Xa|0)<=30){if((Wa>>>(Xa>>>0)|0)!=0){break}}l=+(r|0)*+(Wa>>>0>>>0)*+(c[216+(Ya-10<<2)>>2]|0);i=g;return+l}}while(0);o=(Ya|0)%9|0;if((o|0)==0){Nb=0;Ob=Mb;Pb=0;Qb=Ya}else{oa=(Ya|0)>-1?o:o+9|0;o=c[216+(8-oa<<2)>>2]|0;do{if((Mb|0)==0){Rb=0;Sb=0;Tb=Ya}else{na=1e9/(o|0)|0;Wa=Ya;Xa=0;Va=0;Ua=0;while(1){Ta=h+(Va<<2)|0;Ra=c[Ta>>2]|0;Qa=((Ra>>>0)/(o>>>0)|0)+Ua|0;c[Ta>>2]=Qa;Ub=ga((Ra>>>0)%(o>>>0)|0,na)|0;Ra=Va+1|0;if((Va|0)==(Xa|0)&(Qa|0)==0){Wb=Ra&127;Xb=Wa-9|0}else{Wb=Xa;Xb=Wa}if((Ra|0)==(Mb|0)){break}else{Wa=Xb;Xa=Wb;Va=Ra;Ua=Ub}}if((Ub|0)==0){Rb=Mb;Sb=Wb;Tb=Xb;break}c[h+(Mb<<2)>>2]=Ub;Rb=Mb+1|0;Sb=Wb;Tb=Xb}}while(0);Nb=Sb;Ob=Rb;Pb=0;Qb=9-oa+Tb|0}f:while(1){o=h+(Nb<<2)|0;if((Qb|0)<18){Ya=Ob;Ua=Pb;while(1){Va=0;Xa=Ya+127|0;Wa=Ya;while(1){na=Xa&127;Ra=h+(na<<2)|0;Qa=c[Ra>>2]|0;Ta=hv(Qa<<29|0>>>3,0<<29|Qa>>>3,Va,0)|0;Qa=K;Pa=0;if(Qa>>>0>Pa>>>0|Qa>>>0==Pa>>>0&Ta>>>0>1e9>>>0){Pa=sv(Ta,Qa,1e9,0)|0;qa=tv(Ta,Qa,1e9,0)|0;Yb=Pa;Zb=qa}else{Yb=0;Zb=Ta}c[Ra>>2]=Zb;Ra=(na|0)==(Nb|0);if((na|0)!=(Wa+127&127|0)|Ra){_b=Wa}else{_b=(Zb|0)==0?na:Wa}if(Ra){break}else{Va=Yb;Xa=na-1|0;Wa=_b}}Wa=Ua-29|0;if((Yb|0)==0){Ya=_b;Ua=Wa}else{$b=Wa;ac=_b;bc=Yb;break}}}else{if((Qb|0)==18){cc=Ob;dc=Pb}else{ec=Nb;fc=Ob;gc=Pb;hc=Qb;break}while(1){if(!((c[o>>2]|0)>>>0<9007199>>>0)){ec=Nb;fc=cc;gc=dc;hc=18;break f}Ua=0;Ya=cc+127|0;Wa=cc;while(1){Xa=Ya&127;Va=h+(Xa<<2)|0;na=c[Va>>2]|0;Ra=hv(na<<29|0>>>3,0<<29|na>>>3,Ua,0)|0;na=K;Ta=0;if(na>>>0>Ta>>>0|na>>>0==Ta>>>0&Ra>>>0>1e9>>>0){Ta=sv(Ra,na,1e9,0)|0;qa=tv(Ra,na,1e9,0)|0;ic=Ta;jc=qa}else{ic=0;jc=Ra}c[Va>>2]=jc;Va=(Xa|0)==(Nb|0);if((Xa|0)!=(Wa+127&127|0)|Va){kc=Wa}else{kc=(jc|0)==0?Xa:Wa}if(Va){break}else{Ua=ic;Ya=Xa-1|0;Wa=kc}}Wa=dc-29|0;if((ic|0)==0){cc=kc;dc=Wa}else{$b=Wa;ac=kc;bc=ic;break}}}o=Nb+127&127;if((o|0)==(ac|0)){Wa=ac+127&127;Ya=h+((ac+126&127)<<2)|0;c[Ya>>2]=c[Ya>>2]|c[h+(Wa<<2)>>2];lc=Wa}else{lc=ac}c[h+(o<<2)>>2]=bc;Nb=o;Ob=lc;Pb=$b;Qb=Qb+9|0}g:while(1){mc=fc+1&127;oa=h+((fc+127&127)<<2)|0;o=ec;Wa=gc;Ya=hc;while(1){Ua=(Ya|0)==18;Xa=(Ya|0)>27?9:1;nc=o;oc=Wa;while(1){Va=0;while(1){Ra=Va+nc&127;if((Ra|0)==(fc|0)){pc=2;break}qa=c[h+(Ra<<2)>>2]|0;Ra=c[208+(Va<<2)>>2]|0;if(qa>>>0<Ra>>>0){pc=2;break}Ta=Va+1|0;if(qa>>>0>Ra>>>0){pc=Va;break}if((Ta|0)<2){Va=Ta}else{pc=Ta;break}}if((pc|0)==2&Ua){break g}qc=Xa+oc|0;if((nc|0)==(fc|0)){nc=fc;oc=qc}else{break}}Ua=(1<<Xa)-1|0;Va=1e9>>>(Xa>>>0);rc=Ya;sc=nc;Ta=nc;tc=0;do{Ra=h+(Ta<<2)|0;qa=c[Ra>>2]|0;na=(qa>>>(Xa>>>0))+tc|0;c[Ra>>2]=na;tc=ga(qa&Ua,Va)|0;qa=(Ta|0)==(sc|0)&(na|0)==0;Ta=Ta+1&127;rc=qa?rc-9|0:rc;sc=qa?Ta:sc;}while((Ta|0)!=(fc|0));if((tc|0)==0){o=sc;Wa=qc;Ya=rc;continue}if((mc|0)!=(sc|0)){break}c[oa>>2]=c[oa>>2]|1;o=sc;Wa=qc;Ya=rc}c[h+(fc<<2)>>2]=tc;ec=sc;fc=mc;gc=qc;hc=rc}Ya=nc&127;if((Ya|0)==(fc|0)){c[h+(mc-1<<2)>>2]=0;uc=mc}else{uc=fc}la=+((c[h+(Ya<<2)>>2]|0)>>>0>>>0);Ya=nc+1&127;if((Ya|0)==(uc|0)){Wa=uc+1&127;c[h+(Wa-1<<2)>>2]=0;vc=Wa}else{vc=uc}wa=+(r|0);wc=wa*(la*1.0e9+ +((c[h+(Ya<<2)>>2]|0)>>>0>>>0));Ya=oc+53|0;Wa=Ya-j|0;if((Wa|0)<(k|0)){xc=(Wa|0)<0?0:Wa;yc=1}else{xc=k;yc=0}if((xc|0)<53){la=+Cb(+(+Zu(1.0,105-xc|0)),+wc);zc=+$a(+wc,+(+Zu(1.0,53-xc|0)));Ac=la;Bc=zc;Cc=la+(wc-zc)}else{Ac=0.0;Bc=0.0;Cc=wc}o=nc+2&127;do{if((o|0)==(vc|0)){Dc=Bc}else{oa=c[h+(o<<2)>>2]|0;do{if(oa>>>0<5e8>>>0){if((oa|0)==0){if((nc+3&127|0)==(vc|0)){Ec=Bc;break}}Ec=wa*.25+Bc}else{if(oa>>>0>5e8>>>0){Ec=wa*.75+Bc;break}if((nc+3&127|0)==(vc|0)){Ec=wa*.5+Bc;break}else{Ec=wa*.75+Bc;break}}}while(0);if((53-xc|0)<=1){Dc=Ec;break}if(+$a(+Ec,+1.0)!=0.0){Dc=Ec;break}Dc=Ec+1.0}}while(0);wa=Cc+Dc-Ac;do{if((Ya&2147483647|0)>(-2-p|0)){if(+V(+wa)<9007199254740992.0){Fc=wa;Gc=yc;Hc=oc}else{Fc=wa*.5;Gc=(yc|0)!=0&(xc|0)==(Wa|0)?0:yc;Hc=oc+1|0}if((Hc+50|0)<=(ma|0)){if(!((Gc|0)!=0&Dc!=0.0)){Ic=Fc;Jc=Hc;break}}o=Vb()|0;c[o>>2]=34;Ic=Fc;Jc=Hc}else{Ic=wa;Jc=oc}}while(0);l=+_u(Ic,Jc);i=g;return+l}else if((z|0)==3){ma=c[e>>2]|0;if(ma>>>0<(c[m>>2]|0)>>>0){c[e>>2]=ma+1;Kc=d[ma]|0}else{Kc=Yu(b)|0}if((Kc|0)==40){Lc=1}else{if((c[m>>2]|0)==0){l=+v;i=g;return+l}c[e>>2]=(c[e>>2]|0)-1;l=+v;i=g;return+l}while(1){ma=c[e>>2]|0;if(ma>>>0<(c[m>>2]|0)>>>0){c[e>>2]=ma+1;Mc=d[ma]|0}else{Mc=Yu(b)|0}if(!((Mc-48|0)>>>0<10>>>0|(Mc-65|0)>>>0<26>>>0)){if(!((Mc-97|0)>>>0<26>>>0|(Mc|0)==95)){break}}Lc=Lc+1|0}if((Mc|0)==41){l=+v;i=g;return+l}ma=(c[m>>2]|0)==0;if(!ma){c[e>>2]=(c[e>>2]|0)-1}if(u){Wa=Vb()|0;c[Wa>>2]=22;Xu(b,0);l=0.0;i=g;return+l}if((Lc|0)==0|ma){l=+v;i=g;return+l}else{Nc=Lc}while(1){ma=Nc-1|0;c[e>>2]=(c[e>>2]|0)-1;if((ma|0)==0){l=+v;break}else{Nc=ma}}i=g;return+l}else{if((c[m>>2]|0)!=0){c[e>>2]=(c[e>>2]|0)-1}u=Vb()|0;c[u>>2]=22;Xu(b,0);l=0.0;i=g;return+l}}}while(0);do{if((x|0)==23){b=(c[m>>2]|0)==0;if(!b){c[e>>2]=(c[e>>2]|0)-1}if(s>>>0<4>>>0|(f|0)==0|b){break}else{Oc=s}do{c[e>>2]=(c[e>>2]|0)-1;Oc=Oc-1|0;}while(Oc>>>0>3>>>0)}}while(0);l=+(r|0)*w;i=g;return+l}function Wu(a,b){a=a|0;b=b|0;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,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f]|0}else{h=Yu(a)|0}do{if((h|0)==45|(h|0)==43){f=(h|0)==45|0;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i]|0}else{j=Yu(a)|0}if((j-48|0)>>>0<10>>>0|(b|0)==0){k=f;l=j;break}if((c[g>>2]|0)==0){k=f;l=j;break}c[e>>2]=(c[e>>2]|0)-1;k=f;l=j}else{k=0;l=h}}while(0);if((l-48|0)>>>0>9>>>0){if((c[g>>2]|0)==0){m=-2147483648;n=0;return(K=m,n)|0}c[e>>2]=(c[e>>2]|0)-1;m=-2147483648;n=0;return(K=m,n)|0}else{o=l;p=0}while(1){q=o-48+p|0;l=c[e>>2]|0;if(l>>>0<(c[g>>2]|0)>>>0){c[e>>2]=l+1;r=d[l]|0}else{r=Yu(a)|0}if(!((r-48|0)>>>0<10>>>0&(q|0)<214748364)){break}o=r;p=q*10|0}p=q;o=(q|0)<0|0?-1:0;if((r-48|0)>>>0<10>>>0){q=r;l=o;h=p;while(1){j=rv(h,l,10,0)|0;b=K;f=hv(q,(q|0)<0|0?-1:0,-48,-1)|0;i=hv(f,K,j,b)|0;b=K;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j]|0}else{s=Yu(a)|0}j=21474836;if((s-48|0)>>>0<10>>>0&((b|0)<(j|0)|(b|0)==(j|0)&i>>>0<2061584302>>>0)){q=s;l=b;h=i}else{t=s;u=b;v=i;break}}}else{t=r;u=o;v=p}if((t-48|0)>>>0<10>>>0){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;w=d[t]|0}else{w=Yu(a)|0}}while((w-48|0)>>>0<10>>>0)}if((c[g>>2]|0)!=0){c[e>>2]=(c[e>>2]|0)-1}e=(k|0)!=0;k=iv(0,0,v,u)|0;m=e?K:u;n=e?k:v;return(K=m,n)|0}function Xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0)){c[a+100>>2]=e+b;return}else{c[a+100>>2]=d;return}}function Yu(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b+104|0;f=c[e>>2]|0;if((f|0)==0){g=3}else{if((c[b+108>>2]|0)<(f|0)){g=3}}do{if((g|0)==3){f=av(b)|0;if((f|0)<0){break}h=c[e>>2]|0;i=c[b+8>>2]|0;do{if((h|0)==0){g=8}else{j=c[b+4>>2]|0;k=h-(c[b+108>>2]|0)-1|0;if((i-j|0)<=(k|0)){g=8;break}c[b+100>>2]=j+k}}while(0);if((g|0)==8){c[b+100>>2]=i}h=c[b+4>>2]|0;if((i|0)!=0){k=b+108|0;c[k>>2]=i+1-h+(c[k>>2]|0)}k=h-1|0;if((d[k]|0|0)==(f|0)){l=f;return l|0}a[k]=f;l=f;return l|0}}while(0);c[b+100>>2]=0;l=-1;return l|0}function Zu(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0.0,g=0;do{if((b|0)>1023){d=a*8.98846567431158e+307;e=b-1023|0;if((e|0)<=1023){f=d;g=e;break}e=b-2046|0;f=d*8.98846567431158e+307;g=(e|0)>1023?1023:e}else{if(!((b|0)<-1022)){f=a;g=b;break}d=a*2.2250738585072014e-308;e=b+1022|0;if(!((e|0)<-1022)){f=d;g=e;break}e=b+2044|0;f=d*2.2250738585072014e-308;g=(e|0)<-1022?-1022:e}}while(0);return+(f*(c[k>>2]=0<<20|0>>>12,c[k+4>>2]=g+1023<<20|0>>>12,+h[k>>3]))}function _u(a,b){a=+a;b=b|0;return+(+Zu(a,b))}function $u(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b+74|0;e=a[d]|0;a[d]=e-1&255|e;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0){Hc[c[b+36>>2]&63](b,0,0)|0}c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;e=b|0;f=c[e>>2]|0;if((f&20|0)==0){g=c[d>>2]|0;c[b+8>>2]=g;c[b+4>>2]=g;h=0;return h|0}if((f&4|0)==0){h=-1;return h|0}c[e>>2]=f|32;h=-1;return h|0}function av(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+8|0;e=b|0;if((c[a+8>>2]|0)==0){if(($u(a)|0)==0){f=3}else{g=-1}}else{f=3}do{if((f|0)==3){if((Hc[c[a+32>>2]&63](a,e,1)|0)!=1){g=-1;break}g=d[e]|0}}while(0);i=b;return g|0}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0,j=0,k=0,l=0,m=0;d=i;i=i+112|0;e=d|0;dv(e|0,0,112)|0;f=e+4|0;c[f>>2]=a;g=e+8|0;c[g>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;Xu(e,0);h=+Vu(e,2,1);j=(c[f>>2]|0)-(c[g>>2]|0)+(c[e+108>>2]|0)|0;if((b|0)==0){k=112;l=0;i=d;return+h}if((j|0)==0){m=a}else{m=a+j|0}c[b>>2]=m;k=112;l=0;i=d;return+h}function cv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return wb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)return f|0;a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function dv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b]=d;b=b+1|0}return b-e|0}function ev(b){b=b|0;var c=0;c=b;while(a[c]|0){c=c+1|0}return c-b|0}function fv(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b]=a[c]|0}b=e}else{cv(b,c,d)|0}return b|0}function gv(i,j,k,l,m,n,o,p){i=i;j=j;k=k;l=l;m=m;n=n;o=o;p=p;a=i;b=j;c=k;d=l;e=m;f=n;g=o;h=p}function hv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return(K=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return(K=e,a-c>>>0|0)|0}function jv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){K=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}K=a<<c-32;return 0}function kv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){K=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}K=0;return b>>>c-32|0}function lv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){K=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}K=(b|0)<0?-1:0;return b>>c-32|0}function mv(b){b=b|0;var c=0;c=a[n+(b>>>24)|0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)|0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)|0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)|0]|0)+24|0}function nv(b){b=b|0;var c=0;c=a[m+(b&255)|0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)|0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)|0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)|0]|0)+24|0}function ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=ga(d,c)|0;f=a>>>16;a=(e>>>16)+(ga(d,f)|0)|0;d=b>>>16;b=ga(d,c)|0;return(K=(a>>>16)+(ga(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function pv(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=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=iv(e^a,f^b,e,f)|0;b=K;a=g^e;e=h^f;f=iv((uv(i,b,iv(g^c,h^d,g,h)|0,K,0)|0)^a,K^e,a,e)|0;return(K=K,f)|0}function qv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+8|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=iv(h^a,j^b,h,j)|0;b=K;uv(m,b,iv(k^d,l^e,k,l)|0,K,g)|0;l=iv(c[g>>2]^h,c[g+4>>2]^j,h,j)|0;j=K;i=f;return(K=j,l)|0}function rv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=ov(e,a)|0;f=K;return(K=(ga(b,a)|0)+(ga(d,e)|0)+f|f&0,c|0|0)|0}function sv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=uv(a,b,c,d,0)|0;return(K=K,e)|0}function tv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+8|0;g=f|0;uv(a,b,d,e,g)|0;i=f;return(K=c[g+4>>2]|0,c[g>>2]|0)|0}function uv(a,b,d,e,f){a=a|0;b=b|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,o=0,p=0,q=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,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=0;g=a;h=b;i=h;j=d;k=e;l=k;if((i|0)==0){m=(f|0)!=0;if((l|0)==0){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return(K=n,o)|0}else{if(!m){n=0;o=0;return(K=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return(K=n,o)|0}}m=(l|0)==0;do{if((j|0)==0){if(m){if((f|0)!=0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return(K=n,o)|0}if((g|0)==0){if((f|0)!=0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return(K=n,o)|0}p=l-1|0;if((p&l|0)==0){if((f|0)!=0){c[f>>2]=a|0;c[f+4>>2]=p&i|b&0}n=0;o=i>>>((nv(l|0)|0)>>>0);return(K=n,o)|0}p=(mv(l|0)|0)-(mv(i|0)|0)|0;if(p>>>0<=30){q=p+1|0;r=31-p|0;s=q;t=i<<r|g>>>(q>>>0);u=i>>>(q>>>0);v=0;w=g<<r;break}if((f|0)==0){n=0;o=0;return(K=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return(K=n,o)|0}else{if(!m){r=(mv(l|0)|0)-(mv(i|0)|0)|0;if(r>>>0<=31){q=r+1|0;p=31-r|0;x=r-31>>31;s=q;t=g>>>(q>>>0)&x|i<<p;u=i>>>(q>>>0)&x;v=0;w=g<<p;break}if((f|0)==0){n=0;o=0;return(K=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return(K=n,o)|0}p=j-1|0;if((p&j|0)!=0){x=(mv(j|0)|0)+33-(mv(i|0)|0)|0;q=64-x|0;r=32-x|0;y=r>>31;z=x-32|0;A=z>>31;s=x;t=r-1>>31&i>>>(z>>>0)|(i<<r|g>>>(x>>>0))&A;u=A&i>>>(x>>>0);v=g<<q&y;w=(i<<q|g>>>(z>>>0))&y|g<<r&x-33>>31;break}if((f|0)!=0){c[f>>2]=p&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return(K=n,o)|0}else{p=nv(j|0)|0;n=i>>>(p>>>0)|0;o=i<<32-p|g>>>(p>>>0)|0;return(K=n,o)|0}}}while(0);if((s|0)==0){B=w;C=v;D=u;E=t;F=0;G=0}else{g=d|0|0;d=k|e&0;e=hv(g,d,-1,-1)|0;k=K;i=w;w=v;v=u;u=t;t=s;s=0;while(1){H=w>>>31|i<<1;I=s|w<<1;j=u<<1|i>>>31|0;a=u>>>31|v<<1|0;iv(e,k,j,a)|0;b=K;h=b>>31|((b|0)<0?-1:0)<<1;J=h&1;L=iv(j,a,h&g,(((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1)&d)|0;M=K;b=t-1|0;if((b|0)==0){break}else{i=H;w=I;v=M;u=L;t=b;s=J}}B=H;C=I;D=M;E=L;F=0;G=J}J=C;C=0;if((f|0)!=0){c[f>>2]=E;c[f+4>>2]=D}n=(J|0)>>>31|(B|C)<<1|(C<<1|J>>>31)&0|F;o=(J<<1|0>>>31)&-2|G;return(K=n,o)|0}function vv(){qc()}function wv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cc[a&31](b|0,c|0,d|0,e|0,f|0)}function xv(a,b){a=a|0;b=b|0;Dc[a&511](b|0)}function yv(a,b,c){a=a|0;b=b|0;c=c|0;Ec[a&127](b|0,c|0)}function zv(a,b){a=a|0;b=b|0;return Fc[a&255](b|0)|0}function Av(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 Gc[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Bv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hc[a&63](b|0,c|0,d|0)|0}function Cv(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;Ic[a&15](b|0,c|0,d|0,e|0,f|0,+g)}function Dv(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;Jc[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Ev(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;Kc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function Fv(a,b,c,d,e,f,g,h,i,j,k,l,m,n){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;l=l|0;m=m|0;n=n|0;Lc[a&3](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)}function Gv(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;Mc[a&127](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Hv(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;Nc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,+h)}function Iv(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;Oc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Jv(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;Pc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;return Qc[a&63](b|0,c|0)|0}function Lv(a,b,c,d,e,f,g,h,i,j,k,l,m){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;l=l|0;m=m|0;Rc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function Mv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Sc[a&15](b|0,c|0,d|0,e|0)|0}function Nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Tc[a&63](b|0,c|0,d|0)}function Ov(a){a=a|0;Uc[a&3]()}function Pv(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 Vc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Qv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wc[a&63](b|0,c|0,d|0,e|0)}function Rv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(0)}function Sv(a){a=a|0;ha(1)}function Tv(a,b){a=a|0;b=b|0;ha(2)}function Uv(a){a=a|0;ha(3);return 0}function Vv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(4);return 0}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;ha(5);return 0}function Xv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(6)}function Yv(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;ha(7)}function Zv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(8)}function _v(a,b,c,d,e,f,g,h,i,j,k,l,m){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;l=l|0;m=m|0;ha(9)}function $v(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;ha(10)}function aw(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;ha(11)}function bw(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;ha(12)}function cw(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;ha(13)}function dw(a,b){a=a|0;b=b|0;ha(14);return 0}function ew(a,b,c,d,e,f,g,h,i,j,k,l){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;l=l|0;ha(15)}function fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(16);return 0}function gw(a,b,c){a=a|0;b=b|0;c=c|0;ha(17)}function hw(){ha(18)}function iw(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;ha(19);return 0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(20)}
-    
-    
-    
-    
-    // EMSCRIPTEN_END_FUNCS
-    var Cc=[Rv,Rv,Vf,Rv,Nf,Rv,Bu,Rv,Cu,Rv,Qf,Rv,Au,Rv,Mf,Rv,Wf,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv];var Dc=[Sv,Sv,Hr,Sv,_n,Sv,pp,Sv,cm,Sv,jk,Sv,Om,Sv,Mr,Sv,Zr,Sv,Kl,Sv,Rh,Sv,xl,Sv,ap,Sv,Wl,Sv,Ls,Sv,am,Sv,yo,Sv,Ti,Sv,Qn,Sv,Mn,Sv,Xl,Sv,Xr,Sv,ls,Sv,Rp,Sv,zo,Sv,lu,Sv,En,Sv,Dr,Sv,Yr,Sv,qn,Sv,$n,Sv,Eq,Sv,Rr,Sv,yj,Sv,it,Sv,qu,Sv,ht,Sv,Kn,Sv,am,Sv,Wn,Sv,fk,Sv,jq,Sv,kt,Sv,_r,Sv,Hu,Sv,wr,Sv,gt,Sv,On,Sv,jj,Sv,un,Sv,wl,Sv,th,Sv,ck,Sv,Vn,Sv,eq,Sv,Xl,Sv,Ed,Sv,St,Sv,bp,Sv,Ws,Sv,rf,Sv,Fq,Sv,pn,Sv,Bn,Sv,bq,Sv,Qp,Sv,Nn,Sv,tq,Sv,Bk,Sv,Ru,Sv,Nm,Sv,Le,Sv,Vt,Sv,Wt,Sv,Fn,Sv,an,Sv,Si,Sv,vs,Sv,nu,Sv,rn,Sv,Ln,Sv,_q,Sv,ol,Sv,Pq,Sv,Gn,Sv,Vr,Sv,tu,Sv,Su,Sv,Yt,Sv,ru,Sv,Dl,Sv,Qr,Sv,vj,Sv,cq,Sv,jr,Sv,mu,Sv,ft,Sv,br,Sv,Oh,Sv,Xt,Sv,iq,Sv,op,Sv,Pn,Sv,El,Sv,Ut,Sv,Rn,Sv,wn,Sv,km,Sv,ql,Sv,Ds,Sv,qr,Sv,ir,Sv,sh,Sv,jt,Sv,xr,Sv,Cm,Sv,kj,Sv,Cd,Sv,nu,Sv,uu,Sv,An,Sv,Me,Sv,lm,Sv,bk,Sv,on,Sv,pu,Sv,ik,Sv,qf,Sv,Be,Sv,Dn,Sv,gk,Sv,Cr,Sv,hk,Sv,Km,Sv,zn,Sv,Ll,Sv,Tr,Sv,Qq,Sv,Cp,Sv,uq,Sv,Ne,Sv,Fe,Sv,vn,Sv,$m,Sv,yn,Sv,xj,Sv,Dp,Sv,su,Sv,Ir,Sv,pl,Sv,tn,Sv,ek,Sv,fq,Sv,Ee,Sv,Ck,Sv,rr,Sv,$q,Sv,rm,Sv,ms,Sv,$l,Sv,kl,Sv,Zt,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv];var Ec=[Tv,Tv,tt,Tv,Vq,Tv,xq,Tv,qt,Tv,Oq,Tv,pt,Tv,Dq,Tv,zj,Tv,rl,Tv,ak,Tv,Gr,Tv,Jq,Tv,pq,Tv,Yq,Tv,Lq,Tv,oq,Tv,Tq,Tv,mq,Tv,Wq,Tv,Ur,Tv,Fl,Tv,yl,Tv,Zq,Tv,Dd,Tv,st,Tv,Yf,Tv,yq,Tv,_l,Tv,ut,Tv,Nq,Tv,Aq,Tv,rt,Tv,Cq,Tv,Pm,Tv,Ml,Tv,Lr,Tv,Iq,Tv,$j,Tv,sq,Tv,rq,Tv,nq,Tv,bn,Tv,Kq,Tv,Ge,Tv,Uq,Tv,zq,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv];var Fc=[Uv,Uv,It,Uv,Hq,Uv,Wm,Uv,As,Uv,yt,Uv,Xm,Uv,bt,Uv,Gt,Uv,vq,Uv,Ep,Uv,wt,Uv,Ol,Uv,kn,Uv,jn,Uv,at,Uv,Ct,Uv,At,Uv,ou,Uv,bm,Uv,lt,Uv,Bt,Uv,Ft,Uv,mt,Uv,Tm,Uv,zs,Uv,Xq,Uv,Dt,Uv,sl,Uv,wq,Uv,Ss,Uv,Rq,Uv,vt,Uv,zl,Uv,Tu,Uv,In,Uv,qq,Uv,Al,Uv,nt,Uv,Um,Uv,fn,Uv,Gl,Uv,Cs,Uv,Bq,Uv,Ht,Uv,Nl,Uv,Rs,Uv,Is,Uv,gn,Uv,kq,Uv,xt,Uv,lq,Uv,Yl,Uv,Ik,Uv,Gq,Uv,Ks,Uv,Mq,Uv,zt,Uv,Sq,Uv,Hs,Uv,Sp,Uv,ot,Uv,Et,Uv,Vs,Uv,et,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv];var Gc=[Vv,Vv,ks,Vv,Qs,Vv,Xn,Vv,ct,Vv,Ts,Vv,us,Vv,Gs,Vv,Sn,Vv,ys,Vv,Bs,Vv,$s,Vv,Js,Vv,Vv,Vv,Vv,Vv,Vv,Vv];var Hc=[Wv,Wv,Un,Wv,os,Wv,gs,Wv,vu,Wv,js,Wv,Zn,Wv,fm,Wv,Zm,Wv,Vm,Wv,$r,Wv,cn,Wv,Jr,Wv,ts,Wv,es,Wv,tl,Wv,gm,Wv,hn,Wv,qs,Wv,Er,Wv,Qm,Wv,Hl,Wv,mn,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv];var Ic=[Xv,Xv,zp,Xv,xp,Xv,mp,Xv,jp,Xv,Xv,Xv,Xv,Xv,Xv,Xv];var Jc=[Yv,Yv,gh,Yv,qh,Yv,ch,Yv,Hg,Yv,gq,Yv,fh,Yv,ph,Yv,dq,Yv,eh,Yv,mh,Yv,oh,Yv,ih,Yv,hh,Yv,ar,Yv,kr,Yv,jh,Yv,lh,Yv,nh,Yv,er,Yv,kh,Yv,Ng,Yv,rh,Yv,mr,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv];var Kc=[Zv,Zv,Du,Zv,vp,Zv,rp,Zv,qp,Zv,Eu,Zv,Ap,Zv,Fr,Zv,dn,Zv,np,Zv,Ag,Zv,cp,Zv,hp,Zv,dp,Zv,Fu,Zv,Rm,Zv,Kr,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv];var Lc=[_v,_v,Gg,_v];var Mc=[$v,$v,Jp,$v,Tp,$v,Tg,$v,_g,$v,Vp,$v,Br,$v,Wg,$v,wp,$v,up,$v,vr,$v,$g,$v,Fp,$v,Mg,$v,Og,$v,Dg,$v,ah,$v,Ip,$v,Ug,$v,Wp,$v,Eg,$v,ip,$v,Rg,$v,Oo,$v,Yg,$v,Uo,$v,Qg,$v,Hp,$v,Vg,$v,Io,$v,Up,$v,gp,$v,Xg,$v,Mo,$v,Eo,$v,Go,$v,vo,$v,Ko,$v,Co,$v,Ao,$v,So,$v,Qo,$v,bh,$v,Sg,$v,Xp,$v,jo,$v,Gp,$v,no,$v,fo,$v,ho,$v,lo,$v,co,$v,to,$v,ro,$v,po,$v,ao,$v,Zg,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v];var Nc=[aw,aw,yr,aw,sr,aw,aw,aw];var Oc=[bw,bw,Bg,bw,Yp,bw,Ig,bw,Kp,bw,bw,bw,bw,bw,bw,bw];var Pc=[cw,cw,Jg,cw,Lg,cw,Fg,cw,Kg,cw,cw,cw,cw,cw,cw,cw];var Qc=[dw,dw,ps,dw,Pl,dw,hs,dw,ln,dw,rs,dw,of,dw,ns,dw,Bl,dw,Il,dw,ds,dw,pf,dw,nn,dw,fs,dw,_m,dw,Ym,dw,ul,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw];var Rc=[ew,ew,Cg,ew];var Sc=[fw,fw,as,fw,Mh,fw,bs,fw,ss,fw,is,fw,cs,fw,fw,fw];var Tc=[gw,gw,yg,gw,Xf,gw,xg,gw,qg,gw,Uf,gw,gg,gw,tg,gw,jg,gw,wg,gw,ug,gw,Of,gw,$f,gw,zg,gw,Zf,gw,kg,gw,sg,gw,em,gw,Jn,gw,ig,gw,Tf,gw,Nh,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw];var Uc=[hw,hw,vv,hw];var Vc=[iw,iw,Es,iw,Os,iw,Ms,iw,Zs,iw,Fs,iw,Xs,iw,ws,iw,xs,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw];var Wc=[jw,jw,eg,jw,cg,jw,xu,jw,yu,jw,ag,jw,lg,jw,dg,jw,Pf,jw,ng,jw,Sf,jw,wu,jw,og,jw,pg,jw,fg,jw,Sm,jw,Yn,jw,en,jw,Rf,jw,Tn,jw,_f,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw];return{_de265_get_error_text:Nd,_strlen:ev,_de265_get_image_plane_user_data:pe,_de265_release_next_picture:_d,_de265_push_end_of_NAL:Vd,_de265_get_highest_TID:$d,_de265_free_decoder:Qd,_de265_set_limit_TID:be,_de265_get_image_plane:oe,_de265_get_parameter_bool:he,_de265_get_version:Ld,_de265_change_framerate:de,_de265_get_image_width:ke,_de265_set_parameter_int:ge,_de265_get_current_TID:ae,_memset:dv,_de265_isOK:Od,_de265_push_end_of_frame:Wd,_memcpy:cv,_de265_set_framerate_ratio:ce,_de265_get_bits_per_pixel:me,_de265_get_chroma_format:ne,_de265_get_image_user_data:re,_de265_get_version_number:Md,_de265_get_image_PTS:qe,_de265_get_number_of_input_bytes_pending:ie,_de265_flush_data:Sd,_realloc:Iu,_de265_new_decoder:Pd,_de265_get_number_of_NAL_units_pending:je,_de265_get_next_picture:Yd,_de265_peek_next_picture:Zd,_de265_decode:Td,_de265_set_parameter_bool:fe,_de265_push_NAL:Ud,_free:Hu,_memmove:fv,__GLOBAL__I_a:Rl,_de265_set_verbosity:Xk,_de265_get_image_height:le,_de265_reset:Xd,_malloc:Gu,_emscripten_replace_memory:gv,_de265_get_warning:ee,_de265_push_data:Rd,_de265_set_image_user_data:se,runPostSets:ld,stackAlloc:Xc,stackSave:Yc,stackRestore:Zc,setThrew:_c,setTempRet0:bd,setTempRet1:cd,setTempRet2:dd,setTempRet3:ed,setTempRet4:fd,setTempRet5:gd,setTempRet6:hd,setTempRet7:id,setTempRet8:jd,setTempRet9:kd,dynCall_viiiii:wv,dynCall_vi:xv,dynCall_vii:yv,dynCall_ii:zv,dynCall_iiiiii:Av,dynCall_iiii:Bv,dynCall_viiiiid:Cv,dynCall_viiiiiiii:Dv,dynCall_viiiiii:Ev,dynCall_viiiiiiiiiiiii:Fv,dynCall_viiiiiii:Gv,dynCall_viiiiiid:Hv,dynCall_viiiiiiiii:Iv,dynCall_viiiiiiiiii:Jv,dynCall_iii:Kv,dynCall_viiiiiiiiiiii:Lv,dynCall_iiiii:Mv,dynCall_viii:Nv,dynCall_v:Ov,dynCall_iiiiiiiii:Pv,dynCall_viiii:Qv}})
-    
-    
-    // EMSCRIPTEN_END_ASM
-    ({ "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array }, { "abort": abort, "assert": assert, "asmPrintInt": asmPrintInt, "asmPrintFloat": asmPrintFloat, "min": Math_min, "invoke_viiiii": invoke_viiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_iiiiii": invoke_iiiiii, "invoke_iiii": invoke_iiii, "invoke_viiiiid": invoke_viiiiid, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viiiiiiiiiiiii": invoke_viiiiiiiiiiiii, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiid": invoke_viiiiiid, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_viiiiiiiiii": invoke_viiiiiiiiii, "invoke_iii": invoke_iii, "invoke_viiiiiiiiiiii": invoke_viiiiiiiiiiii, "invoke_iiiii": invoke_iiiii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_iiiiiiiii": invoke_iiiiiiiii, "invoke_viiii": invoke_viiii, "_llvm_lifetime_end": _llvm_lifetime_end, "__scanString": __scanString, "_pthread_mutex_lock": _pthread_mutex_lock, "___cxa_end_catch": ___cxa_end_catch, "_strtoull": _strtoull, "_fflush": _fflush, "__isLeapYear": __isLeapYear, "_fwrite": _fwrite, "_send": _send, "_pthread_mutex_init": _pthread_mutex_init, "_llvm_umul_with_overflow_i32": _llvm_umul_with_overflow_i32, "_isspace": _isspace, "_read": _read, "_isxdigit_l": _isxdigit_l, "_fileno": _fileno, "___cxa_guard_abort": ___cxa_guard_abort, "_newlocale": _newlocale, "___gxx_personality_v0": ___gxx_personality_v0, "_pthread_cond_wait": _pthread_cond_wait, "___cxa_rethrow": ___cxa_rethrow, "_fmod": _fmod, "___resumeException": ___resumeException, "_llvm_va_end": _llvm_va_end, "_vsscanf": _vsscanf, "_snprintf": _snprintf, "_fgetc": _fgetc, "__getFloat": __getFloat, "_pthread_cond_signal": _pthread_cond_signal, "___cxa_free_exception": ___cxa_free_exception, "_isdigit_l": _isdigit_l, "___setErrNo": ___setErrNo, "_isxdigit": _isxdigit, "_exit": _exit, "_sprintf": _sprintf, "_asprintf": _asprintf, "___ctype_b_loc": ___ctype_b_loc, "_freelocale": _freelocale, "_catgets": _catgets, "___cxa_is_number_type": ___cxa_is_number_type, "_llvm_uadd_with_overflow_i32": _llvm_uadd_with_overflow_i32, "___cxa_does_inherit": ___cxa_does_inherit, "___cxa_guard_acquire": ___cxa_guard_acquire, "___cxa_begin_catch": ___cxa_begin_catch, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_recv": _recv, "__parseInt64": __parseInt64, "__ZSt18uncaught_exceptionv": __ZSt18uncaught_exceptionv, "__ZNSt9exceptionD2Ev": __ZNSt9exceptionD2Ev, "_mkport": _mkport, "_copysign": _copysign, "__exit": __exit, "_strftime": _strftime, "___cxa_throw": ___cxa_throw, "_printf": _printf, "_pread": _pread, "_strtoull_l": _strtoull_l, "__arraySum": __arraySum, "_sysconf": _sysconf, "_strtoll_l": _strtoll_l, "___cxa_find_matching_catch": ___cxa_find_matching_catch, "__formatString": __formatString, "_pthread_cond_broadcast": _pthread_cond_broadcast, "__ZSt9terminatev": __ZSt9terminatev, "_vfprintf": _vfprintf, "_pthread_mutex_unlock": _pthread_mutex_unlock, "___cxa_call_unexpected": ___cxa_call_unexpected, "_sbrk": _sbrk, "_atexit": _atexit, "___errno_location": ___errno_location, "_strerror": _strerror, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_catclose": _catclose, "_llvm_lifetime_start": _llvm_lifetime_start, "___cxa_guard_release": ___cxa_guard_release, "_ungetc": _ungetc, "_pthread_cond_destroy": _pthread_cond_destroy, "_uselocale": _uselocale, "_vsnprintf": _vsnprintf, "_sscanf": _sscanf, "___assert_fail": ___assert_fail, "_fread": _fread, "_strftime_l": _strftime_l, "_abort": _abort, "_fprintf": _fprintf, "_isdigit": _isdigit, "_strtoll": _strtoll, "__addDays": __addDays, "_fabs": _fabs, "__reallyNegative": __reallyNegative, "_write": _write, "___cxa_allocate_exception": ___cxa_allocate_exception, "___cxa_pure_virtual": ___cxa_pure_virtual, "_vasprintf": _vasprintf, "_catopen": _catopen, "___ctype_toupper_loc": ___ctype_toupper_loc, "___ctype_tolower_loc": ___ctype_tolower_loc, "_pthread_join": _pthread_join, "_pthread_cond_init": _pthread_cond_init, "_pwrite": _pwrite, "_strerror_r": _strerror_r, "_pthread_create": _pthread_create, "_time": _time, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8, "ctlz_i8": ctlz_i8, "NaN": NaN, "Infinity": Infinity, "_stdin": _stdin, "__ZTVN10__cxxabiv117__class_type_infoE": __ZTVN10__cxxabiv117__class_type_infoE, "_stderr": _stderr, "__ZTISt9exception": __ZTISt9exception, "__ZTVN10__cxxabiv120__si_class_type_infoE": __ZTVN10__cxxabiv120__si_class_type_infoE, "_stdout": _stdout, "___dso_handle": ___dso_handle }, buffer);
-    var _de265_get_error_text = Module["_de265_get_error_text"] = asm["_de265_get_error_text"];
-    var _strlen = Module["_strlen"] = asm["_strlen"];
-    var _de265_get_image_plane_user_data = Module["_de265_get_image_plane_user_data"] = asm["_de265_get_image_plane_user_data"];
-    var _de265_release_next_picture = Module["_de265_release_next_picture"] = asm["_de265_release_next_picture"];
-    var _de265_push_end_of_NAL = Module["_de265_push_end_of_NAL"] = asm["_de265_push_end_of_NAL"];
-    var _de265_get_highest_TID = Module["_de265_get_highest_TID"] = asm["_de265_get_highest_TID"];
-    var _de265_free_decoder = Module["_de265_free_decoder"] = asm["_de265_free_decoder"];
-    var _de265_set_limit_TID = Module["_de265_set_limit_TID"] = asm["_de265_set_limit_TID"];
-    var _de265_get_image_plane = Module["_de265_get_image_plane"] = asm["_de265_get_image_plane"];
-    var _de265_get_parameter_bool = Module["_de265_get_parameter_bool"] = asm["_de265_get_parameter_bool"];
-    var _de265_get_version = Module["_de265_get_version"] = asm["_de265_get_version"];
-    var _de265_change_framerate = Module["_de265_change_framerate"] = asm["_de265_change_framerate"];
-    var _de265_get_image_width = Module["_de265_get_image_width"] = asm["_de265_get_image_width"];
-    var _de265_set_parameter_int = Module["_de265_set_parameter_int"] = asm["_de265_set_parameter_int"];
-    var _de265_get_current_TID = Module["_de265_get_current_TID"] = asm["_de265_get_current_TID"];
-    var _memset = Module["_memset"] = asm["_memset"];
-    var _de265_isOK = Module["_de265_isOK"] = asm["_de265_isOK"];
-    var _de265_push_end_of_frame = Module["_de265_push_end_of_frame"] = asm["_de265_push_end_of_frame"];
-    var _memcpy = Module["_memcpy"] = asm["_memcpy"];
-    var _de265_set_framerate_ratio = Module["_de265_set_framerate_ratio"] = asm["_de265_set_framerate_ratio"];
-    var _de265_get_bits_per_pixel = Module["_de265_get_bits_per_pixel"] = asm["_de265_get_bits_per_pixel"];
-    var _de265_get_chroma_format = Module["_de265_get_chroma_format"] = asm["_de265_get_chroma_format"];
-    var _de265_get_image_user_data = Module["_de265_get_image_user_data"] = asm["_de265_get_image_user_data"];
-    var _de265_get_version_number = Module["_de265_get_version_number"] = asm["_de265_get_version_number"];
-    var _de265_get_image_PTS = Module["_de265_get_image_PTS"] = asm["_de265_get_image_PTS"];
-    var _de265_get_number_of_input_bytes_pending = Module["_de265_get_number_of_input_bytes_pending"] = asm["_de265_get_number_of_input_bytes_pending"];
-    var _de265_flush_data = Module["_de265_flush_data"] = asm["_de265_flush_data"];
-    var _realloc = Module["_realloc"] = asm["_realloc"];
-    var _de265_new_decoder = Module["_de265_new_decoder"] = asm["_de265_new_decoder"];
-    var _de265_get_number_of_NAL_units_pending = Module["_de265_get_number_of_NAL_units_pending"] = asm["_de265_get_number_of_NAL_units_pending"];
-    var _de265_get_next_picture = Module["_de265_get_next_picture"] = asm["_de265_get_next_picture"];
-    var _de265_peek_next_picture = Module["_de265_peek_next_picture"] = asm["_de265_peek_next_picture"];
-    var _de265_decode = Module["_de265_decode"] = asm["_de265_decode"];
-    var _de265_set_parameter_bool = Module["_de265_set_parameter_bool"] = asm["_de265_set_parameter_bool"];
-    var _de265_push_NAL = Module["_de265_push_NAL"] = asm["_de265_push_NAL"];
-    var _free = Module["_free"] = asm["_free"];
-    var _memmove = Module["_memmove"] = asm["_memmove"];
-    var __GLOBAL__I_a = Module["__GLOBAL__I_a"] = asm["__GLOBAL__I_a"];
-    var _de265_set_verbosity = Module["_de265_set_verbosity"] = asm["_de265_set_verbosity"];
-    var _de265_get_image_height = Module["_de265_get_image_height"] = asm["_de265_get_image_height"];
-    var _de265_reset = Module["_de265_reset"] = asm["_de265_reset"];
-    var _malloc = Module["_malloc"] = asm["_malloc"];
-    var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"];
-    var _de265_get_warning = Module["_de265_get_warning"] = asm["_de265_get_warning"];
-    var _de265_push_data = Module["_de265_push_data"] = asm["_de265_push_data"];
-    var _de265_set_image_user_data = Module["_de265_set_image_user_data"] = asm["_de265_set_image_user_data"];
-    var runPostSets = Module["runPostSets"] = asm["runPostSets"];
-    var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
-    var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
-    var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
-    var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
-    var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"];
-    var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
-    var dynCall_viiiiid = Module["dynCall_viiiiid"] = asm["dynCall_viiiiid"];
-    var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"];
-    var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
-    var dynCall_viiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiii"] = asm["dynCall_viiiiiiiiiiiii"];
-    var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"];
-    var dynCall_viiiiiid = Module["dynCall_viiiiiid"] = asm["dynCall_viiiiiid"];
-    var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"];
-    var dynCall_viiiiiiiiii = Module["dynCall_viiiiiiiiii"] = asm["dynCall_viiiiiiiiii"];
-    var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
-    var dynCall_viiiiiiiiiiii = Module["dynCall_viiiiiiiiiiii"] = asm["dynCall_viiiiiiiiiiii"];
-    var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
-    var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
-    var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
-    var dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = asm["dynCall_iiiiiiiii"];
-    var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
-    
-    Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) };
-    Runtime.stackSave = function() { return asm['stackSave']() };
-    Runtime.stackRestore = function(top) { asm['stackRestore'](top) };
-    
-    // TODO: strip out parts of this we do not need
-    
-    //======= begin closure i64 code =======
-    
-    // Copyright 2009 The Closure Library Authors. All Rights Reserved.
-    //
-    // Licensed under the Apache License, Version 2.0 (the "License");
-    // you may not use this file except in compliance with the License.
-    // You may obtain a copy of the License at
-    //
-    //      http://www.apache.org/licenses/LICENSE-2.0
-    //
-    // Unless required by applicable law or agreed to in writing, software
-    // distributed under the License is distributed on an "AS-IS" BASIS,
-    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    // See the License for the specific language governing permissions and
-    // limitations under the License.
-    
-    /**
-     * @fileoverview Defines a Long class for representing a 64-bit two's-complement
-     * integer value, which faithfully simulates the behavior of a Java "long". This
-     * implementation is derived from LongLib in GWT.
-     *
-     */
-    
-    var i64Math = (function() { // Emscripten wrapper
-      var goog = { math: {} };
-    
-    
-      /**
-       * Constructs a 64-bit two's-complement integer, given its low and high 32-bit
-       * values as *signed* integers.  See the from* functions below for more
-       * convenient ways of constructing Longs.
-       *
-       * The internal representation of a long is the two given signed, 32-bit values.
-       * We use 32-bit pieces because these are the size of integers on which
-       * Javascript performs bit-operations.  For operations like addition and
-       * multiplication, we split each number into 16-bit pieces, which can easily be
-       * multiplied within Javascript's floating-point representation without overflow
-       * or change in sign.
-       *
-       * In the algorithms below, we frequently reduce the negative case to the
-       * positive case by negating the input(s) and then post-processing the result.
-       * Note that we must ALWAYS check specially whether those values are MIN_VALUE
-       * (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as
-       * a positive number, it overflows back into a negative).  Not handling this
-       * case would often result in infinite recursion.
-       *
-       * @param {number} low  The low (signed) 32 bits of the long.
-       * @param {number} high  The high (signed) 32 bits of the long.
-       * @constructor
-       */
-      goog.math.Long = function(low, high) {
-        /**
-         * @type {number}
-         * @private
-         */
-        this.low_ = low | 0;  // force into 32 signed bits.
-    
-        /**
-         * @type {number}
-         * @private
-         */
-        this.high_ = high | 0;  // force into 32 signed bits.
-      };
-    
-    
-      // NOTE: Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the
-      // from* methods on which they depend.
-    
-    
-      /**
-       * A cache of the Long representations of small integer values.
-       * @type {!Object}
-       * @private
-       */
-      goog.math.Long.IntCache_ = {};
-    
-    
-      /**
-       * Returns a Long representing the given (32-bit) integer value.
-       * @param {number} value The 32-bit integer in question.
-       * @return {!goog.math.Long} The corresponding Long value.
-       */
-      goog.math.Long.fromInt = function(value) {
-        if (-128 <= value && value < 128) {
-          var cachedObj = goog.math.Long.IntCache_[value];
-          if (cachedObj) {
-            return cachedObj;
-          }
-        }
-    
-        var obj = new goog.math.Long(value | 0, value < 0 ? -1 : 0);
-        if (-128 <= value && value < 128) {
-          goog.math.Long.IntCache_[value] = obj;
-        }
-        return obj;
-      };
-    
-    
-      /**
-       * Returns a Long representing the given value, provided that it is a finite
-       * number.  Otherwise, zero is returned.
-       * @param {number} value The number in question.
-       * @return {!goog.math.Long} The corresponding Long value.
-       */
-      goog.math.Long.fromNumber = function(value) {
-        if (isNaN(value) || !isFinite(value)) {
-          return goog.math.Long.ZERO;
-        } else if (value <= -goog.math.Long.TWO_PWR_63_DBL_) {
-          return goog.math.Long.MIN_VALUE;
-        } else if (value + 1 >= goog.math.Long.TWO_PWR_63_DBL_) {
-          return goog.math.Long.MAX_VALUE;
-        } else if (value < 0) {
-          return goog.math.Long.fromNumber(-value).negate();
-        } else {
-          return new goog.math.Long(
-              (value % goog.math.Long.TWO_PWR_32_DBL_) | 0,
-              (value / goog.math.Long.TWO_PWR_32_DBL_) | 0);
-        }
-      };
-    
-    
-      /**
-       * Returns a Long representing the 64-bit integer that comes by concatenating
-       * the given high and low bits.  Each is assumed to use 32 bits.
-       * @param {number} lowBits The low 32-bits.
-       * @param {number} highBits The high 32-bits.
-       * @return {!goog.math.Long} The corresponding Long value.
-       */
-      goog.math.Long.fromBits = function(lowBits, highBits) {
-        return new goog.math.Long(lowBits, highBits);
-      };
-    
-    
-      /**
-       * Returns a Long representation of the given string, written using the given
-       * radix.
-       * @param {string} str The textual representation of the Long.
-       * @param {number=} opt_radix The radix in which the text is written.
-       * @return {!goog.math.Long} The corresponding Long value.
-       */
-      goog.math.Long.fromString = function(str, opt_radix) {
-        if (str.length == 0) {
-          throw Error('number format error: empty string');
-        }
-    
-        var radix = opt_radix || 10;
-        if (radix < 2 || 36 < radix) {
-          throw Error('radix out of range: ' + radix);
-        }
-    
-        if (str.charAt(0) == '-') {
-          return goog.math.Long.fromString(str.substring(1), radix).negate();
-        } else if (str.indexOf('-') >= 0) {
-          throw Error('number format error: interior "-" character: ' + str);
-        }
-    
-        // Do several (8) digits each time through the loop, so as to
-        // minimize the calls to the very expensive emulated div.
-        var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 8));
-    
-        var result = goog.math.Long.ZERO;
-        for (var i = 0; i < str.length; i += 8) {
-          var size = Math.min(8, str.length - i);
-          var value = parseInt(str.substring(i, i + size), radix);
-          if (size < 8) {
-            var power = goog.math.Long.fromNumber(Math.pow(radix, size));
-            result = result.multiply(power).add(goog.math.Long.fromNumber(value));
-          } else {
-            result = result.multiply(radixToPower);
-            result = result.add(goog.math.Long.fromNumber(value));
-          }
-        }
-        return result;
-      };
-    
-    
-      // NOTE: the compiler should inline these constant values below and then remove
-      // these variables, so there should be no runtime penalty for these.
-    
-    
-      /**
-       * Number used repeated below in calculations.  This must appear before the
-       * first call to any from* function below.
-       * @type {number}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_16_DBL_ = 1 << 16;
-    
-    
-      /**
-       * @type {number}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_24_DBL_ = 1 << 24;
-    
-    
-      /**
-       * @type {number}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_32_DBL_ =
-          goog.math.Long.TWO_PWR_16_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;
-    
-    
-      /**
-       * @type {number}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_31_DBL_ =
-          goog.math.Long.TWO_PWR_32_DBL_ / 2;
-    
-    
-      /**
-       * @type {number}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_48_DBL_ =
-          goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;
-    
-    
-      /**
-       * @type {number}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_64_DBL_ =
-          goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_32_DBL_;
-    
-    
-      /**
-       * @type {number}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_63_DBL_ =
-          goog.math.Long.TWO_PWR_64_DBL_ / 2;
-    
-    
-      /** @type {!goog.math.Long} */
-      goog.math.Long.ZERO = goog.math.Long.fromInt(0);
-    
-    
-      /** @type {!goog.math.Long} */
-      goog.math.Long.ONE = goog.math.Long.fromInt(1);
-    
-    
-      /** @type {!goog.math.Long} */
-      goog.math.Long.NEG_ONE = goog.math.Long.fromInt(-1);
-    
-    
-      /** @type {!goog.math.Long} */
-      goog.math.Long.MAX_VALUE =
-          goog.math.Long.fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0);
-    
-    
-      /** @type {!goog.math.Long} */
-      goog.math.Long.MIN_VALUE = goog.math.Long.fromBits(0, 0x80000000 | 0);
-    
-    
-      /**
-       * @type {!goog.math.Long}
-       * @private
-       */
-      goog.math.Long.TWO_PWR_24_ = goog.math.Long.fromInt(1 << 24);
-    
-    
-      /** @return {number} The value, assuming it is a 32-bit integer. */
-      goog.math.Long.prototype.toInt = function() {
-        return this.low_;
-      };
-    
-    
-      /** @return {number} The closest floating-point representation to this value. */
-      goog.math.Long.prototype.toNumber = function() {
-        return this.high_ * goog.math.Long.TWO_PWR_32_DBL_ +
-               this.getLowBitsUnsigned();
-      };
-    
-    
-      /**
-       * @param {number=} opt_radix The radix in which the text should be written.
-       * @return {string} The textual representation of this value.
-       */
-      goog.math.Long.prototype.toString = function(opt_radix) {
-        var radix = opt_radix || 10;
-        if (radix < 2 || 36 < radix) {
-          throw Error('radix out of range: ' + radix);
-        }
-    
-        if (this.isZero()) {
-          return '0';
-        }
-    
-        if (this.isNegative()) {
-          if (this.equals(goog.math.Long.MIN_VALUE)) {
-            // We need to change the Long value before it can be negated, so we remove
-            // the bottom-most digit in this base and then recurse to do the rest.
-            var radixLong = goog.math.Long.fromNumber(radix);
-            var div = this.div(radixLong);
-            var rem = div.multiply(radixLong).subtract(this);
-            return div.toString(radix) + rem.toInt().toString(radix);
-          } else {
-            return '-' + this.negate().toString(radix);
-          }
-        }
-    
-        // Do several (6) digits each time through the loop, so as to
-        // minimize the calls to the very expensive emulated div.
-        var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 6));
-    
-        var rem = this;
-        var result = '';
-        while (true) {
-          var remDiv = rem.div(radixToPower);
-          var intval = rem.subtract(remDiv.multiply(radixToPower)).toInt();
-          var digits = intval.toString(radix);
-    
-          rem = remDiv;
-          if (rem.isZero()) {
-            return digits + result;
-          } else {
-            while (digits.length < 6) {
-              digits = '0' + digits;
-            }
-            result = '' + digits + result;
-          }
-        }
-      };
-    
-    
-      /** @return {number} The high 32-bits as a signed value. */
-      goog.math.Long.prototype.getHighBits = function() {
-        return this.high_;
-      };
-    
-    
-      /** @return {number} The low 32-bits as a signed value. */
-      goog.math.Long.prototype.getLowBits = function() {
-        return this.low_;
-      };
-    
-    
-      /** @return {number} The low 32-bits as an unsigned value. */
-      goog.math.Long.prototype.getLowBitsUnsigned = function() {
-        return (this.low_ >= 0) ?
-            this.low_ : goog.math.Long.TWO_PWR_32_DBL_ + this.low_;
-      };
-    
-    
-      /**
-       * @return {number} Returns the number of bits needed to represent the absolute
-       *     value of this Long.
-       */
-      goog.math.Long.prototype.getNumBitsAbs = function() {
-        if (this.isNegative()) {
-          if (this.equals(goog.math.Long.MIN_VALUE)) {
-            return 64;
-          } else {
-            return this.negate().getNumBitsAbs();
-          }
-        } else {
-          var val = this.high_ != 0 ? this.high_ : this.low_;
-          for (var bit = 31; bit > 0; bit--) {
-            if ((val & (1 << bit)) != 0) {
-              break;
-            }
-          }
-          return this.high_ != 0 ? bit + 33 : bit + 1;
-        }
-      };
-    
-    
-      /** @return {boolean} Whether this value is zero. */
-      goog.math.Long.prototype.isZero = function() {
-        return this.high_ == 0 && this.low_ == 0;
-      };
-    
-    
-      /** @return {boolean} Whether this value is negative. */
-      goog.math.Long.prototype.isNegative = function() {
-        return this.high_ < 0;
-      };
-    
-    
-      /** @return {boolean} Whether this value is odd. */
-      goog.math.Long.prototype.isOdd = function() {
-        return (this.low_ & 1) == 1;
-      };
-    
-    
-      /**
-       * @param {goog.math.Long} other Long to compare against.
-       * @return {boolean} Whether this Long equals the other.
-       */
-      goog.math.Long.prototype.equals = function(other) {
-        return (this.high_ == other.high_) && (this.low_ == other.low_);
-      };
-    
-    
-      /**
-       * @param {goog.math.Long} other Long to compare against.
-       * @return {boolean} Whether this Long does not equal the other.
-       */
-      goog.math.Long.prototype.notEquals = function(other) {
-        return (this.high_ != other.high_) || (this.low_ != other.low_);
-      };
-    
-    
-      /**
-       * @param {goog.math.Long} other Long to compare against.
-       * @return {boolean} Whether this Long is less than the other.
-       */
-      goog.math.Long.prototype.lessThan = function(other) {
-        return this.compare(other) < 0;
-      };
-    
-    
-      /**
-       * @param {goog.math.Long} other Long to compare against.
-       * @return {boolean} Whether this Long is less than or equal to the other.
-       */
-      goog.math.Long.prototype.lessThanOrEqual = function(other) {
-        return this.compare(other) <= 0;
-      };
-    
-    
-      /**
-       * @param {goog.math.Long} other Long to compare against.
-       * @return {boolean} Whether this Long is greater than the other.
-       */
-      goog.math.Long.prototype.greaterThan = function(other) {
-        return this.compare(other) > 0;
-      };
-    
-    
-      /**
-       * @param {goog.math.Long} other Long to compare against.
-       * @return {boolean} Whether this Long is greater than or equal to the other.
-       */
-      goog.math.Long.prototype.greaterThanOrEqual = function(other) {
-        return this.compare(other) >= 0;
-      };
-    
-    
-      /**
-       * Compares this Long with the given one.
-       * @param {goog.math.Long} other Long to compare against.
-       * @return {number} 0 if they are the same, 1 if the this is greater, and -1
-       *     if the given one is greater.
-       */
-      goog.math.Long.prototype.compare = function(other) {
-        if (this.equals(other)) {
-          return 0;
-        }
-    
-        var thisNeg = this.isNegative();
-        var otherNeg = other.isNegative();
-        if (thisNeg && !otherNeg) {
-          return -1;
-        }
-        if (!thisNeg && otherNeg) {
-          return 1;
-        }
-    
-        // at this point, the signs are the same, so subtraction will not overflow
-        if (this.subtract(other).isNegative()) {
-          return -1;
-        } else {
-          return 1;
-        }
-      };
-    
-    
-      /** @return {!goog.math.Long} The negation of this value. */
-      goog.math.Long.prototype.negate = function() {
-        if (this.equals(goog.math.Long.MIN_VALUE)) {
-          return goog.math.Long.MIN_VALUE;
-        } else {
-          return this.not().add(goog.math.Long.ONE);
-        }
-      };
-    
-    
-      /**
-       * Returns the sum of this and the given Long.
-       * @param {goog.math.Long} other Long to add to this one.
-       * @return {!goog.math.Long} The sum of this and the given Long.
-       */
-      goog.math.Long.prototype.add = function(other) {
-        // Divide each number into 4 chunks of 16 bits, and then sum the chunks.
-    
-        var a48 = this.high_ >>> 16;
-        var a32 = this.high_ & 0xFFFF;
-        var a16 = this.low_ >>> 16;
-        var a00 = this.low_ & 0xFFFF;
-    
-        var b48 = other.high_ >>> 16;
-        var b32 = other.high_ & 0xFFFF;
-        var b16 = other.low_ >>> 16;
-        var b00 = other.low_ & 0xFFFF;
-    
-        var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
-        c00 += a00 + b00;
-        c16 += c00 >>> 16;
-        c00 &= 0xFFFF;
-        c16 += a16 + b16;
-        c32 += c16 >>> 16;
-        c16 &= 0xFFFF;
-        c32 += a32 + b32;
-        c48 += c32 >>> 16;
-        c32 &= 0xFFFF;
-        c48 += a48 + b48;
-        c48 &= 0xFFFF;
-        return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);
-      };
-    
-    
-      /**
-       * Returns the difference of this and the given Long.
-       * @param {goog.math.Long} other Long to subtract from this.
-       * @return {!goog.math.Long} The difference of this and the given Long.
-       */
-      goog.math.Long.prototype.subtract = function(other) {
-        return this.add(other.negate());
-      };
-    
-    
-      /**
-       * Returns the product of this and the given long.
-       * @param {goog.math.Long} other Long to multiply with this.
-       * @return {!goog.math.Long} The product of this and the other.
-       */
-      goog.math.Long.prototype.multiply = function(other) {
-        if (this.isZero()) {
-          return goog.math.Long.ZERO;
-        } else if (other.isZero()) {
-          return goog.math.Long.ZERO;
-        }
-    
-        if (this.equals(goog.math.Long.MIN_VALUE)) {
-          return other.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;
-        } else if (other.equals(goog.math.Long.MIN_VALUE)) {
-          return this.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;
-        }
-    
-        if (this.isNegative()) {
-          if (other.isNegative()) {
-            return this.negate().multiply(other.negate());
-          } else {
-            return this.negate().multiply(other).negate();
-          }
-        } else if (other.isNegative()) {
-          return this.multiply(other.negate()).negate();
-        }
-    
-        // If both longs are small, use float multiplication
-        if (this.lessThan(goog.math.Long.TWO_PWR_24_) &&
-            other.lessThan(goog.math.Long.TWO_PWR_24_)) {
-          return goog.math.Long.fromNumber(this.toNumber() * other.toNumber());
-        }
-    
-        // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.
-        // We can skip products that would overflow.
-    
-        var a48 = this.high_ >>> 16;
-        var a32 = this.high_ & 0xFFFF;
-        var a16 = this.low_ >>> 16;
-        var a00 = this.low_ & 0xFFFF;
-    
-        var b48 = other.high_ >>> 16;
-        var b32 = other.high_ & 0xFFFF;
-        var b16 = other.low_ >>> 16;
-        var b00 = other.low_ & 0xFFFF;
-    
-        var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
-        c00 += a00 * b00;
-        c16 += c00 >>> 16;
-        c00 &= 0xFFFF;
-        c16 += a16 * b00;
-        c32 += c16 >>> 16;
-        c16 &= 0xFFFF;
-        c16 += a00 * b16;
-        c32 += c16 >>> 16;
-        c16 &= 0xFFFF;
-        c32 += a32 * b00;
-        c48 += c32 >>> 16;
-        c32 &= 0xFFFF;
-        c32 += a16 * b16;
-        c48 += c32 >>> 16;
-        c32 &= 0xFFFF;
-        c32 += a00 * b32;
-        c48 += c32 >>> 16;
-        c32 &= 0xFFFF;
-        c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
-        c48 &= 0xFFFF;
-        return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);
-      };
-    
-    
-      /**
-       * Returns this Long divided by the given one.
-       * @param {goog.math.Long} other Long by which to divide.
-       * @return {!goog.math.Long} This Long divided by the given one.
-       */
-      goog.math.Long.prototype.div = function(other) {
-        if (other.isZero()) {
-          throw Error('division by zero');
-        } else if (this.isZero()) {
-          return goog.math.Long.ZERO;
-        }
-    
-        if (this.equals(goog.math.Long.MIN_VALUE)) {
-          if (other.equals(goog.math.Long.ONE) ||
-              other.equals(goog.math.Long.NEG_ONE)) {
-            return goog.math.Long.MIN_VALUE;  // recall that -MIN_VALUE == MIN_VALUE
-          } else if (other.equals(goog.math.Long.MIN_VALUE)) {
-            return goog.math.Long.ONE;
-          } else {
-            // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.
-            var halfThis = this.shiftRight(1);
-            var approx = halfThis.div(other).shiftLeft(1);
-            if (approx.equals(goog.math.Long.ZERO)) {
-              return other.isNegative() ? goog.math.Long.ONE : goog.math.Long.NEG_ONE;
-            } else {
-              var rem = this.subtract(other.multiply(approx));
-              var result = approx.add(rem.div(other));
-              return result;
-            }
-          }
-        } else if (other.equals(goog.math.Long.MIN_VALUE)) {
-          return goog.math.Long.ZERO;
-        }
-    
-        if (this.isNegative()) {
-          if (other.isNegative()) {
-            return this.negate().div(other.negate());
-          } else {
-            return this.negate().div(other).negate();
-          }
-        } else if (other.isNegative()) {
-          return this.div(other.negate()).negate();
-        }
-    
-        // Repeat the following until the remainder is less than other:  find a
-        // floating-point that approximates remainder / other *from below*, add this
-        // into the result, and subtract it from the remainder.  It is critical that
-        // the approximate value is less than or equal to the real value so that the
-        // remainder never becomes negative.
-        var res = goog.math.Long.ZERO;
-        var rem = this;
-        while (rem.greaterThanOrEqual(other)) {
-          // Approximate the result of division. This may be a little greater or
-          // smaller than the actual value.
-          var approx = Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));
-    
-          // We will tweak the approximate result by changing it in the 48-th digit or
-          // the smallest non-fractional digit, whichever is larger.
-          var log2 = Math.ceil(Math.log(approx) / Math.LN2);
-          var delta = (log2 <= 48) ? 1 : Math.pow(2, log2 - 48);
-    
-          // Decrease the approximation until it is smaller than the remainder.  Note
-          // that if it is too large, the product overflows and is negative.
-          var approxRes = goog.math.Long.fromNumber(approx);
-          var approxRem = approxRes.multiply(other);
-          while (approxRem.isNegative() || approxRem.greaterThan(rem)) {
-            approx -= delta;
-            approxRes = goog.math.Long.fromNumber(approx);
-            approxRem = approxRes.multiply(other);
-          }
-    
-          // We know the answer can't be zero... and actually, zero would cause
-          // infinite recursion since we would make no progress.
-          if (approxRes.isZero()) {
-            approxRes = goog.math.Long.ONE;
-          }
-    
-          res = res.add(approxRes);
-          rem = rem.subtract(approxRem);
-        }
-        return res;
-      };
-    
-    
-      /**
-       * Returns this Long modulo the given one.
-       * @param {goog.math.Long} other Long by which to mod.
-       * @return {!goog.math.Long} This Long modulo the given one.
-       */
-      goog.math.Long.prototype.modulo = function(other) {
-        return this.subtract(this.div(other).multiply(other));
-      };
-    
-    
-      /** @return {!goog.math.Long} The bitwise-NOT of this value. */
-      goog.math.Long.prototype.not = function() {
-        return goog.math.Long.fromBits(~this.low_, ~this.high_);
-      };
-    
-    
-      /**
-       * Returns the bitwise-AND of this Long and the given one.
-       * @param {goog.math.Long} other The Long with which to AND.
-       * @return {!goog.math.Long} The bitwise-AND of this and the other.
-       */
-      goog.math.Long.prototype.and = function(other) {
-        return goog.math.Long.fromBits(this.low_ & other.low_,
-                                       this.high_ & other.high_);
-      };
-    
-    
-      /**
-       * Returns the bitwise-OR of this Long and the given one.
-       * @param {goog.math.Long} other The Long with which to OR.
-       * @return {!goog.math.Long} The bitwise-OR of this and the other.
-       */
-      goog.math.Long.prototype.or = function(other) {
-        return goog.math.Long.fromBits(this.low_ | other.low_,
-                                       this.high_ | other.high_);
-      };
-    
-    
-      /**
-       * Returns the bitwise-XOR of this Long and the given one.
-       * @param {goog.math.Long} other The Long with which to XOR.
-       * @return {!goog.math.Long} The bitwise-XOR of this and the other.
-       */
-      goog.math.Long.prototype.xor = function(other) {
-        return goog.math.Long.fromBits(this.low_ ^ other.low_,
-                                       this.high_ ^ other.high_);
-      };
-    
-    
-      /**
-       * Returns this Long with bits shifted to the left by the given amount.
-       * @param {number} numBits The number of bits by which to shift.
-       * @return {!goog.math.Long} This shifted to the left by the given amount.
-       */
-      goog.math.Long.prototype.shiftLeft = function(numBits) {
-        numBits &= 63;
-        if (numBits == 0) {
-          return this;
-        } else {
-          var low = this.low_;
-          if (numBits < 32) {
-            var high = this.high_;
-            return goog.math.Long.fromBits(
-                low << numBits,
-                (high << numBits) | (low >>> (32 - numBits)));
-          } else {
-            return goog.math.Long.fromBits(0, low << (numBits - 32));
-          }
-        }
-      };
-    
-    
-      /**
-       * Returns this Long with bits shifted to the right by the given amount.
-       * @param {number} numBits The number of bits by which to shift.
-       * @return {!goog.math.Long} This shifted to the right by the given amount.
-       */
-      goog.math.Long.prototype.shiftRight = function(numBits) {
-        numBits &= 63;
-        if (numBits == 0) {
-          return this;
-        } else {
-          var high = this.high_;
-          if (numBits < 32) {
-            var low = this.low_;
-            return goog.math.Long.fromBits(
-                (low >>> numBits) | (high << (32 - numBits)),
-                high >> numBits);
-          } else {
-            return goog.math.Long.fromBits(
-                high >> (numBits - 32),
-                high >= 0 ? 0 : -1);
-          }
-        }
-      };
-    
-    
-      /**
-       * Returns this Long with bits shifted to the right by the given amount, with
-       * the new top bits matching the current sign bit.
-       * @param {number} numBits The number of bits by which to shift.
-       * @return {!goog.math.Long} This shifted to the right by the given amount, with
-       *     zeros placed into the new leading bits.
-       */
-      goog.math.Long.prototype.shiftRightUnsigned = function(numBits) {
-        numBits &= 63;
-        if (numBits == 0) {
-          return this;
-        } else {
-          var high = this.high_;
-          if (numBits < 32) {
-            var low = this.low_;
-            return goog.math.Long.fromBits(
-                (low >>> numBits) | (high << (32 - numBits)),
-                high >>> numBits);
-          } else if (numBits == 32) {
-            return goog.math.Long.fromBits(high, 0);
-          } else {
-            return goog.math.Long.fromBits(high >>> (numBits - 32), 0);
-          }
-        }
-      };
-    
-      //======= begin jsbn =======
-    
-      var navigator = { appName: 'Modern Browser' }; // polyfill a little
-    
-      // Copyright (c) 2005  Tom Wu
-      // All Rights Reserved.
-      // http://www-cs-students.stanford.edu/~tjw/jsbn/
-    
-      /*
-       * Copyright (c) 2003-2005  Tom Wu
-       * All Rights Reserved.
-       *
-       * Permission is hereby granted, free of charge, to any person obtaining
-       * a copy of this software and associated documentation files (the
-       * "Software"), to deal in the Software without restriction, including
-       * without limitation the rights to use, copy, modify, merge, publish,
-       * distribute, sublicense, and/or sell copies of the Software, and to
-       * permit persons to whom the Software is furnished to do so, subject to
-       * the following conditions:
-       *
-       * The above copyright notice and this permission notice shall be
-       * included in all copies or substantial portions of the Software.
-       *
-       * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
-       * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
-       * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
-       *
-       * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
-       * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
-       * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
-       * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
-       * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-       *
-       * In addition, the following condition applies:
-       *
-       * All redistributions must retain an intact copy of this copyright notice
-       * and disclaimer.
-       */
-    
-      // Basic JavaScript BN library - subset useful for RSA encryption.
-    
-      // Bits per digit
-      var dbits;
-    
-      // JavaScript engine analysis
-      var canary = 0xdeadbeefcafe;
-      var j_lm = ((canary&0xffffff)==0xefcafe);
-    
-      // (public) Constructor
-      function BigInteger(a,b,c) {
-        if(a != null)
-          if("number" == typeof a) this.fromNumber(a,b,c);
-          else if(b == null && "string" != typeof a) this.fromString(a,256);
-          else this.fromString(a,b);
-      }
-    
-      // return new, unset BigInteger
-      function nbi() { return new BigInteger(null); }
-    
-      // am: Compute w_j += (x*this_i), propagate carries,
-      // c is initial carry, returns final carry.
-      // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
-      // We need to select the fastest one that works in this environment.
-    
-      // am1: use a single mult and divide to get the high bits,
-      // max digit bits should be 26 because
-      // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
-      function am1(i,x,w,j,c,n) {
-        while(--n >= 0) {
-          var v = x*this[i++]+w[j]+c;
-          c = Math.floor(v/0x4000000);
-          w[j++] = v&0x3ffffff;
-        }
-        return c;
-      }
-      // am2 avoids a big mult-and-extract completely.
-      // Max digit bits should be <= 30 because we do bitwise ops
-      // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
-      function am2(i,x,w,j,c,n) {
-        var xl = x&0x7fff, xh = x>>15;
-        while(--n >= 0) {
-          var l = this[i]&0x7fff;
-          var h = this[i++]>>15;
-          var m = xh*l+h*xl;
-          l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
-          c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
-          w[j++] = l&0x3fffffff;
-        }
-        return c;
-      }
-      // Alternately, set max digit bits to 28 since some
-      // browsers slow down when dealing with 32-bit numbers.
-      function am3(i,x,w,j,c,n) {
-        var xl = x&0x3fff, xh = x>>14;
-        while(--n >= 0) {
-          var l = this[i]&0x3fff;
-          var h = this[i++]>>14;
-          var m = xh*l+h*xl;
-          l = xl*l+((m&0x3fff)<<14)+w[j]+c;
-          c = (l>>28)+(m>>14)+xh*h;
-          w[j++] = l&0xfffffff;
-        }
-        return c;
-      }
-      if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
-        BigInteger.prototype.am = am2;
-        dbits = 30;
-      }
-      else if(j_lm && (navigator.appName != "Netscape")) {
-        BigInteger.prototype.am = am1;
-        dbits = 26;
-      }
-      else { // Mozilla/Netscape seems to prefer am3
-        BigInteger.prototype.am = am3;
-        dbits = 28;
-      }
-    
-      BigInteger.prototype.DB = dbits;
-      BigInteger.prototype.DM = ((1<<dbits)-1);
-      BigInteger.prototype.DV = (1<<dbits);
-    
-      var BI_FP = 52;
-      BigInteger.prototype.FV = Math.pow(2,BI_FP);
-      BigInteger.prototype.F1 = BI_FP-dbits;
-      BigInteger.prototype.F2 = 2*dbits-BI_FP;
-    
-      // Digit conversions
-      var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
-      var BI_RC = new Array();
-      var rr,vv;
-      rr = "0".charCodeAt(0);
-      for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
-      rr = "a".charCodeAt(0);
-      for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
-      rr = "A".charCodeAt(0);
-      for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
-    
-      function int2char(n) { return BI_RM.charAt(n); }
-      function intAt(s,i) {
-        var c = BI_RC[s.charCodeAt(i)];
-        return (c==null)?-1:c;
-      }
-    
-      // (protected) copy this to r
-      function bnpCopyTo(r) {
-        for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
-        r.t = this.t;
-        r.s = this.s;
-      }
-    
-      // (protected) set from integer value x, -DV <= x < DV
-      function bnpFromInt(x) {
-        this.t = 1;
-        this.s = (x<0)?-1:0;
-        if(x > 0) this[0] = x;
-        else if(x < -1) this[0] = x+DV;
-        else this.t = 0;
-      }
-    
-      // return bigint initialized to value
-      function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
-    
-      // (protected) set from string and radix
-      function bnpFromString(s,b) {
-        var k;
-        if(b == 16) k = 4;
-        else if(b == 8) k = 3;
-        else if(b == 256) k = 8; // byte array
-        else if(b == 2) k = 1;
-        else if(b == 32) k = 5;
-        else if(b == 4) k = 2;
-        else { this.fromRadix(s,b); return; }
-        this.t = 0;
-        this.s = 0;
-        var i = s.length, mi = false, sh = 0;
-        while(--i >= 0) {
-          var x = (k==8)?s[i]&0xff:intAt(s,i);
-          if(x < 0) {
-            if(s.charAt(i) == "-") mi = true;
-            continue;
-          }
-          mi = false;
-          if(sh == 0)
-            this[this.t++] = x;
-          else if(sh+k > this.DB) {
-            this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
-            this[this.t++] = (x>>(this.DB-sh));
-          }
-          else
-            this[this.t-1] |= x<<sh;
-          sh += k;
-          if(sh >= this.DB) sh -= this.DB;
-        }
-        if(k == 8 && (s[0]&0x80) != 0) {
-          this.s = -1;
-          if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
-        }
-        this.clamp();
-        if(mi) BigInteger.ZERO.subTo(this,this);
-      }
-    
-      // (protected) clamp off excess high words
-      function bnpClamp() {
-        var c = this.s&this.DM;
-        while(this.t > 0 && this[this.t-1] == c) --this.t;
-      }
-    
-      // (public) return string representation in given radix
-      function bnToString(b) {
-        if(this.s < 0) return "-"+this.negate().toString(b);
-        var k;
-        if(b == 16) k = 4;
-        else if(b == 8) k = 3;
-        else if(b == 2) k = 1;
-        else if(b == 32) k = 5;
-        else if(b == 4) k = 2;
-        else return this.toRadix(b);
-        var km = (1<<k)-1, d, m = false, r = "", i = this.t;
-        var p = this.DB-(i*this.DB)%k;
-        if(i-- > 0) {
-          if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
-          while(i >= 0) {
-            if(p < k) {
-              d = (this[i]&((1<<p)-1))<<(k-p);
-              d |= this[--i]>>(p+=this.DB-k);
-            }
-            else {
-              d = (this[i]>>(p-=k))&km;
-              if(p <= 0) { p += this.DB; --i; }
-            }
-            if(d > 0) m = true;
-            if(m) r += int2char(d);
-          }
-        }
-        return m?r:"0";
-      }
-    
-      // (public) -this
-      function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; }
-    
-      // (public) |this|
-      function bnAbs() { return (this.s<0)?this.negate():this; }
-    
-      // (public) return + if this > a, - if this < a, 0 if equal
-      function bnCompareTo(a) {
-        var r = this.s-a.s;
-        if(r != 0) return r;
-        var i = this.t;
-        r = i-a.t;
-        if(r != 0) return (this.s<0)?-r:r;
-        while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
-        return 0;
-      }
-    
-      // returns bit length of the integer x
-      function nbits(x) {
-        var r = 1, t;
-        if((t=x>>>16) != 0) { x = t; r += 16; }
-        if((t=x>>8) != 0) { x = t; r += 8; }
-        if((t=x>>4) != 0) { x = t; r += 4; }
-        if((t=x>>2) != 0) { x = t; r += 2; }
-        if((t=x>>1) != 0) { x = t; r += 1; }
-        return r;
-      }
-    
-      // (public) return the number of bits in "this"
-      function bnBitLength() {
-        if(this.t <= 0) return 0;
-        return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
-      }
-    
-      // (protected) r = this << n*DB
-      function bnpDLShiftTo(n,r) {
-        var i;
-        for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
-        for(i = n-1; i >= 0; --i) r[i] = 0;
-        r.t = this.t+n;
-        r.s = this.s;
-      }
-    
-      // (protected) r = this >> n*DB
-      function bnpDRShiftTo(n,r) {
-        for(var i = n; i < this.t; ++i) r[i-n] = this[i];
-        r.t = Math.max(this.t-n,0);
-        r.s = this.s;
-      }
-    
-      // (protected) r = this << n
-      function bnpLShiftTo(n,r) {
-        var bs = n%this.DB;
-        var cbs = this.DB-bs;
-        var bm = (1<<cbs)-1;
-        var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
-        for(i = this.t-1; i >= 0; --i) {
-          r[i+ds+1] = (this[i]>>cbs)|c;
-          c = (this[i]&bm)<<bs;
-        }
-        for(i = ds-1; i >= 0; --i) r[i] = 0;
-        r[ds] = c;
-        r.t = this.t+ds+1;
-        r.s = this.s;
-        r.clamp();
-      }
-    
-      // (protected) r = this >> n
-      function bnpRShiftTo(n,r) {
-        r.s = this.s;
-        var ds = Math.floor(n/this.DB);
-        if(ds >= this.t) { r.t = 0; return; }
-        var bs = n%this.DB;
-        var cbs = this.DB-bs;
-        var bm = (1<<bs)-1;
-        r[0] = this[ds]>>bs;
-        for(var i = ds+1; i < this.t; ++i) {
-          r[i-ds-1] |= (this[i]&bm)<<cbs;
-          r[i-ds] = this[i]>>bs;
-        }
-        if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
-        r.t = this.t-ds;
-        r.clamp();
-      }
-    
-      // (protected) r = this - a
-      function bnpSubTo(a,r) {
-        var i = 0, c = 0, m = Math.min(a.t,this.t);
-        while(i < m) {
-          c += this[i]-a[i];
-          r[i++] = c&this.DM;
-          c >>= this.DB;
-        }
-        if(a.t < this.t) {
-          c -= a.s;
-          while(i < this.t) {
-            c += this[i];
-            r[i++] = c&this.DM;
-            c >>= this.DB;
-          }
-          c += this.s;
-        }
-        else {
-          c += this.s;
-          while(i < a.t) {
-            c -= a[i];
-            r[i++] = c&this.DM;
-            c >>= this.DB;
-          }
-          c -= a.s;
-        }
-        r.s = (c<0)?-1:0;
-        if(c < -1) r[i++] = this.DV+c;
-        else if(c > 0) r[i++] = c;
-        r.t = i;
-        r.clamp();
-      }
-    
-      // (protected) r = this * a, r != this,a (HAC 14.12)
-      // "this" should be the larger one if appropriate.
-      function bnpMultiplyTo(a,r) {
-        var x = this.abs(), y = a.abs();
-        var i = x.t;
-        r.t = i+y.t;
-        while(--i >= 0) r[i] = 0;
-        for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
-        r.s = 0;
-        r.clamp();
-        if(this.s != a.s) BigInteger.ZERO.subTo(r,r);
-      }
-    
-      // (protected) r = this^2, r != this (HAC 14.16)
-      function bnpSquareTo(r) {
-        var x = this.abs();
-        var i = r.t = 2*x.t;
-        while(--i >= 0) r[i] = 0;
-        for(i = 0; i < x.t-1; ++i) {
-          var c = x.am(i,x[i],r,2*i,0,1);
-          if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
-            r[i+x.t] -= x.DV;
-            r[i+x.t+1] = 1;
-          }
-        }
-        if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
-        r.s = 0;
-        r.clamp();
-      }
-    
-      // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
-      // r != q, this != m.  q or r may be null.
-      function bnpDivRemTo(m,q,r) {
-        var pm = m.abs();
-        if(pm.t <= 0) return;
-        var pt = this.abs();
-        if(pt.t < pm.t) {
-          if(q != null) q.fromInt(0);
-          if(r != null) this.copyTo(r);
-          return;
-        }
-        if(r == null) r = nbi();
-        var y = nbi(), ts = this.s, ms = m.s;
-        var nsh = this.DB-nbits(pm[pm.t-1]);	// normalize modulus
-        if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
-        else { pm.copyTo(y); pt.copyTo(r); }
-        var ys = y.t;
-        var y0 = y[ys-1];
-        if(y0 == 0) return;
-        var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
-        var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
-        var i = r.t, j = i-ys, t = (q==null)?nbi():q;
-        y.dlShiftTo(j,t);
-        if(r.compareTo(t) >= 0) {
-          r[r.t++] = 1;
-          r.subTo(t,r);
-        }
-        BigInteger.ONE.dlShiftTo(ys,t);
-        t.subTo(y,y);	// "negative" y so we can replace sub with am later
-        while(y.t < ys) y[y.t++] = 0;
-        while(--j >= 0) {
-          // Estimate quotient digit
-          var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
-          if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) {	// Try it out
-            y.dlShiftTo(j,t);
-            r.subTo(t,r);
-            while(r[i] < --qd) r.subTo(t,r);
-          }
-        }
-        if(q != null) {
-          r.drShiftTo(ys,q);
-          if(ts != ms) BigInteger.ZERO.subTo(q,q);
-        }
-        r.t = ys;
-        r.clamp();
-        if(nsh > 0) r.rShiftTo(nsh,r);	// Denormalize remainder
-        if(ts < 0) BigInteger.ZERO.subTo(r,r);
-      }
-    
-      // (public) this mod a
-      function bnMod(a) {
-        var r = nbi();
-        this.abs().divRemTo(a,null,r);
-        if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r);
-        return r;
-      }
-    
-      // Modular reduction using "classic" algorithm
-      function Classic(m) { this.m = m; }
-      function cConvert(x) {
-        if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
-        else return x;
-      }
-      function cRevert(x) { return x; }
-      function cReduce(x) { x.divRemTo(this.m,null,x); }
-      function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
-      function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
-    
-      Classic.prototype.convert = cConvert;
-      Classic.prototype.revert = cRevert;
-      Classic.prototype.reduce = cReduce;
-      Classic.prototype.mulTo = cMulTo;
-      Classic.prototype.sqrTo = cSqrTo;
-    
-      // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
-      // justification:
-      //         xy == 1 (mod m)
-      //         xy =  1+km
-      //   xy(2-xy) = (1+km)(1-km)
-      // x[y(2-xy)] = 1-k^2m^2
-      // x[y(2-xy)] == 1 (mod m^2)
-      // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
-      // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
-      // JS multiply "overflows" differently from C/C++, so care is needed here.
-      function bnpInvDigit() {
-        if(this.t < 1) return 0;
-        var x = this[0];
-        if((x&1) == 0) return 0;
-        var y = x&3;		// y == 1/x mod 2^2
-        y = (y*(2-(x&0xf)*y))&0xf;	// y == 1/x mod 2^4
-        y = (y*(2-(x&0xff)*y))&0xff;	// y == 1/x mod 2^8
-        y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff;	// y == 1/x mod 2^16
-        // last step - calculate inverse mod DV directly;
-        // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
-        y = (y*(2-x*y%this.DV))%this.DV;		// y == 1/x mod 2^dbits
-        // we really want the negative inverse, and -DV < y < DV
-        return (y>0)?this.DV-y:-y;
-      }
-    
-      // Montgomery reduction
-      function Montgomery(m) {
-        this.m = m;
-        this.mp = m.invDigit();
-        this.mpl = this.mp&0x7fff;
-        this.mph = this.mp>>15;
-        this.um = (1<<(m.DB-15))-1;
-        this.mt2 = 2*m.t;
-      }
-    
-      // xR mod m
-      function montConvert(x) {
-        var r = nbi();
-        x.abs().dlShiftTo(this.m.t,r);
-        r.divRemTo(this.m,null,r);
-        if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r);
-        return r;
-      }
-    
-      // x/R mod m
-      function montRevert(x) {
-        var r = nbi();
-        x.copyTo(r);
-        this.reduce(r);
-        return r;
-      }
-    
-      // x = x/R mod m (HAC 14.32)
-      function montReduce(x) {
-        while(x.t <= this.mt2)	// pad x so am has enough room later
-          x[x.t++] = 0;
-        for(var i = 0; i < this.m.t; ++i) {
-          // faster way of calculating u0 = x[i]*mp mod DV
-          var j = x[i]&0x7fff;
-          var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
-          // use am to combine the multiply-shift-add into one call
-          j = i+this.m.t;
-          x[j] += this.m.am(0,u0,x,i,0,this.m.t);
-          // propagate carry
-          while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
-        }
-        x.clamp();
-        x.drShiftTo(this.m.t,x);
-        if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
-      }
-    
-      // r = "x^2/R mod m"; x != r
-      function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
-    
-      // r = "xy/R mod m"; x,y != r
-      function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
-    
-      Montgomery.prototype.convert = montConvert;
-      Montgomery.prototype.revert = montRevert;
-      Montgomery.prototype.reduce = montReduce;
-      Montgomery.prototype.mulTo = montMulTo;
-      Montgomery.prototype.sqrTo = montSqrTo;
-    
-      // (protected) true iff this is even
-      function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
-    
-      // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
-      function bnpExp(e,z) {
-        if(e > 0xffffffff || e < 1) return BigInteger.ONE;
-        var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
-        g.copyTo(r);
-        while(--i >= 0) {
-          z.sqrTo(r,r2);
-          if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
-          else { var t = r; r = r2; r2 = t; }
-        }
-        return z.revert(r);
-      }
-    
-      // (public) this^e % m, 0 <= e < 2^32
-      function bnModPowInt(e,m) {
-        var z;
-        if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
-        return this.exp(e,z);
-      }
-    
-      // protected
-      BigInteger.prototype.copyTo = bnpCopyTo;
-      BigInteger.prototype.fromInt = bnpFromInt;
-      BigInteger.prototype.fromString = bnpFromString;
-      BigInteger.prototype.clamp = bnpClamp;
-      BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
-      BigInteger.prototype.drShiftTo = bnpDRShiftTo;
-      BigInteger.prototype.lShiftTo = bnpLShiftTo;
-      BigInteger.prototype.rShiftTo = bnpRShiftTo;
-      BigInteger.prototype.subTo = bnpSubTo;
-      BigInteger.prototype.multiplyTo = bnpMultiplyTo;
-      BigInteger.prototype.squareTo = bnpSquareTo;
-      BigInteger.prototype.divRemTo = bnpDivRemTo;
-      BigInteger.prototype.invDigit = bnpInvDigit;
-      BigInteger.prototype.isEven = bnpIsEven;
-      BigInteger.prototype.exp = bnpExp;
-    
-      // public
-      BigInteger.prototype.toString = bnToString;
-      BigInteger.prototype.negate = bnNegate;
-      BigInteger.prototype.abs = bnAbs;
-      BigInteger.prototype.compareTo = bnCompareTo;
-      BigInteger.prototype.bitLength = bnBitLength;
-      BigInteger.prototype.mod = bnMod;
-      BigInteger.prototype.modPowInt = bnModPowInt;
-    
-      // "constants"
-      BigInteger.ZERO = nbv(0);
-      BigInteger.ONE = nbv(1);
-    
-      // jsbn2 stuff
-    
-      // (protected) convert from radix string
-      function bnpFromRadix(s,b) {
-        this.fromInt(0);
-        if(b == null) b = 10;
-        var cs = this.chunkSize(b);
-        var d = Math.pow(b,cs), mi = false, j = 0, w = 0;
-        for(var i = 0; i < s.length; ++i) {
-          var x = intAt(s,i);
-          if(x < 0) {
-            if(s.charAt(i) == "-" && this.signum() == 0) mi = true;
-            continue;
-          }
-          w = b*w+x;
-          if(++j >= cs) {
-            this.dMultiply(d);
-            this.dAddOffset(w,0);
-            j = 0;
-            w = 0;
-          }
-        }
-        if(j > 0) {
-          this.dMultiply(Math.pow(b,j));
-          this.dAddOffset(w,0);
-        }
-        if(mi) BigInteger.ZERO.subTo(this,this);
-      }
-    
-      // (protected) return x s.t. r^x < DV
-      function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); }
-    
-      // (public) 0 if this == 0, 1 if this > 0
-      function bnSigNum() {
-        if(this.s < 0) return -1;
-        else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;
-        else return 1;
-      }
-    
-      // (protected) this *= n, this >= 0, 1 < n < DV
-      function bnpDMultiply(n) {
-        this[this.t] = this.am(0,n-1,this,0,0,this.t);
-        ++this.t;
-        this.clamp();
-      }
-    
-      // (protected) this += n << w words, this >= 0
-      function bnpDAddOffset(n,w) {
-        if(n == 0) return;
-        while(this.t <= w) this[this.t++] = 0;
-        this[w] += n;
-        while(this[w] >= this.DV) {
-          this[w] -= this.DV;
-          if(++w >= this.t) this[this.t++] = 0;
-          ++this[w];
-        }
-      }
-    
-      // (protected) convert to radix string
-      function bnpToRadix(b) {
-        if(b == null) b = 10;
-        if(this.signum() == 0 || b < 2 || b > 36) return "0";
-        var cs = this.chunkSize(b);
-        var a = Math.pow(b,cs);
-        var d = nbv(a), y = nbi(), z = nbi(), r = "";
-        this.divRemTo(d,y,z);
-        while(y.signum() > 0) {
-          r = (a+z.intValue()).toString(b).substr(1) + r;
-          y.divRemTo(d,y,z);
-        }
-        return z.intValue().toString(b) + r;
-      }
-    
-      // (public) return value as integer
-      function bnIntValue() {
-        if(this.s < 0) {
-          if(this.t == 1) return this[0]-this.DV;
-          else if(this.t == 0) return -1;
-        }
-        else if(this.t == 1) return this[0];
-        else if(this.t == 0) return 0;
-        // assumes 16 < DB < 32
-        return ((this[1]&((1<<(32-this.DB))-1))<<this.DB)|this[0];
-      }
-    
-      // (protected) r = this + a
-      function bnpAddTo(a,r) {
-        var i = 0, c = 0, m = Math.min(a.t,this.t);
-        while(i < m) {
-          c += this[i]+a[i];
-          r[i++] = c&this.DM;
-          c >>= this.DB;
-        }
-        if(a.t < this.t) {
-          c += a.s;
-          while(i < this.t) {
-            c += this[i];
-            r[i++] = c&this.DM;
-            c >>= this.DB;
-          }
-          c += this.s;
-        }
-        else {
-          c += this.s;
-          while(i < a.t) {
-            c += a[i];
-            r[i++] = c&this.DM;
-            c >>= this.DB;
-          }
-          c += a.s;
-        }
-        r.s = (c<0)?-1:0;
-        if(c > 0) r[i++] = c;
-        else if(c < -1) r[i++] = this.DV+c;
-        r.t = i;
-        r.clamp();
-      }
-    
-      BigInteger.prototype.fromRadix = bnpFromRadix;
-      BigInteger.prototype.chunkSize = bnpChunkSize;
-      BigInteger.prototype.signum = bnSigNum;
-      BigInteger.prototype.dMultiply = bnpDMultiply;
-      BigInteger.prototype.dAddOffset = bnpDAddOffset;
-      BigInteger.prototype.toRadix = bnpToRadix;
-      BigInteger.prototype.intValue = bnIntValue;
-      BigInteger.prototype.addTo = bnpAddTo;
-    
-      //======= end jsbn =======
-    
-      // Emscripten wrapper
-      var Wrapper = {
-        abs: function(l, h) {
-          var x = new goog.math.Long(l, h);
-          var ret;
-          if (x.isNegative()) {
-            ret = x.negate();
-          } else {
-            ret = x;
-          }
-          HEAP32[tempDoublePtr>>2] = ret.low_;
-          HEAP32[tempDoublePtr+4>>2] = ret.high_;
-        },
-        ensureTemps: function() {
-          if (Wrapper.ensuredTemps) return;
-          Wrapper.ensuredTemps = true;
-          Wrapper.two32 = new BigInteger();
-          Wrapper.two32.fromString('4294967296', 10);
-          Wrapper.two64 = new BigInteger();
-          Wrapper.two64.fromString('18446744073709551616', 10);
-          Wrapper.temp1 = new BigInteger();
-          Wrapper.temp2 = new BigInteger();
-        },
-        lh2bignum: function(l, h) {
-          var a = new BigInteger();
-          a.fromString(h.toString(), 10);
-          var b = new BigInteger();
-          a.multiplyTo(Wrapper.two32, b);
-          var c = new BigInteger();
-          c.fromString(l.toString(), 10);
-          var d = new BigInteger();
-          c.addTo(b, d);
-          return d;
-        },
-        stringify: function(l, h, unsigned) {
-          var ret = new goog.math.Long(l, h).toString();
-          if (unsigned && ret[0] == '-') {
-            // unsign slowly using jsbn bignums
-            Wrapper.ensureTemps();
-            var bignum = new BigInteger();
-            bignum.fromString(ret, 10);
-            ret = new BigInteger();
-            Wrapper.two64.addTo(bignum, ret);
-            ret = ret.toString(10);
-          }
-          return ret;
-        },
-        fromString: function(str, base, min, max, unsigned) {
-          Wrapper.ensureTemps();
-          var bignum = new BigInteger();
-          bignum.fromString(str, base);
-          var bigmin = new BigInteger();
-          bigmin.fromString(min, 10);
-          var bigmax = new BigInteger();
-          bigmax.fromString(max, 10);
-          if (unsigned && bignum.compareTo(BigInteger.ZERO) < 0) {
-            var temp = new BigInteger();
-            bignum.addTo(Wrapper.two64, temp);
-            bignum = temp;
-          }
-          var error = false;
-          if (bignum.compareTo(bigmin) < 0) {
-            bignum = bigmin;
-            error = true;
-          } else if (bignum.compareTo(bigmax) > 0) {
-            bignum = bigmax;
-            error = true;
-          }
-          var ret = goog.math.Long.fromString(bignum.toString()); // min-max checks should have clamped this to a range goog.math.Long can handle well
-          HEAP32[tempDoublePtr>>2] = ret.low_;
-          HEAP32[tempDoublePtr+4>>2] = ret.high_;
-          if (error) throw 'range error';
-        }
-      };
-      return Wrapper;
-    })();
-    
-    //======= end closure i64 code =======
-    
-    
-    
-    // === Auto-generated postamble setup entry stuff ===
-    
-    if (memoryInitializer) {
-      if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
-        var data = Module['readBinary'](memoryInitializer);
-        HEAPU8.set(data, STATIC_BASE);
-      } else {
-        addRunDependency('memory initializer');
-        Browser.asyncLoad(memoryInitializer, function(data) {
-          HEAPU8.set(data, STATIC_BASE);
-          removeRunDependency('memory initializer');
-        }, function(data) {
-          throw 'could not load memory initializer ' + memoryInitializer;
-        });
-      }
-    }
-    
-    function ExitStatus(status) {
-      this.name = "ExitStatus";
-      this.message = "Program terminated with exit(" + status + ")";
-      this.status = status;
-    };
-    ExitStatus.prototype = new Error();
-    ExitStatus.prototype.constructor = ExitStatus;
-    
-    var initialStackTop;
-    var preloadStartTime = null;
-    var calledMain = false;
-    
-    dependenciesFulfilled = function runCaller() {
-      // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
-      if (!Module['calledRun'] && shouldRunNow) run();
-      if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
-    }
-    
-    Module['callMain'] = Module.callMain = function callMain(args) {
-      assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)');
-      assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called');
-    
-      args = args || [];
-    
-      if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
-        Module.printErr('preload time: ' + (Date.now() - preloadStartTime) + ' ms');
-      }
-    
-      ensureInitRuntime();
-    
-      var argc = args.length+1;
-      function pad() {
-        for (var i = 0; i < 4-1; i++) {
-          argv.push(0);
-        }
-      }
-      var argv = [allocate(intArrayFromString("/bin/this.program"), 'i8', ALLOC_NORMAL) ];
-      pad();
-      for (var i = 0; i < argc-1; i = i + 1) {
-        argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
-        pad();
-      }
-      argv.push(0);
-      argv = allocate(argv, 'i32', ALLOC_NORMAL);
-    
-      initialStackTop = STACKTOP;
-    
-      try {
-    
-        var ret = Module['_main'](argc, argv, 0);
-    
-    
-        // if we're not running an evented main loop, it's time to exit
-        if (!Module['noExitRuntime']) {
-          exit(ret);
-        }
-      }
-      catch(e) {
-        if (e instanceof ExitStatus) {
-          // exit() throws this once it's done to make sure execution
-          // has been stopped completely
-          return;
-        } else if (e == 'SimulateInfiniteLoop') {
-          // running an evented main loop, don't immediately exit
-          Module['noExitRuntime'] = true;
-          return;
-        } else {
-          if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]);
-          throw e;
-        }
-      } finally {
-        calledMain = true;
-      }
-    }
-    
-    
-    
-    
-    function run(args) {
-      args = args || Module['arguments'];
-    
-      if (preloadStartTime === null) preloadStartTime = Date.now();
-    
-      if (runDependencies > 0) {
-        Module.printErr('run() called, but dependencies remain, so not running');
-        return;
-      }
-    
-      preRun();
-    
-      if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
-      if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
-    
-      function doRun() {
-        if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
-        Module['calledRun'] = true;
-    
-        ensureInitRuntime();
-    
-        preMain();
-    
-        if (Module['_main'] && shouldRunNow) {
-          Module['callMain'](args);
-        }
-    
-        postRun();
-      }
-    
-      if (Module['setStatus']) {
-        Module['setStatus']('Running...');
-        setTimeout(function() {
-          setTimeout(function() {
-            Module['setStatus']('');
-          }, 1);
-          if (!ABORT) doRun();
-        }, 1);
-      } else {
-        doRun();
-      }
-    }
-    Module['run'] = Module.run = run;
-    
-    function exit(status) {
-      ABORT = true;
-      EXITSTATUS = status;
-      STACKTOP = initialStackTop;
-    
-      // exit the runtime
-      exitRuntime();
-    
-      // TODO We should handle this differently based on environment.
-      // In the browser, the best we can do is throw an exception
-      // to halt execution, but in node we could process.exit and
-      // I'd imagine SM shell would have something equivalent.
-      // This would let us set a proper exit status (which
-      // would be great for checking test exit statuses).
-      // https://github.com/kripken/emscripten/issues/1371
-    
-      // throw an exception to halt the current execution
-      throw new ExitStatus(status);
-    }
-    Module['exit'] = Module.exit = exit;
-    
-    function abort(text) {
-      if (text) {
-        Module.print(text);
-        Module.printErr(text);
-      }
-    
-      ABORT = true;
-      EXITSTATUS = 1;
-    
-      throw 'abort() at ' + stackTrace();
-    }
-    Module['abort'] = Module.abort = abort;
-    
-    // {{PRE_RUN_ADDITIONS}}
-    
-    if (Module['preInit']) {
-      if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
-      while (Module['preInit'].length > 0) {
-        Module['preInit'].pop()();
-      }
-    }
-    
-    // shouldRunNow refers to calling main(), not run().
-    var shouldRunNow = false;
-    if (Module['noInitialRun']) {
-      shouldRunNow = false;
-    }
-    
-    Module["noExitRuntime"] = true;
-    
-    run();
-    
-    // {{POST_RUN_ADDITIONS}}
-    
-    
-    
-    
-    
-    
-    // {{MODULE_ADDITIONS}}
-    
-    
-    
-    
-    
-    /**
-     * libde265.js HEVC/H.265 decoder
-     * (c)2014 struktur AG, http://www.struktur.de, opensource@struktur.de
-     *
-     * This file is part of libde265.js
-     * https://github.com/strukturag/libde265.js
-     *
-     * libde265.js is free software: you can redistribute it and/or modify
-     * it under the terms of the GNU Lesser General Public License as
-     * published by the Free Software Foundation, either version 3 of
-     * the License, or (at your option) any later version.
-     *
-     * libde265.js is distributed in the hope that it will be useful,
-     * but WITHOUT ANY WARRANTY; without even the implied warranty of
-     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-     * GNU Lesser General Public License for more details.
-     *
-     * You should have received a copy of the GNU Lesser General Public License
-     * along with libde265.js.  If not, see <http://www.gnu.org/licenses/>.
-     */
-    // don't pollute the global namespace
-    delete this['Module'];
-    
-    /**
-     * Public API.
-     */
-    var libde265 = {
-        /** @expose */
-        DE265_OK: 0,
-        /** @expose */
-        DE265_ERROR_NO_SUCH_FILE: 1,
-        //DE265_ERROR_NO_STARTCODE: 2, obsolete
-        /** @expose */
-        DE265_ERROR_EOF: 3,
-        /** @expose */
-        DE265_ERROR_COEFFICIENT_OUT_OF_IMAGE_BOUNDS: 4,
-        /** @expose */
-        DE265_ERROR_CHECKSUM_MISMATCH: 5,
-        /** @expose */
-        DE265_ERROR_CTB_OUTSIDE_IMAGE_AREA: 6,
-        /** @expose */
-        DE265_ERROR_OUT_OF_MEMORY: 7,
-        /** @expose */
-        DE265_ERROR_CODED_PARAMETER_OUT_OF_RANGE: 8,
-        /** @expose */
-        DE265_ERROR_IMAGE_BUFFER_FULL: 9,
-        /** @expose */
-        DE265_ERROR_CANNOT_START_THREADPOOL: 10,
-        /** @expose */
-        DE265_ERROR_LIBRARY_INITIALIZATION_FAILED: 11,
-        /** @expose */
-        DE265_ERROR_LIBRARY_NOT_INITIALIZED: 12,
-        /** @expose */
-        DE265_ERROR_WAITING_FOR_INPUT_DATA: 13,
-        /** @expose */
-        DE265_ERROR_CANNOT_PROCESS_SEI: 14,
-        /** @expose */
-        DE265_ERROR_PARAMETER_PARSING: 15,
-        /** @expose */
-        DE265_ERROR_NO_INITIAL_SLICE_HEADER: 16,
-        /** @expose */
-        DE265_ERROR_PREMATURE_END_OF_SLICE: 17,
-        /** @expose */
-        DE265_ERROR_UNSPECIFIED_DECODING_ERROR: 18,
-    
-        // --- errors that should become obsolete in later libde265 versions ---
-    
-        /** @expose */
-        DE265_ERROR_MAX_THREAD_CONTEXTS_EXCEEDED: 500,
-        /** @expose */
-        DE265_ERROR_MAX_NUMBER_OF_SLICES_EXCEEDED: 501,
-        //DE265_ERROR_SCALING_LIST_NOT_IMPLEMENTED: 502, obsolete
-        /** @expose */
-        DE265_ERROR_NOT_IMPLEMENTED_YET: 502,
-    
-        // --- warnings ---
-    
-        /** @expose */
-        DE265_WARNING_NO_WPP_CANNOT_USE_MULTITHREADING: 1000,
-        /** @expose */
-        DE265_WARNING_WARNING_BUFFER_FULL: 1001,
-        /** @expose */
-        DE265_WARNING_PREMATURE_END_OF_SLICE_SEGMENT: 1002,
-        /** @expose */
-        DE265_WARNING_INCORRECT_ENTRY_POINT_OFFSET: 1003,
-        /** @expose */
-        DE265_WARNING_CTB_OUTSIDE_IMAGE_AREA: 1004,
-        /** @expose */
-        DE265_WARNING_SPS_HEADER_INVALID: 1005,
-        /** @expose */
-        DE265_WARNING_PPS_HEADER_INVALID: 1006,
-        /** @expose */
-        DE265_WARNING_SLICEHEADER_INVALID: 1007,
-        /** @expose */
-        DE265_WARNING_INCORRECT_MOTION_VECTOR_SCALING: 1008,
-        /** @expose */
-        DE265_WARNING_NONEXISTING_PPS_REFERENCED: 1009,
-        /** @expose */
-        DE265_WARNING_NONEXISTING_SPS_REFERENCED: 1010,
-        /** @expose */
-        DE265_WARNING_BOTH_PREDFLAGS_ZERO: 1011,
-        /** @expose */
-        DE265_WARNING_NONEXISTING_REFERENCE_PICTURE_ACCESSED: 1012,
-        /** @expose */
-        DE265_WARNING_NUMMVP_NOT_EQUAL_TO_NUMMVQ: 1013,
-        /** @expose */
-        DE265_WARNING_NUMBER_OF_SHORT_TERM_REF_PIC_SETS_OUT_OF_RANGE: 1014,
-        /** @expose */
-        DE265_WARNING_SHORT_TERM_REF_PIC_SET_OUT_OF_RANGE: 1015,
-        /** @expose */
-        DE265_WARNING_FAULTY_REFERENCE_PICTURE_LIST: 1016,
-        /** @expose */
-        DE265_WARNING_EOSS_BIT_NOT_SET: 1017,
-        /** @expose */
-        DE265_WARNING_MAX_NUM_REF_PICS_EXCEEDED: 1018,
-        /** @expose */
-        DE265_WARNING_INVALID_CHROMA_FORMAT: 1019,
-        /** @expose */
-        DE265_WARNING_SLICE_SEGMENT_ADDRESS_INVALID: 1020,
-        /** @expose */
-        DE265_WARNING_DEPENDENT_SLICE_WITH_ADDRESS_ZERO: 1021,
-        /** @expose */
-        DE265_WARNING_NUMBER_OF_THREADS_LIMITED_TO_MAXIMUM: 1022,
-        /** @expose */
-        DE265_NON_EXISTING_LT_REFERENCE_CANDIDATE_IN_SLICE_HEADER: 1023,
-        /** @expose */
-        DE265_WARNING_CANNOT_APPLY_SAO_OUT_OF_MEMORY: 1024,
-        /** @expose */
-        DE265_WARNING_SPS_MISSING_CANNOT_DECODE_SEI: 1025,
-        /** @expose */
-        DE265_WARNING_COLLOCATED_MOTION_VECTOR_OUTSIDE_IMAGE_AREA: 1026,
-    
-        /** @expose */
-        de265_get_version: cwrap('de265_get_version', 'string'),
-        /** @expose */
-        de265_get_version_number: cwrap('de265_get_version_number', 'number'),
-        /** @expose */
-        de265_get_error_text: cwrap('de265_get_error_text', 'string', ['number']),
-        /** @expose */
-        de265_isOK: cwrap('de265_isOK', 'number', ['number']),
-        /** @expose */
-        de265_set_verbosity: cwrap('de265_set_verbosity', 'number', ['number']),
-    
-        /** @expose */
-        de265_chroma_mono: 0,
-        /** @expose */
-        de265_chroma_420: 1,
-        /** @expose */
-        de265_chroma_422: 2,
-        /** @expose */
-        de265_chroma_444: 3,
-    
-        /** @expose */
-        de265_get_image_width: cwrap('de265_get_image_width', 'number', ['number', 'number']),
-        /** @expose */
-        de265_get_image_height: cwrap('de265_get_image_height', 'number', ['number', 'number']),
-        /** @expose */
-        de265_get_chroma_format: cwrap('de265_get_chroma_format', 'number', ['number']),
-        /** @expose */
-        de265_get_bits_per_pixel: cwrap('de265_get_bits_per_pixel', 'number', ['number', 'number']),
-        /** @expose */
-        de265_get_image_plane: cwrap('de265_get_image_plane', 'number', ['number', 'number', 'number']),
-        /** @expose */
-        de265_get_image_plane_user_data: cwrap('de265_get_image_plane_user_data', 'number', ['number', 'number']),
-        /** @expose */
-        de265_get_image_PTS: cwrap('de265_get_image_PTS', 'number', ['number']),
-        /** @expose */
-        de265_get_image_user_data: cwrap('de265_get_image_user_data', 'number', ['number']),
-        /** @expose */
-        de265_set_image_user_data: cwrap('de265_set_image_user_data', 'number', ['number', 'number']),
-        // de265_get_image_NAL_header
-    
-        /** @expose */
-        de265_new_decoder: cwrap('de265_new_decoder', 'number'),
-        // de265_start_worker_threads
-        /** @expose */
-        de265_free_decoder: cwrap('de265_free_decoder', 'number', ['number']),
-        /** @expose */
-        de265_push_data: cwrap('de265_push_data', 'number', ['number', 'array', 'number', 'number', 'number']),
-        /** @expose */
-        de265_push_end_of_NAL: cwrap('de265_push_end_of_NAL', 'number', ['number']),
-        /** @expose */
-        de265_push_end_of_frame: cwrap('de265_push_end_of_frame', 'number', ['number']),
-        /** @expose */
-        de265_push_NAL: cwrap('de265_push_NAL', 'number', ['number', 'array', 'number', 'number', 'number']),
-        /** @expose */
-        de265_flush_data: cwrap('de265_flush_data', 'number', ['number']),
-        /** @expose */
-        de265_get_number_of_input_bytes_pending: cwrap('de265_get_number_of_input_bytes_pending', 'number', ['number']),
-        /** @expose */
-        de265_get_number_of_NAL_units_pending: cwrap('de265_get_number_of_NAL_units_pending', 'number', ['number']),
-        /** @expose */
-        de265_decode: cwrap('de265_decode', 'number', ['number', 'number']),
-        /** @expose */
-        de265_reset: cwrap('de265_reset', 'number', ['number']),
-        /** @expose */
-        de265_peek_next_picture: cwrap('de265_peek_next_picture', 'number', ['number']),
-        /** @expose */
-        de265_get_next_picture: cwrap('de265_get_next_picture', 'number', ['number']),
-        /** @expose */
-        de265_release_next_picture: cwrap('de265_release_next_picture', 'number', ['number']),
-        /** @expose */
-        de265_get_warning: cwrap('de265_get_warning', 'number', ['number']),
-    
-        // de265_set_image_allocation_functions
-        // de265_get_default_image_allocation_functions
-        // de265_set_image_plane
-    
-        /** @expose */
-        de265_get_highest_TID: cwrap('de265_get_highest_TID', 'number', ['number']),
-        /** @expose */
-        de265_get_current_TID: cwrap('de265_get_current_TID', 'number', ['number']),
-        /** @expose */
-        de265_set_limit_TID: cwrap('de265_set_limit_TID', 'number', ['number', 'number']),
-        /** @expose */
-        de265_set_framerate_ratio: cwrap('de265_set_framerate_ratio', 'number', ['number', 'number']),
-        /** @expose */
-        de265_change_framerate: cwrap('de265_change_framerate', 'number', ['number', 'number']),
-    
-        /** @expose */
-        DE265_DECODER_PARAM_BOOL_SEI_CHECK_HASH: 0, // (bool) Perform SEI hash check on decoded pictures.
-        /** @expose */
-        DE265_DECODER_PARAM_DUMP_SPS_HEADERS: 1,    // (int)  Dump headers to specified file-descriptor.
-        /** @expose */
-        DE265_DECODER_PARAM_DUMP_VPS_HEADERS: 2,
-        /** @expose */
-        DE265_DECODER_PARAM_DUMP_PPS_HEADERS: 3,
-        /** @expose */
-        DE265_DECODER_PARAM_DUMP_SLICE_HEADERS: 4,
-        /** @expose */
-        DE265_DECODER_PARAM_ACCELERATION_CODE: 5,    // (int)  enum de265_acceleration, default: AUTO
-        /** @expose */
-        DE265_DECODER_PARAM_SUPPRESS_FAULTY_PICTURES: 6, // (bool)  do not output frames with decoding errors, default: no (output all images)
-        /** @expose */
-        DE265_DECODER_PARAM_DISABLE_DEBLOCKING: 7,   // (bool)  disable deblocking
-        /** @expose */
-        DE265_DECODER_PARAM_DISABLE_SAO: 8,           // (bool)  disable SAO filter
-    
-        /** @expose */
-        de265_acceleration_SCALAR: 0, // only fallback implementation
-        /** @expose */
-        de265_acceleration_MMX  : 10,
-        /** @expose */
-        de265_acceleration_SSE  : 20,
-        /** @expose */
-        de265_acceleration_SSE2 : 30,
-        /** @expose */
-        de265_acceleration_SSE4 : 40,
-        /** @expose */
-        de265_acceleration_AVX  : 50,    // not implemented yet
-        /** @expose */
-        de265_acceleration_AVX2 : 60,    // not implemented yet
-        /** @expose */
-        de265_acceleration_ARM  : 70,
-        /** @expose */
-        de265_acceleration_NEON : 80,
-        /** @expose */
-        de265_acceleration_AUTO : 10000,
-    
-        /** @expose */
-        de265_set_parameter_bool: cwrap('de265_set_parameter_bool', 'number', ['number', 'number', 'number']),
-        /** @expose */
-        de265_set_parameter_int: cwrap('de265_set_parameter_int', 'number', ['number', 'number', 'number']),
-        /** @expose */
-        de265_get_parameter_bool: cwrap('de265_get_parameter_bool', 'number', ['number', 'number'])
-    };
-    
-    /**
-     * A decoded image
-     *
-     * @constructor
-     */
-    var Image = function(decoder, img) {
-        this.decoder = decoder;
-        this.img = img;
-        this.width = null;
-        this.height = null;
-    };
-    
-    /**
-     * @expose
-     */
-    Image.prototype.free = function() {
-    };
-    
-    /**
-     * @expose
-     */
-    Image.prototype.get_width = function() {
-        if (this.width === null) {
-            this.width = libde265.de265_get_image_width(this.img, 0);
-        }
-        return this.width;
-    };
-    
-    /**
-     * @expose
-     */
-    Image.prototype.get_height = function() {
-        if (this.height === null) {
-            this.height = libde265.de265_get_image_height(this.img, 0);
-        }
-        return this.height;
-    };
-    
-    /**
-     * @expose
-     */
-    Image.prototype.display = function(imageData, callback) {
-        var w = this.get_width();
-        var h = this.get_height();
-        var chroma = libde265.de265_get_chroma_format(this.img);
-        var stride = _malloc(4);
-        var y = libde265.de265_get_image_plane(this.img, 0, stride);
-        var stridey = getValue(stride, "i32");
-        var bppy = libde265.de265_get_bits_per_pixel(this.img, 0);
-        var u = libde265.de265_get_image_plane(this.img, 1, stride);
-        var strideu = getValue(stride, "i32");
-        var bppu = libde265.de265_get_bits_per_pixel(this.img, 1);
-        var v = libde265.de265_get_image_plane(this.img, 2, stride);
-        var stridev = getValue(stride, "i32");
-        var bppv = libde265.de265_get_bits_per_pixel(this.img, 2);
-        _free(stride);
-    
-        this.decoder.convert_yuv2rgb(chroma, y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, imageData, callback);
-    };
-    
-    function worker_func() {
-        self.addEventListener("message", function(e) {
-            var data = e.data;
-            switch (data["cmd"]) {
-            case "start":
-                break;
-    
-            case "stop":
-                this.postMessage({"cmd": "stopped"});
-                self.close();
-                break;
-    
-            case "convert":
-                var img = _do_convert_yuv2rgb(data["data"]["chroma"], data["data"]["y"], data["data"]["u"], data["data"]["v"], data["data"]["w"], data["data"]["h"], data["data"]["stridey"], data["data"]["strideu"], data["data"]["stridev"], data["data"]["bppy"], data["data"]["bppu"], data["data"]["bppv"]);
-                this.postMessage({"cmd": "converted", "data": {"image": img}});
-                break;
-    
-            default:
-                // ignore unknown commands
-                break;
-            }
-        }, 0);
-    }
-    
-    var worker_blob_url = null;
-    
-    var WorkerConverter = function() {
-        this.callbacks = [];
-        if (worker_blob_url === null) {
-            // load worker from inplace blob so we don't have to depend
-            // on additional external files
-            var worker_func_data = worker_func.toString();
-            var worker_func_name = worker_func.name;
-            if (!worker_func_name) {
-                // Get name of function for older browsers and IE.
-                // See http://stackoverflow.com/a/17923727/608954
-                worker_func_name = /^function\s+([\w\$]+)\s*\(/.exec(worker_func_data)[1];
-            }
-            var blob = new Blob([
-                "(function() {\n",
-                _do_convert_yuv420.toString() + ";\n",
-                _do_convert_yuv2rgb.toString() + ";\n",
-                worker_func_data + ";\n",
-                worker_func_name + "();\n",
-                "}).call(this);"
-            ], {"type": "text/javascript"});
-    
-            worker_blob_url = window.URL.createObjectURL(blob);
-        }
-    
-        var that = this;
-        this.worker = new Worker(worker_blob_url);
-        this.worker.addEventListener('message', function(e) {
-            switch (e.data["cmd"]) {
-            case "converted":
-                var cb = that.callbacks[0];
-                that.callbacks = that.callbacks.splice(1);
-                cb(e.data["data"]["image"]);
-                break;
-    
-            case "stopped":
-                that.callbacks = null;
-                that = null;
-                break;
-    
-            default:
-                // ignore unknown commands
-                break;
-            }
-        }, false);
-        this.worker.postMessage({"cmd": "start"});
-    };
-    
-    WorkerConverter.prototype.destroy = function() {
-        if (this.worker) {
-            this.worker.postMessage({"cmd": "stop"});
-            this.worker = null;
-        }
-    };
-    
-    WorkerConverter.prototype.convert = function(chroma, y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, imageData, callback) {
-        var msg = {
-            "cmd": "convert",
-            "data": {
-                "chroma": chroma,
-                "y": new Uint8Array(y),
-                "u": new Uint8Array(u),
-                "v": new Uint8Array(v),
-                "w": w,
-                "h": h,
-                "stridey": stridey,
-                "strideu": strideu,
-                "stridev": stridev,
-                "bppy": bppy,
-                "bppu": bppu,
-                "bppv": bppv
-            }
-        };
-        this.callbacks.push(function(data) {
-            if (imageData.data.set) {
-                imageData.data.set(data);
-            } else {
-                var dest = imageData.data;
-                var cnt = dest.length;
-                for (var i=0; i<cnt; i++) {
-                    dest[i] = data[i];
-                }
-            }
-            callback(imageData);
-        });
-        this.worker.postMessage(msg);
-    };
-    
-    var LocalConverter = function() {
-    };
-    
-    LocalConverter.prototype.destroy = function() {
-    };
-    
-    LocalConverter.prototype.convert = function(chroma, y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, imageData, callback) {
-        _do_convert_yuv2rgb(chroma,
-            y, u, v,
-            w, h,
-            stridey, strideu, stridev,
-            bppy, bppu, bppv,
-            imageData.data);
-    
-        callback(imageData);
-    };
-    
-    /**
-     * The HEVC/H.265 decoder
-     *
-     * @constructor
-     */
-    var Decoder = function() {
-        this.image_callback = null;
-        this.more = _malloc(2);
-        this.stop = false;
-        this.ctx = libde265.de265_new_decoder();
-        if (typeof Worker !== "undefined" && typeof Uint8ClampedArray !== "undefined" && typeof Blob !== "undefined") {
-            this.converter = new WorkerConverter();
-        } else {
-            this.converter = new LocalConverter();
-        }
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.free = function() {
-        if (this.converter) {
-            this.converter.destroy();
-            this.converter = null;
-        }
-        libde265.de265_free_decoder(this.ctx);
-        this.ctx = null;
-        _free(this.more);
-        this.more = null;
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.set_image_callback = function(callback) {
-        this.image_callback = callback;
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.reset = function() {
-        libde265.de265_reset(this.ctx);
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.push_data = function(data, pts) {
-        pts = pts || 0;
-        return libde265.de265_push_data(this.ctx, data, data.length, pts, 0);
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.flush = function() {
-        this.stop = true;
-        return libde265.de265_flush_data(this.ctx);
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.has_more = function() {
-        return !this.stop || getValue(this.more, "i16") !== 0;
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.set_framerate_ratio = function(ratio) {
-        libde265.de265_set_framerate_ratio(this.ctx, ratio);
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.disable_filters = function(disable) {
-        libde265.de265_set_parameter_bool(this.ctx, libde265.DE265_DECODER_PARAM_DISABLE_DEBLOCKING, !!disable);
-        libde265.de265_set_parameter_bool(this.ctx, libde265.DE265_DECODER_PARAM_DISABLE_SAO, !!disable);
-    };
-    
-    /**
-     * @expose
-     */
-    Decoder.prototype.decode = function(callback) {
-        var err;
-        setValue(this.more, 1, "i16");
-        while (getValue(this.more, "i16") !== 0) {
-            err = libde265.de265_decode(this.ctx, this.more);
-            if (!libde265.de265_isOK(err)) {
-                setValue(this.more, 0, "i16");
-                break;
-            }
-    
-            var img = libde265.de265_get_next_picture(this.ctx);
-            if (img) {
-                if (this.image_callback) {
-                    this.image_callback(new Image(this, img));
-                }
-                break;
-            }
-        }
-        callback(err);
-        return;
-    };
-    
-    function _do_convert_yuv420(y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, dest) {
-        var yval;
-        var uval;
-        var vval;
-        var xpos = 0;
-        var ypos = 0;
-        var w2 = w >> 1;
-        var maxi = w2*h;
-        var yoffset = 0;
-        var uoffset = 0;
-        var voffset = 0;
-        var x2;
-        var i2;
-        for (var i=0; i<maxi; i++) {
-            i2 = i << 1;
-            x2 = (xpos << 1);
-            yval = 1.164 * (y[yoffset + x2] - 16);
-    
-            uval = u[uoffset + xpos] - 128;
-            vval = v[voffset + xpos] - 128;
-            dest[(i2<<2)+0] = yval + 1.596 * vval;
-            dest[(i2<<2)+1] = yval - 0.813 * vval - 0.391 * uval;
-            dest[(i2<<2)+2] = yval + 2.018 * uval;
-            dest[(i2<<2)+3] = 0xff;
-    
-            yval = 1.164 * (y[yoffset + x2 + 1] - 16);
-            dest[((i2+1)<<2)+0] = yval + 1.596 * vval;
-            dest[((i2+1)<<2)+1] = yval - 0.813 * vval - 0.391 * uval;
-            dest[((i2+1)<<2)+2] = yval + 2.018 * uval;
-            dest[((i2+1)<<2)+3] = 0xff;
-    
-            xpos++;
-            if (xpos === w2) {
-                xpos = 0;
-                ypos++;
-                yoffset += stridey;
-                uoffset = ((ypos >> 1) * strideu);
-                voffset = ((ypos >> 1) * stridev);
-            }
-        }
-    }
-    
-    function _do_convert_yuv2rgb(chroma, y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, dest) {
-        if (!dest) {
-            dest = new Uint8ClampedArray(w*h*4);
-        }
-        // NOTE: we can't use libde265 constants here as the function can also be
-        // run inside the Worker where "libde265" is not available.
-        switch (chroma) {
-        case 0:  /* libde265.de265_chroma_mono */
-            // TODO(fancycode): implement me
-            console.log("Chroma format not implemented yet", chroma, bppy, bppu, bppv);
-            break;
-        case 1:  /* libde265.de265_chroma_420 */
-            if (bppy !== 8 || bppu !== 8 || bppv !== 8) {
-                // TODO(fancycode): implement me
-                console.log("Chroma format not implemented yet", chroma, bppy, bppu, bppv);
-            } else {
-                _do_convert_yuv420(y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, dest);
-            }
-            break;
-        case 2:  /* libde265.de265_chroma_422 */
-            // TODO(fancycode): implement me
-            console.log("Chroma format not implemented yet", chroma, bppy, bppu, bppv);
-            break;
-        case 3:  /* libde265.de265_chroma_444 */
-            // TODO(fancycode): implement me
-            console.log("Chroma format not implemented yet", chroma, bppy, bppu, bppv);
-            break;
-        default:
-            console.log("Unsupported chroma format", chroma, bppy, bppu, bppv);
-            break;
-        }
-        return dest;
-    }
-    
-    Decoder.prototype.convert_yuv2rgb = function(chroma, y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, imageData, callback) {
-        y = HEAPU8.subarray(y, y+(h*stridey));
-        u = HEAPU8.subarray(u, u+(h*strideu));
-        v = HEAPU8.subarray(v, v+(h*stridev));
-        this.converter.convert(chroma, y, u, v, w, h, stridey, strideu, stridev, bppy, bppu, bppv, imageData, callback);
-    };
-    
-    /**
-     * @expose
-     */
-    libde265.Decoder = Decoder;
-    
-    /**
-     * A simple raw bitstream player interface.
-     *
-     * @constructor
-     */
-    var RawPlayer = function(canvas) {
-        this.canvas = canvas;
-        this.ctx = canvas.getContext("2d");
-        this.status_cb = null;
-        this.error_cb = null;
-        this.ratio = null;
-        this.filters = false;
-        this._reset();
-    };
-    
-    RawPlayer.prototype._reset = function() {
-        this.start = null;
-        this.frames = 0;
-        this.image_data = null;
-        this.running = false;
-        this.pending_image_data = null;
-    };
-    
-    /** @expose */
-    RawPlayer.prototype.set_status_callback = function(callback) {
-        this.status_cb = callback;
-    };
-    
-    RawPlayer.prototype._set_status = function() {
-        if (this.status_cb) {
-            this.status_cb.apply(this.status_cb, arguments);
-        }
-    };
-    
-    /** @expose */
-    RawPlayer.prototype.set_error_callback = function(callback) {
-        this.error_cb = callback;
-    };
-    
-    RawPlayer.prototype._set_error = function(error, message) {
-        if (this.error_cb) {
-            this.error_cb(error, message);
-        }
-    };
-    
-    RawPlayer.prototype._display_image = function(image) {
-        if (!this.start) {
-            this.start = new Date();
-            this._set_status("playing");
-        } else {
-            this.frames += 1;
-            var duration = (new Date()) - this.start;
-            if (duration > 1000) {
-                this._set_status("fps", this.frames / (duration * 0.001));
-            }
-        }
-    
-        var w = image.get_width();
-        var h = image.get_height();
-        if (w != this.canvas.width || h != this.canvas.height || !this.image_data) {
-            this.canvas.width = w;
-            this.canvas.height = h;
-            this.image_data = this.ctx.createImageData(w, h);
-            var image_data = this.image_data.data;
-            for (var i=0; i<w*h; i++) {
-                image_data[i*4+3] = 255;
-            }
-        }
-    
-        var that = this;
-        image.display(this.image_data, function(display_image_data) {
-            if (window.requestAnimationFrame) {
-                that.pending_image_data = display_image_data;
-                window.requestAnimationFrame(function() {
-                    if (that.pending_image_data) {
-                        that.ctx.putImageData(that.pending_image_data, 0, 0);
-                        that.pending_image_data = null;
-                    }
-                });
-            } else {
-                that.ctx.putImageData(display_image_data, 0, 0);
-            }
-        });
-    };
-    
-    RawPlayer.prototype._handle_onload = function(request, event) {
-        var that = this;
-        this._set_status("initializing");
-    
-        var decoder = new Decoder();
-        decoder.set_image_callback(function(image) {
-            that._display_image(image);
-            image.free();
-        });
-    
-        var data = request.response;
-        var pos = 0;
-        var remaining = data.byteLength;
-        var ratio = null;
-        var filters = false;
-    
-        var decode = function() {
-            if (!that.running) {
-                return;
-            }
-    
-            var err;
-            if (remaining === 0) {
-                err = decoder.flush();
-            } else {
-                var l = 4096;
-                if (l > remaining) {
-                    l = remaining;
-                }
-                var tmp = new Uint8Array(data, pos, l);
-                err = decoder.push_data(tmp);
-                pos += l;
-                remaining -= l;
-            }
-            if (!libde265.de265_isOK(err)) {
-                that._set_error(err, libde265.de265_get_error_text(err));
-                return;
-            }
-    
-            if (that.ratio !== ratio) {
-                decoder.set_framerate_ratio(that.ratio);
-                ratio = that.ratio;
-            }
-    
-            if (that.filters !== filters) {
-                decoder.disable_filters(that.filters);
-                filters = that.filters;
-            }
-    
-            decoder.decode(function(err) {
-                switch(err) {
-                case libde265.DE265_ERROR_WAITING_FOR_INPUT_DATA:
-                    setTimeout(decode, 0);
-                    return;
-    
-                default:
-                    if (!libde265.de265_isOK(err)) {
-                        that._set_error(err, libde265.de265_get_error_text(err));
-                        return;
-                    }
-                }
-    
-                if (remaining > 0 || decoder.has_more()) {
-                    setTimeout(decode, 0);
-                    return;
-                }
-    
-                decoder.free();
-                that.stop();
-            });
-        };
-    
-        setTimeout(decode, 0);
-    };
-    
-    /** @expose */
-    RawPlayer.prototype.playback = function(url) {
-        this._reset();
-        var request = new XMLHttpRequest();
-        request.open("get", url, true);
-        request.responseType = "arraybuffer";
-        var that = this;
-        request.onload = function(event) {
-            that._handle_onload(request, event);
-        };
-        this._set_status("loading");
-        this.running = true;
-        request.send();
-    };
-    
-    /** @expose */
-    RawPlayer.prototype.stop = function() {
-        this._set_status("stopped");
-        this._reset();
-    };
-    
-    /** @expose */
-    RawPlayer.prototype.set_framerate_ratio = function(ratio) {
-        this.ratio = ratio;
-    };
-    
-    /** @expose */
-    RawPlayer.prototype.disable_filters = function(disable) {
-        this.filters = disable;
-    };
-    
-    /**
-     * @expose
-     */
-    libde265.RawPlayer = RawPlayer;
-    
-    var root = this;
-    
-    if (typeof exports !== 'undefined') {
-        if (typeof module !== 'undefined' && module.exports) {
-            /** @expose */
-            exports = module.exports = libde265;
-        }
-        /** @expose */
-        exports.libde265 = libde265;
-    } else {
-        /** @expose */
-        root.libde265 = libde265;
-    }
-    
-    if (typeof define === "function" && define.amd) {
-        /** @expose */
-        define([], function() {
-            return libde265;
-        });
-    }
-    
-    // NOTE: wrapped inside "(function() {" block from pre.js
-    }).call(this);
-    
-    
-    
\ No newline at end of file
diff --git a/web-service/client/src/libde265.min.js b/web-service/client/src/libde265.min.js
deleted file mode 100644
index 566919e52..000000000
--- a/web-service/client/src/libde265.min.js
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
- libde265.js HEVC/H.265 decoder
- (c)2014 struktur AG, http://www.struktur.de, opensource@struktur.de
-
- This file is part of libde265.js
- https://github.com/strukturag/libde265.js
-
- libde265.js is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation, either version 3 of
- the License, or (at your option) any later version.
-
- libde265.js is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with libde265.js.  If not, see <http://www.gnu.org/licenses/>.
-*/
-function l(M){throw M;}var p=void 0,s=!0,v=null,G=!1;function H(){return function(){}}function la(M){return function(T){this[M]=T}}function U(M){return function(){return M}}
-(function(){function M(a){this.canvas=a;this.Q=a.getContext("2d");this.mc=this.Ic=this.nc=v;this.Zb=G;this.xc()}function T(){this.Sc=v;this.Na=W(2);this.stop=G;this.Q=F.de265_new_decoder();this.Tb="undefined"!==typeof Worker&&"undefined"!==typeof Uint8ClampedArray&&"undefined"!==typeof Blob?new ab:new bb}function bb(){}function ab(){this.tb=[];if(cb===v){var a=Fb.toString(),b=Fb.name;b||(b=/^function\s+([\w\$]+)\s*\(/.exec(a)[1]);a=new Blob(["(function() {\n",Gb.toString()+";\n",db.toString()+";\n",
-a+";\n",b+"();\n","}).call(this);"],{type:"text/javascript"});cb=window.URL.createObjectURL(a)}var c=this;this.kb=new Worker(cb);this.kb.addEventListener("message",function(a){switch(a.data.cmd){case "converted":var b=c.tb[0];c.tb=c.tb.splice(1);b(a.data.data.image);break;case "stopped":c=c.tb=v}},G);this.kb.postMessage({cmd:"start"})}function Ba(a,b){this.mf=a;this.ra=b;this.height=this.width=v}function Hb(a){eval.call(v,a)}function K(a,b){a||ga("Assertion failed: "+b)}function Ib(a){try{var b=e["_"+
-a];b||(b=eval("_"+a))}catch(c){}K(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}function Jb(a,b,c,f){function d(a,b){if("string"==b){if(a===v||a===p||0===a)return 0;a=X(a);b="array"}if("array"==b){h||(h=t.gd());var c=t.ed(a.length);eb(a,c);return c}return a}var h=0,e=0,f=f?f.map(function(a){return d(a,c[e++])}):[];a=a.apply(v,f);"string"==b?b=Y(a):(K("array"!=b),b=a);h&&t.fd(h);return b}function E(a,b,c){var f=Ib(a);return function(){return Jb(f,
-b,c,Array.prototype.slice.call(arguments))}}function Ja(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":x[a]=b;break;case "i8":x[a]=b;break;case "i16":Z[a>>1]=b;break;case "i32":u[a>>2]=b;break;case "i64":sa=[b>>>0,(V=b,1<=+fb(V)?0<V?(Ka(+Kb(V/4294967296),4294967295)|0)>>>0:~~+Lb((V-+(~~V>>>0))/4294967296)>>>0:0)];u[a>>2]=sa[0];u[a+4>>2]=sa[1];break;case "float":na[a>>2]=b;break;case "double":ha[a>>3]=b;break;default:ga("invalid type for setValue: "+c)}}function ta(a,b){b=
-b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return x[a];case "i8":return x[a];case "i16":return Z[a>>1];case "i32":return u[a>>2];case "i64":return u[a>>2];case "float":return na[a>>2];case "double":return ha[a>>3];default:ga("invalid type for setValue: "+b)}return v}function I(a,b,c,f){var d,h;"number"===typeof a?(d=s,h=a):(d=G,h=a.length);var e="string"===typeof b?b:v,c=c==ua?f:[W,t.ed,t.we,t.Xb][c===p?Q:c](Math.max(h,e?1:b.length));if(d){f=c;K(0==(c&3));for(a=c+(h&-4);f<a;f+=
-4)u[f>>2]=0;for(a=c+h;f<a;)x[f++|0]=0;return c}if("i8"===e)return a.subarray||a.slice?N.set(a,c):N.set(new Uint8Array(a),c),c;for(var f=0,j,n;f<h;){var r=a[f];"function"===typeof r&&(r=t.Ci(r));d=e||b[f];0===d?f++:("i64"==d&&(d="i32"),Ja(c+f,r,d),n!==d&&(j=t.Pc(d),n=d),f+=j)}return c}function Y(a,b){for(var c=G,f,d=0;;){f=N[a+d|0];if(128<=f)c=s;else if(0==f&&!b)break;d++;if(b&&d==b)break}b||(b=d);var h="";if(!c){for(;0<b;)f=String.fromCharCode.apply(String,N.subarray(a,a+Math.min(b,1024))),h=h?h+
-f:f,a+=1024,b-=1024;return h}c=new t.pb;for(d=0;d<b;d++)f=N[a+d|0],h+=c.kc(f);return h}function vc(a){function b(e,g,r){var g=g||Infinity,m="",q=[],w;if("N"===a[c]){c++;"K"===a[c]&&c++;for(w=[];"E"!==a[c];)if("S"===a[c]){c++;var B=a.indexOf("_",c);w.push(d[a.substring(c,B)||0]||"?");c=B+1}else if("C"===a[c])w.push(w[w.length-1]),c+=2;else{var B=parseInt(a.substr(c)),C=B.toString().length;if(!B||!C){c--;break}var i=a.substr(c+C,B);w.push(i);d.push(i);c+=C+B}c++;w=w.join("::");g--;if(0===g)return e?
-[w]:w}else if(("K"===a[c]||h&&"L"===a[c])&&c++,B=parseInt(a.substr(c)))C=B.toString().length,w=a.substr(c+C,B),c+=C+B;h=G;"I"===a[c]?(c++,B=b(s),C=b(s,1,s),m+=C[0]+" "+w+"<"+B.join(", ")+">"):m=w;a:for(;c<a.length&&0<g--;)if(w=a[c++],w in f)q.push(f[w]);else switch(w){case "P":q.push(b(s,1,s)[0]+"*");break;case "R":q.push(b(s,1,s)[0]+"&");break;case "L":c++;B=a.indexOf("E",c)-c;q.push(a.substr(c,B));c+=B+2;break;case "A":B=parseInt(a.substr(c));c+=B.toString().length;"_"!==a[c]&&l("?");c++;q.push(b(s,
-1,s)[0]+" ["+B+"]");break;case "E":break a;default:m+="?"+w;break a}!r&&(1===q.length&&"void"===q[0])&&(q=[]);return e?q:m+("("+q.join(", ")+")")}var c=3,f={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},d=[],h=s;try{if("Object._main"==a||"_main"==a)return"main()";"number"===typeof a&&(a=Y(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==
-a[2])return a;switch(a[3]){case "n":return"operator new()";case "d":return"operator delete()"}return b()}catch(e){return a}}function gb(){var a=Error().stack;return a?a.replace(/__Z[\w\d_]+/g,function(a){var c=vc(a);return a===c?a:a+" ["+c+"]"}):"(no stack trace available)"}function va(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.qa;"number"===typeof c?b.Mb===p?t.Wb("v",c):t.Wb("vi",c,[b.Mb]):c(b.Mb===p?v:b.Mb)}}}function Mb(a){hb.unshift(a)}function Nb(a){Ob.unshift(a)}
-function X(a,b,c){a=(new t.pb).oe(a);c&&(a.length=c);b||a.push(0);return a}function eb(a,b){for(var c=0;c<a.length;c++)x[b+c|0]=a[c]}function Pb(a,b,c){for(var f=0;f<a.length;f++)x[b+f|0]=a.charCodeAt(f);c||(x[b+a.length|0]=0)}function ib(a,b){return 0<=a?a:32>=b?2*Math.abs(1<<b-1)+a:Math.pow(2,b)+a}function Qb(a,b){if(0>=a)return a;var c=32>=b?Math.abs(1<<b-1):Math.pow(2,b-1);if(a>=c&&(32>=b||a>c))a=-2*c+a;return a}function Rb(){ia++;e.monitorRunDependencies&&e.monitorRunDependencies(ia)}function jb(){ia--;
-e.monitorRunDependencies&&e.monitorRunDependencies(ia);if(0==ia&&(kb!==v&&(clearInterval(kb),kb=v),Ca)){var a=Ca;Ca=v;a()}}function wa(){return!!wa.kd}function lb(a){var b=G;try{a==__ZTIi&&(b=s)}catch(c){}try{a==__ZTIj&&(b=s)}catch(f){}try{a==__ZTIl&&(b=s)}catch(d){}try{a==__ZTIm&&(b=s)}catch(h){}try{a==__ZTIx&&(b=s)}catch(e){}try{a==__ZTIy&&(b=s)}catch(j){}try{a==__ZTIf&&(b=s)}catch(n){}try{a==__ZTId&&(b=s)}catch(r){}try{a==__ZTIe&&(b=s)}catch(m){}try{a==__ZTIc&&(b=s)}catch(q){}try{a==__ZTIa&&(b=
-s)}catch(w){}try{a==__ZTIh&&(b=s)}catch(B){}try{a==__ZTIs&&(b=s)}catch(C){}try{a==__ZTIt&&(b=s)}catch(i){}return b}function La(a,b,c){if(0==c)return G;if(0==b||b==a)return s;switch(lb(b)?b:u[u[b>>2]-8>>2]){case 0:return 0==u[u[a>>2]-8>>2]?La(u[a+8>>2],u[b+8>>2],c):G;case 1:return G;case 2:return La(a,u[b+8>>2],c);default:return G}}function Sb(a){try{return Ma(a-xa)}catch(b){}}function mb(a,b,c){if(!mb.Xa){try{u[__ZTVN10__cxxabiv119__pointer_type_infoE>>2]=0}catch(f){}try{u[nb>>2]=1}catch(d){}try{u[ob>>
-2]=2}catch(e){}mb.Xa=s}var g=a-xa;u[g>>2]=b;u[g+4>>2]=c;ya=a;"uncaught_exception"in wa?wa.kd++:wa.kd=1;l(a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")}function P(a){return u[Na>>2]=a}function Tb(){l("TODO")}function pb(a,b,c){a=d.Aa(a);if(!a)return P(i.S),-1;try{return d.write(a,x,b,c)}catch(f){return d.bc(f),-1}}function Ub(a){return d.ub(a).ba}function Vb(a,b,c,f){c*=b;if(0==c)return 0;
-a=pb(Ub(f),a,c);if(-1==a){if(b=d.ub(f))b.error=s;return 0}return Math.floor(a/b)}function Oa(a){return 0>a||0===a&&-Infinity===1/a}function qb(a,b){function c(a){var c;"double"===a?c=ha[b+d>>3]:"i64"==a?(c=[u[b+d>>2],u[b+(d+8)>>2]],d+=8):(a="i32",c=u[b+d>>2]);d+=Math.max(t.Xd(a),t.ya(a,v,s));return c}for(var f=a,d=0,e=[],g,j;;){var n=f;g=x[f];if(0===g)break;j=x[f+1|0];if(37==g){var r=G,m=G,q=G,w=G,B=G;a:for(;;){switch(j){case 43:r=s;break;case 45:m=s;break;case 35:q=s;break;case 48:if(w)break a;else{w=
-s;break}case 32:B=s;break;default:break a}f++;j=x[f+1|0]}var C=0;if(42==j)C=c("i32"),f++,j=x[f+1|0];else for(;48<=j&&57>=j;)C=10*C+(j-48),f++,j=x[f+1|0];var i=G,k=-1;if(46==j){k=0;i=s;f++;j=x[f+1|0];if(42==j)k=c("i32"),f++;else for(;;){j=x[f+1|0];if(48>j||57<j)break;k=10*k+(j-48);f++}j=x[f+1|0]}0>k&&(k=6,i=G);var D;switch(String.fromCharCode(j)){case "h":j=x[f+2|0];104==j?(f++,D=1):D=2;break;case "l":j=x[f+2|0];108==j?(f++,D=8):D=4;break;case "L":case "q":case "j":D=8;break;case "z":case "t":case "I":D=
-4;break;default:D=v}D&&f++;j=x[f+1|0];switch(String.fromCharCode(j)){case "d":case "i":case "u":case "o":case "x":case "X":case "p":n=100==j||105==j;D=D||4;var R=g=c("i"+8*D),y;8==D&&(g=t.Nf(g[0],g[1],117==j));4>=D&&(g=(n?Qb:ib)(g&Math.pow(256,D)-1,8*D));var z=Math.abs(g),n="";if(100==j||105==j)y=8==D&&za?za.stringify(R[0],R[1],v):Qb(g,8*D).toString(10);else if(117==j)y=8==D&&za?za.stringify(R[0],R[1],s):ib(g,8*D).toString(10),g=Math.abs(g);else if(111==j)y=(q?"0":"")+z.toString(8);else if(120==j||
-88==j){n=q&&0!=g?"0x":"";if(8==D&&za)if(R[1]){y=(R[1]>>>0).toString(16);for(q=(R[0]>>>0).toString(16);8>q.length;)q="0"+q;y+=q}else y=(R[0]>>>0).toString(16);else if(0>g){g=-g;y=(z-1).toString(16);R=[];for(q=0;q<y.length;q++)R.push((15-parseInt(y[q],16)).toString(16));for(y=R.join("");y.length<2*D;)y="f"+y}else y=z.toString(16);88==j&&(n=n.toUpperCase(),y=y.toUpperCase())}else 112==j&&(0===z?y="(nil)":(n="0x",y=z.toString(16)));if(i)for(;y.length<k;)y="0"+y;0<=g&&(r?n="+"+n:B&&(n=" "+n));"-"==y.charAt(0)&&
-(n="-"+n,y=y.substr(1));for(;n.length+y.length<C;)m?y+=" ":w?y="0"+y:n=" "+n;y=n+y;y.split("").forEach(function(a){e.push(a.charCodeAt(0))});break;case "f":case "F":case "e":case "E":case "g":case "G":g=c("double");if(isNaN(g))y="nan",w=G;else if(isFinite(g)){i=G;D=Math.min(k,20);if(103==j||71==j)i=s,k=k||1,D=parseInt(g.toExponential(D).split("e")[1],10),k>D&&-4<=D?(j=(103==j?"f":"F").charCodeAt(0),k-=D+1):(j=(103==j?"e":"E").charCodeAt(0),k--),D=Math.min(k,20);if(101==j||69==j)y=g.toExponential(D),
-/[eE][-+]\d$/.test(y)&&(y=y.slice(0,-1)+"0"+y.slice(-1));else if(102==j||70==j)y=g.toFixed(D),0===g&&Oa(g)&&(y="-"+y);n=y.split("e");if(i&&!q)for(;1<n[0].length&&-1!=n[0].indexOf(".")&&("0"==n[0].slice(-1)||"."==n[0].slice(-1));)n[0]=n[0].slice(0,-1);else for(q&&-1==y.indexOf(".")&&(n[0]+=".");k>D++;)n[0]+="0";y=n[0]+(1<n.length?"e"+n[1]:"");69==j&&(y=y.toUpperCase());0<=g&&(r?y="+"+y:B&&(y=" "+y))}else y=(0>g?"-":"")+"inf",w=G;for(;y.length<C;)y=m?y+" ":w&&("-"==y[0]||"+"==y[0])?y[0]+"0"+y.slice(1):
-(w?"0":" ")+y;97>j&&(y=y.toUpperCase());y.split("").forEach(function(a){e.push(a.charCodeAt(0))});break;case "s":w=(r=c("i8*"))?Wb(r):6;i&&(w=Math.min(w,k));if(!m)for(;w<C--;)e.push(32);if(r)for(q=0;q<w;q++)e.push(N[r++|0]);else e=e.concat(X("(null)".substr(0,w),s));if(m)for(;w<C--;)e.push(32);break;case "c":for(m&&e.push(c("i8"));0<--C;)e.push(32);m||e.push(c("i8"));break;case "n":m=c("i32*");u[m>>2]=e.length;break;case "%":e.push(g);break;default:for(q=n;q<f+2;q++)e.push(x[q])}f+=2}else e.push(g),
-f+=1}return e}function rb(a,b,c){c=qb(b,c);b=t.gd();a=Vb(I(c,"i8",Xb),1,c.length,a);t.fd(b);return a}function sb(a){e.exit(a)}function Pa(){if(Pa.se)Pa.se=G;else{k.setThrew(0);var a=tb.pop();if(a){header=a-xa;var b=u[header+4>>2];b&&(t.Wb("vi",b,[a]),u[header+4>>2]=0);Sb(a);ya=0}}}function ub(a,b,c,f){c=qb(c,f);f=b===p?c.length:Math.min(c.length,Math.max(b-1,0));if(0>a)var a=-a,d=W(f+1),a=u[a>>2]=d;for(d=0;d<f;d++)x[a+d|0]=c[d];if(f<b||b===p)x[a+d|0]=0;return c.length}function Yb(a,b,c){return ub(a,
-p,b,c)}function vb(a,b,c){a=d.Aa(a);if(!a)return P(i.S),-1;try{return d.O(a,x,b,c)}catch(f){return d.bc(f),-1}}function Zb(a,b,c,f){c*=b;if(0==c)return 0;var ma=0,f=d.ub(f);if(!f)return P(i.S),0;for(;f.qc.length&&0<c;)x[a++|0]=f.qc.pop(),c--,ma++;a=vb(f.ba,a,c);if(-1==a)return f&&(f.error=s),0;ma+=a;ma<c&&(f.Rd=s);return Math.floor(ma/b)}function Qa(a){var b=d.ub(a);if(!b||b.Rd||b.error)return-1;a=Zb(Qa.$,1,1,a);return 0==a?-1:-1==a?(b.error=s,-1):N[Qa.$|0]}function $b(a,b,c){if(a in Ra){if(Ra[a].length>
-c-1)return P(i.rd);Pb(Ra[a],b);return 0}return P(i.C)}function Da(a){Da.buffer||(Da.buffer=W(256));$b(a,Da.buffer,256);return Da.buffer}function ac(a){return 48<=a&&57>=a||97<=a&&102>=a||65<=a&&70>=a}function bc(a){return 48<=a&&57>=a}function cc(a){return/^[+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?/.exec(a)}function S(a,b,c,f){S.whiteSpace||(S.whiteSpace={},S.whiteSpace[32]=1,S.whiteSpace[9]=1,S.whiteSpace[10]=1,S.whiteSpace[11]=1,S.whiteSpace[12]=1,S.whiteSpace[13]=1);var a=Y(a),d=0;if(0<=a.indexOf("%n"))var e=
-b,b=function(){d++;return e()},g=c,c=function(){d--;return g()};var j=0,n=0,r=0,m,j=0;a:for(;j<a.length;)if("%"===a[j]&&"n"==a[j+1]){var q=u[f+r>>2],r=r+t.ya("void*",v,s);u[q>>2]=d;j+=2}else{if("%"===a[j]){var w=a.indexOf("c",j+1);if(0<w){var B=1;w>j+1&&(m=a.substring(j+1,w),B=parseInt(m),B!=m&&(B=0));if(B){q=u[f+r>>2];r+=t.ya("void*",v,s);n++;for(var C=0;C<B;C++)if(m=b(),x[q++|0]=m,0===m)return 0<C?n:n-1;j+=w-j+1;continue}}}if("%"===a[j]&&0<a.indexOf("[",j+1)&&(w=/\%([0-9]*)\[(\^)?(\]?[^\]]*)\]/.exec(a.substring(j)))){for(var B=
-parseInt(w[1])||Infinity,i="^"===w[2],k=w[3];m=/([^\-])\-([^\-])/.exec(k);){for(var q=m[1].charCodeAt(0),C=m[2].charCodeAt(0),D="";q<=C;D+=String.fromCharCode(q++));k=k.replace(m[1]+"-"+m[2],D)}q=u[f+r>>2];r+=t.ya("void*",v,s);n++;for(C=0;C<B;C++)if(m=b(),i)if(0>k.indexOf(String.fromCharCode(m)))x[q++|0]=m;else{c();break}else if(0<=k.indexOf(String.fromCharCode(m)))x[q++|0]=m;else{c();break}x[q++|0]=0;j+=w[0].length;continue}for(;;){m=b();if(0==m)return n;if(!(m in S.whiteSpace))break}c();if("%"===
-a[j]){j++;q=G;"*"==a[j]&&(q=s,j++);for(m=j;48<=a[j].charCodeAt(0)&&57>=a[j].charCodeAt(0);)j++;var R;j!=m&&(R=parseInt(a.slice(m,j),10));i=B=w=G;"l"==a[j]?(w=s,j++,"l"==a[j]&&(i=s,j++)):"h"==a[j]&&(B=s,j++);k=a[j];j++;C=0;D=[];if("f"==k||"e"==k||"g"==k||"F"==k||"E"==k||"G"==k){for(m=b();0<m&&!(m in S.whiteSpace);)D.push(String.fromCharCode(m)),m=b();m=(m=cc(D.join("")))?m[0].length:0;for(C=0;C<D.length-m+1;C++)c();D.length=m}else{m=b();var y=s;if(("x"==k||"X"==k)&&48==m){var z=b();120==z||88==z?m=
-b():c()}for(;(C<R||isNaN(R))&&0<m;)if(!(m in S.whiteSpace)&&("s"==k||("d"===k||"u"==k||"i"==k)&&(48<=m&&57>=m||y&&45==m)||("x"===k||"X"===k)&&(48<=m&&57>=m||97<=m&&102>=m||65<=m&&70>=m))&&(j>=a.length||m!==a[j].charCodeAt(0)))D.push(String.fromCharCode(m)),m=b(),C++,y=G;else break;c()}if(0===D.length)return 0;if(!q){m=D.join("");q=u[f+r>>2];r+=t.ya("void*",v,s);switch(k){case "d":case "u":case "i":B?Z[q>>1]=parseInt(m,10):i?(sa=[parseInt(m,10)>>>0,(V=parseInt(m,10),1<=+fb(V)?0<V?(Ka(+Kb(V/4294967296),
-4294967295)|0)>>>0:~~+Lb((V-+(~~V>>>0))/4294967296)>>>0:0)],u[q>>2]=sa[0],u[q+4>>2]=sa[1]):u[q>>2]=parseInt(m,10);break;case "X":case "x":u[q>>2]=parseInt(m,16);break;case "F":case "f":case "E":case "e":case "G":case "g":case "E":w?ha[q>>3]=parseFloat(m):na[q>>2]=parseFloat(m);break;case "s":m=X(m);for(C=0;C<m.length;C++)x[q+C|0]=m[C]}n++}}else{if(a[j].charCodeAt(0)in S.whiteSpace){for(m=b();m in S.whiteSpace;){if(0>=m)break a;m=b()}c(m)}else if(m=b(),a[j].charCodeAt(0)!==m){c(m);break a}j++}}return n}
-function dc(a,b,c){var f=0;return S(b,function(){return x[a+f++|0]},function(){f--},c)}function ec(){var a=ec;if(!a.$){for(var b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,8195,8194,8194,8194,8194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,24577,49156,49156,49156,49156,49156,
-49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,55304,55304,55304,55304,55304,55304,55304,55304,55304,55304,49156,49156,49156,49156,49156,49156,49156,54536,54536,54536,54536,54536,54536,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,49156,49156,49156,49156,49156,49156,54792,54792,54792,54792,54792,54792,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,
-50696,49156,49156,49156,49156,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=W(2*b.length),f=0;f<b.length;f++)Z[c+2*f>>1]=b[f];a.$=I([c+256],"i16*",oa)}return a.$}function fc(){var a=fc;if(!a.$){for(var b=[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,
-149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,-1,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,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,
-166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],c=W(4*b.length),f=0;f<b.length;f++)u[c+4*f>>2]=b[f];a.$=I([c+512],"i32*",oa)}return a.$}function gc(){var a=gc;if(!a.$){for(var b=[128,129,130,
-131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,-1,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,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,
-159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],c=W(4*b.length),f=0;f<b.length;f++)u[c+4*f>>2]=b[f];a.$=I([c+512],"i32*",oa)}return a.$}function Ea(a){return 0===
-a%4&&(0!==a%100||0===a%400)}function Sa(a,b){for(var c=0,f=0;f<=b;c+=a[f++]);return c}function Fa(a,b){for(var c=new Date(a.getTime());0<b;){var f=c.getMonth(),d=(Ea(c.getFullYear())?Ta:Ua)[f];if(b>d-c.getDate())b-=d-c.getDate()+1,c.setDate(1),11>f?c.setMonth(f+1):(c.setMonth(0),c.setFullYear(c.getFullYear()+1));else{c.setDate(c.getDate()+b);break}}return c}function hc(a,b,c,f){function d(a,b,c){for(a="number"===typeof a?a.toString():a||"";a.length<b;)a=c[0]+a;return a}function e(a,b){return d(a,
-b,"0")}function g(a,b){var c;if(0===(c=0>a.getFullYear()-b.getFullYear()?-1:0<a.getFullYear()-b.getFullYear()?1:0))if(0===(c=0>a.getMonth()-b.getMonth()?-1:0<a.getMonth()-b.getMonth()?1:0))c=0>a.getDate()-b.getDate()?-1:0<a.getDate()-b.getDate()?1:0;return c}function j(a){switch(a.getDay()){case 0:return new Date(a.getFullYear()-1,11,29);case 1:return a;case 2:return new Date(a.getFullYear(),0,3);case 3:return new Date(a.getFullYear(),0,2);case 4:return new Date(a.getFullYear(),0,1);case 5:return new Date(a.getFullYear()-
-1,11,31);case 6:return new Date(a.getFullYear()-1,11,30)}}function n(a){var a=Fa(new Date(a.P+1900,0,1),a.oc),b=j(new Date(a.getFullYear()+1,0,4));return 0>=g(j(new Date(a.getFullYear(),0,4)),a)?0>=g(b,a)?a.getFullYear()+1:a.getFullYear():a.getFullYear()-1}var f={fg:u[f>>2],eg:u[f+4>>2],jb:u[f+8>>2],Ta:u[f+12>>2],Da:u[f+16>>2],P:u[f+20>>2],ye:u[f+24>>2],oc:u[f+28>>2],jj:u[f+32>>2]},c=Y(c),r={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S",
-"%x":"%m/%d/%y","%X":"%H:%M:%S"},m;for(m in r)c=c.replace(RegExp(m,"g"),r[m]);var q="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),w="January February March April May June July August September October November December".split(" "),r={"%a":function(a){return q[a.ye].substring(0,3)},"%A":function(a){return q[a.ye]},"%b":function(a){return w[a.Da].substring(0,3)},"%B":function(a){return w[a.Da]},"%C":function(a){return e(Math.floor((a.P+1900)/100),2)},"%d":function(a){return e(a.Ta,
-2)},"%e":function(a){return d(a.Ta,2," ")},"%g":function(a){return n(a).toString().substring(2)},"%G":function(a){return n(a)},"%H":function(a){return e(a.jb,2)},"%I":function(a){return e(13>a.jb?a.jb:a.jb-12,2)},"%j":function(a){return e(a.Ta+Sa(Ea(a.P+1900)?Ta:Ua,a.Da-1),3)},"%m":function(a){return e(a.Da+1,2)},"%M":function(a){return e(a.eg,2)},"%n":U("\n"),"%p":function(a){return 0<a.jb&&13>a.jb?"AM":"PM"},"%S":function(a){return e(a.fg,2)},"%t":U("\t"),"%u":function(a){return(new Date(a.P+1900,
-a.Da+1,a.Ta,0,0,0,0)).getDay()||7},"%U":function(a){var b=new Date(a.P+1900,0,1),c=0===b.getDay()?b:Fa(b,7-b.getDay()),a=new Date(a.P+1900,a.Da,a.Ta);return 0>g(c,a)?e(Math.ceil((31-c.getDate()+(Sa(Ea(a.getFullYear())?Ta:Ua,a.getMonth()-1)-31)+a.getDate())/7),2):0===g(c,b)?"01":"00"},"%V":function(a){var b=j(new Date(a.P+1900,0,4)),c=j(new Date(a.P+1901,0,4)),f=Fa(new Date(a.P+1900,0,1),a.oc);return 0>g(f,b)?"53":0>=g(c,f)?"01":e(Math.ceil((b.getFullYear()<a.P+1900?a.oc+32-b.getDate():a.oc+1-b.getDate())/
-7),2)},"%w":function(a){return(new Date(a.P+1900,a.Da+1,a.Ta,0,0,0,0)).getDay()},"%W":function(a){var b=new Date(a.P,0,1),c=1===b.getDay()?b:Fa(b,0===b.getDay()?1:7-b.getDay()+1),a=new Date(a.P+1900,a.Da,a.Ta);return 0>g(c,a)?e(Math.ceil((31-c.getDate()+(Sa(Ea(a.getFullYear())?Ta:Ua,a.getMonth()-1)-31)+a.getDate())/7),2):0===g(c,b)?"01":"00"},"%y":function(a){return(a.P+1900).toString().substring(2)},"%Y":function(a){return a.P+1900},"%z":U(""),"%Z":U(""),"%%":U("%")};for(m in r)0<=c.indexOf(m)&&
-(c=c.replace(RegExp(m,"g"),r[m](f)));m=X(c,G);if(m.length>b)return 0;eb(m,a);return m.length-1}function ic(a){return 32==a||9<=a&&13>=a}function wb(a,b,c,f,d,e){for(var g=G;ic(x[a]);)a++;45==x[a]?(a++,g=s):43==x[a]&&a++;var j=G;if(c){if(16==c&&48==x[a]&&(120==x[a+1|0]||88==x[a+1|0]))a+=2}else 48==x[a]&&(120==x[a+1|0]||88==x[a+1|0]?(c=16,a+=2):(c=8,j=s));c||(c=10);for(var n=a,r;0!=(r=x[a])&&!isNaN(parseInt(String.fromCharCode(r),c));)a++,j=s;if(!j)return P(i.C),(k.setTempRet0(0),0)|0;b&&(u[b>>2]=a);
-try{var m=g?"-"+Y(n,a-n):Y(n,a-n);za.N(m,c,f,d,e)}catch(q){P(i.rd)}return(k.setTempRet0(u[ja+4>>2]|0),u[ja>>2]|0)|0}function jc(a,b,c){return wb(a,b,c,0,"18446744073709551615",s)}function kc(a,b,c){return wb(a,b,c,"-9223372036854775808","9223372036854775807")}function lc(a,b,c){return Yb(-a,b,c)}function mc(a){var b=mc;b.Xe||($=$+4095&-4096,b.Xe=s,K(t.Xb),b.Ve=t.Xb,t.Xb=function(){ga("cannot dynamically allocate, sbrk now has control")});var c=$;0!=a&&b.Ve(a);return c}function xb(a){this.name="ExitStatus";
-this.message="Program terminated with exit("+a+")";this.status=a}function yb(a){function b(){if(!e.calledRun){e.calledRun=s;Va||(Va=s,va(pa));va(zb);e._main&&Ab&&e.callMain(a);if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)Nb(e.postRun.shift());va(Ob)}}a=a||e.arguments;Wa===v&&(Wa=Date.now());if(0<ia)e.Ca("run() called, but dependencies remain, so not running");else{if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Mb(e.preRun.shift());
-va(hb);!(0<ia)&&!e.calledRun&&(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);qa||b()},1)):b())}}function nc(a){qa=s;aa=oc;va(Ga);l(new xb(a))}function ga(a){a&&(e.print(a),e.Ca(a));qa=s;l("abort() at "+gb())}function Fb(){self.addEventListener("message",function(a){a=a.data;switch(a.cmd){case "stop":this.postMessage({cmd:"stopped"});self.close();break;case "convert":a=db(a.data.chroma,a.data.y,a.data.u,a.data.v,a.data.w,a.data.h,a.data.stridey,
-a.data.strideu,a.data.stridev,a.data.bppy,a.data.bppu,a.data.bppv),this.postMessage({cmd:"converted",data:{image:a}})}},0)}function Gb(a,b,c,f,d,e,g,j,n,r,m,q){for(var w,r=n=0,f=f>>1,B=f*d,C=0,i=0,k=0,D,t,y=0;y<B;y++)t=y<<1,D=n<<1,d=1.164*(a[C+D]-16),m=b[i+n]-128,w=c[k+n]-128,q[(t<<2)+0]=d+1.596*w,q[(t<<2)+1]=d-0.813*w-0.391*m,q[(t<<2)+2]=d+2.018*m,q[(t<<2)+3]=255,d=1.164*(a[C+D+1]-16),q[(t+1<<2)+0]=d+1.596*w,q[(t+1<<2)+1]=d-0.813*w-0.391*m,q[(t+1<<2)+2]=d+2.018*m,q[(t+1<<2)+3]=255,n++,n===f&&(n=
-0,r++,C+=e,i=(r>>1)*g,k=(r>>1)*j)}function db(a,b,c,f,d,e,g,j,n,r,m,q,w){w||(w=new Uint8ClampedArray(4*d*e));switch(a){case 0:console.log("Chroma format not implemented yet",a,r,m,q);break;case 1:8!==r||8!==m||8!==q?console.log("Chroma format not implemented yet",a,r,m,q):Gb(b,c,f,d,e,g,j,n,0,0,0,w);break;case 2:console.log("Chroma format not implemented yet",a,r,m,q);break;case 3:console.log("Chroma format not implemented yet",a,r,m,q);break;default:console.log("Unsupported chroma format",a,r,m,
-q)}return w}var e={print:function(a){a=Array.prototype.slice.call(arguments).join(" ");console.log(a)},Ca:function(a){a=Array.prototype.slice.call(arguments).join(" ");console.error(a)},canvas:{},Ri:s},Xa={},ka;for(ka in e)e.hasOwnProperty(ka)&&(Xa[ka]=e[ka]);var ea="object"===typeof process&&"function"===typeof require,Ya="object"===typeof window,Bb="function"===typeof importScripts,wc=!Ya&&!ea&&!Bb;if(ea){e.print||(e.print=function(a){process.stdout.write(a+"\n")});e.printErr||(e.printErr=function(a){process.stderr.write(a+
-"\n")});var pc=require("fs"),qc=require("path");e.read=function(a,b){var a=qc.normalize(a),c=pc.readFileSync(a);!c&&a!=qc.resolve(a)&&(a=path.join(__dirname,"..","src",a),c=pc.readFileSync(a));c&&!b&&(c=c.toString());return c};e.readBinary=function(a){return e.read(a,s)};e.load=function(a){Hb(read(a))};e.arguments=process.argv.slice(2);module.exports=e}else wc?(e.print||(e.print=print),"undefined"!=typeof printErr&&(e.printErr=printErr),e.read="undefined"!=typeof read?read:function(){l("no read() available (jsc?)")},
-e.readBinary=function(a){return read(a,"binary")},"undefined"!=typeof scriptArgs?e.arguments=scriptArgs:"undefined"!=typeof arguments&&(e.arguments=arguments),this.Module=e,eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined")):Ya||Bb?(e.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,G);b.send(v);return b.responseText},"undefined"!=typeof arguments&&(e.arguments=arguments),"undefined"!==typeof console?(e.print||(e.print=function(a){console.log(a)}),
-e.printErr||(e.printErr=function(a){console.log(a)})):e.print||(e.print=H()),Ya?this.Module=e:e.load=importScripts):l("Unknown runtime environment. Where are we?");"undefined"==!e.load&&e.read&&(e.load=function(a){Hb(e.read(a))});e.print||(e.print=H());e.printErr||(e.printErr=e.print);e.arguments||(e.arguments=[]);e.print=e.print;e.Ca=e.printErr;e.preRun=[];e.postRun=[];for(ka in Xa)Xa.hasOwnProperty(ka)&&(e[ka]=Xa[ka]);var t={gd:function(){return aa},fd:function(a){aa=a},wi:function(a,b){b=b||4;
-return 1==b?a:isNumber(a)&&isNumber(b)?Math.ceil(a/b)*b:isNumber(b)&&isPowerOfTwo(b)?"((("+a+")+"+(b-1)+")&"+-b+")":"Math.ceil(("+a+")/"+b+")*"+b},Hf:function(a){return a in t.Oe||a in t.Me},If:function(a){return"*"==a[a.length-1]},Kf:function(a){return isPointerType(a)?G:isArrayType(a)||/<?\{ ?[^}]* ?\}>?/.test(a)?s:"%"==a[0]},Oe:{i1:0,i8:0,i16:0,i32:0,i64:0},Me:{"float":0,"double":0},Ti:function(a,b){return(a|0|b|0)+4294967296*(Math.round(a/4294967296)|Math.round(b/4294967296))},ki:function(a,b){return((a|
-0)&(b|0))+4294967296*(Math.round(a/4294967296)&Math.round(b/4294967296))},tj:function(a,b){return((a|0)^(b|0))+4294967296*(Math.round(a/4294967296)^Math.round(b/4294967296))},Pc:function(a){switch(a){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:return"*"===a[a.length-1]?t.vc:"i"===a[0]?(a=parseInt(a.substr(1)),K(0===a%8),a/8):0}},Xd:function(a){return Math.max(t.Pc(a),t.vc)},nf:function(a,b){var c={};
-return b?a.filter(function(a){return c[a[b]]?G:c[a[b]]=s}):a.filter(function(a){return c[a]?G:c[a]=s})},set:function(){for(var a="object"===typeof arguments[0]?arguments[0]:arguments,b={},c=0;c<a.length;c++)b[a[c]]=0;return b},Wh:8,ya:function(a,b,c){return c||!c&&("i64"==a||"double"==a)?8:!a?Math.min(b,8):Math.min(b||(a?t.Xd(a):0),t.vc)},We:function(a){a.ca=0;a.Wa=0;var b=[],c=-1,f=0;a.Ud=a.Kc.map(function(d){f++;var e,g;t.Hf(d)||t.If(d)?(e=t.Pc(d),g=t.ya(d,e)):t.Kf(d)?"0"===d[1]?(e=0,g=Types.types[d]?
-t.ya(v,Types.types[d].Wa):a.Wa||QUANTUM_SIZE):(e=Types.types[d].ca,g=t.ya(v,Types.types[d].Wa)):"b"==d[0]?(e=d.substr(1)|0,g=1):"<"===d[0]?e=g=Types.types[d].ca:"i"===d[0]?(e=g=parseInt(d.substr(1))/8,K(0===e%1,"cannot handle non-byte-size field "+d)):K(G,"invalid type for calculateStructAlignment");a.Ui&&(g=1);a.Wa=Math.max(a.Wa,g);d=t.rb(a.ca,g);a.ca=d+e;0<=c&&b.push(d-c);return c=d});a.ke&&"["===a.ke[0]&&(a.ca=parseInt(a.ke.substr(1))*a.ca/2);a.ca=t.rb(a.ca,a.Wa);0==b.length?a.Td=a.ca:1==t.nf(b).length&&
-(a.Td=b[0]);a.Qi=1!=a.Td;return a.Ud},xf:function(a,b,c){var f,d;if(b){c=c||0;f=("undefined"===typeof Types?t.lj:Types.types)[b];if(!f)return v;if(f.Kc.length!=a.length)return printErr("Number of named fields must match the type for "+b+": possibly duplicate struct names. Cannot return structInfo"),v;d=f.Ud}else f={Kc:a.map(function(a){return a[0]})},d=t.We(f);var e={ai:f.ca};b?a.forEach(function(a,b){if("string"===typeof a)e[a]=d[b]+c;else{var n,r;for(r in a)n=r;e[n]=t.xf(a[n],f.Kc[b],d[b])}}):a.forEach(function(a,
-b){e[a[1]]=d[b]});return e},Wb:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),e["dynCall_"+a].apply(v,c)):e["dynCall_"+a].call(v,b)},$b:[],ci:function(a){for(var b=0;b<t.$b.length;b++)if(!t.$b[b])return t.$b[b]=a,2*(1+b);l("Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.")},$i:function(a){t.$b[(a-2)/2]=v},zi:function(a,b){t.Bc||(t.Bc={});var c=t.Bc[a];if(c)return c;for(var c=[],f=0;f<b;f++)c.push(String.fromCharCode(36)+
-f);a=Y(a);'"'===a[0]&&(a.indexOf('"',1)===a.length-1?a=a.substr(1,a.length-2):ga("invalid EM_ASM input |"+a+"|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)"));return t.Bc[a]=eval("(function("+c.join(",")+"){ "+a+" })")},rc:function(a){t.rc.cd||(t.rc.cd={});t.rc.cd[a]||(t.rc.cd[a]=1,e.Ca(a))},Nc:{},Bi:function(a,b){K(b);t.Nc[a]||(t.Nc[a]=function(){return t.Wb(b,a,arguments)});return t.Nc[a]},pb:function(){var a=[],b=0;this.kc=function(c){c&=255;if(0==
-a.length){if(0==(c&128))return String.fromCharCode(c);a.push(c);b=192==(c&224)?1:224==(c&240)?2:3;return""}if(b&&(a.push(c),b--,0<b))return"";var c=a[0],f=a[1],d=a[2],e=a[3];2==a.length?c=String.fromCharCode((c&31)<<6|f&63):3==a.length?c=String.fromCharCode((c&15)<<12|(f&63)<<6|d&63):(c=(c&7)<<18|(f&63)<<12|(d&63)<<6|e&63,c=String.fromCharCode(Math.floor((c-65536)/1024)+55296,(c-65536)%1024+56320));a.length=0;return c};this.oe=function(a){for(var a=unescape(encodeURIComponent(a)),b=[],d=0;d<a.length;d++)b.push(a.charCodeAt(d));
-return b}},Ai:function(){l("You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work")},ed:function(a){var b=aa;aa=aa+a|0;aa=aa+7&-8;return b},we:function(a){var b=ra;ra=ra+a|0;ra=ra+7&-8;return b},Xb:function(a){var b=$;$=$+a|0;$=$+7&-8;if($>=ba){for(;ba<=$;)ba=2*ba+4095&-4096;K(ba<=Math.pow(2,30));var a=x,c=new ArrayBuffer(ba);e.HEAP8=x=new Int8Array(c);e.HEAP16=Z=new Int16Array(c);e.HEAP32=u=new Int32Array(c);e.HEAPU8=N=new Uint8Array(c);
-e.HEAPU16=Za=new Uint16Array(c);e.HEAPU32=$a=new Uint32Array(c);e.HEAPF32=na=new Float32Array(c);e.HEAPF64=ha=new Float64Array(c);x.set(a);rc(x,Z,u,N,Za,$a,na,ha)}return b},rb:function(a,b){return Math.ceil(a/(b?b:8))*(b?b:8)},Nf:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},Lb:8,vc:4,$h:0};e.Runtime=t;var qa=G,V,sa;e.ccall=function(a,b,c,f){return Jb(Ib(a),b,c,f)};e.cwrap=E;e.setValue=Ja;e.getValue=ta;var oa=0,Xb=1,Q=2,ua=4;e.ALLOC_NORMAL=oa;e.ALLOC_STACK=Xb;e.ALLOC_STATIC=
-Q;e.ALLOC_DYNAMIC=3;e.ALLOC_NONE=ua;e.allocate=I;e.Pointer_stringify=Y;e.UTF16ToString=function(a){for(var b=0,c="";;){var f=Z[a+2*b>>1];if(0==f)return c;++b;c+=String.fromCharCode(f)}};e.stringToUTF16=function(a,b){for(var c=0;c<a.length;++c)Z[b+2*c>>1]=a.charCodeAt(c);Z[b+2*a.length>>1]=0};e.UTF32ToString=function(a){for(var b=0,c="";;){var f=u[a+4*b>>2];if(0==f)return c;++b;65536<=f?(f-=65536,c+=String.fromCharCode(55296|f>>10,56320|f&1023)):c+=String.fromCharCode(f)}};e.stringToUTF32=function(a,
-b){for(var c=0,f=0;f<a.length;++f){var d=a.charCodeAt(f);if(55296<=d&&57343>=d)var e=a.charCodeAt(++f),d=65536+((d&1023)<<10)|e&1023;u[b+4*c>>2]=d;++c}u[b+4*c>>2]=0};for(var x,N,Z,Za,u,$a,na,ha,sc=0,ra=0,tc=0,aa=0,Cb=0,uc=0,$=0,xc=e.TOTAL_STACK||5242880,ba=e.TOTAL_MEMORY||16777216,fa=4096;fa<ba||fa<2*xc;)fa=16777216>fa?2*fa:fa+16777216;fa!==ba&&(e.Ca("increasing TOTAL_MEMORY to "+fa+" to be more reasonable"),ba=fa);K("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&
-!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var da=new ArrayBuffer(ba);x=new Int8Array(da);Z=new Int16Array(da);u=new Int32Array(da);N=new Uint8Array(da);Za=new Uint16Array(da);$a=new Uint32Array(da);na=new Float32Array(da);ha=new Float64Array(da);u[0]=255;K(255===N[0]&&0===N[3],"Typed arrays 2 must be run on a little-endian system");e.HEAP=p;e.HEAP8=x;e.HEAP16=Z;e.HEAP32=u;e.HEAPU8=N;e.HEAPU16=Za;e.HEAPU32=$a;e.HEAPF32=na;e.HEAPF64=ha;var hb=[],pa=[],zb=[],Ga=
-[],Ob=[],Va=G;e.addOnPreRun=e.hi=Mb;e.addOnInit=e.ei=function(a){pa.unshift(a)};e.addOnPreMain=e.gi=function(a){zb.unshift(a)};e.addOnExit=e.di=function(a){Ga.unshift(a)};e.addOnPostRun=e.fi=Nb;e.intArrayFromString=X;e.intArrayToString=function(a){for(var b=[],c=0;c<a.length;c++){var f=a[c];255<f&&(f&=255);b.push(String.fromCharCode(f))}return b.join("")};e.writeStringToMemory=function(a,b,c){a=X(a,c);for(c=0;c<a.length;)x[b+c|0]=a[c],c+=1};e.writeArrayToMemory=eb;e.writeAsciiToMemory=Pb;Math.imul=
-function(a,b){return a*b|0};Math.Ei=Math.imul;var fb=Math.abs,Lb=Math.ceil,Kb=Math.floor,Ka=Math.min,ia=0,kb=v,Ca=v;e.addRunDependency=Rb;e.removeRunDependency=jb;e.preloadedImages={};e.preloadedAudios={};var sc=8,ra=sc+51944,Aa;Aa=Aa=I(1,"i32*",Q);var Ha;Ha=Ha=I(1,"i32*",Q);var Ia;Ia=Ia=I(1,"i32*",Q);pa.push({qa:function(){yc()}},{qa:function(){zc()}});var Db;Db=Db=I(1,"i32*",Q);var ob;ob=I([0,0,0,0,160,105,0,0,250,0,0,0,172,0,0,0,70,0,0,0,178,0,0,0,8,0,0,0,10,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,0,0,
-0],"i8",Q);var nb;nb=I([0,0,0,0,176,105,0,0,250,0,0,0,38,1,0,0,70,0,0,0,178,0,0,0,8,0,0,0,28,0,0,0,8,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],"i8",Q);var Eb;Eb=Eb=I([I([1,0,0,0,0,0,0],"i8",Q)+8,0],"i32",Q);I([29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,35,0,0,0,35,0,0,0,36,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,26,0,0,0,21,0,0,0,17,0,0,0,13,0,0,0,9,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,254,255,255,255,251,255,255,255,247,255,255,255,243,255,255,255,239,255,255,255,235,
-255,255,255,230,255,255,255,224,255,255,255,230,255,255,255,235,255,255,255,239,255,255,255,243,255,255,255,247,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,5,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,21,0,0,0,26,0,0,0,32,0,0,0,0,0,0,0,95,112,137,0,255,9,47,15,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,111,118,101,114,115,99,97,110,95,97,112,112,114,111,112,114,105,97,116,101,95,102,108,97,103,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,74,117,108,0,0,0,
-0,0,118,112,115,95,109,97,120,95,115,117,98,95,108,97,121,101,114,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,80,80,83,32,37,100,32,104,97,115,32,110,111,116,32,98,101,101,110,32,114,101,97,100,10,0,0,0,0,0,0,0,74,117,110,0,0,0,0,0,52,58,50,58,48,0,0,0,65,112,114,0,0,0,0,0,77,97,114,0,0,0,0,0,70,101,98,0,0,0,0,0,99,111,110,116,101,120,116,32,62,61,32,48,32,38,38,32,99,111,110,116,101,120,116,32,60,61,32,50,0,0,0,0,108,111,103,50,95,115,97,111,95,111,102,
-102,115,101,116,95,115,99,97,108,101,95,99,104,114,111,109,97,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,99,97,110,110,111,116,32,115,116,97,114,116,32,100,101,99,111,100,105,110,103,32,116,104,114,101,97,100,115,0,0,0,74,97,110,0,0,0,0,0,102,97,108,115,101,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,42,114,101,
-102,99,110,116,62,49,0,0,0,0,0,0,0,68,101,99,101,109,98,101,114,0,0,0,0,0,0,0,0,105,100,120,60,105,110,116,114,97,80,114,101,100,77,111,100,101,67,46,100,97,116,97,95,115,105,122,101,0,0,0,0,99,111,109,112,111,110,101,110,116,0,0,0,0,0,0,0,78,111,118,101,109,98,101,114,0,0,0,0,0,0,0,0,121,60,115,112,115,46,80,105,99,72,101,105,103,104,116,73,110,77,105,110,80,85,115,0,79,99,116,111,98,101,114,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,
-97,114,100,32,105,110,112,117,116,0,0,0,120,60,115,112,115,46,80,105,99,87,105,100,116,104,73,110,77,105,110,80,85,115,0,0,83,101,112,116,101,109,98,101,114,0,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,111,118,101,114,115,99,97,110,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,65,117,103,117,115,116,0,0,46,46,47,108,105,98,100,101,50,54,
-53,47,105,109,97,103,101,46,104,0,0,0,0,0,118,112,115,95,109,97,120,95,108,97,121,101,114,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,104,100,114,45,62,110,117,109,95,114,101,102,95,105,100,120,95,108,49,95,97,99,116,105,118,101,32,60,61,32,49,54,0,0,0,0,0,0,0,0,74,117,108,121,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,74,117,110,101,0,0,0,
-0,109,111,110,111,99,104,114,111,109,101,0,0,0,0,0,0,77,97,121,0,0,0,0,0,65,112,114,105,108,0,0,0,115,108,105,99,101,45,115,101,103,109,101,110,116,45,37,100,59,37,100,0,0,0,0,0,108,111,103,50,95,115,97,111,95,111,102,102,115,101,116,95,115,99,97,108,101,95,108,117,109,97,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,68,80,66,47,111,117,116,112,117,116,32,113,117,101,117,101,32,102,117,108,108,0,0,0,69,82,82,58,32,0,0,0,77,97,114,99,104,0,0,0,99,116,98,45,114,111,119,45,37,100,0,
-0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,70,101,98,114,117,97,114,121,0,0,0,0,0,0,0,0,37,112,32,97,115,115,105,103,110,32,61,32,37,112,10,0,98,97,115,105,99,95,115,116,114,105,110,103,0,0,0,0,33,40,116,114,97,102,111,68,101,112,116,104,61,61,48,32,38,38,32,108,111,103,50,84,114,97,102,111,83,105,122,101,61,61,50,41,0,0,0,0,74,97,110,117,97,114,121,0,80,114,101,100,77,111,100,101,32,61,61,32,99,
-117,80,114,101,100,77,111,100,101,0,0,99,98,102,95,108,117,109,97,32,33,61,32,45,49,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,99,98,102,95,99,114,32,33,61,32,45,49,0,0,0,0,108,101,110,103,116,104,32,62,61,32,48,0,0,0,0,0,99,97,98,97,99,95,98,121,112,97,115,115,95,97,108,105,103,110,109,101,110,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,58,32,37,100,10,0,0,0,115,97,109,112,108,101,32,97,115,112,101,99,116,32,114,97,116,105,111,32,32,32,32,32,32,32,32,58,32,37,100,58,37,100,10,
-0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,99,98,102,95,99,98,32,33,61,32,45,49,0,0,0,0,112,101,114,115,105,115,116,101,110,116,95,114,105,99,101,95,97,100,97,112,116,97,116,105,111,110,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,118,105,100,101,111,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,104,100,114,45,62,110,117,109,95,114,101,102,95,105,100,120,95,108,48,95,97,99,116,
-105,118,101,32,60,61,32,49,54,0,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,99,116,120,73,100,120,76,111,111,107,117,112,91,108,111,103,50,119,45,50,93,91,99,73,100,120,93,91,115,99,97,110,73,100,120,93,91,112,114,101,118,67,115,98,102,93,91,120,67,43,40,121,67,60,60,108,111,103,50,119,41,93,32,61,61,32,99,116,120,73,100,120,73,110,99,0,0,0,0,0,104,105,103,104,95,112,114,101,99,105,115,105,111,110,95,111,102,102,115,101,116,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,58,
-32,37,100,10,0,0,0,105,110,105,116,84,121,112,101,32,62,61,32,48,32,38,38,32,105,110,105,116,84,121,112,101,32,60,61,32,50,0,0,100,101,98,108,111,99,107,45,37,100,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,99,104,114,111,109,97,95,102,111,114,109,97,116,95,105,100,99,32,32,32,32,32,32,32,58,32,37,100,32,40,37,115,41,10,0,0,0,0,0,0,116,104,114,101,97,100,95,99,111,110,116,101,120,116,115,61,61,78,85,76,76,0,0,0,105,110,116,114,97,95,115,109,111,111,116,104,105,110,103,95,100,105,115,97,98,108,
-101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,101,110,116,114,121,32,112,111,105,110,116,32,91,37,105,93,32,58,32,37,100,10,0,0,101,120,116,101,110,100,101,100,95,112,114,101,99,105,115,105,111,110,95,112,114,111,99,101,115,115,105,110,103,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,111,102,102,115,101,116,95,108,101,110,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,
-37,100,10,0,0,0,0,0,0,0,0,99,114,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,91,37,100,93,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,101,120,112,108,105,99,105,116,95,114,100,112,99,109,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,99,111,100,101,100,32,112,97,114,97,109,101,116,101,114,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,110,117,
-109,95,101,110,116,114,121,95,112,111,105,110,116,95,111,102,102,115,101,116,115,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,110,117,109,77,86,80,67,97,110,100,76,88,61,61,50,0,105,109,112,108,105,99,105,116,95,114,100,112,99,109,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,110,84,104,114,101,97,100,115,82,117,110,110,105,110,103,32,62,61,32,48,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,99,111,110,116,101,120,116,109,111,100,101,108,
-46,99,99,0,115,108,105,99,101,95,108,111,111,112,95,102,105,108,116,101,114,95,97,99,114,111,115,115,95,115,108,105,99,101,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,99,111,110,116,101,120,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,58,32,37,100,10,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,115,108,105,99,101,95,116,99,95,111,102,102,115,101,116,32,32,32,32,58,32,37,100,10,0,0,0,0,
-0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,114,111,116,97,116,105,111,110,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,115,108,105,99,101,95,98,101,116,97,95,111,102,102,115,101,116,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,83,80,83,45,114,97,110,103,101,45,101,120,116,101,110,115,105,111,110,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,
-0,0,0,0,0,114,101,102,60,55,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,40,102,114,111,109,32,112,112,115,41,0,0,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,86,85,73,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,40,111,118,101,114,114,105,100,101,41,0,0,0,0,0,0,115,99,97,108,105,110,103,95,108,105,115,116,95,112,114,101,100,95,109,97,116,114,105,120,95,105,100,95,100,101,108,116,97,61,61,49,0,0,0,0,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,32,86,80,83,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,105,100,120,62,61,48,0,0,115,108,105,99,101,95,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,100,105,115,97,98,108,101,100,95,102,108,
-97,103,32,58,32,37,100,32,37,115,10,0,0,48,0,0,0,0,0,0,0,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,111,118,101,114,114,105,100,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,115,101,113,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,58,32,37,100,10,0,0,0,114,101,102,80,105,99,81,48,61,61,114,101,102,80,105,99,81,49,0,0,0,0,0,0,83,117,98,72,101,105,103,
-104,116,67,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,115,108,105,99,101,95,99,114,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,58,32,37,100,10,0,0,0,0,83,117,98,87,105,100,116,104,67,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,115,
-108,105,99,101,95,99,98,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,58,32,37,100,10,0,0,0,0,99,98,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,91,37,100,93,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,80,105,99,72,101,105,103,104,116,73,110,67,116,98,115,89,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,115,108,105,
-99,101,95,113,112,95,100,101,108,116,97,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,114,101,102,73,100,120,66,62,61,48,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,80,105,99,87,105,100,116,104,73,110,67,116,98,115,89,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,101,110,100,32,37,32,50,32,61,61,32,48,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,114,101,102,99,110,116,
-0,0,102,105,118,101,95,109,105,110,117,115,95,109,97,120,95,110,117,109,95,109,101,114,103,101,95,99,97,110,100,32,32,58,32,37,100,10,0,0,0,0,77,97,120,84,66,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,67,104,114,111,109,97,79,102,102,115,101,116,95,76,37,100,91,37,100,93,91,37,100,93,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,77,105,110,84,66,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,67,104,114,111,109,97,87,101,105,
-103,104,116,95,76,37,100,91,37,100,93,91,37,100,93,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,77,97,120,67,98,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,108,117,109,97,95,111,102,102,115,101,116,95,108,37,100,91,37,100,93,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,105,110,67,98,83,105,122,101,89,32,32,32,58,32,37,100,10,0,0,0,0,0,0,76,117,109,97,87,101,105,103,104,116,95,76,37,100,91,37,100,93,32,32,32,32,
-32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,76,111,103,50,77,97,120,84,114,97,110,115,102,111,114,109,83,107,105,112,83,105,122,101,32,32,32,32,40,82,69,120,116,41,32,58,32,37,100,10,0,0,0,0,0,0,0,0,67,116,98,83,105,122,101,89,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,67,104,114,111,109,97,76,111,103,50,87,101,105,103,104,116,68,101,110,111,109,32,32,32,32,32,32,32,32,32,32,58,32,37,
-100,10,0,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,99,116,120,45,62,100,112,98,46,104,97,115,95,102,114,101,101,95,100,112,98,95,112,105,99,116,117,114,101,40,116,114,117,101,41,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,76,111,103,50,77,105,110,67,117,67,104,114,111,109,97,81,112,79,102,102,115,101,116,83,105,122,101,32,40,82,69,120,116,41,32,58,32,37,100,10,0,0,0,0,0,0,0,0,115,112,115,95,101,120,
-116,101,110,115,105,111,110,95,54,98,105,116,115,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,108,117,109,97,95,108,111,103,50,95,119,101,105,103,104,116,95,100,101,110,111,109,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,115,112,115,95,116,101,109,112,111,114,97,108,
-95,105,100,95,110,101,115,116,105,110,103,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,76,111,103,50,77,105,110,67,117,81,112,68,101,108,116,97,83,105,122,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,115,112,115,95,109,117,108,116,105,108,97,121,101,114,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,99,111,108,108,111,99,97,116,101,100,95,114,101,102,95,105,100,120,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,112,112,115,
-95,101,120,116,101,110,115,105,111,110,95,54,98,105,116,115,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,115,112,115,95,114,97,110,103,101,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,99,111,108,108,111,99,97,116,101,100,95,102,114,111,109,95,108,48,95,102,108,97,103,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,80,77,0,0,0,0,0,0,112,112,115,95,109,117,108,116,105,108,97,121,101,114,95,101,120,116,101,110,115,105,111,110,95,102,
-108,97,103,32,58,32,37,100,10,0,0,0,0,0,99,104,114,111,109,97,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,95,108,101,110,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,115,112,115,95,101,120,116,101,110,115,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,0,0,99,97,98,97,99,95,105,110,105,116,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,67,84,66,32,111,117,116,115,105,100,101,
-32,111,102,32,105,109,97,103,101,32,97,114,101,97,0,0,0,0,0,0,0,65,77,0,0,0,0,0,0,82,73,100,120,62,61,48,0,112,112,115,95,114,97,110,103,101,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,114,101,102,80,105,99,76,105,115,116,62,61,48,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,118,117,105,95,112,97,114,97,109,101,116,101,114,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,32,32,32,32,58,32,
-37,100,10,0,0,0,0,0,0,0,0,109,118,100,95,108,49,95,122,101,114,111,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,102,105,114,115,116,32,37,32,50,32,61,61,32,48,0,0,112,112,115,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,37,112,32,100,101,99,111,117,112,108,101,32,40,37,112,41,10,0,0,0,0,0,0,0,115,116,114,111,110,103,95,105,110,116,114,97,95,115,109,111,111,116,104,105,110,103,95,101,
-110,97,98,108,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,114,101,102,95,112,105,99,95,108,105,115,116,95,109,111,100,105,102,105,99,97,116,105,111,110,95,102,108,97,103,95,108,49,32,58,32,37,100,10,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,115,108,105,99,101,95,115,101,103,109,101,110,116,95,104,101,97,100,101,114,95,101,120,116,101,110,115,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,115,112,115,95,116,101,109,112,111,114,97,108,95,109,118,
-112,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,37,100,58,32,37,100,10,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,110,117,109,95,101,120,116,114,97,95,115,108,105,99,101,95,104,101,97,100,101,114,95,98,105,116,115,32,32,32,32,58,32,37,100,10,0,0,0,0,40,117,110,107,110,111,119,110,41,0,0,0,0,0,0,0,108,116,95,114,101,102,95,112,105,99,95,112,111,99,95,108,115,98,95,115,112,115,91,37,100,93,32,58,32,37,100,32,32,32,40,117,115,101,100,95,
-98,121,95,99,117,114,114,95,112,105,99,95,108,116,95,115,112,115,95,102,108,97,103,61,37,100,41,10,0,0,0,0,114,101,102,95,112,105,99,95,108,105,115,116,95,109,111,100,105,102,105,99,97,116,105,111,110,95,102,108,97,103,95,108,48,32,58,32,37,100,10,0,108,111,103,50,95,112,97,114,97,108,108,101,108,95,109,101,114,103,101,95,108,101,118,101,108,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,70,111,114,109,97,116,82,97,110,103,101,69,120,116,101,110,115,105,111,110,115,0,0,0,110,117,109,95,108,111,110,103,
-95,116,101,114,109,95,114,101,102,95,112,105,99,115,95,115,112,115,32,58,32,37,100,10,0,0,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,49,95,97,99,116,105,118,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,32,37,115,10,0,108,105,115,116,115,95,109,111,100,105,102,105,99,97,116,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,0,0,0,77,65,67,0,0,0,0,0,99,104,97,110,110,101,108,62,61,48,32,38,38,32,99,104,97,110,110,101,108,32,60,61,32,50,0,0,0,0,0,0,77,
-97,105,110,83,116,105,108,108,80,105,99,116,117,114,101,0,0,0,0,0,0,0,0,108,111,110,103,95,116,101,114,109,95,114,101,102,95,112,105,99,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,40,102,114,111,109,32,80,80,83,41,0,0,0,0,0,0,112,105,99,95,115,99,97,108,105,110,103,95,108,105,115,116,95,100,97,116,97,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,
-110,95,117,110,105,116,115,0,0,0,0,110,97,108,0,0,0,0,0,45,45,45,45,45,45,45,45,45,45,32,80,80,83,32,114,97,110,103,101,45,101,120,116,101,110,115,105,111,110,32,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,100,101,50,54,53,46,99,99,0,0,0,0,0,0,0,0,77,97,105,110,49,48,0,0,114,101,102,95,112,105,99,95,115,101,116,91,32,37,50,100,32,93,58,32,0,0,0,0,116,99,95,111,102,102,115,101,116,58,32,32,32,32,37,100,10,0,0,0,0,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,115,
-112,115,95,109,97,120,95,115,117,98,95,108,97,121,101,114,115,32,32,32,32,32,32,58,32,37,100,10,0,0,0,102,97,108,115,101,0,0,0,77,97,105,110,0,0,0,0,110,117,109,95,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,115,32,58,32,37,100,10,0,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,48,95,97,99,116,105,118,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,32,37,115,10,0,98,101,116,97,95,111,102,102,115,101,116,58,32,32,37,100,10,0,0,0,0,0,0,0,117,110,
-107,110,111,119,110,32,101,114,114,111,114,0,0,0,112,99,109,95,108,111,111,112,95,102,105,108,116,101,114,95,100,105,115,97,98,108,101,95,102,108,97,103,32,32,58,32,37,100,10,0,0,0,0,0,112,101,110,100,105,110,103,95,105,110,112,117,116,95,78,65,76,32,61,61,32,78,85,76,76,0,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,97,99,116,105,118,101,95,111,118,101,114,114,105,100,101,95,102,108,97,103,32,58,32,37,100,10,0,0,115,97,111,45,37,100,0,0,112,105,99,95,100,105,115,97,98,108,101,95,100,
-101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,102,108,97,103,58,32,37,100,10,0,99,111,108,108,111,99,97,116,101,100,32,109,111,116,105,111,110,45,118,101,99,116,111,114,32,105,115,32,111,117,116,115,105,100,101,32,105,109,97,103,101,32,97,114,101,97,0,0,32,32,80,114,111,102,105,108,101,47,84,105,101,114,47,76,101,118,101,108,32,91,76,97,121,101,114,32,37,100,93,10,0,0,0,0,0,0,0,0,100,105,102,102,95,99,117,95,99,104,114,111,109,97,95,113,112,95,111,102,102,115,101,116,95,100,101,
-112,116,104,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,108,111,103,50,95,100,105,102,102,95,109,97,120,95,109,105,110,95,112,99,109,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,0,0,0,115,108,105,99,101,95,115,97,111,95,99,104,114,111,109,97,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,111,118,101,114,114,105,100,101,95,101,110,97,
-98,108,101,100,95,102,108,97,103,58,32,37,100,10,0,0,0,0,105,109,97,103,101,32,99,104,101,99,107,115,117,109,32,109,105,115,109,97,116,99,104,0,83,80,83,32,104,101,97,100,101,114,32,109,105,115,115,105,110,103,44,32,99,97,110,110,111,116,32,100,101,99,111,100,101,32,83,69,73,0,0,0,32,32,37,115,95,108,101,118,101,108,95,105,100,99,32,32,32,32,32,32,32,32,32,58,32,37,100,32,40,37,52,46,50,102,41,10,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,
-95,105,110,95,117,110,105,116,115,0,0,0,0,108,111,103,50,95,109,105,110,95,112,99,109,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,0,0,0,0,115,108,105,99,101,95,115,97,111,95,108,117,109,97,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,0,0,100,101,98,108,111,99,107,105,110,103,95,102,105,108,116,101,114,95,99,111,110,116,114,111,108,95,112,114,101,115,101,
-110,116,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,102,97,108,115,101,0,0,0,99,97,110,110,111,116,32,97,112,112,108,121,32,83,65,79,32,98,101,99,97,117,115,101,32,119,101,32,114,97,110,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,32,32,108,111,103,50,95,109,97,120,95,109,118,95,108,101,110,103,116,104,95,118,101,114,116,105,99,97,108,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,102,114,97,109,101,95,111,110,108,121,95,99,111,110,115,116,114,97,105,110,116,
-95,102,108,97,103,32,58,32,37,100,10,0,37,112,32,114,101,108,101,97,115,101,32,37,112,10,0,0,112,99,109,95,115,97,109,112,108,101,95,98,105,116,95,100,101,112,116,104,95,99,104,114,111,109,97,32,32,32,58,32,37,100,10,0,0,0,0,0,115,108,105,99,101,95,116,101,109,112,111,114,97,108,95,109,118,112,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,112,112,115,95,108,111,111,112,95,102,105,108,116,101,114,95,97,99,114,111,115,115,95,115,108,105,99,101,115,95,101,110,97,98,108,101,
-100,95,102,108,97,103,58,32,37,100,10,0,110,111,110,45,101,120,105,115,116,105,110,103,32,108,111,110,103,45,116,101,114,109,32,114,101,102,101,114,101,110,99,101,32,99,97,110,100,105,100,97,116,101,32,115,112,101,99,105,102,105,101,100,32,105,110,32,115,108,105,99,101,32,104,101,97,100,101,114,0,0,0,0,32,32,108,111,103,50,95,109,97,120,95,109,118,95,108,101,110,103,116,104,95,104,111,114,105,122,111,110,116,97,108,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,110,111,110,95,112,
-97,99,107,101,100,95,99,111,110,115,116,114,97,105,110,116,95,102,108,97,103,32,58,32,37,100,10,0,112,99,109,95,115,97,109,112,108,101,95,98,105,116,95,100,101,112,116,104,95,108,117,109,97,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,110,117,109,95,108,111,110,103,95,116,101,114,109,95,112,105,99,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,108,111,111,112,95,102,105,108,116,101,114,95,97,99,114,111,115,115,95,116,105,108,101,115,95,101,110,97,98,108,101,
-100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,110,117,109,98,101,114,32,111,102,32,116,104,114,101,97,100,115,32,108,105,109,105,116,101,100,32,116,111,32,109,97,120,105,109,117,109,32,97,109,111,117,110,116,0,0,0,0,0,32,32,109,97,120,95,98,105,116,115,95,112,101,114,95,109,105,110,95,99,117,95,100,101,110,111,109,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,105,110,116,101,114,108,97,99,101,100,95,115,111,117,114,99,101,95,102,108,97,103,32,58,32,37,100,10,0,
-0,0,0,0,112,99,109,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,110,117,109,95,108,111,110,103,95,116,101,114,109,95,115,112,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,116,105,108,101,32,114,111,119,32,98,111,117,110,100,97,114,105,101,115,58,32,0,0,0,100,101,112,101,110,100,101,110,116,32,115,108,105,99,101,32,119,105,116,104,32,97,100,100,114,101,115,115,
-32,48,0,0,32,32,109,97,120,95,98,121,116,101,115,95,112,101,114,95,112,105,99,95,100,101,110,111,109,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,32,32,37,115,95,112,114,111,103,114,101,115,115,105,118,101,95,115,111,117,114,99,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,115,97,109,112,108,101,95,97,100,97,112,116,105,118,101,95,111,102,102,115,101,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,115,108,105,99,101,32,115,101,103,109,
-101,110,116,32,97,100,100,114,101,115,115,32,105,110,118,97,108,105,100,0,0,0,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,95,105,100,120,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,42,10,0,0,0,0,0,0,83,69,67,65,77,0,0,0,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,49,46,48,46,50,0,0,0,32,32,109,105,110,95,115,112,97,116,105,97,108,95,115,101,103,109,101,110,116,97,116,105,111,110,95,105,100,99,32,32,32,
-32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,42,10,0,0,0,0,0,0,97,109,112,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,102,97,108,115,101,0,0,0,114,101,102,95,112,105,99,95,115,101,116,91,32,37,50,100,32,93,58,32,0,0,0,0,42,37,100,32,0,0,0,0,114,100,112,99,109,77,111,100,101,61,61,48,0,0,0,0,105,109,103,45,62,110,117,109,95,116,104,114,101,97,100,115,95,97,99,116,105,118,101,40,41,32,61,61,32,48,0,0,105,110,118,97,
-108,105,100,32,99,104,114,111,109,97,32,102,111,114,109,97,116,32,105,110,32,83,80,83,32,104,101,97,100,101,114,0,0,0,0,0,32,32,114,101,115,116,114,105,99,116,101,100,95,114,101,102,95,112,105,99,95,108,105,115,116,115,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,42,37,100,0,0,0,0,0,115,104,100,114,45,62,115,108,105,99,101,95,116,121,112,101,32,61,61,32,83,76,73,67,69,95,84,89,80,69,95,66,0,0,0,0,0,0,0,0,115,99,97,108,105,110,103,32,108,105,115,116,32,108,111,103,103,105,110,103,
-32,111,117,116,112,117,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,0,0,0,0,109,97,120,105,109,117,109,32,110,117,109,98,101,114,32,111,102,32,114,101,102,101,114,101,110,99,101,32,112,105,99,116,117,114,101,115,32,101,120,99,101,101,100,101,100,0,0,0,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,95,115,112,115,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,105,108,101,32,99,111,108,117,109,110,32,98,111,117,110,100,
-97,114,105,101,115,58,32,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,102,97,108,115,101,0,0,0,118,105,100,101,111,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,58,32,37,100,10,0,0,0,32,32,109,111,116,105,111,110,95,118,101,99,116,111,114,115,95,111,118,101,114,95,
-112,105,99,95,98,111,117,110,100,97,114,105,101,115,95,102,108,97,103,32,58,32,37,100,10,0,42,44,0,0,0,0,0,0,115,112,115,95,115,99,97,108,105,110,103,95,108,105,115,116,95,100,97,116,97,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,115,108,105,99,101,95,112,105,99,95,111,114,100,101,114,95,99,110,116,95,108,115,98,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,117,110,105,102,111,114,109,95,115,112,97,99,105,110,103,95,102,108,97,103,58,
-32,37,100,10,0,0,0,0,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,101,110,100,95,111,102,95,115,117,98,95,115,116,114,101,97,109,95,111,110,101,95,98,105,116,32,110,111,116,32,115,101,116,32,116,111,32,49,32,119,104,101,110,32,105,116,32,115,104,111,117,108,100,32,98,101,0,0,0,0,0,0,0,0,32,32,116,105,108,101,115,95,102,105,120,101,100,95,115,116,114,117,99,116,117,114,101,95,102,108,97,103,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,
-0,32,32,37,115,95,112,114,111,102,105,108,101,95,99,111,109,112,97,116,105,98,105,108,105,116,121,95,102,108,97,103,115,58,32,0,0,0,0,0,0,115,99,97,108,105,110,103,95,108,105,115,116,95,101,110,97,98,108,101,95,102,108,97,103,32,58,32,37,100,10,0,0,99,111,108,111,117,114,95,112,108,97,110,101,95,105,100,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,
-110,95,117,110,105,116,115,0,0,0,110,117,109,95,116,105,108,101,95,114,111,119,115,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,106,62,61,48,32,38,38,32,106,32,60,32,77,65,88,95,78,85,77,95,82,69,70,95,80,73,67,83,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,102,97,117,108,116,121,32,114,101,102,101,114,101,110,99,101,32,112,105,99,116,
-117,114,101,32,108,105,115,116,0,0,0,98,105,116,115,116,114,101,97,109,95,114,101,115,116,114,105,99,116,105,111,110,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,32,32,37,115,95,112,114,111,102,105,108,101,95,105,100,99,32,32,32,32,32,32,32,58,32,37,115,10,0,0,0,0,99,104,114,111,109,97,95,113,112,95,111,102,102,115,101,116,95,108,105,115,116,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,109,97,120,95,116,114,97,110,115,102,111,
-114,109,95,104,105,101,114,97,114,99,104,121,95,100,101,112,116,104,95,105,110,116,114,97,32,58,32,37,100,10,0,0,0,0,0,0,0,112,105,99,95,111,117,116,112,117,116,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,110,117,109,95,116,105,108,101,95,99,111,108,117,109,110,115,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,99,111,101,102,102,105,99,105,101,110,116,32,111,117,116,32,111,102,32,105,109,97,103,101,32,98,111,117,110,100,115,0,37,97,32,
-37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,0,0,0,115,104,111,114,116,45,116,101,114,109,32,114,101,102,45,112,105,99,45,115,101,116,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,0,0,0,118,117,105,95,104,114,100,95,112,97,114,97,109,101,116,101,114,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,32,32,37,115,95,116,105,101,114,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,102,97,108,115,101,0,0,0,105,110,
-116,114,97,80,114,101,100,77,111,100,101,62,61,50,0,0,0,0,0,0,0,0,109,97,120,95,116,114,97,110,115,102,111,114,109,95,104,105,101,114,97,114,99,104,121,95,100,101,112,116,104,95,105,110,116,101,114,32,58,32,37,100,10,0,0,0,0,0,0,0,115,108,105,99,101,95,116,121,112,101,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,58,32,37,99,10,0,0,0,0,0,0,101,110,116,114,111,112,121,95,99,111,100,105,110,103,95,115,121,110,99,95,101,110,97,98,108,101,100,95,102,108,97,103,58,32,
-37,100,10,0,0,0,48,0,0,0,0,0,0,0,37,0,0,0,72],"i8",ua,t.Lb);I([58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,110,117,109,98,101,114,32,111,102,32,115,104,111,114,116,45,116,101,114,109,32,114,101,102,45,112,105,99,45,115,101,116,115,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,118,117,105,95,110,117,109,95,116,105,99,107,115,95,112,111,99,95,100,105,102,102,95,111,110,101,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,32,32,37,115,95,112,114,111,102,105,
-108,101,95,115,112,97,99,101,32,32,32,32,32,58,32,37,100,10,0,0,0,0,108,111,103,50,95,100,105,102,102,95,109,97,120,95,109,105,110,95,116,114,97,110,115,102,111,114,109,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,0,37,112,32,105,110,105,116,10,0,0,0,0,0,0,0,0,115,108,105,99,101,95,115,101,103,109,101,110,116,95,97,100,100,114,101,115,115,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,105,108,101,115,95,101,110,97,98,108,101,100,95,102,108,97,103,
-32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,37,72,58,37,77,58,37,83,0,0,0,0,0,0,0,0,110,117,109,77,86,95,80,32,33,61,32,110,117,109,77,86,95,81,32,105,110,32,100,101,98,108,111,99,107,105,110,103,0,0,0,0,0,0,0,0,118,117,105,95,112,111,99,95,112,114,111,112,111,114,116,105,111,110,97,108,95,116,111,95,116,105,109,105,110,103,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,115,117,98,95,108,97,121,101,114,0,0,0,0,0,0,0,108,111,103,50,95,109,105,110,95,116,114,97,110,115,102,111,
-114,109,95,98,108,111,99,107,95,115,105,122,101,32,32,32,58,32,37,100,10,0,0,0,100,101,112,101,110,100,101,110,116,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,114,97,110,115,113,117,97,110,116,95,98,121,112,97,115,115,95,101,110,97,98,108,101,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,110,111,110,45,101,120,105,115,116,
-105,110,103,32,114,101,102,101,114,101,110,99,101,32,112,105,99,116,117,114,101,32,97,99,99,101,115,115,101,100,0,32,32,118,117,105,95,116,105,109,101,95,115,99,97,108,101,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,103,101,110,101,114,97,108,0,108,111,103,50,95,100,105,102,102,95,109,97,120,95,109,105,110,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,115,108,105,99,101,95,112,105,99,95,112,97,114,97,109,101,116,
-101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,111,117,116,112,117,116,95,102,108,97,103,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,37,109,47,37,100,47,37,121,0,0,0,0,0,0,0,0,98,111,116,104,32,112,114,101,100,70,108,97,103,115,91,93,32,97,114,101,32,122,101,114,111,32,105,110,32,77,67,0,32,32,118,117,105,95,110,117,109,95,117,110,105,116,115,95,105,110,95,116,105,99,107,32,32,32,32,32,32,32,58,32,37,100,
-10,0,0,0,0,0,118,112,115,95,101,120,116,101,110,115,105,111,110,95,102,108,97,103,32,61,32,37,100,10,0,0,0,0,0,0,0,0,108,111,103,50,95,109,105,110,95,108,117,109,97,95,99,111,100,105,110,103,95,98,108,111,99,107,95,115,105,122,101,32,58,32,37,100,10,0,0,0,110,111,95,111,117,116,112,117,116,95,111,102,95,112,114,105,111,114,95,112,105,99,115,95,102,108,97,103,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,119,101,105,103,104,116,101,100,95,98,105,112,114,101,100,95,102,108,97,103,32,32,32,
-32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,78,84,83,67,0,0,0,0,33,114,101,111,114,100,101,114,95,111,117,116,112,117,116,95,113,117,101,117,101,46,101,109,112,116,121,40,41,0,0,0,110,111,110,45,101,120,105,115,116,105,110,103,32,83,80,83,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,118,117,105,95,116,105,109,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,58,32,37,100,10,0,0,0,0,0,32,32,115,112,115,95,109,97,120,95,108,97,116,101,110,99,121,95,105,110,
-99,114,101,97,115,101,95,112,108,117,115,49,32,58,32,37,100,10,0,0,102,105,114,115,116,76,97,121,101,114,82,101,97,100,32,60,32,77,65,88,95,84,69,77,80,79,82,65,76,95,83,85,66,76,65,89,69,82,83,0,102,105,114,115,116,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,105,110,95,112,105,99,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,119,101,105,103,104,116,101,100,95,112,114,101,100,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,48,0,0,0,0,0,
-0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,110,111,110,45,101,120,105,115,116,105,110,103,32,80,80,83,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,98,111,116,116,111,109,95,111,102,102,115,101,116,32,32,58,32,37,100,10,0,0,0,0,0,102,97,108,115,101,0,0,0,104,114,100,95,108,97,121,101,114,95,115,101,116,95,105,100,120,91,37,100,93,32,61,32,37,100,10,0,0,0,0,0,37,112,0,0,0,0,0,0,32,32,115,112,115,95,109,97,120,95,110,117,
-109,95,114,101,111,114,100,101,114,95,112,105,99,115,32,32,32,32,32,32,32,58,32,37,100,10,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,83,76,73,67,69,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,83,69,73,32,100,101,99,111,100,101,100,32,112,105,99,116,117,114,101,32,104,97,115,104,58,32,37,48,52,120,44,32,100,101,99,111,100,101,100,32,112,105,99,116,117,114,101,58,32,37,48,52,120,32,40,80,79,67,61,37,100,41,10,0,112,112,115,95,115,108,105,99,101,95,99,104,114,
-111,109,97,95,113,112,95,111,102,102,115,101,116,115,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,102,97,108,115,101,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,83,80,83,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,105,109,112,111,115,115,105,98,108,101,32,109,111,116,105,111,110,32,118,101,99,116,111,114,32,115,99,97,108,105,110,103,0,0,0,0,0,0,0,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,116,111,112,95,111,102,
-102,115,101,116,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,110,117,109,95,104,114,100,95,112,97,114,97,109,101,116,101,114,115,32,32,32,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,32,32,115,112,115,95,109,97,120,95,100,101,99,95,112,105,99,95,98,117,102,102,101,114,105,110,103,32,32,32,32,32,32,58,32,37,100,10,0,0,115,108,105,99,101,32,104,101,97,100,101,114,32,105,110,118,97,108,105,100,0,0,0,0,115,112,115,45,62,115,112,115,95,114,101,97,100,0,0,0,83,69,73,32,100,101,99,111,100,101,100,32,
-112,105,99,116,117,114,101,32,77,68,53,32,109,105,115,109,97,116,99,104,32,40,80,79,67,61,37,100,41,10,0,0,0,0,0,0,112,105,99,95,99,114,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,118,97,108,117,101,62,48,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,114,105,103,104,116,95,111,102,102,115,101,116,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,110,117,109,95,116,105,99,
-107,115,95,112,111,99,95,100,105,102,102,95,111,110,101,32,61,32,37,100,10,0,0,0,0,0,0,0,0,76,97,121,101,114,32,37,100,10,0,0,0,0,0,0,0,112,112,115,45,62,112,112,115,95,114,101,97,100,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,112,105,99,95,99,98,95,113,112,95,111,102,102,115,101,116,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,82,73,100,120,32,62,61,32,48,32,38,38,32,82,73,100,120,32,60,32,115,101,116,115,46,115,105,122,101,40,41,0,116,
-114,117,101,0,0,0,0,112,112,115,32,104,101,97,100,101,114,32,105,110,118,97,108,105,100,0,0,0,0,0,0,32,32,100,101,102,95,100,105,115,112,95,119,105,110,95,108,101,102,116,95,111,102,102,115,101,116,32,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,112,111,99,95,112,114,111,112,111,114,116,105,111,110,97,108,95,116,111,95,116,105,109,105,110,103,95,102,108,97,103,32,61,32,37,100,10,0,0,0,0,0,0,0,99,114,111,115,115,95,99,111,109,112,111,110,101,110,116,95,112,114,101,100,105,99,116,105,111,110,95,
-101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,115,112,115,95,115,117,98,95,108,97,121,101,114,95,111,114,100,101,114,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,115,112,115,32,104,101,97,100,101,114,32,105,110,118,97,108,105,100,0,0,0,0,0,0,100,105,102,102,95,99,117,95,113,112,95,100,101,108,116,97,95,100,101,112,116,104,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,58,32,0,0,0,0,0,0,110,111,32,115,117,99,104,32,102,
-105,108,101,0,0,0,0,37,112,32,99,39,116,111,114,32,61,32,37,112,10,0,0,100,101,102,97,117,108,116,95,100,105,115,112,108,97,121,95,119,105,110,100,111,119,95,102,108,97,103,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,116,105,109,101,95,115,99,97,108,101,32,32,32,32,32,32,32,32,61,32,37,100,10,0,0,0,0,0,99,116,120,45,62,104,97,115,95,105,109,97,103,101,40,99,111,108,80,105,99,41,0,0,105,110,116,114,97,80,114,101,100,77,111,100,101,60,51,53,0,0,0,0,0,0,0,0,108,111,103,50,95,109,97,120,95,112,
-105,99,95,111,114,100,101,114,95,99,110,116,95,108,115,98,32,58,32,37,100,10,0,0,0,0,0,0,0,0,67,84,66,32,111,117,116,115,105,100,101,32,111,102,32,105,109,97,103,101,32,97,114,101,97,32,40,99,111,110,99,101,97,108,105,110,103,32,115,116,114,101,97,109,32,101,114,114,111,114,46,46,46,41,0,0,99,117,95,113,112,95,100,101,108,116,97,95,101,110,97,98,108,101,100,95,102,108,97,103,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,115,112,115,0,0,0,0,0,102,114,97,109,101,95,102,105,101,108,100,95,105,110,102,111,
-95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,48,0,0,0,0,0,0,0,118,112,115,95,110,117,109,95,117,110,105,116,115,95,105,110,95,116,105,99,107,32,61,32,37,100,10,0,0,0,0,0,98,105,116,95,100,101,112,116,104,95,99,104,114,111,109,97,32,58,32,37,100,10,0,0,73,110,99,111,114,114,101,99,116,32,101,110,116,114,121,45,112,111,105,110,116,32,111,102,102,115,101,116,115,0,0,0,109,102,114,101,101,32,37,112,10,0,0,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,
-95,101,110,97,98,108,101,100,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,0,0,108,111,103,50,87,68,62,61,49,0,0,0,0,0,0,0,102,105,101,108,100,95,115,101,113,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,118,112,115,95,116,105,109,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,61,32,37,100,10,0,0,0,0,0,0,98,105,116,95,100,101,112,116,104,95,108,117,109,97,32,32,32,58,32,37,100,10,0,0,80,114,101,109,97,116,117,114,101,
-32,101,110,100,32,111,102,32,115,108,105,99,101,32,115,101,103,109,101,110,116,0,0,99,111,110,115,116,114,97,105,110,101,100,95,105,110,116,114,97,95,112,114,101,100,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,0,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,110,101,117,116,114,97,108,95,99,104,114,111,109,97,95,105,110,100,105,99,97,116,105,111,110,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,108,97,121,101,114,95,105,100,95,105,110,99,108,117,100,101,100,95,102,108,97,103,91,37,100,93,
-91,37,100,93,32,61,32,37,100,10,0,0,0,0,99,111,110,102,95,119,105,110,95,98,111,116,116,111,109,95,111,102,102,115,101,116,58,32,37,100,10,0,0,0,0,0,84,111,111,32,109,97,110,121,32,119,97,114,110,105,110,103,115,32,113,117,101,117,101,100,0,0,0,0,0,0,0,0,112,105,99,95,105,110,105,116,95,113,112,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,40,119,105,100,116,104,38,49,41,61,61,48,0,0,0,0,32,32,99,104,114,111,109,97,95,115,97,109,112,108,101,95,108,111,99,95,116,121,
-112,101,95,98,111,116,116,111,109,95,102,105,101,108,100,58,32,37,100,10,0,0,0,0,0,0,118,112,115,95,110,117,109,95,108,97,121,101,114,95,115,101,116,115,32,61,32,37,100,10,0,0,0,0,0,0,0,0,99,111,110,102,95,119,105,110,95,116,111,112,95,111,102,102,115,101,116,32,32,32,58,32,37,100,10,0,0,0,0,0,67,97,110,110,111,116,32,114,117,110,32,100,101,99,111,100,101,114,32,109,117,108,116,105,45,116,104,114,101,97,100,101,100,32,98,101,99,97,117,115,101,32,115,116,114,101,97,109,32,100,111,101,115,32,110,111,
-116,32,115,117,112,112,111,114,116,32,87,80,80,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,49,95,100,101,102,97,117,108,116,95,97,99,116,105,118,101,32,58,32,37,100,10,0,0,0,0,0,80,65,76,0,0,0,0,0,99,97,98,97,99,46,99,99,0,0,0,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,32,32,99,104,114,111,109,97,95,115,97,109,112,108,101,95,108,111,99,95,116,121,112,101,95,116,111,112,95,102,105,101,
-108,100,32,32,32,58,32,37,100,10,0,0,0,0,0,0,118,112,115,95,109,97,120,95,108,97,121,101,114,95,105,100,32,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,99,111,110,102,95,119,105,110,95,114,105,103,104,116,95,111,102,102,115,101,116,32,58,32,37,100,10,0,0,0,0,0,118,112,115,46,99,99,0,0,48,0,0,0,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,0,0,0,0,0,110,117,109,95,114,101,102,95,105,100,120,95,108,48,95,100,101,102,97,117,108,116,95,97,99,116,
-105,118,101,32,58,32,37,100,10,0,0,0,0,0,73,78,70,79,58,32,0,0,116,114,97,110,115,102,111,114,109,46,99,99,0,0,0,0,99,104,114,111,109,97,95,108,111,99,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,0,0,0,0,0,0,0,46,46,47,108,105,98,100,101,50,54,53,47,105,109,97,103,101,46,104,0,0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,108,97,116,101,110,99,121,95,105,110,99,114,101,97,115,101,32,32,61,32,37,100,10,0,0,0,0,100,101,99,99,116,120,
-46,99,99,0,0,0,0,0,0,0,99,111,110,102,95,119,105,110,95,108,101,102,116,95,111,102,102,115,101,116,32,32,58,32,37,100,10,0,0,0,0,0,110,97,110,0,0,0,0,0,112,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,115,108,105,99,101,32,100,97,116,97,0,0,0,0,0,99,97,98,97,99,95,105,110,105,116,95,112,114,101,115,101,110,116,95,102,108,97,103,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,115,112,115,46,99,99,0,0,32,32,109,97,116,114,105,120,95,99,111,101,102,102,115,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,110,117,109,95,114,101,111,114,100,101,114,95,112,105,99,115,32,32,61,32,37,100,10,0,0,0,0,100,101,98,108,111,99,107,46,99,99,0,0,0,0,0,0,99,111,110,102,111,114,109,97,110,99,101,95,119,105,110,100,111,119,95,102,108,97,103,32,32,32,32,58,32,
-37,100,10,0,0,0,0,0,0,0,0,102,105,114,115,116,32,115,108,105,99,101,32,109,105,115,115,105,110,103,44,32,99,97,110,110,111,116,32,100,101,99,111,100,101,32,100,101,112,101,110,100,101,110,116,32,115,108,105,99,101,0,0,0,0,0,0,115,105,103,110,95,100,97,116,97,95,104,105,100,105,110,103,95,102,108,97,103,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,118,101,99,116,111,114,0,0,115,108,105,99,101,46,99,99,0,0,0,0,0,0,0,0,32,32,116,114,97,110,115,102,101,114,95,99,104,97,114,97,99,116,101,114,105,
-115,116,105,99,115,32,32,32,32,58,32,37,100,10,0,0,0,0,0,108,97,121,101,114,32,40,97,108,108,41,58,32,118,112,115,95,109,97,120,95,100,101,99,95,112,105,99,95,98,117,102,102,101,114,105,110,103,32,61,32,37,100,10,0,0,0,0,112,105,99,95,104,101,105,103,104,116,95,105,110,95,108,117,109,97,95,115,97,109,112,108,101,115,32,58,32,37,100,10,0,0,0,0,0,0,0,0,117,110,105,116,88,32,62,61,32,48,32,38,38,32,117,110,105,116,88,32,60,32,119,105,100,116,104,95,105,110,95,117,110,105,116,115,0,0,0,0,99,111,109,109,
-97,110,100,45,108,105,110,101,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,0,0,0,100,101,112,101,110,100,101,110,116,95,115,108,105,99,101,95,115,101,103,109,101,110,116,115,95,101,110,97,98,108,101,100,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,114,101,102,112,105,99,46,99,99,0,0,0,0,0,0,0,37,46,48,76,102,0,0,0,98,105,116,115,116,114,101,97,109,46,99,99,0,0,0,0,32,32,99,111,108,111,117,114,95,112,114,105,109,97,114,105,101,115,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,100,
-10,0,0,0,0,0,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,108,97,116,101,110,99,121,95,105,110,99,114,101,97,115,101,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,108,111,103,50,95,109,97,120,95,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,98,108,111,99,107,95,115,105,122,101,32,32,32,32,32,32,58,32,37,100,10,0,0,0,112,105,99,95,119,105,100,116,104,95,105,110,95,108,117,109,97,95,115,97,109,112,108,101,115,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,110,97,108,45,112,97,114,115,101,114,46,
-99,99,0,0,0,83,69,73,32,100,97,116,97,32,99,97,110,110,111,116,32,98,101,32,112,114,111,99,101,115,115,101,100,0,0,0,0,115,101,113,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,105,109,103,45,62,115,112,115,46,66,105,116,68,101,112,116,104,95,67,32,62,61,32,56,32,38,38,32,105,109,103,45,62,115,112,115,46,66,105,116,68,101,112,116,104,95,67,32,60,61,32,49,54,0,0,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,110,111,
-32,101,114,114,111,114,0,0,0,0,0,0,0,0,32,32,99,111,108,111,117,114,95,100,101,115,99,114,105,112,116,105,111,110,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,46,47,100,101,99,99,116,120,46,104,0,0,0,0,0,0,32,32,32,32,32,32,32,32,32,118,112,115,95,109,97,120,95,110,117,109,95,114,101,111,114,100,101,114,95,112,105,99,115,32,32,61,32,37,100,10,0,0,0,0,0,0,0,0,109,111,116,105,111,110,46,99,99,0,0,0,0,0,0,0,105,110,116,114,97,112,114,101,100,46,99,99,0,0,0,0,115,101,112,97,114,
-97,116,101,95,99,111,108,111,117,114,95,112,108,97,110,101,95,102,108,97,103,32,58,32,37,100,10,0,0,0,0,0,0,0,0,42,37,115,10,0,0,0,0,110,111,32,109,111,114,101,32,105,110,112,117,116,32,100,97,116,97,44,32,100,101,99,111,100,101,114,32,115,116,97,108,108,101,100,0,0,0,0,0,105,111,115,116,114,101,97,109,0,0,0,0,0,0,0,0,112,105,99,95,112,97,114,97,109,101,116,101,114,95,115,101,116,95,105,100,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,0,0,0,83,97,116,0,0,0,0,0,105,109,103,45,62,115,112,115,46,66,
-105,116,68,101,112,116,104,95,89,32,62,61,32,56,32,38,38,32,105,109,103,45,62,115,112,115,46,66,105,116,68,101,112,116,104,95,89,32,60,61,32,49,54,0,0,0,70,114,105,0,0,0,0,0,37,76,102,0,0,0,0,0,105,109,97,103,101,46,99,99,0,0,0,0,0,0,0,0,84,104,117,0,0,0,0,0,87,101,100,0,0,0,0,0,84,117,101,0,0,0,0,0,32,32,118,105,100,101,111,95,102,117,108,108,95,114,97,110,103,101,95,102,108,97,103,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,100,112,98,46,99,99,0,0,110,32,60,32,110,84,104,114,101,97,100,67,111,
-110,116,101,120,116,115,0,0,0,0,0,77,111,110,0,0,0,0,0,108,97,121,101,114,32,37,100,58,32,118,112,115,95,109,97,120,95,100,101,99,95,112,105,99,95,98,117,102,102,101,114,105,110,103,32,61,32,37,100,10,0,0,0,0,0,0,0,83,117,110,0,0,0,0,0,48,0,0,0,0,0,0,0,117,110,107,110,111,119,110,0,83,97,116,117,114,100,97,121,0,0,0,0,0,0,0,0,70,114,105,100,97,121,0,0,42,37,100,37,99,32,0,0,84,104,117,114,115,100,97,121,0,0,0,0,0,0,0,0,117,110,105,109,112,108,101,109,101,110,116,101,100,32,100,101,99,111,100,101,
-114,32,102,101,97,116,117,114,101,0,0,0,37,112,32,100,101,115,116,114,117,99,116,111,114,10,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,32,80,80,83,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,0,0,0,0,0,0,0,0,87,101,100,110,101,115,100,97,121,0,0,0,0,0,0,0,109,111,100,101,108,91,105,93,46,115,116,97,116,101,32,60,61,32,54,50,0,0,0,0,84,117,101,115,100,97,121,0,77,111,110,100,97,121,0,0,83,117,110,100,97,121,0,0,102,97,108,108,98,97,99,107,45,109,111,116,105,111,110,46,99,99,
-0,0,0,0,0,0,32,32,118,105,100,101,111,95,102,111,114,109,97,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,58,32,37,115,10,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,118,112,115,95,115,117,98,95,108,97,121,101,114,95,111,114,100,101,114,105,110,103,95,105,110,102,111,95,112,114,101,115,101,110,116,95,102,108,97,103,32,58,32,37,100,10,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,52,58,52,58,52,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,99,97,110,110,111,116,
-32,102,114,101,101,32,108,105,98,114,97,114,121,32,100,97,116,97,32,40,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,112,112,115,46,99,99,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,
-110,105,116,115,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,102,97,108,108,98,97,99,107,45,100,99,116,46,99,99,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,118,105,100,101,111,95,115,105,103,110,97,108,95,116,121,112,101,95,112,114,101,115,101,110,116,95,102,108,97,103,58,32,37,100,10,
-0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,118,112,115,95,116,101,109,112,111,114,97,108,95,105,100,95,110,101,115,116,105,110,103,95,102,108,97,103,32,32,32,32,32,32,32,32,32,32,58,32,37,100,10,0,0,0,0,0,109,111,114,101,62,61,45,49,32,38,38,32,109,111,114,101,60,61,49,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,52,58,50,58,50,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,
-0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,116,105,108,101,88,62,61,48,32,38,38,32,116,105,108,101,89,62,61,48,0,0,0,0,103,108,111,98,97,108,32,108,105,98,114,97,114,121,32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,102,97,105,108,101,100,0,0,0,0,68,101,99,0,0,0,0,0,117,110,105,116,89,32,62,61,32,48,32,38,38,32,117,110,105,116,89,32,60,32,104,101,105,103,104,116,95,105,110,95,117,110,105,116,115,0,0,0,37,112,32,40,97,108,108,111,99,41,10,0,
-0,0,0,0,46,47,105,109,97,103,101,46,104,0,0,0,0,0,0,0,78,111,118,0,0,0,0,0,79,99,116,0,0,0,0,0,83,101,112,0,0,0,0,0,65,117,103,0,0,0,0,0,100,101,50,54,53,95,115,101,116,95,112,97,114,97,109,101,116,101,114,95,105,110,116,0,100,101,50,54,53,95,115,101,116,95,112,97,114,97,109,101,116,101,114,95,98,111,111,108,0,0,0,0,0,0,0,0,100,101,50,54,53,95,103,101,116,95,112,97,114,97,109,101,116,101,114,95,98,111,111,108,0,0,0,0,0,0,0,0,100,101,50,54,53,95,103,101,116,95,105,109,97,103,101,95,112,108,97,110,
-101,95,117,115,101,114,95,100,97,116,97,0,100,101,50,54,53,95,103,101,116,95,105,109,97,103,101,95,112,108,97,110,101,0,0,0,100,117,109,112,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,104,101,97,100,101,114,0,0,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,103,101,116,0,0,0,0,0,110,101,119,95,105,109,97,103,101,0,0,0,0,0,0,0,111,117,116,112,117,116,95,110,101,120,116,95,
-112,105,99,116,117,114,101,95,105,110,95,114,101,111,114,100,101,114,95,98,117,102,102,101,114,0,0,0,114,101,97,100,0,0,0,0,100,101,99,111,117,112,108,101,0,0,0,0,0,0,0,0,100,101,99,111,117,112,108,101,95,111,114,95,97,108,108,111,99,95,119,105,116,104,95,101,109,112,116,121,95,100,97,116,97,0,0,0,0,0,0,0,114,101,97,100,0,0,0,0,115,101,116,95,100,101,114,105,118,101,100,95,118,97,108,117,101,115,0,0,0,0,0,0,100,101,99,111,100,101,0,0,103,101,110,101,114,97,116,101,95,117,110,97,118,97,105,108,97,
-98,108,101,95,114,101,102,101,114,101,110,99,101,95,112,105,99,116,117,114,101,0,0,99,111,110,115,116,114,117,99,116,95,114,101,102,101,114,101,110,99,101,95,112,105,99,116,117,114,101,95,108,105,115,116,115,0,0,0,0,0,0,0,112,114,111,99,101,115,115,95,115,108,105,99,101,95,115,101,103,109,101,110,116,95,104,101,97,100,101,114,0,0,0,0,100,101,99,111,100,101,95,115,108,105,99,101,95,117,110,105,116,95,112,97,114,97,108,108,101,108,0,0,0,0,0,0,100,101,99,111,100,101,95,115,108,105,99,101,95,117,110,
-105,116,95,116,105,108,101,115,0,100,101,99,111,100,101,95,115,108,105,99,101,95,117,110,105,116,95,87,80,80,0,0,0,99,104,97,110,103,101,95,102,114,97,109,101,114,97,116,101,0,0,0,0,0,0,0,0,115,101,116,95,73,110,116,114,97,80,114,101,100,77,111,100,101,67,0,0,0,0,0,0,116,104,114,101,97,100,95,102,105,110,105,115,104,101,115,0,99,111,112,121,95,108,105,110,101,115,95,102,114,111,109,0,97,108,108,111,99,95,105,109,97,103,101,0,0,0,0,0,97,108,108,111,99,97,116,101,95,116,104,114,101,97,100,95,99,111,
-110,116,101,120,116,115,0,0,0,0,0,0,0,0,103,101,116,95,116,104,114,101,97,100,95,99,111,110,116,101,120,116,0,0,0,0,0,0,112,117,115,104,95,78,65,76,0,0,0,0,0,0,0,0,100,101,99,111,100,101,95,115,112,108,105,116,95,116,114,97,110,115,102,111,114,109,95,102,108,97,103,0,0,0,0,0,100,101,50,54,53,95,105,109,97,103,101,95,103,101,116,95,98,117,102,102,101,114,0,0,100,101,99,111,100,101,95,112,97,114,116,95,109,111,100,101,0,0,0,0,0,0,0,0,115,101,116,95,105,110,105,116,86,97,108,117,101,0,0,0,109,99,95,
-99,104,114,111,109,97,0,0,0,0,0,0,0,103,101,116,95,117,118,108,99,0,0,0,0,0,0,0,0,97,108,108,111,99,95,97,110,100,95,105,110,105,116,95,115,105,103,110,105,102,105,99,97,110,116,95,99,111,101,102,102,95,99,116,120,73,100,120,95,108,111,111,107,117,112,84,97,98,108,101,0,0,0,0,0,100,101,114,105,118,101,95,99,111,109,98,105,110,101,100,95,98,105,112,114,101,100,105,99,116,105,118,101,95,109,101,114,103,105,110,103,95,99,97,110,100,105,100,97,116,101,115,0,100,101,114,105,118,101,95,115,112,97,116,105,
-97,108,95,108,117,109,97,95,118,101,99,116,111,114,95,112,114,101,100,105,99,116,105,111,110,0,0,0,102,105,108,108,95,108,117,109,97,95,109,111,116,105,111,110,95,118,101,99,116,111,114,95,112,114,101,100,105,99,116,111,114,115,0,0,0,0,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,97,118,103,95,49,54,95,102,97,108,108,98,97,99,107,0,0,0,0,0,0,0,105,110,116,114,97,95,112,114,101,100,105,99,116,105,111,110,95,115,97,109,112,108,101,95,102,105,108,116,101,114,105,110,103,0,
-0,0,0,0,0,0,103,101,110,101,114,97,116,101,95,105,110,116,101,114,95,112,114,101,100,105,99,116,105,111,110,95,115,97,109,112,108,101,115,0,0,0,0,0,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,97,118,103,95,56,95,102,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,100,101,114,105,118,101,95,99,111,108,108,111,99,97,116,101,100,95,109,111,116,105,111,110,95,118,101,99,116,111,114,115,0,0,0,0,0,0,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,98,105,112,114,101,100,95,49,
-54,95,102,97,108,108,98,97,99,107,0,112,117,116,95,117,110,119,101,105,103,104,116,101,100,95,112,114,101,100,95,49,54,95,102,97,108,108,98,97,99,107,0,112,117,116,95,119,101,105,103,104,116,101,100,95,98,105,112,114,101,100,95,56,95,102,97,108,108,98,97,99,107,0,0,112,117,116,95,117,110,119,101,105,103,104,116,101,100,95,112,114,101,100,95,56,95,102,97,108,108,98,97,99,107,0,0,112,117,116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,49,54,95,102,97,108,108,98,97,99,107,0,0,0,112,117,
-116,95,119,101,105,103,104,116,101,100,95,112,114,101,100,95,56,95,102,97,108,108,98,97,99,107,0,0,0,0,115,99,97,108,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,105,110,116,101,114,110,97,108,0,0,0,0,0,114,101,97,100,95,115,104,111,114,116,95,116,101,114,109,95,114,101,102,95,112,105,99,95,115,101,116,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,49,54,95,102,97,108,108,98,97,99,107,0,0,0,0,0,0,116,114,97,110,115,102,111,114,109,95,115,107,105,112,95,56,95,102,97,
-108,108,98,97,99,107,0,0,0,0,0,0,0,105,110,116,114,97,95,112,114,101,100,105,99,116,105,111,110,95,97,110,103,117,108,97,114,0,0,0,0,0,0,0,0,105,110,105,116,105,97,108,105,122,101,95,67,65,66,65,67,95,109,111,100,101,108,115,0,100,101,114,105,118,101,95,98,111,117,110,100,97,114,121,83,116,114,101,110,103,116,104,0,114,101,97,100,95,116,114,97,110,115,102,111,114,109,95,117,110,105,116,0,0,0,0,0,114,101,97,100,95,116,114,97,110,115,102,111,114,109,95,116,114,101,101,0,0,0,0,0,102,105,108,108,95,115,
-99,97,108,105,110,103,95,102,97,99,116,111,114,0,0,0,0,0,105,110,105,116,95,67,65,66,65,67,95,100,101,99,111,100,101,114,0,0,0,0,0,0,114,101,97,100,95,115,99,97,108,105,110,103,95,108,105,115,116,0,0,0,0,0,0,0,114,101,97,100,95,99,111,100,105,110,103,95,117,110,105,116,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,
-0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,
-0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,72,58,37,77,58,37,83,37,72,58,37,77,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,37,89,45,37,109,45,37,100,37,109,47,37,
-100,47,37,121,37,72,58,37,77,58,37,83,37,0,0,0,0,0,0,0,37,112,0,0,0,0,0,0,0,0,0,0,26,0,0,0,10,0,0,0,1,0,0,0,0,0,0,0,184,99,0,0,174,0,0,0,138,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,99,0,0,236,0,0,0,190,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,99,0,0,76,0,0,0,62,1,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,99,0,0,110,0,0,0,8,0,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,99,0,0,110,0,0,0,26,0,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,100,0,0,228,0,0,0,90,0,0,
-0,56,0,0,0,2,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,100,0,0,54,1,0,0,220,0,0,0,56,0,0,0,4,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,100,0,0,188,0,0,0,222,0,0,0,56,0,0,0,30,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,100,0,0,56,1,0,0,162,0,0,0,56,0,0,0,28,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,101,0,0,48,1,0,0,108,0,0,0,56,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,101,0,0,186,0,0,0,128,0,0,0,56,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,101,0,0,46,0,0,0,130,0,0,
-0,56,0,0,0,120,0,0,0,4,0,0,0,60,0,0,0,10,0,0,0,38,0,0,0,88,0,0,0,4,0,0,0,248,255,255,255,80,101,0,0,22,0,0,0,10,0,0,0,34,0,0,0,16,0,0,0,2,0,0,0,32,0,0,0,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,101,0,0,36,1,0,0,20,1,0,0,56,0,0,0,20,0,0,0,24,0,0,0,92,0,0,0,54,0,0,0,34,0,0,0,2,0,0,0,8,0,0,0,248,255,255,255,120,101,0,0,64,0,0,0,100,0,0,0,114,0,0,0,44,0,0,0,88,0,0,0,42,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,101,0,0,84,0,0,0,226,0,0,0,56,0,0,0,46,0,0,0,122,0,0,0,8,0,0,0,50,0,0,0,58,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,101,0,0,68,0,0,0,72,0,0,0,56,0,0,0,40,0,0,0,76,0,0,0,12,0,0,0,64,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,101,0,0,40,1,0,0,2,0,0,0,56,0,0,0,24,0,0,0,32,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,101,0,0,54,0,0,0,6,1,0,0,56,0,0,0,38,0,0,0,14,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,0,0,10,1,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,102,0,0,38,0,0,0,160,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,102,0,0,6,0,0,0,202,0,0,0,56,0,0,0,8,0,0,0,6,0,0,0,18,0,0,0,4,
-0,0,0,16,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,102,0,0,116,0,0,0,24,0,0,0,56,0,0,0,22,0,0,0,26,0,0,0,62,0,0,0,24,0,0,0,42,0,0,0,8,0,0,0,6,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,102,0,0,48,0,0,0,32,0,0,0,56,0,0,0,78,0,0,0,76,0,0,0,68,0,0,0,70,0,0,0,58,0,0,0,74,0,0,0,66,0,0,0,46,0,0,0,82,0,0,0,80,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,102,0,0,60,0,0,0,4],"i8",ua,t.Lb+10240);I([56,0,0,0,110,0,0,0,102,0,0,0,96,0,0,0,98,0,0,0,90,0,0,0,100,0,0,0,94,0,0,0,108,0,
-0,0,106,0,0,0,104,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,102,0,0,78,0,0,0,106,0,0,0,56,0,0,0,6,0,0,0,32,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,102,0,0,36,0,0,0,204,0,0,0,56,0,0,0,16,0,0,0,38,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,102,0,0,14,0,0,0,218,0,0,0,56,0,0,0,2,0,0,0,10,0,0,0,14,0,0,0,118,0,0,0,94,0,0,0,24,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,102,0,0,210,0,0,0,154,0,0,0,56,0,0,0,14,0,0,0,16,0,0,0,18,0,0,0,50,0,0,0,8,0,0,0,20,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,102,0,
-0,210,0,0,0,28,0,0,0,56,0,0,0,6,0,0,0,4,0,0,0,4,0,0,0,92,0,0,0,60,0,0,0,10,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,103,0,0,210,0,0,0,118,0,0,0,56,0,0,0,12,0,0,0,8,0,0,0,22,0,0,0,30,0,0,0,14,0,0,0,8,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,103,0,0,210,0,0,0,42,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,103,0,0,64,0,0,0,182,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,103,0,0,210,0,0,0,86,0,0,0,56,0,0,0,20,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,20,0,0,0,28,0,0,0,26,0,0,0,6,0,0,0,6,0,0,0,10,
-0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,103,0,0,60,1,0,0,44,0,0,0,56,0,0,0,14,0,0,0,4,0,0,0,2,0,0,0,36,0,0,0,10,0,0,0,8,0,0,0,26,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,103,0,0,74,0,0,0,94,0,0,0,70,0,0,0,34,0,0,0,14,0,0,0,32,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,103,0,0,210,0,0,0,92,0,0,0,56,0,0,0,12,0,0,0,8,0,0,0,22,0,0,0,30,0,0,0,14,0,0,0,8,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,103,0,0,210,0,0,0,192,0,0,0,56,0,0,0,12,0,0,0,8,0,0,0,22,0,0,0,30,0,0,
-0,14,0,0,0,8,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,103,0,0,150,0,0,0,30,1,0,0,84,0,0,0,22,0,0,0,16,0,0,0,34,0,0,0,80,0,0,0,96,0,0,0,34,0,0,0,28,0,0,0,26,0,0,0,8,0,0,0,44,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,103,0,0,12,0,0,0,140,0,0,0,68,0,0,0,40,0,0,0,30,0,0,0,30,0,0,0,48,0,0,0,78,0,0,0,18,0,0,0,6,0,0,0,12,0,0,0,30,0,0,0,16,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,16,104,0,0,52,0,0,0,2,1,0,0,252,255,255,255,252,255,255,255,16,104,0,0,168,0,0,0,148,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,
-0,0,0,40,104,0,0,12,1,0,0,32,1,0,0,252,255,255,255,252,255,255,255,40,104,0,0,126,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,64,104,0,0,98,0,0,0,44,1,0,0,248,255,255,255,248,255,255,255,64,104,0,0,212,0,0,0,28,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,88,104,0,0,124,0,0,0,248,0,0,0,248,255,255,255,248,255,255,255,88,104,0,0,158,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,104,0,0,244,0,0,0,214,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,104,0,0,42,1,0,0,216,0,0,0,18,0,0,0,22,0,0,0,16,0,0,0,
-34,0,0,0,56,0,0,0,96,0,0,0,34,0,0,0,28,0,0,0,26,0,0,0,8,0,0,0,30,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,104,0,0,180,0,0,0,206,0,0,0,42,0,0,0,40,0,0,0,30,0,0,0,30,0,0,0,82,0,0,0,78,0,0,0,18,0,0,0,6,0,0,0,12,0,0,0,30,0,0,0,42,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,104,0,0,18,1,0,0,166,0,0,0,56,0,0,0,62,0,0,0,116,0,0,0,34,0,0,0,90,0,0,0,4,0,0,0,38,0,0,0,52,0,0,0,28,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,104,0,0,122,0,0,0,62,0,0,0,56,0,0,0,108,0,0,0,4,0,0,0,74,0,0,0,24,0,0,0,86,0,0,0,30,0,
-0,0,112,0,0,0,60,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,105,0,0,22,1,0,0,134,0,0,0,56,0,0,0,18,0,0,0,58,0,0,0,6,0,0,0,54,0,0,0,92,0,0,0,62,0,0,0,86,0,0,0,66,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,105,0,0,82,0,0,0,200,0,0,0,56,0,0,0,98,0,0,0,102,0,0,0,36,0,0,0,82,0,0,0,32,0,0,0,26,0,0,0,72,0,0,0,80,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,105,0,0,100,0,0,0,22,0,0,0,44,0,0,0,22,0,0,0,16,0,0,0,34,0,0,0,80,0,0,0,96,0,0,0,34,0,0,0,66,0,0,0,74,0,0,0,16,0,0,0,44,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,128,105,0,0,18,0,0,0,14,1,0,0,70,0,0,0,40,0,0,0,30,0,0,0,30,0,0,0,48,0,0,0,78,0,0,0,18,0,0,0,90,0,0,0,24,0,0,0,4,0,0,0,16,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,105,0,0,250,0,0,0,238,0,0,0,70,0,0,0,178,0,0,0,8,0,0,0,2,0,0,0,12,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,105,0,0,50,1,0,0,26,1,0,0,0,1,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,105,0,0,4,1,0,0,8,1,0,0,246,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,105,0,0,46,1,0,0,80,0,0,0,104,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,34,
-1,0,0,66,0,0,0,184,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,106,0,0,24,1,0,0,242,0,0,0,12,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,106,0,0,254,0,0,0,120,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,83,116,56,98,97,100,95,99,97,115,116,0,0,0,0,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,0,0,0,0,0,0,83,116,49,50,108,101,110,103,116,104,95,101,114,114,111,114,0,0,0,0,0,0,0,0,83,116,
-49,49,108,111,103,105,99,95,101,114,114,111,114,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,
-114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,
-111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,0,0,78,83,116,51,95,95,49,57,
-95,95,110,117,109,95,112,117,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,
-116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,
-95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,
-56,105,111,115,95,98,97,115,101,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,
-95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,
-97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,
-0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,0,0,0,0,0,0,78,83,116,51,95,
-95,49,53,99,116,121,112,101,73,99,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,0,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,
-56,73,76,106,51,50,69,69,69,0,0,0,0,0,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,
-69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,
-51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,78,83,116,51,95,95,49,49,51,98,97,
-115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,
-100,111,117,116,98,117,102,73,99,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,
-110,99,116,73,119,76,98,49,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,0,0,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0,0,0,0,
-78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,0,0,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,
-0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,50,54,116,104,114,101,97,100,95,116,97,115,107,95,100,101,98,108,111,99,107,95,67,84,66,82,111,119,0,0,0,0,50,53,116,104,114,101,97,100,95,116,97,115,107,95,115,108,105,99,101,95,115,101,103,109,101,110,116,0,0,0,0,0,49,57,116,104,114,101,97,100,
-95,116,97,115,107,95,99,116,98,95,114,111,119,0,0,0,49,53,116,104,114,101,97,100,95,116,97,115,107,95,115,97,111,0,0,0,0,0,0,0,49,53,100,101,99,111,100,101,114,95,99,111,110,116,101,120,116,0,0,0,0,0,0,0,49,50,98,97,115,101,95,99,111,110,116,101,120,116,0,0,49,49,116,104,114,101,97,100,95,116,97,115,107,0,0,0,49,49,101,114,114,111,114,95,113,117,101,117,101,0,0,0,0,0,0,0,96,87,0,0,0,0,0,0,112,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,
-87,0,0,248,99,0,0,0,0,0,0,0,0,0,0,192,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,87,0,0,120,86,0,0,232,87,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,184,104,0,0,0,0,0,0,120,86,0,0,48,88,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,192,104,0,0,0,0,0,0,120,86,0,0,120,88,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,200,104,0,0,0,0,0,0,120,86,0,0,192,88,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,208,104,0,0,0,0,0,0,0,0,0,0,8,89,0,0,0,102,0,0,0,0,0,0,0,0,0,0,56,89,0,0,0,102,0,0,0,0,0,0,120,86,0,0,104,89,0,0,0,0,0,0,1,0,0,0,248,103,
-0,0,0,0,0,0,120,86,0,0,128,89,0,0,0,0,0,0,1,0,0,0,248,103,0,0,0,0,0,0,120,86,0,0,152,89,0,0,0,0,0,0,1,0,0,0,0,104,0,0,0,0,0,0,120,86,0,0,176,89,0,0,0,0,0,0,1,0,0,0,0,104,0,0,0,0,0,0,120,86,0,0,200,89,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,104,105,0,0,0,8,0,0,120,86,0,0,16,90,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,104,105,0,0,0,8,0,0,120,86,0,0,88,90,0,0,0,0,0,0,3,0,0,0,56,103,0,0,2,0,0,0,8,100,0,0,2,0,0,0,152,103,0,0,0,8,0,0,120,86,0,0,160,90,0,0,0,0,0,0,3,0,0,0,56,103,0,0,2,0,0,0,8,100,0,0,2,0,0,
-0,160,103,0,0,0,8,0,0,0,0,0,0,232,90,0,0,56,103,0,0,0,0,0,0,0,0,0,0,0,91,0,0,56,103,0,0,0,0,0,0,120,86,0,0,24,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,8,104,0,0,2,0,0,0,120,86,0,0,48,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,8,104,0,0,2,0,0,0,0,0,0,0,72,91,0,0,0,0,0,0,96,91,0,0,112,104,0,0,0,0,0,0,120,86,0,0,128,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,176,100,0,0,0,0,0,0,120,86,0,0,200,91,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,200,100,0,0,0,0,0,0,120,86,0,0,16,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,
-2,0,0,0,224,100,0,0,0,0,0,0,120,86,0,0,88,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,248,100,0,0,0,0,0,0,0,0,0,0,160,92,0,0,56,103,0,0,0,0,0,0,0,0,0,0,184,92,0,0,56,103,0,0,0,0,0,0,120,86,0,0,208,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,120,86,0,0,248,92,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,120,86,0,0,32,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,120,86,0,0,72,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,128,104,0,0,2,0,0,0,0,0,0,0,112,93,
-0,0,240,103,0,0,0,0,0,0,0,0,0,0,136,93,0,0,56,103,0,0,0,0,0,0,120,86,0,0,160,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,96,105,0,0,2,0,0,0,120,86,0,0,184,93,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,96,105,0,0,2,0,0,0,0,0,0,0,208,93,0,0,0,0,0,0,248,93,0,0,0,0,0,0,32,94,0,0,136,104,0,0,0,0,0,0,0,0,0,0,64,94,0,0,24,103,0,0,0,0,0,0,0,0,0,0,104,94,0,0,24,103,0,0,0,0,0,0,0,0,0,0,144,94,0,0,0,0,0,0,200,94,0,0,0,0,0,0,0,95,0,0,0,0,0,0,32,95,0,0,0,0,0,0,64,95,0,0,0,0,0,0,96,95,0,0,0,0,0,0,128,95,0,0,120,86,0,
-0,152,95,0,0,0,0,0,0,1,0,0,0,144,100,0,0,3,244,255,255,120,86,0,0,200,95,0,0,0,0,0,0,1,0,0,0,160,100,0,0,3,244,255,255,120,86,0,0,248,95,0,0,0,0,0,0,1,0,0,0,144,100,0,0,3,244,255,255,120,86,0,0,40,96,0,0,0,0,0,0,1,0,0,0,160,100,0,0,3,244,255,255,0,0,0,0,88,96,0,0,216,99,0,0,0,0,0,0,0,0,0,0,112,96,0,0,0,0,0,0,136,96,0,0,232,103,0,0,0,0,0,0,0,0,0,0,160,96,0,0,216,103,0,0,0,0,0,0,0,0,0,0,192,96,0,0,224,103,0,0,0,0,0,0,0,0,0,0,224,96,0,0,0,0,0,0,0,97,0,0,0,0,0,0,32,97,0,0,0,0,0,0,64,97,0,0,120,86,0,0,
-96,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,120,86,0,0,128,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,120,86,0,0,160,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,120,86,0,0,192,97,0,0,0,0,0,0,2,0,0,0,56,103,0,0,2,0,0,0,88,105,0,0,2,0,0,0,0,0,0,0,224,97,0,0,0,0,0,0,248,97,0,0,0,0,0,0,16,98,0,0,0,0,0,0,40,98,0,0,216,103,0,0,0,0,0,0,0,0,0,0,64,98,0,0,224,103,0,0,0,0,0,0,0,0,0,0,88,98,0,0,176,105,0,0,0,0,0,0,0,0,0,0,128,98,0,0,176,105,0,0,0,0,0,0,
-0,0,0,0,168,98,0,0,192,105,0,0,0,0,0,0,0,0,0,0,208,98,0,0,176,99,0,0,0,0,0,0,0,0,0,0,248,98,0,0,56,106,0,0,0,0,0,0,0,0,0,0,24,99,0,0,56,106,0,0,0,0,0,0,0,0,0,0,56,99,0,0,56,106,0,0,0,0,0,0,0,0,0,0,80,99,0,0,56,106,0,0,0,0,0,0,0,0,0,0,104,99,0,0,32,106,0,0,0,0,0,0,120,86,0,0,128,99,0,0,0,0,0,0,1,0,0,0,64,106,0,0,2,4,0,0,0,0,0,0,144,99,0,0,0,0,0,0,160,99,0,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,0,0,0,0,0,0,0,4,0,0,0,42,0,0,0,29,55,
-74,84,74,74,0,182,84,227,182,55,55,172,74,227,0,1,4,5,2,3,4,5,6,6,8,8,7,7,8,99,128,176,208,240,128,167,197,227,128,158,187,216,123,150,178,205,116,142,169,195,111,135,160,185,105,128,152,175,100,122,144,166,95,116,137,158,90,110,130,150,85,104,123,142,81,99,117,135,77,94,111,128,73,89,105,122,69,85,100,116,66,80,95,110,62,76,90,104,59,72,86,99,56,69,81,94,53,65,77,89,51,62,73,85,48,59,69,80,46,56,66,76,43,53,63,72,41,50,59,69,39,48,56,65,37,45,54,62,35,43,51,59,33,41,48,56,32,39,46,53,30,37,43,50,
-29,35,41,48,27,33,39,45,26,31,37,43,24,30,35,41,23,28,33,39,22,27,32,37,21,26,30,35,20,24,29,33,19,23,27,31,18,22,26,30,17,21,25,28,16,20,23,27,15,19,22,25,14,18,21,24,14,17,20,23,13,16,19,22,12,15,18,21,12,14,17,20,11,14,16,19,11,13,15,18,10,12,15,17,10,12,14,16,9,11,13,15,9,11,12,14,8,10,12,14,8,9,11,13,7,9,11,12,7,9,10,12,7,8,10,11,6,8,9,11,6,7,9,10,6,7,8,9,2,2,2,2,0,0,0,0,0,0,0,0,232,201,0,0,104,201,0,0,104,199,0,0,104,191,0,0,0,0,0,0,0,0,0,0,72,191,0,0,200,190,0,0,200,188,0,0,200,180,0,0,0,0,
-0,0,0,0,0,0,168,180,0,0,40,180,0,0,40,178,0,0,40,170,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,90,90,88,85,82,78,73,67,61,54,46,38,31,22,13,4,252,243,234,225,218,210,202,195,189,183,178,174,171,168,166,166,90,87,80,70,57,43,25,9,247,231,213,199,186,176,169,166,166,169,176,186,199,213,231,247,9,25,43,57,70,80,87,90,90,82,67,46,22,252,225,202,183,171,166,168,178,195,218,243,13,38,61,78,88,90,85,73,54,31,4,234,210,189,174,166,89,75,50,18,238,
-206,181,167,167,181,206,238,18,50,75,89,89,75,50,18,238,206,181,167,167,181,206,238,18,50,75,89,88,67,31,243,202,174,166,178,210,252,38,73,90,85,61,22,234,195,171,166,183,218,4,46,78,90,82,54,13,225,189,168,87,57,9,213,176,166,186,231,25,70,90,80,43,247,199,169,169,199,247,43,80,90,70,25,231,186,166,176,213,9,57,87,85,46,243,189,166,183,234,38,82,88,54,252,195,166,178,225,31,78,90,61,4,202,168,174,218,22,73,90,67,13,210,171,83,36,220,173,173,220,36,83,83,36,220,173,173,220,36,83,83,36,220,173,173,
-220,36,83,83,36,220,173,173,220,36,83,82,22,202,166,195,13,78,85,31,210,166,189,4,73,88,38,218,168,183,252,67,90,46,225,171,178,243,61,90,54,234,174,80,9,186,169,231,57,90,43,213,166,199,25,87,70,247,176,176,247,70,87,25,199,166,213,43,90,57,231,169,186,9,80,78,252,174,183,13,85,67,234,168,195,31,90,54,218,166,210,46,90,38,202,166,225,61,88,22,189,171,243,73,82,4,178,75,238,167,206,50,89,18,181,181,18,89,50,206,167,238,75,75,238,167,206,50,89,18,181,181,18,89,50,206,167,238,75,73,225,166,234,78,67,
-218,166,243,82,61,210,168,252,85,54,202,171,4,88,46,195,174,13,90,38,189,178,22,90,31,183,70,213,169,9,90,25,176,199,57,80,231,166,247,87,43,186,186,43,87,247,166,231,80,57,199,176,25,90,9,169,213,70,67,202,178,38,85,234,166,4,90,13,168,225,82,46,183,195,61,73,210,174,31,88,243,166,252,90,22,171,218,78,54,189,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,64,192,192,64,61,183,210,82,31,168,243,90,252,166,22,85,218,178,54,67,189,202,78,38,171,234,
-90,4,166,13,88,225,174,46,73,195,57,176,231,90,247,169,43,70,186,213,87,9,166,25,80,199,199,80,25,166,9,87,213,186,70,43,169,247,90,231,176,57,54,171,252,88,210,195,82,13,166,38,67,178,234,90,225,183,73,31,166,22,78,189,218,90,243,174,61,46,168,4,85,202,50,167,18,75,181,238,89,206,206,89,238,181,75,18,167,50,50,167,18,75,181,238,89,206,206,89,238,181,75,18,167,50,46,166,38,54,166,31,61,168,22,67,171,13,73,174,4,78,178,252,82,183,243,85,189,234,88,195,225,90,202,218,90,210,43,166,57,25,169,70,9,176,
-80,247,186,87,231,199,90,213,213,90,199,231,87,186,247,80,176,9,70,169,25,57,166,43,38,168,73,252,189,90,210,225,85,178,13,61,166,54,22,174,82,234,202,90,195,243,78,171,31,46,166,67,4,183,88,218,36,173,83,220,220,83,173,36,36,173,83,220,220,83,173,36,36,173,83,220,220,83,173,36,36,173,83,220,220,83,173,36,31,178,90,195,4,54,168,82,218,234,73,166,67,243,210,85,171,46,13,189,90,183,22,38,174,88,202,252,61,166,78,225,25,186,90,176,43,9,199,87,169,57,247,213,80,166,70,231,231,70,166,80,213,247,57,169,
-87,199,9,43,176,90,186,25,22,195,85,166,73,218,252,46,178,90,174,54,243,225,67,168,88,189,31,13,202,82,166,78,210,4,38,183,90,171,61,234,18,206,75,167,89,181,50,238,238,50,181,89,167,75,206,18,18,206,75,167,89,181,50,238,238,50,181,89,167,75,206,18,13,218,61,178,88,166,85,183,54,225,4,22,210,67,174,90,166,82,189,46,234,252,31,202,73,171,90,168,78,195,38,243,9,231,43,199,70,176,87,166,90,169,80,186,57,213,25,247,247,25,213,57,186,80,169,90,166,87,176,70,199,43,231,9,4,243,22,225,38,210,54,195,67,183,
-78,174,85,168,90,166,90,166,88,171,82,178,73,189,61,202,46,218,31,234,13,252,24,170,0,0,192,148,0,0,160,148,0,0,32,148,0,0,32,146,0,0,32,138,0,0,0,0,0,0,0,0,0,0,24,170,0,0,104,159,0,0,72,159,0,0,200,158,0,0,200,156,0,0,200,148,0,0,0,0,0,0,0,0,0,0,24,170,0,0,16,170,0,0,240,169,0,0,112,169,0,0,112,167,0,0,112,159,0,0,0,0,0,0,0,0,0,0,110,0,0,0,110,0,0,0,124,0,0,0,125,0,0,0,140,0,0,0,153,0,0,0,125,0,0,0,127,0,0,0,140,0,0,0,109,0,0,0,111,0,0,0,143,0,0,0,127,0,0,0,111,0,0,0,79,0,0,0,108,0,0,0,123,0,0,0,
-63,0,0,0,125,0,0,0,110,0,0,0,94,0,0,0,110,0,0,0,95,0,0,0,79,0,0,0,125,0,0,0,111,0,0,0,110,0,0,0,78,0,0,0,110,0,0,0,111,0,0,0,111,0,0,0,95,0,0,0,94,0,0,0,108,0,0,0,123,0,0,0,108,0,0,0,125,0,0,0,110,0,0,0,124,0,0,0,110,0,0,0,95,0,0,0,94,0,0,0,125,0,0,0,111,0,0,0,111,0,0,0,79,0,0,0,125,0,0,0,126,0,0,0,111,0,0,0,111,0,0,0,79,0,0,0,108,0,0,0,123,0,0,0,93,0,0,0,141,0,0,0,111,0,0,0,140,0,0,0,140,0,0,0,140,0,0,0,140,0,0,0,138,0,0,0,153,0,0,0,136,0,0,0,167,0,0,0,152,0,0,0,152,0,0,0,107,0,0,0,167,0,0,0,91,
-0,0,0,122,0,0,0,107,0,0,0,167,0,0,0,107,0,0,0,167,0,0,0,91,0,0,0,107,0,0,0,107,0,0,0,167,0,0,0,140,0,0,0,92,0,0,0,137,0,0,0,138,0,0,0,140,0,0,0,152,0,0,0,138,0,0,0,139,0,0,0,153,0,0,0,74,0,0,0,149,0,0,0,92,0,0,0,139,0,0,0,107,0,0,0,122,0,0,0,152,0,0,0,140,0,0,0,179,0,0,0,166,0,0,0,182,0,0,0,140,0,0,0,227,0,0,0,122,0,0,0,197,0,0,0,154,0,0,0,196,0,0,0,196,0,0,0,167,0,0,0,154,0,0,0,152,0,0,0,167,0,0,0,182,0,0,0,182,0,0,0,134,0,0,0,149,0,0,0,136,0,0,0,153,0,0,0,121,0,0,0,136,0,0,0,137,0,0,0,169,0,0,0,
-194,0,0,0,166,0,0,0,167,0,0,0,154,0,0,0,167,0,0,0,137,0,0,0,182,0,0,0,154,0,0,0,196,0,0,0,167,0,0,0,167,0,0,0,154,0,0,0,152,0,0,0,167,0,0,0,182,0,0,0,182,0,0,0,134,0,0,0,149,0,0,0,136,0,0,0,153,0,0,0,121,0,0,0,136,0,0,0,122,0,0,0,169,0,0,0,208,0,0,0,166,0,0,0,167,0,0,0,154,0,0,0,152,0,0,0,167,0,0,0,182,0,0,0,200,0,0,0,185,0,0,0,160,0,0,0,0,0,0,0,184,0,0,0,154,0,0,0,183,0,0,0,0,0,0,0,154,0,0,0,154,0,0,0,154,0,0,0,0,0,0,0,111,0,0,0,111,0,0,0,125,0,0,0,110,0,0,0,110,0,0,0,94,0,0,0,124,0,0,0,108,0,0,
-0,124,0,0,0,107,0,0,0,125,0,0,0,141,0,0,0,179,0,0,0,153,0,0,0,125,0,0,0,107,0,0,0,125,0,0,0,141,0,0,0,179,0,0,0,153,0,0,0,125,0,0,0,107,0,0,0,125,0,0,0,141,0,0,0,179,0,0,0,153,0,0,0,125,0,0,0,140,0,0,0,139,0,0,0,182,0,0,0,182,0,0,0,152,0,0,0,136,0,0,0,152,0,0,0,136,0,0,0,153,0,0,0,136,0,0,0,139,0,0,0,111,0,0,0,136,0,0,0,139,0,0,0,111,0,0,0,155,0,0,0,154,0,0,0,139,0,0,0,153,0,0,0,139,0,0,0,123,0,0,0,123,0,0,0,63,0,0,0,153,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,
-183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,170,0,0,0,153,0,0,0,123,0,0,0,123,0,0,0,107,0,0,0,121,0,0,0,107,0,0,0,121,0,0,0,167,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,170,0,0,0,154,0,0,0,139,0,0,0,153,0,0,0,139,0,0,0,123,0,0,0,123,0,0,0,63,0,0,0,124,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,0,0,0,153,0,0,0,154,0,0,0,166,0,0,0,183,0,0,0,140,0,0,0,136,
-0,0,0,153,0,0,0,154,0,0,0,170,0,0,0,153,0,0,0,138,0,0,0,138,0,0,0,122,0,0,0,121,0,0,0,122,0,0,0,121,0,0,0,167,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,151,0,0,0,183,0,0,0,140,0,0,0,63,0,0,0,152,0,0,0,152,0,0,0,0,0,0,0,140,0,0,0,198,0,0,0,169,0,0,0,198,0,0,0,153,0,0,0,153,0,0,0,153,0,0,0,0,0,0,0,153,0,0,0,138,0,0,0,138,0,0,0,124,0,0,0,138,0,0,0,94,0,0,0,224,0,0,0,167,0,0,0,122,0,0,0,0,0,0,0,91,0,0,0,171,0,0,0,134,0,0,0,141,0,0,0,121,0,0,0,140,0,0,0,61,0,0,0,154,0,0,0,121,0,0,0,140,0,0,0,61,0,0,0,154,0,
-0,0,16,16,16,16,16,16,16,16,16,16,17,16,17,16,17,18,17,18,18,17,18,21,19,20,21,20,19,21,24,22,22,24,24,22,22,24,25,25,27,30,27,25,25,29,31,35,35,31,29,36,41,44,41,36,47,54,54,47,65,70,65,88,88,115,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,18,18,18,18,18,18,20,20,20,20,20,20,20,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,28,28,28,28,28,28,33,33,33,33,33,41,41,41,41,54,54,54,71,71,91,149,0,0,0,134,0,0,0,139,0,0,0,141,0,0,0,157,0,0,0,107,0,0,0,139,0,0,0,126,0,0,0,107,0,0,0,139,0,0,0,126,0,0,0,0,
-0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,197,0,0,0,185,0,0,0,201,0,0,0,197,0,0,0,185,0,0,0,201,0,0,0,110,0,0,0,154,0,0,0,94,0,0,0,138,0,0,0,182,0,0,0,154,0,0,0,149,0,0,0,107,0,0,0,167,0,0,0,154,0,0,0,149,0,0,0,92,0,0,0,167,0,0,0,154,0,0,0,184,0,0,0,154,0,0,0,139,0,0,0,154,0,0,0,154,0,0,0,154,0,0,0,139,0,0,0,154,0,0,0,154,0,0,0,0,0,0,0,122,0,0,0,137,0,0,0,111,0,0,0,141,0,0,0,153,0,0,0,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,24,26,28,30,32,34,
-36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,0,0,0,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,62,63,0,0,1,2,2,4,4,5,6,7,8,9,9,11,11,12,13,13,15,15,16,16,18,18,19,19,21,21,22,22,23,24,24,25,26,26,27,27,28,29,29,30,30,30,31,32,32,33,33,33,34,34,35,35,35,36,36,36,37,37,37,38,38,63,0,1,2,2,2,2,3,5,7,8,10,12,13,15,17,18,19,20,21,22,23,23,24,24,25,25,26,27,27,28,28,29,
-29,30,31,0,0,0,0,0,0,240,255,255,154,249,255,255,114,252,255,255,138,253,255,255,30,254,255,255,122,254,255,255,197,254,255,255,0,255,255,255,197,254,255,255,122,254,255,255,30,254,255,255,138,253,255,255,114,252,255,255,154,249,255,255,0,240,255,255,0,0,0,0,255,255,255,255,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,5,5,6,6,7,8,9,10,11,13,14,16,18,20,22,24,0,0,255,255,255,255,2],"i8",ua,t.Lb+20480);I([2,0,0,0,1,0,0,0,6,5,4,4,3,3,3,3,2,2,2,2,
-2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,12,0,11,0,10,0,11,0,16,0,11,0,40,0,33,0,24,0,11,0,20,0,11,0,32,0,11,0,80,0,33,0,18,0,11,0,15,0,11,0,64,0,33,0,160,0,99,0,4,0,3,0,3,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,3,0,
-0,0,1,0,0,0,3,0,0,0,2,0,0,0,40,0,0,0,45,0,0,0,51,0,0,0,57,0,0,0,64,0,0,0,72,0,0,0],"i8",ua,t.Lb+30720);var ja=t.rb(I(12,"i8",Q),8);K(0==ja%8);var ya=0,xa=8;e._memcpy=Ac;var i={W:1,Fb:2,Kh:3,Kg:4,Fa:5,qd:6,hg:7,hh:8,S:9,ug:10,nb:11,Uh:11,Je:12,od:13,Fg:14,th:15,Ea:16,pd:17,Le:18,Eb:19,Hb:20,Va:21,C:22,bh:23,Ie:24,Ke:25,Rh:26,Gg:27,ph:28,Jb:29,Hh:30,Vg:31,Bh:32,Cg:33,rd:34,lh:42,Ig:43,vg:44,Mg:45,Ng:46,Og:47,Ug:48,Sh:49,fh:50,Lg:51,Ag:35,ih:37,mg:52,pg:53,Vh:54,dh:55,qg:56,rg:57,Bg:35,sg:59,rh:60,gh:61,
-Oh:62,qh:63,mh:64,nh:65,Gh:66,jh:67,kg:68,Lh:69,wg:70,Ch:71,Xg:72,Dg:73,og:74,xh:76,ng:77,Fh:78,Pg:79,Qg:80,Tg:81,Sg:82,Rg:83,sh:38,uc:39,Yg:36,tc:40,Ib:95,Ah:96,zg:104,eh:105,lg:97,Eh:91,vh:88,oh:92,Ih:108,yg:111,ig:98,xg:103,ah:101,Zg:100,Ph:110,Hg:112,Fe:113,Ge:115,De:114,Ee:89,Wg:90,Dh:93,Jh:94,jg:99,$g:102,He:106,Gb:107,Qh:109,Th:87,Eg:122,Mh:116,wh:95,kh:123,Jg:84,yh:75,tg:125,uh:131,zh:130,Nh:86},Ra={"0":"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",
-5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",
-28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",
-47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",
-68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",
-84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",
-102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",
-130:"Previous owner died",131:"State not recoverable"},Na=0,A={ue:function(a){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1)},Xc:function(a,b){for(var c=0,f=a.length-1;0<=f;f--){var d=a[f];"."===d?a.splice(f,1):".."===d?(a.splice(f,1),c++):c&&(a.splice(f,1),c--)}if(b)for(;c--;c)a.unshift("..");return a},normalize:function(a){var b="/"===a.charAt(0),c="/"===a.substr(-1),a=A.Xc(a.split("/").filter(function(a){return!!a}),!b).join("/");!a&&!b&&(a=".");a&&c&&(a+=
-"/");return(b?"/":"")+a},dirname:function(a){var b=A.ue(a),a=b[0],b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},ua:function(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},si:function(a){return A.ue(a)[3]},join:function(){var a=Array.prototype.slice.call(arguments,0);return A.normalize(a.join("/"))},U:function(a,b){return A.normalize(a+"/"+b)},eb:function(){for(var a="",b=G,c=arguments.length-1;-1<=c&&!b;c--){var f=0<=c?arguments[c]:d.Ec();"string"!==
-typeof f&&l(new TypeError("Arguments to path.resolve must be strings"));f&&(a=f+"/"+a,b="/"===f.charAt(0))}a=A.Xc(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."},qe:function(a,b){function c(a){for(var b=0;b<a.length&&""===a[b];b++);for(var c=a.length-1;0<=c&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}for(var a=A.eb(a).substr(1),b=A.eb(b).substr(1),d=c(a.split("/")),e=c(b.split("/")),h=Math.min(d.length,e.length),g=h,j=0;j<h;j++)if(d[j]!==e[j]){g=j;break}h=[];
-for(j=g;j<d.length;j++)h.push("..");h=h.concat(e.slice(g));return h.join("/")}},ca={ze:[],Ba:H(),ej:H(),pe:function(a,b){ca.ze[a]={input:[],Qa:[],Ab:b};d.ad(a,ca.o)},o:{open:function(a){var b=ca.ze[a.k.ab];b||l(new d.e(i.Eb));a.aa=b;a.seekable=G},close:function(a){a.aa.Qa.length&&a.aa.Ab.lc(a.aa,10)},O:function(a,b,c,f){(!a.aa||!a.aa.Ab.Zd)&&l(new d.e(i.qd));for(var e=0,h=0;h<f;h++){var g;try{g=a.aa.Ab.Zd(a.aa)}catch(j){l(new d.e(i.Fa))}g===p&&0===e&&l(new d.e(i.nb));if(g===v||g===p)break;e++;b[c+
-h]=g}e&&(a.k.timestamp=Date.now());return e},write:function(a,b,c,f){(!a.aa||!a.aa.Ab.lc)&&l(new d.e(i.qd));for(var e=0;e<f;e++)try{a.aa.Ab.lc(a.aa,b[c+e])}catch(h){l(new d.e(i.Fa))}f&&(a.k.timestamp=Date.now());return e}},pf:{Zd:function(a){if(!a.input.length){var b=v;if(ea){if(b=process.stdin.read(),!b){if(process.stdin._readableState&&process.stdin._readableState.ended)return v;return}}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),b!==v&&(b+="\n")):
-"function"==typeof readline&&(b=readline(),b!==v&&(b+="\n"));if(!b)return v;a.input=X(b,s)}return a.input.shift()},lc:function(a,b){b===v||10===b?(e.print(a.Qa.join("")),a.Qa=[]):a.Qa.push(ca.Be.kc(b))}},of:{lc:function(a,b){b===v||10===b?(e.printErr(a.Qa.join("")),a.Qa=[]):a.Qa.push(ca.Be.kc(b))}}},z={ha:v,Ce:1,sc:2,ld:3,I:function(){return z.createNode(v,"/",16895,0)},createNode:function(a,b,c,f){(d.Ef(c)||d.Ff(c))&&l(new d.e(i.W));z.ha||(z.ha={dir:{k:{Z:z.n.Z,M:z.n.M,Za:z.n.Za,fa:z.n.fa,rename:z.n.rename,
-Ua:z.n.Ua,fb:z.n.fb,bb:z.n.bb,ka:z.n.ka},ia:{ea:z.o.ea}},file:{k:{Z:z.n.Z,M:z.n.M},ia:{ea:z.o.ea,O:z.o.O,write:z.o.write,sb:z.o.sb,wb:z.o.wb}},link:{k:{Z:z.n.Z,M:z.n.M,Ra:z.n.Ra},ia:{}},Dd:{k:{Z:z.n.Z,M:z.n.M},ia:d.Ze}});c=d.createNode(a,b,c,f);d.K(c.mode)?(c.n=z.ha.dir.k,c.o=z.ha.dir.ia,c.A={}):d.isFile(c.mode)?(c.n=z.ha.file.k,c.o=z.ha.file.ia,c.A=[],c.Sb=z.sc):d.Ya(c.mode)?(c.n=z.ha.link.k,c.o=z.ha.link.ia):d.dc(c.mode)&&(c.n=z.ha.Dd.k,c.o=z.ha.Dd.ia);c.timestamp=Date.now();a&&(a.A[b]=c);return c},
-Hc:function(a){a.Sb!==z.sc&&(a.A=Array.prototype.slice.call(a.A),a.Sb=z.sc)},n:{Z:function(a){var b={};b.Md=d.dc(a.mode)?a.id:1;b.de=a.id;b.mode=a.mode;b.le=1;b.uid=0;b.$d=0;b.ab=a.ab;b.size=d.K(a.mode)?4096:d.isFile(a.mode)?a.A.length:d.Ya(a.mode)?a.link.length:0;b.Ad=new Date(a.timestamp);b.je=new Date(a.timestamp);b.Gd=new Date(a.timestamp);b.Ga=4096;b.Nb=Math.ceil(b.size/b.Ga);return b},M:function(a,b){b.mode!==p&&(a.mode=b.mode);b.timestamp!==p&&(a.timestamp=b.timestamp);if(b.size!==p){z.Hc(a);
-var c=a.A;if(b.size<c.length)c.length=b.size;else for(;b.size>c.length;)c.push(0)}},Za:function(){l(d.Oc[i.Fb])},fa:function(a,b,c,d){return z.createNode(a,b,c,d)},rename:function(a,b,c){if(d.K(a.mode)){var f;try{f=d.sa(b,c)}catch(e){}if(f)for(var h in f.A)l(new d.e(i.uc))}delete a.parent.A[a.name];a.name=c;b.A[c]=a;a.parent=b},Ua:function(a,b){delete a.A[b]},fb:function(a,b){var c=d.sa(a,b),f;for(f in c.A)l(new d.e(i.uc));delete a.A[b]},bb:function(a){var b=[".",".."],c;for(c in a.A)a.A.hasOwnProperty(c)&&
-b.push(c);return b},ka:function(a,b,c){a=z.createNode(a,b,41471,0);a.link=c;return a},Ra:function(a){d.Ya(a.mode)||l(new d.e(i.C));return a.link}},o:{O:function(a,b,c,d,e){a=a.k.A;if(e>=a.length)return 0;d=Math.min(a.length-e,d);K(0<=d);if(8<d&&a.subarray)b.set(a.subarray(e,e+d),c);else for(var h=0;h<d;h++)b[c+h]=a[e+h];return d},write:function(a,b,c,d,e,h){var g=a.k;g.timestamp=Date.now();a=g.A;if(d&&0===a.length&&0===e&&b.subarray)return h&&0===c?(g.A=b,g.Sb=b.buffer===x.buffer?z.Ce:z.ld):(g.A=
-new Uint8Array(b.subarray(c,c+d)),g.Sb=z.ld),d;z.Hc(g);for(a=g.A;a.length<e;)a.push(0);for(h=0;h<d;h++)a[e+h]=b[c+h];return d},ea:function(a,b,c){1===c?b+=a.position:2===c&&d.isFile(a.k.mode)&&(b+=a.k.A.length);0>b&&l(new d.e(i.C));a.qc=[];return a.position=b},sb:function(a,b,c){z.Hc(a.k);a=a.k.A;for(b+=c;b>a.length;)a.push(0)},wb:function(a,b,c,f,e,h,g){d.isFile(a.k.mode)||l(new d.e(i.Eb));a=a.k.A;if(!(g&2)&&(a.buffer===b||a.buffer===b.buffer))e=G,f=a.byteOffset;else{if(0<e||e+f<a.length)a=a.subarray?
-a.subarray(e,e+f):Array.prototype.slice.call(a,e,e+f);e=s;(f=W(f))||l(new d.e(i.Je));b.set(a,f)}return{Vi:f,ii:e}}}},J={fc:G,hd:function(){J.fc=!!process.platform.match(/^win/)},I:function(a){K(ea);return J.createNode(v,"/",J.Ja(a.me.root),0)},createNode:function(a,b,c){!d.K(c)&&(!d.isFile(c)&&!d.Ya(c))&&l(new d.e(i.C));a=d.createNode(a,b,c);a.n=J.n;a.o=J.o;return a},Ja:function(a){var b;try{b=O.Mf(a),J.fc&&(b.mode|=(b.mode&146)>>1)}catch(c){c.code||l(c),l(new d.e(i[c.code]))}return b.mode},V:function(a){for(var b=
-[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.I.me.root);b.reverse();return A.join.apply(v,b)},Sd:{"0":"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},Lc:function(a){return a in J.Sd?J.Sd[a]:a},n:{Z:function(a){var a=J.V(a),b;try{b=O.Mf(a)}catch(c){c.code||l(c),l(new d.e(i[c.code]))}J.fc&&!b.Ga&&(b.Ga=4096);J.fc&&!b.Nb&&(b.Nb=
-(b.size+b.Ga-1)/b.Ga|0);return{Md:b.Md,de:b.de,mode:b.mode,le:b.le,uid:b.uid,$d:b.$d,ab:b.ab,size:b.size,Ad:b.Ad,je:b.je,Gd:b.Gd,Ga:b.Ga,Nb:b.Nb}},M:function(a,b){var c=J.V(a);try{b.mode!==p&&(O.oi(c,b.mode),a.mode=b.mode);if(b.timestamp!==p){var f=new Date(b.timestamp);O.pj(c,f,f)}b.size!==p&&O.kj(c,b.size)}catch(e){e.code||l(e),l(new d.e(i[e.code]))}},Za:function(a,b){var c=A.U(J.V(a),b),c=J.Ja(c);return J.createNode(a,b,c)},fa:function(a,b,c,f){a=J.createNode(a,b,c,f);b=J.V(a);try{d.K(a.mode)?
-O.Pi(b,a.mode):O.rj(b,"",{mode:a.mode})}catch(e){e.code||l(e),l(new d.e(i[e.code]))}return a},rename:function(a,b,c){a=J.V(a);b=A.U(J.V(b),c);try{O.aj(a,b)}catch(f){f.code||l(f),l(new d.e(i[f.code]))}},Ua:function(a,b){var c=A.U(J.V(a),b);try{O.mj(c)}catch(f){f.code||l(f),l(new d.e(i[f.code]))}},fb:function(a,b){var c=A.U(J.V(a),b);try{O.bj(c)}catch(f){f.code||l(f),l(new d.e(i[f.code]))}},bb:function(a){a=J.V(a);try{return O.Yi(a)}catch(b){b.code||l(b),l(new d.e(i[b.code]))}},ka:function(a,b,c){a=
-A.U(J.V(a),b);try{O.gj(c,a)}catch(f){f.code||l(f),l(new d.e(i[f.code]))}},Ra:function(a){a=J.V(a);try{return O.Zi(a)}catch(b){b.code||l(b),l(new d.e(i[b.code]))}}},o:{open:function(a){var b=J.V(a.k);try{d.isFile(a.k.mode)&&(a.zb=O.Si(b,J.Lc(a.H)))}catch(c){c.code||l(c),l(new d.e(i[c.code]))}},close:function(a){try{d.isFile(a.k.mode)&&a.zb&&O.pi(a.zb)}catch(b){b.code||l(b),l(new d.e(i[b.code]))}},O:function(a,b,c,f,e){var h=new Buffer(f),g;try{g=O.Xi(a.zb,h,0,f,e)}catch(j){l(new d.e(i[j.code]))}if(0<
-g)for(a=0;a<g;a++)b[c+a]=h[a];return g},write:function(a,b,c,f,e){var b=new Buffer(b.subarray(c,c+f)),h;try{h=O.sj(a.zb,b,0,f,e)}catch(g){l(new d.e(i[g.code]))}return h},ea:function(a,b,c){if(1===c)b+=a.position;else if(2===c&&d.isFile(a.k.mode))try{var f=O.xi(a.zb),b=b+f.size}catch(e){l(new d.e(i[e.code]))}0>b&&l(new d.e(i.C));return a.position=b}}};Ha=I(1,"i32*",Q);Aa=I(1,"i32*",Q);Ia=I(1,"i32*",Q);var d={root:v,yb:[],Nd:[v],Sa:[],Sf:1,ga:v,Id:"/",Xa:G,ce:s,e:v,Oc:{},bc:function(a){a instanceof
-d.e||l(a+" : "+gb());return P(a.Yb)},F:function(a,b){var a=A.eb(d.Ec(),a),b=b||{},c={Mc:s,$c:0},f;for(f in c)b[f]===p&&(b[f]=c[f]);8<b.$c&&l(new d.e(i.tc));var c=A.Xc(a.split("/").filter(function(a){return!!a}),G),e=d.root;f="/";for(var h=0;h<c.length;h++){var g=h===c.length-1;if(g&&b.parent)break;e=d.sa(e,c[h]);f=A.U(f,c[h]);if(d.Ka(e)&&(!g||g&&b.Mc))e=e.xb.root;if(!g||b.da)for(g=0;d.Ya(e.mode);)e=d.Ra(f),f=A.eb(A.dirname(f),e),e=d.F(f,{$c:b.$c}).k,40<g++&&l(new d.e(i.tc))}return{path:f,k:e}},za:function(a){for(var b;;){if(d.ec(a))return a=
-a.I.Qf,!b?a:"/"!==a[a.length-1]?a+"/"+b:a+b;b=b?a.name+"/"+b:a.name;a=a.parent}},Rc:function(a,b){for(var c=0,f=0;f<b.length;f++)c=(c<<5)-c+b.charCodeAt(f)|0;return(a+c>>>0)%d.ga.length},ae:function(a){var b=d.Rc(a.parent.id,a.name);a.Oa=d.ga[b];d.ga[b]=a},be:function(a){var b=d.Rc(a.parent.id,a.name);if(d.ga[b]===a)d.ga[b]=a.Oa;else for(b=d.ga[b];b;){if(b.Oa===a){b.Oa=a.Oa;break}b=b.Oa}},sa:function(a,b){var c=d.Of(a);c&&l(new d.e(c));for(c=d.ga[d.Rc(a.id,b)];c;c=c.Oa){var f=c.name;if(c.parent.id===
-a.id&&f===b)return c}return d.Za(a,b)},createNode:function(a,b,c,f){d.Kb||(d.Kb=function(a,b,c,f){a||(a=this);this.parent=a;this.I=a.I;this.xb=v;this.id=d.Sf++;this.name=b;this.mode=c;this.n={};this.o={};this.ab=f},d.Kb.prototype={},Object.defineProperties(d.Kb.prototype,{O:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Gf:{get:function(){return d.K(this.mode)}},
-Tc:{get:function(){return d.dc(this.mode)}}}));a=new d.Kb(a,b,c,f);d.ae(a);return a},Fc:function(a){d.be(a)},ec:function(a){return a===a.parent},Ka:function(a){return!!a.xb},isFile:function(a){return 32768===(a&61440)},K:function(a){return 16384===(a&61440)},Ya:function(a){return 40960===(a&61440)},dc:function(a){return 8192===(a&61440)},Ef:function(a){return 24576===(a&61440)},Ff:function(a){return 4096===(a&61440)},Jf:function(a){return 49152===(a&49152)},vf:{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},ie:function(a){var b=d.vf[a];"undefined"===typeof b&&l(Error("Unknown file open mode: "+a));return b},Lc:function(a){var b=["r","w","rw"][a&2097155];a&512&&(b+="w");return b},Pa:function(a,b){return d.ce?0:-1!==b.indexOf("r")&&!(a.mode&292)||-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73)?i.od:0},Of:function(a){return d.Pa(a,"x")},Wc:function(a,b){try{return d.sa(a,b),i.pd}catch(c){}return d.Pa(a,
-"wx")},gc:function(a,b,c){var f;try{f=d.sa(a,b)}catch(e){return e.Yb}if(a=d.Pa(a,"wx"))return a;if(c){if(!d.K(f.mode))return i.Hb;if(d.ec(f)||d.za(f)===d.Ec())return i.Ea}else if(d.K(f.mode))return i.Va;return 0},Pf:function(a,b){return!a?i.Fb:d.Ya(a.mode)?i.tc:d.K(a.mode)&&(0!==(b&2097155)||b&512)?i.Va:d.Pa(a,d.Lc(b))},Pe:4096,Tf:function(a,b){for(var b=b||d.Pe,c=a||0;c<=b;c++)if(!d.Sa[c])return c;l(new d.e(i.Ie))},Aa:function(a){return d.Sa[a]},Fd:function(a,b,c){d.ob||(d.ob=H(),d.ob.prototype=
-{},Object.defineProperties(d.ob.prototype,{object:{get:function(){return this.k},set:la("k")},Gi:{get:function(){return 1!==(this.H&2097155)}},Hi:{get:function(){return 0!==(this.H&2097155)}},Fi:{get:function(){return this.H&1024}}}));if(a.__proto__)a.__proto__=d.ob.prototype;else{var f=new d.ob,e;for(e in a)f[e]=a[e];a=f}b=d.Tf(b,c);a.ba=b;return d.Sa[b]=a},$e:function(a){d.Sa[a]=v},ub:function(a){return d.Sa[a-1]},Qc:function(a){return a?a.ba+1:0},Ze:{open:function(a){a.o=d.yf(a.k.ab).o;a.o.open&&
-a.o.open(a)},ea:function(){l(new d.e(i.Jb))}},Vc:function(a){return a>>8},Oi:function(a){return a&255},Ma:function(a,b){return a<<8|b},ad:function(a,b){d.Nd[a]={o:b}},yf:function(a){return d.Nd[a]},Wd:function(a){for(var b=[],a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.yb)}return b},xe:function(a,b){function c(a){if(a){if(!c.sf)return c.sf=s,b(a)}else++e>=f.length&&b(v)}"function"===typeof a&&(b=a,a=G);var f=d.Wd(d.root.I),e=0;f.forEach(function(b){if(!b.type.xe)return c(v);b.type.xe(b,
-a,c)})},I:function(a,b,c){var f="/"===c,e=!c,h;f&&d.root&&l(new d.e(i.Ea));!f&&!e&&(h=d.F(c,{Mc:G}),c=h.path,h=h.k,d.Ka(h)&&l(new d.e(i.Ea)),d.K(h.mode)||l(new d.e(i.Hb)));b={type:a,me:b,Qf:c,yb:[]};a=a.I(b);a.I=b;b.root=a;f?d.root=a:h&&(h.xb=b,h.I&&h.I.yb.push(b));return a},nj:function(a){a=d.F(a,{Mc:G});d.Ka(a.k)||l(new d.e(i.C));var a=a.k,b=a.xb,c=d.Wd(b);Object.keys(d.ga).forEach(function(a){for(a=d.ga[a];a;){var b=a.Oa;-1!==c.indexOf(a.I)&&d.Fc(a);a=b}});a.xb=v;b=a.I.yb.indexOf(b);K(-1!==b);
-a.I.yb.splice(b,1)},Za:function(a,b){return a.n.Za(a,b)},fa:function(a,b,c){var f=d.F(a,{parent:s}).k,a=A.ua(a),e=d.Wc(f,a);e&&l(new d.e(e));f.n.fa||l(new d.e(i.W));return f.n.fa(f,a,b,c)},create:function(a,b){b=(b!==p?b:438)&4095;b|=32768;return d.fa(a,b,0)},$a:function(a,b){b=(b!==p?b:511)&1023;b|=16384;return d.fa(a,b,0)},hc:function(a,b,c){"undefined"===typeof c&&(c=b,b=438);return d.fa(a,b|8192,c)},ka:function(a,b){var c=d.F(b,{parent:s}).k,f=A.ua(b),e=d.Wc(c,f);e&&l(new d.e(e));c.n.ka||l(new d.e(i.W));
-return c.n.ka(c,f,a)},rename:function(a,b){var c=A.dirname(a),f=A.dirname(b),e=A.ua(a),h=A.ua(b),g,j,n;try{g=d.F(a,{parent:s}),j=g.k,g=d.F(b,{parent:s}),n=g.k}catch(r){l(new d.e(i.Ea))}j.I!==n.I&&l(new d.e(i.Le));g=d.sa(j,e);f=A.qe(a,f);"."!==f.charAt(0)&&l(new d.e(i.C));f=A.qe(b,c);"."!==f.charAt(0)&&l(new d.e(i.uc));var m;try{m=d.sa(n,h)}catch(q){}if(g!==m){c=d.K(g.mode);(e=d.gc(j,e,c))&&l(new d.e(e));(e=m?d.gc(n,h,c):d.Wc(n,h))&&l(new d.e(e));j.n.rename||l(new d.e(i.W));(d.Ka(g)||m&&d.Ka(m))&&
-l(new d.e(i.Ea));n!==j&&(e=d.Pa(j,"w"))&&l(new d.e(e));d.be(g);try{j.n.rename(g,n,h)}catch(w){l(w)}finally{d.ae(g)}}},fb:function(a){var b=d.F(a,{parent:s}).k,a=A.ua(a),c=d.sa(b,a),f=d.gc(b,a,s);f&&l(new d.e(f));b.n.fb||l(new d.e(i.W));d.Ka(c)&&l(new d.e(i.Ea));b.n.fb(b,a);d.Fc(c)},bb:function(a){a=d.F(a,{da:s}).k;a.n.bb||l(new d.e(i.Hb));return a.n.bb(a)},Ua:function(a){var b=d.F(a,{parent:s}).k,a=A.ua(a),c=d.sa(b,a),f=d.gc(b,a,G);f&&(f===i.Va&&(f=i.W),l(new d.e(f)));b.n.Ua||l(new d.e(i.W));d.Ka(c)&&
-l(new d.e(i.Ea));b.n.Ua(b,a);d.Fc(c)},Ra:function(a){a=d.F(a).k;a.n.Ra||l(new d.e(i.C));return a.n.Ra(a)},ve:function(a,b){var c=d.F(a,{da:!b}).k;c.n.Z||l(new d.e(i.W));return c.n.Z(c)},Ni:function(a){return d.ve(a,s)},Ob:function(a,b,c){a="string"===typeof a?d.F(a,{da:!c}).k:a;a.n.M||l(new d.e(i.W));a.n.M(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},Ji:function(a,b){d.Ob(a,b,s)},ti:function(a,b){var c=d.Aa(a);c||l(new d.e(i.S));d.Ob(c.k,b)},Cd:function(a,b,c,f){a="string"===typeof a?d.F(a,
-{da:!f}).k:a;a.n.M||l(new d.e(i.W));a.n.M(a,{timestamp:Date.now()})},Ki:function(a,b,c){d.Cd(a,b,c,s)},ui:function(a,b,c){(a=d.Aa(a))||l(new d.e(i.S));d.Cd(a.k,b,c)},truncate:function(a,b){0>b&&l(new d.e(i.C));var c;c="string"===typeof a?d.F(a,{da:s}).k:a;c.n.M||l(new d.e(i.W));d.K(c.mode)&&l(new d.e(i.Va));d.isFile(c.mode)||l(new d.e(i.C));var f=d.Pa(c,"w");f&&l(new d.e(f));c.n.M(c,{size:b,timestamp:Date.now()})},yi:function(a,b){var c=d.Aa(a);c||l(new d.e(i.S));0===(c.H&2097155)&&l(new d.e(i.C));
-d.truncate(c.k,b)},oj:function(a,b,c){a=d.F(a,{da:s}).k;a.n.M(a,{timestamp:Math.max(b,c)})},open:function(a,b,c,f,ma){var b="string"===typeof b?d.ie(b):b,c=b&64?("undefined"===typeof c?438:c)&4095|32768:0,h;if("object"===typeof a)h=a;else{a=A.normalize(a);try{h=d.F(a,{da:!(b&131072)}).k}catch(g){}}b&64&&(h?b&128&&l(new d.e(i.pd)):h=d.fa(a,c,0));h||l(new d.e(i.Fb));d.dc(h.mode)&&(b&=-513);(c=d.Pf(h,b))&&l(new d.e(c));b&512&&d.truncate(h,0);b&=-641;f=d.Fd({k:h,path:d.za(h),H:b,seekable:s,position:0,
-o:h.o,qc:[],error:G},f,ma);f.o.open&&f.o.open(f);e.logReadFiles&&!(b&1)&&(d.Zc||(d.Zc={}),a in d.Zc||(d.Zc[a]=1,e.printErr("read file: "+a)));return f},close:function(a){try{a.o.close&&a.o.close(a)}catch(b){l(b)}finally{d.$e(a.ba)}},ea:function(a,b,c){(!a.seekable||!a.o.ea)&&l(new d.e(i.Jb));return a.o.ea(a,b,c)},O:function(a,b,c,f,e){(0>f||0>e)&&l(new d.e(i.C));1===(a.H&2097155)&&l(new d.e(i.S));d.K(a.k.mode)&&l(new d.e(i.Va));a.o.O||l(new d.e(i.C));var h=s;"undefined"===typeof e?(e=a.position,h=
-G):a.seekable||l(new d.e(i.Jb));b=a.o.O(a,b,c,f,e);h||(a.position+=b);return b},write:function(a,b,c,f,e,h){(0>f||0>e)&&l(new d.e(i.C));0===(a.H&2097155)&&l(new d.e(i.S));d.K(a.k.mode)&&l(new d.e(i.Va));a.o.write||l(new d.e(i.C));var g=s;"undefined"===typeof e?(e=a.position,g=G):a.seekable||l(new d.e(i.Jb));a.H&1024&&d.ea(a,0,2);b=a.o.write(a,b,c,f,e,h);g||(a.position+=b);return b},sb:function(a,b,c){(0>b||0>=c)&&l(new d.e(i.C));0===(a.H&2097155)&&l(new d.e(i.S));!d.isFile(a.k.mode)&&!d.K(node.mode)&&
-l(new d.e(i.Eb));a.o.sb||l(new d.e(i.Ib));a.o.sb(a,b,c)},wb:function(a,b,c,f,e,h,g){1===(a.H&2097155)&&l(new d.e(i.od));a.o.wb||l(new d.e(i.Eb));return a.o.wb(a,b,c,f,e,h,g)},vb:function(a,b,c){a.o.vb||l(new d.e(i.Ke));return a.o.vb(a,b,c)},Wi:function(a,b){b=b||{};b.H=b.H||"r";b.encoding=b.encoding||"binary";"utf8"!==b.encoding&&"binary"!==b.encoding&&l(Error('Invalid encoding type "'+b.encoding+'"'));var c,f=d.open(a,b.H),e=d.ve(a).size,h=new Uint8Array(e);d.O(f,h,0,e,0);if("utf8"===b.encoding){c=
-"";for(var g=new t.pb,j=0;j<e;j++)c+=g.kc(h[j])}else"binary"===b.encoding&&(c=h);d.close(f);return c},qj:function(a,b,c){c=c||{};c.H=c.H||"w";c.encoding=c.encoding||"utf8";"utf8"!==c.encoding&&"binary"!==c.encoding&&l(Error('Invalid encoding type "'+c.encoding+'"'));a=d.open(a,c.H,c.mode);"utf8"===c.encoding?(b=new Uint8Array((new t.pb).oe(b)),d.write(a,b,0,b.length,0,c.Ye)):"binary"===c.encoding&&d.write(a,b,0,b.length,0,c.Ye);d.close(a)},Ec:function(){return d.Id},ni:function(a){a=d.F(a,{da:s});
-d.K(a.k.mode)||l(new d.e(i.Hb));var b=d.Pa(a.k,"x");b&&l(new d.e(b));d.Id=a.path},cf:function(){d.$a("/tmp")},bf:function(){d.$a("/dev");d.ad(d.Ma(1,3),{O:U(0),write:U(0)});d.hc("/dev/null",d.Ma(1,3));ca.pe(d.Ma(5,0),ca.pf);ca.pe(d.Ma(6,0),ca.of);d.hc("/dev/tty",d.Ma(5,0));d.hc("/dev/tty1",d.Ma(6,0));d.$a("/dev/shm");d.$a("/dev/shm/tmp")},lf:function(){e.stdin?d.Ha("/dev","stdin",e.stdin):d.ka("/dev/tty","/dev/stdin");e.stdout?d.Ha("/dev","stdout",v,e.stdout):d.ka("/dev/tty","/dev/stdout");e.stderr?
-d.Ha("/dev","stderr",v,e.stderr):d.ka("/dev/tty1","/dev/stderr");var a=d.open("/dev/stdin","r");u[Ha>>2]=d.Qc(a);K(0===a.ba,"invalid handle for stdin ("+a.ba+")");a=d.open("/dev/stdout","w");u[Aa>>2]=d.Qc(a);K(1===a.ba,"invalid handle for stdout ("+a.ba+")");a=d.open("/dev/stderr","w");u[Ia>>2]=d.Qc(a);K(2===a.ba,"invalid handle for stderr ("+a.ba+")")},Pd:function(){d.e||(d.e=function(a){this.Yb=a;for(var b in i)if(i[b]===a){this.code=b;break}this.message=Ra[a]},d.e.prototype=Error(),[i.Fb].forEach(function(a){d.Oc[a]=
-new d.e(a);d.Oc[a].stack="<generic error, no stack>"}))},hd:function(){d.Pd();d.ga=Array(4096);d.I(z,{},"/");d.cf();d.bf()},Ba:function(a,b,c){K(!d.Ba.Xa,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");d.Ba.Xa=s;d.Pd();e.stdin=a||e.stdin;e.stdout=b||e.stdout;e.stderr=c||e.stderr;d.lf()},Zf:function(){d.Ba.Xa=G;for(var a=0;a<d.Sa.length;a++){var b=d.Sa[a];b&&d.close(b)}},
-Ja:function(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c},Ii:function(a,b){var c=A.join.apply(v,a);b&&"/"==c[0]&&(c=c.substr(1));return c},bi:function(a,b){return A.eb(b,a)},fj:function(a){return A.normalize(a)},vi:function(a,b){var c=d.Ac(a,b);if(c.Jc)return c.object;P(c.error);return v},Ac:function(a,b){try{var c=d.F(a,{da:!b}),a=c.path}catch(f){}var e={ec:G,Jc:G,error:0,name:v,path:v,object:v,Wf:G,Yf:v,Xf:v};try{c=d.F(a,{parent:s}),e.Wf=s,e.Yf=c.path,e.Xf=c.k,e.name=A.ua(a),c=d.F(a,{da:!b}),e.Jc=
-s,e.path=c.path,e.object=c.k,e.name=c.k.name,e.ec="/"===c.path}catch(h){e.error=h.Yb}return e},ef:function(a,b,c,f){a=A.U("string"===typeof a?a:d.za(a),b);c=d.Ja(c,f);return d.$a(a,c)},hf:function(a,b){for(var a="string"===typeof a?a:d.za(a),c=b.split("/").reverse();c.length;){var f=c.pop();if(f){var e=A.U(a,f);try{d.$a(e)}catch(h){}a=e}}return e},df:function(a,b,c,f,e){a=A.U("string"===typeof a?a:d.za(a),b);f=d.Ja(f,e);return d.create(a,f)},Dc:function(a,b,c,f,e,h){a=b?A.U("string"===typeof a?a:
-d.za(a),b):a;f=d.Ja(f,e);e=d.create(a,f);if(c){if("string"===typeof c){for(var a=Array(c.length),b=0,g=c.length;b<g;++b)a[b]=c.charCodeAt(b);c=a}d.Ob(e,f|146);a=d.open(e,"w");d.write(a,c,0,c.length,0,h);d.close(a);d.Ob(e,f)}return e},Ha:function(a,b,c,f){a=A.U("string"===typeof a?a:d.za(a),b);b=d.Ja(!!c,!!f);d.Ha.Vc||(d.Ha.Vc=64);var e=d.Ma(d.Ha.Vc++,0);d.ad(e,{open:function(a){a.seekable=G},close:function(){f&&(f.buffer&&f.buffer.length)&&f(10)},O:function(a,b,f,e){for(var r=0,m=0;m<e;m++){var q;
-try{q=c()}catch(w){l(new d.e(i.Fa))}q===p&&0===r&&l(new d.e(i.nb));if(q===v||q===p)break;r++;b[f+m]=q}r&&(a.k.timestamp=Date.now());return r},write:function(a,b,c,e){for(var r=0;r<e;r++)try{f(b[c+r])}catch(m){l(new d.e(i.Fa))}e&&(a.k.timestamp=Date.now());return r}});return d.hc(a,b,e)},gf:function(a,b,c){a=A.U("string"===typeof a?a:d.za(a),b);return d.ka(c,a)},Vd:function(a){if(a.Tc||a.Gf||a.link||a.A)return s;var b=s;"undefined"!==typeof XMLHttpRequest&&l(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."));
-if(e.read)try{a.A=X(e.read(a.url),s)}catch(c){b=G}else l(Error("Cannot load without read() or XMLHttpRequest."));b||P(i.Fa);return b},ff:function(a,b,c,f,e){if("undefined"!==typeof XMLHttpRequest){Bb||l("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var h=function(){this.Uc=G;this.Qb=[]};h.prototype.get=function(a){if(!(a>this.length-1||0>a)){var b=a%this.Pb;return this.Af(Math.floor(a/this.Pb))[b]}};h.prototype.cg=la("Af");h.prototype.Bd=
-function(){var a=new XMLHttpRequest;a.open("HEAD",c,G);a.send(v);200<=a.status&&300>a.status||304===a.status||l(Error("Couldn't load "+c+". Status: "+a.status));var b=Number(a.getResponseHeader("Content-length")),d,f=1048576;if(!((d=a.getResponseHeader("Accept-Ranges"))&&"bytes"===d))f=b;var e=this;e.cg(function(a){var d=a*f,m=(a+1)*f-1,m=Math.min(m,b-1);if("undefined"===typeof e.Qb[a]){var g=e.Qb;d>m&&l(Error("invalid range ("+d+", "+m+") or no bytes requested!"));m>b-1&&l(Error("only "+b+" bytes available! programmer error!"));
-var h=new XMLHttpRequest;h.open("GET",c,G);b!==f&&h.setRequestHeader("Range","bytes="+d+"-"+m);"undefined"!=typeof Uint8Array&&(h.responseType="arraybuffer");h.overrideMimeType&&h.overrideMimeType("text/plain; charset=x-user-defined");h.send(v);200<=h.status&&300>h.status||304===h.status||l(Error("Couldn't load "+c+". Status: "+h.status));d=h.response!==p?new Uint8Array(h.response||[]):X(h.responseText||"",s);g[a]=d}"undefined"===typeof e.Qb[a]&&l(Error("doXHR failed!"));return e.Qb[a]});this.Ue=
-b;this.Re=f;this.Uc=s};h=new h;Object.defineProperty(h,"length",{get:function(){this.Uc||this.Bd();return this.Ue}});Object.defineProperty(h,"chunkSize",{get:function(){this.Uc||this.Bd();return this.Re}});h={Tc:G,A:h}}else h={Tc:G,url:c};var g=d.df(a,b,h,f,e);h.A?g.A=h.A:h.url&&(g.A=v,g.url=h.url);var j={};Object.keys(g.o).forEach(function(a){var b=g.o[a];j[a]=function(){d.Vd(g)||l(new d.e(i.Fa));return b.apply(v,arguments)}});j.O=function(a,b,c,f,e){d.Vd(g)||l(new d.e(i.Fa));a=a.k.A;if(e>=a.length)return 0;
-f=Math.min(a.length-e,f);K(0<=f);if(a.slice)for(var h=0;h<f;h++)b[c+h]=a[e+h];else for(h=0;h<f;h++)b[c+h]=a.get(e+h);return f};g.o=j;return g},jf:function(a,b,c,f,i,h,g,j,k){function r(c){function r(c){j||d.Dc(a,b,c,f,i,k);h&&h();jb()}var B=G;e.preloadPlugins.forEach(function(a){!B&&a.canHandle(m)&&(a.handle(c,m,r,function(){g&&g();jb()}),B=s)});B||r(c)}Browser.Ba();var m=b?A.eb(A.U(a,b)):a;Rb();"string"==typeof c?Browser.li(c,function(a){r(a)},g):r(c)},indexedDB:function(){return window.indexedDB||
-window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},md:function(){return"EM_FS_"+window.location.pathname},nd:20,lb:"FILE_DATA",dj:function(a,b,c){var b=b||H(),c=c||H(),f=d.indexedDB();try{var e=f.open(d.md(),d.nd)}catch(h){return c(h)}e.Vf=function(){console.log("creating db");e.result.createObjectStore(d.lb)};e.onsuccess=function(){var f=e.result.transaction([d.lb],"readwrite"),h=f.objectStore(d.lb),i=0,r=0,m=a.length;a.forEach(function(a){a=h.put(d.Ac(a).object.A,a);a.onsuccess=function(){i++;
-i+r==m&&(0==r?b():c())};a.onerror=function(){r++;i+r==m&&(0==r?b():c())}});f.onerror=c};e.onerror=c},Mi:function(a,b,c){var b=b||H(),c=c||H(),f=d.indexedDB();try{var e=f.open(d.md(),d.nd)}catch(h){return c(h)}e.Vf=c;e.onsuccess=function(){var f=e.result;try{var h=f.transaction([d.lb],"readonly")}catch(i){c(i);return}var r=h.objectStore(d.lb),m=0,q=0,w=a.length;a.forEach(function(a){var f=r.get(a);f.onsuccess=function(){d.Ac(a).Jc&&d.Ua(a);d.Dc(A.dirname(a),A.ua(a),f.result,s,s,s);m++;m+q==w&&(0==
-q?b():c())};f.onerror=function(){q++;m+q==w&&(0==q?b():c())}});h.onerror=c};e.onerror=c}},L={I:function(){return d.createNode(v,"/",16895,0)},kf:function(a,b,c){c&&K(1==b==(6==c));a={uf:a,type:b,protocol:c,L:v,Bb:{},Yc:[],cb:[],hb:L.R};b=L.ic();c=d.createNode(L.root,b,49152,0);c.gb=a;b=d.Fd({path:b,k:c,H:d.ie("r+"),seekable:G,o:L.o});a.ia=b;return a},Yd:function(a){a=d.Aa(a);return!a||!d.Jf(a.k.mode)?v:a.k.gb},o:{ne:function(a){a=a.k.gb;return a.hb.ne(a)},vb:function(a,b,c){a=a.k.gb;return a.hb.vb(a,
-b,c)},O:function(a,b,c,d){a=a.k.gb;d=a.hb.ag(a,d);if(!d)return 0;b.set(d.buffer,c);return d.buffer.length},write:function(a,b,c,d){a=a.k.gb;return a.hb.bg(a,b,c,d)},close:function(a){a=a.k.gb;a.hb.close(a)}},ic:function(){L.ic.Hd||(L.ic.Hd=0);return"socket["+L.ic.Hd++ +"]"},R:{Ub:function(a,b,c){var f;"object"===typeof b&&(f=b,c=b=v);if(f)f._socket?(b=f._socket.remoteAddress,c=f._socket.remotePort):((c=/ws[s]?:\/\/([^:]+):(\d+)/.exec(f.url))||l(Error("WebSocket URL must be in the format ws(s)://address:port")),
-b=c[1],c=parseInt(c[2],10));else try{var e=ea?{headers:{"websocket-protocol":["binary"]}}:["binary"];f=new (ea?require("ws"):window.WebSocket)("ws://"+b+":"+c,e);f.binaryType="arraybuffer"}catch(h){l(new d.e(i.Fe))}b={ma:b,port:c,q:f,Vb:[]};L.R.zd(a,b);L.R.Df(a,b);2===a.type&&"undefined"!==typeof a.ib&&b.Vb.push(new Uint8Array([255,255,255,255,112,111,114,116,(a.ib&65280)>>8,a.ib&255]));return b},ac:function(a,b,c){return a.Bb[b+":"+c]},zd:function(a,b){a.Bb[b.ma+":"+b.port]=b},re:function(a,b){delete a.Bb[b.ma+
-":"+b.port]},Df:function(a,b){function c(){try{for(var a=b.Vb.shift();a;)b.q.send(a),a=b.Vb.shift()}catch(c){b.q.close()}}function d(c){K("string"!==typeof c&&c.byteLength!==p);var c=new Uint8Array(c),f=e;e=G;f&&10===c.length&&255===c[0]&&255===c[1]&&255===c[2]&&255===c[3]&&112===c[4]&&111===c[5]&&114===c[6]&&116===c[7]?(c=c[8]<<8|c[9],L.R.re(a,b),b.port=c,L.R.zd(a,b)):a.cb.push({ma:b.ma,port:b.port,data:c})}var e=s;ea?(b.q.on("open",c),b.q.on("message",function(a,b){b.binary&&d((new Uint8Array(a)).buffer)}),
-b.q.on("error",H())):(b.q.onopen=c,b.q.onmessage=function(a){d(a.data)})},ne:function(a){if(1===a.type&&a.L)return a.Yc.length?65:0;var b=0,c=1===a.type?L.R.ac(a,a.na,a.oa):v;if(a.cb.length||!c||c&&c.q.readyState===c.q.Db||c&&c.q.readyState===c.q.CLOSED)b|=65;if(!c||c&&c.q.readyState===c.q.OPEN)b|=4;if(c&&c.q.readyState===c.q.Db||c&&c.q.readyState===c.q.CLOSED)b|=16;return b},vb:function(a,b,c){switch(b){case 21531:return b=0,a.cb.length&&(b=a.cb[0].data.length),u[c>>2]=b,0;default:return i.C}},close:function(a){if(a.L){try{a.L.close()}catch(b){}a.L=
-v}for(var c=Object.keys(a.Bb),d=0;d<c.length;d++){var e=a.Bb[c[d]];try{e.q.close()}catch(h){}L.R.re(a,e)}return 0},bind:function(a,b,c){("undefined"!==typeof a.bd||"undefined"!==typeof a.ib)&&l(new d.e(i.C));a.bd=b;a.ib=c||Tb();if(2===a.type){a.L&&(a.L.close(),a.L=v);try{a.hb.Lf(a,0)}catch(f){f instanceof d.e||l(f),f.Yb!==i.Ib&&l(f)}}},qi:function(a,b,c){a.L&&l(new d.e(ERRNO_CODS.Ib));if("undefined"!==typeof a.na&&"undefined"!==typeof a.oa){var f=L.R.ac(a,a.na,a.oa);f&&(f.q.readyState===f.q.CONNECTING&&
-l(new d.e(i.De)),l(new d.e(i.He)))}b=L.R.Ub(a,b,c);a.na=b.ma;a.oa=b.port;l(new d.e(i.Ge))},Lf:function(a){ea||l(new d.e(i.Ib));a.L&&l(new d.e(i.C));var b=require("ws").Server;a.L=new b({host:a.bd,port:a.ib});a.L.on("connection",function(b){if(1===a.type){var d=L.kf(a.uf,a.type,a.protocol),b=L.R.Ub(d,b);d.na=b.ma;d.oa=b.port;a.Yc.push(d)}else L.R.Ub(a,b)});a.L.on("closed",function(){a.L=v});a.L.on("error",H())},accept:function(a){a.L||l(new d.e(i.C));var b=a.Yc.shift();b.ia.H=a.ia.H;return b},Di:function(a,
-b){var c,f;b?((a.na===p||a.oa===p)&&l(new d.e(i.Gb)),c=a.na,f=a.oa):(c=a.bd||0,f=a.ib||0);return{ma:c,port:f}},bg:function(a,b,c,f,e,h){if(2===a.type){if(e===p||h===p)e=a.na,h=a.oa;(e===p||h===p)&&l(new d.e(i.Ee))}else e=a.na,h=a.oa;var g=L.R.ac(a,e,h);1===a.type&&((!g||g.q.readyState===g.q.Db||g.q.readyState===g.q.CLOSED)&&l(new d.e(i.Gb)),g.q.readyState===g.q.CONNECTING&&l(new d.e(i.nb)));b=b instanceof Array||b instanceof ArrayBuffer?b.slice(c,c+f):b.buffer.slice(b.byteOffset+c,b.byteOffset+c+
-f);if(2===a.type&&(!g||g.q.readyState!==g.q.OPEN)){if(!g||g.q.readyState===g.q.Db||g.q.readyState===g.q.CLOSED)g=L.R.Ub(a,e,h);g.Vb.push(b);return f}try{return g.q.send(b),f}catch(j){l(new d.e(i.C))}},ag:function(a,b){1===a.type&&a.L&&l(new d.e(i.Gb));var c=a.cb.shift();if(!c){if(1===a.type){var e=L.R.ac(a,a.na,a.oa);if(e){if(e.q.readyState===e.q.Db||e.q.readyState===e.q.CLOSED)return v;l(new d.e(i.nb))}l(new d.e(i.Gb))}l(new d.e(i.nb))}var e=c.data.byteLength||c.data.length,k=c.data.byteOffset||
-0,h=c.data.buffer||c.data,g=Math.min(b,e),j={buffer:new Uint8Array(h,k,g),ma:c.ma,port:c.port};1===a.type&&g<e&&(c.data=new Uint8Array(h,k+g,e-g),a.cb.unshift(c));return j}}};e._memset=Bc;e._strlen=Wb;var tb=[];e._memmove=Cc;var Ta=[31,29,31,30,31,30,31,31,30,31,30,31],Ua=[31,28,31,30,31,30,31,31,30,31,30,31],Dc=fb;e._emscripten_replace_memory=rc;d.hd();pa.unshift({qa:function(){!e.noFSInit&&!d.Ba.Xa&&d.Ba()}});zb.push({qa:function(){d.ce=G}});Ga.push({qa:function(){d.Zf()}});e.FS_createFolder=d.ef;
-e.FS_createPath=d.hf;e.FS_createDataFile=d.Dc;e.FS_createPreloadedFile=d.jf;e.FS_createLazyFile=d.ff;e.FS_createLink=d.gf;e.FS_createDevice=d.Ha;Na=t.we(4);u[Na>>2]=0;pa.unshift({qa:function(){ca.Ba()}});Ga.push({qa:H()});ca.Be=new t.pb;if(ea){var O=require("fs");J.hd()}pa.push({qa:function(){L.root=d.I(L,{},v)}});Qa.$=I([0],"i8",Q);tc=aa=t.rb(ra);Cb=tc+5242880;uc=$=t.rb(Cb);K(uc<ba,"TOTAL_MEMORY not big enough for stack");var Ec=I([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",3),Fc=I([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,
-0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3),Ka=Math.min;
-var k=(function(global,env,buffer) {
-// EMSCRIPTEN_START_ASM
-"almost asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=env._stdin|0;var p=env.__ZTVN10__cxxabiv117__class_type_infoE|0;var q=env._stderr|0;var r=env.__ZTISt9exception|0;var s=env.__ZTVN10__cxxabiv120__si_class_type_infoE|0;var t=env._stdout|0;var u=env.___dso_handle|0;var v=+env.NaN;var w=+env.Infinity;var x=0;var y=0;var z=0;var A=0;var B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0.0;var K=0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=global.Math.floor;var V=global.Math.abs;var W=global.Math.sqrt;var X=global.Math.pow;var Y=global.Math.cos;var Z=global.Math.sin;var _=global.Math.tan;var $=global.Math.acos;var aa=global.Math.asin;var ba=global.Math.atan;var ca=global.Math.atan2;var da=global.Math.exp;var ea=global.Math.log;var fa=global.Math.ceil;var ga=global.Math.imul;var ha=env.abort;var ia=env.assert;var ja=env.asmPrintInt;var ka=env.asmPrintFloat;var la=env.min;var ma=env.invoke_viiiii;var na=env.invoke_vi;var oa=env.invoke_vii;var pa=env.invoke_ii;var qa=env.invoke_iiiiii;var ra=env.invoke_iiii;var sa=env.invoke_viiiiid;var ta=env.invoke_viiiiiiii;var ua=env.invoke_viiiiii;var va=env.invoke_viiiiiiiiiiiii;var wa=env.invoke_viiiiiii;var xa=env.invoke_viiiiiid;var ya=env.invoke_viiiiiiiii;var za=env.invoke_viiiiiiiiii;var Aa=env.invoke_iii;var Ba=env.invoke_viiiiiiiiiiii;var Ca=env.invoke_iiiii;var Da=env.invoke_viii;var Ea=env.invoke_v;var Fa=env.invoke_iiiiiiiii;var Ga=env.invoke_viiii;var Ha=env._llvm_lifetime_end;var Ia=env.__scanString;var Ja=env._pthread_mutex_lock;var Ka=env.___cxa_end_catch;var La=env._strtoull;var Ma=env._fflush;var Na=env.__isLeapYear;var Oa=env._fwrite;var Pa=env._send;var Qa=env._pthread_mutex_init;var Ra=env._llvm_umul_with_overflow_i32;var Sa=env._isspace;var Ta=env._read;var Ua=env._isxdigit_l;var Va=env._fileno;var Wa=env.___cxa_guard_abort;var Xa=env._newlocale;var Ya=env.___gxx_personality_v0;var Za=env._pthread_cond_wait;var _a=env.___cxa_rethrow;var $a=env._fmod;var ab=env.___resumeException;var bb=env._llvm_va_end;var cb=env._vsscanf;var db=env._snprintf;var eb=env._fgetc;var fb=env.__getFloat;var gb=env._pthread_cond_signal;var hb=env.___cxa_free_exception;var ib=env._isdigit_l;var jb=env.___setErrNo;var kb=env._isxdigit;var lb=env._exit;var mb=env._sprintf;var nb=env._asprintf;var ob=env.___ctype_b_loc;var pb=env._freelocale;var qb=env._catgets;var rb=env.___cxa_is_number_type;var sb=env._llvm_uadd_with_overflow_i32;var tb=env.___cxa_does_inherit;var ub=env.___cxa_guard_acquire;var vb=env.___cxa_begin_catch;var wb=env._emscripten_memcpy_big;var xb=env._recv;var yb=env.__parseInt64;var zb=env.__ZSt18uncaught_exceptionv;var Ab=env.__ZNSt9exceptionD2Ev;var Bb=env._mkport;var Cb=env._copysign;var Db=env.__exit;var Eb=env._strftime;var Fb=env.___cxa_throw;var Gb=env._printf;var Hb=env._pread;var Ib=env._strtoull_l;var Jb=env.__arraySum;var Kb=env._sysconf;var Lb=env._strtoll_l;var Mb=env.___cxa_find_matching_catch;var Nb=env.__formatString;var Ob=env._pthread_cond_broadcast;var Pb=env.__ZSt9terminatev;var Qb=env._vfprintf;var Rb=env._pthread_mutex_unlock;var Sb=env.___cxa_call_unexpected;var Tb=env._sbrk;var Ub=env._atexit;var Vb=env.___errno_location;var Wb=env._strerror;var Xb=env._pthread_mutex_destroy;var Yb=env._catclose;var Zb=env._llvm_lifetime_start;var _b=env.___cxa_guard_release;var $b=env._ungetc;var ac=env._pthread_cond_destroy;var bc=env._uselocale;var cc=env._vsnprintf;var dc=env._sscanf;var ec=env.___assert_fail;var fc=env._fread;var gc=env._strftime_l;var hc=env._abort;var ic=env._fprintf;var jc=env._isdigit;var kc=env._strtoll;var lc=env.__addDays;var mc=env._fabs;var nc=env.__reallyNegative;var oc=env._write;var pc=env.___cxa_allocate_exception;var qc=env.___cxa_pure_virtual;var rc=env._vasprintf;var sc=env._catopen;var tc=env.___ctype_toupper_loc;var uc=env.___ctype_tolower_loc;var vc=env._pthread_join;var wc=env._pthread_cond_init;var xc=env._pwrite;var yc=env._strerror_r;var zc=env._pthread_create;var Ac=env._time;var Bc=0.0;
-// EMSCRIPTEN_START_FUNCS
-function Xj(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=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;k=i;i=i+88|0;n=k|0;p=k+24|0;q=k+40|0;s=k+56|0;r=k+72|0;o=e+18596|0;m=c[o>>2]|0;t=e+18600|0;D=c[t>>2]|0;z=m+10368|0;y=c[z>>2]|0;x=f>>y;A=g>>y;E=1<<h-y;l=E+A|0;if((E|0)>0){E=E+x|0;y=m+10372|0;F=m+10360|0;do{G=x;do{T=(ga(c[y>>2]|0,A)|0)+G|0;T=(c[F>>2]|0)+(T*3|0)|0;C=(d[T]|d[T+1|0]<<8)<<16>>16&-8;a[T]=C;C=C>>8;a[T+1|0]=C;G=G+1|0;}while((G|0)<(E|0));A=A+1|0;}while((A|0)<(l|0));y=c[z>>2]|0}l=f>>y;A=g>>y;if(!((l|0)>-1)){ec(1024,904,128,17320)}x=m+10372|0;E=c[x>>2]|0;if((l|0)>=(E|0)){ec(1024,904,128,17320)}if(!((A|0)>-1)){ec(816,904,129,17320)}y=m+10376|0;if((A|0)>=(c[y>>2]|0)){ec(816,904,129,17320)}F=(ga(E,A)|0)+l|0;A=m+10360|0;F=(c[A>>2]|0)+(F*3|0)|0;C=(d[F]|d[F+1|0]<<8)<<16>>16&-8|h&7;a[F]=C;C=C>>8;a[F+1|0]=C;F=c[m+10448>>2]|0;l=f>>F;I=g>>F;F=1<<h-F;E=F+I|0;if((F|0)>0){F=F+l|0;H=m+10452|0;G=m+10440|0;J=I;do{I=l;do{T=(ga(c[H>>2]|0,J)|0)+I|0;a[(c[G>>2]|0)+T|0]=0;I=I+1|0;}while((I|0)<(F|0));J=J+1|0;}while((J|0)<(E|0))}l=1<<h;Qk(e,f,g,f,g);do{if((a[m+5964|0]|0)==0){a[e+32|0]=0}else{T=ud(e+18556|0,(c[e+18580>>2]|0)+161|0)|0;a[e+32|0]=T;if((T|0)==0){break}G=c[z>>2]|0;E=f>>G;H=g>>G;G=1<<h-G;F=G+H|0;if((G|0)>0){G=G+E|0;do{I=E;do{T=(ga(c[x>>2]|0,H)|0)+I|0;T=(c[A>>2]|0)+(T*3|0)|0;C=(d[T]|d[T+1|0]<<8)<<16>>16|2048;a[T]=C;C=C>>8;a[T+1|0]=C;I=I+1|0;}while((I|0)<(G|0));H=H+1|0;}while((H|0)<(F|0))}F=c[m+10348>>2]|0;E=f>>F;F=g>>F;if(!((E|0)>-1)){ec(1024,904,128,17320)}G=c[m+10352>>2]|0;if((E|0)>=(G|0)){ec(1024,904,128,17320)}if(!((F|0)>-1)){ec(816,904,129,17320)}if((F|0)<(c[m+10356>>2]|0)){T=(ga(G,F)|0)+E|0;a[(c[m+10340>>2]|0)+(T*24|0)+22|0]=1;break}else{ec(816,904,129,17320)}}}while(0);D=D+20|0;do{if((c[D>>2]|0)==2){t=0}else{E=c[o>>2]|0;G=f-1|0;do{if((G|g|0)<0){I=0}else{if((c[E+1248>>2]|0)<=(G|0)){I=0;break}if((c[E+1252>>2]|0)<=(g|0)){I=0;break}F=c[E+5804>>2]|0;T=ga(g>>F,c[E+5820>>2]|0)|0;H=T+(f>>F)|0;F=T+(G>>F)|0;T=c[E+10340>>2]|0;if((b[T+(H*24|0)>>1]|0)!=(b[T+(F*24|0)>>1]|0)){I=0;break}I=c[E+10308>>2]|0;I=(c[I+(H<<2)>>2]|0)==(c[I+(F<<2)>>2]|0)|0}}while(0);F=g-1|0;do{if((F|f|0)<0){H=0}else{if((c[E+1248>>2]|0)<=(f|0)){H=0;break}if((c[E+1252>>2]|0)<=(F|0)){H=0;break}S=c[E+5804>>2]|0;T=c[E+5820>>2]|0;H=f>>S;J=(ga(g>>S,T)|0)+H|0;H=(ga(F>>S,T)|0)+H|0;T=c[E+10340>>2]|0;if((b[T+(J*24|0)>>1]|0)!=(b[T+(H*24|0)>>1]|0)){H=0;break}T=c[E+10308>>2]|0;H=(c[T+(J<<2)>>2]|0)==(c[T+(H<<2)>>2]|0)|0}}while(0);do{if((I|0)==0){v=5}else{T=c[E+10368>>2]|0;J=G>>T;G=g>>T;if(!((J|0)>-1)){ec(1024,904,118,17320)}I=c[E+10372>>2]|0;if((J|0)>=(I|0)){ec(1024,904,118,17320)}if(!((G|0)>-1)){ec(816,904,119,17320)}if((G|0)<(c[E+10376>>2]|0)){T=(ga(I,G)|0)+J|0;T=(c[E+10360>>2]|0)+(T*3|0)|0;v=((d[T]|d[T+1|0]<<8)<<16>>16&768)==512?6:5;break}else{ec(816,904,119,17320)}}}while(0);do{if((H|0)==0){u=0}else{T=c[E+10368>>2]|0;G=f>>T;F=F>>T;if(!((G|0)>-1)){ec(1024,904,118,17320)}H=c[E+10372>>2]|0;if((G|0)>=(H|0)){ec(1024,904,118,17320)}if(!((F|0)>-1)){ec(816,904,119,17320)}if((F|0)<(c[E+10376>>2]|0)){u=(ga(H,F)|0)+G|0;u=(c[E+10360>>2]|0)+(u*3|0)|0;u=((d[u]|d[u+1|0]<<8)<<16>>16&768)==512|0;break}else{ec(816,904,119,17320)}}}while(0);E=e+18556|0;F=e+18580|0;if(((ud(E,(c[F>>2]|0)+(u+v)|0)|0)&255)<<24>>24==0){if((c[D>>2]|0)==2){t=0;break}t=(ud(E,(c[F>>2]|0)+149|0)|0)==0|0;break}a:do{if((c[(c[t>>2]|0)+804>>2]|0)<2){m=0}else{if((ud(E,(c[F>>2]|0)+148|0)|0)==0){m=0;break}if(((c[(c[t>>2]|0)+804>>2]|0)-1|0)>1){n=1}else{m=1;break}while(1){m=n+1|0;if((wd(E)|0)==0){m=n&255;break a}if((m|0)<((c[(c[t>>2]|0)+804>>2]|0)-1|0)){n=m}else{m=m&255;break}}}}while(0);p=e+26|0;a[p]=m<<5|a[p]&15|16;p=c[z>>2]|0;m=f>>p;p=g>>p;if(!((m|0)>-1)){ec(1024,904,128,17320)}n=c[x>>2]|0;if((m|0)>=(n|0)){ec(1024,904,128,17320)}if(!((p|0)>-1)){ec(816,904,129,17320)}if((p|0)>=(c[y>>2]|0)){ec(816,904,129,17320)}p=(ga(n,p)|0)+m|0;p=(c[A>>2]|0)+(p*3|0)|0;C=(d[p]|d[p+1|0]<<8)<<16>>16&-57;a[p]=C;C=C>>8;a[p+1|0]=C;p=c[z>>2]|0;m=f>>p;n=g>>p;p=1<<h-p;h=p+n|0;if((p|0)>0){p=p+m|0;do{q=m;do{T=(ga(c[x>>2]|0,n)|0)+q|0;T=(c[A>>2]|0)+(T*3|0)|0;C=(d[T]|d[T+1|0]<<8)<<16>>16&-769|512;a[T]=C;C=C>>8;a[T+1|0]=C;q=q+1|0;}while((q|0)<(p|0));n=n+1|0;}while((n|0)<(h|0))}Ii(c[e+18592>>2]|0,c[t>>2]|0,c[o>>2]|0,e+16|0,f,g,0,0,l,l,l,0);i=k;return}}while(0);D=c[z>>2]|0;u=f>>D;F=g>>D;D=1<<h-D;v=D+F|0;if((D|0)>0){E=D+u|0;D=(t&65535)<<8;do{G=u;do{T=(ga(c[x>>2]|0,F)|0)+G|0;T=(c[A>>2]|0)+(T*3|0)|0;C=(d[T]|d[T+1|0]<<8)<<16>>16&-769|D;a[T]=C;C=C>>8;a[T+1|0]=C;G=G+1|0;}while((G|0)<(E|0));F=F+1|0;}while((F|0)<(v|0))}u=(t|0)!=0;if(u){B=87}else{if((c[m+5800>>2]|0)==(h|0)){B=87}else{v=0;w=0}}if((B|0)==87){E=c[o>>2]|0;v=(t|0)==0;D=e+18556|0;F=e+18580|0;G=ud(D,(c[F>>2]|0)+8|0)|0;do{if(v){w=(G|0)!=0?0:3}else{if((G|0)!=0){w=0;break}G=ud(D,(c[F>>2]|0)+9|0)|0;if((c[E+5800>>2]|0)>=(h|0)){if((G|0)!=0){w=1;break}if((h|0)==3){w=2;break}w=3-(ud(D,(c[F>>2]|0)+10|0)|0)|0;break}if((a[E+5466|0]|0)==0){w=(G|0)!=0?1:2;break}if((ud(D,(c[F>>2]|0)+11|0)|0)!=0){w=(G|0)!=0?1:2;break}E=(G|0)!=0;F=E^1;D=(wd(D)|0)==0;if(!(D|F)){w=5;break}if(E&D){w=4;break}if(D&F){w=6;break}if(!(E|D)){w=7;break}ec(536,14776,1760,17936)}}while(0);v=(w|0)==3&v&1}E=c[z>>2]|0;D=f>>E;E=g>>E;if(!((D|0)>-1)){ec(1024,904,128,17320)}F=c[x>>2]|0;if((D|0)>=(F|0)){ec(1024,904,128,17320)}if(!((E|0)>-1)){ec(816,904,129,17320)}if((E|0)>=(c[y>>2]|0)){ec(816,904,129,17320)}y=(ga(F,E)|0)+D|0;y=(c[A>>2]|0)+(y*3|0)|0;C=(d[y]|d[y+1|0]<<8)<<16>>16&-57|(w&65535)<<3&56;a[y]=C;C=C>>8;a[y+1|0]=C;y=(t|0)==0;D=(w|0)==0;b:do{if(y){do{if(D){if((a[m+5468|0]|0)==0){n=l;o=0;break}if((c[m+5884>>2]|0)>(h|0)){B=165;break}if((c[m+5888>>2]|0)<(h|0)){B=165;break}B=e+18556|0;if((vd(B)|0)==0){B=165;break}r=c[z>>2]|0;p=f>>r;q=g>>r;r=1<<h-r;h=r+q|0;if((r|0)>0){r=r+p|0;do{s=p;do{T=(ga(c[x>>2]|0,q)|0)+s|0;T=(c[A>>2]|0)+(T*3|0)|0;C=(d[T]|d[T+1|0]<<8)<<16>>16|1024;a[T]=C;C=C>>8;a[T+1|0]=C;s=s+1|0;}while((s|0)<(r|0));q=q+1|0;}while((q|0)<(h|0))}h=c[m+10348>>2]|0;p=f>>h;h=g>>h;if(!((p|0)>-1)){ec(1024,904,128,17320)}q=c[m+10352>>2]|0;if((p|0)>=(q|0)){ec(1024,904,128,17320)}if(!((h|0)>-1)){ec(816,904,129,17320)}if((h|0)>=(c[m+10356>>2]|0)){ec(816,904,129,17320)}q=(ga(q,h)|0)+p|0;a[(c[m+10340>>2]|0)+(q*24|0)+22|0]=1;m=e+18560|0;q=c[m>>2]|0;h=n|0;c[h>>2]=q;c[n+4>>2]=(c[e+18564>>2]|0)-q;q=n+8|0;c[q>>2]=0;c[q+4>>2]=0;c[n+16>>2]=0;q=c[o>>2]|0;r=c[q+5760>>2]|0;e=a[q+5469|0]|0;p=c[q+40>>2]|0;q=c[q+4>>2]|0;do{if((r|0)>8){q=q+((ga(p,g)|0)+f<<1)|0;u=r-e|0;if((l|0)>0){r=0}else{break}do{s=ga(r,p)|0;t=0;do{T=(nd(n,e)|0)<<u&65535;b[q+(t+s<<1)>>1]=T;t=t+1|0;}while((t|0)<(l|0));r=r+1|0;}while((r|0)<(l|0))}else{r=r-e|0;if((l|0)>0){u=0}else{break}do{s=(ga(u+g|0,p)|0)+f|0;t=0;do{T=(nd(n,e)|0)<<r&255;a[q+(s+t)|0]=T;t=t+1|0;}while((t|0)<(l|0));u=u+1|0;}while((u|0)<(l|0))}}while(0);A=c[o>>2]|0;do{if((c[A+5776>>2]|0)!=0){q=c[A+5768>>2]|0;w=c[A+5780>>2]|0;r=(l|0)/(w|0)|0;u=c[A+5784>>2]|0;s=(l|0)/(u|0)|0;v=(f|0)/(w|0)|0;x=(g|0)/(u|0)|0;t=a[A+5470|0]|0;p=t<<24>>24;e=c[A+44>>2]|0;y=c[A+8>>2]|0;if((q|0)>8){v=y+((ga(e,x)|0)+v<<1)|0;x=q-p|0;if((s|0)>0){w=(r|0)>0;u=0;do{if(w){q=ga(u,e)|0;t=0;do{T=(nd(n,p)|0)<<x&65535;b[v+(t+q<<1)>>1]=T;t=t+1|0;}while((t|0)<(r|0))}u=u+1|0;}while((u|0)<(s|0));e=c[o>>2]|0;A=e;w=c[e+5780>>2]|0;u=c[e+5784>>2]|0;t=a[e+5470|0]|0;q=c[e+5768>>2]|0;e=c[e+44>>2]|0}o=(l|0)/(w|0)|0;l=(l|0)/(u|0)|0;p=t<<24>>24;g=(c[A+12>>2]|0)+((ga((g|0)/(u|0)|0,e)|0)+((f|0)/(w|0)|0)<<1)|0;r=q-p|0;if((l|0)<=0){break}q=(o|0)>0;f=0;do{if(q){s=ga(f,e)|0;t=0;do{T=(nd(n,p)|0)<<r&65535;b[g+(t+s<<1)>>1]=T;t=t+1|0;}while((t|0)<(o|0))}f=f+1|0;}while((f|0)<(l|0))}else{z=q-p|0;if((s|0)>0){w=(r|0)>0;u=0;do{if(w){t=(ga(u+x|0,e)|0)+v|0;q=0;do{T=(nd(n,p)|0)<<z&255;a[y+(t+q)|0]=T;q=q+1|0;}while((q|0)<(r|0))}u=u+1|0;}while((u|0)<(s|0));e=c[o>>2]|0;A=e;w=c[e+5780>>2]|0;u=c[e+5784>>2]|0;t=a[e+5470|0]|0;q=c[e+5768>>2]|0;e=c[e+44>>2]|0}o=(l|0)/(w|0)|0;l=(l|0)/(u|0)|0;f=(f|0)/(w|0)|0;g=(g|0)/(u|0)|0;p=t<<24>>24;r=c[A+12>>2]|0;q=q-p|0;if((l|0)<=0){break}u=(o|0)>0;t=0;do{if(u){s=(ga(t+g|0,e)|0)+f|0;v=0;do{T=(nd(n,p)|0)<<q&255;a[r+(s+v)|0]=T;v=v+1|0;}while((v|0)<(o|0))}t=t+1|0;}while((t|0)<(l|0))}}}while(0);pd(n);c[m>>2]=c[h>>2];td(B);i=k;return}else{B=165}}while(0);do{if((B|0)==165){if((w|0)!=3){n=l;o=0;break}n=(l|0)/2|0;o=-1}}while(0);o=o+h|0;x=(l|0)>0;if(x){A=e+18556|0;z=e+18580|0;j=0;B=0;do{D=0;E=B;while(1){T=ud(A,(c[z>>2]|0)+12|0)|0;B=E+1|0;c[p+(E<<2)>>2]=T;D=D+n|0;if((D|0)<(l|0)){E=B}else{break}}j=j+n|0;}while((j|0)<(l|0))}A=f-1|0;do{if((A|g|0)<0){A=0}else{if((c[m+1248>>2]|0)<=(A|0)){A=0;break}if((c[m+1252>>2]|0)<=(g|0)){A=0;break}T=c[m+5804>>2]|0;S=ga(g>>T,c[m+5820>>2]|0)|0;z=S+(f>>T)|0;A=S+(A>>T)|0;T=c[m+10340>>2]|0;if((b[T+(z*24|0)>>1]|0)!=(b[T+(A*24|0)>>1]|0)){A=0;break}T=c[m+10308>>2]|0;A=(c[T+(z<<2)>>2]|0)==(c[T+(A<<2)>>2]|0)|0}}while(0);B=g-1|0;do{if((B|f|0)<0){B=0}else{if((c[m+1248>>2]|0)<=(f|0)){B=0;break}if((c[m+1252>>2]|0)<=(B|0)){B=0;break}R=c[m+5804>>2]|0;S=c[m+5820>>2]|0;T=f>>R;z=(ga(g>>R,S)|0)+T|0;B=(ga(B>>R,S)|0)+T|0;T=c[m+10340>>2]|0;if((b[T+(z*24|0)>>1]|0)!=(b[T+(B*24|0)>>1]|0)){B=0;break}T=c[m+10308>>2]|0;B=(c[T+(z<<2)>>2]|0)==(c[T+(B<<2)>>2]|0)|0}}while(0);if(x){z=e+18556|0;A=(A|0)!=0;B=(B|0)!=0;D=m+5872|0;F=m+5876|0;j=r|0;G=m+10408|0;J=m+10412|0;E=m+10400|0;H=r+4|0;I=r+8|0;K=0;N=0;do{L=K+g|0;M=(K|0)>0|B;O=0;do{Q=c[p+(N<<2)>>2]|0;if((Q|0)==0){T=yd(z,5)|0;c[s+(N<<2)>>2]=T}else{T=xd(z,2)|0;c[q+(N<<2)>>2]=T}T=O+f|0;P=c[D>>2]|0;P=(ga(L>>P,c[F>>2]|0)|0)+(T>>P)|0;di(j,T,L,P,(O|0)>0|A,M,m);if((Q|0)==1){R=c[r+(c[q+(N<<2)>>2]<<2)>>2]&255}else{Q=c[j>>2]|0;R=c[H>>2]|0;if((Q|0)>(R|0)){c[j>>2]=R;c[H>>2]=Q;S=R}else{S=Q;Q=R}T=c[I>>2]|0;if((S|0)>(T|0)){c[j>>2]=T;c[I>>2]=S;R=S;S=T}else{R=T}if((Q|0)>(R|0)){c[H>>2]=R;c[I>>2]=Q;T=R}else{T=Q;Q=R}R=c[s+(N<<2)>>2]|0;R=((R|0)>=(S|0))+R|0;R=((R|0)>=(T|0))+R|0;R=((R|0)>=(Q|0))+R&255}S=1<<o-(c[G>>2]|0);if((S|0)>0){Q=0;do{T=0;do{U=T+P+(ga(c[J>>2]|0,Q)|0)|0;a[(c[E>>2]|0)+U|0]=R;T=T+1|0;}while((T|0)<(S|0));Q=Q+1|0;}while((Q|0)<(S|0))}N=N+1|0;O=O+n|0;}while((O|0)<(l|0));K=K+n|0;}while((K|0)<(l|0))}p=m+5776|0;q=c[p>>2]|0;if((q|0)==0){break}else if((q|0)!=3){l=e+18556|0;if((ud(l,(c[e+18580>>2]|0)+13|0)|0)==0){n=4}else{n=yd(l,2)|0}q=c[m+10408>>2]|0;o=f>>q;q=g>>q;if(!((o|0)>-1)){ec(1024,904,118,17320)}l=c[m+10412>>2]|0;if((o|0)>=(l|0)){ec(1024,904,118,17320)}if(!((q|0)>-1)){ec(816,904,119,17320)}if((q|0)>=(c[m+10416>>2]|0)){ec(816,904,119,17320)}o=(ga(l,q)|0)+o|0;o=d[(c[m+10400>>2]|0)+o|0]|0;l=(n|0)==4;if(!l){n=c[19448+(n<<2)>>2]|0;o=(n|0)==(o|0)?34:n}if((c[p>>2]|0)==2){o=d[30544+o|0]|0}Yj(m,f,g,h,o,l);break}if(!x){break}q=e+18556|0;p=e+18580|0;r=m+10408|0;D=m+10412|0;B=m+10416|0;s=m+10400|0;j=0;c:while(1){A=j+g|0;z=0;do{x=z+f|0;if((ud(q,(c[p>>2]|0)+13|0)|0)==0){E=4}else{E=yd(q,2)|0}H=c[r>>2]|0;G=x>>H;H=A>>H;if(!((G|0)>-1)){B=211;break c}F=c[D>>2]|0;if((G|0)>=(F|0)){B=211;break c}if(!((H|0)>-1)){B=214;break c}if((H|0)>=(c[B>>2]|0)){B=214;break c}G=(ga(F,H)|0)+G|0;G=d[(c[s>>2]|0)+G|0]|0;F=(E|0)==4;if(!F){E=c[19448+(E<<2)>>2]|0;G=(E|0)==(G|0)?34:E}Yj(m,x,A,o,G,F);z=z+n|0;}while((z|0)<(l|0));j=j+n|0;if((j|0)>=(l|0)){break b}}if((B|0)==211){ec(1024,904,118,17320)}else if((B|0)==214){ec(816,904,119,17320)}}else{if(D){Wj(e,f,g,0,0,l,l,j,l,0);break}switch(w|0){case 1:{U=(l|0)/2|0;Wj(e,f,g,0,0,l,U,j,l,0);Wj(e,f,g,0,U,l,U,j,l,1);break b};case 2:{U=(l|0)/2|0;Wj(e,f,g,0,0,U,l,j,l,0);Wj(e,f,g,U,0,U,l,j,l,1);break b};case 4:{U=(l|0)/4|0;Wj(e,f,g,0,0,l,U,j,l,0);Wj(e,f,g,0,U,l,(3<<h|0)/4|0,j,l,1);break b};case 5:{U=(3<<h|0)/4|0;Wj(e,f,g,0,0,l,U,j,l,0);Wj(e,f,g,0,U,l,(l|0)/4|0,j,l,1);break b};case 6:{U=(l|0)/4|0;Wj(e,f,g,0,0,U,l,j,l,0);Wj(e,f,g,U,0,(3<<h|0)/4|0,l,j,l,1);break b};case 7:{U=(3<<h|0)/4|0;Wj(e,f,g,0,0,U,l,j,l,0);Wj(e,f,g,U,0,(l|0)/4|0,l,j,l,1);break b};case 3:{U=(l|0)/2|0;Wj(e,f,g,0,0,U,U,j,l,0);Wj(e,f,g,U,0,U,U,j,l,1);Wj(e,f,g,0,U,U,U,j,l,2);Wj(e,f,g,U,U,U,U,j,l,3);break b};default:{ec(14128,14776,4511,18912)}}}}while(0);do{if(u){if(!((w|0)!=0|(a[e+26|0]&16)==0)){break}if((ud(e+18556|0,(c[e+18580>>2]|0)+153|0)|0)!=0){break}i=k;return}}while(0);if(y){l=(c[m+1396>>2]|0)+v|0}else{l=c[m+1392>>2]|0}U=(c[m+5776>>2]|0)!=0|0;Uj(e,f,g,f,g,f,g,h,0,0,l,v,t,U,U);i=k;return}function Yj(b,d,e,f,g,h){b=b|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;if(h){g=(g|128)&255}else{g=g&255}h=1<<f-(c[b+10408>>2]|0);i=c[b+5872>>2]|0;f=b+5876|0;i=(ga(e>>i,c[f>>2]|0)|0)+(d>>i)|0;if((h|0)<=0){return}j=b+5880|0;e=b+10432|0;d=b+10424|0;b=b+10420|0;l=0;a:while(1){m=0;do{if((m|0)>=(c[f>>2]|0)){g=7;break a}if((l|0)>=(c[j>>2]|0)){g=9;break a}k=i+m+(ga(c[e>>2]|0,l)|0)|0;if((k|0)>=(c[d>>2]|0)){g=11;break a}a[(c[b>>2]|0)+k|0]=g;m=m+1|0;}while((m|0)<(h|0));l=l+1|0;if((l|0)>=(h|0)){g=14;break}}if((g|0)==7){ec(776,904,659,17736)}else if((g|0)==9){ec(704,904,660,17736)}else if((g|0)==11){ec(640,904,663,17736)}else if((g|0)==14){return}}function Zj(b,d,e){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;f=b+18596|0;v=c[f>>2]|0;i=c[v+5820>>2]|0;g=b+12|0;h=v+5965|0;do{if(!e){if((a[h]|0)==0){break}e=c[g>>2]|0;if((e|0)<=0){break}if((c[b+8>>2]|0)!=0){break}if((i|0)>1){e=e-1|0;j=b+18604|0;E=c[j>>2]|0;if(e>>>0<(c[E+10680>>2]|0)-(c[E+10676>>2]|0)>>3>>>0){Yh(v,c[b+18612>>2]|0,1,e,1);Jd(b+18580|0,(c[(c[j>>2]|0)+10676>>2]|0)+((c[g>>2]|0)-1<<3)|0)|0;Hd((c[(c[j>>2]|0)+10676>>2]|0)+((c[g>>2]|0)-1<<3)|0);break}else{E=2;return E|0}}else{Yh(v,c[b+18612>>2]|0,0,e-1|0,1);e=c[b+18600>>2]|0;j=c[e+796>>2]|0;if(j>>>0<3>>>0){Fd(b+18580|0,j,c[e+792>>2]|0);E=b+18588|0;C=0;a[E]=C;C=C>>8;a[E+1|0]=C;C=C>>8;a[E+2|0]=C;C=C>>8;a[E+3|0]=C;break}else{ec(1856,14776,1508,18744);return 0}}}}while(0);k=b+8|0;u=i-1|0;t=b+18612|0;n=b+18580|0;p=b+18584|0;r=v+5828|0;q=b+18604|0;e=b+18556|0;o=v+5935|0;m=b+18600|0;l=b+4|0;j=b|0;s=v+5966|0;v=v+10296|0;B=c[k>>2]|0;D=c[g>>2]|0;w=c[f>>2]|0;a:while(1){x=(ga(D,i)|0)+B|0;if(!(x>>>0<(c[w+10276>>2]|0)-(c[w+10272>>2]|0)>>2>>>0)){b=2;g=38;break}if((B|0)>=(c[w+5820>>2]|0)){b=2;g=38;break}if((D|0)>=(c[w+5828>>2]|0)){b=2;g=38;break}if((D|0)>0&d&(B|0)<(u|0)){Yh(w,c[t>>2]|0,B+1|0,D-1|0,1)}if((c[p>>2]|0)==0){b=2;g=38;break}Pj(b);do{if((a[h]|0)!=0&(B|0)==1){if((D|0)>=((c[r>>2]|0)-1|0)){break}E=c[q>>2]|0;w=c[E+10676>>2]|0;if(!((c[E+10680>>2]|0)-w>>3>>>0>D>>>0)){b=2;g=38;break a}Jd(w+(D<<3)|0,n)|0;Id((c[(c[q>>2]|0)+10676>>2]|0)+(D<<3)|0)}}while(0);E=vd(e)|0;y=(E|0)!=0;do{if(y){if((a[o]|0)==0){break}Jd((c[m>>2]|0)+1332|0,n)|0;Id((c[m>>2]|0)+1332|0);a[(c[m>>2]|0)+1340|0]=1}}while(0);Ek((c[(c[f>>2]|0)+10524>>2]|0)+(x*76|0)|0,1);x=c[g>>2]|0;z=c[l>>2]|0;A=z+1|0;c[l>>2]=A;w=c[f>>2]|0;D=c[w+5836>>2]|0;if((A|0)<(D|0)){E=c[(c[w+10284>>2]|0)+(A<<2)>>2]|0;c[j>>2]=E;D=w+5820|0;B=(E|0)%(c[D>>2]|0)|0;c[k>>2]=B;D=(E|0)/(c[D>>2]|0)|0;c[g>>2]=D}else{c[j>>2]=D;F=w+5820|0;B=(D|0)%(c[F>>2]|0)|0;c[k>>2]=B;D=(D|0)/(c[F>>2]|0)|0;c[g>>2]=D;if((E|0)==0){g=28;break}}if(y){b=0;g=38;break}if((a[s]|0)==0){y=0}else{y=c[v>>2]|0;y=(c[y+(A<<2)>>2]|0)!=(c[y+(z<<2)>>2]|0)|0}if((a[h]|0)==0){x=0}else{x=(x|0)!=(D|0)|0}if((x|y|0)!=0){g=35;break}}if((g|0)==28){Ue((c[b+18592>>2]|0)+4|0,1004,0);a[(c[f>>2]|0)+10516|0]=3;F=2;return F|0}else if((g|0)==35){if((vd(e)|0)==0){Ue((c[b+18592>>2]|0)+4|0,1017,0);a[(c[f>>2]|0)+10516|0]=3;F=2;return F|0}else{td(e);F=1;return F|0}}else if((g|0)==38){return b|0}return 0}function _j(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[b+18596>>2]|0;g=h+5932|0;i=b+18600|0;f=c[i>>2]|0;if((a[f+12|0]|0)==0){d=c[f+796>>2]|0;if(!(d>>>0<3>>>0)){ec(1856,14776,1508,18744);return 0}Fd(b+18580|0,d,c[f+792>>2]|0);k=b+18588|0;C=0;a[k]=C;C=C>>8;a[k+1|0]=C;C=C>>8;a[k+2|0]=C;C=C>>8;a[k+3|0]=C;k=1;return k|0}j=c[f+16>>2]|0;f=e[(c[h+10340>>2]|0)+((c[(c[h+10284>>2]|0)+((c[(c[h+10272>>2]|0)+(j<<2)>>2]|0)-1<<2)>>2]|0)*24|0)+2>>1]|0;k=c[h+48>>2]|0;if(!(f>>>0<(c[h+52>>2]|0)-k>>2>>>0)){k=0;return k|0}f=c[k+(f<<2)>>2]|0;k=c[h+5820>>2]|0;if(pj(g,(j|0)%(k|0)|0,(j|0)/(k|0)|0)|0){d=c[i>>2]|0;f=c[d+796>>2]|0;if(!(f>>>0<3>>>0)){ec(1856,14776,1508,18744);return 0}Fd(b+18580|0,f,c[d+792>>2]|0);k=b+18588|0;C=0;a[k]=C;C=C>>8;a[k+1|0]=C;C=C>>8;a[k+2|0]=C;C=C>>8;a[k+3|0]=C;k=1;return k|0}h=c[b+18604>>2]|0;i=c[b+18608>>2]|0;g=c[h+10632>>2]|0;h=(c[h+10636>>2]|0)-g>>2;if(h>>>0>1>>>0){j=1}else{k=0;return k|0}while(1){k=j+1|0;if((c[g+(j<<2)>>2]|0)==(i|0)){break}if(k>>>0<h>>>0){j=k}else{b=0;d=16;break}}if((d|0)==16){return b|0}d=c[g+(j-1<<2)>>2]|0;if((d|0)==0){k=0;return k|0}Dk(d+44|0,c[d+120>>2]|0);if((a[f+1340|0]|0)==0){k=0;return k|0}k=f+1332|0;Jd(b+18580|0,k)|0;Hd(k);k=1;return k|0}function $j(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+104|0;e=f|0;mb(e|0,1216,(g=i,i=i+8|0,c[g>>2]=c[d+12>>2],g)|0)|0;i=g;d=ev(e|0)|0;if(d>>>0>4294967279>>>0){nm(0)}if(d>>>0<11>>>0){a[b]=d<<1;g=b+1|0;cv(g|0,e|0,d)|0;g=g+d|0;a[g]=0;i=f;return}else{h=d+16&-16;g=Nu(h)|0;c[b+8>>2]=g;c[b>>2]=h|1;c[b+4>>2]=d;cv(g|0,e|0,d)|0;g=g+d|0;a[g]=0;i=f;return}}function ak(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+104|0;e=f|0;h=c[d+16>>2]|0;mb(e|0,1104,(g=i,i=i+16|0,c[g>>2]=c[d+12>>2],c[g+8>>2]=h,g)|0)|0;i=g;d=ev(e|0)|0;if(d>>>0>4294967279>>>0){nm(0)}if(d>>>0<11>>>0){a[b]=d<<1;h=b+1|0;cv(h|0,e|0,d)|0;h=h+d|0;a[h]=0;i=f;return}else{g=d+16&-16;h=Nu(g)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=d;cv(h|0,e|0,d)|0;h=h+d|0;a[h]=0;i=f;return}}function bk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[b+20>>2]|0;h=g+18596|0;e=c[h>>2]|0;f=b|0;d=b+4|0;c[d>>2]=1;Wh(e,f);h=c[h>>2]|0;i=c[g+4>>2]|0;j=c[h+5836>>2]|0;if((i|0)<(j|0)){i=c[(c[h+10284>>2]|0)+(i<<2)>>2]|0;c[g>>2]=i;j=h+5820|0;c[g+8>>2]=(i|0)%(c[j>>2]|0)|0;c[g+12>>2]=(i|0)/(c[j>>2]|0)|0}else{c[g>>2]=j;i=h+5820|0;c[g+8>>2]=(j|0)%(c[i>>2]|0)|0;c[g+12>>2]=(j|0)/(c[i>>2]|0)|0}h=b+8|0;do{if((a[h]|0)==0){b=c[g+18600>>2]|0;i=c[b+796>>2]|0;if(i>>>0<3>>>0){Fd(g+18580|0,i,c[b+792>>2]|0);j=g+18588|0;C=0;a[j]=C;C=C>>8;a[j+1|0]=C;C=C>>8;a[j+2|0]=C;C=C>>8;a[j+3|0]=C;break}else{ec(1856,14776,1508,18744)}}else{if(_j(g)|0){break}c[d>>2]=3;Fk((c[g+18608>>2]|0)+44|0,1);Xh(e,f);return}}while(0);td(g+18556|0);Zj(g,0,(a[h]|0)!=0)|0;c[d>>2]=3;Fk((c[g+18608>>2]|0)+44|0,1);Xh(e,f);return}function ck(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[b+16>>2]|0;l=g+18596|0;f=c[l>>2]|0;h=f+5820|0;i=c[h>>2]|0;e=b|0;d=b+4|0;c[d>>2]=1;Wh(f,e);l=c[l>>2]|0;k=c[g+4>>2]|0;j=c[l+5836>>2]|0;if((k|0)<(j|0)){j=c[(c[l+10284>>2]|0)+(k<<2)>>2]|0;c[g>>2]=j;n=l+5820|0;c[g+8>>2]=(j|0)%(c[n>>2]|0)|0;c[g+12>>2]=(j|0)/(c[n>>2]|0)|0}else{c[g>>2]=j;n=l+5820|0;c[g+8>>2]=(j|0)%(c[n>>2]|0)|0;c[g+12>>2]=(j|0)/(c[n>>2]|0)|0}j=(j|0)/(i|0)|0;b=b+8|0;do{if((a[b]|0)!=0){if(_j(g)|0){break}if((i|0)>0){j=ga(j,i)|0;b=f+10524|0;h=0;do{Ek((c[b>>2]|0)+((h+j|0)*76|0)|0,1);h=h+1|0;}while((h|0)<(i|0))}c[d>>2]=3;Fk((c[g+18608>>2]|0)+44|0,1);Xh(f,e);return}}while(0);td(g+18556|0);if((a[b]|0)==0){b=0}else{b=(a[(c[g+18600>>2]|0)+12|0]|0)==0}Zj(g,1,b)|0;a:do{if((c[g+12>>2]|0)==(j|0)){b=c[h>>2]|0;m=c[g+8>>2]|0;if((m|0)>=(b|0)){break}k=f+5828|0;i=ga(j,i)|0;l=f+10524|0;n=m;m=b;while(1){do{if((n|0)<(m|0)){if((j|0)>=(c[k>>2]|0)){break}Ek((c[l>>2]|0)+((n+i|0)*76|0)|0,1)}}while(0);n=n+1|0;if((n|0)>=(b|0)){break a}m=c[h>>2]|0}}}while(0);c[d>>2]=3;Fk((c[g+18608>>2]|0)+44|0,1);Xh(f,e);return}function dk(b){b=b|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=c[b+18596>>2]|0;e=c[b+4>>2]|0;d=c[h+5836>>2]|0;if((e|0)<(d|0)){m=c[(c[h+10284>>2]|0)+(e<<2)>>2]|0;c[b>>2]=m;n=h+5820|0;c[b+8>>2]=(m|0)%(c[n>>2]|0)|0;c[b+12>>2]=(m|0)/(c[n>>2]|0)|0}else{c[b>>2]=d;n=h+5820|0;c[b+8>>2]=(d|0)%(c[n>>2]|0)|0;c[b+12>>2]=(d|0)/(c[n>>2]|0)|0}d=b+18600|0;k=c[d>>2]|0;if(!(_j(b)|0)){n=18;return n|0}g=b+18556|0;td(g);f=b+18560|0;g=g|0;e=b+18592|0;h=h+5966|0;j=b+18580|0;i=b+18588|0;k=(a[k+12|0]|0)==0;l=0;while(1){do{if((l|0)>0){n=l-1|0;o=c[d>>2]|0;m=c[o+776>>2]|0;if(n>>>0<(c[o+780>>2]|0)-m>>2>>>0){if(((c[f>>2]|0)-2-(c[g>>2]|0)|0)==(c[m+(n<<2)>>2]|0)){break}}Ue((c[e>>2]|0)+4|0,1003,1)}}while(0);l=l+1|0;if(((Zj(b,0,k)|0)&-3|0)==0){d=0;b=15;break}if((a[h]|0)==0){k=0;continue}m=c[d>>2]|0;k=c[m+796>>2]|0;if(!(k>>>0<3>>>0)){b=13;break}Fd(j,k,c[m+792>>2]|0);C=0;a[i]=C;C=C>>8;a[i+1|0]=C;C=C>>8;a[i+2|0]=C;C=C>>8;a[i+3|0]=C;k=0}if((b|0)==13){ec(1856,14776,1508,18744);return 0}else if((b|0)==15){return d|0}return 0}function ek(a){a=a|0;return}function fk(a){a=a|0;Pu(a);return}function gk(a){a=a|0;return}function hk(a){a=a|0;Pu(a);return}function ik(b){b=b|0;c[b+4720>>2]=0;c[b+4724>>2]=0;c[b+4728>>2]=0;kl(b+4904|0);dv(b+4984|0,0,9)|0;a[b|0]=0;return}function jk(a){a=a|0;var b=0,d=0;b=c[a+4720>>2]|0;if((b|0)==0){return}a=a+4724|0;d=c[a>>2]|0;if((d|0)!=(b|0)){c[a>>2]=d+(~(((d-100+(-b|0)|0)>>>0)/100|0)*100|0)}Pu(b);return}function kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=(nd(e,4)|0)&255;a[b+1|0]=m;m=(nd(e,3)|0)+1&255;g=b+2|0;a[g]=m;if(m<<24>>24>7){m=8;return m|0}f=(nd(e,1)|0)&255;a[b+3|0]=f;$k(b+4|0,e,a[g]|0);f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+472>>2]=f;if((f|0)>15){m=8;return m|0}i=qd(e)|0;if((i|0)==-99999){Ue(d,8,0);m=8;return m|0}f=b+476|0;c[f>>2]=i;do{if((i|0)==3){m=(nd(e,1)|0)&255;a[b+480|0]=m;if(m<<24>>24==0){h=11;break}c[b+5012>>2]=0;f=c[f>>2]|0}else{a[b+480|0]=0;h=11}}while(0);if((h|0)==11){f=c[f>>2]|0;c[b+5012>>2]=f}if(f>>>0>3>>>0){Ue(d,1019,0);m=8;return m|0}i=qd(e)|0;if((i|0)==-99999){Ue(d,8,0);m=8;return m|0}f=b+484|0;c[f>>2]=i;i=qd(e)|0;if((i|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+488>>2]=i;f=c[f>>2]|0;if((f|0)==0|(i|0)==0){m=8;return m|0}if((f|0)>7e4|(i|0)>7e4){m=8;return m|0}m=(nd(e,1)|0)&255;a[b+492|0]=m;do{if(m<<24>>24==0){dv(b+496|0,0,16)|0}else{f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+496>>2]=f;f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+500>>2]=f;f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+504>>2]=f;f=qd(e)|0;if(!((f|0)==-99999)){c[b+508>>2]=f;break}Ue(d,8,0);m=8;return m|0}}while(0);f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+512>>2]=f+8;f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+516>>2]=f+8;f=qd(e)|0;if((f|0)==-99999){Ue(d,8,0);m=8;return m|0}m=f+4|0;f=b+520|0;c[f>>2]=m;c[b+5032>>2]=1<<m;m=(nd(e,1)|0)&255;i=b+524|0;a[i]=m;if(m<<24>>24==0){l=a[g]|0;j=(l<<24>>24)-1|0}else{j=0;h=39}while(1){if((h|0)==39){l=a[g]|0}k=(l<<24>>24)-1|0;if((j|0)>(k|0)){h=48;break}h=qd(e)|0;if((h|0)==-99999|(h|0)>15){h=42;break}c[b+528+(j<<2)>>2]=h+1;k=qd(e)|0;if((k|0)==-99999){h=44;break}h=b+556+(j<<2)|0;c[h>>2]=k;k=qd(e)|0;if((k|0)==-99999){h=46;break}c[b+584+(j<<2)>>2]=k;c[b+5128+(j<<2)>>2]=k-1+(c[h>>2]|0);j=j+1|0;h=39}if((h|0)==42){Ue(d,8,0);m=8;return m|0}else if((h|0)==44){Ue(d,8,0);m=8;return m|0}else if((h|0)==46){Ue(d,8,0);m=8;return m|0}else if((h|0)==48){do{if((a[i]|0)!=0){if(!(l<<24>>24<8)){ec(2792,14480,317,17480);return 0}if((k|0)<=0){break}i=b+528+(k<<2)|0;h=b+556+(k<<2)|0;j=b+584+(k<<2)|0;k=0;do{c[b+528+(k<<2)>>2]=c[i>>2];c[b+556+(k<<2)>>2]=c[h>>2];c[b+584+(k<<2)>>2]=c[j>>2];k=k+1|0;}while((k|0)<((a[g]|0)-1|0))}}while(0);h=qd(e)|0;if((h|0)==-99999){Ue(d,8,0);m=8;return m|0}g=b+612|0;c[g>>2]=h+3;i=qd(e)|0;if((i|0)==-99999){Ue(d,8,0);m=8;return m|0}h=b+616|0;c[h>>2]=i;j=qd(e)|0;if((j|0)==-99999){Ue(d,8,0);m=8;return m|0}i=b+620|0;c[i>>2]=j+2;k=qd(e)|0;if((k|0)==-99999){Ue(d,8,0);m=8;return m|0}j=b+624|0;c[j>>2]=k;k=qd(e)|0;if((k|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+628>>2]=k;k=qd(e)|0;if((k|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+632>>2]=k;g=c[g>>2]|0;if((g|0)>6){m=8;return m|0}if(((c[h>>2]|0)+g|0)>6){m=8;return m|0}g=c[i>>2]|0;if((g|0)>5){m=8;return m|0}if(((c[j>>2]|0)+g|0)>5){m=8;return m|0}m=(nd(e,1)|0)&255;a[b+636|0]=m;do{if(!(m<<24>>24==0)){m=(nd(e,1)|0)&255;a[b+637|0]=m;g=b+638|0;if(m<<24>>24==0){mk(g);break}g=lk(e,0,g,0)|0;if((g|0)==0){break}return g|0}}while(0);m=(nd(e,1)|0)&255;a[b+4702|0]=m;m=(nd(e,1)|0)&255;a[b+4703|0]=m;m=(nd(e,1)|0)&255;a[b+4704|0]=m;do{if(m<<24>>24==0){a[b+4705|0]=0;a[b+4706|0]=0;c[b+4708>>2]=0;c[b+4712>>2]=0;a[b+4716|0]=0}else{g=(nd(e,4)|0)+1&255;a[b+4705|0]=g;g=(nd(e,4)|0)+1&255;a[b+4706|0]=g;g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);m=8;return m|0}c[b+4708>>2]=g+3;g=qd(e)|0;if(!((g|0)==-99999)){c[b+4712>>2]=g;m=(nd(e,1)|0)&255;a[b+4716|0]=m;break}Ue(d,8,0);m=8;return m|0}}while(0);g=qd(e)|0;if((g|0)==-99999){Ue(d,8,0);m=8;return m|0}if(g>>>0>64>>>0){Ue(d,1014,0);m=8;return m|0}h=b+4720|0;k=b+4724|0;j=c[k>>2]|0;i=h|0;m=c[i>>2]|0;l=(j-m|0)/100|0;do{if(l>>>0<g>>>0){sk(h,g-l|0)}else{if(!(l>>>0>g>>>0)){break}l=m+(g*100|0)|0;if((j|0)==(l|0)){break}c[k>>2]=j+(~(((j-100+(-l|0)|0)>>>0)/100|0)*100|0)}}while(0);a:do{if((g|0)>0){j=0;while(1){k=j+1|0;if(!(sj(d,b,e,(c[i>>2]|0)+(j*100|0)|0,j,h,0)|0)){g=1005;break}if((k|0)<(g|0)){j=k}else{break a}}return g|0}}while(0);m=(nd(e,1)|0)&255;a[b+4732|0]=m;do{if(m<<24>>24==0){c[b+4736>>2]=0}else{h=qd(e)|0;if((h|0)==-99999){Ue(d,8,0);m=8;return m|0}g=b+4736|0;c[g>>2]=h;if((h|0)>32){m=8;return m|0}if((h|0)>0){h=0}else{break}do{m=nd(e,c[f>>2]|0)|0;c[b+4740+(h<<2)>>2]=m;m=(nd(e,1)|0)&255;a[b+4868+h|0]=m;h=h+1|0;}while((h|0)<(c[g>>2]|0))}}while(0);m=(nd(e,1)|0)&255;a[b+4900|0]=m;m=(nd(e,1)|0)&255;a[b+4901|0]=m;m=(nd(e,1)|0)&255;a[b+4902|0]=m;if(!(m<<24>>24==0)){ll(b+4904|0,d,e,b)|0}m=(nd(e,1)|0)&255;a[b+4980|0]=m;do{if(m<<24>>24==0){a[b+4981|0]=0}else{l=(nd(e,1)|0)&255;m=b+4981|0;a[m]=l;l=(nd(e,1)|0)&255;a[b+4982|0]=l;l=(nd(e,6)|0)&255;a[b+4983|0]=l;if((a[m]|0)==0){break}nk(b+4984|0,0,e)|0}}while(0);d=ok(b)|0;if((d|0)!=0){m=d;return m|0}a[b|0]=1;m=0;return m|0}return 0}function lk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;e=i;i=i+6240|0;h=e|0;g=e+96|0;o=0;a:while(1){l=(o|0)==3;p=l?2:6;j=(o|0)==0;n=l^1;q=j?16:64;m=(o|0)>1;k=0;do{r=g+(k<<10)|0;u=l&(k|0)==1;do{if(((nd(b,1)|0)&255)<<24>>24==0){t=qd(b)|0;if((t|0)==-99999|(t|0)>(k|0)){b=8;t=29;break a}s=h+(o*24|0)+(k<<2)|0;c[s>>2]=16;if((t|0)!=0){if(!((t|0)==1|n)){t=12;break a}t=k-t|0;cv(r|0,g+(t<<10)|0,q)|0;t=c[h+(o*24|0)+(t<<2)>>2]|0;c[s>>2]=t;s=t&255;t=20;break}if(j){cv(r|0,30200,16)|0;t=21;break}if((k|0)<3&(u^1)){cv(r|0,30024,64)|0;s=16;t=20;break}else{cv(r|0,30088,64)|0;s=16;t=20;break}}else{if(m){s=rd(b)|0;if((s+7|0)>>>0>254>>>0){b=8;t=29;break a}s=s+8|0;c[h+(o*24|0)+(k<<2)>>2]=s;u=s;s=s&255}else{u=8;s=16}t=0;while(1){v=rd(b)|0;if((v+128|0)>>>0>255>>>0){b=8;t=29;break a}u=(u+256+v|0)%256|0;a[g+(k<<10)+t|0]=u;t=t+1|0;if((t|0)>=(q|0)){t=20;break}}}}while(0);do{if((t|0)==20){t=0;if((o|0)==1){s=Cj(3,0)|0;r=0;do{a[((d[s+(r<<1)+1|0]|0)<<3)+(d[s+(r<<1)|0]|0)+(f+96+(k<<6))|0]=a[g+(k<<10)+r|0]|0;r=r+1|0;}while((r|0)<64)}else if((o|0)==0){t=21;break}else if((o|0)==2){v=f+480+(k<<8)|0;rk(v,r,2);a[v]=s;break}else if((o|0)==3){v=f+2016+(k<<10)|0;rk(v,r,3);a[v]=s;break}else{break}}}while(0);if((t|0)==21){r=Cj(2,0)|0;s=0;do{a[((d[r+(s<<1)+1|0]|0)<<2)+(d[r+(s<<1)|0]|0)+(f+(k<<4))|0]=a[g+(k<<10)+s|0]|0;s=s+1|0;}while((s|0)<16)}k=k+1|0;}while((k|0)<(p|0));o=o+1|0;if((o|0)>=4){b=0;t=29;break}}if((t|0)==12){ec(2912,14480,873,18888);return 0}else if((t|0)==29){i=e;return b|0}return 0}function mk(b){b=b|0;var c=0,e=0;e=Cj(2,0)|0;c=0;do{a[b+(((d[e+(c<<1)+1|0]|0)<<2)+(d[e+(c<<1)|0]|0))|0]=a[30200+c|0]|0;c=c+1|0;}while((c|0)<16);c=Cj(2,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0)+(b+16)|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);c=Cj(2,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0)+(b+32)|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);c=Cj(2,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0)+(b+48)|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);c=Cj(2,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0)+(b+64)|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);c=Cj(2,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<2)+(d[c+(e<<1)|0]|0)+(b+80)|0]=a[30200+e|0]|0;e=e+1|0;}while((e|0)<16);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+96)|0]=a[30024+e|0]|0;e=e+1|0;}while((e|0)<64);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+288)|0]=a[30088+e|0]|0;e=e+1|0;}while((e|0)<64);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+160)|0]=a[30024+e|0]|0;e=e+1|0;}while((e|0)<64);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+352)|0]=a[30088+e|0]|0;e=e+1|0;}while((e|0)<64);c=Cj(3,0)|0;e=0;do{a[((d[c+(e<<1)+1|0]|0)<<3)+(d[c+(e<<1)|0]|0)+(b+224)|0]=a[30024+e|0]|0;e=e+1|0;}while((e|0)<64);e=Cj(3,0)|0;c=0;do{a[((d[e+(c<<1)+1|0]|0)<<3)+(d[e+(c<<1)|0]|0)+(b+416)|0]=a[30088+c|0]|0;c=c+1|0;}while((c|0)<64);rk(b+480|0,30024,2);rk(b+1248|0,30088,2);rk(b+736|0,30024,2);rk(b+1504|0,30088,2);rk(b+992|0,30024,2);rk(b+1760|0,30088,2);rk(b+2016|0,30024,3);rk(b+3040|0,30088,3);return}function nk(b,c,d){b=b|0;c=c|0;d=d|0;c=(nd(d,1)|0)&255;a[b|0]=c;c=(nd(d,1)|0)&255;a[b+1|0]=c;c=(nd(d,1)|0)&255;a[b+2|0]=c;c=(nd(d,1)|0)&255;a[b+3|0]=c;c=(nd(d,1)|0)&255;a[b+4|0]=c;c=(nd(d,1)|0)&255;a[b+5|0]=c;c=(nd(d,1)|0)&255;a[b+6|0]=c;c=(nd(d,1)|0)&255;a[b+7|0]=c;c=(nd(d,1)|0)&255;a[b+8|0]=c;return 0}function ok(b){b=b|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,r=0,s=0;m=c[b+476>>2]|0;p=c[30720+(m<<2)>>2]|0;c[b+5016>>2]=p;o=c[30648+(m<<2)>>2]|0;c[b+5020>>2]=o;d=b+5024|0;if((c[b+5012>>2]|0)==0){c[d>>2]=1;c[b+5028>>2]=1}else{c[d>>2]=p;c[b+5028>>2]=o}j=c[b+512>>2]|0;c[b+4996>>2]=j;c[b+5e3>>2]=(j*6|0)-48;k=c[b+516>>2]|0;c[b+5004>>2]=k;c[b+5008>>2]=(k*6|0)-48;d=c[b+612>>2]|0;c[b+5036>>2]=d;f=(c[b+616>>2]|0)+d|0;c[b+5040>>2]=f;h=1<<d;c[b+5044>>2]=h;q=1<<f;c[b+5048>>2]=q;i=c[b+484>>2]|0;l=i-1|0;r=(l+h|0)/(h|0)|0;c[b+5052>>2]=r;l=(l+q|0)/(q|0)|0;c[b+5056>>2]=l;g=c[b+488>>2]|0;e=g-1|0;s=(e+h|0)/(h|0)|0;c[b+5060>>2]=s;e=(e+q|0)/(q|0)|0;c[b+5064>>2]=e;r=ga(s,r)|0;c[b+5068>>2]=r;r=ga(e,l)|0;c[b+5072>>2]=r;r=ga(g,i)|0;c[b+5076>>2]=r;do{if((m|0)==0){n=6}else{if((a[b+480|0]|0)!=0){n=6;break}c[b+5080>>2]=(q|0)/(p|0)|0;c[b+5084>>2]=(q|0)/(o|0)|0}}while(0);if((n|0)==6){c[b+5080>>2]=0;c[b+5084>>2]=0}n=c[b+620>>2]|0;c[b+5100>>2]=n;m=(c[b+624>>2]|0)+n|0;c[b+5104>>2]=m;o=f-n|0;if((c[b+628>>2]|0)>(o|0)){s=8;return s|0}if((c[b+632>>2]|0)>(o|0)){s=8;return s|0}s=d-1|0;c[b+5108>>2]=s;s=f-s|0;c[b+5112>>2]=l<<s;c[b+5116>>2]=e<<s;s=c[b+4708>>2]|0;c[b+5120>>2]=s;c[b+5124>>2]=(c[b+4712>>2]|0)+s;s=l<<o;c[b+5088>>2]=s;r=e<<o;c[b+5092>>2]=r;s=ga(r,s)|0;c[b+5096>>2]=s;if((a[b+4990|0]|0)==0){a[b+5156|0]=j+248;a[b+5157|0]=k+248;c[b+5160>>2]=128;c[b+5164>>2]=128}else{a[b+5156|0]=0;a[b+5157|0]=0;c[b+5160>>2]=1<<j-1;c[b+5164>>2]=1<<k-1}if(((i|0)%(h|0)|0|0)!=0){s=8;return s|0}if(((g|0)%(h|0)|0|0)!=0|(n|0)>(d|0)){s=8;return s|0}if((m|0)>(((f|0)<5?f:5)|0)){s=8;return s|0}if((j-8|0)>>>0>8>>>0){s=8;return s|0}if((k-8|0)>>>0>8>>>0){s=8;return s|0}a[b|0]=1;s=0;return s|0}function pk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;if((d|0)==1){f=t}else if((d|0)==2){f=q}else{i=e;return}f=c[f>>2]|0;Zk(f,11960,(g=i,i=i+1|0,i=i+7&-8,c[g>>2]=0,g)|0);i=g;Zk(f,8928,(g=i,i=i+8|0,c[g>>2]=a[b+1|0]|0,g)|0);i=g;g=b+2|0;Zk(f,6288,(j=i,i=i+8|0,c[j>>2]=a[g]|0,j)|0);i=j;Zk(f,4592,(j=i,i=i+8|0,c[j>>2]=a[b+3|0]|0,j)|0);i=j;dl(b+4|0,a[g]|0,f);Zk(f,3224,(j=i,i=i+8|0,c[j>>2]=c[b+472>>2],j)|0);i=j;j=b+476|0;k=c[j>>2]|0;do{if((k|0)==0){h=1072}else{if((k|0)==1){h=384;break}if((k|0)==2){h=16872;break}h=(k|0)==3?16336:15976}}while(0);Zk(f,1920,(n=i,i=i+16|0,c[n>>2]=k,c[n+8>>2]=h,n)|0);i=n;if((c[j>>2]|0)==3){Zk(f,15568,(n=i,i=i+8|0,c[n>>2]=a[b+480|0]|0,n)|0);i=n}Zk(f,15216,(n=i,i=i+8|0,c[n>>2]=c[b+484>>2],n)|0);i=n;Zk(f,14880,(n=i,i=i+8|0,c[n>>2]=c[b+488>>2],n)|0);i=n;n=b+492|0;Zk(f,14632,(m=i,i=i+8|0,c[m>>2]=a[n]|0,m)|0);i=m;if((a[n]|0)!=0){Zk(f,14360,(n=i,i=i+8|0,c[n>>2]=c[b+496>>2],n)|0);i=n;Zk(f,14088,(n=i,i=i+8|0,c[n>>2]=c[b+500>>2],n)|0);i=n;Zk(f,13800,(n=i,i=i+8|0,c[n>>2]=c[b+504>>2],n)|0);i=n;Zk(f,13600,(n=i,i=i+8|0,c[n>>2]=c[b+508>>2],n)|0);i=n}Zk(f,13408,(n=i,i=i+8|0,c[n>>2]=c[b+512>>2],n)|0);i=n;Zk(f,13200,(n=i,i=i+8|0,c[n>>2]=c[b+516>>2],n)|0);i=n;Zk(f,12976,(n=i,i=i+8|0,c[n>>2]=c[b+520>>2],n)|0);i=n;n=b+524|0;Zk(f,12704,(j=i,i=i+8|0,c[j>>2]=a[n]|0,j)|0);i=j;j=a[g]|0;if((a[n]|0)==0){h=(j<<24>>24)-1|0}else{h=0}if((h|0)<=((j<<24>>24)-1|0)){while(1){Zk(f,12408,(n=i,i=i+8|0,c[n>>2]=h,n)|0);i=n;Zk(f,12128,(n=i,i=i+8|0,c[n>>2]=c[b+528+(h<<2)>>2],n)|0);i=n;Zk(f,11752,(n=i,i=i+8|0,c[n>>2]=c[b+556+(h<<2)>>2],n)|0);i=n;Zk(f,11432,(n=i,i=i+8|0,c[n>>2]=c[b+584+(h<<2)>>2],n)|0);i=n;if((h|0)<((a[g]|0)-1|0)){h=h+1|0}else{break}}}g=b+612|0;Zk(f,11192,(j=i,i=i+8|0,c[j>>2]=c[g>>2],j)|0);i=j;j=b+616|0;Zk(f,10936,(h=i,i=i+8|0,c[h>>2]=c[j>>2],h)|0);i=h;h=b+620|0;Zk(f,10680,(k=i,i=i+8|0,c[k>>2]=c[h>>2],k)|0);i=k;k=b+624|0;Zk(f,10408,(n=i,i=i+8|0,c[n>>2]=c[k>>2],n)|0);i=n;Zk(f,10096,(n=i,i=i+8|0,c[n>>2]=c[b+628>>2],n)|0);i=n;Zk(f,9760,(n=i,i=i+8|0,c[n>>2]=c[b+632>>2],n)|0);i=n;n=b+636|0;Zk(f,9328,(m=i,i=i+8|0,c[m>>2]=a[n]|0,m)|0);i=m;do{if((a[n]|0)!=0){n=b+637|0;Zk(f,9016,(m=i,i=i+8|0,c[m>>2]=a[n]|0,m)|0);i=m;if((a[n]|0)==0){break}Zk(f,8656,(n=i,i=i+1|0,i=i+7&-8,c[n>>2]=0,n)|0);i=n}}while(0);Zk(f,8384,(n=i,i=i+8|0,c[n>>2]=a[b+4702|0]|0,n)|0);i=n;Zk(f,8152,(n=i,i=i+8|0,c[n>>2]=a[b+4703|0]|0,n)|0);i=n;n=b+4704|0;Zk(f,7912,(m=i,i=i+8|0,c[m>>2]=a[n]|0,m)|0);i=m;if((a[n]|0)!=0){Zk(f,7640,(n=i,i=i+8|0,c[n>>2]=a[b+4705|0]|0,n)|0);i=n;Zk(f,7352,(n=i,i=i+8|0,c[n>>2]=a[b+4706|0]|0,n)|0);i=n;Zk(f,7040,(n=i,i=i+8|0,c[n>>2]=c[b+4708>>2],n)|0);i=n;Zk(f,6752,(n=i,i=i+8|0,c[n>>2]=c[b+4712>>2],n)|0);i=n;Zk(f,6456,(n=i,i=i+8|0,c[n>>2]=a[b+4716|0]|0,n)|0);i=n}l=b+4724|0;n=b+4720|0;Zk(f,6336,(m=i,i=i+8|0,c[m>>2]=((c[l>>2]|0)-(c[n>>2]|0)|0)/100|0,m)|0);i=m;if((c[l>>2]|0)!=(c[n>>2]|0)){m=0;do{Zk(f,6216,(o=i,i=i+8|0,c[o>>2]=m,o)|0);i=o;tj((c[n>>2]|0)+(m*100|0)|0,16,f);m=m+1|0;}while(m>>>0<(((c[l>>2]|0)-(c[n>>2]|0)|0)/100|0)>>>0)}o=b+4732|0;Zk(f,6e3,(n=i,i=i+8|0,c[n>>2]=a[o]|0,n)|0);i=n;do{if((a[o]|0)!=0){m=b+4736|0;Zk(f,5816,(o=i,i=i+8|0,c[o>>2]=c[m>>2],o)|0);i=o;if((c[m>>2]|0)>0){l=0}else{break}do{p=c[b+4740+(l<<2)>>2]|0;n=a[b+4868+l|0]|0;Zk(f,5640,(o=i,i=i+24|0,c[o>>2]=l,c[o+8>>2]=p,c[o+16>>2]=n,o)|0);i=o;l=l+1|0;}while((l|0)<(c[m>>2]|0))}}while(0);Zk(f,5504,(l=i,i=i+8|0,c[l>>2]=a[b+4900|0]|0,l)|0);i=l;Zk(f,5344,(l=i,i=i+8|0,c[l>>2]=a[b+4901|0]|0,l)|0);i=l;l=b+4902|0;Zk(f,5176,(p=i,i=i+8|0,c[p>>2]=a[l]|0,p)|0);i=p;Zk(f,4968,(p=i,i=i+8|0,c[p>>2]=a[b+4980|0]|0,p)|0);i=p;p=b+4981|0;Zk(f,4792,(o=i,i=i+8|0,c[o>>2]=a[p]|0,o)|0);i=o;Zk(f,4672,(o=i,i=i+8|0,c[o>>2]=a[b+4982|0]|0,o)|0);i=o;Zk(f,4440,(o=i,i=i+8|0,c[o>>2]=a[b+4983|0]|0,o)|0);i=o;Zk(f,4224,(o=i,i=i+8|0,c[o>>2]=c[b+5048>>2],o)|0);i=o;Zk(f,4072,(o=i,i=i+8|0,c[o>>2]=c[b+5044>>2],o)|0);i=o;Zk(f,3984,(o=i,i=i+8|0,c[o>>2]=1<<(c[j>>2]|0)+(c[g>>2]|0),o)|0);i=o;Zk(f,3920,(o=i,i=i+8|0,c[o>>2]=1<<c[h>>2],o)|0);i=o;Zk(f,3832,(o=i,i=i+8|0,c[o>>2]=1<<(c[k>>2]|0)+(c[h>>2]|0),o)|0);i=o;Zk(f,3712,(o=i,i=i+8|0,c[o>>2]=c[b+5056>>2],o)|0);i=o;Zk(f,3544,(o=i,i=i+8|0,c[o>>2]=c[b+5064>>2],o)|0);i=o;Zk(f,3392,(o=i,i=i+8|0,c[o>>2]=c[b+5016>>2],o)|0);i=o;Zk(f,3280,(o=i,i=i+8|0,c[o>>2]=c[b+5020>>2],o)|0);i=o;if((a[p]|0)!=0){qk(b+4984|0,d)}if((a[l]|0)==0){i=e;return}ml(b+4904|0,d);i=e;return}function qk(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;if((b|0)==2){b=q}else if((b|0)==1){b=t}else{i=e;return}b=c[b>>2]|0;Zk(b,2728,(f=i,i=i+1|0,i=i+7&-8,c[f>>2]=0,f)|0);i=f;Zk(b,2632,(f=i,i=i+8|0,c[f>>2]=d[a|0]|0,f)|0);i=f;Zk(b,2536,(f=i,i=i+8|0,c[f>>2]=d[a+1|0]|0,f)|0);i=f;Zk(b,2376,(f=i,i=i+8|0,c[f>>2]=d[a+2|0]|0,f)|0);i=f;Zk(b,2224,(f=i,i=i+8|0,c[f>>2]=d[a+3|0]|0,f)|0);i=f;Zk(b,2072,(f=i,i=i+8|0,c[f>>2]=d[a+4|0]|0,f)|0);i=f;Zk(b,1984,(f=i,i=i+8|0,c[f>>2]=d[a+5|0]|0,f)|0);i=f;Zk(b,1808,(f=i,i=i+8|0,c[f>>2]=d[a+6|0]|0,f)|0);i=f;Zk(b,1576,(f=i,i=i+8|0,c[f>>2]=d[a+7|0]|0,f)|0);i=f;Zk(b,1456,(b=i,i=i+8|0,c[b>>2]=d[a+8|0]|0,b)|0);i=b;i=e;return}function rk(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((e|0)==3){f=Cj(3,0)|0;g=0;do{i=f+(g<<1)|0;j=f+(g<<1)+1|0;h=c+g|0;e=0;do{a[b+(((d[i]|0)<<2)+(((d[j]|0)<<2)+e<<5))|0]=a[h]|0;a[b+(((d[i]|0)<<2|1)+(((d[j]|0)<<2)+e<<5))|0]=a[h]|0;a[b+(((d[i]|0)<<2|2)+(((d[j]|0)<<2)+e<<5))|0]=a[h]|0;a[b+(((d[i]|0)<<2|3)+(((d[j]|0)<<2)+e<<5))|0]=a[h]|0;e=e+1|0;}while((e|0)<4);g=g+1|0;}while((g|0)<64);return}else if((e|0)==2){e=Cj(3,0)|0;f=0;do{i=e+(f<<1)|0;j=e+(f<<1)+1|0;h=c+f|0;a[b+(((d[i]|0)<<1)+((d[j]|0)<<5))|0]=a[h]|0;a[b+(((d[i]|0)<<1|1)+((d[j]|0)<<5))|0]=a[h]|0;a[b+(((d[i]|0)<<1)+((d[j]|0)<<5|16))|0]=a[h]|0;a[b+(((d[i]|0)<<1|1)+((d[j]|0)<<5|16))|0]=a[h]|0;f=f+1|0;}while((f|0)<64);return}else if((e|0)==1){e=Cj(3,0)|0;f=0;do{a[b+(((d[e+(f<<1)+1|0]|0)<<3)+(d[e+(f<<1)|0]|0))|0]=a[c+f|0]|0;f=f+1|0;}while((f|0)<64);return}else if((e|0)==0){e=Cj(2,0)|0;f=0;do{a[b+(((d[e+(f<<1)+1|0]|0)<<2)+(d[e+(f<<1)|0]|0))|0]=a[c+f|0]|0;f=f+1|0;}while((f|0)<16);return}else{ec(3136,14480,810,18840)}}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+8|0;d=a+4|0;f=c[d>>2]|0;i=c[e>>2]|0;h=f;if(!(((i-h|0)/100|0)>>>0<b>>>0)){do{if((f|0)==0){e=0}else{dv(f|0,0,100)|0;e=c[d>>2]|0}f=e+100|0;c[d>>2]=f;b=b-1|0;}while((b|0)!=0);return}f=a|0;j=c[f>>2]|0;h=(h-j|0)/100|0;a=h+b|0;if(a>>>0>42949672>>>0){Nr(0)}i=(i-j|0)/100|0;if(i>>>0<21474836>>>0){i=i<<1;a=i>>>0<a>>>0?a:i;if((a|0)==0){i=0;a=0}else{g=9}}else{a=42949672;g=9}if((g|0)==9){i=Nu(a*100|0)|0}g=i+(h*100|0)|0;do{if((g|0)==0){g=0}else{dv(g|0,0,100)|0}g=g+100|0;b=b-1|0;}while((b|0)!=0);j=c[f>>2]|0;k=(c[d>>2]|0)-j|0;h=i+((((k|0)/-100|0)+h|0)*100|0)|0;b=j;cv(h|0,b|0,k)|0;c[f>>2]=h;c[d>>2]=g;c[e>>2]=i+(a*100|0);if((j|0)==0){return}Pu(b);return}function tk(a){a=a|0;var b=0;b;return}function uk(a){a=a|0;var b=0;b;return}function vk(a){a=a|0;var b=0;b;return}function wk(a){a=a|0;var b=0;b;return}function xk(a){a=a|0;var b=0;b;return}function yk(a){a=a|0;var b=0;b;return}function zk(a,b){a=a|0;b=b|0;Ob(a|0)|0;return}function Ak(a,b){a=a|0;b=b|0;Za(a|0,b|0)|0;return}function Bk(a){a=a|0;var b=0,d=0;c[a>>2]=0;d;b;return}function Ck(a){a=a|0;var b=0,c=0;c;b;return}function Dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a|0;if((c[d>>2]|0)>=(b|0)){return}f=a+4|0;g;if((c[d>>2]|0)<(b|0)){a=a+28|0;do{Za(a|0,f|0)|0;}while((c[d>>2]|0)<(b|0))}e;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0;e;e=a|0;if((c[e>>2]|0)>=(b|0)){d;return}c[e>>2]=b;Ob(a+28|0)|0;d;return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0;e;e=a|0;c[e>>2]=(c[e>>2]|0)+b;Ob(a+28|0)|0;d;return}function Gk(a){a=a|0;return c[a>>2]|0}function Hk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d|0)>32;d=e?32:d;e=e?1022:0;g=b+156|0;c[g>>2]=0;h;j;i;c[b+160>>2]=0;h=b|0;a[h]=0;f;if((d|0)>0){f=0}else{j=e;return j|0}while(1){if((zc(b+28+(f<<2)|0,0,106,h|0)|0)!=0){e=10;b=4;break}c[g>>2]=(c[g>>2]|0)+1;f=f+1|0;if((f|0)>=(d|0)){b=4;break}}if((b|0)==4){return e|0}return 0}function Ik(b){b=b|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;g=b+420|0;h;if((a[b]|0)!=0){d;return 0}m=b+24|0;i=b+444|0;k=b+8|0;l=b+20|0;o=b+160|0;do{n=c[m>>2]|0;if((n|0)==0){Za(i|0,g|0)|0}else{j=c[k>>2]|0;p=c[l>>2]|0;h=c[(c[j+(p>>>10<<2)>>2]|0)+((p&1023)<<2)>>2]|0;c[m>>2]=n-1;n=p+1|0;c[l>>2]=n;if(n>>>0>2047>>>0){Pu(c[j>>2]|0);c[k>>2]=(c[k>>2]|0)+4;c[l>>2]=(c[l>>2]|0)-1024}c[o>>2]=(c[o>>2]|0)+1;e;Dc[c[(c[h>>2]|0)+8>>2]&511](h);f;c[o>>2]=(c[o>>2]|0)-1}}while((a[b]|0)==0);d;return 0}function Jk(b){b=b|0;var d=0,e=0,f=0,g=0;g;a[b|0]=1;f;Ob(b+444|0)|0;f=b+156|0;if((c[f>>2]|0)>0){g=0}else{d;e;return}do{vc(c[b+28+(g<<2)>>2]|0,0)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));d;e;return}function Kk(b,d){b=b|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;f;if((a[b|0]|0)!=0){e;return}i=b+12|0;h=c[i>>2]|0;j=b+8|0;k=c[j>>2]|0;if((h|0)==(k|0)){n=0}else{n=(h-k<<8)-1|0}m=b+20|0;l=c[m>>2]|0;f=b+24|0;g=c[f>>2]|0;if((n-l|0)==(g|0)){Lk(b+4|0);g=c[f>>2]|0;l=c[m>>2]|0;k=c[j>>2]|0;h=c[i>>2]|0}i=g+l|0;do{if((h|0)!=(k|0)){h=(c[k+(i>>>10<<2)>>2]|0)+((i&1023)<<2)|0;if((h|0)==0){break}c[h>>2]=d}}while(0);c[f>>2]=g+1;gb(b+444|0)|0;e;return}function Lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+48|0;m=b|0;l=b+8|0;h=b+16|0;j=b+40|0;e=a+16|0;d=c[e>>2]|0;if(d>>>0>1023>>>0){c[e>>2]=d-1024;g=a+4|0;j=c[g>>2]|0;e=c[j>>2]|0;m=j+4|0;c[g>>2]=m;d=a+8|0;h=c[d>>2]|0;f=a+12|0;do{if((h|0)==(c[f>>2]|0)){a=a|0;n=c[a>>2]|0;if(m>>>0>n>>>0){q=m;f=((q-n>>2)+1|0)/-2|0;h=h-q|0;fv(j+(f+1<<2)|0,m|0,h|0)|0;h=j+((h>>2)+1+f<<2)|0;c[d>>2]=h;c[g>>2]=(c[g>>2]|0)+(f<<2);f=13;break}j=h-n>>1;j=(j|0)==0?1:j;l=Nu(j<<2)|0;k=l+(j>>>2<<2)|0;j=l+(j<<2)|0;if((m|0)==(h|0)){h=k}else{n=k;do{if((n|0)==0){n=0}else{c[n>>2]=c[m>>2]}n=n+4|0;m=m+4|0;}while((m|0)!=(h|0));h=n;n=c[a>>2]|0}c[a>>2]=l;c[g>>2]=k;c[d>>2]=h;c[f>>2]=j;if((n|0)==0){f=12;break}Pu(n);h=c[d>>2]|0;f=12}else{f=12}}while(0);if((f|0)==12){if((h|0)==0){e=0}else{f=13}}if((f|0)==13){c[h>>2]=e;e=c[d>>2]|0}c[d>>2]=e+4;i=b;return}p=a|0;d=a+8|0;n=c[d>>2]|0;f=a+4|0;k=n-(c[f>>2]|0)>>2;e=a+12|0;o=c[e>>2]|0;g=a|0;q=o-(c[g>>2]|0)|0;if(!(k>>>0<q>>2>>>0)){l=q>>1;q=(l|0)==0?1:l;l=h+12|0;c[h+16>>2]=a+12;p=Nu(q<<2)|0;m=h|0;c[m>>2]=p;o=p+(k<<2)|0;a=h+8|0;c[a>>2]=o;k=h+4|0;c[k>>2]=o;c[l>>2]=p+(q<<2);q=Nu(4096)|0;c[j>>2]=q;Ok(h,j);j=c[d>>2]|0;while(1){if((j|0)==(c[f>>2]|0)){break}q=j-4|0;Pk(h,q);j=q}h=c[g>>2]|0;c[g>>2]=c[m>>2];c[m>>2]=h;c[f>>2]=c[k>>2];c[k>>2]=j;f=c[d>>2]|0;c[d>>2]=c[a>>2];c[a>>2]=f;q=c[e>>2]|0;c[e>>2]=c[l>>2];c[l>>2]=q;if((f|0)!=(j|0)){c[a>>2]=f+(~((f-4+(-j|0)|0)>>>2)<<2)}if((h|0)==0){i=b;return}Pu(h);i=b;return}a=Nu(4096)|0;if((o|0)!=(n|0)){c[m>>2]=a;Mk(p,m);i=b;return}c[l>>2]=a;Nk(p,l);h=c[f>>2]|0;a=c[h>>2]|0;n=h+4|0;c[f>>2]=n;l=c[d>>2]|0;do{if((l|0)==(c[e>>2]|0)){m=c[g>>2]|0;if(n>>>0>m>>>0){p=n;q=((p-m>>2)+1|0)/-2|0;l=l-p|0;fv(h+(q+1<<2)|0,n|0,l|0)|0;l=h+((l>>2)+1+q<<2)|0;c[d>>2]=l;c[f>>2]=(c[f>>2]|0)+(q<<2);f=29;break}h=l-m>>1;h=(h|0)==0?1:h;k=Nu(h<<2)|0;j=k+(h>>>2<<2)|0;h=k+(h<<2)|0;if((n|0)==(l|0)){l=j}else{m=j;do{if((m|0)==0){m=0}else{c[m>>2]=c[n>>2]}m=m+4|0;n=n+4|0;}while((n|0)!=(l|0));l=m;m=c[g>>2]|0}c[g>>2]=k;c[f>>2]=j;c[d>>2]=l;c[e>>2]=h;if((m|0)==0){f=28;break}Pu(m);l=c[d>>2]|0;f=28}else{f=28}}while(0);if((f|0)==28){if((l|0)==0){e=0}else{f=29}}if((f|0)==29){c[l>>2]=a;e=c[d>>2]|0}c[d>>2]=e+4;i=b;return}function Mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;h=c[d>>2]|0;e=a+12|0;do{if((h|0)==(c[e>>2]|0)){f=a+4|0;k=c[f>>2]|0;a=a|0;l=c[a>>2]|0;if(k>>>0>l>>>0){j=k;l=((j-l>>2)+1|0)/-2|0;h=h-j|0;fv(k+(l<<2)|0,k|0,h|0)|0;h=k+(l+(h>>2)<<2)|0;c[d>>2]=h;c[f>>2]=(c[f>>2]|0)+(l<<2);break}g=h-l>>1;j=(g|0)==0?1:g;i=Nu(j<<2)|0;g=i+(j>>>2<<2)|0;j=i+(j<<2)|0;if((k|0)==(h|0)){h=g}else{l=g;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(h|0));h=l;l=c[a>>2]|0}c[a>>2]=i;c[f>>2]=g;c[d>>2]=h;c[e>>2]=j;if((l|0)==0){break}Pu(l);h=c[d>>2]|0}}while(0);if((h|0)==0){l=0;l=l+4|0;c[d>>2]=l;return}c[h>>2]=c[b>>2];l=c[d>>2]|0;l=l+4|0;c[d>>2]=l;return}function Nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;k=c[d>>2]|0;e=a|0;do{if((k|0)==(c[e>>2]|0)){f=a+8|0;g=c[f>>2]|0;a=a+12|0;l=c[a>>2]|0;h=l;if(g>>>0<l>>>0){j=g;l=((h-j>>2)+1|0)/2|0;j=j-k|0;i=g+(l-(j>>2)<<2)|0;fv(i|0,k|0,j|0)|0;c[d>>2]=i;c[f>>2]=(c[f>>2]|0)+(l<<2);break}h=h-k>>1;j=(h|0)==0?1:h;h=Nu(j<<2)|0;i=h+((j+3|0)>>>2<<2)|0;j=h+(j<<2)|0;if((k|0)==(g|0)){l=i}else{l=i;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(g|0));k=c[e>>2]|0}c[e>>2]=h;c[d>>2]=i;c[f>>2]=l;c[a>>2]=j;if((k|0)==0){break}Pu(k);i=c[d>>2]|0}else{i=k}}while(0);c[i-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;h=c[d>>2]|0;e=a+12|0;do{if((h|0)==(c[e>>2]|0)){f=a+4|0;k=c[f>>2]|0;a=a|0;l=c[a>>2]|0;if(k>>>0>l>>>0){j=k;l=((j-l>>2)+1|0)/-2|0;h=h-j|0;fv(k+(l<<2)|0,k|0,h|0)|0;h=k+(l+(h>>2)<<2)|0;c[d>>2]=h;c[f>>2]=(c[f>>2]|0)+(l<<2);break}g=h-l>>1;j=(g|0)==0?1:g;i=Nu(j<<2)|0;g=i+(j>>>2<<2)|0;j=i+(j<<2)|0;if((k|0)==(h|0)){h=g}else{l=g;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(h|0));h=l;l=c[a>>2]|0}c[a>>2]=i;c[f>>2]=g;c[d>>2]=h;c[e>>2]=j;if((l|0)==0){break}Pu(l);h=c[d>>2]|0}}while(0);if((h|0)==0){l=0;l=l+4|0;c[d>>2]=l;return}c[h>>2]=c[b>>2];l=c[d>>2]|0;l=l+4|0;c[d>>2]=l;return}function Pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;k=c[d>>2]|0;e=a|0;do{if((k|0)==(c[e>>2]|0)){f=a+8|0;g=c[f>>2]|0;a=a+12|0;l=c[a>>2]|0;h=l;if(g>>>0<l>>>0){j=g;l=((h-j>>2)+1|0)/2|0;j=j-k|0;i=g+(l-(j>>2)<<2)|0;fv(i|0,k|0,j|0)|0;c[d>>2]=i;c[f>>2]=(c[f>>2]|0)+(l<<2);break}h=h-k>>1;j=(h|0)==0?1:h;h=Nu(j<<2)|0;i=h+((j+3|0)>>>2<<2)|0;j=h+(j<<2)|0;if((k|0)==(g|0)){l=i}else{l=i;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(g|0));k=c[e>>2]|0}c[e>>2]=h;c[d>>2]=i;c[f>>2]=l;c[a>>2]=j;if((k|0)==0){break}Pu(k);i=c[d>>2]|0}else{i=k}}while(0);c[i-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Qk(b,e,f,g,h){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0;f=b+18596|0;e=c[f>>2]|0;q=e+5932|0;p=b+18600|0;i=c[p>>2]|0;m=-1<<c[e+10092>>2];l=m&g;m=m&h;n=b+18532|0;r=b+18536|0;if((l|0)==(c[n>>2]|0)){if((m|0)!=(c[r>>2]|0)){o=3}}else{o=3}if((o|0)==3){c[b+18540>>2]=c[b+18528>>2];c[n>>2]=l;c[r>>2]=m}n=e+5804|0;if((l|0)==0){r=((1<<c[n>>2])-1&m|0)==0}else{r=0}u=c[i+800>>2]|0;t=c[e+5820>>2]|0;s=c[e+5812>>2]|0;if((ga(s,(u|0)%(t|0)|0)|0)==(l|0)){s=(ga((u|0)/(t|0)|0,s)|0)==(m|0)}else{s=0}do{if((a[e+5966|0]|0)==0){q=0}else{t=c[n>>2]|0;u=(1<<t)-1|0;if((u&l|0)!=0){q=0;break}if((u&m|0)!=0){q=0;break}q=pj(q,l>>t,m>>t)|0}}while(0);do{if(s|q){o=15}else{if(r){if((a[e+5965|0]|0)!=0){o=15;break}}p=b+18540|0}}while(0);if((o|0)==15){p=(c[p>>2]|0)+792|0}o=c[p>>2]|0;q=l-1|0;do{if(bi(c[f>>2]|0,l,m,q,m)|0){u=c[e+5864>>2]|0;t=(ga(m>>u,c[e+5852>>2]|0)|0)+(q>>u)|0;if((c[(c[e+10320>>2]|0)+(t<<2)>>2]>>((c[n>>2]|0)-u<<1)|0)!=(c[b+4>>2]|0)){j=o;break}p=c[f>>2]|0;s=c[p+10368>>2]|0;q=q>>s;s=m>>s;if(!((q|0)>-1)){ec(6096,4288,118,17312)}r=c[p+10372>>2]|0;if((q|0)>=(r|0)){ec(6096,4288,118,17312)}if(!((s|0)>-1)){ec(3e3,4288,119,17312)}if((s|0)<(c[p+10376>>2]|0)){j=(ga(r,s)|0)+q|0;j=a[(c[p+10360>>2]|0)+(j*3|0)+2|0]|0;break}else{ec(3e3,4288,119,17312)}}else{j=o}}while(0);p=m-1|0;do{if(bi(c[f>>2]|0,l,m,l,p)|0){u=c[e+5864>>2]|0;t=(ga(p>>u,c[e+5852>>2]|0)|0)+(l>>u)|0;if((c[(c[e+10320>>2]|0)+(t<<2)>>2]>>((c[n>>2]|0)-u<<1)|0)!=(c[b+4>>2]|0)){k=o;break}m=c[f>>2]|0;o=c[m+10368>>2]|0;l=l>>o;o=p>>o;if(!((l|0)>-1)){ec(6096,4288,118,17312)}n=c[m+10372>>2]|0;if((l|0)>=(n|0)){ec(6096,4288,118,17312)}if(!((o|0)>-1)){ec(3e3,4288,119,17312)}if((o|0)<(c[m+10376>>2]|0)){k=(ga(n,o)|0)+l|0;k=a[(c[m+10360>>2]|0)+(k*3|0)+2|0]|0;break}else{ec(3e3,4288,119,17312)}}else{k=o}}while(0);l=c[e+5764>>2]|0;m=((c[b+18512>>2]|0)+52+(j+1+k>>1)+(l<<1)|0)%(l+52|0)|0;j=m-l|0;c[b+18544>>2]=m;m=j+(c[e+5952>>2]|0)+(c[i+744>>2]|0)+(c[b+18520>>2]|0)|0;l=e+5772|0;k=c[l>>2]|0;n=-k|0;if((m|0)<(n|0)){m=n}else{m=(m|0)>57?57:m}i=(c[e+5956>>2]|0)+j+(c[i+748>>2]|0)+(c[b+18524>>2]|0)|0;if((i|0)>=(n|0)){n=(i|0)>57?57:i}do{if((c[e+5776>>2]|0)==1){do{if((m|0)>=30){if((m|0)>42){m=m-6|0;break}else{m=c[8+(m-30<<2)>>2]|0;break}}}while(0);if((n|0)<30){break}if((n|0)>42){n=n-6|0;break}else{n=c[8+(n-30<<2)>>2]|0;break}}}while(0);c[b+18548>>2]=k+m;c[b+18552>>2]=(c[l>>2]|0)+n;e=c[f>>2]|0;i=c[e+10368>>2]|0;g=g>>i;f=h>>i;if(!((g|0)>-1)){ec(6096,4288,118,17312)}h=e+10372|0;k=c[h>>2]|0;if((g|0)>=(k|0)){ec(6096,4288,118,17312)}if(!((f|0)>-1)){ec(3e3,4288,119,17312)}if((f|0)>=(c[e+10376>>2]|0)){ec(3e3,4288,119,17312)}k=(ga(k,f)|0)+g|0;e=e+10360|0;k=(c[e>>2]|0)+(k*3|0)|0;k=(d[k]|d[k+1|0]<<8)<<16>>16&255&7;k=1<<(k>>>0<3>>>0?3:k)-i;i=k+f|0;if((k|0)<=0){u=b+18528|0;c[u>>2]=j;return}k=k+g|0;l=j&255;do{m=g;do{u=(ga(c[h>>2]|0,f)|0)+m|0;a[(c[e>>2]|0)+(u*3|0)+2|0]=l;m=m+1|0;}while((m|0)<(k|0));f=f+1|0;}while((f|0)<(i|0));u=b+18528|0;c[u>>2]=j;return}function Rk(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|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;e=c[a+18596>>2]|0;if((c[((h|0)==0?e+5760|0:e+5768|0)>>2]|0)>8){Sk(a,b,d,0,0,g,h,i,j,k);return}else{Tk(a,b,d,0,0,g,h,i,j,k);return}}function Sk(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=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,E=0,F=0,G=0,H=0,I=0,J=0;j=i;i=i+8192|0;z=j|0;v=j+4096|0;t=e+18596|0;w=c[t>>2]|0;if((l|0)==0){p=e+18544|0}else if((l|0)==1){p=e+18548|0}else if((l|0)==2){p=e+18552|0}else{ec(11600,14216,367,18584)}A=c[p>>2]|0;p=e+2112|0;s=c[p>>2]|0;u=(l|0)==0;h=c[(u?w+40|0:w+44|0)>>2]|0;q=(c[w+4+(l<<2)>>2]|0)+((ga(h,g)|0)+f<<1)|0;r=c[(u?w+5760|0:w+5768|0)>>2]|0;y=c[w+10368>>2]|0;f=f>>y;y=g>>y;if(!((f|0)>-1)){ec(6096,4288,118,17312)}g=c[w+10372>>2]|0;if((f|0)>=(g|0)){ec(6096,4288,118,17312)}if(!((y|0)>-1)){ec(3e3,4288,119,17312)}if((y|0)>=(c[w+10376>>2]|0)){ec(3e3,4288,119,17312)}y=(ga(g,y)|0)+f|0;y=(c[w+10360>>2]|0)+(y*3|0)|0;y=((d[y]|d[y+1|0]<<8)<<16>>16&768)==0;f=(k|0)==4;g=(a[w+5748|0]|0)!=0&f&y;do{if((a[e+32|0]|0)==0){z=(k|0)>1;if(z){B=k;C=0;do{C=C+1|0;B=B>>1;}while((B|0)>1)}else{C=0}B=C+r|0;E=B-5|0;do{if((a[w+1400|0]|0)==0){x=B-9|0;n=1<<B-10;B=c[31e3+(((A|0)%6|0)<<2)>>2]<<((A|0)/6|0);A=e+14404+(l<<1)|0;if((b[A>>1]|0)>0){C=0}else{break}do{D=(ga(b[e+2116+(l<<11)+(C<<1)>>1]|0,B)|0)+n>>x;if((D|0)<-32768){D=-32768}else{D=(D|0)>32767?32767:D&65535}b[s+(b[e+8260+(l<<11)+(C<<1)>>1]<<1)>>1]=D;C=C+1|0;}while((C|0)<(b[A>>1]|0))}else{D=1<<B-6;do{if(n){n=l}else{if((k|0)<32){n=l+3|0;break}else{n=l+1|0;break}}}while(0);if((k|0)==4){x=w+5993+(n<<4)|0}else if((k|0)==16){x=w+6473+(n<<8)|0}else if((k|0)==8){x=w+6089+(n<<6)|0}else if((k|0)==32){x=w+8009+(n<<10)|0}else{ec(11600,14216,492,18584)}B=e+14404+(l<<1)|0;if((b[B>>1]|0)<=0){break}n=c[31e3+(((A|0)%6|0)<<2)>>2]|0;A=(A|0)/6|0;C=D;D=(D|0)<0|0?-1:0;F=0;do{G=b[e+8260+(l<<11)+(F<<1)>>1]|0;H=(ga(n,d[x+G|0]|0)|0)<<A;I=b[e+2116+(l<<11)+(F<<1)>>1]|0;I=rv(I<<16>>16,I<<16>>16<0|0?-1:0,H,(H|0)<0|0?-1:0)|0;I=hv(I,K,C,D)|0;I=lv(I|0,K|0,E|0)|0;H=K;J=-1;if((H|0)<(J|0)|(H|0)==(J|0)&I>>>0<-32768>>>0){H=-32768}else{J=0;H=(H|0)>(J|0)|(H|0)==(J|0)&I>>>0>32767>>>0?32767:I&65535}b[s+(G<<1)>>1]=H;F=F+1|0;}while((F|0)<(b[B>>1]|0))}}while(0);x=(k|0)>0;if(!m){g=f&u&y;if((o|0)!=0){ec(8472,14216,591,18584)}if((a[w+10071|0]|0)!=0){Vk(e,s,0,k,g&1,q,h,r,l);break}o=c[e+18592>>2]|0;if(g){Wc[c[o+412>>2]&63](q,s,h,r);break}if((k|0)==16){Wc[c[o+424>>2]&63](q,s,h,r);break}else if((k|0)==8){Wc[c[o+420>>2]&63](q,s,h,r);break}else if((k|0)==4){Wc[c[o+416>>2]&63](q,s,h,r);break}else{Wc[c[o+428>>2]&63](q,s,h,r);break}}if(z){w=k;m=0;while(1){w=w>>1;if((w|0)>1){m=m+1|0}else{break}}m=m+6|0}else{m=5}w=20-r|0;w=(w|0)>0?w:0;if(g){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](s,4)}v=u?e+14412|0:v|0;do{if((o|0)==0){Cc[c[(c[e+18592>>2]|0)+472>>2]&31](v,s,k,m,w)}else{f=c[e+18592>>2]|0;if((o|0)==2){Cc[c[f+464>>2]&31](v,s,k,m,w);break}else{Cc[c[f+468>>2]&31](v,s,k,m,w);break}}}while(0);do{if(!u){o=e+28|0;if((c[o>>2]|0)==0){break}t=c[t>>2]|0;u=c[t+5768>>2]|0;t=c[t+5760>>2]|0;if(x){m=0}else{break}do{w=ga(m,k)|0;f=0;do{J=f+w|0;I=(ga(c[e+14412+(J<<2)>>2]<<u>>t,c[o>>2]|0)|0)>>3;J=v+(J<<2)|0;c[J>>2]=I+(c[J>>2]|0);f=f+1|0;}while((f|0)<(k|0));m=m+1|0;}while((m|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+460>>2]&31](q,h,v,k,r);if(!g){break}dv(s|0,0,32)|0}else{v=u?e+14412|0:z|0;w=e+14404+(l<<1)|0;if((b[w>>1]|0)>0){m=0;do{b[s+(b[e+8260+(l<<11)+(m<<1)>>1]<<1)>>1]=b[e+2116+(l<<11)+(m<<1)>>1]|0;m=m+1|0;}while((m|0)<(b[w>>1]|0))}if(g){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](s,4)}do{if((o|0)==0){Tc[c[(c[e+18592>>2]|0)+364>>2]&63](v,s,k)}else{m=c[e+18592>>2]|0;if((o|0)==2){Tc[c[m+368>>2]&63](v,s,k);break}else{Tc[c[m+372>>2]&63](v,s,k);break}}}while(0);do{if(!u){o=e+28|0;if((c[o>>2]|0)==0){break}w=c[t>>2]|0;f=c[w+5768>>2]|0;w=c[w+5760>>2]|0;if((k|0)>0){m=0}else{break}do{u=ga(m,k)|0;t=0;do{J=t+u|0;I=(ga(c[e+14412+(J<<2)>>2]<<f>>w,c[o>>2]|0)|0)>>3;J=v+(J<<2)|0;c[J>>2]=I+(c[J>>2]|0);t=t+1|0;}while((t|0)<(k|0));m=m+1|0;}while((m|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+460>>2]&31](q,h,v,k,r);if(!g){break}dv(s|0,0,32)|0}}while(0);k=e+14404+(l<<1)|0;if((b[k>>1]|0)<=0){i=j;return}p=c[p>>2]|0;h=0;do{b[p+(b[e+8260+(l<<11)+(h<<1)>>1]<<1)>>1]=0;h=h+1|0;}while((h|0)<(b[k>>1]|0));i=j;return}function Tk(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=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,E=0,F=0,G=0,H=0,I=0;j=i;i=i+8192|0;y=j|0;u=j+4096|0;s=e+18596|0;v=c[s>>2]|0;if((l|0)==1){p=e+18548|0}else if((l|0)==0){p=e+18544|0}else if((l|0)==2){p=e+18552|0}else{ec(11600,14216,367,18584)}z=c[p>>2]|0;p=e+2112|0;r=c[p>>2]|0;t=(l|0)==0;h=c[(t?v+40|0:v+44|0)>>2]|0;q=(c[v+4+(l<<2)>>2]|0)+((ga(h,g)|0)+f)|0;x=c[v+10368>>2]|0;f=f>>x;x=g>>x;if(!((f|0)>-1)){ec(6096,4288,118,17312)}g=c[v+10372>>2]|0;if((f|0)>=(g|0)){ec(6096,4288,118,17312)}if(!((x|0)>-1)){ec(3e3,4288,119,17312)}if((x|0)>=(c[v+10376>>2]|0)){ec(3e3,4288,119,17312)}x=(ga(g,x)|0)+f|0;x=(c[v+10360>>2]|0)+(x*3|0)|0;x=((d[x]|d[x+1|0]<<8)<<16>>16&768)==0;f=(k|0)==4;g=(a[v+5748|0]|0)!=0&f&x;do{if((a[e+32|0]|0)==0){A=c[(t?v+5760|0:v+5768|0)>>2]|0;y=(k|0)>1;if(y){C=k;B=0;do{B=B+1|0;C=C>>1;}while((C|0)>1)}else{B=0}A=B+A|0;F=A-5|0;do{if((a[v+1400|0]|0)==0){w=A-9|0;n=1<<A-10;B=c[31e3+(((z|0)%6|0)<<2)>>2]<<((z|0)/6|0);A=e+14404+(l<<1)|0;if((b[A>>1]|0)>0){z=0}else{break}do{C=(ga(b[e+2116+(l<<11)+(z<<1)>>1]|0,B)|0)+n>>w;if((C|0)<-32768){C=-32768}else{C=(C|0)>32767?32767:C&65535}b[r+(b[e+8260+(l<<11)+(z<<1)>>1]<<1)>>1]=C;z=z+1|0;}while((z|0)<(b[A>>1]|0))}else{C=1<<A-6;do{if(n){n=l}else{if((k|0)<32){n=l+3|0;break}else{n=l+1|0;break}}}while(0);if((k|0)==16){w=v+6473+(n<<8)|0}else if((k|0)==32){w=v+8009+(n<<10)|0}else if((k|0)==4){w=v+5993+(n<<4)|0}else if((k|0)==8){w=v+6089+(n<<6)|0}else{ec(11600,14216,492,18584)}A=e+14404+(l<<1)|0;if((b[A>>1]|0)<=0){break}n=c[31e3+(((z|0)%6|0)<<2)>>2]|0;z=(z|0)/6|0;B=C;C=(C|0)<0|0?-1:0;D=0;do{E=b[e+8260+(l<<11)+(D<<1)>>1]|0;G=(ga(n,d[w+E|0]|0)|0)<<z;H=b[e+2116+(l<<11)+(D<<1)>>1]|0;G=rv(H<<16>>16,H<<16>>16<0|0?-1:0,G,(G|0)<0|0?-1:0)|0;G=hv(G,K,B,C)|0;G=lv(G|0,K|0,F|0)|0;H=K;I=-1;if((H|0)<(I|0)|(H|0)==(I|0)&G>>>0<-32768>>>0){G=-32768}else{I=0;G=(H|0)>(I|0)|(H|0)==(I|0)&G>>>0>32767>>>0?32767:G&65535}b[r+(E<<1)>>1]=G;D=D+1|0;}while((D|0)<(b[A>>1]|0))}}while(0);w=(k|0)>0;if(!m){g=f&t&x;if((o|0)!=0){ec(8472,14216,591,18584)}if((a[v+10071|0]|0)!=0){Uk(e,r,0,k,g&1,q,h,8,l);break}o=c[e+18592>>2]|0;if(g){Tc[c[o+388>>2]&63](q,r,h);break}if((k|0)==4){Tc[c[o+392>>2]&63](q,r,h);break}else if((k|0)==16){Tc[c[o+400>>2]&63](q,r,h);break}else if((k|0)==8){Tc[c[o+396>>2]&63](q,r,h);break}else{Tc[c[o+404>>2]&63](q,r,h);break}}if(y){v=k;m=0;while(1){v=v>>1;if((v|0)>1){m=m+1|0}else{break}}m=m+6|0}else{m=5}if(g){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](r,4)}u=t?e+14412|0:u|0;do{if((o|0)==0){Cc[c[(c[e+18592>>2]|0)+472>>2]&31](u,r,k,m,12)}else{v=c[e+18592>>2]|0;if((o|0)==2){Cc[c[v+464>>2]&31](u,r,k,m,12);break}else{Cc[c[v+468>>2]&31](u,r,k,m,12);break}}}while(0);do{if(!t){o=e+28|0;if((c[o>>2]|0)==0){break}t=c[s>>2]|0;s=c[t+5768>>2]|0;t=c[t+5760>>2]|0;if(w){m=0}else{break}do{v=ga(m,k)|0;f=0;do{I=f+v|0;H=(ga(c[e+14412+(I<<2)>>2]<<s>>t,c[o>>2]|0)|0)>>3;I=u+(I<<2)|0;c[I>>2]=H+(c[I>>2]|0);f=f+1|0;}while((f|0)<(k|0));m=m+1|0;}while((m|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+456>>2]&31](q,h,u,k,8);if(!g){break}dv(r|0,0,32)|0}else{u=t?e+14412|0:y|0;v=e+14404+(l<<1)|0;if((b[v>>1]|0)>0){m=0;do{b[r+(b[e+8260+(l<<11)+(m<<1)>>1]<<1)>>1]=b[e+2116+(l<<11)+(m<<1)>>1]|0;m=m+1|0;}while((m|0)<(b[v>>1]|0))}if(g){Ec[c[(c[e+18592>>2]|0)+432>>2]&127](r,4)}do{if((o|0)==0){Tc[c[(c[e+18592>>2]|0)+364>>2]&63](u,r,k)}else{m=c[e+18592>>2]|0;if((o|0)==2){Tc[c[m+368>>2]&63](u,r,k);break}else{Tc[c[m+372>>2]&63](u,r,k);break}}}while(0);do{if(!t){o=e+28|0;if((c[o>>2]|0)==0){break}v=c[s>>2]|0;f=c[v+5768>>2]|0;v=c[v+5760>>2]|0;if((k|0)>0){m=0}else{break}do{t=ga(m,k)|0;s=0;do{I=s+t|0;H=(ga(c[e+14412+(I<<2)>>2]<<f>>v,c[o>>2]|0)|0)>>3;I=u+(I<<2)|0;c[I>>2]=H+(c[I>>2]|0);s=s+1|0;}while((s|0)<(k|0));m=m+1|0;}while((m|0)<(k|0))}}while(0);Cc[c[(c[e+18592>>2]|0)+456>>2]&31](q,h,u,k,8);if(!g){break}dv(r|0,0,32)|0}}while(0);k=e+14404+(l<<1)|0;if((b[k>>1]|0)<=0){i=j;return}p=c[p>>2]|0;h=0;do{b[p+(b[e+8260+(l<<11)+(h<<1)>>1]<<1)>>1]=0;h=h+1|0;}while((h|0)<(b[k>>1]|0));i=j;return}function Uk(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+4096|0;l=c[a+18592>>2]|0;n=(k|0)==0;k=n?a+14412|0:d|0;m=20-j|0;do{if((f|0)==1){Wc[c[l+436>>2]&63](k,b,m,15)}else{if((e|0)==4){Wc[c[l+440>>2]&63](k,b,m,15);break}else if((e|0)==8){Wc[c[l+444>>2]&63](k,b,m,15);break}else if((e|0)==16){Wc[c[l+448>>2]&63](k,b,m,15);break}else{Wc[c[l+452>>2]&63](k,b,m,15);break}}}while(0);do{if(!n){o=a+28|0;if((c[o>>2]|0)==0){break}n=c[a+18596>>2]|0;p=c[n+5768>>2]|0;n=c[n+5760>>2]|0;if((e|0)>0){f=0}else{break}do{m=ga(f,e)|0;b=0;do{q=b+m|0;r=(ga(c[a+14412+(q<<2)>>2]<<p>>n,c[o>>2]|0)|0)>>3;q=k+(q<<2)|0;c[q>>2]=r+(c[q>>2]|0);b=b+1|0;}while((b|0)<(e|0));f=f+1|0;}while((f|0)<(e|0))}}while(0);Cc[c[l+456>>2]&31](g,h,k,e,j);i=d;return}function Vk(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+4096|0;l=c[a+18592>>2]|0;n=(k|0)==0;k=n?a+14412|0:d|0;m=20-j|0;do{if((f|0)==1){Wc[c[l+436>>2]&63](k,b,m,15)}else{if((e|0)==8){Wc[c[l+444>>2]&63](k,b,m,15);break}else if((e|0)==16){Wc[c[l+448>>2]&63](k,b,m,15);break}else if((e|0)==4){Wc[c[l+440>>2]&63](k,b,m,15);break}else{Wc[c[l+452>>2]&63](k,b,m,15);break}}}while(0);do{if(!n){o=a+28|0;if((c[o>>2]|0)==0){break}n=c[a+18596>>2]|0;p=c[n+5768>>2]|0;n=c[n+5760>>2]|0;if((e|0)>0){f=0}else{break}do{m=ga(f,e)|0;b=0;do{q=b+m|0;r=(ga(c[a+14412+(q<<2)>>2]<<p>>n,c[o>>2]|0)|0)>>3;q=k+(q<<2)|0;c[q>>2]=r+(c[q>>2]|0);b=b+1|0;}while((b|0)<(e|0));f=f+1|0;}while((f|0)<(e|0))}}while(0);Cc[c[l+460>>2]&31](g,h,k,e,j);i=d;return}function Wk(a){a=a|0;c[12934]=a;return}function Xk(a){a=a|0;return}function Yk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f|0;if((c[12934]|0)<-9999){i=f;return}if((a[51720+b|0]|0)!=0){i=f;return}h=(a[d]|0)==42;b=c[t>>2]|0;if(!h){Oa(1200,5,1,b|0)|0}j=g;c[j>>2]=e;c[j+4>>2]=0;Qb(b|0,d+(h&1)|0,g|0)|0;Ma(b|0)|0;i=f;return}function Zk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f|0;j=(a[d]|0)==42;g=c[t>>2]|0;if(!j){Oa(14208,6,1,g|0)|0}k=h;c[k>>2]=e;c[k+4>>2]=0;Qb(b|0,d+(j&1)|0,h|0)|0;Ma(g|0)|0;i=f;return}function _k(d,e,f){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;n=nd(f,4)|0;c[d>>2]=n;if((n|0)>15){n=8;return n|0}od(f,2);n=nd(f,6)|0;c[d+4>>2]=n+1;if((n|0)>62){n=8;return n|0}n=nd(f,3)|0;h=d+8|0;c[h>>2]=n+1;if((n|0)>6){n=8;return n|0}n=nd(f,1)|0;c[d+12>>2]=n;od(f,16);$k(d+16|0,f,c[h>>2]|0);n=nd(f,1)|0;i=d+484|0;c[i>>2]=n;g=c[h>>2]|0;if((n|0)==0){g=g-1|0;j=7}else{if((g|0)>0){g=0;j=7}}do{if((j|0)==7){l=g;while(1){j=qd(f)|0;n=d+488+(l*12|0)|0;c[n>>2]=j;j=qd(f)|0;k=d+488+(l*12|0)+4|0;c[k>>2]=j;j=qd(f)|0;c[d+488+(l*12|0)+8>>2]=j;if((c[n>>2]|0)==-99999){f=8;j=52;break}l=l+1|0;if((c[k>>2]|0)==-99999|(j|0)==-99999){f=8;j=52;break}if((l|0)>=(c[h>>2]|0)){j=11;break}}if((j|0)==11){if((c[i>>2]|0)!=0){break}if((g|0)>=8){ec(11472,14120,144,17416);return 0}if((g|0)<=0){break}k=d+488+(g*12|0)|0;h=d+488+(g*12|0)+4|0;j=d+488+(g*12|0)+8|0;i=0;do{c[d+488+(i*12|0)>>2]=c[k>>2];c[d+488+(i*12|0)+4>>2]=c[h>>2];c[d+488+(i*12|0)+8>>2]=c[j>>2];i=i+1|0;}while((i|0)<(g|0))}else if((j|0)==52){return f|0}}}while(0);n=(nd(f,6)|0)&255;g=d+584|0;a[g]=n;n=qd(f)|0;h=d+588|0;c[h>>2]=n;j=n+1|0;if((j|0)<0|(n|0)>1022|(n|0)==-99999){Ue(e,8,0);n=8;return n|0}c[h>>2]=j;n=d+592|0;i=d+596|0;k=c[i>>2]|0;e=n|0;m=c[e>>2]|0;l=(k-m|0)/12|0;do{if(l>>>0<j>>>0){jl(n,j-l|0)}else{if(!(l>>>0>j>>>0)){break}j=m+(j*12|0)|0;if((k|0)==(j|0)){break}do{k=k-12|0;c[i>>2]=k;l=c[k>>2]|0;if((l|0)!=0){Pu(l);k=c[i>>2]|0}}while((k|0)!=(j|0))}}while(0);a:do{if((c[h>>2]|0)>=2){i=1;k=a[g]|0;while(1){al((c[e>>2]|0)+(i*12|0)|0,(k&255)+1|0,0);j=0;while(1){k=(c[(c[e>>2]|0)+(i*12|0)>>2]|0)+(j>>>5<<2)|0;l=1<<(j&31);if((nd(f,1)|0)==0){l=c[k>>2]&~l}else{l=c[k>>2]|l}c[k>>2]=l;k=a[g]|0;if((j|0)<(k&255|0)){j=j+1|0}else{break}}if((i|0)>=((c[h>>2]|0)-1|0)){break a}i=i+1|0}}}while(0);n=(nd(f,1)|0)&255;a[d+604|0]=n;do{if(!(n<<24>>24==0)){n=nd(f,32)|0;c[d+608>>2]=n;n=nd(f,32)|0;c[d+612>>2]=n;n=(nd(f,1)|0)&255;a[d+616|0]=n;if(n<<24>>24==0){break}e=(qd(f)|0)+1|0;c[d+620>>2]=e;e=qd(f)|0;h=d+624|0;c[h>>2]=e;if((e|0)>1023){ec(8432,14120,189,17416);return 0}m=d+628|0;j=d+632|0;i=c[j>>2]|0;g=m|0;k=c[g>>2]|0;l=i-k>>1;do{if(l>>>0<e>>>0){gl(m,e-l|0);e=c[h>>2]|0}else{if(!(l>>>0>e>>>0)){break}k=k+(e<<1)|0;if((i|0)==(k|0)){break}c[j>>2]=i+(~((i-2+(-k|0)|0)>>>1)<<1)}}while(0);l=d+640|0;j=d+644|0;i=c[j>>2]|0;m=c[l>>2]|0;k=i-m|0;do{if(k>>>0<e>>>0){fl(l,e-k|0);e=c[h>>2]|0}else{if(!(k>>>0>e>>>0)){break}h=m+e|0;if((i|0)==(h|0)){break}c[j>>2]=h}}while(0);if((e|0)<=0){break}n=(qd(f)|0)&65535;b[c[g>>2]>>1]=n;n=0;return n|0}}while(0);n=(nd(f,1)|0)&255;a[d+652|0]=n;n=0;return n|0}function $k(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;a[b|0]=1;a[b+44|0]=1;bl(b|0,c);e=d-1|0;f=(e|0)>0;if(f){g=0;do{h=(nd(c,1)|0)&255;a[b+52+(g*52|0)|0]=h;h=(nd(c,1)|0)&255;a[b+52+(g*52|0)+44|0]=h;g=g+1|0;}while((g|0)<(e|0))}if((d-2|0)>>>0<7>>>0){d=e;do{od(c,2);d=d+1|0;}while((d|0)<8)}if(f){f=0}else{return}do{bl(b+52+(f*52|0)|0,c);f=f+1|0;}while((f|0)<(e|0));return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+24|0;p=e|0;n=e+16|0;o=n;h=a+4|0;g=c[h>>2]|0;if(!(g>>>0<b>>>0)){c[h>>2]=b;i=e;return}j=a+8|0;r=c[j>>2]|0;q=r<<5;f=b-g|0;do{if(f>>>0>q>>>0|g>>>0>(q-f|0)>>>0){m=p|0;c[m>>2]=0;l=p+4|0;c[l>>2]=0;k=p+8|0;c[k>>2]=0;if((b|0)<0){Nr(0)}if(q>>>0>1073741822>>>0){q=2147483647}else{q=r<<6;r=b+31&-32;q=q>>>0<r>>>0?r:q}hl(p,q);t=c[h>>2]|0;p=t+f|0;c[l>>2]=p;a=a|0;q=c[m>>2]|0;do{if((t|0)>0){s=c[a>>2]|0;r=t>>>5;fv(q|0,s|0,r<<2|0)|0;t=t-(r<<5)|0;u=q+(r<<2)|0;if((t|0)<=0){t=0;break}v=-1>>>((32-t|0)>>>0);c[u>>2]=c[u>>2]&~v|c[s+(r<<2)>>2]&v}else{u=q;t=0}}while(0);c[n>>2]=u;c[o+4>>2]=t;o=c[n>>2]|0;n=c[n+4>>2]|0;r=c[a>>2]|0;c[a>>2]=q;c[m>>2]=r;v=c[h>>2]|0;c[h>>2]=p;c[l>>2]=v;v=c[j>>2]|0;c[j>>2]=c[k>>2];c[k>>2]=v;if((r|0)==0){break}Pu(r)}else{o=(c[a>>2]|0)+(g>>>5<<2)|0;c[h>>2]=b;n=g&31}}while(0);if((g|0)==(b|0)){i=e;return}b=(n|0)==0;if(d){if(!b){d=32-n|0;v=d>>>0>f>>>0?f:d;c[o>>2]=c[o>>2]|-1>>>((d-v|0)>>>0)&-1<<n;f=f-v|0;o=o+4|0}d=f>>>5;dv(o|0,-1|0,d<<2|0)|0;b=d<<5;if((f|0)==(b|0)){i=e;return}v=o+(d<<2)|0;c[v>>2]=c[v>>2]|-1>>>((32-f+b|0)>>>0);i=e;return}else{if(!b){d=32-n|0;v=d>>>0>f>>>0?f:d;c[o>>2]=c[o>>2]&~(-1>>>((d-v|0)>>>0)&-1<<n);f=f-v|0;o=o+4|0}b=f>>>5;dv(o|0,0,b<<2|0)|0;d=b<<5;if((f|0)==(d|0)){i=e;return}v=o+(b<<2)|0;c[v>>2]=c[v>>2]&~(-1>>>((32-f+d|0)>>>0));i=e;return}}function bl(b,d){b=b|0;d=d|0;var e=0,f=0;if((a[b|0]|0)!=0){e=(nd(d,2)|0)&255;a[b+1|0]=e;e=(nd(d,1)|0)&255;a[b+2|0]=e;e=nd(d,5)|0;c[b+4>>2]=e;e=0;f=(nd(d,1)|0)&255;do{a[b+8+e|0]=f;e=e+1|0;f=(nd(d,1)|0)&255}while((e|0)<32);a[b+40|0]=f;f=(nd(d,1)|0)&255;a[b+41|0]=f;f=(nd(d,1)|0)&255;a[b+42|0]=f;f=(nd(d,1)|0)&255;a[b+43|0]=f;od(d,44)}if((a[b+44|0]|0)==0){return}f=nd(d,8)|0;c[b+48>>2]=f;return}function cl(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0;g=i;i=i+8|0;h=g|0;if((f|0)==2){f=q}else if((f|0)==1){f=t}else{i=g;return}f=c[f>>2]|0;Zk(f,2952,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j;Zk(f,1624,(j=i,i=i+8|0,c[j>>2]=c[b>>2],j)|0);i=j;Zk(f,928,(j=i,i=i+8|0,c[j>>2]=c[b+4>>2],j)|0);i=j;j=b+8|0;Zk(f,296,(k=i,i=i+8|0,c[k>>2]=c[j>>2],k)|0);i=k;Zk(f,16768,(k=i,i=i+8|0,c[k>>2]=c[b+12>>2],k)|0);i=k;k=c[j>>2]|0;el(b+16|0,1,f);k=k-1|0;if((k|0)>0){l=0;do{Zk(f,6664,(p=i,i=i+8|0,c[p>>2]=l,p)|0);i=p;el(b+68+(l*52|0)|0,0,f);l=l+1|0;}while((l|0)<(k|0))}p=b+484|0;Zk(f,16272,(o=i,i=i+8|0,c[o>>2]=c[p>>2],o)|0);i=o;do{if((c[p>>2]|0)==0){Zk(f,14832,(p=i,i=i+8|0,c[p>>2]=c[b+488>>2],p)|0);i=p;Zk(f,14568,(p=i,i=i+8|0,c[p>>2]=c[b+492>>2],p)|0);i=p;Zk(f,14296,(p=i,i=i+8|0,c[p>>2]=c[b+496>>2],p)|0);i=p}else{if((c[j>>2]|0)>0){k=0}else{break}do{o=c[b+488+(k*12|0)>>2]|0;Zk(f,15912,(p=i,i=i+16|0,c[p>>2]=k,c[p+8>>2]=o,p)|0);i=p;Zk(f,15488,(p=i,i=i+8|0,c[p>>2]=c[b+488+(k*12|0)+4>>2],p)|0);i=p;Zk(f,15120,(p=i,i=i+8|0,c[p>>2]=c[b+488+(k*12|0)+8>>2],p)|0);i=p;k=k+1|0;}while((k|0)<(c[j>>2]|0))}}while(0);p=b+584|0;Zk(f,14056,(o=i,i=i+8|0,c[o>>2]=d[p]|0,o)|0);i=o;o=b+588|0;Zk(f,13768,(n=i,i=i+8|0,c[n>>2]=c[o>>2],n)|0);i=n;if((c[o>>2]|0)>=2){l=b+592|0;j=h|0;n=h+4|0;m=1;while(1){k=0;while(1){c[j>>2]=(c[(c[l>>2]|0)+(m*12|0)>>2]|0)+(k>>>5<<2);c[n>>2]=1<<(k&31);Zk(f,13560,(r=i,i=i+24|0,c[r>>2]=m,c[r+8>>2]=k,c[r+16>>2]=c[h>>2],c[r+20>>2]=c[h+4>>2],r)|0);i=r;if((k|0)<(d[p]|0)){k=k+1|0}else{break}}if((m|0)<((c[o>>2]|0)-1|0)){m=m+1|0}else{break}}}r=b+604|0;Zk(f,13368,(p=i,i=i+8|0,c[p>>2]=a[r]|0,p)|0);i=p;do{if((a[r]|0)!=0){Zk(f,13168,(r=i,i=i+8|0,c[r>>2]=c[b+608>>2],r)|0);i=r;Zk(f,12896,(r=i,i=i+8|0,c[r>>2]=c[b+612>>2],r)|0);i=r;r=b+616|0;Zk(f,12608,(p=i,i=i+8|0,c[p>>2]=a[r]|0,p)|0);i=p;if((a[r]|0)==0){break}Zk(f,12368,(r=i,i=i+8|0,c[r>>2]=c[b+620>>2],r)|0);i=r;r=b+624|0;Zk(f,12088,(p=i,i=i+8|0,c[p>>2]=c[r>>2],p)|0);i=p;if((c[r>>2]|0)<=0){break}p=e[c[b+628>>2]>>1]|0;Zk(f,11712,(r=i,i=i+16|0,c[r>>2]=0,c[r+8>>2]=p,r)|0);i=r;i=g;return}}while(0);Zk(f,11160,(r=i,i=i+8|0,c[r>>2]=a[b+652|0]|0,r)|0);i=r;i=g;return}function dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;el(a|0,1,d);b=b-1|0;if((b|0)>0){f=0}else{i=e;return}do{Zk(d,6664,(g=i,i=i+8|0,c[g>>2]=f,g)|0);i=g;el(a+52+(f*52|0)|0,0,d);f=f+1|0;}while((f|0)<(b|0));i=e;return}function el(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0;f=i;d=d?10928:10664;if((a[b|0]|0)!=0){g=a[b+1|0]|0;Zk(e,10376,(j=i,i=i+16|0,c[j>>2]=d,c[j+8>>2]=g,j)|0);i=j;j=a[b+2|0]|0;Zk(e,10032,(g=i,i=i+16|0,c[g>>2]=d,c[g+8>>2]=j,g)|0);i=g;g=c[b+4>>2]|0;if((g|0)==4){g=5792}else if((g|0)==1){g=6328}else if((g|0)==2){g=6208}else if((g|0)==3){g=5976}else{g=5624}Zk(e,9680,(j=i,i=i+16|0,c[j>>2]=d,c[j+8>>2]=g,j)|0);i=j;Zk(e,9288,(j=i,i=i+8|0,c[j>>2]=d,j)|0);i=j;g=0;do{if((g|0)!=0){Zk(e,9008,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j}Zk(e,8608,(j=i,i=i+8|0,c[j>>2]=a[b+8+g|0]|0,j)|0);i=j;g=g+1|0;}while((g|0)<32);Zk(e,8376,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j;j=a[b+40|0]|0;Zk(e,8112,(g=i,i=i+16|0,c[g>>2]=d,c[g+8>>2]=j,g)|0);i=g;g=a[b+41|0]|0;Zk(e,7872,(j=i,i=i+16|0,c[j>>2]=d,c[j+8>>2]=g,j)|0);i=j;j=a[b+42|0]|0;Zk(e,7600,(g=i,i=i+16|0,c[g>>2]=d,c[g+8>>2]=j,g)|0);i=g;g=a[b+43|0]|0;Zk(e,7296,(j=i,i=i+16|0,c[j>>2]=d,c[j+8>>2]=g,j)|0);i=j}if((a[b+44|0]|0)==0){i=f;return}g=c[b+48>>2]|0;Zk(e,6960,(j=i,i=i+24|0,c[j>>2]=d,c[j+8>>2]=g,h[j+16>>3]=+(g|0)/30.0,j)|0);i=j;i=f;return}function fl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+8|0;e=b+4|0;g=c[e>>2]|0;j=c[f>>2]|0;h=g;if(!((j-h|0)>>>0<d>>>0)){do{if((g|0)==0){f=0}else{a[g]=0;f=c[e>>2]|0}g=f+1|0;c[e>>2]=g;d=d-1|0;}while((d|0)!=0);return}g=b|0;k=c[g>>2]|0;h=h-k|0;b=h+d|0;if((b|0)<0){Nr(0)}j=j-k|0;if(j>>>0<1073741823>>>0){j=j<<1;b=j>>>0<b>>>0?b:j;if((b|0)==0){j=0;b=0}else{i=9}}else{b=2147483647;i=9}if((i|0)==9){j=Nu(b)|0}i=j+h|0;do{if((i|0)==0){i=0}else{a[i]=0}i=i+1|0;d=d-1|0;}while((d|0)!=0);d=c[g>>2]|0;l=(c[e>>2]|0)-d|0;k=j+(h-l)|0;cv(k|0,d|0,l)|0;c[g>>2]=k;c[e>>2]=i;c[f>>2]=j+b;if((d|0)==0){return}Pu(d);return}function gl(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=a+8|0;e=a+4|0;g=c[e>>2]|0;l=c[f>>2]|0;h=g;if(!(l-h>>1>>>0<d>>>0)){a=d;f=g;while(1){if((f|0)!=0){b[f>>1]=0}a=a-1|0;if((a|0)==0){break}else{f=f+2|0}}c[e>>2]=g+(d<<1);return}g=a|0;a=c[g>>2]|0;m=a;h=h-m|0;k=h>>1;i=k+d|0;if((i|0)<0){Nr(0)}l=l-m|0;if(l>>1>>>0<1073741823>>>0){m=l>>>0<i>>>0?i:l;if((m|0)==0){l=0;m=0}else{j=10}}else{m=2147483647;j=10}if((j|0)==10){l=Nu(m<<1)|0}j=l+(k<<1)|0;while(1){if((j|0)!=0){b[j>>1]=0}d=d-1|0;if((d|0)==0){break}else{j=j+2|0}}d=a;cv(l|0,d|0,h)|0;c[g>>2]=l;c[e>>2]=l+(i<<1);c[f>>2]=l+(m<<1);if((a|0)==0){return}Pu(d);return}function hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;f=d|0;g=d+8|0;h=d+16|0;e=a+8|0;if(!(c[e>>2]<<5>>>0<b>>>0)){i=d;return}if((b|0)<0){Nr(0)}j=((b-1|0)>>>5)+1|0;n=Nu(j<<2)|0;m=a|0;b=c[m>>2]|0;a=a+4|0;k=c[a>>2]|0;l=k>>>5;k=k&31;c[f>>2]=b;c[f+4>>2]=0;c[g>>2]=b+(l<<2);c[g+4>>2]=k;c[h>>2]=n;c[h+4>>2]=0;il(d+24|0,f,g,h);b=c[m>>2]|0;c[m>>2]=n;c[a>>2]=l<<5|k;c[e>>2]=j;if((b|0)==0){i=d;return}Pu(b);i=d;return}function il(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b|0;g=c[f>>2]|0;b=c[b+4>>2]|0;h=(c[d+4>>2]|0)-b+((c[d>>2]|0)-g<<3)|0;if((h|0)<=0){d=c[e>>2]|0;h=a|0;c[h>>2]=d;h=a+4|0;d=e+4|0;d=c[d>>2]|0;c[h>>2]=d;return}if((b|0)==0){b=e|0}else{d=32-b|0;i=(h|0)<(d|0)?h:d;d=-1>>>((d-i|0)>>>0)&-1<<b;b=e|0;j=c[b>>2]|0;c[j>>2]=c[j>>2]&~d|c[g>>2]&d;g=e+4|0;d=(c[g>>2]|0)+i|0;c[b>>2]=j+(d>>>5<<2);c[g>>2]=d&31;g=(c[f>>2]|0)+4|0;c[f>>2]=g;h=h-i|0}d=h>>>5;fv(c[b>>2]|0,g|0,d<<2|0)|0;g=h-(d<<5)|0;h=(c[b>>2]|0)+(d<<2)|0;c[b>>2]=h;if((g|0)<=0){i=h;j=a|0;c[j>>2]=i;j=a+4|0;i=e+4|0;i=c[i>>2]|0;c[j>>2]=i;return}h=(c[f>>2]|0)+(d<<2)|0;c[f>>2]=h;j=-1>>>((32-g|0)>>>0);i=c[b>>2]|0;c[i>>2]=c[i>>2]&~j|c[h>>2]&j;c[e+4>>2]=g;j=a|0;c[j>>2]=i;j=a+4|0;i=e+4|0;i=c[i>>2]|0;c[j>>2]=i;return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+8|0;d=a+4|0;f=c[d>>2]|0;h=c[e>>2]|0;g=f;if(!(((h-g|0)/12|0)>>>0<b>>>0)){do{if((f|0)==0){e=0}else{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;e=c[d>>2]|0}f=e+12|0;c[d>>2]=f;b=b-1|0;}while((b|0)!=0);return}f=a|0;j=c[f>>2]|0;g=(g-j|0)/12|0;a=g+b|0;if(a>>>0>357913941>>>0){Nr(0)}h=(h-j|0)/12|0;if(h>>>0<178956970>>>0){h=h<<1;j=h>>>0<a>>>0?a:h;if((j|0)==0){h=0;j=0}else{i=9}}else{j=357913941;i=9}if((i|0)==9){h=Nu(j*12|0)|0}a=h+(g*12|0)|0;i=a;do{if((i|0)==0){i=0}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0}i=i+12|0;b=b-1|0;}while((b|0)!=0);b=h+(j*12|0)|0;j=c[f>>2]|0;k=c[d>>2]|0;do{if((k|0)==(j|0)){c[f>>2]=a;c[d>>2]=i;c[e>>2]=b}else{g=g-1-(((k-12+(-j|0)|0)>>>0)/12|0)|0;while(1){l=k-12|0;n=l|0;c[a-12>>2]=c[n>>2];m=k-12+4|0;c[a-12+4>>2]=c[m>>2];k=k-12+8|0;c[a-12+8>>2]=c[k>>2];c[n>>2]=0;c[m>>2]=0;c[k>>2]=0;if((l|0)==(j|0)){break}else{k=l;a=a-12|0}}j=c[f>>2]|0;a=c[d>>2]|0;c[f>>2]=h+(g*12|0);c[d>>2]=i;c[e>>2]=b;if((a|0)==(j|0)){break}do{a=a-12|0;d=c[a>>2]|0;if((d|0)!=0){Pu(d)}}while((a|0)!=(j|0))}}while(0);if((j|0)==0){return}Pu(j);return}function kl(d){d=d|0;a[d|0]=0;dv(d+2|0,0,7)|0;c[d+12>>2]=5;a[d+16|0]=0;a[d+17|0]=0;a[d+18|0]=2;a[d+19|0]=2;a[d+20|0]=2;c[d+48>>2]=0;c[d+52>>2]=0;a[d+56|0]=0;dv(d+21|0,0,24)|0;c[d+60>>2]=1;a[d+64|0]=0;a[d+65|0]=0;a[d+66|0]=0;a[d+67|0]=1;a[d+68|0]=0;b[d+70>>1]=0;a[d+72|0]=2;a[d+73|0]=1;a[d+74|0]=15;a[d+75|0]=15;return}function ll(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=(nd(f,1)|0)!=0;a[d|0]=m&1;do{if(m){g=nd(f,8)|0;if((g|0)<18){b[d+2>>1]=b[30800+(g<<2)>>1]|0;b[d+4>>1]=b[30802+(g<<2)>>1]|0;break}if((g|0)==255){m=(nd(f,16)|0)&65535;b[d+2>>1]=m;m=(nd(f,16)|0)&65535;b[d+4>>1]=m;break}else{b[d+2>>1]=0;b[d+4>>1]=0;break}}else{b[d+2>>1]=0;b[d+4>>1]=0}}while(0);m=(nd(f,1)|0)!=0;a[d+6|0]=m&1;if(m){m=(nd(f,1)|0)!=0|0;a[d+7|0]=m}k=d+12|0;c[k>>2]=5;l=d+16|0;a[l]=0;j=d+18|0;a[j]=2;i=d+19|0;a[i]=2;g=d+20|0;a[g]=2;m=(nd(f,1)|0)!=0;a[d+8|0]=m&1;do{if(m){m=nd(f,3)|0;c[k>>2]=(m|0)>5?5:m;m=(nd(f,1)|0)!=0|0;a[l]=m;m=(nd(f,1)|0)!=0;a[d+17|0]=m&1;if(!m){break}k=nd(f,8)|0;a[j]=k;k=k&255;if((k|0)==0|(k|0)==3){h=14}else{if(k>>>0>10>>>0){h=14}}if((h|0)==14){a[j]=2}j=nd(f,8)|0;a[i]=j;j=j&255;if((j|0)==0|(j|0)==3){h=17}else{if(j>>>0>17>>>0){h=17}}if((h|0)==17){a[i]=2}h=nd(f,8)|0;m=h&255;a[g]=(m|0)==0|m>>>0>10>>>0?2:h&255}}while(0);m=(nd(f,1)|0)!=0;a[d+21|0]=m&1;do{if(m){h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}a[d+22|0]=h;h=qd(f)|0;if(!((h|0)==-99999)){a[d+23|0]=h;break}Ue(e,8,0);m=8;return m|0}else{a[d+22|0]=0;a[d+23|0]=0}}while(0);m=(nd(f,1)|0)!=0|0;a[d+24|0]=m;m=(nd(f,1)|0)!=0|0;a[d+25|0]=m;m=(nd(f,1)|0)!=0|0;a[d+26|0]=m;m=(nd(f,1)|0)!=0;a[d+27|0]=m&1;do{if(m){h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}c[d+28>>2]=h;h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}c[d+32>>2]=h;h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}c[d+36>>2]=h;h=qd(f)|0;if(!((h|0)==-99999)){c[d+40>>2]=h;break}Ue(e,8,0);m=8;return m|0}else{dv(d+28|0,0,16)|0}}while(0);m=(nd(f,1)|0)!=0;a[d+44|0]=m&1;if(m){m=nd(f,32)|0;c[d+48>>2]=m;m=nd(f,32)|0;c[d+52>>2]=m}h=(nd(f,1)|0)!=0|0;a[d+56|0]=h;h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}c[d+60>>2]=h+1;m=(nd(f,1)|0)!=0;a[d+64|0]=m&1;if(m){m=502;return m|0}m=(nd(f,1)|0)!=0;a[d+65|0]=m&1;if(!m){a[d+66|0]=0;a[d+67|0]=1;a[d+68|0]=0;b[d+70>>1]=0;a[d+72|0]=2;a[d+73|0]=1;a[d+74|0]=15;a[d+75|0]=15;m=0;return m|0}h=(nd(f,1)|0)!=0|0;a[d+66|0]=h;h=(nd(f,1)|0)!=0|0;a[d+67|0]=h;h=(nd(f,1)|0)!=0|0;a[d+68|0]=h;h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}g=d+70|0;b[g>>1]=h;if((h&61440)>>>0>4095>>>0){Ue(e,8,0);b[g>>1]=0}h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}g=d+72|0;a[g]=h;if((h&255)>>>0>16>>>0){Ue(e,8,0);a[g]=2}h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}g=d+73|0;a[g]=h;if((h&255)>>>0>16>>>0){Ue(e,8,0);a[g]=1}h=qd(f)|0;if((h|0)==-99999){Ue(e,8,0);m=8;return m|0}g=d+74|0;a[g]=h;if((h&240)>>>0>15>>>0){Ue(e,8,0);a[g]=15}f=qd(f)|0;if((f|0)==-99999){Ue(e,8,0);m=8;return m|0}d=d+75|0;a[d]=f;if(!((f&240)>>>0>15>>>0)){m=0;return m|0}Ue(e,8,0);a[d]=15;m=0;return m|0}function ml(b,f){b=b|0;f=f|0;var g=0,h=0,j=0;g=i;if((f|0)==2){f=q}else if((f|0)==1){f=t}else{i=g;return}f=c[f>>2]|0;Zk(f,2832,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j;j=e[b+4>>1]|0;Zk(f,1504,(h=i,i=i+16|0,c[h>>2]=e[b+2>>1]|0,c[h+8>>2]=j,h)|0);i=h;Zk(f,856,(h=i,i=i+8|0,c[h>>2]=d[b+6|0]|0,h)|0);i=h;Zk(f,248,(h=i,i=i+8|0,c[h>>2]=d[b+7|0]|0,h)|0);i=h;h=b+8|0;Zk(f,16688,(j=i,i=i+8|0,c[j>>2]=d[h]|0,j)|0);i=j;if((a[h]|0)!=0){switch(c[b+12>>2]|0){case 1:{h=13944;break};case 2:{h=11320;break};case 3:{h=8288;break};case 4:{h=5936;break};case 0:{h=672;break};default:{h=4136}}Zk(f,16216,(j=i,i=i+8|0,c[j>>2]=h,j)|0);i=j;Zk(f,15832,(j=i,i=i+8|0,c[j>>2]=d[b+16|0]|0,j)|0);i=j;Zk(f,15432,(j=i,i=i+8|0,c[j>>2]=d[b+17|0]|0,j)|0);i=j;Zk(f,15080,(j=i,i=i+8|0,c[j>>2]=d[b+18|0]|0,j)|0);i=j;Zk(f,14792,(j=i,i=i+8|0,c[j>>2]=d[b+19|0]|0,j)|0);i=j;Zk(f,14488,(j=i,i=i+8|0,c[j>>2]=d[b+20|0]|0,j)|0);i=j}j=b+21|0;Zk(f,14232,(h=i,i=i+8|0,c[h>>2]=d[j]|0,h)|0);i=h;if((a[j]|0)!=0){Zk(f,14008,(j=i,i=i+8|0,c[j>>2]=d[b+22|0]|0,j)|0);i=j;Zk(f,13720,(j=i,i=i+8|0,c[j>>2]=d[b+23|0]|0,j)|0);i=j}Zk(f,13520,(j=i,i=i+8|0,c[j>>2]=d[b+24|0]|0,j)|0);i=j;Zk(f,13328,(j=i,i=i+8|0,c[j>>2]=d[b+25|0]|0,j)|0);i=j;Zk(f,13120,(j=i,i=i+8|0,c[j>>2]=d[b+26|0]|0,j)|0);i=j;Zk(f,12856,(j=i,i=i+8|0,c[j>>2]=d[b+27|0]|0,j)|0);i=j;Zk(f,12568,(j=i,i=i+8|0,c[j>>2]=c[b+28>>2],j)|0);i=j;Zk(f,12328,(j=i,i=i+8|0,c[j>>2]=c[b+32>>2],j)|0);i=j;Zk(f,12048,(j=i,i=i+8|0,c[j>>2]=c[b+36>>2],j)|0);i=j;Zk(f,11664,(j=i,i=i+8|0,c[j>>2]=c[b+40>>2],j)|0);i=j;j=b+44|0;Zk(f,11392,(h=i,i=i+8|0,c[h>>2]=d[j]|0,h)|0);i=h;if((a[j]|0)!=0){Zk(f,11120,(j=i,i=i+8|0,c[j>>2]=c[b+48>>2],j)|0);i=j;Zk(f,10888,(j=i,i=i+8|0,c[j>>2]=c[b+52>>2],j)|0);i=j}Zk(f,10616,(j=i,i=i+8|0,c[j>>2]=d[b+56|0]|0,j)|0);i=j;Zk(f,10328,(j=i,i=i+8|0,c[j>>2]=c[b+60>>2],j)|0);i=j;Zk(f,9992,(j=i,i=i+8|0,c[j>>2]=d[b+64|0]|0,j)|0);i=j;j=b+65|0;Zk(f,9632,(h=i,i=i+8|0,c[h>>2]=d[j]|0,h)|0);i=h;if((a[j]|0)==0){i=g;return}Zk(f,9240,(j=i,i=i+8|0,c[j>>2]=d[b+66|0]|0,j)|0);i=j;Zk(f,8960,(j=i,i=i+8|0,c[j>>2]=d[b+67|0]|0,j)|0);i=j;Zk(f,8560,(j=i,i=i+8|0,c[j>>2]=d[b+68|0]|0,j)|0);i=j;Zk(f,8328,(j=i,i=i+8|0,c[j>>2]=e[b+70>>1]|0,j)|0);i=j;Zk(f,8064,(j=i,i=i+8|0,c[j>>2]=d[b+72|0]|0,j)|0);i=j;Zk(f,7824,(j=i,i=i+8|0,c[j>>2]=d[b+73|0]|0,j)|0);i=j;Zk(f,7552,(j=i,i=i+8|0,c[j>>2]=d[b+74|0]|0,j)|0);i=j;Zk(f,7248,(j=i,i=i+8|0,c[j>>2]=d[b+75|0]|0,j)|0);i=j;i=g;return}function nl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;f=b|0;h=b+8|0;l=b+16|0;j=b+24|0;d=c[o>>2]|0;Jl(34232,d,34360);c[8806]=21516;c[8808]=21536;c[8807]=0;Mm(35232,34232);c[8826]=0;c[8827]=-1;g=c[t>>2]|0;c[8534]=21296;Tr(34140);dv(34144,0,24)|0;c[8534]=21664;c[8542]=g;Ur(j,34140);k=Wr(j,34560)|0;e=k;Vr(j);c[8543]=e;c[8544]=34368;e=(Fc[c[(c[k>>2]|0)+28>>2]&255](e)|0)&1;a[34180]=e;c[8740]=21420;c[8741]=21440;Mm(34964,34136);c[8759]=0;c[8760]=-1;e=c[q>>2]|0;c[8546]=21296;Tr(34188);dv(34192,0,24)|0;c[8546]=21664;c[8554]=e;Ur(l,34188);k=Wr(l,34560)|0;j=k;Vr(l);c[8555]=j;c[8556]=34376;j=(Fc[c[(c[k>>2]|0)+28>>2]&255](j)|0)&1;a[34228]=j;c[8784]=21420;c[8785]=21440;Mm(35140,34184);c[8803]=0;c[8804]=-1;j=c[(c[(c[8784]|0)-12>>2]|0)+35160>>2]|0;c[8762]=21420;c[8763]=21440;Mm(35052,j);c[8781]=0;c[8782]=-1;c[(c[(c[8806]|0)-12>>2]|0)+35296>>2]=34960;j=(c[(c[8784]|0)-12>>2]|0)+35140|0;c[j>>2]=c[j>>2]|8192;c[(c[(c[8784]|0)-12>>2]|0)+35208>>2]=34960;vl(34080,d,34384);c[8718]=21468;c[8720]=21488;c[8719]=0;Mm(34880,34080);c[8738]=0;c[8739]=-1;c[8496]=21224;Tr(33988);dv(33992,0,24)|0;c[8496]=21592;c[8504]=g;Ur(h,33988);g=Wr(h,34552)|0;d=g;Vr(h);c[8505]=d;c[8506]=34392;d=(Fc[c[(c[g>>2]|0)+28>>2]&255](d)|0)&1;a[34028]=d;c[8648]=21372;c[8649]=21392;Mm(34596,33984);c[8667]=0;c[8668]=-1;c[8508]=21224;Tr(34036);dv(34040,0,24)|0;c[8508]=21592;c[8516]=e;Ur(f,34036);e=Wr(f,34552)|0;d=e;Vr(f);c[8517]=d;c[8518]=34400;d=(Fc[c[(c[e>>2]|0)+28>>2]&255](d)|0)&1;a[34076]=d;c[8692]=21372;c[8693]=21392;Mm(34772,34032);c[8711]=0;c[8712]=-1;d=c[(c[(c[8692]|0)-12>>2]|0)+34792>>2]|0;c[8670]=21372;c[8671]=21392;Mm(34684,d);c[8689]=0;c[8690]=-1;c[(c[(c[8718]|0)-12>>2]|0)+34944>>2]=34592;d=(c[(c[8692]|0)-12>>2]|0)+34772|0;c[d>>2]=c[d>>2]|8192;c[(c[(c[8692]|0)-12>>2]|0)+34840>>2]=34592;i=b;return}function ol(a){a=a|0;sn(34960)|0;sn(35048)|0;xn(34592)|0;xn(34680)|0;return}function pl(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);return}function ql(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);Pu(a);return}function rl(b,d){b=b|0;d=d|0;var e=0;Fc[c[(c[b>>2]|0)+24>>2]&255](b)|0;e=Wr(d,34552)|0;d=e;c[b+36>>2]=d;d=(Fc[c[(c[e>>2]|0)+28>>2]&255](d)|0)&1;a[b+44|0]=d;return}function sl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;j=b|0;d=b+8|0;e=a+36|0;f=a+40|0;g=j|0;h=j+8|0;a=a+32|0;while(1){k=c[e>>2]|0;k=Gc[c[(c[k>>2]|0)+20>>2]&31](k,c[f>>2]|0,g,h,d)|0;l=(c[d>>2]|0)-j|0;if((Oa(g|0,1,l|0,c[a>>2]|0)|0)!=(l|0)){e=-1;d=5;break}if((k|0)==2){e=-1;d=5;break}else if((k|0)!=1){d=4;break}}if((d|0)==4){l=((Ma(c[a>>2]|0)|0)!=0)<<31>>31;i=b;return l|0}else if((d|0)==5){i=b;return e|0}return 0}function tl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((a[b+44|0]|0)!=0){g=Oa(d|0,4,e|0,c[b+32>>2]|0)|0;return g|0}f=b;if((e|0)>0){g=0}else{g=0;return g|0}while(1){if((Qc[c[(c[f>>2]|0)+52>>2]&63](b,c[d>>2]|0)|0)==-1){b=6;break}g=g+1|0;if((g|0)<(e|0)){d=d+4|0}else{b=6;break}}if((b|0)==6){return g|0}return 0}function ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+32|0;o=e|0;p=e+8|0;h=e+16|0;j=e+24|0;f=(d|0)==-1;a:do{if(!f){c[p>>2]=d;if((a[b+44|0]|0)!=0){if((Oa(p|0,4,1,c[b+32>>2]|0)|0)==1){break}else{d=-1}i=e;return d|0}m=o|0;c[h>>2]=m;k=p+4|0;n=b+36|0;l=b+40|0;g=o+8|0;b=b+32|0;while(1){q=c[n>>2]|0;q=Vc[c[(c[q>>2]|0)+12>>2]&31](q,c[l>>2]|0,p,k,j,m,g,h)|0;if((c[j>>2]|0)==(p|0)){d=-1;g=12;break}if((q|0)==3){g=7;break}r=(q|0)==1;if(!(q>>>0<2>>>0)){d=-1;g=12;break}q=(c[h>>2]|0)-o|0;if((Oa(m|0,1,q|0,c[b>>2]|0)|0)!=(q|0)){d=-1;g=12;break}if(r){p=r?c[j>>2]|0:p}else{break a}}if((g|0)==7){if((Oa(p|0,1,1,c[b>>2]|0)|0)==1){break}else{d=-1}i=e;return d|0}else if((g|0)==12){i=e;return d|0}}}while(0);r=f?0:d;i=e;return r|0}function vl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+8|0;g=f|0;j=b|0;c[j>>2]=21224;h=b+4|0;Tr(h);dv(b+8|0,0,24)|0;c[j>>2]=21992;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52|0]=0;Ur(g,h);d=Wr(g,34552)|0;h=d;e=b+36|0;c[e>>2]=h;h=Fc[c[(c[d>>2]|0)+24>>2]&255](h)|0;d=b+44|0;c[d>>2]=h;e=c[e>>2]|0;e=(Fc[c[(c[e>>2]|0)+28>>2]&255](e)|0)&1;a[b+53|0]=e;if((c[d>>2]|0)<=8){Vr(g);i=f;return}dr(736);Vr(g);i=f;return}function wl(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);return}function xl(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);Pu(a);return}function yl(b,d){b=b|0;d=d|0;var e=0,f=0;d=Wr(d,34552)|0;f=d;e=b+36|0;c[e>>2]=f;f=Fc[c[(c[d>>2]|0)+24>>2]&255](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Fc[c[(c[e>>2]|0)+28>>2]&255](e)|0)&1;a[b+53|0]=e;if((c[d>>2]|0)<=8){return}dr(736);return}function zl(a){a=a|0;return Cl(a,0)|0}function Al(a){a=a|0;return Cl(a,1)|0}function Bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;k=e|0;f=e+8|0;m=e+16|0;l=e+24|0;g=b+52|0;j=(a[g]|0)!=0;if((d|0)==-1){if(j){m=-1;i=e;return m|0}m=c[b+48>>2]|0;a[g]=(m|0)!=-1|0;i=e;return m|0}h=b+48|0;a:do{if(j){c[m>>2]=c[h>>2];n=c[b+36>>2]|0;j=k|0;l=Vc[c[(c[n>>2]|0)+12>>2]&31](n,c[b+40>>2]|0,m,m+4|0,l,j,k+8|0,f)|0;if((l|0)==3){a[j]=c[h>>2];c[f>>2]=k+1}else if((l|0)==2|(l|0)==1){n=-1;i=e;return n|0}b=b+32|0;while(1){k=c[f>>2]|0;if(!(k>>>0>j>>>0)){break a}n=k-1|0;c[f>>2]=n;if(($b(a[n]|0,c[b>>2]|0)|0)==-1){f=-1;break}}i=e;return f|0}}while(0);c[h>>2]=d;a[g]=1;n=d;i=e;return n|0}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+32|0;g=e|0;h=e+8|0;m=e+16|0;l=e+24|0;n=b+52|0;if((a[n]|0)!=0){f=b+48|0;g=c[f>>2]|0;if(!d){w=g;i=e;return w|0}c[f>>2]=-1;a[n]=0;w=g;i=e;return w|0}n=c[b+44>>2]|0;t=(n|0)>1?n:1;a:do{if((t|0)>0){p=b+32|0;n=0;while(1){o=eb(c[p>>2]|0)|0;if((o|0)==-1){f=-1;break}a[g+n|0]=o;n=n+1|0;if((n|0)>=(t|0)){break a}}i=e;return f|0}}while(0);b:do{if((a[b+53|0]|0)==0){o=b+40|0;n=b+36|0;r=g|0;q=h+4|0;p=b+32|0;while(1){v=c[o>>2]|0;w=v;u=c[w>>2]|0;w=c[w+4>>2]|0;x=c[n>>2]|0;s=g+t|0;v=Vc[c[(c[x>>2]|0)+16>>2]&31](x,v,r,s,m,h,q,l)|0;if((v|0)==2){f=-1;j=22;break}else if((v|0)==3){j=14;break}else if((v|0)!=1){k=t;break b}x=c[o>>2]|0;c[x>>2]=u;c[x+4>>2]=w;if((t|0)==8){f=-1;j=22;break}u=eb(c[p>>2]|0)|0;if((u|0)==-1){f=-1;j=22;break}a[s]=u;t=t+1|0}if((j|0)==14){c[h>>2]=a[r]|0;k=t;break}else if((j|0)==22){i=e;return f|0}}else{c[h>>2]=a[g|0]|0;k=t}}while(0);if(d){x=c[h>>2]|0;c[b+48>>2]=x;i=e;return x|0}d=b+32|0;while(1){if((k|0)<=0){break}k=k-1|0;if(($b(a[g+k|0]|0,c[d>>2]|0)|0)==-1){f=-1;j=22;break}}if((j|0)==22){i=e;return f|0}x=c[h>>2]|0;i=e;return x|0}function Dl(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);return}function El(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);Pu(a);return}function Fl(b,d){b=b|0;d=d|0;var e=0;Fc[c[(c[b>>2]|0)+24>>2]&255](b)|0;e=Wr(d,34560)|0;d=e;c[b+36>>2]=d;d=(Fc[c[(c[e>>2]|0)+28>>2]&255](d)|0)&1;a[b+44|0]=d;return}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;j=b|0;d=b+8|0;e=a+36|0;f=a+40|0;g=j|0;h=j+8|0;a=a+32|0;while(1){k=c[e>>2]|0;k=Gc[c[(c[k>>2]|0)+20>>2]&31](k,c[f>>2]|0,g,h,d)|0;l=(c[d>>2]|0)-j|0;if((Oa(g|0,1,l|0,c[a>>2]|0)|0)!=(l|0)){e=-1;d=5;break}if((k|0)==2){e=-1;d=5;break}else if((k|0)!=1){d=4;break}}if((d|0)==4){l=((Ma(c[a>>2]|0)|0)!=0)<<31>>31;i=b;return l|0}else if((d|0)==5){i=b;return e|0}return 0}function Hl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;if((a[b+44|0]|0)!=0){h=Oa(e|0,1,f|0,c[b+32>>2]|0)|0;return h|0}g=b;if((f|0)>0){h=0}else{h=0;return h|0}while(1){if((Qc[c[(c[g>>2]|0)+52>>2]&63](b,d[e]|0)|0)==-1){b=6;break}h=h+1|0;if((h|0)<(f|0)){e=e+1|0}else{b=6;break}}if((b|0)==6){return h|0}return 0}function Il(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+32|0;o=e|0;p=e+8|0;h=e+16|0;j=e+24|0;f=(d|0)==-1;a:do{if(!f){a[p]=d;if((a[b+44|0]|0)!=0){if((Oa(p|0,1,1,c[b+32>>2]|0)|0)==1){break}else{d=-1}i=e;return d|0}m=o|0;c[h>>2]=m;k=p+1|0;n=b+36|0;l=b+40|0;g=o+8|0;b=b+32|0;while(1){q=c[n>>2]|0;q=Vc[c[(c[q>>2]|0)+12>>2]&31](q,c[l>>2]|0,p,k,j,m,g,h)|0;if((c[j>>2]|0)==(p|0)){d=-1;g=12;break}if((q|0)==3){g=7;break}r=(q|0)==1;if(!(q>>>0<2>>>0)){d=-1;g=12;break}q=(c[h>>2]|0)-o|0;if((Oa(m|0,1,q|0,c[b>>2]|0)|0)!=(q|0)){d=-1;g=12;break}if(r){p=r?c[j>>2]|0:p}else{break a}}if((g|0)==7){if((Oa(p|0,1,1,c[b>>2]|0)|0)==1){break}else{d=-1}i=e;return d|0}else if((g|0)==12){i=e;return d|0}}}while(0);r=f?0:d;i=e;return r|0}function Jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+8|0;g=f|0;j=b|0;c[j>>2]=21296;h=b+4|0;Tr(h);dv(b+8|0,0,24)|0;c[j>>2]=22064;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52|0]=0;Ur(g,h);d=Wr(g,34560)|0;h=d;e=b+36|0;c[e>>2]=h;h=Fc[c[(c[d>>2]|0)+24>>2]&255](h)|0;d=b+44|0;c[d>>2]=h;e=c[e>>2]|0;e=(Fc[c[(c[e>>2]|0)+28>>2]&255](e)|0)&1;a[b+53|0]=e;if((c[d>>2]|0)<=8){Vr(g);i=f;return}dr(736);Vr(g);i=f;return}function Kl(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);return}function Ll(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);Pu(a);return}function Ml(b,d){b=b|0;d=d|0;var e=0,f=0;d=Wr(d,34560)|0;f=d;e=b+36|0;c[e>>2]=f;f=Fc[c[(c[d>>2]|0)+24>>2]&255](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Fc[c[(c[e>>2]|0)+28>>2]&255](e)|0)&1;a[b+53|0]=e;if((c[d>>2]|0)<=8){return}dr(736);return}function Nl(a){a=a|0;return Ql(a,0)|0}function Ol(a){a=a|0;return Ql(a,1)|0}function Pl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;k=e|0;f=e+8|0;m=e+16|0;l=e+24|0;g=b+52|0;j=(a[g]|0)!=0;if((d|0)==-1){if(j){m=-1;i=e;return m|0}m=c[b+48>>2]|0;a[g]=(m|0)!=-1|0;i=e;return m|0}h=b+48|0;a:do{if(j){a[m]=c[h>>2];n=c[b+36>>2]|0;j=k|0;l=Vc[c[(c[n>>2]|0)+12>>2]&31](n,c[b+40>>2]|0,m,m+1|0,l,j,k+8|0,f)|0;if((l|0)==3){a[j]=c[h>>2];c[f>>2]=k+1}else if((l|0)==2|(l|0)==1){n=-1;i=e;return n|0}b=b+32|0;while(1){k=c[f>>2]|0;if(!(k>>>0>j>>>0)){break a}n=k-1|0;c[f>>2]=n;if(($b(a[n]|0,c[b>>2]|0)|0)==-1){f=-1;break}}i=e;return f|0}}while(0);c[h>>2]=d;a[g]=1;n=d;i=e;return n|0}function Ql(b,e){b=b|0;e=e|0;var f=0,g=0,h=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;f=i;i=i+32|0;h=f|0;j=f+8|0;n=f+16|0;m=f+24|0;o=b+52|0;if((a[o]|0)!=0){g=b+48|0;h=c[g>>2]|0;if(!e){x=h;i=f;return x|0}c[g>>2]=-1;a[o]=0;x=h;i=f;return x|0}o=c[b+44>>2]|0;t=(o|0)>1?o:1;a:do{if((t|0)>0){q=b+32|0;o=0;while(1){p=eb(c[q>>2]|0)|0;if((p|0)==-1){k=-1;break}a[h+o|0]=p;o=o+1|0;if((o|0)>=(t|0)){break a}}i=f;return k|0}}while(0);b:do{if((a[b+53|0]|0)==0){r=b+40|0;q=b+36|0;o=h|0;p=j+1|0;s=b+32|0;while(1){w=c[r>>2]|0;x=w;v=c[x>>2]|0;x=c[x+4>>2]|0;y=c[q>>2]|0;u=h+t|0;w=Vc[c[(c[y>>2]|0)+16>>2]&31](y,w,o,u,n,j,p,m)|0;if((w|0)==2){k=-1;m=23;break}else if((w|0)==3){m=14;break}else if((w|0)!=1){l=t;break b}y=c[r>>2]|0;c[y>>2]=v;c[y+4>>2]=x;if((t|0)==8){k=-1;m=23;break}v=eb(c[s>>2]|0)|0;if((v|0)==-1){k=-1;m=23;break}a[u]=v;t=t+1|0}if((m|0)==14){a[j]=a[o]|0;l=t;break}else if((m|0)==23){i=f;return k|0}}else{a[j]=a[h|0]|0;l=t}}while(0);do{if(e){g=a[j]|0;c[b+48>>2]=g&255}else{e=b+32|0;while(1){if((l|0)<=0){m=21;break}l=l-1|0;if(($b(d[h+l|0]|0,c[e>>2]|0)|0)==-1){k=-1;m=23;break}}if((m|0)==21){g=a[j]|0;break}else if((m|0)==23){i=f;return k|0}}}while(0);y=g&255;i=f;return y|0}function Rl(){nl(0);Ub(164,35312,u|0)|0;return}function Sl(a){a=a|0;return}function Tl(a){a=a|0;a=a+4|0;I=c[a>>2]|0,c[a>>2]=I+1,I;return}function Ul(a){a=a|0;var b=0;b=a+4|0;if(((I=c[b>>2]|0,c[b>>2]=I+ -1,I)|0)!=0){b=0;return b|0}Dc[c[(c[a>>2]|0)+8>>2]&511](a);b=1;return b|0}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=19600;d=ev(b|0)|0;f=Ou(d+13|0)|0;c[f+4>>2]=d;c[f>>2]=d;e=f+12|0;c[a+4>>2]=e;c[f+8>>2]=0;cv(e|0,b|0,d+1|0)|0;return}function Wl(a){a=a|0;var b=0,d=0;c[a>>2]=19600;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){d=a;Pu(d);return}Qu((c[b>>2]|0)-12|0);d=a;Pu(d);return}function Xl(a){a=a|0;var b=0;c[a>>2]=19600;a=a+4|0;b=(c[a>>2]|0)-4|0;if(((I=c[b>>2]|0,c[b>>2]=I+ -1,I)-1|0)>=0){return}Qu((c[a>>2]|0)-12|0);return}function Yl(a){a=a|0;return c[a+4>>2]|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[b>>2]=19536;if((a[d]&1)==0){d=d+1|0}else{d=c[d+8>>2]|0}e=ev(d|0)|0;g=Ou(e+13|0)|0;c[g+4>>2]=e;c[g>>2]=e;f=g+12|0;c[b+4>>2]=f;c[g+8>>2]=0;cv(f|0,d|0,e+1|0)|0;return}function _l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=19536;d=ev(b|0)|0;f=Ou(d+13|0)|0;c[f+4>>2]=d;c[f>>2]=d;e=f+12|0;c[a+4>>2]=e;c[f+8>>2]=0;cv(e|0,b|0,d+1|0)|0;return}function $l(a){a=a|0;var b=0,d=0;c[a>>2]=19536;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){d=a;Pu(d);return}Qu((c[b>>2]|0)-12|0);d=a;Pu(d);return}function am(a){a=a|0;var b=0;c[a>>2]=19536;a=a+4|0;b=(c[a>>2]|0)-4|0;if(((I=c[b>>2]|0,c[b>>2]=I+ -1,I)-1|0)>=0){return}Qu((c[a>>2]|0)-12|0);return}function bm(a){a=a|0;return c[a+4>>2]|0}function cm(a){a=a|0;var b=0,d=0;c[a>>2]=19600;b=a+4|0;d=(c[b>>2]|0)-4|0;if(((I=c[d>>2]|0,c[d>>2]=I+ -1,I)-1|0)>=0){d=a;Pu(d);return}Qu((c[b>>2]|0)-12|0);d=a;Pu(d);return}function dm(a){a=a|0;return}function em(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+8|0;f=e|0;Tc[c[(c[a>>2]|0)+12>>2]&63](f,a,b);if((c[f+4>>2]|0)!=(c[d+4>>2]|0)){a=0;i=e;return a|0}a=(c[f>>2]|0)==(c[d>>2]|0);i=e;return a|0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+4>>2]|0)!=(a|0)){a=0;return a|0}a=(c[b>>2]|0)==(d|0);return a|0}function hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=Wb(e|0)|0;e=ev(d|0)|0;if(e>>>0>4294967279>>>0){nm(0)}if(e>>>0<11>>>0){a[b]=e<<1;b=b+1|0;cv(b|0,d|0,e)|0;d=b+e|0;a[d]=0;return}else{g=e+16&-16;f=Nu(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f;cv(b|0,d|0,e)|0;d=b+e|0;a[d]=0;return}}function im(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;g=f|0;j=d|0;k=c[j>>2]|0;h=e;do{if((k|0)!=0){l=a[h]|0;if((l&1)==0){l=(l&255)>>>1}else{l=c[e+4>>2]|0}if((l|0)!=0){xm(e,12816,2)|0;k=c[j>>2]|0}d=c[d+4>>2]|0;Tc[c[(c[d>>2]|0)+24>>2]&63](g,d,k);d=g;j=a[d]|0;if((j&1)==0){j=(j&255)>>>1;k=g+1|0}else{j=c[g+4>>2]|0;k=c[g+8>>2]|0}xm(e,k,j)|0;if((a[d]&1)==0){break}Pu(c[g+8>>2]|0)}}while(0);l=b;c[l>>2]=c[h>>2];c[l+4>>2]=c[h+4>>2];c[l+8>>2]=c[h+8>>2];dv(h|0,0,12)|0;i=f;return}function jm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;h=d;d=i;i=i+8|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];h=f|0;g=f+16|0;j=ev(e|0)|0;if(j>>>0>4294967279>>>0){nm(0)}if(j>>>0<11>>>0){a[g]=j<<1;k=g+1|0}else{l=j+16&-16;k=Nu(l)|0;c[g+8>>2]=k;c[g>>2]=l|1;c[g+4>>2]=j}cv(k|0,e|0,j)|0;a[k+j|0]=0;im(h,d,g);Zl(b|0,h);if(!((a[h]&1)==0)){Pu(c[h+8>>2]|0)}if(!((a[g]&1)==0)){Pu(c[g+8>>2]|0)}c[b>>2]=21560;l=b+8|0;k=c[d+4>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=k;i=f;return}function km(a){a=a|0;am(a|0);Pu(a);return}function lm(a){a=a|0;am(a|0);return}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i;if((c[a>>2]|0)==1){do{Za(34312,34288)|0;}while((c[a>>2]|0)==1)}if((c[a>>2]|0)!=0){e;return}c[a>>2]=1;f;Dc[d&511](b);g;c[a>>2]=-1;h;Ob(34312)|0;return}function nm(a){a=a|0;a=pc(8)|0;Vl(a,1304);c[a>>2]=19568;Fb(a|0,25576,40)}function om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=d;if((a[e]&1)==0){d=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];return}e=c[d+8>>2]|0;d=c[d+4>>2]|0;if(d>>>0>4294967279>>>0){nm(0)}if(d>>>0<11>>>0){a[b]=d<<1;b=b+1|0}else{g=d+16&-16;f=Nu(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}cv(b|0,e|0,d)|0;a[b+d|0]=0;return}function pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279>>>0){nm(0)}if(e>>>0<11>>>0){a[b]=e<<1;b=b+1|0;cv(b|0,d|0,e)|0;d=b+e|0;a[d]=0;return}else{g=e+16&-16;f=Nu(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f;cv(b|0,d|0,e)|0;d=b+e|0;a[d]=0;return}}function qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279>>>0){nm(0)}if(d>>>0<11>>>0){a[b]=d<<1;b=b+1|0;dv(b|0,e|0,d|0)|0;e=b+d|0;a[e]=0;return}else{g=d+16&-16;f=Nu(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f;dv(b|0,e|0,d|0)|0;e=b+d|0;a[e]=0;return}}function rm(b){b=b|0;if((a[b]&1)==0){return}Pu(c[b+8>>2]|0);return}function sm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=ev(d|0)|0;f=b;h=a[f]|0;if((h&1)==0){g=10}else{h=c[b>>2]|0;g=(h&-2)-1|0;h=h&255}i=(h&1)==0;if(g>>>0<e>>>0){if(i){f=(h&255)>>>1}else{f=c[b+4>>2]|0}ym(b,g,e-g|0,f,0,f,e,d);return b|0}if(i){g=b+1|0}else{g=c[b+8>>2]|0}fv(g|0,d|0,e|0)|0;a[g+e|0]=0;if((a[f]&1)==0){a[f]=e<<1;return b|0}else{c[b+4>>2]=e;return b|0}return 0}function tm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b;h=a[f]|0;g=(h&1)==0;if(g){h=(h&255)>>>1}else{h=c[b+4>>2]|0}if(h>>>0<d>>>0){um(b,d-h|0,e)|0;return}if(g){a[b+1+d|0]=0;a[f]=d<<1;return}else{a[(c[b+8>>2]|0)+d|0]=0;c[b+4>>2]=d;return}}function um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((d|0)==0){return b|0}f=b;i=a[f]|0;if((i&1)==0){h=10}else{i=c[b>>2]|0;h=(i&-2)-1|0;i=i&255}if((i&1)==0){g=(i&255)>>>1}else{g=c[b+4>>2]|0}if((h-g|0)>>>0<d>>>0){zm(b,h,d-h+g|0,g,g,0,0);i=a[f]|0}if((i&1)==0){h=b+1|0}else{h=c[b+8>>2]|0}dv(h+g|0,e|0,d|0)|0;d=g+d|0;if((a[f]&1)==0){a[f]=d<<1}else{c[b+4>>2]=d}a[h+d|0]=0;return b|0}
-
-
-
-function Xc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+7&-8;return b|0}function Yc(){return i|0}function Zc(a){a=a|0;i=a}function _c(a,b){a=a|0;b=b|0;if((x|0)==0){x=a;y=b}}function $c(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0]}function ad(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0];a[k+4|0]=a[b+4|0];a[k+5|0]=a[b+5|0];a[k+6|0]=a[b+6|0];a[k+7|0]=a[b+7|0]}function bd(a){a=a|0;K=a}function cd(a){a=a|0;L=a}function dd(a){a=a|0;M=a}function ed(a){a=a|0;N=a}function fd(a){a=a|0;O=a}function gd(a){a=a|0;P=a}function hd(a){a=a|0;Q=a}function id(a){a=a|0;R=a}function jd(a){a=a|0;S=a}function kd(a){a=a|0;T=a}function ld(){c[6380]=p+8;c[6382]=s+8;c[6384]=r;c[6386]=s+8;c[6388]=r;c[6390]=s+8;c[6392]=r;c[6394]=s+8;c[6398]=s+8;c[6400]=r;c[6402]=p+8;c[6436]=s+8;c[6440]=s+8;c[6504]=s+8;c[6508]=s+8;c[6528]=p+8;c[6530]=s+8;c[6566]=s+8;c[6570]=s+8;c[6606]=s+8;c[6610]=s+8;c[6630]=p+8;c[6632]=p+8;c[6634]=s+8;c[6638]=s+8;c[6642]=s+8;c[6646]=p+8;c[6648]=p+8;c[6650]=p+8;c[6652]=p+8;c[6654]=p+8;c[6656]=p+8;c[6658]=p+8;c[6684]=s+8;c[6688]=p+8;c[6690]=s+8;c[6694]=s+8;c[6698]=s+8;c[6702]=p+8;c[6704]=p+8;c[6706]=p+8;c[6708]=p+8;c[6742]=p+8;c[6744]=p+8;c[6746]=p+8;c[6748]=s+8;c[6752]=s+8;c[6756]=s+8;c[6760]=s+8;c[6764]=s+8;c[6768]=s+8;c[6772]=s+8;c[6776]=s+8;c[6780]=s+8;c[6784]=s+8;c[6788]=s+8;c[6798]=p+8;c[6800]=p+8}function md(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a|0;c[f>>2]=b;g=a+4|0;c[g>>2]=e;h=a+8|0;c[h>>2]=0;c[h+4>>2]=0;a=a+16|0;c[a>>2]=0;i=64;l=0;k=0;while(1){if((e|0)==0){f=4;break}j=b+1|0;c[f>>2]=j;b=d[b]|0;e=e-1|0;c[g>>2]=e;i=i-8|0;b=jv(b|0,0,i|0)|0;k=b|k;l=K|l;c[h>>2]=k;c[h+4>>2]=l;if((i|0)>7){b=j}else{f=4;break}}if((f|0)==4){c[a>>2]=64-i;return}}function nd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+16|0;f=c[e>>2]|0;if((f|0)<(b|0)){j=64-f|0;f=a+4|0;a:do{if((j|0)>7){h=a|0;g=a+8|0;i=c[f>>2]|0;do{if((i|0)==0){break a}l=c[h>>2]|0;c[h>>2]=l+1;l=d[l]|0;i=i-1|0;c[f>>2]=i;j=j-8|0;l=jv(l|0,0,j|0)|0;k=K|c[g+4>>2];c[g>>2]=l|c[g>>2];c[g+4>>2]=k;}while((j|0)>7)}}while(0);f=64-j|0;c[e>>2]=f}k=a+8|0;i=c[k>>2]|0;j=c[k+4>>2]|0;l=kv(i|0,j|0,64-b|0)|0;j=jv(i|0,j|0,b|0)|0;c[k>>2]=j;c[k+4>>2]=K;c[e>>2]=f-b;return l|0}function od(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+16|0;f=c[e>>2]|0;if((f|0)<(b|0)){j=64-f|0;f=a+4|0;a:do{if((j|0)>7){h=a|0;g=a+8|0;i=c[f>>2]|0;do{if((i|0)==0){break a}l=c[h>>2]|0;c[h>>2]=l+1;l=d[l]|0;i=i-1|0;c[f>>2]=i;j=j-8|0;l=jv(l|0,0,j|0)|0;k=K|c[g+4>>2];c[g>>2]=l|c[g>>2];c[g+4>>2]=k;}while((j|0)>7)}}while(0);f=64-j|0;c[e>>2]=f}l=a+8|0;k=jv(c[l>>2]|0,c[l+4>>2]|0,b|0)|0;c[l>>2]=k;c[l+4>>2]=K;c[e>>2]=f-b;return}function pd(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+16|0;d=a+8|0;e=(c[b>>2]&-8|0)/8|0;f=a|0;c[f>>2]=(c[f>>2]|0)+(-e|0);a=a+4|0;c[a>>2]=(c[a>>2]|0)+e;c[d>>2]=0;c[d+4>>2]=0;c[b>>2]=0;return}function qd(a){a=a|0;var b=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+16|0;g=a+4|0;f=a|0;e=a+8|0;a=0;k=c[b>>2]|0;while(1){if((k|0)<1){j=64-k|0;a:do{if((j|0)>7){i=c[g>>2]|0;do{if((i|0)==0){break a}k=c[f>>2]|0;c[f>>2]=k+1;k=d[k]|0;i=i-1|0;c[g>>2]=i;j=j-8|0;k=jv(k|0,0,j|0)|0;l=K|c[e+4>>2];c[e>>2]=k|c[e>>2];c[e+4>>2]=l;}while((j|0)>7)}}while(0);l=64-j|0;c[b>>2]=l}else{l=k}m=c[e>>2]|0;o=c[e+4>>2]|0;i=m<<1|0>>>31;j=o<<1|m>>>31;c[e>>2]=i;c[e+4>>2]=j;k=l-1|0;c[b>>2]=k;n=-1;if(!((o|0)>(n|0)|(o|0)==(n|0)&m>>>0>-1>>>0)){break}if((a|0)>19){b=-99999;h=19;break}else{a=a+1|0}}if((h|0)==19){return b|0}if((a|0)==0){o=0;return o|0}if((l|0)<=(a|0)){h=65-l|0;b:do{if((h|0)>7){k=c[g>>2]|0;do{if((k|0)==0){break b}o=c[f>>2]|0;c[f>>2]=o+1;o=d[o]|0;k=k-1|0;c[g>>2]=k;h=h-8|0;o=jv(o|0,0,h|0)|0;i=o|i;j=K|j;c[e>>2]=i;c[e+4>>2]=j;}while((h|0)>7)}}while(0);k=64-h|0;c[b>>2]=k}o=kv(i|0,j|0,64-a|0)|0;n=jv(i|0,j|0,a|0)|0;c[e>>2]=n;c[e+4>>2]=K;c[b>>2]=k-a;b=(1<<a)-1+o|0;if((b|0)>0){o=b;return o|0}else{ec(12320,15064,146,17992);return 0}return 0}function rd(a){a=a|0;a=qd(a)|0;if((a|0)==(-99999|0)){a=-99999;return a|0}else if((a|0)==0){a=0;return a|0}else{a=(((a&1|0)==0?-a|0:a+1|0)|0)/2|0;return a|0}return 0}function sd(a,b,d){a=a|0;b=b|0;d=d|0;if((d|0)>-1){c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=b+d;return}else{ec(1440,13952,138,18864)}}function td(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;e=c[f>>2]|0;h=(c[a+8>>2]|0)-e|0;c[a+12>>2]=510;g=a+20|0;b[g>>1]=8;a=a+16|0;c[a>>2]=0;if((h|0)<=0){return}j=e+1|0;c[f>>2]=j;i=(d[e]|0)<<8;c[a>>2]=i;b[g>>1]=0;if((h|0)<=1){return}c[f>>2]=e+2;c[a>>2]=i|(d[j]|0);b[g>>1]=-8;return}function ud(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=f+12|0;n=c[j>>2]|0;h=g|0;l=d[(n>>>6)-4+(27288+(((d[h]|0)>>>1&255)<<2))|0]|0;n=n-l|0;c[j>>2]=n;k=n<<7;g=f+16|0;m=c[g>>2]|0;if(m>>>0<k>>>0){l=a[h]|0;m=l&1;i=m&255;a[h]=a[30416+((l&255)>>>1&255)|0]<<1|m;if(!(k>>>0<32768>>>0)){n=i;return n|0}c[j>>2]=n<<1&67108862;h=c[g>>2]<<1;c[g>>2]=h;j=f+20|0;n=(b[j>>1]|0)+1&65535;b[j>>1]=n;if(!(n<<16>>16==0)){n=i;return n|0}b[j>>1]=-8;k=f+4|0;j=c[k>>2]|0;if(!(j>>>0<(c[f+8>>2]|0)>>>0)){n=i;return n|0}c[k>>2]=j+1;c[g>>2]=h|(d[j]|0);n=i;return n|0}else{i=d[30736+(l>>>3)|0]|0;c[g>>2]=m-k<<i;c[j>>2]=l<<i;k=a[h]|0;j=k&1^1;if((k&255)>>>0<2>>>0){k=j&255|k&-2;a[h]=k}a[h]=a[30480+((k&255)>>>1&255)|0]<<1|k&1;h=f+20|0;l=(e[h>>1]|0)+i&65535;b[h>>1]=l;if(!(l<<16>>16>-1)){n=j;return n|0}k=f+4|0;i=c[k>>2]|0;if(i>>>0<(c[f+8>>2]|0)>>>0){c[k>>2]=i+1;c[g>>2]=(d[i]|0)<<(l<<16>>16)|c[g>>2]}b[h>>1]=l-8;n=j;return n|0}return 0}function vd(a){a=a|0;var e=0,f=0,g=0,h=0,i=0;g=a+12|0;f=(c[g>>2]|0)-2|0;c[g>>2]=f;i=f<<7;e=a+16|0;h=c[e>>2]|0;if(!(h>>>0<i>>>0)){i=1;return i|0}if(!(i>>>0<32768>>>0)){i=0;return i|0}c[g>>2]=f<<1&67108862;f=h<<1;c[e>>2]=f;g=a+20|0;i=(b[g>>1]|0)+1&65535;b[g>>1]=i;if(!(i<<16>>16==0)){i=0;return i|0}b[g>>1]=-8;h=a+4|0;g=c[h>>2]|0;if(!(g>>>0<(c[a+8>>2]|0)>>>0)){i=0;return i|0}c[h>>2]=g+1;c[e>>2]=f+(d[g]|0);i=0;return i|0}function wd(a){a=a|0;var e=0,f=0,g=0,h=0,i=0;e=a+16|0;f=c[e>>2]<<1;c[e>>2]=f;g=a+20|0;i=(b[g>>1]|0)+1&65535;b[g>>1]=i;do{if(i<<16>>16>-1){i=a+4|0;h=c[i>>2]|0;if(!((c[a+8>>2]|0)>>>0>h>>>0)){break}b[g>>1]=-8;c[i>>2]=h+1;f=f|(d[h]|0);c[e>>2]=f}}while(0);a=c[a+12>>2]<<7;if(f>>>0<a>>>0){i=0;return i|0}c[e>>2]=f-a;i=1;return i|0}function xd(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((e|0)<=0){m=e;return m|0}h=a+16|0;f=a+20|0;i=a+8|0;g=a+4|0;a=a+12|0;j=0;l=c[h>>2]|0;k=b[f>>1]|0;while(1){l=l<<1;c[h>>2]=l;k=k+1&65535;b[f>>1]=k;do{if(k<<16>>16>-1){m=c[g>>2]|0;if(!((c[i>>2]|0)>>>0>m>>>0)){break}b[f>>1]=-8;c[g>>2]=m+1;l=d[m]|0|l;c[h>>2]=l;k=-8}}while(0);m=c[a>>2]<<7;if(l>>>0<m>>>0){e=j;f=8;break}l=l-m|0;c[h>>2]=l;j=j+1|0;if((j|0)>=(e|0)){f=8;break}}if((f|0)==8){return e|0}return 0}function yd(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((f|0)<9){if((f|0)==0){n=0;return n|0}g=a+16|0;j=c[g>>2]<<f;c[g>>2]=j;l=a+20|0;k=(e[l>>1]|0)+f&65535;b[l>>1]=k;do{if(k<<16>>16>-1){i=a+4|0;h=c[i>>2]|0;if(!((c[a+8>>2]|0)>>>0>h>>>0)){break}c[i>>2]=h+1;n=(d[h]|0)<<(k<<16>>16);b[l>>1]=k-8;j=n|j;c[g>>2]=j}}while(0);h=c[a+12>>2]<<7;i=(j>>>0)/(h>>>0)|0;a=1<<f;n=(i|0)<(a|0)?i:a-1|0;m=j-(ga(n,h)|0)|0;c[g>>2]=m;return n|0}h=a+16|0;j=c[h>>2]<<8;c[h>>2]=j;g=a+20|0;i=b[g>>1]|0;k=i+8&65535;b[g>>1]=k;do{if(k<<16>>16>-1){l=a+4|0;m=c[l>>2]|0;if(!((c[a+8>>2]|0)>>>0>m>>>0)){break}c[l>>2]=m+1;k=(d[m]|0)<<(k<<16>>16);b[g>>1]=i;j=k|j;c[h>>2]=j;k=i}}while(0);i=c[a+12>>2]<<7;l=(j>>>0)/(i>>>0)|0;l=(l|0)>255?255:l;m=j-(ga(l,i)|0)|0;c[h>>2]=m;j=f-8|0;if((j|0)==0){n=l;return n|0}f=a+8|0;a=a+4|0;do{j=j-1|0;l=l<<1;m=m<<1;c[h>>2]=m;k=k+1&65535;b[g>>1]=k;do{if(k<<16>>16>-1){n=c[a>>2]|0;if(!((c[f>>2]|0)>>>0>n>>>0)){break}b[g>>1]=-8;c[a>>2]=n+1;m=d[n]|0|m;c[h>>2]=m;k=-8}}while(0);if(m>>>0<i>>>0){n=0}else{m=m-i|0;c[h>>2]=m;n=1}l=n|l;}while((j|0)!=0);return l|0}function zd(a,e){a=a|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,p=0;h=a+16|0;k=a+20|0;g=a+8|0;l=a+4|0;j=a+12|0;i=e+31|0;m=0;o=c[h>>2]|0;n=b[k>>1]|0;while(1){o=o<<1;c[h>>2]=o;n=n+1&65535;b[k>>1]=n;do{if(n<<16>>16>-1){p=c[l>>2]|0;if(!((c[g>>2]|0)>>>0>p>>>0)){break}b[k>>1]=-8;c[l>>2]=p+1;o=d[p]|0|o;c[h>>2]=o;n=-8}}while(0);p=c[j>>2]<<7;if(o>>>0<p>>>0){break}o=o-p|0;c[h>>2]=o;if((e|0)==(i|0)){g=0;f=8;break}else{m=m+(1<<e)|0;e=e+1|0}}if((f|0)==8){return g|0}p=(yd(a,e)|0)+m|0;return p|0}function Ad(a){a=a|0;vb(a|0)|0;Pb()}function Bd(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=i;i=i+16|0;m=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[m>>2];m=k|0;d=d|0;l=c[d>>2]|0;if((l|0)==0){c[b>>2]=0;i=k;return}p=e;n=g-p|0;h=h+12|0;o=c[h>>2]|0;o=(o|0)>(n|0)?o-n|0:0;n=f;p=n-p|0;do{if((p|0)>0){if((Hc[c[(c[l>>2]|0)+48>>2]&63](l,e,p)|0)==(p|0)){break}c[d>>2]=0;c[b>>2]=0;i=k;return}}while(0);do{if((o|0)>0){if(o>>>0<11>>>0){p=o<<1&255;e=m;a[e]=p;q=m+1|0}else{p=o+16&-16;q=Nu(p)|0;c[m+8>>2]=q;p=p|1;c[m>>2]=p;c[m+4>>2]=o;p=p&255;e=m}dv(q|0,j|0,o|0)|0;a[q+o|0]=0;if((p&1)==0){j=m+1|0}else{j=c[m+8>>2]|0}if((Hc[c[(c[l>>2]|0)+48>>2]&63](l,j,o)|0)==(o|0)){if((a[e]&1)==0){break}Pu(c[m+8>>2]|0);break}c[d>>2]=0;c[b>>2]=0;if((a[e]&1)==0){i=k;return}Pu(c[m+8>>2]|0);i=k;return}}while(0);m=g-n|0;do{if((m|0)>0){if((Hc[c[(c[l>>2]|0)+48>>2]&63](l,f,m)|0)==(m|0)){break}c[d>>2]=0;c[b>>2]=0;i=k;return}}while(0);c[h>>2]=0;c[b>>2]=l;i=k;return}function Cd(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;if((a[51944]|0)!=0){Gb(12840,(f=i,i=i+16|0,c[f>>2]=b,c[f+8>>2]=d,f)|0)|0;i=f}f=c[d+4>>2]|0;if((f|0)!=0){c[f>>2]=(c[f>>2]|0)+1}c[b+4>>2]=f;c[b>>2]=c[d>>2];i=e;return}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;if((a[51944]|0)!=0){Gb(16064,(f=i,i=i+8|0,c[f>>2]=b,f)|0)|0;i=f}e=b+4|0;f=c[e>>2]|0;if((f|0)==0){i=d;return}g=(c[f>>2]|0)-1|0;c[f>>2]=g;if((g|0)!=0){i=d;return}b=b|0;if((a[51944]|0)!=0){Gb(13256,(g=i,i=i+8|0,c[g>>2]=c[b>>2],g)|0)|0;i=g}b=c[b>>2]|0;if((b|0)!=0){Qu(b|0)}e=c[e>>2]|0;if((e|0)==0){i=d;return}Pu(e);i=d;return}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;if((a[51944]|0)!=0){Gb(10456,(j=i,i=i+8|0,c[j>>2]=b,j)|0)|0;i=j}g=b+4|0;h=c[g>>2]|0;do{if((h|0)!=0){j=c[h>>2]|0;if((j|0)==1){j=c[b>>2]|0;Gd(j,d,e);i=f;return}if((j|0)>1){c[h>>2]=j-1;break}else{ec(608,2464,177,17440)}}}while(0);if((a[51944]|0)!=0){Gb(17056,(j=i,i=i+8|0,c[j>>2]=b,j)|0)|0;i=j}j=Ou(172)|0;c[b>>2]=j;h=Nu(4)|0;c[g>>2]=h;c[h>>2]=1;Gd(j,d,e);i=f;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;do{if((d|0)>0){k=d-1|0;Kd(e,b+5|0,c[30216+(k*12|0)>>2]|0,1);Kd(e,b+6|0,c[30220+(k*12|0)>>2]|0,1);Kd(e,b+7|0,c[30224+(k*12|0)>>2]|0,1);Kd(e,b+149|0,c[30152+(k<<2)>>2]|0,1);Kd(e,b+147|0,c[30240+(k<<2)>>2]|0,1);Kd(e,b+148|0,c[30336+(k<<2)>>2]|0,1);Kd(e,b+156|0,95,1);Kd(e,b+157|0,79,1);Kd(e,b+158|0,63,1);Kd(e,b+159|0,31,1);Kd(e,b+160|0,31,1);Kd(e,b+154|0,153,1);Kd(e,b+155|0,153,1);f=(d|0)==1?0:2;Kd(e,b+150|0,c[29904+(f<<2)>>2]|0,1);Kd(e,b+151|0,c[29904+((f|1)<<2)>>2]|0,1);Kd(e,b+152|0,168,1);Kd(e,b+153|0,79,1);f=(e|0)<0;do{if(f){g=72}else{h=((e*-5|0)>>4)+72|0;g=(e|0)<52;if((h|0)<1&g){g=1;break}if((h|0)>126&g){g=126;break}g=(e|0)>51?56:h}}while(0);h=(g|0)>63;k=h?g+64|0:63-g|0;g=(k&255)<<1|h&1;h=b+143|0;if(!((k&127)>>>0<63>>>0)){a[h]=g;ec(16144,2464,210,17960)}dv(h|0,g|0,2)|0;do{if(f){g=72}else{f=((e*-5|0)>>4)+72|0;g=(e|0)<52;if((f|0)<1&g){g=1;break}if((f|0)>126&g){g=126;break}g=(e|0)>51?56:f}}while(0);f=(g|0)>63;k=f?g+64|0:63-g|0;f=(k&255)<<1|f&1;g=b+145|0;if((k&127)>>>0<63>>>0){dv(g|0,f|0,2)|0;break}else{a[g]=f;ec(16144,2464,210,17960)}}}while(0);Kd(e,b+2|0,c[30160+(d*12|0)>>2]|0,1);Kd(e,b+3|0,c[30164+(d*12|0)>>2]|0,1);Kd(e,b+4|0,c[30168+(d*12|0)>>2]|0,1);k=(d|0)!=2?d:5;Kd(e,b+8|0,c[30296+(k<<2)>>2]|0,1);Kd(e,b+9|0,c[30296+(k+1<<2)>>2]|0,1);Kd(e,b+10|0,c[30296+(k+2<<2)>>2]|0,1);Kd(e,b+11|0,c[30296+(k+3<<2)>>2]|0,1);Kd(e,b+12|0,c[29352+(d<<2)>>2]|0,1);Kd(e,b+13|0,c[29888+(d<<2)>>2]|0,1);j=(d|0)==0?0:2;Kd(e,b+14|0,c[30344+(j<<2)>>2]|0,1);Kd(e,b+15|0,c[30344+((j|1)<<2)>>2]|0,1);j=d<<2;Kd(e,b+16|0,c[30248+(j<<2)>>2]|0,1);i=j|1;Kd(e,b+17|0,c[30248+(i<<2)>>2]|0,1);h=j|2;Kd(e,b+18|0,c[30248+(h<<2)>>2]|0,1);g=j|3;Kd(e,b+19|0,c[30248+(g<<2)>>2]|0,1);f=d*3|0;Kd(e,b+20|0,c[29936+(f<<2)>>2]|0,1);Kd(e,b+21|0,c[29936+(f+1<<2)>>2]|0,1);Kd(e,b+22|0,c[29936+(f+2<<2)>>2]|0,1);f=d*18|0;k=0;while(1){Kd(e,b+(k+25)|0,c[28736+(k+f<<2)>>2]|0,1);k=k+1|0;if((k|0)>=18){k=0;break}}do{Kd(e,b+(k+43)|0,c[28736+(k+f<<2)>>2]|0,1);k=k+1|0;}while((k|0)<18);Kd(e,b+61|0,c[29976+(j<<2)>>2]|0,1);Kd(e,b+62|0,c[29976+(i<<2)>>2]|0,1);Kd(e,b+63|0,c[29976+(h<<2)>>2]|0,1);Kd(e,b+64|0,c[29976+(g<<2)>>2]|0,1);f=0;do{Kd(e,b+(f+65)|0,c[29384+(d*168|0)+(f<<2)>>2]|0,1);f=f+1|0;}while((f|0)<42);Kd(e,b+107|0,c[28952+(d<<3)>>2]|0,1);Kd(e,b+108|0,c[28956+(d<<3)>>2]|0,1);g=d*24|0;f=0;do{Kd(e,b+(f+109)|0,c[29048+(f+g<<2)>>2]|0,1);f=f+1|0;}while((f|0)<24);k=d*6|0;Kd(e,b+133|0,c[28976+(k<<2)>>2]|0,1);Kd(e,b+134|0,c[28976+((k|1)<<2)>>2]|0,1);Kd(e,b+135|0,c[28976+(k+2<<2)>>2]|0,1);Kd(e,b+136|0,c[28976+(k+3<<2)>>2]|0,1);Kd(e,b+137|0,c[28976+(k+4<<2)>>2]|0,1);Kd(e,b+138|0,c[28976+(k+5<<2)>>2]|0,1);Kd(e,b,c[29920+(d<<2)>>2]|0,1);Kd(e,b+1|0,c[29336+(d<<2)>>2]|0,1);Kd(e,b+139|0,154,1);Kd(e,b+140|0,154,1);Kd(e,b+141|0,139,1);Kd(e,b+142|0,139,1);Kd(e,b+161|0,c[29368+(d<<2)>>2]|0,1);a[b+23|0]=1;a[b+24|0]=1;dv(b+162|0,1,10)|0;return}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+4|0;if((a[51944]|0)!=0){g=c[e>>2]|0;Gb(7336,(f=i,i=i+16|0,c[f>>2]=b,c[f+8>>2]=g,f)|0)|0;i=f}f=c[e>>2]|0;if((f|0)==0){i=d;return}c[f>>2]=(c[f>>2]|0)-1;c[b>>2]=0;c[e>>2]=0;i=d;return}function Id(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+4|0;if((a[51944]|0)!=0){f=c[e>>2]|0;Gb(5320,(g=i,i=i+16|0,c[g>>2]=b,c[g+8>>2]=f,g)|0)|0;i=g}f=c[e>>2]|0;if((f|0)==0){ec(3784,2464,95,17424)}g=c[f>>2]|0;if((g|0)<=1){i=d;return}c[f>>2]=g-1;b=b|0;g=c[b>>2]|0;f=Ou(172)|0;c[b>>2]=f;b=Nu(4)|0;c[e>>2]=b;c[b>>2]=1;cv(f|0,g|0,172)|0;i=d;return}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;if((a[51944]|0)!=0){Gb(1288,(h=i,i=i+16|0,c[h>>2]=b,c[h+8>>2]=d,h)|0)|0;i=h}f=d+4|0;g=c[f>>2]|0;if((g|0)==0){d=b+4|0;if((a[51944]|0)!=0){g=c[d>>2]|0;Gb(7336,(h=i,i=i+16|0,c[h>>2]=b,c[h+8>>2]=g,h)|0)|0;i=h}f=c[d>>2]|0;if((f|0)==0){i=e;return b|0}c[f>>2]=(c[f>>2]|0)-1;c[b>>2]=0;c[d>>2]=0;i=e;return b|0}c[g>>2]=(c[g>>2]|0)+1;g=b+4|0;if((a[51944]|0)!=0){j=c[g>>2]|0;Gb(7336,(h=i,i=i+16|0,c[h>>2]=b,c[h+8>>2]=j,h)|0)|0;i=h}h=c[g>>2]|0;if((h|0)==0){h=b|0}else{c[h>>2]=(c[h>>2]|0)-1;h=b|0;c[h>>2]=0;c[g>>2]=0}c[h>>2]=c[d>>2];c[g>>2]=c[f>>2];i=e;return b|0}function Kd(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=((d>>4)*5|0)-45|0;d=(d<<3&120)-16|0;h=(b|0)<0;if(h){i=0}else{i=(b|0)>51?51:b}do{if((((ga(i,g)|0)>>4)+d|0)<1){g=1}else{if(h){i=0}else{i=(b|0)>51?51:b}if((((ga(i,g)|0)>>4)+d|0)>126){g=126;break}if(h){b=0}else{b=(b|0)>51?51:b}g=((ga(b,g)|0)>>4)+d|0}}while(0);if((e|0)<=0){return}d=(g|0)>63;i=d?g+64|0:63-g|0;g=(i&255)<<1|d&1;if((i&127)>>>0<63>>>0){f=0}else{a[c|0]=g;ec(16144,2464,210,17960)}do{a[c+f|0]=g;f=f+1|0;}while((f|0)<(e|0));return}function Ld(){return 8320}function Md(){return 16777728}function Nd(a){a=a|0;switch(a|0){case 1002:{a=13432;break};case 1004:{a=13016;break};case 1005:{a=12752;break};case 1e3:{a=13832;break};case 1015:{a=9944;break};case 1016:{a=9600;break};case 1017:{a=9176;break};case 18:{a=14136;break};case 1001:{a=13632;break};case 16:{a=14672;break};case 1003:{a=13224;break};case 17:{a=14400;break};case 6:{a=5048;break};case 7:{a=3576;break};case 8:{a=2272;break};case 9:{a=1176;break};case 10:{a=496;break};case 11:{a=16968;break};case 12:{a=16376;break};case 502:{a=16032;break};case 13:{a=15616;break};case 14:{a=15272;break};case 1:{a=12824;break};case 1010:{a=11360;break};case 1011:{a=11088;break};case 4:{a=9888;break};case 1025:{a=6920;break};case 1026:{a=6616;break};case 0:{a=15416;break};case 1006:{a=12544;break};case 1007:{a=12168;break};case 1018:{a=8704;break};case 1019:{a=8520;break};case 1020:{a=8200;break};case 1008:{a=12008;break};case 1009:{a=11632;break};case 15:{a=14960;break};case 1012:{a=10848;break};case 1013:{a=10576;break};case 1014:{a=10280;break};case 5:{a=6896;break};case 1021:{a=8032;break};case 1022:{a=7776;break};case 1023:{a=7480;break};case 1024:{a=7200;break};default:{a=6440}}return a|0}function Od(a){a=a|0;if((a|0)==0){a=1;return a|0}a=(a|0)>999|0;return a|0}function Pd(){var a=0;do{if(((I=c[12984]|0,c[12984]=I+1,I)+1|0)<=1){Ej();if(Mj()|0){break}I=c[12984]|0,c[12984]=I-1,I;a=0;return a|0}}while(0);a=Nu(377228)|0;Le(a);if((a|0)!=0){return a|0}a=(I=c[12984]|0,c[12984]=I-1,I)-1|0;if((a|0)<0){I=c[12984]|0,c[12984]=I+1,I;a=0;return a|0}if((a|0)!=0){a=0;return a|0}Nj();a=0;return a|0}function Qd(a){a=a|0;var b=0;b=a;Oe(b);if((a|0)!=0){Dc[c[(c[a>>2]|0)+4>>2]&511](b)}a=(I=c[12984]|0,c[12984]=I-1,I)-1|0;if((a|0)<0){I=c[12984]|0,c[12984]=I+1,I;b=12;return b|0}if((a|0)!=0){b=0;return b|0}Nj();b=0;return b|0}function Rd(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 Xi(a+548|0,b,c,d,e,f)|0}function Sd(b){b=b|0;var c=0;b=b+548|0;c=b;Zi(c)|0;Zi(c)|0;a[b]=1;return 0}function Td(a,b){a=a|0;b=b|0;return cf(a,b)|0}function Ud(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 Yi(a+548|0,b,c,d,e,f)|0}function Vd(a){a=a|0;Zi(a+548|0)|0;return}function Wd(b){b=b|0;Zi(b+548|0)|0;a[b+549|0]=1;return}function Xd(a){a=a|0;Pe(a);return}function Yd(b){b=b|0;var d=0;if((c[b+376196>>2]|0)<=0){d=0;return d|0}d=c[b+376192>>2]|0;d=c[(c[(c[b+376180>>2]|0)+(d>>>10<<2)>>2]|0)+((d&1023)<<2)>>2]|0;if((d|0)==0){d=0;return d|0}a[d+100|0]=0;Dh(b+376144|0);return d|0}function Zd(a){a=a|0;var b=0;if((c[a+376196>>2]|0)<=0){a=0;return a|0}b=c[a+376192>>2]|0;a=c[(c[(c[a+376180>>2]|0)+(b>>>10<<2)>>2]|0)+((b&1023)<<2)>>2]|0;return a|0}function _d(b){b=b|0;var d=0;if((c[b+376196>>2]|0)==0){return}d=c[b+376192>>2]|0;a[(c[(c[(c[b+376180>>2]|0)+(d>>>10<<2)>>2]|0)+((d&1023)<<2)>>2]|0)+100|0]=0;Dh(b+376144|0);return}function $d(a){a=a|0;return jf(a)|0}function ae(a){a=a|0;return c[a+375908>>2]|0}function be(a,b){a=a|0;b=b|0;kf(a,b);return}function ce(a,b){a=a|0;b=b|0;mf(a,b);return}function de(a,b){a=a|0;b=b|0;return lf(a,b)|0}function ee(a){a=a|0;return nf(a+4|0)|0}function fe(b,c,d){b=b|0;c=c|0;d=d|0;if((c|0)==7){a[b+532|0]=(d|0)!=0|0;return}else if((c|0)==8){a[b+533|0]=(d|0)!=0|0;return}else if((c|0)==6){a[b+514|0]=(d|0)!=0|0;return}else if((c|0)==0){a[b+512|0]=(d|0)!=0|0;return}else{ec(6320,6192,503,17144)}}function ge(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 4:{c[a+528>>2]=d;return};case 1:{c[a+516>>2]=d;return};case 5:{Ke(a,d);return};case 2:{c[a+520>>2]=d;return};case 3:{c[a+524>>2]=d;return};default:{ec(6320,6192,536,17120)}}}function he(a,b){a=a|0;b=b|0;if((b|0)==7){a=a+532|0}else if((b|0)==8){a=a+533|0}else if((b|0)==6){a=a+514|0}else if((b|0)==0){a=a+512|0}else{ec(6320,6192,571,17176);return 0}return d[a]|0|0}function ie(a){a=a|0;var b=0;b=c[a+584>>2]|0;a=c[a+556>>2]|0;if((a|0)==0){a=b;return a|0}a=(c[a+24>>2]|0)+b|0;return a|0}function je(a){a=a|0;return((c[a+556>>2]|0)!=0)+(c[a+580>>2]|0)|0}function ke(a,b){a=a|0;b=b|0;if((b|0)==1|(b|0)==2){b=c[a+80>>2]|0;return b|0}else if((b|0)==0){b=c[a+72>>2]|0;return b|0}else{b=0;return b|0}return 0}function le(a,b){a=a|0;b=b|0;if((b|0)==0){b=c[a+76>>2]|0;return b|0}else if((b|0)==1|(b|0)==2){b=c[a+84>>2]|0;return b|0}else{b=0;return b|0}return 0}function me(a,b){a=a|0;b=b|0;if((b|0)==1|(b|0)==2){b=c[a+5768>>2]|0;return b|0}else if((b|0)==0){b=c[a+5760>>2]|0;return b|0}else{b=0;return b|0}return 0}function ne(a){a=a|0;return c[a+20>>2]|0}function oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!(b>>>0<3>>>0)){ec(5944,6192,639,17240);return 0}e=c[a+60+(b<<2)>>2]|0;if((d|0)==0){return e|0}f=c[((b|0)==0?a+40|0:a+44|0)>>2]|0;if((b|0)==1|(b|0)==2){a=c[a+5768>>2]|0}else if((b|0)==0){a=c[a+5760>>2]|0}else{a=0}b=ga((a+7|0)/8|0,f)|0;c[d>>2]=b;return e|0}function pe(a,b){a=a|0;b=b|0;if(b>>>0<3>>>0){return c[a+10492+(b<<2)>>2]|0}else{ec(5944,6192,650,17208);return 0}return 0}function qe(a){a=a|0;a=a+10480|0;return(K=c[a+4>>2]|0,c[a>>2]|0)|0}function re(a){a=a|0;return c[a+10488>>2]|0}function se(a,b){a=a|0;b=b|0;c[a+10488>>2]=b;return}function te(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=b+10448|0;l=c[m>>2]|0;q=e>>l;if(!((q|0)>-1)){ec(8880,6264,118,17352)}p=b+10452|0;o=b+10456|0;n=b+10440|0;k=f;l=f>>l;while(1){f=c[p>>2]|0;if((q|0)>=(f|0)){m=4;break}if(!((l|0)>-1)){m=7;break}if((l|0)>=(c[o>>2]|0)){m=7;break}r=(ga(f,l)|0)+q|0;l=1<<g;if(((d[(c[n>>2]|0)+r|0]|0)&1<<h|0)==0){m=9;break}l=l>>1;r=l+e|0;l=l+k|0;g=g-1|0;h=h+1|0;te(b,e,k,g,h,i,j);te(b,r,k,g,h,16,j);te(b,e,l,g,h,i,32);f=c[m>>2]|0;q=r>>f;if((q|0)>-1){e=r;k=l;i=16;j=32;l=l>>f}else{m=4;break}}if((m|0)==4){ec(8880,6264,118,17352)}else if((m|0)==7){ec(4520,6264,119,17352)}else if((m|0)==9){m=(l|0)>0;if(!m){return}n=i&255;i=(e|0)/4|0;h=b+10472|0;p=b+10476|0;g=b+10460|0;f=0;do{o=(f+k|0)/4|0;q=c[h>>2]|0;do{if((i|0)<(q|0)){if((o|0)>=(c[p>>2]|0)){break}r=(ga(q,o)|0)+i|0;r=(c[g>>2]|0)+r|0;a[r]=a[r]|n}}while(0);f=f+4|0;}while((f|0)<(l|0));if(!m){return}j=j&255;k=(k|0)/4|0;n=b+10472|0;m=b+10476|0;b=b+10460|0;p=0;do{o=(p+e|0)/4|0;i=c[n>>2]|0;do{if((o|0)<(i|0)){if((k|0)>=(c[m>>2]|0)){break}r=(ga(i,k)|0)+o|0;r=(c[b>>2]|0)+r|0;a[r]=a[r]|j}}while(0);p=p+4|0;}while((p|0)<(l|0));return}}function ue(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;i=c[b+10368>>2]|0;j=e>>i;i=f>>i;if(!((j|0)>-1)){ec(8880,6264,118,17352)}h=c[b+10372>>2]|0;if((j|0)>=(h|0)){ec(8880,6264,118,17352)}if(!((i|0)>-1)){ec(4520,6264,119,17352)}if((i|0)>=(c[b+10376>>2]|0)){ec(4520,6264,119,17352)}n=(ga(h,i)|0)+j|0;n=(c[b+10360>>2]|0)+(n*3|0)|0;i=1<<g;k=1<<g-1;g=1<<g-2;switch(((d[n]|d[n+1|0]<<8)<<16>>16&65535)>>>3&255&7|0){case 4:{if((i|0)<=0){return}f=(g+f|0)/4|0;g=b+10472|0;h=b+10476|0;l=b+10460|0;k=0;do{j=(k+e|0)/4|0;b=c[g>>2]|0;do{if((j|0)<(b|0)){if((f|0)>=(c[h>>2]|0)){break}n=(ga(b,f)|0)+j|0;n=(c[l>>2]|0)+n|0;a[n]=a[n]|-128}}while(0);k=k+1|0;}while((k|0)<(i|0));return};case 5:{if((i|0)<=0){return}h=(k+f+g|0)/4|0;g=b+10472|0;f=b+10476|0;j=b+10460|0;k=0;do{b=(k+e|0)/4|0;l=c[g>>2]|0;do{if((b|0)<(l|0)){if((h|0)>=(c[f>>2]|0)){break}n=(ga(l,h)|0)+b|0;n=(c[j>>2]|0)+n|0;a[n]=a[n]|-128}}while(0);k=k+1|0;}while((k|0)<(i|0));return};case 6:{if((i|0)<=0){return}e=(g+e|0)/4|0;h=b+10472|0;g=b+10476|0;b=b+10460|0;j=0;do{l=(j+f|0)/4|0;k=c[h>>2]|0;do{if((e|0)<(k|0)){if((l|0)>=(c[g>>2]|0)){break}n=(ga(k,l)|0)+e|0;n=(c[b>>2]|0)+n|0;a[n]=a[n]|64}}while(0);j=j+1|0;}while((j|0)<(i|0));return};case 7:{if((i|0)<=0){return}g=(k+e+g|0)/4|0;h=b+10472|0;e=b+10476|0;b=b+10460|0;j=0;do{l=(j+f|0)/4|0;k=c[h>>2]|0;do{if((g|0)<(k|0)){if((l|0)>=(c[e>>2]|0)){break}n=(ga(k,l)|0)+g|0;n=(c[b>>2]|0)+n|0;a[n]=a[n]|64}}while(0);j=j+1|0;}while((j|0)<(i|0));return};case 1:{if((i|0)<=0){return}f=(k+f|0)/4|0;h=b+10472|0;g=b+10476|0;b=b+10460|0;j=0;do{l=(j+e|0)/4|0;k=c[h>>2]|0;do{if((l|0)<(k|0)){if((f|0)>=(c[g>>2]|0)){break}n=(ga(k,f)|0)+l|0;n=(c[b>>2]|0)+n|0;a[n]=a[n]|-128}}while(0);j=j+1|0;}while((j|0)<(i|0));return};case 2:{if((i|0)<=0){return}e=(k+e|0)/4|0;h=b+10472|0;g=b+10476|0;b=b+10460|0;j=0;do{l=(j+f|0)/4|0;k=c[h>>2]|0;do{if((e|0)<(k|0)){if((l|0)>=(c[g>>2]|0)){break}n=(ga(k,l)|0)+e|0;n=(c[b>>2]|0)+n|0;a[n]=a[n]|64}}while(0);j=j+1|0;}while((j|0)<(i|0));return};case 3:{if((i|0)<=0){return}h=(k+e|0)/4|0;g=b+10472|0;j=b+10476|0;b=b+10460|0;k=(k+f|0)/4|0;l=0;do{m=(l+f|0)/4|0;n=c[g>>2]|0;do{if((h|0)<(n|0)){if((m|0)>=(c[j>>2]|0)){break}n=(ga(n,m)|0)+h|0;n=(c[b>>2]|0)+n|0;a[n]=a[n]|64;n=c[g>>2]|0}}while(0);m=(l+e|0)/4|0;do{if((m|0)<(n|0)){if((k|0)>=(c[j>>2]|0)){break}n=(ga(n,k)|0)+m|0;n=(c[b>>2]|0)+n|0;a[n]=a[n]|-128}}while(0);l=l+1|0;}while((l|0)<(i|0));return};default:{return}}}function ve(b,f){b=b|0;f=f|0;var 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,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;h=c[b+5808>>2]|0;j=c[b+5804>>2]|0;i=(1<<j)-1|0;g=c[b+5820>>2]|0;k=c[b+5800>>2]|0;v=f<<j>>k;k=f+1<<j>>k;f=c[b+5824>>2]|0;f=(f|0)<(k|0)?f:k;if((v|0)>=(f|0)){T=0;return T|0}l=b+5816|0;k=b+10372|0;n=b+10360|0;t=b+10348|0;s=b+10352|0;r=b+10356|0;o=b+10340|0;q=b+52|0;p=b+48|0;u=b+5977|0;m=b+10308|0;E=0;F=c[l>>2]|0;a:while(1){if((F|0)>0){C=ga(v,h)|0;B=(C|0)==0;A=B?0:32;z=C&i;w=C-1|0;y=ga(C>>j,g)|0;x=ga(w>>j,g)|0;D=0;do{T=(ga(c[k>>2]|0,v)|0)+D|0;T=(c[n>>2]|0)+(T*3|0)|0;T=(d[T]|d[T+1|0]<<8)<<16>>16&7;G=T&255;do{if(!(T<<24>>24==0)){H=ga(D,h)|0;I=H>>j;P=c[t>>2]|0;M=H>>P;J=C>>P;if(!((M|0)>-1)){b=8;break a}L=c[s>>2]|0;if((M|0)>=(L|0)){b=8;break a}if(!((J|0)>-1)){b=11;break a}N=c[r>>2]|0;if((J|0)>=(N|0)){b=11;break a}R=ga(L,J)|0;Q=c[o>>2]|0;K=e[Q+((R+M|0)*24|0)+2>>1]|0;O=c[p>>2]|0;J=(c[q>>2]|0)-O>>2;if(!(K>>>0<J>>>0)){E=0;b=34;break a}K=c[O+(K<<2)>>2]|0;T=(H|0)==0;S=T?0:16;b:do{if(!T){if((H&i|0)!=0){break}do{if((a[K+764|0]|0)==0){T=H-1>>P;if(!((T|0)>-1&(T|0)<(L|0))){b=17;break a}R=e[Q+((R+T|0)*24|0)+2>>1]|0;if(!(R>>>0<J>>>0)){break}if((c[K+800>>2]|0)!=(c[(c[O+(R<<2)>>2]|0)+800>>2]|0)){S=0;break b}}}while(0);if((a[u]|0)!=0){break}T=c[m>>2]|0;S=(c[T+(I+y<<2)>>2]|0)==(c[T+((H-1>>j)+y<<2)>>2]|0)?S:0}}while(0);c:do{if(B|(z|0)!=0){I=A}else{do{if((a[K+764|0]|0)==0){P=w>>P;if(!((P|0)>-1&(P|0)<(N|0))){b=25;break a}L=Q+(((ga(L,P)|0)+M|0)*24|0)+2|0;L=e[L>>1]|0;if(!(L>>>0<J>>>0)){break}if((c[K+800>>2]|0)!=(c[(c[O+(L<<2)>>2]|0)+800>>2]|0)){I=0;break c}}}while(0);if((a[u]|0)!=0){I=A;break}T=c[m>>2]|0;I=(c[T+(I+y<<2)>>2]|0)==(c[T+(I+x<<2)>>2]|0)?A:0}}while(0);if((a[K+754|0]|0)!=0){break}te(b,H,C,G,0,S&255,I&255);ue(b,H,C,G,0,0);E=1;F=c[l>>2]|0}}while(0);D=D+1|0;}while((D|0)<(F|0))}v=v+1|0;if((v|0)>=(f|0)){b=34;break}}if((b|0)==8){ec(8880,6264,118,17352);return 0}else if((b|0)==11){ec(4520,6264,119,17352);return 0}else if((b|0)==17){ec(8880,6264,118,17352);return 0}else if((b|0)==25){ec(4520,6264,119,17352);return 0}else if((b|0)==34){return E|0}return 0}function we(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var 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,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,ha=0,ia=0;p=g?2:1;n=g?1:2;l=g&1;m=l^1;o=g?80:160;g=g?16:32;q=f+10472|0;r=c[q>>2]|0;k=(r|0)>(k|0)?k:r;r=c[f+10476>>2]|0;i=(r|0)>(i|0)?i:r;if((i|0)<=(h|0)){return}x=(k|0)>(j|0);r=f+10460|0;C=f+10368|0;K=f+10372|0;J=f+10376|0;I=f+10360|0;B=f+10388|0;A=f+10392|0;z=f+10396|0;y=f+10380|0;L=f+10348|0;w=f+10352|0;v=f+10356|0;s=f+10340|0;u=f+52|0;t=f+48|0;G=f+10332|0;H=f+10516|0;F=f+10448|0;E=f+10452|0;D=f+10456|0;f=f+10440|0;a:while(1){if(x){M=h<<2;P=(M|0)/4|0;Q=M-m|0;O=j;do{S=O<<2;N=(S|0)/4|0;T=(ga(c[q>>2]|0,P)|0)+N|0;T=(c[r>>2]|0)+T|0;U=a[T]|0;R=U&255;if((R&o|0)==0){a[T]=U&-4}else{V=S-l|0;W=c[C>>2]|0;X=V>>W;Y=Q>>W;if(!((X|0)>-1)){j=8;break a}U=c[K>>2]|0;if((X|0)>=(U|0)){j=8;break a}if(!((Y|0)>-1)){j=11;break a}T=c[J>>2]|0;if((Y|0)>=(T|0)){j=11;break a}Z=(ga(U,Y)|0)+X|0;X=c[I>>2]|0;Z=X+(Z*3|0)|0;Y=S>>W;W=M>>W;if(!((Y|0)>-1&(Y|0)<(U|0))){j=13;break a}if(!((W|0)>-1&(W|0)<(T|0))){j=15;break a}ia=X+(((ga(U,W)|0)+Y|0)*3|0)|0;b:do{if(((d[Z]|d[Z+1|0]<<8)<<16>>16&768)==0|((d[ia]|d[ia+1|0]<<8)<<16>>16&768)==0){R=2}else{if((R&g|0)!=0){U=c[F>>2]|0;W=S>>U;X=M>>U;if(!((W|0)>-1)){j=20;break a}R=c[E>>2]|0;if((W|0)>=(R|0)){j=20;break a}if(!((X|0)>-1)){j=23;break a}T=c[D>>2]|0;if((X|0)>=(T|0)){j=23;break a}ia=(ga(R,X)|0)+W|0;W=c[f>>2]|0;if(!((a[W+ia|0]|0)>-1)){R=1;break}X=V>>U;U=Q>>U;if(!((X|0)>-1&(X|0)<(R|0))){j=26;break a}if(!((U|0)>-1&(U|0)<(T|0))){j=28;break a}ia=W+((ga(R,U)|0)+X)|0;if(!((a[ia]|0)>-1)){R=1;break}}X=c[B>>2]|0;R=V>>X;T=Q>>X;if(!((R|0)>-1)){j=32;break a}W=c[A>>2]|0;if((R|0)>=(W|0)){j=32;break a}if(!((T|0)>-1)){j=35;break a}U=c[z>>2]|0;if((T|0)>=(U|0)){j=35;break a}T=(ga(W,T)|0)+R|0;R=c[y>>2]|0;Y=S>>X;X=M>>X;if(!((Y|0)>-1&(Y|0)<(W|0))){j=37;break a}if(!((X|0)>-1&(X|0)<(U|0))){j=39;break a}U=(ga(W,X)|0)+Y|0;Y=c[L>>2]|0;W=V>>Y;Z=Q>>Y;if(!((W|0)>-1)){j=42;break a}V=c[w>>2]|0;if((W|0)>=(V|0)){j=42;break a}if(!((Z|0)>-1)){j=45;break a}X=c[v>>2]|0;if((Z|0)>=(X|0)){j=45;break a}W=(ga(V,Z)|0)+W|0;$=c[s>>2]|0;W=e[$+(W*24|0)+2>>1]|0;Z=c[t>>2]|0;_=(c[u>>2]|0)-Z>>2;if(W>>>0<_>>>0){W=c[Z+(W<<2)>>2]|0}else{W=0}S=S>>Y;Y=M>>Y;if(!((S|0)>-1&(S|0)<(V|0))){j=49;break a}if(!((Y|0)>-1&(Y|0)<(X|0))){j=51;break a}S=$+(((ga(V,Y)|0)+S|0)*24|0)+2|0;S=e[S>>1]|0;if(S>>>0<_>>>0){ba=c[Z+(S<<2)>>2]|0}else{ba=0}Y=a[R+(T*12|0)|0]|0;S=Y<<24>>24==0;if(S){Z=-1}else{Z=c[W+916+(a[R+(T*12|0)+2|0]<<2)>>2]|0}_=a[R+(T*12|0)+1|0]|0;V=_<<24>>24==0;if(V){aa=-1}else{aa=c[W+980+(a[R+(T*12|0)+3|0]<<2)>>2]|0}$=a[R+(U*12|0)|0]|0;X=$<<24>>24==0;if(X){ca=-1}else{ca=c[ba+916+(a[R+(U*12|0)+2|0]<<2)>>2]|0}da=a[R+(U*12|0)+1|0]|0;ea=da<<24>>24==0;if(ea){ha=-1}else{ha=c[ba+980+(a[R+(U*12|0)+3|0]<<2)>>2]|0}ba=(Z|0)==(ca|0);if(!(ba&(aa|0)==(ha|0))){if(!((Z|0)==(ha|0)&(aa|0)==(ca|0))){R=1;break}}W=S?0:b[R+(T*12|0)+6>>1]|0;ia=S?0:b[R+(T*12|0)+4>>1]|0;S=V?0:b[R+(T*12|0)+10>>1]|0;V=V?0:b[R+(T*12|0)+8>>1]|0;T=X?0:b[R+(U*12|0)+6>>1]|0;fa=X?0:b[R+(U*12|0)+4>>1]|0;X=ea?0:b[R+(U*12|0)+10>>1]|0;R=ea?0:b[R+(U*12|0)+8>>1]|0;if(((_&255)+(Y&255)|0)!=((da&255)+($&255)|0)){Ue((c[G>>2]|0)+4|0,1013,0);a[H]=3}if((Z|0)==(aa|0)){if((ca|0)!=(ha|0)){j=79;break a}Y=ia<<16>>16;U=fa<<16>>16;Z=Y-U|0;do{if((((Z|0)<0?-Z|0:Z)|0)<=3){Z=(W<<16>>16)-(T<<16>>16)|0;if((((Z|0)<0?-Z|0:Z)|0)>3){break}Z=(V<<16>>16)-(R<<16>>16)|0;if((((Z|0)<0?-Z|0:Z)|0)>3){break}Z=(S<<16>>16)-(X<<16>>16)|0;if((((Z|0)<0?-Z|0:Z)|0)<=3){R=0;break b}}}while(0);R=Y-(R<<16>>16)|0;do{if((((R|0)<0?-R|0:R)|0)<=3){R=(W<<16>>16)-(X<<16>>16)|0;if((((R|0)<0?-R|0:R)|0)>3){break}R=(V<<16>>16)-U|0;if((((R|0)<0?-R|0:R)|0)>3){break}R=(S<<16>>16)-(T<<16>>16)|0;if((((R|0)<0?-R|0:R)|0)<=3){R=0;break b}}}while(0);R=1;break}U=ia<<16>>16;if(ba){U=U-(fa<<16>>16)|0;do{if((((U|0)<0?-U|0:U)|0)<=3){T=(W<<16>>16)-(T<<16>>16)|0;if((((T|0)<0?-T|0:T)|0)>3){break}R=(V<<16>>16)-(R<<16>>16)|0;if((((R|0)<0?-R|0:R)|0)>3){break}R=(S<<16>>16)-(X<<16>>16)|0;if((((R|0)<0?-R|0:R)|0)<=3){R=0;break b}}}while(0);R=1;break}else{R=U-(R<<16>>16)|0;do{if((((R|0)<0?-R|0:R)|0)<=3){R=(W<<16>>16)-(X<<16>>16)|0;if((((R|0)<0?-R|0:R)|0)>3){break}R=(V<<16>>16)-(fa<<16>>16)|0;if((((R|0)<0?-R|0:R)|0)>3){break}R=(S<<16>>16)-(T<<16>>16)|0;if((((R|0)<0?-R|0:R)|0)<=3){R=0;break b}}}while(0);R=1;break}}}while(0);ia=(ga(c[q>>2]|0,P)|0)+N|0;ia=(c[r>>2]|0)+ia|0;a[ia]=a[ia]&-4|R}O=O+p|0;}while((O|0)<(k|0))}h=h+n|0;if((h|0)>=(i|0)){j=93;break}}if((j|0)==8){ec(8880,6264,118,17352)}else if((j|0)==11){ec(4520,6264,119,17352)}else if((j|0)==13){ec(8880,6264,118,17352)}else if((j|0)==15){ec(4520,6264,119,17352)}else if((j|0)==20){ec(8880,6264,118,17352)}else if((j|0)==23){ec(4520,6264,119,17352)}else if((j|0)==26){ec(8880,6264,118,17352)}else if((j|0)==28){ec(4520,6264,119,17352)}else if((j|0)==32){ec(8880,6264,118,17352)}else if((j|0)==35){ec(4520,6264,119,17352)}else if((j|0)==37){ec(8880,6264,118,17352)}else if((j|0)==39){ec(4520,6264,119,17352)}else if((j|0)==42){ec(8880,6264,118,17352)}else if((j|0)==45){ec(4520,6264,119,17352)}else if((j|0)==49){ec(8880,6264,118,17352)}else if((j|0)==51){ec(4520,6264,119,17352)}else if((j|0)==79){ec(3256,14616,343,18768)}else if((j|0)==93){return}}function xe(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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,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,Ba=0,Ca=0,Da=0,Ea=0;m=i;i=i+64|0;p=m|0;t=m+32|0;o=g?2:1;r=g?1:2;n=f+40|0;s=c[n>>2]|0;X=c[f+5760>>2]|0;q=c[f+10472>>2]|0;l=(q|0)>(l|0)?l:q;u=c[f+10476>>2]|0;y=(u|0)>(j|0)?j:u;if((y|0)<=(h|0)){i=m;return}v=(l|0)>(k|0);w=f+10460|0;V=f+4|0;u=f+10368|0;x=f+10372|0;z=f+10376|0;A=f+10360|0;B=f+10348|0;G=f+10352|0;W=f+10356|0;j=f+10340|0;U=f+48|0;Q=X-8|0;R=t+4|0;S=t+2|0;T=t|0;O=t+28|0;P=t+26|0;N=t+24|0;K=p+4|0;L=p+2|0;M=p|0;I=p+28|0;J=p+26|0;H=p+24|0;E=t+6|0;F=p+6|0;C=t+30|0;D=p+30|0;f=f+5480|0;Z=(1<<X)-1|0;X=Z&65535;Y=s<<1;a:while(1){if(v){ca=h<<2;aa=(ca|0)/4|0;da=ca-1|0;ba=c[w>>2]|0;$=k;do{ma=$<<2;Ea=ba+((ga(q,aa)|0)+((ma|0)/4|0))|0;Ea=a[Ea]&3;ea=Ea&255;b:do{if(!(Ea<<24>>24==0)){_=(c[V>>2]|0)+((ga(c[n>>2]|0,ca)|0)+ma<<1)|0;if(g){fa=0;do{Ea=ga(fa,s)|0;b[p+(fa<<3)>>1]=b[_+(Ea<<1)>>1]|0;b[t+(fa<<3)>>1]=b[_+(Ea-1<<1)>>1]|0;b[p+(fa<<3)+2>>1]=b[_+(Ea+1<<1)>>1]|0;b[t+(fa<<3)+2>>1]=b[_+(Ea-2<<1)>>1]|0;b[p+(fa<<3)+4>>1]=b[_+(Ea+2<<1)>>1]|0;b[t+(fa<<3)+4>>1]=b[_+(Ea-3<<1)>>1]|0;b[p+(fa<<3)+6>>1]=b[_+(Ea+3<<1)>>1]|0;b[t+(fa<<3)+6>>1]=b[_+(Ea-4<<1)>>1]|0;fa=fa+1|0;}while((fa|0)<4)}else{fa=0;do{b[p+(fa<<3)>>1]=b[_+(fa<<1)>>1]|0;b[t+(fa<<3)>>1]=b[_+(fa-s<<1)>>1]|0;b[p+(fa<<3)+2>>1]=b[_+(s+fa<<1)>>1]|0;b[t+(fa<<3)+2>>1]=b[_+(fa-(s<<1)<<1)>>1]|0;b[p+(fa<<3)+4>>1]=b[_+((s<<1)+fa<<1)>>1]|0;b[t+(fa<<3)+4>>1]=b[_+(fa+(s*-3|0)<<1)>>1]|0;b[p+(fa<<3)+6>>1]=b[_+((s*3|0)+fa<<1)>>1]|0;b[t+(fa<<3)+6>>1]=b[_+(fa-(s<<2)<<1)>>1]|0;fa=fa+1|0;}while((fa|0)<4)}oa=c[u>>2]|0;la=ma>>oa;fa=ca>>oa;if(!((la|0)>-1)){n=11;break a}ja=c[x>>2]|0;if((la|0)>=(ja|0)){n=11;break a}if(!((fa|0)>-1)){n=14;break a}ka=c[z>>2]|0;if((fa|0)>=(ka|0)){n=14;break a}na=ga(ja,fa)|0;ia=na+la|0;ha=c[A>>2]|0;fa=a[ha+(ia*3|0)+2|0]|0;if(g){pa=ma-1>>oa;if(!((pa|0)>-1&(pa|0)<(ja|0))){n=17;break a}pa=na+pa|0}else{pa=da>>oa;if(!((pa|0)>-1&(pa|0)<(ka|0))){n=20;break a}pa=(ga(ja,pa)|0)+la|0}fa=fa+1+(a[ha+(pa*3|0)+2|0]|0)>>1;ra=c[B>>2]|0;pa=ma>>ra;ra=ca>>ra;if(!((pa|0)>-1)){n=24;break a}qa=c[G>>2]|0;if((pa|0)>=(qa|0)){n=24;break a}if(!((ra|0)>-1)){n=27;break a}if((ra|0)>=(c[W>>2]|0)){n=27;break a}pa=(ga(qa,ra)|0)+pa|0;pa=c[(c[U>>2]|0)+(e[(c[j>>2]|0)+(pa*24|0)+2>>1]<<2)>>2]|0;qa=(c[pa+756>>2]|0)+fa|0;if((qa|0)<0){qa=0}else{qa=(qa|0)>51?51:qa}xa=d[30360+qa|0]<<Q;ea=(ea<<1)-2+fa+(c[pa+760>>2]|0)|0;if((ea|0)<0){ea=0}else{ea=(ea|0)>53?53:ea}ea=d[30664+ea|0]<<Q;ta=b[R>>1]|0;va=b[S>>1]|0;wa=b[T>>1]|0;za=wa&65535;fa=(ta&65535)-((va&65535)<<1)+za|0;pa=(fa|0)<0?-fa|0:fa;fa=e[N>>1]|0;qa=(e[O>>1]|0)-(e[P>>1]<<1)+fa|0;qa=(qa|0)<0?-qa|0:qa;ra=b[K>>1]|0;sa=b[L>>1]|0;ua=b[M>>1]|0;Ba=ua&65535;ya=(ra&65535)-((sa&65535)<<1)+Ba|0;Ca=(ya|0)<0?-ya|0:ya;ya=e[H>>1]|0;Aa=(e[I>>1]|0)-(e[J>>1]<<1)+ya|0;Ea=(Aa|0)<0?-Aa|0:Aa;Da=Ca+pa|0;Aa=Ea+qa|0;pa=qa+pa|0;qa=Ea+Ca|0;if((Aa+Da|0)>=(xa|0)){break}Ca=xa>>2;do{if((Da<<1|0)<(Ca|0)){Da=(e[E>>1]|0)-za|0;Ea=Ba-(e[F>>1]|0)|0;if((((Ea|0)<0?-Ea|0:Ea)+((Da|0)<0?-Da|0:Da)|0)>=(xa>>3|0)){za=1;break}za=za-Ba|0;za=(((za|0)<0?-za|0:za)|0)>=((ea*5|0)+1>>1|0)}else{za=1}}while(0);do{if((Aa<<1|0)<(Ca|0)){Aa=(e[C>>1]|0)-fa|0;Ba=ya-(e[D>>1]|0)|0;if((((Ba|0)<0?-Ba|0:Ba)+((Aa|0)<0?-Aa|0:Aa)|0)>=(xa>>3|0)){fa=1;break}fa=fa-ya|0;fa=(((fa|0)<0?-fa|0:fa)|0)>=((ea*5|0)+1>>1|0)}else{fa=1}}while(0);fa=za|fa;xa=(xa>>1)+xa>>3;ya=a[f]|0;za=ya<<24>>24!=0;if(g){la=ma-1>>oa;if(za){if(!((la|0)>-1&(la|0)<(ja|0))){n=42;break a}ka=ha+((na+la|0)*3|0)|0;ka=(((d[ka]|d[ka+1|0]<<8)<<16>>16&65535)>>>10&1^1)&255}else{ka=1}if(!((la|0)>-1&(la|0)<(ja|0))){n=45;break a}la=ha+((na+la|0)*3|0)|0;if(ya<<24>>24==0){ja=1}else{ja=ha+(ia*3|0)|0;ja=((d[ja]|d[ja+1|0]<<8)<<16>>16&1024)==0}Ea=ha+(ia*3|0)|0;ha=((d[la]|d[la+1|0]<<8)<<16>>16&2048)==0&ka<<24>>24!=0;ja=((d[Ea]|d[Ea+1|0]<<8)<<16>>16&2048)==0&ja}else{na=da>>oa;if(za){if(!((na|0)>-1&(na|0)<(ka|0))){n=51;break a}ma=ha+(((ga(ja,na)|0)+la|0)*3|0)|0;ma=((d[ma]|d[ma+1|0]<<8)<<16>>16&1024)==0}else{ma=1}if(!((na|0)>-1&(na|0)<(ka|0))){n=54;break a}ja=ha+(((ga(ja,na)|0)+la|0)*3|0)|0;if(ya<<24>>24==0){ka=1}else{ka=ha+(ia*3|0)|0;ka=((d[ka]|d[ka+1|0]<<8)<<16>>16&1024)==0}Ea=ha+(ia*3|0)|0;ha=((d[ja]|d[ja+1|0]<<8)<<16>>16&2048)==0&ma;ja=((d[Ea]|d[Ea+1|0]<<8)<<16>>16&2048)==0&ka}ka=ea*10|0;ia=-ea|0;la=(pa|0)>=(xa|0)|ha^1;na=(qa|0)>=(xa|0)|ja^1;pa=ea>>1;qa=-pa|0;oa=ea<<1;ma=0;while(1){Ba=b[t+(ma<<3)+6>>1]|0;xa=b[p+(ma<<3)+6>>1]|0;do{if(fa){ua=ua&65535;xa=wa&65535;sa=sa&65535;wa=va&65535;va=((ua-xa|0)*9|0)+8+((sa-wa|0)*-3|0)>>4;if((((va|0)<0?-va|0:va)|0)>=(ka|0)){break}if((va|0)<(ia|0)){va=ia}else{va=(va|0)>(ea|0)?ea:va}do{if(g){if(ha){ya=va+xa|0;if((ya|0)<0){ya=0}else{ya=(ya|0)>(Z|0)?X:ya&65535}Ea=_+((ga(ma,s)|0)-1<<1)|0;b[Ea>>1]=ya}if(!ja){break}ya=ua-va|0;if((ya|0)<0){ya=0}else{ya=(ya|0)>(Z|0)?X:ya&65535}Ea=_+((ga(ma,s)|0)<<1)|0;b[Ea>>1]=ya}else{if(ha){ya=va+xa|0;if((ya|0)<0){ya=0}else{ya=(ya|0)>(Z|0)?X:ya&65535}b[_+(ma-s<<1)>>1]=ya}if(!ja){break}ya=ua-va|0;if((ya|0)<0){ya=0}else{ya=(ya|0)>(Z|0)?X:ya&65535}b[_+(ma<<1)>>1]=ya}}while(0);do{if(!la){xa=va+(((xa+1+(ta&65535)|0)>>>1)-wa)|0;ta=xa>>1;if((ta|0)<(qa|0)){ta=qa}else{ta=((ta|0)>(pa|0)?ea:xa)>>1}ta=ta+wa|0;wa=(ta|0)<0;if(g){if(wa){ta=0}else{ta=(ta|0)>(Z|0)?X:ta&65535}Ea=_+((ga(ma,s)|0)-2<<1)|0;b[Ea>>1]=ta;break}else{if(wa){ta=0}else{ta=(ta|0)>(Z|0)?X:ta&65535}b[_+(ma-Y<<1)>>1]=ta;break}}}while(0);if(na){break}ta=((ua+1+(ra&65535)|0)>>>1)-sa-va|0;ra=ta>>1;if((ra|0)<(qa|0)){ra=qa}else{ra=((ra|0)>(pa|0)?ea:ta)>>1}ra=ra+sa|0;sa=(ra|0)<0;if(g){if(sa){ra=0}else{ra=(ra|0)>(Z|0)?X:ra&65535}Ea=_+((ga(ma,s)|0)+1<<1)|0;b[Ea>>1]=ra;break}else{if(sa){ra=0}else{ra=(ra|0)>(Z|0)?X:ra&65535}b[_+(ma+s<<1)>>1]=ra;break}}else{ya=ta&65535;za=va&65535;va=wa&65535;wa=ua&65535;Aa=wa<<1;ua=sa&65535;Ca=(va<<1)+4|0;sa=Ca+(za<<1)+ya+Aa+ua>>3;ta=va-oa|0;do{if((sa|0)<(ta|0)){sa=ta&65535}else{ta=va+oa|0;if((sa|0)>(ta|0)){sa=ta&65535;break}else{sa=sa&65535;break}}}while(0);ta=(va+2+za+ya+wa|0)>>>2;Da=za-oa|0;do{if((ta|0)<(Da|0)){ta=Da&65535}else{Da=za+oa|0;if((ta|0)>(Da|0)){ta=Da&65535;break}else{ta=ta&65535;break}}}while(0);Ba=va+4+za+(ya*3|0)+((Ba&65535)<<1)+wa>>3;Da=ya-oa|0;do{if((Ba|0)<(Da|0)){ya=Da&65535}else{ya=ya+oa|0;if((Ba|0)>(ya|0)){ya=ya&65535;break}else{ya=Ba&65535;break}}}while(0);ra=ra&65535;za=Ca+za+Aa+(ua<<1)+ra>>3;Aa=wa-oa|0;do{if((za|0)<(Aa|0)){za=Aa&65535}else{Aa=wa+oa|0;if((za|0)>(Aa|0)){za=Aa&65535;break}else{za=za&65535;break}}}while(0);va=wa+va+ua|0;wa=(ra+2+va|0)>>>2;Aa=ua-oa|0;do{if((wa|0)<(Aa|0)){ua=Aa&65535}else{ua=ua+oa|0;if((wa|0)>(ua|0)){ua=ua&65535;break}else{ua=wa&65535;break}}}while(0);va=(va+4+(ra*3|0)+((xa&65535)<<1)|0)>>>3;wa=ra-oa|0;do{if((va|0)<(wa|0)){ra=wa&65535}else{ra=ra+oa|0;if((va|0)>(ra|0)){ra=ra&65535;break}else{ra=va&65535;break}}}while(0);if(g){va=ga(ma,s)|0;if(ha){b[_+(va-1<<1)>>1]=sa}if(ja){b[_+(va<<1)>>1]=za}if(ha){b[_+(va-2<<1)>>1]=ta}if(ja){b[_+(va+1<<1)>>1]=ua}if(ha){b[_+(va-3<<1)>>1]=ya}if(!ja){break}b[_+(va+2<<1)>>1]=ra;break}else{if(ha){b[_+(ma-s<<1)>>1]=sa}if(ja){b[_+(ma<<1)>>1]=za}if(ha){b[_+(ma-(s<<1)<<1)>>1]=ta}if(ja){b[_+(s+ma<<1)>>1]=ua}if(ha){b[_+(ma+(s*-3|0)<<1)>>1]=ya}if(!ja){break}b[_+((s<<1)+ma<<1)>>1]=ra;break}}}while(0);ra=ma+1|0;if((ra|0)>=4){break b}ma=ra;wa=b[t+(ra<<3)>>1]|0;va=b[t+(ra<<3)+2>>1]|0;ta=b[t+(ra<<3)+4>>1]|0;ua=b[p+(ra<<3)>>1]|0;sa=b[p+(ra<<3)+2>>1]|0;ra=b[p+(ra<<3)+4>>1]|0}}}while(0);$=$+o|0;}while(($|0)<(l|0))}h=h+r|0;if((h|0)>=(y|0)){n=145;break}}if((n|0)==11){ec(8880,6264,118,17352)}else if((n|0)==14){ec(4520,6264,119,17352)}else if((n|0)==17){ec(8880,6264,118,17352)}else if((n|0)==20){ec(4520,6264,119,17352)}else if((n|0)==24){ec(8880,6264,118,17352)}else if((n|0)==27){ec(4520,6264,119,17352)}else if((n|0)==42){ec(8880,6264,118,17352)}else if((n|0)==45){ec(8880,6264,118,17352)}else if((n|0)==51){ec(4520,6264,119,17352)}else if((n|0)==54){ec(4520,6264,119,17352)}else if((n|0)==145){i=m;return}}function ye(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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,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,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;l=i;i=i+32|0;s=l|0;p=l+16|0;n=f?2:1;r=f?1:2;m=b+40|0;o=c[m>>2]|0;W=c[b+5760>>2]|0;q=b+10472|0;t=c[q>>2]|0;k=(t|0)>(k|0)?k:t;t=c[b+10476>>2]|0;h=(t|0)>(h|0)?h:t;if((h|0)<=(g|0)){i=l;return}t=(k|0)>(j|0);u=b+10460|0;v=b+4|0;y=b+10368|0;T=b+10372|0;V=b+10376|0;U=b+10360|0;S=b+10348|0;R=b+10352|0;Q=b+10356|0;P=b+10340|0;O=b+48|0;K=W-8|0;L=p+2|0;M=p+1|0;N=p|0;I=p+14|0;J=p+13|0;H=p+12|0;E=s+2|0;F=s+1|0;G=s|0;C=s+14|0;D=s+13|0;B=s+12|0;z=p+3|0;A=s+3|0;w=p+15|0;x=s+15|0;b=b+5480|0;Y=(1<<W)-1|0;W=Y&255;X=o<<1;a:while(1){if(t){ca=g<<2;aa=(ca|0)/4|0;_=ca-1|0;ba=j;do{ja=ba<<2;Ia=(ga(c[q>>2]|0,aa)|0)+((ja|0)/4|0)|0;Ia=a[(c[u>>2]|0)+Ia|0]&3;da=Ia&255;b:do{if(!(Ia<<24>>24==0)){Z=c[v>>2]|0;$=(ga(c[m>>2]|0,ca)|0)+ja|0;ea=0;do{ha=(ga(ea,o)|0)+$|0;fa=ea+$|0;if(f){a[s+(ea<<2)|0]=a[Z+ha|0]|0;a[p+(ea<<2)|0]=a[Z+(ha-1)|0]|0;a[s+(ea<<2)+1|0]=a[Z+(ha+1)|0]|0;a[p+(ea<<2)+1|0]=a[Z+(ha-2)|0]|0;a[s+(ea<<2)+2|0]=a[Z+(ha+2)|0]|0;a[p+(ea<<2)+2|0]=a[Z+(ha-3)|0]|0;a[s+(ea<<2)+3|0]=a[Z+(ha+3)|0]|0;a[p+(ea<<2)+3|0]=a[Z+(ha-4)|0]|0}else{a[s+(ea<<2)|0]=a[Z+fa|0]|0;a[p+(ea<<2)|0]=a[Z+(fa-o)|0]|0;a[s+(ea<<2)+1|0]=a[Z+(fa+o)|0]|0;a[p+(ea<<2)+1|0]=a[Z+(fa-(o<<1))|0]|0;a[s+(ea<<2)+2|0]=a[Z+(fa+(o<<1))|0]|0;a[p+(ea<<2)+2|0]=a[Z+(fa+(o*-3|0))|0]|0;a[s+(ea<<2)+3|0]=a[Z+(fa+(o*3|0))|0]|0;a[p+(ea<<2)+3|0]=a[Z+(fa-(o<<2))|0]|0}ea=ea+1|0;}while((ea|0)<4);na=c[y>>2]|0;ka=ja>>na;ea=ca>>na;if(!((ka|0)>-1)){m=12;break a}ia=c[T>>2]|0;if((ka|0)>=(ia|0)){m=12;break a}if(!((ea|0)>-1)){m=15;break a}la=c[V>>2]|0;if((ea|0)>=(la|0)){m=15;break a}ma=ga(ia,ea)|0;fa=ma+ka|0;ha=c[U>>2]|0;ea=a[ha+(fa*3|0)+2|0]|0;if(f){oa=ja-1>>na;if(!((oa|0)>-1&(oa|0)<(ia|0))){m=18;break a}oa=ma+oa|0}else{oa=_>>na;if(!((oa|0)>-1&(oa|0)<(la|0))){m=21;break a}oa=(ga(ia,oa)|0)+ka|0}ea=ea+1+(a[ha+(oa*3|0)+2|0]|0)>>1;oa=c[S>>2]|0;qa=ja>>oa;oa=ca>>oa;if(!((qa|0)>-1)){m=25;break a}pa=c[R>>2]|0;if((qa|0)>=(pa|0)){m=25;break a}if(!((oa|0)>-1)){m=28;break a}if((oa|0)>=(c[Q>>2]|0)){m=28;break a}oa=(ga(pa,oa)|0)+qa|0;oa=c[(c[O>>2]|0)+(e[(c[P>>2]|0)+(oa*24|0)+2>>1]<<2)>>2]|0;pa=(c[oa+756>>2]|0)+ea|0;if((pa|0)<0){pa=0}else{pa=(pa|0)>51?51:pa}qa=d[30360+pa|0]<<K;da=(da<<1)-2+ea+(c[oa+760>>2]|0)|0;if((da|0)<0){da=0}else{da=(da|0)>53?53:da}da=d[30664+da|0]<<K;xa=a[L]|0;Aa=a[M]|0;Ba=a[N]|0;sa=Ba&255;ea=(xa&255)-((Aa&255)<<1)+sa|0;oa=(ea|0)<0?-ea|0:ea;ea=d[H]|0;pa=(d[I]|0)-(d[J]<<1)+ea|0;va=(pa|0)<0?-pa|0:pa;wa=a[E]|0;ya=a[F]|0;za=a[G]|0;ua=za&255;pa=(wa&255)-((ya&255)<<1)+ua|0;pa=(pa|0)<0?-pa|0:pa;ra=d[B]|0;ta=(d[C]|0)-(d[D]<<1)+ra|0;Ia=(ta|0)<0?-ta|0:ta;Ca=pa+oa|0;ta=Ia+va|0;oa=va+oa|0;pa=Ia+pa|0;if((ta+Ca|0)>=(qa|0)){break}va=qa>>2;do{if((Ca<<1|0)<(va|0)){Ca=(d[z]|0)-sa|0;Da=ua-(d[A]|0)|0;if((((Da|0)<0?-Da|0:Da)+((Ca|0)<0?-Ca|0:Ca)|0)>=(qa>>3|0)){sa=1;break}sa=sa-ua|0;sa=(((sa|0)<0?-sa|0:sa)|0)>=((da*5|0)+1>>1|0)}else{sa=1}}while(0);do{if((ta<<1|0)<(va|0)){ta=(d[w]|0)-ea|0;ua=ra-(d[x]|0)|0;if((((ua|0)<0?-ua|0:ua)+((ta|0)<0?-ta|0:ta)|0)>=(qa>>3|0)){ea=1;break}ea=ea-ra|0;ea=(((ea|0)<0?-ea|0:ea)|0)>=((da*5|0)+1>>1|0)}else{ea=1}}while(0);ea=sa|ea;qa=(qa>>1)+qa>>3;ra=a[b]|0;sa=ra<<24>>24!=0;if(f){ka=ja-1>>na;if(sa){if(!((ka|0)>-1&(ka|0)<(ia|0))){m=43;break a}ja=ha+((ma+ka|0)*3|0)|0;ja=(((d[ja]|d[ja+1|0]<<8)<<16>>16&65535)>>>10&1^1)&255}else{ja=1}if(!((ka|0)>-1&(ka|0)<(ia|0))){m=46;break a}ia=ha+((ma+ka|0)*3|0)|0;if(ra<<24>>24==0){ka=1}else{ka=ha+(fa*3|0)|0;ka=((d[ka]|d[ka+1|0]<<8)<<16>>16&1024)==0}Ia=ha+(fa*3|0)|0;fa=((d[ia]|d[ia+1|0]<<8)<<16>>16&2048)==0&ja<<24>>24!=0;ia=((d[Ia]|d[Ia+1|0]<<8)<<16>>16&2048)==0&ka}else{ma=_>>na;if(sa){if(!((ma|0)>-1&(ma|0)<(la|0))){m=52;break a}ja=ha+(((ga(ia,ma)|0)+ka|0)*3|0)|0;ja=((d[ja]|d[ja+1|0]<<8)<<16>>16&1024)==0}else{ja=1}if(!((ma|0)>-1&(ma|0)<(la|0))){m=55;break a}ia=ha+(((ga(ia,ma)|0)+ka|0)*3|0)|0;if(ra<<24>>24==0){ka=1}else{ka=ha+(fa*3|0)|0;ka=((d[ka]|d[ka+1|0]<<8)<<16>>16&1024)==0}Ia=ha+(fa*3|0)|0;fa=((d[ia]|d[ia+1|0]<<8)<<16>>16&2048)==0&ja;ia=((d[Ia]|d[Ia+1|0]<<8)<<16>>16&2048)==0&ka}ha=da*10|0;ja=-da|0;ka=$-1|0;la=(oa|0)>=(qa|0)|fa^1;va=(pa|0)>=(qa|0)|ia^1;ra=da>>1;oa=-ra|0;ta=$|1;ua=$+o|0;pa=$-2|0;ma=$-X|0;qa=$-o|0;sa=da<<1;na=0;while(1){Ha=a[p+(na<<2)+3|0]|0;Ca=a[s+(na<<2)+3|0]|0;do{if(ea){za=za&255;Ca=Ba&255;ya=ya&255;Ba=Aa&255;Aa=((za-Ca|0)*9|0)+8+((ya-Ba|0)*-3|0)>>4;if((((Aa|0)<0?-Aa|0:Aa)|0)>=(ha|0)){break}if((Aa|0)<(ja|0)){Aa=ja}else{Aa=(Aa|0)>(da|0)?da:Aa}do{if(f){if(fa){Da=Aa+Ca|0;if((Da|0)<0){Da=0}else{Da=(Da|0)>(Y|0)?W:Da&255}Ia=Z+(ka+(ga(na,o)|0))|0;a[Ia]=Da}if(!ia){break}Da=za-Aa|0;if((Da|0)<0){Da=0}else{Da=(Da|0)>(Y|0)?W:Da&255}Ia=Z+((ga(na,o)|0)+$)|0;a[Ia]=Da}else{if(fa){Da=Aa+Ca|0;if((Da|0)<0){Da=0}else{Da=(Da|0)>(Y|0)?W:Da&255}a[Z+(qa+na)|0]=Da}if(!ia){break}Da=za-Aa|0;if((Da|0)<0){Da=0}else{Da=(Da|0)>(Y|0)?W:Da&255}a[Z+(na+$)|0]=Da}}while(0);do{if(!la){xa=Aa+(((Ca+1+(xa&255)|0)>>>1)-Ba)|0;Ca=xa>>1;if((Ca|0)<(oa|0)){xa=oa}else{xa=((Ca|0)>(ra|0)?da:xa)>>1}Ba=xa+Ba|0;xa=(Ba|0)<0;if(f){if(xa){xa=0}else{xa=(Ba|0)>(Y|0)?W:Ba&255}Ia=Z+(pa+(ga(na,o)|0))|0;a[Ia]=xa;break}else{if(xa){xa=0}else{xa=(Ba|0)>(Y|0)?W:Ba&255}a[Z+(ma+na)|0]=xa;break}}}while(0);if(va){break}wa=((za+1+(wa&255)|0)>>>1)-ya-Aa|0;xa=wa>>1;if((xa|0)<(oa|0)){wa=oa}else{wa=((xa|0)>(ra|0)?da:wa)>>1}xa=wa+ya|0;wa=(xa|0)<0;if(f){if(wa){wa=0}else{wa=(xa|0)>(Y|0)?W:xa&255}Ia=Z+(ta+(ga(na,o)|0))|0;a[Ia]=wa;break}else{if(wa){wa=0}else{wa=(xa|0)>(Y|0)?W:xa&255}a[Z+(ua+na)|0]=wa;break}}else{Da=xa&255;Ea=Aa&255;Aa=Ba&255;Ba=za&255;Fa=Ba<<1;za=ya&255;Ga=(Aa<<1)+4|0;xa=Ga+(Ea<<1)+Da+Fa+za>>3;ya=Aa-sa|0;do{if((xa|0)<(ya|0)){xa=ya&255}else{ya=Aa+sa|0;if((xa|0)>(ya|0)){xa=ya&255;break}else{xa=xa&255;break}}}while(0);ya=(Aa+2+Ea+Da+Ba|0)>>>2;Ia=Ea-sa|0;do{if((ya|0)<(Ia|0)){ya=Ia&255}else{Ia=Ea+sa|0;if((ya|0)>(Ia|0)){ya=Ia&255;break}else{ya=ya&255;break}}}while(0);Ha=Aa+4+Ea+(Da*3|0)+((Ha&255)<<1)+Ba>>3;Ia=Da-sa|0;do{if((Ha|0)<(Ia|0)){Da=Ia&255}else{Da=Da+sa|0;if((Ha|0)>(Da|0)){Da=Da&255;break}else{Da=Ha&255;break}}}while(0);wa=wa&255;Ea=Ga+Ea+Fa+(za<<1)+wa>>3;Fa=Ba-sa|0;do{if((Ea|0)<(Fa|0)){Ea=Fa&255}else{Fa=Ba+sa|0;if((Ea|0)>(Fa|0)){Ea=Fa&255;break}else{Ea=Ea&255;break}}}while(0);Aa=Ba+Aa+za|0;Ba=(wa+2+Aa|0)>>>2;Fa=za-sa|0;do{if((Ba|0)<(Fa|0)){za=Fa&255}else{za=za+sa|0;if((Ba|0)>(za|0)){za=za&255;break}else{za=Ba&255;break}}}while(0);Aa=(Aa+4+(wa*3|0)+((Ca&255)<<1)|0)>>>3;Ba=wa-sa|0;do{if((Aa|0)<(Ba|0)){wa=Ba&255}else{wa=wa+sa|0;if((Aa|0)>(wa|0)){wa=wa&255;break}else{wa=Aa&255;break}}}while(0);if(f){Aa=(ga(na,o)|0)+$|0;if(fa){a[Z+(Aa-1)|0]=xa}if(ia){a[Z+Aa|0]=Ea}if(fa){a[Z+(Aa-2)|0]=ya}if(ia){a[Z+(Aa+1)|0]=za}if(fa){a[Z+(Aa-3)|0]=Da}if(!ia){break}a[Z+(Aa+2)|0]=wa;break}else{Aa=na+$|0;if(fa){a[Z+(Aa-o)|0]=xa}if(ia){a[Z+Aa|0]=Ea}if(fa){a[Z+(Aa-(o<<1))|0]=ya}if(ia){a[Z+(Aa+o)|0]=za}if(fa){a[Z+(Aa+(o*-3|0))|0]=Da}if(!ia){break}a[Z+(Aa+(o<<1))|0]=wa;break}}}while(0);wa=na+1|0;if((wa|0)>=4){break b}na=wa;Ba=a[p+(wa<<2)|0]|0;Aa=a[p+(wa<<2)+1|0]|0;xa=a[p+(wa<<2)+2|0]|0;za=a[s+(wa<<2)|0]|0;ya=a[s+(wa<<2)+1|0]|0;wa=a[s+(wa<<2)+2|0]|0}}}while(0);ba=ba+n|0;}while((ba|0)<(k|0))}g=g+r|0;if((g|0)>=(h|0)){m=146;break}}if((m|0)==12){ec(8880,6264,118,17352)}else if((m|0)==15){ec(4520,6264,119,17352)}else if((m|0)==18){ec(8880,6264,118,17352)}else if((m|0)==21){ec(4520,6264,119,17352)}else if((m|0)==25){ec(8880,6264,118,17352)}else if((m|0)==28){ec(4520,6264,119,17352)}else if((m|0)==43){ec(8880,6264,118,17352)}else if((m|0)==46){ec(8880,6264,118,17352)}else if((m|0)==52){ec(4520,6264,119,17352)}else if((m|0)==55){ec(4520,6264,119,17352)}else if((m|0)==146){i=l;return}}function ze(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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,ha=0,ia=0,ja=0,ka=0,la=0;m=i;i=i+32|0;v=m|0;p=m+16|0;n=c[f+5780>>2]|0;o=c[f+5784>>2]|0;q=ga(n,g?2:1)|0;u=ga(o,g?1:2)|0;s=f+44|0;r=c[s>>2]|0;t=c[f+10472>>2]|0;l=(t|0)>(l|0)?l:t;w=c[f+10476>>2]|0;F=(w|0)>(j|0)?j:w;y=c[f+5768>>2]|0;if((F|0)<=(h|0)){i=m;return}O=(l|0)>(k|0);L=3-n|0;M=3-o|0;N=f+10460|0;J=f+5952|0;K=f+5956|0;w=f+10368|0;x=f+10372|0;P=f+10376|0;z=f+10360|0;A=f+5776|0;B=f+10348|0;C=f+10352|0;D=f+10356|0;j=f+10340|0;E=f+48|0;G=f+5480|0;H=(1<<y)-1|0;I=H&65535;a:while(1){if(O){W=h<<M;T=ga(W,o)|0;Y=(T|0)/4|0;U=T-1|0;X=c[N>>2]|0;V=k;do{S=V<<L;Q=ga(S,n)|0;Z=X+((ga(t,Y)|0)+((Q|0)/4|0))|0;Z=a[Z]&3;if((Z&255)>>>0>1>>>0){R=Q-1|0;Z=((Z&255)<<1)-2|0;_=0;do{aa=c[((_|0)==0?J:K)>>2]|0;_=_+1|0;$=(c[f+4+(_<<2)>>2]|0)+((ga(c[s>>2]|0,W)|0)+S<<1)|0;fa=0;while(1){ba=~fa;da=ga(fa,r)|0;ea=fa+1|0;ca=ga(ea,r)|0;if(g){b[p+(fa<<3)>>1]=b[$+(fa<<1)>>1]|0;b[v+(fa<<3)>>1]=b[$+(ba<<1)>>1]|0;b[p+(fa<<3)+2>>1]=b[$+(r+fa<<1)>>1]|0;b[v+(fa<<3)+2>>1]=b[$+(r+ba<<1)>>1]|0;la=r<<1;b[p+(fa<<3)+4>>1]=b[$+(la+fa<<1)>>1]|0;b[v+(fa<<3)+4>>1]=b[$+(la+ba<<1)>>1]|0;la=r*3|0;b[p+(fa<<3)+6>>1]=b[$+(la+fa<<1)>>1]|0;b[v+(fa<<3)+6>>1]=b[$+(la+ba<<1)>>1]|0}else{b[p+(fa<<3)>>1]=b[$+(da<<1)>>1]|0;b[v+(fa<<3)>>1]=b[$+(-ca<<1)>>1]|0;b[p+(fa<<3)+2>>1]=b[$+(da+1<<1)>>1]|0;b[v+(fa<<3)+2>>1]=b[$+(1-ca<<1)>>1]|0;b[p+(fa<<3)+4>>1]=b[$+(da+2<<1)>>1]|0;b[v+(fa<<3)+4>>1]=b[$+(2-ca<<1)>>1]|0;b[p+(fa<<3)+6>>1]=b[$+(da+3<<1)>>1]|0;b[v+(fa<<3)+6>>1]=b[$+(3-ca<<1)>>1]|0}if((ea|0)<2){fa=ea}else{break}}ia=c[w>>2]|0;ea=Q>>ia;ba=T>>ia;if(!((ea|0)>-1)){g=14;break a}da=c[x>>2]|0;if((ea|0)>=(da|0)){g=14;break a}if(!((ba|0)>-1)){g=17;break a}fa=c[P>>2]|0;if((ba|0)>=(fa|0)){g=17;break a}ha=ga(da,ba)|0;ba=ha+ea|0;ca=c[z>>2]|0;ja=a[ca+(ba*3|0)+2|0]|0;if(g){ka=R>>ia;if(!((ka|0)>-1&(ka|0)<(da|0))){g=20;break a}ka=ha+ka|0}else{ka=U>>ia;if(!((ka|0)>-1&(ka|0)<(fa|0))){g=23;break a}ka=(ga(da,ka)|0)+ea|0}la=(ja+1+(a[ca+(ka*3|0)+2|0]|0)>>1)+aa|0;do{if((c[A>>2]|0)==1){if((la|0)<30){break}if((la|0)>42){la=la-6|0;break}else{la=c[8+(la-30<<2)>>2]|0;break}}else{la=(la|0)<51?la:51}}while(0);aa=c[B>>2]|0;ja=Q>>aa;aa=T>>aa;if(!((ja|0)>-1)){g=33;break a}ka=c[C>>2]|0;if((ja|0)>=(ka|0)){g=33;break a}if(!((aa|0)>-1)){g=36;break a}if((aa|0)>=(c[D>>2]|0)){g=36;break a}aa=(ga(ka,aa)|0)+ja|0;aa=Z+la+(c[(c[(c[E>>2]|0)+(e[(c[j>>2]|0)+(aa*24|0)+2>>1]<<2)>>2]|0)+760>>2]|0)|0;if((aa|0)<0){aa=0}else{aa=(aa|0)>53?53:aa}aa=d[30664+aa|0]<<y-8;ja=(a[G]|0)==0;if(g){fa=R>>ia;if(ja){ea=1}else{if(!((fa|0)>-1&(fa|0)<(da|0))){g=42;break a}ea=ca+((ha+fa|0)*3|0)|0;ea=((d[ea]|d[ea+1|0]<<8)<<16>>16&1024)==0}if(!((fa|0)>-1&(fa|0)<(da|0))){g=45;break a}da=ca+((ha+fa|0)*3|0)|0;da=((d[da]|d[da+1|0]<<8)<<16>>16&2048)==0&ea;if(ja){ea=1}else{ea=ca+(ba*3|0)|0;ea=((d[ea]|d[ea+1|0]<<8)<<16>>16&1024)==0}ca=ca+(ba*3|0)|0;ea=((d[ca]|d[ca+1|0]<<8)<<16>>16&2048)==0&ea;ca=-aa|0;ba=0;do{fa=e[p+(ba<<1)>>1]|0;ia=e[v+(ba<<1)>>1]|0;ha=(e[v+8+(ba<<1)>>1]|0)+4+(fa-ia<<2)-(e[p+8+(ba<<1)>>1]|0)>>3;if((ha|0)<(ca|0)){ha=ca}else{ha=(ha|0)>(aa|0)?aa:ha}if(da){ia=ia+ha|0;if((ia|0)<0){ia=0}else{ia=(ia|0)>(H|0)?I:ia&65535}la=$+((ga(ba,r)|0)-1<<1)|0;b[la>>1]=ia}if(ea){fa=fa-ha|0;if((fa|0)<0){fa=0}else{fa=(fa|0)>(H|0)?I:fa&65535}la=$+((ga(ba,r)|0)<<1)|0;b[la>>1]=fa}ba=ba+1|0;}while((ba|0)<4)}else{ha=U>>ia;if(ja){ia=1}else{if(!((ha|0)>-1&(ha|0)<(fa|0))){g=62;break a}ia=ca+(((ga(da,ha)|0)+ea|0)*3|0)|0;ia=((d[ia]|d[ia+1|0]<<8)<<16>>16&1024)==0}if(!((ha|0)>-1&(ha|0)<(fa|0))){g=65;break a}da=ca+(((ga(da,ha)|0)+ea|0)*3|0)|0;da=((d[da]|d[da+1|0]<<8)<<16>>16&2048)==0&ia;if(ja){ea=1}else{ea=ca+(ba*3|0)|0;ea=((d[ea]|d[ea+1|0]<<8)<<16>>16&1024)==0}ca=ca+(ba*3|0)|0;ea=((d[ca]|d[ca+1|0]<<8)<<16>>16&2048)==0&ea;ca=-aa|0;ba=0;do{fa=e[p+(ba<<1)>>1]|0;ia=e[v+(ba<<1)>>1]|0;ha=(e[v+8+(ba<<1)>>1]|0)+4+(fa-ia<<2)-(e[p+8+(ba<<1)>>1]|0)>>3;if((ha|0)<(ca|0)){ha=ca}else{ha=(ha|0)>(aa|0)?aa:ha}if(da){ia=ia+ha|0;if((ia|0)<0){ia=0}else{ia=(ia|0)>(H|0)?I:ia&65535}b[$+(ba-r<<1)>>1]=ia}if(ea){fa=fa-ha|0;if((fa|0)<0){fa=0}else{fa=(fa|0)>(H|0)?I:fa&65535}b[$+(ba<<1)>>1]=fa}ba=ba+1|0;}while((ba|0)<4)}}while((_|0)<2)}V=V+q|0;}while((V|0)<(l|0))}h=h+u|0;if((h|0)>=(F|0)){g=82;break}}if((g|0)==14){ec(8880,6264,118,17352)}else if((g|0)==17){ec(4520,6264,119,17352)}else if((g|0)==20){ec(8880,6264,118,17352)}else if((g|0)==23){ec(4520,6264,119,17352)}else if((g|0)==33){ec(8880,6264,118,17352)}else if((g|0)==36){ec(4520,6264,119,17352)}else if((g|0)==42){ec(8880,6264,118,17352)}else if((g|0)==45){ec(8880,6264,118,17352)}else if((g|0)==62){ec(4520,6264,119,17352)}else if((g|0)==65){ec(4520,6264,119,17352)}else if((g|0)==82){i=m;return}}function Ae(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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,ha=0,ia=0,ja=0,ka=0;l=i;i=i+16|0;u=l|0;t=l+8|0;p=c[b+5780>>2]|0;n=c[b+5784>>2]|0;o=ga(p,f?2:1)|0;s=ga(n,f?1:2)|0;q=b+44|0;m=c[q>>2]|0;r=b+10472|0;v=c[r>>2]|0;v=(v|0)>(k|0)?k:v;k=c[b+10476>>2]|0;k=(k|0)>(h|0)?h:k;h=b+5768|0;if((k|0)<=(g|0)){i=l;return}x=(v|0)>(j|0);L=3-p|0;N=3-n|0;M=b+10460|0;J=b+5952|0;K=b+5956|0;w=b+10368|0;O=b+10372|0;y=b+10376|0;z=b+10360|0;A=b+5776|0;B=b+10348|0;C=b+10352|0;D=b+10356|0;F=b+10340|0;E=b+48|0;G=b+5480|0;H=(1<<c[h>>2])-1|0;I=H&255;a:while(1){if(x){W=g<<N;T=ga(W,n)|0;S=(T|0)/4|0;U=T-1|0;V=j;do{R=V<<L;P=ga(R,p)|0;X=(ga(c[r>>2]|0,S)|0)+((P|0)/4|0)|0;X=a[(c[M>>2]|0)+X|0]&3;if((X&255)>>>0>1>>>0){Q=P-1|0;X=((X&255)<<1)-2|0;Y=0;do{$=c[((Y|0)==0?J:K)>>2]|0;Y=Y+1|0;Z=c[b+4+(Y<<2)>>2]|0;_=(ga(c[q>>2]|0,W)|0)+R|0;da=0;while(1){aa=da+_|0;ea=_+~da|0;ca=(ga(da,m)|0)+_|0;fa=da+1|0;ba=_-(ga(fa,m)|0)|0;if(f){a[t+(da<<2)|0]=a[Z+aa|0]|0;a[u+(da<<2)|0]=a[Z+ea|0]|0;a[t+(da<<2)+1|0]=a[Z+(aa+m)|0]|0;a[u+(da<<2)+1|0]=a[Z+(ea+m)|0]|0;ka=m<<1;a[t+(da<<2)+2|0]=a[Z+(aa+ka)|0]|0;a[u+(da<<2)+2|0]=a[Z+(ea+ka)|0]|0;ka=m*3|0;a[t+(da<<2)+3|0]=a[Z+(aa+ka)|0]|0;a[u+(da<<2)+3|0]=a[Z+(ea+ka)|0]|0}else{a[t+(da<<2)|0]=a[Z+ca|0]|0;a[u+(da<<2)|0]=a[Z+ba|0]|0;a[t+(da<<2)+1|0]=a[Z+(ca+1)|0]|0;a[u+(da<<2)+1|0]=a[Z+(ba+1)|0]|0;a[t+(da<<2)+2|0]=a[Z+(ca+2)|0]|0;a[u+(da<<2)+2|0]=a[Z+(ba+2)|0]|0;a[t+(da<<2)+3|0]=a[Z+(ca+3)|0]|0;a[u+(da<<2)+3|0]=a[Z+(ba+3)|0]|0}if((fa|0)<2){da=fa}else{break}}ha=c[w>>2]|0;ea=P>>ha;aa=T>>ha;if(!((ea|0)>-1)){m=14;break a}ca=c[O>>2]|0;if((ea|0)>=(ca|0)){m=14;break a}if(!((aa|0)>-1)){m=17;break a}da=c[y>>2]|0;if((aa|0)>=(da|0)){m=17;break a}fa=ga(ca,aa)|0;aa=fa+ea|0;ba=c[z>>2]|0;ia=a[ba+(aa*3|0)+2|0]|0;if(f){ja=Q>>ha;if(!((ja|0)>-1&(ja|0)<(ca|0))){m=20;break a}ja=fa+ja|0}else{ja=U>>ha;if(!((ja|0)>-1&(ja|0)<(da|0))){m=23;break a}ja=(ga(ca,ja)|0)+ea|0}$=(ia+1+(a[ba+(ja*3|0)+2|0]|0)>>1)+$|0;do{if((c[A>>2]|0)==1){if(($|0)<30){break}if(($|0)>42){$=$-6|0;break}else{$=c[8+($-30<<2)>>2]|0;break}}else{$=($|0)<51?$:51}}while(0);ja=c[B>>2]|0;ka=P>>ja;ja=T>>ja;if(!((ka|0)>-1)){m=33;break a}ia=c[C>>2]|0;if((ka|0)>=(ia|0)){m=33;break a}if(!((ja|0)>-1)){m=36;break a}if((ja|0)>=(c[D>>2]|0)){m=36;break a}ka=(ga(ia,ja)|0)+ka|0;$=X+$+(c[(c[(c[E>>2]|0)+(e[(c[F>>2]|0)+(ka*24|0)+2>>1]<<2)>>2]|0)+760>>2]|0)|0;if(($|0)<0){$=0}else{$=($|0)>53?53:$}$=d[30664+$|0]<<(c[h>>2]|0)-8;ia=(a[G]|0)==0;if(f){ea=Q>>ha;if(ia){da=1}else{if(!((ea|0)>-1&(ea|0)<(ca|0))){m=42;break a}da=ba+((fa+ea|0)*3|0)|0;da=((d[da]|d[da+1|0]<<8)<<16>>16&1024)==0}if(!((ea|0)>-1&(ea|0)<(ca|0))){m=45;break a}ca=ba+((fa+ea|0)*3|0)|0;ca=((d[ca]|d[ca+1|0]<<8)<<16>>16&2048)==0&da;if(ia){da=1}else{da=ba+(aa*3|0)|0;da=((d[da]|d[da+1|0]<<8)<<16>>16&1024)==0}aa=ba+(aa*3|0)|0;aa=((d[aa]|d[aa+1|0]<<8)<<16>>16&2048)==0&da;da=-$|0;ea=_-1|0;ba=0;do{fa=d[t+ba|0]|0;ia=d[u+ba|0]|0;ha=(d[u+4+ba|0]|0)+4+(fa-ia<<2)-(d[t+4+ba|0]|0)>>3;if((ha|0)<(da|0)){ha=da}else{ha=(ha|0)>($|0)?$:ha}if(ca){ia=ia+ha|0;if((ia|0)<0){ia=0}else{ia=(ia|0)>(H|0)?I:ia&255}ka=Z+(ea+(ga(ba,m)|0))|0;a[ka]=ia}if(aa){fa=fa-ha|0;if((fa|0)<0){fa=0}else{fa=(fa|0)>(H|0)?I:fa&255}ka=Z+((ga(ba,m)|0)+_)|0;a[ka]=fa}ba=ba+1|0;}while((ba|0)<4)}else{ha=U>>ha;if(ia){fa=1}else{if(!((ha|0)>-1&(ha|0)<(da|0))){m=62;break a}fa=ba+(((ga(ca,ha)|0)+ea|0)*3|0)|0;fa=((d[fa]|d[fa+1|0]<<8)<<16>>16&1024)==0}if(!((ha|0)>-1&(ha|0)<(da|0))){m=65;break a}ca=ba+(((ga(ca,ha)|0)+ea|0)*3|0)|0;ca=((d[ca]|d[ca+1|0]<<8)<<16>>16&2048)==0&fa;if(ia){da=1}else{da=ba+(aa*3|0)|0;da=((d[da]|d[da+1|0]<<8)<<16>>16&1024)==0}ea=ba+(aa*3|0)|0;ea=((d[ea]|d[ea+1|0]<<8)<<16>>16&2048)==0&da;aa=-$|0;da=_-m|0;ba=0;do{fa=d[t+ba|0]|0;ia=d[u+ba|0]|0;ha=(d[u+4+ba|0]|0)+4+(fa-ia<<2)-(d[t+4+ba|0]|0)>>3;if((ha|0)<(aa|0)){ha=aa}else{ha=(ha|0)>($|0)?$:ha}if(ca){ia=ia+ha|0;if((ia|0)<0){ia=0}else{ia=(ia|0)>(H|0)?I:ia&255}a[Z+(da+ba)|0]=ia}if(ea){fa=fa-ha|0;if((fa|0)<0){fa=0}else{fa=(fa|0)>(H|0)?I:fa&255}a[Z+(ba+_)|0]=fa}ba=ba+1|0;}while((ba|0)<4)}}while((Y|0)<2)}V=V+o|0;}while((V|0)<(v|0))}g=g+s|0;if((g|0)>=(k|0)){m=82;break}}if((m|0)==14){ec(8880,6264,118,17352)}else if((m|0)==17){ec(4520,6264,119,17352)}else if((m|0)==20){ec(8880,6264,118,17352)}else if((m|0)==23){ec(4520,6264,119,17352)}else if((m|0)==33){ec(8880,6264,118,17352)}else if((m|0)==36){ec(4520,6264,119,17352)}else if((m|0)==42){ec(8880,6264,118,17352)}else if((m|0)==45){ec(8880,6264,118,17352)}else if((m|0)==62){ec(4520,6264,119,17352)}else if((m|0)==65){ec(4520,6264,119,17352)}else if((m|0)==82){i=l;return}}function Be(b){b=b|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,r=0;e=b|0;g=b+4|0;c[g>>2]=1;d=b+8|0;Wh(c[d>>2]|0,e);p=c[d>>2]|0;i=c[p+10472>>2]|0;j=(c[p+5812>>2]|0)/4|0;f=b+12|0;o=c[f>>2]|0;h=ga(o,j)|0;q=o+1|0;j=ga(q,j)|0;k=c[p+10476>>2]|0;k=(j|0)>(k|0)?k:j;m=b+16|0;r=(a[m]|0)!=0;j=r?2:3;l=c[p+5820>>2]|0;b=l-1|0;do{if(r){o=(c[p+5828>>2]|0)-1|0;Yh(p,e,b,(o|0)<(q|0)?o:q,1)}else{if((o|0)>0){Yh(p,e,b,o-1|0,2);p=c[d>>2]|0;o=c[f>>2]|0}Yh(p,e,b,o,2);p=(c[f>>2]|0)+1|0;o=c[d>>2]|0;if((p|0)>=(c[o+5828>>2]|0)){break}Yh(o,e,b,p,2)}}while(0);o=c[d>>2]|0;p=c[f>>2]|0;do{if((a[m]|0)==0){r=ga(c[o+10352>>2]|0,p)|0;if((a[(c[o+10340>>2]|0)+(r*24|0)+21|0]|0)!=0){p=0;n=11}}else{r=ve(o,p)|0;o=c[d>>2]|0;q=ga(c[o+10352>>2]|0,c[f>>2]|0)|0;a[(c[o+10340>>2]|0)+(q*24|0)+21|0]=r&1;if(!r){break}p=(a[m]|0)!=0;n=11}}while(0);do{if((n|0)==11){we(o,p,h,k,0,i);o=c[d>>2]|0;n=(a[m]|0)!=0;if((c[o+5760>>2]|0)>8){xe(o,n,h,k,0,i)}else{ye(o,n,h,k,0,i)}n=c[d>>2]|0;if((c[n+5776>>2]|0)==0){break}m=(a[m]|0)!=0;if((c[n+5768>>2]|0)>8){ze(n,m,h,k,0,i);break}else{Ae(n,m,h,k,0,i);break}}}while(0);if((l|0)<1){c[g>>2]=3;r=c[d>>2]|0;Xh(r,e);return}else{h=0}while(1){q=c[d>>2]|0;r=(ga(c[f>>2]|0,c[q+5820>>2]|0)|0)+h|0;Ek((c[q+10524>>2]|0)+(r*76|0)|0,j);if((h|0)>=(b|0)){break}h=h+1|0}c[g>>2]=3;r=c[d>>2]|0;Xh(r,e);return}function Ce(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+8|0;f=d|0;g=c[b>>2]|0;j=c[g+10332>>2]|0;e=g+5828|0;Vh(g,c[e>>2]<<1);k=b+10668|0;h=b+10672|0;j=j+375396|0;b=b+10664|0;if((c[e>>2]|0)>0){l=0}else{i=d;return}do{m=Nu(20)|0;c[m+4>>2]=0;c[m>>2]=22184;c[m+8>>2]=g;c[m+12>>2]=l;a[m+16|0]=1;c[f>>2]=m;n=c[k>>2]|0;if(n>>>0<(c[h>>2]|0)>>>0){if((n|0)==0){n=0}else{c[n>>2]=m;n=c[k>>2]|0}c[k>>2]=n+4}else{He(b,f)}Kk(j,m);l=l+1|0;m=c[e>>2]|0;}while((l|0)<(m|0));if((m|0)>0){l=0}else{i=d;return}do{m=Nu(20)|0;c[m+4>>2]=0;c[m>>2]=22184;c[m+8>>2]=g;c[m+12>>2]=l;a[m+16|0]=0;c[f>>2]=m;n=c[k>>2]|0;if(n>>>0<(c[h>>2]|0)>>>0){if((n|0)==0){n=0}else{c[n>>2]=m;n=c[k>>2]|0}c[k>>2]=n+4}else{He(b,f)}Kk(j,m);l=l+1|0;}while((l|0)<(c[e>>2]|0));i=d;return}function De(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+5828|0;if((c[b>>2]|0)>0){e=0;d=0}else{return}do{e=e|(ve(a,d)|0);d=d+1|0;}while((d|0)<(c[b>>2]|0));if(!e){return}d=a+10476|0;b=a+10472|0;we(a,1,0,c[d>>2]|0,0,c[b>>2]|0);g=c[d>>2]|0;f=c[b>>2]|0;e=a+5760|0;if((c[e>>2]|0)>8){xe(a,1,0,g,0,f)}else{ye(a,1,0,g,0,f)}f=a+5776|0;do{if((c[f>>2]|0)!=0){g=c[d>>2]|0;h=c[b>>2]|0;if((c[a+5768>>2]|0)>8){ze(a,1,0,g,0,h);break}else{Ae(a,1,0,g,0,h);break}}}while(0);we(a,0,0,c[d>>2]|0,0,c[b>>2]|0);g=c[d>>2]|0;h=c[b>>2]|0;if((c[e>>2]|0)>8){xe(a,0,0,g,0,h)}else{ye(a,0,0,g,0,h)}if((c[f>>2]|0)==0){return}d=c[d>>2]|0;b=c[b>>2]|0;if((c[a+5768>>2]|0)>8){ze(a,0,0,d,0,b);return}else{Ae(a,0,0,d,0,b);return}}function Ee(a){a=a|0;return}function Fe(a){a=a|0;Pu(a);return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+104|0;e=f|0;mb(e|0,1888,(g=i,i=i+8|0,c[g>>2]=c[d+12>>2],g)|0)|0;i=g;d=ev(e|0)|0;if(d>>>0>4294967279>>>0){nm(0)}if(d>>>0<11>>>0){a[b]=d<<1;g=b+1|0;cv(g|0,e|0,d)|0;g=g+d|0;a[g]=0;i=f;return}else{h=d+16&-16;g=Nu(h)|0;c[b+8>>2]=g;c[b>>2]=h|1;c[b+4>>2]=d;cv(g|0,e|0,d)|0;g=g+d|0;a[g]=0;i=f;return}}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+132|0;if((c[d>>2]|0)!=0){ec(1960,14344,169,17808)}e=Ra(b|0,18624)|0;i=K;e=sb(e|0,16)|0;e=Ou(i|K?-1:e)|0;c[e+12>>2]=b;e=e+16|0;if((b|0)==0){c[d>>2]=e;i=a+136|0;c[i>>2]=b;return}g=e+(b*18624|0)|0;f=e;do{Cd(f+18580|0);h=f+48|0;i=h&15;dv(f+18508|0,0,20)|0;dv(f+18592|0,0,20)|0;if((i|0)==0){c[f+2112>>2]=h}else{h=h+(16-i)|0;c[f+2112>>2]=h}dv(h|0,0,2048)|0;f=f+18624|0;}while((f|0)!=(g|0));c[d>>2]=e;i=a+136|0;c[i>>2]=b;return}function Je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+10636|0;f=c[b>>2]|0;d=a+10632|0;g=c[d>>2]|0;if((f|0)!=(g|0)){e=0;h=f;while(1){f=c[g+(e<<2)>>2]|0;if((f|0)==0){f=h}else{Vi((c[f+140>>2]|0)+548|0,c[f>>2]|0);g=c[f+132>>2]|0;if((g|0)!=0){i=g-18624+18608|0;h=i;i=c[i+12>>2]|0;if((i|0)!=0){j=g+(i*18624|0)|0;while(1){i=j-18624|0;Ed(j-18624+18580|0);if((i|0)==(g|0)){break}else{j=i}}}Qu(h)}Ck(f+44|0);Pu(f);f=c[b>>2]|0;g=c[d>>2]|0}e=e+1|0;if(e>>>0<f-g>>2>>>0){h=f}else{break}}}e=a+10668|0;i=c[e>>2]|0;f=a+10664|0;h=c[f>>2]|0;if((i|0)==(h|0)){h=i}else{g=0;do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){Dc[c[(c[j>>2]|0)+4>>2]&511](j);i=c[e>>2]|0;h=c[f>>2]|0}g=g+1|0;}while(g>>>0<i-h>>2>>>0)}i=a+10676|0;g=c[i>>2]|0;if((g|0)!=0){h=a+10680|0;j=c[h>>2]|0;if((j|0)!=(g|0)){do{k=j-8|0;c[h>>2]=k;Ed(k);j=c[h>>2]|0;}while((j|0)!=(g|0));g=c[i>>2]|0}Pu(g);h=c[f>>2]|0}if((h|0)!=0){f=c[e>>2]|0;if((f|0)!=(h|0)){c[e>>2]=f+(~((f-4+(-h|0)|0)>>>2)<<2)}Pu(h)}e=c[a+10644>>2]|0;if((e|0)!=0){f=a+10648|0;g=c[f>>2]|0;if((g|0)!=(e|0)){c[f>>2]=g+(~(((g-80+(-e|0)|0)>>>0)/80|0)*80|0)}Pu(e)}d=c[d>>2]|0;if((d|0)==0){k=a+8|0;Rh(k);return}e=c[b>>2]|0;if((e|0)!=(d|0)){c[b>>2]=e+(~((e-4+(-d|0)|0)>>>2)<<2)}Pu(d);k=a+8|0;Rh(k);return}function Ke(a,b){a=a|0;b=b|0;Lf(a+172|0);return}function Le(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[b+84>>2]=0;c[b+168>>2]=0;d=b|0;c[d>>2]=22344;Lf(b+172|0);c[d>>2]=22312;Si(b+548|0);c[b+1192>>2]=0;c[b+1196>>2]=0;c[b+1200>>2]=0;dv(b+1228|0,0,24)|0;c[b+1848>>2]=0;c[b+1852>>2]=0;c[b+1856>>2]=0;dv(b+1884|0,0,24)|0;c[b+2504>>2]=0;c[b+2508>>2]=0;c[b+2512>>2]=0;dv(b+2540|0,0,24)|0;c[b+3160>>2]=0;c[b+3164>>2]=0;c[b+3168>>2]=0;dv(b+3196|0,0,24)|0;c[b+3816>>2]=0;c[b+3820>>2]=0;c[b+3824>>2]=0;dv(b+3852|0,0,24)|0;c[b+4472>>2]=0;c[b+4476>>2]=0;c[b+4480>>2]=0;dv(b+4508|0,0,24)|0;c[b+5128>>2]=0;c[b+5132>>2]=0;c[b+5136>>2]=0;dv(b+5164|0,0,24)|0;c[b+5784>>2]=0;c[b+5788>>2]=0;c[b+5792>>2]=0;dv(b+5820|0,0,24)|0;c[b+6440>>2]=0;c[b+6444>>2]=0;c[b+6448>>2]=0;dv(b+6476|0,0,24)|0;c[b+7096>>2]=0;c[b+7100>>2]=0;c[b+7104>>2]=0;dv(b+7132|0,0,24)|0;c[b+7752>>2]=0;c[b+7756>>2]=0;c[b+7760>>2]=0;dv(b+7788|0,0,24)|0;c[b+8408>>2]=0;c[b+8412>>2]=0;c[b+8416>>2]=0;dv(b+8444|0,0,24)|0;c[b+9064>>2]=0;c[b+9068>>2]=0;c[b+9072>>2]=0;dv(b+9100|0,0,24)|0;c[b+9720>>2]=0;c[b+9724>>2]=0;c[b+9728>>2]=0;dv(b+9756|0,0,24)|0;c[b+10376>>2]=0;c[b+10380>>2]=0;c[b+10384>>2]=0;dv(b+10412|0,0,24)|0;c[b+11032>>2]=0;c[b+11036>>2]=0;c[b+11040>>2]=0;dv(b+11068|0,0,24)|0;d=b+93784|0;e=b+11096|0;do{ik(e);e=e+5168|0;}while((e|0)!=(d|0));e=b+375384|0;d=b+93784|0;do{jj(d);d=d+4400|0;}while((d|0)!=(e|0));dv(b+375400|0,0,24)|0;sh(b+376144|0);c[b+377212>>2]=0;c[b+377216>>2]=0;c[b+377220>>2]=0;a[b+512|0]=0;a[b+513|0]=1;a[b+514|0]=0;a[b+532|0]=0;a[b+533|0]=0;e=b+536|0;dv(b+516|0,-1|0,16)|0;k=27248;j=c[k+4>>2]|0;c[e>>2]=c[k>>2];c[e+4>>2]=j;c[b+544>>2]=0;c[b+375384>>2]=0;c[b+375388>>2]=0;c[b+375392>>2]=0;c[b+375888>>2]=0;e=b+375892|0;c[e>>2]=6;c[b+375896>>2]=100;c[b+375900>>2]=6;c[b+375908>>2]=6;c[b+375904>>2]=100;j=6;while(1){d=j*100|0;f=(d|0)/7|0;d=(d+100|0)/7|0;a:do{if((f|0)<=(d|0)){g=d-f|0;h=f;while(1){k=c[e>>2]|0;i=(j|0)>(k|0);j=i?k:j;a[b+375912+(h<<1)|0]=j;a[b+375912+(h<<1)+1|0]=i?100:(((h-f|0)*100|0|0)/(g|0)|0)&255;if((h|0)>=(d|0)){break a}h=h+1|0}}}while(0);c[b+376116+(j<<2)>>2]=d;if((j|0)>0){j=j-1|0}else{break}}k=b+376200|0;dv(k|0,0,24)|0;a[b+376204|0]=1;c[k>>2]=-1;return}function Me(a){a=a|0;Ne(a);Pu(a);return}function Ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=22312;b=a+377212|0;f=c[b>>2]|0;d=a+377216|0;e=c[d>>2]|0;if((f|0)!=(e|0)){do{g=c[e-4>>2]|0;if((g|0)!=0){Je(g);Pu(g);e=c[d>>2]|0;f=c[b>>2]|0}g=e-4|0;e=e+(~((g+(-g|0)|0)>>>2)<<2)|0;c[d>>2]=e;}while((f|0)!=(e|0))}if((f|0)!=0){Pu(f)}th(a+376144|0);b=a+375400|0;Kf(b|0);e=a+375404|0;g=c[e>>2]|0;d=a+375408|0;f=c[d>>2]|0;do{if((g|0)!=(f|0)){do{Pu(c[g>>2]|0);g=g+4|0;}while((g|0)!=(f|0));f=c[e>>2]|0;e=c[d>>2]|0;if((e|0)==(f|0)){break}c[d>>2]=e+(~((e-4+(-f|0)|0)>>>2)<<2)}}while(0);b=c[b>>2]|0;if((b|0)!=0){Pu(b)}b=a+93784|0;d=a+375384|0;do{d=d-4400|0;kj(d);}while((d|0)!=(b|0));jk(a+88616|0);jk(a+83448|0);jk(a+78280|0);jk(a+73112|0);jk(a+67944|0);jk(a+62776|0);jk(a+57608|0);jk(a+52440|0);jk(a+47272|0);jk(a+42104|0);jk(a+36936|0);jk(a+31768|0);jk(a+26600|0);jk(a+21432|0);jk(a+16264|0);jk(a+11096|0);Jf(a+10440|0);Jf(a+9784|0);Jf(a+9128|0);Jf(a+8472|0);Jf(a+7816|0);Jf(a+7160|0);Jf(a+6504|0);Jf(a+5848|0);Jf(a+5192|0);Jf(a+4536|0);Jf(a+3880|0);Jf(a+3224|0);Jf(a+2568|0);Jf(a+1912|0);Jf(a+1256|0);Jf(a+600|0);Ti(a+548|0);return}function Oe(a){a=a|0;if((c[a+375888>>2]|0)<=0){return}Jk(a+375396|0);return}function Pe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=b+375888|0;if((c[d>>2]|0)>0){Jk(b+375396|0)}c[b+376220>>2]=0;c[b+376200>>2]=-1;a[b+376204|0]=1;Bh(b+376144|0);_i(b+548|0);f=b+377212|0;h=c[f>>2]|0;e=b+377216|0;g=c[e>>2]|0;if((h|0)!=(g|0)){do{i=c[g-4>>2]|0;if((i|0)!=0){Je(i);Pu(i);g=c[e>>2]|0;h=c[f>>2]|0}i=g-4|0;g=g+(~((i+(-i|0)|0)>>>2)<<2)|0;c[e>>2]=g;}while((h|0)!=(g|0))}e=c[d>>2]|0;if((e|0)<=0){return}Hk(b+375396|0,e)|0;c[d>>2]=e;return}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;dv(d+48|0,0,2064)|0;c[d+18532>>2]=-1;c[d+18536>>2]=-1;b=c[d+18596>>2]|0;e=c[(c[d+18600>>2]|0)+16>>2]|0;if((e|0)<=0){return}h=c[(c[b+10284>>2]|0)+((c[(c[b+10272>>2]|0)+(e<<2)>>2]|0)-1<<2)>>2]|0;e=c[b+5820>>2]|0;f=c[b+5804>>2]|0;i=(((h|0)%(e|0)|0)+1<<f)-1|0;f=(((h|0)/(e|0)|0)+1<<f)-1|0;e=(c[b+1248>>2]|0)-1|0;h=(c[b+1252>>2]|0)-1|0;g=c[b+10368>>2]|0;e=((e|0)<(i|0)?e:i)>>g;f=((h|0)<(f|0)?h:f)>>g;if(!((e|0)>-1)){ec(14528,14272,118,17304)}g=c[b+10372>>2]|0;if((e|0)>=(g|0)){ec(14528,14272,118,17304)}if(!((f|0)>-1)){ec(13968,14272,119,17304)}if((f|0)>=(c[b+10376>>2]|0)){ec(13968,14272,119,17304)}i=(ga(g,f)|0)+e|0;c[d+18528>>2]=a[(c[b+10360>>2]|0)+(i*3|0)+2|0]|0;return}function Re(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+656|0;h=e|0;k=h;f=h+592|0;c[f>>2]=0;g=h+596|0;c[g>>2]=0;c[h+600>>2]=0;j=h+628|0;dv(j|0,0,24)|0;d=_k(h,b+4|0,d)|0;if((d|0)==0){d=c[b+520>>2]|0;if((d|0)>-1){cl(h,d)}d=c[h>>2]|0;l=b+600+(d*656|0)|0;cv(l|0,k|0,592)|0;if((l|0)==(h|0)){cv(b+600+(d*656|0)+604|0,h+604|0,24)|0}else{Cf(b+600+(d*656|0)+592|0,c[f>>2]|0,c[g>>2]|0);cv(b+600+(d*656|0)+604|0,h+604|0,24)|0;Bf(b+600+(d*656|0)+628|0,c[j>>2]|0,c[h+632>>2]|0);Af(b+600+(d*656|0)+640|0,c[h+640>>2]|0,c[h+644>>2]|0)}a[b+600+(d*656|0)+652|0]=a[h+652|0]|0;d=0}b=c[h+640>>2]|0;if((b|0)!=0){k=h+644|0;if((c[k>>2]|0)!=(b|0)){c[k>>2]=b}Pu(b)}j=c[j>>2]|0;if((j|0)!=0){b=h+632|0;h=c[b>>2]|0;if((h|0)!=(j|0)){c[b>>2]=h+(~((h-2+(-j|0)|0)>>>1)<<1)}Pu(j)}h=c[f>>2]|0;if((h|0)==0){i=e;return d|0}j=c[g>>2]|0;if((j|0)!=(h|0)){do{j=j-12|0;c[g>>2]=j;b=c[j>>2]|0;if((b|0)!=0){Pu(b);j=c[g>>2]|0}}while((j|0)!=(h|0));h=c[f>>2]|0}Pu(h);i=e;return d|0}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+4400|0;e=f|0;jj(e);d=mj(e,d,b)|0;g=c[b+524>>2]|0;if((g|0)>-1){oj(e,g)}if(!d){g=d?0:1006;kj(e);i=f;return g|0}g=a[e+1|0]|0;h=b+93784+(g*4400|0)|0;cv(h|0,e|0,4340)|0;if((h|0)==(e|0)){h=d?0:1006;kj(e);i=f;return h|0}tf(b+93784+(g*4400|0)+4340|0,c[e+4340>>2]|0,c[e+4344>>2]|0);tf(b+93784+(g*4400|0)+4352|0,c[e+4352>>2]|0,c[e+4356>>2]|0);tf(b+93784+(g*4400|0)+4364|0,c[e+4364>>2]|0,c[e+4368>>2]|0);tf(b+93784+(g*4400|0)+4376|0,c[e+4376>>2]|0,c[e+4380>>2]|0);tf(b+93784+(g*4400|0)+4388|0,c[e+4388>>2]|0,c[e+4392>>2]|0);h=d?0:1006;kj(e);i=f;return h|0}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+80|0;f=e|0;g=f;h=a+375388|0;b=Fj(b,f,d,c[h>>2]|0)|0;do{if((b|0)==0){Gj(f,c[h>>2]|0);h=c[a+377216>>2]|0;if((c[a+377212>>2]|0)==(h|0)|d^1){break}h=c[h-4>>2]|0;a=h+10648|0;d=c[a>>2]|0;if((d|0)==(c[h+10652>>2]|0)){xf(h+10644|0,f);break}if((d|0)==0){f=0}else{cv(d|0,g|0,80)|0;f=c[a>>2]|0}c[a>>2]=f+80}else{f=a+84|0;g=c[f>>2]|0;if((g|0)==20){c[a+80>>2]=1001;break}else{c[f>>2]=g+1;c[a+4+(g<<2)>>2]=b;break}}}while(0);i=e;return b|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a:do{if(d){e=a+164|0;d=c[e>>2]|0;do{if((d|0)>0){f=0;while(1){g=f+1|0;if((c[a+84+(f<<2)>>2]|0)==(b|0)){f=10;break}if((g|0)<(d|0)){f=g}else{f=5;break}}if((f|0)==5){if((d|0)<20){break}else{break a}}else if((f|0)==10){return}}}while(0);c[e>>2]=d+1;c[a+84+(d<<2)>>2]=b}}while(0);e=a+80|0;d=c[e>>2]|0;if((d|0)==20){c[a+76>>2]=1001;return}else{c[e>>2]=d+1;c[a+(d<<2)>>2]=b;return}}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+48|0;p=g|0;s=g+8|0;h=g+16|0;n=g+24|0;l=g+32|0;k=g+40|0;j=Nu(1356)|0;m=j;If(m);o=Kj(m,d,b,s)|0;c[h>>2]=o;if((a[s]|0)==0){h=c[b+376220>>2]|0;if((h|0)!=0){a[h+10516|0]=2}Vi(b+548|0,e);if((j|0)==0){s=o;i=g;return s|0}k=c[j+1344>>2]|0;if((k|0)!=0){h=j+1348|0;b=c[h>>2]|0;if((b|0)!=(k|0)){c[h>>2]=b+(~((b-4+(-k|0)|0)>>>2)<<2)}Pu(k)}Ed(j+1332|0);h=c[j+776>>2]|0;if((h|0)!=0){b=j+780|0;k=c[b>>2]|0;if((k|0)!=(h|0)){c[b>>2]=k+(~((k-4+(-h|0)|0)>>>2)<<2)}Pu(h)}Pu(j);s=o;i=g;return s|0}o=c[b+528>>2]|0;if((o|0)>-1){Lj(m,b,o)}r=e+8|0;r=We(b,b,m,h,c[r>>2]|0,c[r+4>>2]|0,f,c[e+16>>2]|0)|0;o=b+376220|0;s=c[o>>2]|0;if(!r){if((s|0)!=0){a[s+10516|0]=2}Vi(b+548|0,e);if((j|0)!=0){b=c[j+1344>>2]|0;if((b|0)!=0){k=j+1348|0;l=c[k>>2]|0;if((l|0)!=(b|0)){c[k>>2]=l+(~((l-4+(-b|0)|0)>>>2)<<2)}Pu(b)}Ed(j+1332|0);b=c[j+776>>2]|0;if((b|0)!=0){k=j+780|0;l=c[k>>2]|0;if((l|0)!=(b|0)){c[k>>2]=l+(~((l-4+(-b|0)|0)>>>2)<<2)}Pu(b)}Pu(j)}s=c[h>>2]|0;i=g;return s|0}c[p>>2]=m;q=s+48|0;f=s+52|0;r=c[f>>2]|0;c[j>>2]=r-(c[q>>2]|0)>>2;if((r|0)==(c[s+56>>2]|0)){Hf(q,p)}else{if((r|0)==0){p=0}else{c[r>>2]=m;p=c[f>>2]|0}c[f>>2]=p+4}od(d,1);pd(d);f=(c[d>>2]|0)-(c[e+20>>2]|0)|0;q=j+768|0;if((c[q>>2]|0)>0){r=j+776|0;s=0;p=c[r>>2]|0;do{u=Qi(e,c[p+(s<<2)>>2]|0,f)|0;p=c[r>>2]|0;t=p+(s<<2)|0;c[t>>2]=(c[t>>2]|0)-u;s=s+1|0;}while((s|0)<(c[q>>2]|0))}do{if((a[j+4|0]|0)==0){n=b+377216|0}else{j=Nu(10688)|0;Oh(j+8|0);p=j;dv(j+10632|0,0,56)|0;c[n>>2]=p;c[j>>2]=c[o>>2];j=b+377216|0;o=c[j>>2]|0;if((o|0)==(c[b+377220>>2]|0)){wf(b+377212|0,n);n=j;break}if((o|0)==0){n=0}else{c[o>>2]=p;n=c[j>>2]|0}c[j>>2]=n+4;n=j}}while(0);do{if((c[b+377212>>2]|0)!=(c[n>>2]|0)){u=Nu(144)|0;t=u;c[t>>2]=0;c[u+4>>2]=0;c[u+32>>2]=0;a[u+36|0]=0;Bk(u+44|0);j=u;c[u+120>>2]=0;c[u+124>>2]=-1;c[u+128>>2]=-1;c[u+132>>2]=0;c[u+140>>2]=b;c[u+40>>2]=0;c[u+136>>2]=0;c[l>>2]=j;c[t>>2]=e;c[u+4>>2]=m;m=u+8|0;e=d;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[m+16>>2]=c[e+16>>2];c[m+20>>2]=c[e+20>>2];a[u+36|0]=a[b+377224|0]|0;m=c[(c[n>>2]|0)-4>>2]|0;e=m+10636|0;d=c[e>>2]|0;if((d|0)==(c[m+10640>>2]|0)){vf(m+10632|0,l);break}if((d|0)==0){j=0}else{c[d>>2]=j;j=c[e>>2]|0}c[e>>2]=j+4}}while(0);u=Xe(b,k)|0;c[h>>2]=u;u=0;i=g;return u|0}function We(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;c[f>>2]=0;a[b+377224|0]=0;p=c[e+8>>2]|0;n=d+93784+(p*4400|0)|0;if((a[n|0]|0)==0){Yk(1,344,(r=i,i=i+8|0,c[r>>2]=p,r)|0);i=r;ec(11704,14344,1987,17600);return 0}o=d+375392|0;c[o>>2]=n;n=a[d+93784+(p*4400|0)+2|0]|0;q=d+375388|0;c[q>>2]=d+11096+(n*5168|0);p=d+375384|0;c[p>>2]=d+600+((a[d+11096+(n*5168|0)+1|0]|0)*656|0);hf(b);n=e+4|0;do{if((a[n]|0)==0){if((c[d+376220>>2]|0)==0){e=0}else{break}i=l;return e|0}else{c[d+376200>>2]=c[e+28>>2];r=c[q>>2]|0;if((a[r+4703|0]|0)==0){q=1}else{q=(a[d+533|0]|0)!=0}g=Ch(d+376144|0,r,b,g,h,k,q)|0;if((g|0)==-1){c[f>>2]=9;r=0;i=l;return r|0}f=c[d+376152>>2]|0;if((c[d+376156>>2]|0)-f>>2>>>0>g>>>0){f=c[f+(g<<2)>>2]|0}else{f=0}r=f+10518|0;j=j|0;a[r]=a[j]|0;a[r+1|0]=a[j+1|0]|0;a[r+2|0]=a[j+2|0]|0;j=d+376220|0;c[j>>2]=f;r=f+108|0;p=c[p>>2]|0;cv(r|0,p|0,592)|0;if((r|0)==(p|0)){cv(f+712|0,f+712|0,24)|0}else{Cf(f+700|0,c[p+592>>2]|0,c[p+596>>2]|0);cv(f+712|0,p+604|0,24)|0;Bf(f+736|0,c[p+628>>2]|0,c[p+632>>2]|0);Af(f+748|0,c[p+640>>2]|0,c[p+644>>2]|0)}a[f+760|0]=a[p+652|0]|0;r=f+5932|0;o=c[o>>2]|0;cv(r|0,o|0,4340)|0;if((r|0)!=(o|0)){tf(f+10272|0,c[o+4340>>2]|0,c[o+4344>>2]|0);tf(f+10284|0,c[o+4352>>2]|0,c[o+4356>>2]|0);tf(f+10296|0,c[o+4364>>2]|0,c[o+4368>>2]|0);tf(f+10308|0,c[o+4376>>2]|0,c[o+4380>>2]|0);tf(f+10320|0,c[o+4388>>2]|0,c[o+4392>>2]|0)}c[f+10332>>2]=d;$h(f);o=d+377208|0;a:do{if(Ni(a[o]|0)|0){do{if(!(Ki(a[o]|0)|0)){if(Li(a[o]|0)|0){break}if((a[d+376204|0]|0)!=0){break}if((a[d+376207|0]|0)!=0){break}a[d+376205|0]=0;a[d+376206|0]=0;break a}}while(0);a[d+376205|0]=1;a[d+376207|0]=0}}while(0);do{if(Mi(a[o]|0)|0){if((a[d+376205|0]|0)==0){m=25;break}a[(c[j>>2]|0)+100|0]=0}else{m=25}}while(0);if((m|0)==25){a[(c[j>>2]|0)+100|0]=(a[e+24|0]|0)!=0|0}df(b,d,e);m=f+96|0;if((a[n]|0)!=0){c[m>>2]=1;ff(b,d,e)}c[m>>2]=1;Wk(c[(c[j>>2]|0)+92>>2]|0);a[b+376204|0]=0}}while(0);do{if((c[e+20>>2]|0)>>>0<2>>>0){if(gf(0,d,e)|0){break}else{e=0}i=l;return e|0}}while(0);uh(d+376144|0);if((a[e+12|0]|0)==0){c[e+800>>2]=c[e+16>>2];d=d+376224|0}else{d=d+376224|0;c[e+800>>2]=c[(c[d>>2]|0)+800>>2]}c[d>>2]=e;r=1;i=l;return r|0}function Xe(b,d){b=b|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;a[d]=0;f=b+377212|0;g=c[f>>2]|0;e=b+377216|0;i=c[e>>2]|0;if((g|0)==(i|0)){n=0;return n|0}j=c[g>>2]|0;l=c[j+10636>>2]|0;k=c[j+10632>>2]|0;a:do{if((l|0)==(k|0)){k=g}else{l=l-k>>2;n=0;while(1){m=c[k+(n<<2)>>2]|0;n=n+1|0;if((c[m+40>>2]|0)==0){break}if(!(n>>>0<l>>>0)){k=g;break a}}if((m|0)==0){k=g;break}if((a[m+36|0]|0)!=0){Ah(b+376144|0)|0}a[d]=1;g=Ye(b,j,m)|0;if((g|0)==0){i=c[e>>2]|0;k=c[f>>2]|0;break}else{n=g;return n|0}}}while(0);do{if(i-k>>2>>>0>1>>>0){g=c[k>>2]|0;j=c[g+10636>>2]|0;if((j|0)==(c[g+10632>>2]|0)){break}if((c[(c[j-4>>2]|0)+40>>2]|0)==0){h=14}}else{h=14}}while(0);do{if((h|0)==14){if((i|0)==(k|0)){n=0;return n|0}g=c[k>>2]|0;h=c[g+10636>>2]|0;do{if((h|0)!=(c[g+10632>>2]|0)){if((c[(c[h-4>>2]|0)+40>>2]|0)==0){e=0}else{break}return e|0}}while(0);if(((c[b+556>>2]|0)!=0|0)!=(-(c[b+580>>2]|0)|0)){n=0;return n|0}if((a[b+548|0]|0)!=0){break}if((a[b+549|0]|0)==0){e=0}else{break}return e|0}}while(0);a[d]=1;h=g|0;d=c[h>>2]|0;i=d+10344|0;if((c[i>>2]|0)>0){j=d+10524|0;d=0;do{Ek((c[j>>2]|0)+(d*76|0)|0,1);d=d+1|0;}while((d|0)<(c[i>>2]|0));d=c[h>>2]|0}k=d+10332|0;j=c[k>>2]|0;i=(a[j+532|0]|0)==0;do{if((c[(c[(c[b+376220>>2]|0)+10332>>2]|0)+375888>>2]|0)==0){if(i){De(d);j=c[k>>2]|0}if((a[j+533|0]|0)!=0){break}uj(d)}else{if(i){Ce(g);i=3;j=c[k>>2]|0}else{i=1}if((a[j+533|0]|0)==0){wj(g,i)|0}_h(d)}}while(0);i=g+10648|0;d=g+10644|0;k=c[d>>2]|0;b:do{if((c[i>>2]|0)==(k|0)){h=38}else{j=0;while(1){k=Hj(k+(j*80|0)|0,c[h>>2]|0)|0;j=j+1|0;if((k|0)!=0){break}k=c[d>>2]|0;if(!(j>>>0<(((c[i>>2]|0)-k|0)/80|0)>>>0)){h=38;break b}}Ze(b,g)|0;b=k;h=39}}while(0);if((h|0)==38){Ze(b,g)|0;if((g|0)==0){b=0}else{b=0;h=39}}if((h|0)==39){Je(g);Pu(g)}d=c[e>>2]|0;g=c[f>>2]|0;if(d-g>>2>>>0>1>>>0){h=1;do{c[g+(h-1<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0;d=c[e>>2]|0;g=c[f>>2]|0;}while(h>>>0<d-g>>2>>>0)}n=d-4|0;c[e>>2]=d+(~((n+(-n|0)|0)>>>2)<<2);n=b;return n|0}function Ye(b,d,e){b=b|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,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=e+4|0;h=c[f>>2]|0;p=h+1348|0;h=h+1344|0;q=c[h>>2]|0;if((c[p>>2]|0)!=(q|0)){n=b+376144|0;o=b+376152|0;j=0;do{q=yh(n,c[q+(j<<2)>>2]|0)|0;if((q|0)>-1){c[(c[(c[o>>2]|0)+(q<<2)>>2]|0)+96>>2]=0}j=j+1|0;q=c[h>>2]|0;}while(j>>>0<(c[p>>2]|0)-q>>2>>>0)}h=d|0;r=c[h>>2]|0;j=e+40|0;c[j>>2]=1;n=c[r+10332>>2]|0;a:do{if((c[n+375888>>2]|0)>0){v=a[r+5965|0]|0;q=v<<24>>24!=0;p=(a[r+5966|0]|0)!=0;if(!(v<<24>>24==0)){break}if((a[r+5966|0]|0)!=0){break}t=n+168|0;u=c[t>>2]|0;if((u|0)>0){s=0;while(1){o=s+1|0;if((c[n+88+(s<<2)>>2]|0)==1e3){break a}if((o|0)<(u|0)){s=o}else{break}}if((u|0)<20){k=13}}else{k=13}if((k|0)==13){c[t>>2]=u+1;c[n+88+(u<<2)>>2]=1e3}o=n+84|0;s=c[o>>2]|0;if((s|0)==20){c[n+80>>2]=1001;break}else{c[o>>2]=s+1;c[n+4+(s<<2)>>2]=1e3;break}}else{q=0;p=0}}while(0);n=d+10636|0;t=c[n>>2]|0;o=d+10632|0;u=c[o>>2]|0;do{if((t|0)==(u|0)){s=t;r=t}else{if((c[u>>2]|0)!=(e|0)){s=t;r=u;break}s=c[(c[f>>2]|0)+16>>2]|0;if((s|0)<=0){s=t;r=u;break}r=r+10524|0;t=0;do{Ek((c[r>>2]|0)+(t*76|0)|0,1);t=t+1|0;}while((t|0)<(s|0));s=c[n>>2]|0;r=c[o>>2]|0}}while(0);t=s-r>>2;b:do{if(t>>>0>1>>>0){s=1;while(1){u=s+1|0;if((c[r+(s<<2)>>2]|0)==(e|0)){break}if(u>>>0<t>>>0){s=u}else{break b}}s=c[r+(s-1<<2)>>2]|0;if((s|0)==0){break}if((c[s+40>>2]|0)!=2){break}t=t-1|0;u=0;while(1){if(!(u>>>0<t>>>0)){break b}v=u+1|0;if((c[r+(u<<2)>>2]|0)==(s|0)){break}else{u=v}}r=c[r+(v<<2)>>2]|0;if((r|0)==0){break}t=c[(c[s+4>>2]|0)+16>>2]|0;r=r+4|0;if((t|0)>=(c[(c[r>>2]|0)+16>>2]|0)){break}do{s=c[h>>2]|0;if((t|0)>=(c[s+10344>>2]|0)){break b}Ek((c[s+10524>>2]|0)+(t*76|0)|0,1);t=t+1|0;}while((t|0)<(c[(c[r>>2]|0)+16>>2]|0))}}while(0);if(!(q|p)){r=_e(b,d,e)|0;c[j>>2]=2;s=c[o>>2]|0;t=((c[n>>2]|0)-s>>2)-1|0;u=0;while(1){if(!(u>>>0<t>>>0)){l=r;k=61;break}m=u+1|0;if((c[s+(u<<2)>>2]|0)==(e|0)){break}else{u=m}}if((k|0)==61){return l|0}k=c[s+(m<<2)>>2]|0;if((k|0)==0){v=r;return v|0}l=c[(c[f>>2]|0)+16>>2]|0;k=k+4|0;if((l|0)>=(c[(c[k>>2]|0)+16>>2]|0)){v=r;return v|0}while(1){m=c[h>>2]|0;if((l|0)>=(c[m+10344>>2]|0)){l=r;k=61;break}Ek((c[m+10524>>2]|0)+(l*76|0)|0,1);l=l+1|0;if((l|0)>=(c[(c[k>>2]|0)+16>>2]|0)){l=r;k=61;break}}if((k|0)==61){return l|0}}if(q&p){v=1006;return v|0}if(q){$e(b,d,e)|0;c[j>>2]=2;q=c[o>>2]|0;m=((c[n>>2]|0)-q>>2)-1|0;r=0;while(1){if(!(r>>>0<m>>>0)){l=0;k=61;break}i=r+1|0;if((c[q+(r<<2)>>2]|0)==(e|0)){break}else{r=i}}if((k|0)==61){return l|0}i=c[q+(i<<2)>>2]|0;if((i|0)==0){v=0;return v|0}k=c[(c[f>>2]|0)+16>>2]|0;i=i+4|0;if((k|0)>=(c[(c[i>>2]|0)+16>>2]|0)){v=0;return v|0}while(1){l=c[h>>2]|0;if((k|0)>=(c[l+10344>>2]|0)){l=0;k=61;break}Ek((c[l+10524>>2]|0)+(k*76|0)|0,1);k=k+1|0;if((k|0)>=(c[(c[i>>2]|0)+16>>2]|0)){l=0;k=61;break}}if((k|0)==61){return l|0}}if(!p){ec(11704,14344,971,17632);return 0}b=af(b,d,e)|0;c[j>>2]=2;d=c[o>>2]|0;i=((c[n>>2]|0)-d>>2)-1|0;j=0;while(1){if(!(j>>>0<i>>>0)){l=b;k=61;break}g=j+1|0;if((c[d+(j<<2)>>2]|0)==(e|0)){break}else{j=g}}if((k|0)==61){return l|0}e=c[d+(g<<2)>>2]|0;if((e|0)==0){v=b;return v|0}g=c[(c[f>>2]|0)+16>>2]|0;f=e+4|0;if((g|0)>=(c[(c[f>>2]|0)+16>>2]|0)){v=b;return v|0}while(1){e=c[h>>2]|0;if((g|0)>=(c[e+10344>>2]|0)){l=b;k=61;break}Ek((c[e+10524>>2]|0)+(g*76|0)|0,1);g=g+1|0;if((g|0)>=(c[(c[f>>2]|0)+16>>2]|0)){l=b;k=61;break}}if((k|0)==61){return l|0}return 0}function Ze(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+8|0;f=e|0;d=c[d>>2]|0;if((d|0)==0){i=e;return 0}do{if((a[d+100|0]|0)!=0){if((a[d+10516|0]|0)!=0){if((a[b+514|0]|0)!=0){break}}c[f>>2]=d;g=b+376168|0;h=c[g>>2]|0;if((h|0)==(c[b+376172>>2]|0)){yf(b+376164|0,f);break}if((h|0)==0){f=0}else{c[h>>2]=d;f=c[g>>2]|0}c[g>>2]=f+4}}while(0);f=b+376144|0;if(((c[b+376168>>2]|0)-(c[b+376164>>2]|0)>>2|0)>(c[d+596+(((c[d+116>>2]|0)-1|0)*12|0)+4>>2]|0)){zh(f)}Eh(f);i=e;return 0}function _e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+18624|0;g=f|0;h=e+4|0;l=c[h>>2]|0;j=l+1348|0;k=l+1344|0;o=c[k>>2]|0;if((c[j>>2]|0)!=(o|0)){m=b+376144|0;l=b+376152|0;n=0;do{o=yh(m,c[o+(n<<2)>>2]|0)|0;if((o|0)>-1){c[(c[(c[l>>2]|0)+(o<<2)>>2]|0)+96>>2]=0}n=n+1|0;o=c[k>>2]|0;}while(n>>>0<(c[j>>2]|0)-o>>2>>>0);l=c[h>>2]|0}k=d|0;o=c[k>>2]|0;if(!((c[l+16>>2]|0)>>>0<(c[o+10276>>2]|0)-(c[o+10272>>2]|0)>>2>>>0)){o=6;i=f;return o|0}j=g+18580|0;Cd(j);n=g+18592|0;o=g+48|0;dv(g+18508|0,0,20)|0;dv(n|0,0,16)|0;c[g+2112>>2]=o;dv(o|0,0,2048)|0;o=c[h>>2]|0;c[g+18600>>2]=o;k=c[k>>2]|0;c[g+18596>>2]=k;c[n>>2]=b;c[g+18604>>2]=d;c[g+18608>>2]=e;c[g+4>>2]=c[(c[k+10272>>2]|0)+(c[o+16>>2]<<2)>>2];c[g+18612>>2]=0;Qe(0,g);k=c[e+12>>2]|0;if((k|0)<1){e=17}else{sd(g+18556|0,c[e+8>>2]|0,k);do{if((a[b+93817|0]|0)!=0){if((a[(c[h>>2]|0)+4|0]|0)==0){break}h=d+10676|0;b=(c[(c[b+376220>>2]|0)+5828>>2]|0)-1|0;d=d+10680|0;k=c[d>>2]|0;m=c[h>>2]|0;l=k-m>>3;if(l>>>0<b>>>0){uf(h,b-l|0);break}if(!(l>>>0>b>>>0)){break}b=m+(b<<3)|0;if((k|0)==(b|0)){break}do{o=k-8|0;c[d>>2]=o;Ed(o);k=c[d>>2]|0;}while((k|0)!=(b|0))}}while(0);c[e+120>>2]=1;o=dk(g)|0;Ek(e+44|0,1);e=o}Ed(j);o=e;i=f;return o|0}function $e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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,A=0,B=0,C=0,D=0;f=i;i=i+8|0;m=f|0;l=c[d>>2]|0;h=c[e+4>>2]|0;g=c[h+768>>2]|0;k=g+1|0;j=c[l+5820>>2]|0;if((c[l+10536>>2]|0)!=(-(c[l+10532>>2]|0)|0)){ec(8488,14344,989,17688);return 0}do{if((a[h+4|0]|0)!=0){s=d+10676|0;r=(c[l+5828>>2]|0)-1|0;n=d+10680|0;o=c[n>>2]|0;p=c[s>>2]|0;q=o-p>>3;if(q>>>0<r>>>0){uf(s,r-q|0);break}if(!(q>>>0>r>>>0)){break}p=p+(r<<3)|0;if((o|0)==(p|0)){break}do{D=o-8|0;c[n>>2]=D;Ed(D);o=c[n>>2]|0;}while((o|0)!=(p|0))}}while(0);Ie(e,k);x=c[h+16>>2]|0;v=(x|0)/(j|0)|0;a:do{if((g|0)>-1){n=e+136|0;q=e+132|0;p=l+10332|0;o=l+10272|0;r=e+12|0;t=e+8|0;s=e+120|0;b=b+375396|0;u=h+776|0;if((g|0)>0){w=0}else{w=0;while(1){if((w|0)>0){x=v+1|0;v=x;x=ga(x,j)|0}if((c[n>>2]|0)<=(w|0)){break}z=c[q>>2]|0;C=z+(w*18624|0)|0;c[z+(w*18624|0)+18600>>2]=h;c[z+(w*18624|0)+18592>>2]=c[p>>2];c[z+(w*18624|0)+18596>>2]=l;y=z+(w*18624|0)+18604|0;c[y>>2]=d;c[z+(w*18624|0)+18608>>2]=e;c[z+(w*18624|0)+4>>2]=c[(c[o>>2]|0)+(x<<2)>>2];Qe(0,C);B=(w|0)==0;if(B){A=0}else{A=c[(c[u>>2]|0)+(w-1<<2)>>2]|0}if((w|0)==(g|0)){D=r}else{D=(c[u>>2]|0)+(w<<2)|0}D=c[D>>2]|0;if((A|0)<0){break a}if(!((D|0)<=(c[r>>2]|0)&(D|0)>(A|0))){break a}sd(z+(w*18624|0)+18556|0,(c[t>>2]|0)+A|0,D-A|0);Vh(l,1);c[s>>2]=(c[s>>2]|0)+1;A=Nu(20)|0;c[A+4>>2]=0;c[A>>2]=22248;a[A+8|0]=B&1;c[A+16>>2]=C;c[A+12>>2]=v;c[z+(w*18624|0)+18612>>2]=A;Kk(b,A);B=c[y>>2]|0;c[m>>2]=A;y=B+10668|0;z=c[y>>2]|0;if(z>>>0<(c[B+10672>>2]|0)>>>0){if((z|0)==0){z=0}else{c[z>>2]=A;z=c[y>>2]|0}c[y>>2]=z+4}else{He(B+10664|0,m)}w=w+1|0;if((w|0)>=(k|0)){break a}}ec(15880,15472,170,17840);return 0}while(1){if((w|0)>0){x=v+1|0;v=x;x=ga(x,j)|0}else{if(((x|0)%(j|0)|0|0)!=0){break a}}if((c[n>>2]|0)<=(w|0)){break}z=c[q>>2]|0;B=z+(w*18624|0)|0;c[z+(w*18624|0)+18600>>2]=h;c[z+(w*18624|0)+18592>>2]=c[p>>2];c[z+(w*18624|0)+18596>>2]=l;y=z+(w*18624|0)+18604|0;c[y>>2]=d;c[z+(w*18624|0)+18608>>2]=e;c[z+(w*18624|0)+4>>2]=c[(c[o>>2]|0)+(x<<2)>>2];Qe(0,B);A=(w|0)==0;if(A){C=0}else{C=c[(c[u>>2]|0)+(w-1<<2)>>2]|0}if((w|0)==(g|0)){D=r}else{D=(c[u>>2]|0)+(w<<2)|0}D=c[D>>2]|0;if((C|0)<0){break a}if(!((D|0)<=(c[r>>2]|0)&(D|0)>(C|0))){break a}sd(z+(w*18624|0)+18556|0,(c[t>>2]|0)+C|0,D-C|0);Vh(l,1);c[s>>2]=(c[s>>2]|0)+1;D=Nu(20)|0;c[D+4>>2]=0;c[D>>2]=22248;a[D+8|0]=A&1;c[D+16>>2]=B;c[D+12>>2]=v;A=D;c[z+(w*18624|0)+18612>>2]=A;Kk(b,A);B=c[y>>2]|0;c[m>>2]=A;y=B+10668|0;z=c[y>>2]|0;if(z>>>0<(c[B+10672>>2]|0)>>>0){if((z|0)==0){z=0}else{c[z>>2]=A;z=c[y>>2]|0}c[y>>2]=z+4}else{He(B+10664|0,m)}w=w+1|0;if((w|0)>=(k|0)){break a}}ec(15880,15472,170,17840);return 0}}while(0);_h(l);g=d+10668|0;k=c[g>>2]|0;d=d+10664|0;j=c[d>>2]|0;if((k|0)==(j|0)){i=f;return 0}else{h=0}do{e=c[j+(h<<2)>>2]|0;if((e|0)!=0){Dc[c[(c[e>>2]|0)+4>>2]&511](e);k=c[g>>2]|0;j=c[d>>2]|0}h=h+1|0;e=j;}while(h>>>0<k-e>>2>>>0);if((k|0)==(j|0)){i=f;return 0}c[g>>2]=k+(~((k-4+(-e|0)|0)>>>2)<<2);i=f;return 0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0;f=i;i=i+8|0;m=f|0;g=c[d>>2]|0;j=c[e+4>>2]|0;h=c[j+768>>2]|0;k=h+1|0;o=c[g+5820>>2]|0;if((c[g+10536>>2]|0)!=(-(c[g+10532>>2]|0)|0)){ec(8488,14344,1103,17664);return 0}Ie(e,k);y=c[j+16>>2]|0;a:do{if((h|0)>-1){l=g+5968|0;n=g+5972|0;p=e+136|0;s=e+132|0;r=g+10332|0;q=g+10272|0;v=e+12|0;t=e+8|0;u=e+120|0;b=b+375396|0;w=j+776|0;x=0;z=c[(c[g+10308>>2]|0)+(y<<2)>>2]|0;while(1){if((x|0)>0){z=z+1|0;y=c[l>>2]|0;if((z|0)>=(ga(c[n>>2]|0,y)|0)){h=1007;break a}y=(ga(c[g+10228+(((z|0)/(y|0)|0)<<2)>>2]|0,o)|0)+(c[g+10184+(((z|0)%(y|0)|0)<<2)>>2]|0)|0}if((c[p>>2]|0)<=(x|0)){break}B=c[s>>2]|0;E=B+(x*18624|0)|0;c[B+(x*18624|0)+18600>>2]=j;c[B+(x*18624|0)+18592>>2]=c[r>>2];c[B+(x*18624|0)+18596>>2]=g;A=B+(x*18624|0)+18604|0;c[A>>2]=d;c[B+(x*18624|0)+18608>>2]=e;c[B+(x*18624|0)+4>>2]=c[(c[q>>2]|0)+(y<<2)>>2];Qe(0,E);C=(x|0)==0;if(C){D=0}else{D=c[(c[w>>2]|0)+(x-1<<2)>>2]|0}if((x|0)==(h|0)){F=v}else{F=(c[w>>2]|0)+(x<<2)|0}F=c[F>>2]|0;if((D|0)<0){h=17;break a}if(!((F|0)<=(c[v>>2]|0)&(F|0)>(D|0))){h=17;break a}sd(B+(x*18624|0)+18556|0,(c[t>>2]|0)+D|0,F-D|0);Vh(g,1);c[u>>2]=(c[u>>2]|0)+1;D=Nu(24)|0;c[D+4>>2]=0;c[D>>2]=22216;a[D+8|0]=C&1;c[D+20>>2]=E;c[D+12>>2]=(y|0)%(o|0)|0;c[D+16>>2]=(y|0)/(o|0)|0;C=D;c[B+(x*18624|0)+18612>>2]=C;Kk(b,C);B=c[A>>2]|0;c[m>>2]=C;A=B+10668|0;D=c[A>>2]|0;if(D>>>0<(c[B+10672>>2]|0)>>>0){if((D|0)==0){B=0}else{c[D>>2]=C;B=c[A>>2]|0}c[A>>2]=B+4}else{He(B+10664|0,m)}x=x+1|0;if((x|0)>=(k|0)){h=0;break a}}ec(15880,15472,170,17840);return 0}else{h=0}}while(0);_h(g);g=d+10668|0;l=c[g>>2]|0;d=d+10664|0;k=c[d>>2]|0;if((l|0)==(k|0)){i=f;return h|0}else{j=0}do{e=c[k+(j<<2)>>2]|0;if((e|0)!=0){Dc[c[(c[e>>2]|0)+4>>2]&511](e);l=c[g>>2]|0;k=c[d>>2]|0}j=j+1|0;e=k;}while(j>>>0<l-e>>2>>>0);if((l|0)==(k|0)){i=f;return h|0}c[g>>2]=l+(~((l-4+(-e|0)|0)>>>2)<<2);i=f;return h|0}function bf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+5200|0;f=g|0;h=g+5168|0;j=g+5192|0;md(h,c[e+20>>2]|0,c[e+24>>2]|0);l=j|0;a[l]=0;m=j+1|0;a[m]=0;k=j+2|0;a[k]=0;Ji(j,h);l=a[l]|0;a[b+377208|0]=l;a[b+377209|0]=(l-19&255)>>>0<2>>>0|0;a[b+377210|0]=(l-16&255)>>>0<8>>>0|0;if((a[m]|0)!=0){Vi(b+548|0,e);m=0;i=g;return m|0}if((d[k]|0)>(c[b+375908>>2]|0)){Vi(b+548|0,e);m=0;i=g;return m|0}if((l&255)>>>0<32>>>0){m=Ve(b,h,e,j)|0;i=g;return m|0}switch(l&255|0){case 34:{m=Se(b,h)|0;Vi(b+548|0,e);i=g;return m|0};case 36:{a[b+376207|0]=1;Vi(b+548|0,e);m=0;i=g;return m|0};case 33:{j=f|0;ik(f);h=kk(f,b+4|0,h)|0;if((h|0)==0){h=c[b+516>>2]|0;if((h|0)>-1){pk(f,h)}h=c[f+472>>2]|0;m=b+11096+(h*5168|0)|0;cv(m|0,j|0,4717)|0;if((m|0)!=(f|0)){zf(b+11096+(h*5168|0)+4720|0,c[f+4720>>2]|0,c[f+4724>>2]|0)}cv(b+11096+(h*5168|0)+4732|0,f+4732|0,436)|0;h=0}jk(f);Vi(b+548|0,e);m=h;i=g;return m|0};case 39:case 40:{m=Te(b,h,l<<24>>24==40)|0;Vi(b+548|0,e);i=g;return m|0};case 32:{m=Re(b,h)|0;Vi(b+548|0,e);i=g;return m|0};default:{Vi(b+548|0,e);m=0;i=g;return m|0}}return 0}function cf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+8|0;g=f|0;k=b+548|0;h=b+580|0;j=(c[h>>2]|0)==0;l=a[k|0]|0;do{if(j){if(l<<24>>24==0){if((a[b+549|0]|0)==0){m=8;break}}if((c[b+377212>>2]|0)!=(c[b+377216>>2]|0)){m=7;break}Ah(b+376144|0)|0;if((e|0)==0){m=0;i=f;return m|0}c[e>>2]=c[b+376196>>2];m=0;i=f;return m|0}else{m=7}}while(0);if((m|0)==7){if(l<<24>>24==0){m=8}}do{if((m|0)==8){if((a[b+549|0]|0)!=0|j^1){break}if((e|0)==0){m=13;i=f;return m|0}c[e>>2]=1;m=13;i=f;return m|0}}while(0);if(!(vh(b+376144|0,0)|0)){if((e|0)==0){m=9;i=f;return m|0}c[e>>2]=1;m=9;i=f;return m|0}a[g]=0;do{if((c[h>>2]|0)==0){do{if((a[b+549|0]|0)!=0){if((c[b+377212>>2]|0)!=(c[b+377216>>2]|0)){break}if((e|0)==0){m=13;i=f;return m|0}c[e>>2]=1;m=13;i=f;return m|0}}while(0);b=Xe(b,g)|0}else{h=Ui(k)|0;if((h|0)==0){ec(6136,14344,1314,17512);return 0}else{b=bf(b,h)|0;a[g]=1;break}}}while(0);if((e|0)==0){m=b;i=f;return m|0}if((b|0)==0){g=d[g]|0}else{g=0}c[e>>2]=g;m=b;i=f;return m|0}function df(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+377208|0;do{if(Ni(a[f]|0)|0){if((a[d+376205|0]|0)==0){g=4;break}c[d+376208>>2]=0;a[b+377224|0]=1;b=0;e=e+28|0}else{g=4}}while(0);a:do{if((g|0)==4){b=c[(c[d+375388>>2]|0)+5032>>2]|0;g=e+28|0;e=c[g>>2]|0;h=c[d+376212>>2]|0;do{if((e|0)<(h|0)){if((h-e|0)<((b|0)/2|0|0)){break}b=(c[d+376216>>2]|0)+b|0;c[d+376208>>2]=b;e=g;break a}}while(0);do{if((e|0)>(h|0)){if((e-h|0)<=((b|0)/2|0|0)){break}b=(c[d+376216>>2]|0)-b|0;c[d+376208>>2]=b;e=g;break a}}while(0);b=c[d+376216>>2]|0;c[d+376208>>2]=b;e=g}}while(0);h=c[d+376220>>2]|0;c[h+92>>2]=(c[e>>2]|0)+b;c[h+88>>2]=c[e>>2];if((a[h+10520|0]|0)!=0){return}if(Pi(a[f]|0)|0){return}if(Mi(a[f]|0)|0){return}if(Oi(a[f]|0)|0){return}c[d+376212>>2]=c[e>>2];c[d+376216>>2]=c[d+376208>>2];return}function ef(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=e+376144|0;if(!(vh(i,1)|0)){ec(4312,14344,1433,17520);return 0}b=Ch(i,c[e+375388>>2]|0,b,0,0,0,0)|0;if(!((b|0)>-1)){ec(3080,14344,1436,17520);return 0}i=c[e+376152>>2]|0;if((c[e+376156>>2]|0)-i>>2>>>0>b>>>0){e=c[i+(b<<2)>>2]|0}else{e=0}i=1<<(c[f+5004>>2]|0)-1;Sh(e,1<<(c[f+4996>>2]|0)-1,i,i);i=e+10364|0;if((c[i>>2]|0)<=0){j=e+92|0;c[j>>2]=g;j=f+5032|0;j=c[j>>2]|0;j=j-1|0;j=j&g;k=e+88|0;c[k>>2]=j;k=e+100|0;a[k]=0;j=h?2:1;k=e+96|0;c[k>>2]=j;k=e+10516|0;a[k]=1;return b|0}j=e+10360|0;k=0;do{l=(c[j>>2]|0)+(k*3|0)|0;C=(d[l]|d[l+1|0]<<8)<<16>>16&-769;a[l]=C;C=C>>8;a[l+1|0]=C;k=k+1|0;}while((k|0)<(c[i>>2]|0));k=e+92|0;c[k>>2]=g;k=f+5032|0;k=c[k>>2]|0;k=k-1|0;k=k&g;l=e+88|0;c[l>>2]=k;l=e+100|0;a[l]=0;k=h?2:1;l=e+96|0;c[l>>2]=k;l=e+10516|0;a[l]=1;return b|0}
-
-
-
-function hj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=a[g+2|0]|0;if((a[g+13|0]|0)!=0){j=(qd(e)|0)+2&255;a[b|0]=j}i=(nd(e,1)|0)!=0;a[b+1|0]=i&1;j=f+11096+(h*5168|0)+5012|0;if(!((c[j>>2]|0)==3|i^1)){Ue(f+4|0,1006,0)}k=(nd(e,1)|0)!=0;g=b+2|0;i=k&1;a[g]=i;if(!((c[j>>2]|0)!=0|k^1)){Ue(f+4|0,1006,0);i=a[g]|0}a:do{if(!(i<<24>>24==0)){g=qd(e)|0;do{if(!((g|0)==-99999)){if((g|0)>(c[f+11096+(h*5168|0)+616>>2]|0)){break}a[b+3|0]=g;g=qd(e)|0;if((g|0)==-99999|(g|0)>5){Ue(f+4|0,1006,0);k=0;return k|0}k=g+1|0;g=b+4|0;a[g]=k;if((k&255|0)==0){break a}else{i=0}while(1){j=rd(e)|0;if((j+12|0)>>>0>24>>>0){b=15;break}a[b+5+i|0]=j;j=rd(e)|0;if((j+12|0)>>>0>24>>>0){b=17;break}a[b+11+i|0]=j;i=i+1|0;if((i|0)>=(d[g]|0)){break a}}if((b|0)==15){Ue(f+4|0,1006,0);k=0;return k|0}else if((b|0)==17){Ue(f+4|0,1006,0);k=0;return k|0}}}while(0);Ue(f+4|0,1006,0);k=0;return k|0}}while(0);i=qd(e)|0;do{if(!((i|0)==-99999)){g=(c[f+11096+(h*5168|0)+4996>>2]|0)-10|0;if((i|0)>(((g|0)<0?0:g)|0)){break}a[b+17|0]=i;e=qd(e)|0;do{if(!((e|0)==-99999)){h=(c[f+11096+(h*5168|0)+5004>>2]|0)-10|0;if((e|0)>(((h|0)<0?0:h)|0)){break}a[b+18|0]=e;k=1;return k|0}}while(0);Ue(f+4|0,1006,0);k=0;return k|0}}while(0);Ue(f+4|0,1006,0);k=0;return k|0}function ij(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;if((e|0)==1){e=t}else if((e|0)==2){e=q}else{i=f;return}e=c[e>>2]|0;Zk(e,6144,(h=i,i=i+1|0,i=i+7&-8,c[h>>2]=0,h)|0);i=h;Zk(e,15168,(h=i,i=i+8|0,c[h>>2]=d[b|0]|0,h)|0);i=h;Zk(e,12656,(h=i,i=i+8|0,c[h>>2]=d[b+1|0]|0,h)|0);i=h;h=b+2|0;Zk(e,9712,(g=i,i=i+8|0,c[g>>2]=d[h]|0,g)|0);i=g;do{if((a[h]|0)!=0){Zk(e,6704,(g=i,i=i+8|0,c[g>>2]=d[b+3|0]|0,g)|0);i=g;g=b+4|0;Zk(e,4920,(h=i,i=i+8|0,c[h>>2]=d[g]|0,h)|0);i=h;if((a[g]|0)==0){break}else{h=0}do{j=a[b+5+h|0]|0;Zk(e,3496,(k=i,i=i+16|0,c[k>>2]=h,c[k+8>>2]=j,k)|0);i=k;k=a[b+11+h|0]|0;Zk(e,2176,(j=i,i=i+16|0,c[j>>2]=h,c[j+8>>2]=k,j)|0);i=j;h=h+1|0;}while((h|0)<(d[g]|0))}}while(0);Zk(e,1128,(k=i,i=i+8|0,c[k>>2]=d[b+17|0]|0,k)|0);i=k;Zk(e,448,(k=i,i=i+8|0,c[k>>2]=d[b+18|0]|0,k)|0);i=k;i=f;return}function jj(b){b=b|0;var c=0;a[b+4138|0]=2;a[b+4155|0]=0;a[b+4156|0]=0;c=b+4139|0;C=0;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;dv(b+4340|0,0,60)|0;lj(b,0);return}function kj(a){a=a|0;var b=0,d=0,e=0;e=c[a+4388>>2]|0;if((e|0)!=0){b=a+4392|0;d=c[b>>2]|0;if((d|0)!=(e|0)){c[b>>2]=d+(~((d-4+(-e|0)|0)>>>2)<<2)}Pu(e)}b=c[a+4376>>2]|0;if((b|0)!=0){d=a+4380|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=e+(~((e-4+(-b|0)|0)>>>2)<<2)}Pu(b)}d=c[a+4364>>2]|0;if((d|0)!=0){b=a+4368|0;e=c[b>>2]|0;if((e|0)!=(d|0)){c[b>>2]=e+(~((e-4+(-d|0)|0)>>>2)<<2)}Pu(d)}b=c[a+4352>>2]|0;if((b|0)!=0){d=a+4356|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=e+(~((e-4+(-b|0)|0)>>>2)<<2)}Pu(b)}b=c[a+4340>>2]|0;if((b|0)==0){return}a=a+4344|0;d=c[a>>2]|0;if((d|0)!=(b|0)){c[a>>2]=d+(~((d-4+(-b|0)|0)>>>2)<<2)}Pu(b);return}function lj(b,d){b=b|0;d=d|0;var e=0,f=0;dv(b|0,0,6)|0;a[b+6|0]=1;a[b+7|0]=1;c[b+8>>2]=27;a[b+12|0]=0;a[b+13|0]=0;a[b+14|0]=0;dv(b+16|0,0,19)|0;c[b+36>>2]=1;c[b+40>>2]=1;a[b+44|0]=1;a[b+45|0]=1;a[b+46|0]=1;dv(b+4172|0,0,168)|0;d=c[b+4340>>2]|0;f=b+4344|0;e=c[f>>2]|0;if((e|0)!=(d|0)){c[f>>2]=e+(~((e-4+(-d|0)|0)>>>2)<<2)}e=c[b+4352>>2]|0;d=b+4356|0;f=c[d>>2]|0;if((f|0)!=(e|0)){c[d>>2]=f+(~((f-4+(-e|0)|0)>>>2)<<2)}d=c[b+4364>>2]|0;f=b+4368|0;e=c[f>>2]|0;if((e|0)!=(d|0)){c[f>>2]=e+(~((e-4+(-d|0)|0)>>>2)<<2)}e=c[b+4376>>2]|0;d=b+4380|0;f=c[d>>2]|0;if((f|0)!=(e|0)){c[d>>2]=f+(~((f-4+(-e|0)|0)>>>2)<<2)}e=c[b+4388>>2]|0;d=b+4392|0;f=c[d>>2]|0;if((f|0)==(e|0)){f=b+4160|0;c[f>>2]=0;f=b+47|0;a[f]=0;f=b+48|0;a[f]=0;f=b+49|0;a[f]=0;f=b+52|0;c[f>>2]=0;f=b+56|0;c[f>>2]=0;f=b+60|0;a[f]=0;f=b+4125|0;a[f]=0;f=b+4128|0;c[f>>2]=2;f=b+4132|0;dv(f|0,0,6)|0;return}c[d>>2]=f+(~((f-4+(-e|0)|0)>>>2)<<2);f=b+4160|0;c[f>>2]=0;f=b+47|0;a[f]=0;f=b+48|0;a[f]=0;f=b+49|0;a[f]=0;f=b+52|0;c[f>>2]=0;f=b+56|0;c[f>>2]=0;f=b+60|0;a[f]=0;f=b+4125|0;a[f]=0;f=b+4128|0;c[f>>2]=2;f=b+4132|0;dv(f|0,0,6)|0;return}function mj(b,d,e){b=b|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;lj(b,0);n=qd(d)|0;a[b+1|0]=n;if((n|0)>63|(n|0)==-99999){Ue(e+4|0,1009,0);n=0;return n|0}n=qd(d)|0;f=b+2|0;a[f]=n;if((n|0)>63|(n|0)==-99999){Ue(e+4|0,1010,0);n=0;return n|0}n=(nd(d,1)|0)&255;a[b+3|0]=n;n=(nd(d,1)|0)&255;a[b+31|0]=n;n=(nd(d,3)|0)&255;a[b+4132|0]=n;n=(nd(d,1)|0)&255;a[b+4|0]=n;n=(nd(d,1)|0)&255;a[b+5|0]=n;n=qd(d)|0;g=n&255;h=b+6|0;a[h]=g;if((n|0)==-99999){Ue(e+4|0,1006,0);n=0;return n|0}a[h]=g+1;n=qd(d)|0;g=n&255;h=b+7|0;a[h]=g;if((n|0)==-99999){Ue(e+4|0,1006,0);n=0;return n|0}a[h]=g+1;f=a[f]|0;g=e+11096+(f*5168|0)|0;if((a[g|0]|0)==0){Ue(e+4|0,1010,0);n=0;return n|0}i=rd(d)|0;h=b+8|0;c[h>>2]=i;if((i|0)==-99999){Ue(e+4|0,1006,0);n=0;return n|0}c[h>>2]=i+26;n=(nd(d,1)|0)&255;a[b+12|0]=n;n=(nd(d,1)|0)&255;a[b+13|0]=n;n=(nd(d,1)|0)&255;a[b+14|0]=n;do{if(n<<24>>24==0){c[b+16>>2]=0}else{n=qd(d)|0;c[b+16>>2]=n;if(!((n|0)==-99999)){break}Ue(e+4|0,1006,0);n=0;return n|0}}while(0);n=rd(d)|0;c[b+20>>2]=n;if((n|0)==-99999){Ue(e+4|0,1006,0);n=0;return n|0}n=rd(d)|0;c[b+24>>2]=n;if((n|0)==-99999){Ue(e+4|0,1006,0);n=0;return n|0}m=(nd(d,1)|0)&255;a[b+28|0]=m;m=(nd(d,1)|0)&255;a[b+29|0]=m;m=(nd(d,1)|0)&255;a[b+30|0]=m;m=(nd(d,1)|0)&255;a[b+32|0]=m;m=(nd(d,1)|0)&255;n=b+34|0;a[n]=m;m=(nd(d,1)|0)&255;a[b+33|0]=m;if((a[n]|0)==0){c[b+36>>2]=1;c[b+40>>2]=1;a[b+44|0]=1;a[b+45|0]=0}else{h=qd(d)|0;j=b+36|0;c[j>>2]=h;if((h|0)==-99999|(h|0)>9){Ue(e+4|0,1006,0);n=0;return n|0}c[j>>2]=h+1;i=qd(d)|0;h=b+40|0;c[h>>2]=i;if((i|0)==-99999|(i|0)>9){Ue(e+4|0,1006,0);n=0;return n|0}c[h>>2]=i+1;n=(nd(d,1)|0)&255;a[b+44|0]=n;do{if(n<<24>>24==0){k=c[e+11096+(f*5168|0)+5056>>2]|0;i=c[e+11096+(f*5168|0)+5064>>2]|0;m=(c[j>>2]|0)-1|0;a:do{if((m|0)>0){l=0;while(1){n=qd(d)|0;m=b+4172+(l<<2)|0;c[m>>2]=n;if((n|0)==-99999){break}n=n+1|0;c[m>>2]=n;k=k-n|0;l=l+1|0;m=(c[j>>2]|0)-1|0;if((l|0)>=(m|0)){break a}}Ue(e+4|0,1006,0);n=0;return n|0}}while(0);if((k|0)<1){n=0;return n|0}c[b+4172+(m<<2)>>2]=k;k=(c[h>>2]|0)-1|0;b:do{if((k|0)>0){j=0;while(1){l=qd(d)|0;k=b+4212+(j<<2)|0;c[k>>2]=l;if((l|0)==-99999){break}n=l+1|0;c[k>>2]=n;i=i-n|0;j=j+1|0;k=(c[h>>2]|0)-1|0;if((j|0)>=(k|0)){break b}}Ue(e+4|0,1006,0);n=0;return n|0}}while(0);if((i|0)<1){n=0;return n|0}else{c[b+4212+(k<<2)>>2]=i;break}}}while(0);n=(nd(d,1)|0)&255;a[b+45|0]=n}i=b+52|0;c[i>>2]=0;h=b+56|0;c[h>>2]=0;n=(nd(d,1)|0)&255;a[b+46|0]=n;n=(nd(d,1)|0)&255;a[b+47|0]=n;do{if(n<<24>>24==0){a[b+48|0]=0;a[b+49|0]=0}else{n=(nd(d,1)|0)&255;a[b+48|0]=n;n=(nd(d,1)|0)&255;a[b+49|0]=n;if(!(n<<24>>24==0)){break}j=rd(d)|0;c[i>>2]=j;if((j|0)==-99999){Ue(e+4|0,1006,0);n=0;return n|0}c[i>>2]=j<<1;i=rd(d)|0;c[h>>2]=i;if(!((i|0)==-99999)){c[h>>2]=i<<1;break}Ue(e+4|0,1006,0);n=0;return n|0}}while(0);h=(nd(d,1)|0)&255;a[b+60|0]=h;h=h<<24>>24==0;if(!((a[e+11096+(f*5168|0)+636|0]|0)!=0|h)){Ue(e+4|0,1006,0);n=0;return n|0}do{if(h){cv(b+61|0,e+11096+(f*5168|0)+638|0,4064)|0}else{h=lk(d,g,b+61|0,1)|0;if((h|0)==0){break}Ue(e+4|0,h,0);n=0;return n|0}}while(0);h=(nd(d,1)|0)&255;a[b+4125|0]=h;h=qd(d)|0;i=b+4128|0;c[i>>2]=h;if((h|0)==-99999){Ue(e+4|0,1006,0);n=0;return n|0}c[i>>2]=h+2;if((h|0)>((c[e+11096+(f*5168|0)+612>>2]|0)-2+(c[e+11096+(f*5168|0)+616>>2]|0)|0)){n=0;return n|0}n=(nd(d,1)|0)&255;a[b+4133|0]=n;n=(nd(d,1)|0)&255;a[b+4134|0]=n;do{if(!(n<<24>>24==0)){m=(nd(d,1)|0)&255;n=b+4135|0;a[n]=m;m=(nd(d,1)|0)&255;a[b+4136|0]=m;m=(nd(d,6)|0)&255;a[b+4137|0]=m;if((a[n]|0)==0){break}if(hj(b+4138|0,d,e,b)|0){break}else{e=0}return e|0}}while(0);nj(b,g);a[b|0]=1;n=1;return n|0}function nj(b,e){b=b|0;e=e|0;var f=0,g=0,h=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,A=0,B=0;f=i;g=e+5040|0;c[b+4160>>2]=(c[g>>2]|0)-(c[b+16>>2]|0);c[b+4164>>2]=(c[g>>2]|0)-(d[b+4141|0]|0);c[b+4168>>2]=d[b+4138|0]|0;j=b+36|0;do{if((a[b+44|0]|0)!=0){k=c[j>>2]|0;h=i;i=i+((k<<2)+4)|0;i=i+7&-8;do{if((k|0)>=0){l=c[e+5056>>2]|0;m=0;while(1){B=(ga(l,m)|0)/(k|0)|0;c[h+(m<<2)>>2]=B;if((m|0)<(k|0)){m=m+1|0}else{break}}if((k|0)<=0){break}n=0;m=c[h>>2]|0;while(1){k=n+1|0;l=c[h+(k<<2)>>2]|0;c[b+4172+(n<<2)>>2]=l-m;if((k|0)<(c[j>>2]|0)){n=k;m=l}else{break}}}}while(0);h=b+40|0;n=c[h>>2]|0;k=i;i=i+((n<<2)+4)|0;i=i+7&-8;if((n|0)<0){break}m=c[e+5064>>2]|0;l=0;while(1){B=(ga(m,l)|0)/(n|0)|0;c[k+(l<<2)>>2]=B;if((l|0)<(n|0)){l=l+1|0}else{break}}if((n|0)<=0){break}o=0;l=c[k>>2]|0;while(1){m=o+1|0;n=c[k+(m<<2)>>2]|0;c[b+4212+(o<<2)>>2]=n-l;if((m|0)<(c[h>>2]|0)){o=m;l=n}else{break}}}}while(0);c[b+4252>>2]=0;if((c[j>>2]|0)>0){k=0;h=0;do{h=(c[b+4172+(k<<2)>>2]|0)+h|0;k=k+1|0;c[b+4252+(k<<2)>>2]=h;}while((k|0)<(c[j>>2]|0))}c[b+4296>>2]=0;k=b+40|0;if((c[k>>2]|0)>0){l=0;h=0;do{h=(c[b+4212+(l<<2)>>2]|0)+h|0;l=l+1|0;c[b+4296+(l<<2)>>2]=h;}while((l|0)<(c[k>>2]|0))}p=b+4340|0;o=e+5072|0;l=c[o>>2]|0;m=b+4344|0;n=c[m>>2]|0;h=p|0;r=c[h>>2]|0;q=n-r>>2;do{if(q>>>0<l>>>0){qj(p,l-q|0);l=c[o>>2]|0}else{if(!(q>>>0>l>>>0)){break}p=r+(l<<2)|0;if((n|0)==(p|0)){break}c[m>>2]=n+(~((n-4+(-p|0)|0)>>>2)<<2)}}while(0);r=b+4352|0;m=b+4356|0;n=c[m>>2]|0;p=r|0;q=c[p>>2]|0;s=n-q>>2;do{if(s>>>0<l>>>0){qj(r,l-s|0);l=c[o>>2]|0}else{if(!(s>>>0>l>>>0)){break}q=q+(l<<2)|0;if((n|0)==(q|0)){break}c[m>>2]=n+(~((n-4+(-q|0)|0)>>>2)<<2)}}while(0);r=b+4364|0;n=b+4368|0;q=c[n>>2]|0;m=r|0;t=c[m>>2]|0;s=q-t>>2;do{if(s>>>0<l>>>0){qj(r,l-s|0);t=c[o>>2]|0}else{if(!(s>>>0>l>>>0)){t=l;break}r=t+(l<<2)|0;if((q|0)==(r|0)){t=l;break}c[n>>2]=q+(~((q-4+(-r|0)|0)>>>2)<<2);t=l}}while(0);u=b+4376|0;l=b+4380|0;q=c[l>>2]|0;n=u|0;s=c[n>>2]|0;r=q-s>>2;do{if(r>>>0<t>>>0){qj(u,t-r|0)}else{if(!(r>>>0>t>>>0)){break}r=s+(t<<2)|0;if((q|0)==(r|0)){break}c[l>>2]=q+(~((q-4+(-r|0)|0)>>>2)<<2)}}while(0);t=b+4388|0;u=c[e+5096>>2]|0;q=b+4392|0;r=c[q>>2]|0;l=t|0;v=c[l>>2]|0;s=r-v>>2;do{if(s>>>0<u>>>0){qj(t,u-s|0)}else{if(!(s>>>0>u>>>0)){break}s=v+(u<<2)|0;if((r|0)==(s|0)){break}c[q>>2]=r+(~((r-4+(-s|0)|0)>>>2)<<2)}}while(0);a:do{if((c[o>>2]|0)>0){r=e+5056|0;q=0;while(1){t=c[r>>2]|0;s=(q|0)%(t|0)|0;t=(q|0)/(t|0)|0;v=c[j>>2]|0;if((v|0)>0){u=-1;w=0;do{u=(s|0)<(c[b+4252+(w<<2)>>2]|0)?u:w;w=w+1|0;}while((w|0)<(v|0))}else{u=-1}w=c[k>>2]|0;if((w|0)>0){v=-1;x=0;do{v=(t|0)<(c[b+4296+(x<<2)>>2]|0)?v:x;x=x+1|0;}while((x|0)<(w|0))}else{v=-1}w=(c[h>>2]|0)+(q<<2)|0;c[w>>2]=0;if((u|0)>0){x=b+4212+(v<<2)|0;y=0;z=0;do{z=z+(ga(c[b+4172+(y<<2)>>2]|0,c[x>>2]|0)|0)|0;c[w>>2]=z;y=y+1|0;}while((y|0)<(u|0))}else{z=0}if((v|0)>0){x=0;do{z=z+(ga(c[b+4212+(x<<2)>>2]|0,c[r>>2]|0)|0)|0;c[w>>2]=z;x=x+1|0;}while((x|0)<(v|0))}if(!((v|u|0)>-1)){break}B=z+(ga(t-(c[b+4296+(v<<2)>>2]|0)|0,c[b+4172+(u<<2)>>2]|0)|0)|0;c[w>>2]=B;B=s-(c[b+4252+(u<<2)>>2]|0)+B|0;c[w>>2]=B;c[(c[p>>2]|0)+(B<<2)>>2]=q;q=q+1|0;if((q|0)>=(c[o>>2]|0)){break a}}ec(16944,16440,618,17488)}}while(0);q=c[k>>2]|0;if((q|0)>0){o=e+5056|0;p=0;s=0;u=c[j>>2]|0;do{if((u|0)>0){q=b+4296+(p<<2)|0;p=p+1|0;r=b+4296+(p<<2)|0;t=0;x=c[r>>2]|0;do{w=c[q>>2]|0;if((w|0)<(x|0)){u=b+4252+(t<<2)|0;t=t+1|0;v=b+4252+(t<<2)|0;y=c[v>>2]|0;do{z=c[u>>2]|0;if((z|0)<(y|0)){x=c[h>>2]|0;A=c[m>>2]|0;y=c[n>>2]|0;do{B=x+((ga(c[o>>2]|0,w)|0)+z<<2)|0;c[A+(c[B>>2]<<2)>>2]=s;B=y+((ga(c[o>>2]|0,w)|0)+z<<2)|0;c[B>>2]=s;z=z+1|0;B=c[v>>2]|0;}while((z|0)<(B|0));y=B;x=c[r>>2]|0}w=w+1|0;}while((w|0)<(x|0));u=c[j>>2]|0}else{t=t+1|0}s=s+1|0;}while((t|0)<(u|0));q=c[k>>2]|0}else{p=p+1|0}}while((p|0)<(q|0))}b=e+5092|0;n=c[b>>2]|0;if((n|0)<=0){i=f;return}k=e+5088|0;j=e+5100|0;e=e+5056|0;m=0;q=c[k>>2]|0;do{if((q|0)>0){p=c[h>>2]|0;n=c[l>>2]|0;o=0;do{B=c[j>>2]|0;A=c[g>>2]|0;z=p+((ga(c[e>>2]|0,m<<B>>A)|0)+(o<<B>>A)<<2)|0;q=n+((ga(q,m)|0)+o<<2)|0;c[q>>2]=c[z>>2]<<(A-B<<1);q=(c[g>>2]|0)-(c[j>>2]|0)|0;if((q|0)>0){r=0;s=0;do{t=1<<s;if((t&m|0)==0){u=0}else{u=t<<1<<s}r=((t&o|0)==0?0:t<<s)+r+u|0;s=s+1|0;}while((s|0)<(q|0))}else{r=0}q=n+((ga(c[k>>2]|0,m)|0)+o<<2)|0;c[q>>2]=(c[q>>2]|0)+r;o=o+1|0;q=c[k>>2]|0;}while((o|0)<(q|0));n=c[b>>2]|0}m=m+1|0;}while((m|0)<(n|0));i=f;return}function oj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((d|0)==2){f=q}else if((d|0)==1){f=t}else{i=e;return}f=c[f>>2]|0;Zk(f,16080,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j;Zk(f,15672,(j=i,i=i+8|0,c[j>>2]=a[b+1|0]|0,j)|0);i=j;Zk(f,15304,(j=i,i=i+8|0,c[j>>2]=a[b+2|0]|0,j)|0);i=j;Zk(f,14992,(j=i,i=i+8|0,c[j>>2]=a[b+3|0]|0,j)|0);i=j;Zk(f,14728,(j=i,i=i+8|0,c[j>>2]=a[b+4|0]|0,j)|0);i=j;Zk(f,14432,(j=i,i=i+8|0,c[j>>2]=a[b+5|0]|0,j)|0);i=j;Zk(f,14168,(j=i,i=i+8|0,c[j>>2]=a[b+6|0]|0,j)|0);i=j;Zk(f,13904,(j=i,i=i+8|0,c[j>>2]=a[b+7|0]|0,j)|0);i=j;Zk(f,13664,(j=i,i=i+8|0,c[j>>2]=c[b+8>>2],j)|0);i=j;Zk(f,13464,(j=i,i=i+8|0,c[j>>2]=a[b+12|0]|0,j)|0);i=j;Zk(f,13272,(j=i,i=i+8|0,c[j>>2]=a[b+13|0]|0,j)|0);i=j;j=b+14|0;Zk(f,13072,(h=i,i=i+8|0,c[h>>2]=a[j]|0,h)|0);i=h;if((a[j]|0)!=0){Zk(f,12776,(j=i,i=i+8|0,c[j>>2]=c[b+16>>2],j)|0);i=j}Zk(f,12464,(j=i,i=i+8|0,c[j>>2]=c[b+20>>2],j)|0);i=j;Zk(f,12256,(j=i,i=i+8|0,c[j>>2]=c[b+24>>2],j)|0);i=j;Zk(f,11904,(j=i,i=i+8|0,c[j>>2]=a[b+28|0]|0,j)|0);i=j;Zk(f,11560,(j=i,i=i+8|0,c[j>>2]=a[b+29|0]|0,j)|0);i=j;Zk(f,11280,(j=i,i=i+8|0,c[j>>2]=a[b+30|0]|0,j)|0);i=j;Zk(f,11032,(j=i,i=i+8|0,c[j>>2]=a[b+31|0]|0,j)|0);i=j;Zk(f,10768,(j=i,i=i+8|0,c[j>>2]=a[b+32|0]|0,j)|0);i=j;j=b+34|0;Zk(f,10520,(h=i,i=i+8|0,c[h>>2]=a[j]|0,h)|0);i=h;Zk(f,10192,(h=i,i=i+8|0,c[h>>2]=a[b+33|0]|0,h)|0);i=h;if((a[j]|0)!=0){h=b+36|0;Zk(f,9856,(g=i,i=i+8|0,c[g>>2]=c[h>>2],g)|0);i=g;g=b+40|0;Zk(f,9448,(j=i,i=i+8|0,c[j>>2]=c[g>>2],j)|0);i=j;Zk(f,9112,(j=i,i=i+8|0,c[j>>2]=a[b+44|0]|0,j)|0);i=j;Zk(f,8800,(j=i,i=i+1|0,i=i+7&-8,c[j>>2]=0,j)|0);i=j;if((c[h>>2]|0)>=0){j=0;while(1){Zk(f,8464,(k=i,i=i+8|0,c[k>>2]=c[b+4252+(j<<2)>>2],k)|0);i=k;if((j|0)<(c[h>>2]|0)){j=j+1|0}else{break}}}Zk(f,8280,(k=i,i=i+1|0,i=i+7&-8,c[k>>2]=0,k)|0);i=k;Zk(f,8008,(k=i,i=i+1|0,i=i+7&-8,c[k>>2]=0,k)|0);i=k;if((c[g>>2]|0)>=0){h=0;while(1){Zk(f,8464,(k=i,i=i+8|0,c[k>>2]=c[b+4296+(h<<2)>>2],k)|0);i=k;if((h|0)<(c[g>>2]|0)){h=h+1|0}else{break}}}Zk(f,8280,(k=i,i=i+1|0,i=i+7&-8,c[k>>2]=0,k)|0);i=k;Zk(f,7728,(k=i,i=i+8|0,c[k>>2]=a[b+45|0]|0,k)|0);i=k}Zk(f,7432,(k=i,i=i+8|0,c[k>>2]=a[b+46|0]|0,k)|0);i=k;k=b+47|0;Zk(f,7144,(j=i,i=i+8|0,c[j>>2]=a[k]|0,j)|0);i=j;if((a[k]|0)!=0){Zk(f,6848,(k=i,i=i+8|0,c[k>>2]=a[b+48|0]|0,k)|0);i=k;Zk(f,6576,(k=i,i=i+8|0,c[k>>2]=a[b+49|0]|0,k)|0);i=k;Zk(f,6416,(k=i,i=i+8|0,c[k>>2]=c[b+52>>2],k)|0);i=k;Zk(f,6240,(k=i,i=i+8|0,c[k>>2]=c[b+56>>2],k)|0);i=k}Zk(f,6056,(k=i,i=i+8|0,c[k>>2]=a[b+60|0]|0,k)|0);i=k;Zk(f,5896,(k=i,i=i+8|0,c[k>>2]=a[b+4125|0]|0,k)|0);i=k;Zk(f,5752,(k=i,i=i+8|0,c[k>>2]=c[b+4128>>2],k)|0);i=k;Zk(f,5584,(k=i,i=i+8|0,c[k>>2]=a[b+4132|0]|0,k)|0);i=k;Zk(f,5448,(k=i,i=i+8|0,c[k>>2]=a[b+4133|0]|0,k)|0);i=k;Zk(f,5280,(k=i,i=i+8|0,c[k>>2]=a[b+4134|0]|0,k)|0);i=k;k=b+4135|0;Zk(f,5096,(j=i,i=i+8|0,c[j>>2]=a[k]|0,j)|0);i=j;Zk(f,4880,(j=i,i=i+8|0,c[j>>2]=a[b+4136|0]|0,j)|0);i=j;Zk(f,4752,(j=i,i=i+8|0,c[j>>2]=a[b+4137|0]|0,j)|0);i=j;Zk(f,4632,(j=i,i=i+8|0,c[j>>2]=c[b+4160>>2],j)|0);i=j;Zk(f,4392,(j=i,i=i+8|0,c[j>>2]=c[b+4164>>2],j)|0);i=j;Zk(f,4176,(j=i,i=i+8|0,c[j>>2]=c[b+4168>>2],j)|0);i=j;if((a[k]|0)==0){i=e;return}ij(b+4138|0,d);i=e;return}function pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((a[b+34|0]|0)==0){j=(e|d|0)==0;return j|0}f=c[b+36>>2]|0;if((f|0)>0){i=0}else{j=0;return j|0}while(1){j=i+1|0;if((c[b+4252+(i<<2)>>2]|0)==(d|0)){break}if((j|0)<(f|0)){i=j}else{h=0;g=9;break}}if((g|0)==9){return h|0}f=c[b+40>>2]|0;if((f|0)>0){d=0}else{j=0;return j|0}while(1){g=d+1|0;if((c[b+4296+(d<<2)>>2]|0)==(e|0)){h=1;g=9;break}if((g|0)<(f|0)){d=g}else{h=0;g=9;break}}if((g|0)==9){return h|0}return 0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+8|0;d=a+4|0;f=c[d>>2]|0;k=c[e>>2]|0;g=f;if(!(k-g>>2>>>0<b>>>0)){a=b;e=f;while(1){if((e|0)!=0){c[e>>2]=0}a=a-1|0;if((a|0)==0){break}else{e=e+4|0}}c[d>>2]=f+(b<<2);return}f=a|0;a=c[f>>2]|0;l=a;g=g-l|0;j=g>>2;h=j+b|0;if(h>>>0>1073741823>>>0){Nr(0)}k=k-l|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<h>>>0?h:k;if((l|0)==0){k=0;l=0}else{i=10}}else{l=1073741823;i=10}if((i|0)==10){k=Nu(l<<2)|0}i=k+(j<<2)|0;while(1){if((i|0)!=0){c[i>>2]=0}b=b-1|0;if((b|0)==0){break}else{i=i+4|0}}b=a;cv(k|0,b|0,g)|0;c[f>>2]=k;c[d>>2]=k+(h<<2);c[e>>2]=k+(l<<2);if((a|0)==0){return}Pu(b);return}function rj(c){c=c|0;var d=0;d=c+96|0;C=0;a[d]=C;C=C>>8;a[d+1|0]=C;C=C>>8;a[d+2|0]=C;C=C>>8;a[d+3|0]=C;d=0;do{b[c+(d<<1)>>1]=0;b[c+32+(d<<1)>>1]=0;a[c+64+d|0]=0;a[c+80+d|0]=0;d=d+1|0;}while((d|0)<16);return}function sj(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,A=0,B=0,D=0,E=0,F=0;m=i;do{if((j|0)==0){q=56}else{if(((nd(g,1)|0)&255)<<24>>24==0){q=56;break}do{if(l){l=qd(g)|0;if((l|0)!=-99999&(l|0)<(j|0)){l=l+1|0;break}else{F=0;i=m;return F|0}}else{l=1}}while(0);j=j-l|0;if(!((j|0)>-1)){ec(5088,15040,129,18616);return 0}t=nd(g,1)|0;l=qd(g)|0;if((l|0)==-99999){F=0;i=m;return F|0}u=l+1|0;v=~l;l=k|0;w=d[(c[l>>2]|0)+(j*100|0)+98|0]|0;y=w+1|0;r=i;i=i+y|0;i=i+7&-8;s=i;i=i+y|0;i=i+7&-8;y=0;while(1){F=(nd(g,1)|0)&255;a[r+y|0]=F;if(F<<24>>24==0){F=(nd(g,1)|0)&255;a[s+y|0]=F}else{a[s+y|0]=1}if((y|0)<(w|0)){y=y+1|0}else{break}}v=(t|0)!=0?v:u;y=c[l>>2]|0;A=a[y+(j*100|0)+96|0]|0;u=A&255;y=a[y+(j*100|0)+97|0]|0;t=y&255;y=y<<24>>24==0;a:do{if(y){z=0}else{k=k+4|0;B=0;D=t;b:while(1){F=D;while(1){D=F-1|0;E=c[l>>2]|0;if(!(j>>>0<(((c[k>>2]|0)-E|0)/100|0)>>>0)){q=18;break b}if(!((F-1|0)>>>0<16>>>0)){q=20;break b}F=(b[E+(j*100|0)+32+(D<<1)>>1]|0)+v|0;if((F|0)<0){E=D+u|0;if((a[s+E|0]|0)!=0){break}}if((D|0)>0){F=D}else{z=B;break a}}if((B|0)>15){p=0;q=77;break}b[h+(B<<1)>>1]=F;a[h+64+B|0]=a[r+E|0]|0;B=B+1|0;if((D|0)<=0){z=B;break a}}if((q|0)==18){ec(12504,15040,174,18616);return 0}else if((q|0)==20){ec(9480,15040,175,18616);return 0}else if((q|0)==77){i=m;return p|0}}}while(0);do{if((v|0)<0){if((a[s+w|0]|0)==0){break}if((z|0)>15){F=0;i=m;return F|0}else{b[h+(z<<1)>>1]=v;a[h+64+z|0]=a[r+w|0]|0;z=z+1|0;break}}}while(0);A=A<<24>>24==0;c:do{if(A){a[h+96|0]=z;z=0}else{k=0;d:while(1){B=(b[(c[l>>2]|0)+(j*100|0)+(k<<1)>>1]|0)+v|0;do{if((B|0)<0){if((a[s+k|0]|0)==0){x=z;break}if((z|0)>15){p=0;q=77;break d}b[h+(z<<1)>>1]=B;a[h+64+z|0]=a[r+k|0]|0;x=z+1|0}else{x=z}}while(0);k=k+1|0;if((k|0)<(u|0)){z=x}else{break}}if((q|0)==77){i=m;return p|0}a[h+96|0]=x;if(A){z=0;break}else{z=0;A=u}while(1){x=c[l>>2]|0;while(1){A=A-1|0;k=(b[x+(j*100|0)+(A<<1)>>1]|0)+v|0;if((k|0)>0){if((a[s+A|0]|0)!=0){break}}if((A|0)<=0){break c}}if((z|0)>15){p=0;break}b[h+32+(z<<1)>>1]=k;a[h+80+z|0]=a[r+A|0]|0;z=z+1|0;if((A|0)<=0){break c}}i=m;return p|0}}while(0);do{if((v|0)>0){if((a[s+w|0]|0)==0){break}if((z|0)>15){F=0;i=m;return F|0}else{b[h+32+(z<<1)>>1]=v;a[h+80+z|0]=a[r+w|0]|0;z=z+1|0;break}}}while(0);do{if(y){o=z&255}else{q=0;e:while(1){w=(b[(c[l>>2]|0)+(j*100|0)+32+(q<<1)>>1]|0)+v|0;do{if((w|0)>0){x=q+u|0;if((a[s+x|0]|0)==0){n=z;break}if((z|0)>15){p=0;q=77;break e}b[h+32+(z<<1)>>1]=w;a[h+80+z|0]=a[r+x|0]|0;n=z+1|0}else{n=z}}while(0);q=q+1|0;if((q|0)<(t|0)){z=n}else{q=54;break}}if((q|0)==54){o=n&255;break}else if((q|0)==77){i=m;return p|0}}}while(0);a[h+97|0]=o}}while(0);f:do{if((q|0)==56){o=qd(g)|0;n=qd(g)|0;if((n+o|0)>(c[f+528+((a[f+2|0]|0)-1<<2)>>2]|0)){F=h+96|0;C=0;a[F]=C;C=C>>8;a[F+1|0]=C;C=C>>8;a[F+2|0]=C;C=C>>8;a[F+3|0]=C;Ue(e,1018,0);F=0;i=m;return F|0}if((o|0)>16|(n|0)>16){Ue(e,1018,0);F=0;i=m;return F|0}a[h+96|0]=o;a[h+97|0]=n;g:do{if((o|0)>0){f=0;j=0;while(1){p=qd(g)|0;if((p|0)==-99999){p=0;break}F=(nd(g,1)|0)&255;e=h+(j<<1)|0;b[e>>1]=f+65535-p;a[h+64+j|0]=F;j=j+1|0;if((j|0)<(o|0)){f=b[e>>1]|0}else{break g}}i=m;return p|0}}while(0);if((n|0)>0){f=0;o=0}else{break}while(1){p=qd(g)|0;if((p|0)==-99999){p=0;break}F=(nd(g,1)|0)&255;e=h+32+(o<<1)|0;b[e>>1]=f+1+p;a[h+80+o|0]=F;o=o+1|0;if((o|0)<(n|0)){f=b[e>>1]|0}else{break f}}i=m;return p|0}}while(0);g=h+99|0;a[g]=0;f=a[h+96|0]|0;if(f<<24>>24==0){f=0;p=0}else{n=f&255;o=0;e=0;while(1){if((a[h+64+o|0]|0)!=0){e=e+1&255;a[g]=e}o=o+1|0;if((o|0)>=(n|0)){p=e;break}}}n=a[h+97|0]|0;if(n<<24>>24==0){n=0}else{e=n&255;o=0;do{if((a[h+80+o|0]|0)!=0){p=p+1&255;a[g]=p}o=o+1|0;}while((o|0)<(e|0))}a[h+98|0]=n+f;F=1;i=m;return F|0}function tj(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;j=e<<1;h=i;i=i+(j+2)|0;i=i+7&-8;j=j|1;a[h+j|0]=0;if((j|0)>0){dv(h|0,46,j|0)|0}a[h+e|0]=124;j=a[d+96|0]|0;if(!(j<<24>>24==0)){k=-e|0;m=j&255;do{m=m-1|0;n=b[d+(m<<1)>>1]|0;l=a[d+64+m|0]|0;do{if((n|0)<(k|0)){Zk(f,16008,(j=i,i=i+16|0,c[j>>2]=n,c[j+8>>2]=l<<24>>24!=0?88:111,j)|0);i=j}else{j=h+(n+e)|0;if(l<<24>>24==0){a[j]=111;break}else{a[j]=88;break}}}while(0);}while((m|0)>0)}j=a[d+97|0]|0;if(j<<24>>24==0){Zk(f,15608,(n=i,i=i+8|0,c[n>>2]=h,n)|0);i=n;i=g;return}l=j&255;do{l=l-1|0;m=b[d+32+(l<<1)>>1]|0;k=a[d+80+l|0]|0;do{if((m|0)>(e|0)){Zk(f,16008,(j=i,i=i+16|0,c[j>>2]=m,c[j+8>>2]=k<<24>>24!=0?88:111,j)|0);i=j}else{j=h+(m+e)|0;if(k<<24>>24==0){a[j]=111;break}else{a[j]=88;break}}}while(0);}while((l|0)>0);Zk(f,15608,(n=i,i=i+8|0,c[n>>2]=h,n)|0);i=n;i=g;return}function uj(b){b=b|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if((a[b+5467|0]|0)==0){return}g=b+40|0;d=b+28|0;l=ga(c[d>>2]|0,c[g>>2]|0)|0;i=b+5760|0;l=ga(l,((c[i>>2]|0)+7|0)/8|0)|0;h=b+44|0;f=b+36|0;k=ga(c[f>>2]|0,c[h>>2]|0)|0;j=b+5768|0;k=ga(k,((c[j>>2]|0)+7|0)/8|0)|0;k=(l|0)>(k|0)?l:k;k=Ou((k|0)>-1?k:-1)|0;if((k|0)==0){Ue((c[b+10332>>2]|0)+4|0,1024,0);return}w=(c[b+5776>>2]|0)==0?1:3;r=b+5828|0;l=b+5820|0;s=b+10352|0;t=b+10340|0;v=b+52|0;u=b+48|0;n=b+5804|0;o=b+4|0;m=k;q=b+5780|0;p=b+5784|0;x=0;E=c[r>>2]|0;a:while(1){y=(x|0)==0;B=y?g:h;z=c[B>>2]|0;A=b+4+(x<<2)|0;D=ga(c[(y?d:f)>>2]|0,z)|0;C=y?i:j;cv(k|0,c[A>>2]|0,ga(D,((c[C>>2]|0)+7|0)/8|0)|0)|0;if((E|0)>0){D=0;F=c[l>>2]|0;do{if((F|0)>0){E=0;do{G=(ga(c[s>>2]|0,D)|0)+E|0;G=e[(c[t>>2]|0)+(G*24|0)+2>>1]|0;F=c[u>>2]|0;if(!(G>>>0<(c[v>>2]|0)-F>>2>>>0)){b=24;break a}F=c[F+(G<<2)>>2]|0;if((F|0)==0){b=24;break a}do{if(y){if((a[F+325|0]|0)==0){break}G=1<<c[n>>2];H=c[o>>2]|0;F=c[g>>2]|0;if((c[i>>2]|0)>8){Aj(b,E,D,0,0,G,G,m,z,H,F);break}else{Bj(b,E,D,0,0,G,G,k,z,H,F);break}}else{if((a[F+326|0]|0)==0){break}I=1<<c[n>>2];H=(I|0)/(c[q>>2]|0)|0;I=(I|0)/(c[p>>2]|0)|0;F=c[A>>2]|0;G=c[B>>2]|0;if((c[C>>2]|0)>8){Aj(b,E,D,0,x,H,I,m,z,F,G);break}else{Bj(b,E,D,0,x,H,I,k,z,F,G);break}}}while(0);E=E+1|0;F=c[l>>2]|0;}while((E|0)<(F|0));E=c[r>>2]|0}D=D+1|0;}while((D|0)<(E|0))}x=x+1|0;if((x|0)>=(w|0)){b=23;break}}if((b|0)==23){Qu(k);return}else if((b|0)==24){return}}function vj(b){b=b|0;var 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;g=b|0;f=b+4|0;c[f>>2]=1;i=b+12|0;Wh(c[i>>2]|0,g);p=c[i>>2]|0;j=c[p+5820>>2]|0;h=j-1|0;m=c[p+5804>>2]|0;k=1<<m;d=b+8|0;l=b+24|0;Yh(p,g,h,c[d>>2]|0,c[l>>2]|0);p=c[d>>2]|0;if((p|0)>0){Yh(c[i>>2]|0,g,h,p-1|0,c[l>>2]|0);p=c[d>>2]|0}o=p+1|0;n=c[i>>2]|0;if((o|0)<(c[n+5828>>2]|0)){Yh(n,g,h,o,c[l>>2]|0);p=c[d>>2]|0}l=b+20|0;b=b+16|0;Th(c[l>>2]|0,c[b>>2]|0,p<<m,p+1<<m);o=c[i>>2]|0;a:do{if((c[o+5820>>2]|0)>0){m=0;do{n=c[d>>2]|0;q=(ga(c[o+10352>>2]|0,n)|0)+m|0;q=e[(c[o+10340>>2]|0)+(q*24|0)+2>>1]|0;p=c[o+48>>2]|0;if(!(q>>>0<(c[o+52>>2]|0)-p>>2>>>0)){break a}t=c[p+(q<<2)>>2]|0;if((t|0)==0){break a}do{if((a[t+325|0]|0)!=0){q=c[b>>2]|0;p=c[q+4>>2]|0;q=c[q+40>>2]|0;s=c[l>>2]|0;r=c[s+4>>2]|0;s=c[s+40>>2]|0;if((c[o+5760>>2]|0)>8){Aj(o,m,n,0,0,k,k,p,q,r,s);break}else{Bj(o,m,n,0,0,k,k,p,q,r,s);break}}}while(0);do{if((a[t+326|0]|0)!=0){p=c[i>>2]|0;n=(k|0)/(c[p+5780>>2]|0)|0;o=(k|0)/(c[p+5784>>2]|0)|0;u=c[d>>2]|0;s=c[b>>2]|0;t=c[s+8>>2]|0;s=c[s+44>>2]|0;q=c[l>>2]|0;r=c[q+8>>2]|0;q=c[q+44>>2]|0;if((c[p+5768>>2]|0)>8){Aj(p,m,u,0,1,n,o,t,s,r,q)}else{Bj(p,m,u,0,1,n,o,t,s,r,q)}q=c[i>>2]|0;r=c[d>>2]|0;t=c[b>>2]|0;s=c[t+12>>2]|0;t=c[t+44>>2]|0;p=c[l>>2]|0;u=c[p+12>>2]|0;p=c[p+44>>2]|0;if((c[q+5768>>2]|0)>8){Aj(q,m,r,0,2,n,o,s,t,u,p);break}else{Bj(q,m,r,0,2,n,o,s,t,u,p);break}}}while(0);m=m+1|0;o=c[i>>2]|0;}while((m|0)<(c[o+5820>>2]|0))}}while(0);if((j|0)<1){u=o;c[f>>2]=3;Xh(u,g);return}else{j=0}while(1){u=(ga(c[d>>2]|0,c[o+5820>>2]|0)|0)+j|0;Ek((c[o+10524>>2]|0)+(u*76|0)|0,4);if((j|0)>=(h|0)){break}j=j+1|0;o=c[i>>2]|0}u=c[i>>2]|0;c[f>>2]=3;Xh(u,g);return}function wj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+8|0;f=h|0;e=c[b>>2]|0;if((a[e+5467|0]|0)==0){p=0;i=h;return p|0}j=e+10332|0;m=c[j>>2]|0;g=b+8|0;p=e+10480|0;if((Ph(g,c[e+24>>2]|0,c[e+28>>2]|0,c[e+20>>2]|0,e+764|0,0,m,c[e+10336>>2]|0,c[p>>2]|0,c[p+4>>2]|0,c[e+10488>>2]|0,1)|0)!=0){Ue((c[j>>2]|0)+4|0,1024,0);p=0;i=h;return p|0}k=c[e+5828>>2]|0;Vh(e,k);if((k|0)>0){j=b+10668|0;l=b+10672|0;m=m+375396|0;b=b+10664|0;n=0;do{o=Nu(28)|0;c[o+4>>2]=0;c[o>>2]=22280;c[o+16>>2]=e;c[o+20>>2]=g;c[o+12>>2]=e;c[o+8>>2]=n;c[o+24>>2]=d;c[f>>2]=o;p=c[j>>2]|0;if(p>>>0<(c[l>>2]|0)>>>0){if((p|0)==0){p=0}else{c[p>>2]=o;p=c[j>>2]|0}c[j>>2]=p+4}else{He(b,f)}Kk(m,o);n=n+1|0;}while((n|0)<(k|0))}_h(e);Uh(e,g);p=1;i=h;return p|0}function xj(a){a=a|0;return}function yj(a){a=a|0;Pu(a);return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+104|0;e=f|0;mb(e|0,6568,(g=i,i=i+8|0,c[g>>2]=c[d+8>>2],g)|0)|0;i=g;d=ev(e|0)|0;if(d>>>0>4294967279>>>0){nm(0)}if(d>>>0<11>>>0){a[b]=d<<1;g=b+1|0;cv(g|0,e|0,d)|0;g=g+d|0;a[g]=0;i=f;return}else{h=d+16&-16;g=Nu(h)|0;c[b+8>>2]=g;c[b>>2]=h|1;c[b+4>>2]=d;cv(g|0,e|0,d)|0;g=g+d|0;a[g]=0;i=f;return}}function Aj(f,g,h,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,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,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;t=i;i=i+152|0;G=t|0;F=t+8|0;D=t+16|0;r=t+24|0;H=c[f+10352>>2]|0;s=(ga(H,h)|0)+g|0;j=c[f+10340>>2]|0;U=k<<1;T=(d[j+(s*24|0)+4|0]|0)>>>(U>>>0)&3;if((T|0)==0){i=t;return}B=(k|0)==0;E=c[(B?f+5760|0:f+5768|0)>>2]|0;u=(1<<E)-1|0;g=ga(l,g)|0;h=ga(m,h)|0;I=c[(B?f+24|0:f+32|0)>>2]|0;K=c[(B?f+28|0:f+36|0)>>2]|0;J=c[f+10348>>2]|0;C=g>>J;M=h>>J;if(!((C|0)>-1&(C|0)<(H|0))){ec(14920,12440,118,17328)}if(!((M|0)>-1)){ec(9408,12440,119,17328)}L=c[f+10356>>2]|0;if((M|0)>=(L|0)){ec(9408,12440,119,17328)}N=j+(((ga(M,H)|0)+C|0)*24|0)+2|0;M=f+52|0;P=c[f+48>>2]|0;N=c[(c[P+(e[N>>1]<<2)>>2]|0)+800>>2]|0;O=c[f+5820>>2]|0;if(B){B=0;C=0}else{B=(c[f+5784>>2]|0)-1|0;C=(c[f+5780>>2]|0)-1|0}Q=c[f+5804>>2]|0;R=Q-C|0;Q=Q-B|0;l=(g+l|0)>(I|0)?I-g|0:l;m=(h+m|0)>(K|0)?K-h|0:m;S=(a[j+(s*24|0)+22|0]|0)!=0;if((T|0)==2){T=(d[j+(s*24|0)+5|0]|0)>>>(U>>>0)&3;if((T|0)==0){c[G>>2]=-1;c[G+4>>2]=1;c[F>>2]=0;c[F+4>>2]=0;V=0;W=0;U=-1;T=1}else if((T|0)==1){c[G>>2]=0;c[G+4>>2]=0;c[F>>2]=-1;c[F+4>>2]=1;V=-1;W=1;U=0;T=0}else if((T|0)==2){c[G>>2]=-1;c[G+4>>2]=1;c[F>>2]=-1;c[F+4>>2]=1;V=-1;W=1;U=-1;T=1}else if((T|0)==3){c[G>>2]=1;c[G+4>>2]=-1;c[F>>2]=-1;c[F+4>>2]=1;V=-1;W=1;U=1;T=-1}else{V=0;W=0;U=0;T=0}V=ga(V,o)|0;W=ga(W,o)|0;a[D|0]=a[j+(s*24|0)+9+(k<<2)|0]|0;a[D+1|0]=a[j+(s*24|0)+9+(k<<2)+1|0]|0;a[D+2|0]=0;a[D+3|0]=a[j+(s*24|0)+9+(k<<2)+2|0]|0;a[D+4|0]=a[j+(s*24|0)+9+(k<<2)+3|0]|0;if((m|0)<=0){i=t;return}X=(l|0)>0;_=f+5480|0;Y=f+10368|0;Z=f+10372|0;fa=f+10376|0;ea=f+10360|0;da=l-1|0;$=m-1|0;ca=f+5977|0;aa=f+10308|0;ba=(ga(h>>Q,O)|0)+(g>>R)|0;ja=0;a:while(1){ka=ja+h|0;ia=(ga(ka,o)|0)+g|0;ha=(ga(ka,q)|0)+g|0;if(X){pa=ka<<B;na=(ja|0)==0;qa=ia+V|0;la=ia+W|0;oa=(ja|0)==($|0);ma=0;do{do{if(S){if((a[_]|0)==0){z=28;break}ta=c[Y>>2]|0;sa=ma+g<<C>>ta;ta=pa>>ta;if(!((sa|0)>-1)){z=23;break a}ra=c[Z>>2]|0;if((sa|0)>=(ra|0)){z=23;break a}if(!((ta|0)>-1)){z=26;break a}if((ta|0)>=(c[fa>>2]|0)){z=26;break a}za=(ga(ra,ta)|0)+sa|0;za=(c[ea>>2]|0)+(za*3|0)|0;if(((d[za]|d[za+1|0]<<8)<<16>>16&1024)==0){z=28}}else{z=28}}while(0);b:do{if((z|0)==28){z=0;sa=ma+g|0;ra=sa<<C;ua=c[Y>>2]|0;ta=ra>>ua;ua=pa>>ua;if(!((ta|0)>-1)){z=30;break a}va=c[Z>>2]|0;if((ta|0)>=(va|0)){z=30;break a}if(!((ua|0)>-1)){z=33;break a}if((ua|0)>=(c[fa>>2]|0)){z=33;break a}za=(ga(va,ua)|0)+ta|0;za=(c[ea>>2]|0)+(za*3|0)|0;if(!(((d[za]|d[za+1|0]<<8)<<16>>16&2048)==0)){break}if((ma|0)==0|na|(ma|0)==(da|0)|oa){ta=0;do{va=(c[G+(ta<<2)>>2]|0)+sa|0;ua=(c[F+(ta<<2)>>2]|0)+ka|0;if(!((ua|va|0)>-1&(va|0)<(I|0)&(ua|0)<(K|0))){break b}xa=va<<C>>J;wa=ua<<B>>J;if(!((xa|0)>-1&(xa|0)<(H|0))){z=38;break a}if(!((wa|0)>-1&(wa|0)<(L|0))){z=40;break a}wa=j+(((ga(H,wa)|0)+xa|0)*24|0)+2|0;wa=e[wa>>1]|0;if(!(wa>>>0<(c[M>>2]|0)-P>>2>>>0)){z=113;break a}za=c[P+(wa<<2)>>2]|0;if((za|0)==0){z=113;break a}ya=c[za+800>>2]|0;if((ya|0)<(N|0)){xa=ra>>J;wa=pa>>J;if(!((xa|0)>-1&(xa|0)<(H|0))){z=45;break a}if(!((wa|0)>-1&(wa|0)<(L|0))){z=47;break a}xa=j+(((ga(H,wa)|0)+xa|0)*24|0)+2|0;if((a[(c[P+(e[xa>>1]<<2)>>2]|0)+764|0]|0)==0){break b}}if((ya|0)>(N|0)){if((a[za+764|0]|0)==0){break b}}if((a[ca]|0)==0){ya=(ga(ua>>Q,O)|0)+(va>>R)|0;za=c[aa>>2]|0;if((c[za+(ya<<2)>>2]|0)!=(c[za+(ba<<2)>>2]|0)){break b}}ta=ta+1|0;}while((ta|0)<2)}ra=e[n+(ma+ia<<1)>>1]|0;sa=ra-(e[n+(qa+ma+U<<1)>>1]|0)|0;if((sa|0)<0){sa=1}else{sa=(sa|0)>0|2}ta=ra-(e[n+(la+ma+T<<1)>>1]|0)|0;if((ta|0)<0){ta=-1}else{ta=(ta|0)>0|0}ra=ra+(a[D+(sa+ta)|0]|0)|0;if((ra|0)<0){ra=0}else{ra=((ra|0)>(u|0)?u:ra)&65535}b[p+(ha+ma<<1)>>1]=ra}}while(0);ma=ma+1|0;}while((ma|0)<(l|0))}ja=ja+1|0;if((ja|0)>=(m|0)){z=113;break}}if((z|0)==23){ec(14920,12440,118,17328)}else if((z|0)==26){ec(9408,12440,119,17328)}else if((z|0)==30){ec(14920,12440,118,17328)}else if((z|0)==33){ec(9408,12440,119,17328)}else if((z|0)==38){ec(14920,12440,118,17328)}else if((z|0)==40){ec(9408,12440,119,17328)}else if((z|0)==45){ec(14920,12440,118,17328)}else if((z|0)==47){ec(9408,12440,119,17328)}else if((z|0)==113){i=t;return}}D=d[j+(s*24|0)+6+k|0]|0;dv(r|0,0,128)|0;c[r+((D&31)<<2)>>2]=1;c[r+((D+1&31)<<2)>>2]=2;c[r+((D+2&31)<<2)>>2]=3;c[r+((D+3&31)<<2)>>2]=4;D=E-5|0;E=(m|0)>0;if(!S){if(!E){i=t;return}z=(l|0)>0;B=(D|0)>7;A=0;do{if(z){y=A+h|0;x=ga(y,o)|0;y=ga(y,q)|0;w=0;do{v=w+g|0;C=e[n+(v+x<<1)>>1]|0;f=B?0:c[r+(C>>>(D>>>0)<<2)>>2]|0;if((f|0)>0){C=(a[f-1+(j+(s*24|0)+9+(k<<2))|0]|0)+C|0;if((C|0)<0){C=0}else{C=((C|0)>(u|0)?u:C)&65535}b[p+(v+y<<1)>>1]=C}w=w+1|0;}while((w|0)<(l|0))}A=A+1|0;}while((A|0)<(m|0));i=t;return}if(!E){i=t;return}F=(l|0)>0;E=f+5480|0;G=f+10368|0;H=f+10372|0;I=f+10376|0;f=f+10360|0;J=(D|0)>7;K=0;c:while(1){d:do{if(F){N=K+h|0;L=N<<B;M=ga(N,o)|0;N=ga(N,q)|0;if(J){N=a[E]|0;M=0;while(1){if(N<<24>>24==0){v=c[G>>2]|0;A=M+g<<C;z=78}else{Q=M+g<<C;R=c[G>>2]|0;S=Q>>R;P=L>>R;if(!((S|0)>-1)){z=87;break c}O=c[H>>2]|0;if((S|0)>=(O|0)){z=87;break c}if(!((P|0)>-1)){z=90;break c}if((P|0)>=(c[I>>2]|0)){z=90;break c}za=(ga(O,P)|0)+S|0;za=(c[f>>2]|0)+(za*3|0)|0;if(((d[za]|d[za+1|0]<<8)<<16>>16&1024)==0){v=R;A=Q;z=78}}if((z|0)==78){z=0;P=A>>v;O=L>>v;if(!((P|0)>-1)){z=94;break c}if((P|0)>=(c[H>>2]|0)){z=94;break c}if(!((O|0)>-1)){z=97;break c}if((O|0)>=(c[I>>2]|0)){z=97;break c}}M=M+1|0;if((M|0)>=(l|0)){break d}}}else{O=0}do{if((a[E]|0)==0){w=O+g|0;x=c[G>>2]|0;y=w;w=w<<C;z=92}else{Q=O+g|0;R=Q<<C;P=c[G>>2]|0;T=R>>P;S=L>>P;if(!((T|0)>-1)){z=87;break c}U=c[H>>2]|0;if((T|0)>=(U|0)){z=87;break c}if(!((S|0)>-1)){z=90;break c}if((S|0)>=(c[I>>2]|0)){z=90;break c}za=(ga(U,S)|0)+T|0;za=(c[f>>2]|0)+(za*3|0)|0;if(((d[za]|d[za+1|0]<<8)<<16>>16&1024)==0){x=P;y=Q;w=R;z=92}}do{if((z|0)==92){z=0;P=w>>x;Q=L>>x;if(!((P|0)>-1)){z=94;break c}R=c[H>>2]|0;if((P|0)>=(R|0)){z=94;break c}if(!((Q|0)>-1)){z=97;break c}if((Q|0)>=(c[I>>2]|0)){z=97;break c}za=(ga(R,Q)|0)+P|0;za=(c[f>>2]|0)+(za*3|0)|0;if(!(((d[za]|d[za+1|0]<<8)<<16>>16&2048)==0)){break}P=e[n+(y+M<<1)>>1]|0;Q=c[r+(P>>>(D>>>0)<<2)>>2]|0;if((Q|0)<=0){break}P=(a[Q-1+(j+(s*24|0)+9+(k<<2))|0]|0)+P|0;if((P|0)<0){P=0}else{P=((P|0)>(u|0)?u:P)&65535}b[p+(y+N<<1)>>1]=P}}while(0);O=O+1|0;}while((O|0)<(l|0))}}while(0);K=K+1|0;if((K|0)>=(m|0)){z=113;break}}if((z|0)==87){ec(14920,12440,118,17328)}else if((z|0)==90){ec(9408,12440,119,17328)}else if((z|0)==94){ec(14920,12440,118,17328)}else if((z|0)==97){ec(9408,12440,119,17328)}else if((z|0)==113){i=t;return}}function Bj(b,f,g,h,j,k,l,m,n,o,p){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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,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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;h=i;i=i+152|0;t=h|0;v=h+8|0;u=h+16|0;M=h+24|0;w=b+10352|0;B=c[w>>2]|0;L=(ga(B,g)|0)+f|0;s=b+10340|0;K=c[s>>2]|0;R=j<<1;N=(d[K+(L*24|0)+4|0]|0)>>>(R>>>0)&3;if((N|0)==0){i=h;return}F=(j|0)==0;S=c[(F?b+5760|0:b+5768|0)>>2]|0;q=(1<<S)-1|0;f=ga(k,f)|0;g=ga(l,g)|0;x=c[(F?b+24|0:b+32|0)>>2]|0;A=c[(F?b+28|0:b+36|0)>>2]|0;z=b+10348|0;C=c[z>>2]|0;D=f>>C;C=g>>C;if(!((D|0)>-1&(D|0)<(B|0))){ec(14920,12440,118,17328)}if(!((C|0)>-1)){ec(9408,12440,119,17328)}y=b+10356|0;if((C|0)>=(c[y>>2]|0)){ec(9408,12440,119,17328)}E=K+(((ga(C,B)|0)+D|0)*24|0)+2|0;B=b+52|0;D=b+48|0;E=c[(c[(c[D>>2]|0)+(e[E>>1]<<2)>>2]|0)+800>>2]|0;C=c[b+5820>>2]|0;if(F){H=0;F=0}else{H=(c[b+5784>>2]|0)-1|0;F=(c[b+5780>>2]|0)-1|0}G=c[b+5804>>2]|0;I=G-F|0;G=G-H|0;k=(f+k|0)>(x|0)?x-f|0:k;l=(g+l|0)>(A|0)?A-g|0:l;J=(a[K+(L*24|0)+22|0]|0)!=0;if((N|0)!=2){N=d[K+(L*24|0)+6+j|0]|0;dv(M|0,0,128)|0;c[M+((N&31)<<2)>>2]=1;c[M+((N+1&31)<<2)>>2]=2;c[M+((N+2&31)<<2)>>2]=3;c[M+((N+3&31)<<2)>>2]=4;N=S-5|0;S=(l|0)>0;if(!J){if(!S){i=h;return}x=(k|0)>0;u=(N|0)>7;t=0;do{if(x){s=t+g|0;v=ga(s,n)|0;s=ga(s,p)|0;w=0;do{r=w+f|0;y=d[m+(r+v)|0]|0;z=u?0:c[M+(y>>>(N>>>0)<<2)>>2]|0;if((z|0)>0){y=(a[z-1+(K+(L*24|0)+9+(j<<2))|0]|0)+y|0;if((y|0)<0){y=0}else{y=((y|0)>(q|0)?q:y)&255}a[o+(r+s)|0]=y}w=w+1|0;}while((w|0)<(k|0))}t=t+1|0;}while((t|0)<(l|0));i=h;return}if(!S){i=h;return}S=(k|0)>0;T=b+5480|0;U=b+10368|0;V=b+10372|0;W=b+10376|0;Y=b+10360|0;X=(N|0)>7;aa=0;a:while(1){if(S){ba=aa+g|0;_=ba<<H;Z=ga(ba,n)|0;ba=ga(ba,p)|0;$=0;do{if((a[T]|0)==0){P=$+f|0;Q=c[U>>2]|0;O=P;P=P<<F;r=81}else{fa=$+f|0;ea=fa<<F;ha=c[U>>2]|0;ia=ea>>ha;da=_>>ha;if(!((ia|0)>-1)){r=76;break a}ca=c[V>>2]|0;if((ia|0)>=(ca|0)){r=76;break a}if(!((da|0)>-1)){r=79;break a}if((da|0)>=(c[W>>2]|0)){r=79;break a}sa=(ga(ca,da)|0)+ia|0;sa=(c[Y>>2]|0)+(sa*3|0)|0;if(((d[sa]|d[sa+1|0]<<8)<<16>>16&1024)==0){Q=ha;O=fa;P=ea;r=81}}do{if((r|0)==81){r=0;ca=P>>Q;da=_>>Q;if(!((ca|0)>-1)){r=83;break a}ea=c[V>>2]|0;if((ca|0)>=(ea|0)){r=83;break a}if(!((da|0)>-1)){r=86;break a}if((da|0)>=(c[W>>2]|0)){r=86;break a}sa=(ga(ea,da)|0)+ca|0;sa=(c[Y>>2]|0)+(sa*3|0)|0;if(!(((d[sa]|d[sa+1|0]<<8)<<16>>16&2048)==0)){break}da=d[m+(O+Z)|0]|0;ca=X?0:c[M+(da>>>(N>>>0)<<2)>>2]|0;if((ca|0)<=0){break}ca=(a[ca-1+(K+(L*24|0)+9+(j<<2))|0]|0)+da|0;if((ca|0)<0){ca=0}else{ca=((ca|0)>(q|0)?q:ca)&255}a[o+(O+ba)|0]=ca}}while(0);$=$+1|0;}while(($|0)<(k|0))}aa=aa+1|0;if((aa|0)>=(l|0)){r=102;break}}if((r|0)==76){ec(14920,12440,118,17328)}else if((r|0)==79){ec(9408,12440,119,17328)}else if((r|0)==83){ec(14920,12440,118,17328)}else if((r|0)==86){ec(9408,12440,119,17328)}else if((r|0)==102){i=h;return}}M=(d[K+(L*24|0)+5|0]|0)>>>(R>>>0)&3;if((M|0)==3){c[t>>2]=1;c[t+4>>2]=-1;c[v>>2]=-1;c[v+4>>2]=1;O=-1;P=1;M=1;N=-1}else if((M|0)==1){c[t>>2]=0;c[t+4>>2]=0;c[v>>2]=-1;c[v+4>>2]=1;O=-1;P=1;M=0;N=0}else if((M|0)==2){c[t>>2]=-1;c[t+4>>2]=1;c[v>>2]=-1;c[v+4>>2]=1;O=-1;P=1;M=-1;N=1}else if((M|0)==0){c[t>>2]=-1;c[t+4>>2]=1;c[v>>2]=0;c[v+4>>2]=0;O=0;P=0;M=-1;N=1}else{O=0;P=0;M=0;N=0}O=ga(O,n)|0;P=ga(P,n)|0;a[u|0]=a[K+(L*24|0)+9+(j<<2)|0]|0;a[u+1|0]=a[K+(L*24|0)+9+(j<<2)+1|0]|0;a[u+2|0]=0;a[u+3|0]=a[K+(L*24|0)+9+(j<<2)+2|0]|0;a[u+4|0]=a[K+(L*24|0)+9+(j<<2)+3|0]|0;if((l|0)<=0){i=h;return}R=(k|0)>0;Q=b+5480|0;S=b+10368|0;T=b+10372|0;U=b+10376|0;L=b+10360|0;V=k-1|0;K=l-1|0;j=b+5977|0;W=b+10308|0;b=(ga(g>>G,C)|0)+(f>>I)|0;Y=0;b:while(1){$=Y+g|0;Z=(ga($,n)|0)+f|0;ea=(ga($,p)|0)+f|0;if(R){ca=$<<H;aa=(Y|0)==0;da=Z+O|0;ba=Z+P|0;X=(Y|0)==(K|0);_=0;do{do{if(J){if((a[Q]|0)==0){r=28;break}ha=c[S>>2]|0;ia=_+f<<F>>ha;ha=ca>>ha;if(!((ia|0)>-1)){r=23;break b}fa=c[T>>2]|0;if((ia|0)>=(fa|0)){r=23;break b}if(!((ha|0)>-1)){r=26;break b}if((ha|0)>=(c[U>>2]|0)){r=26;break b}sa=(ga(fa,ha)|0)+ia|0;sa=(c[L>>2]|0)+(sa*3|0)|0;if(((d[sa]|d[sa+1|0]<<8)<<16>>16&1024)==0){r=28}}else{r=28}}while(0);c:do{if((r|0)==28){r=0;fa=_+f|0;ha=fa<<F;ka=c[S>>2]|0;ja=ha>>ka;ka=ca>>ka;if(!((ja|0)>-1)){r=30;break b}ia=c[T>>2]|0;if((ja|0)>=(ia|0)){r=30;break b}if(!((ka|0)>-1)){r=33;break b}if((ka|0)>=(c[U>>2]|0)){r=33;break b}sa=(ga(ia,ka)|0)+ja|0;sa=(c[L>>2]|0)+(sa*3|0)|0;if(!(((d[sa]|d[sa+1|0]<<8)<<16>>16&2048)==0)){break}if((_|0)==0|aa|(_|0)==(V|0)|X){ia=0;do{ka=(c[t+(ia<<2)>>2]|0)+fa|0;ja=(c[v+(ia<<2)>>2]|0)+$|0;if(!((ja|ka|0)>-1&(ka|0)<(x|0)&(ja|0)<(A|0))){break c}na=c[z>>2]|0;oa=ka<<F>>na;pa=ja<<H>>na;if(!((oa|0)>-1)){r=39;break b}ma=c[w>>2]|0;if((oa|0)>=(ma|0)){r=39;break b}if(!((pa|0)>-1)){r=42;break b}la=c[y>>2]|0;if((pa|0)>=(la|0)){r=42;break b}qa=(ga(ma,pa)|0)+oa|0;pa=c[s>>2]|0;qa=e[pa+(qa*24|0)+2>>1]|0;oa=c[D>>2]|0;if(!(qa>>>0<(c[B>>2]|0)-oa>>2>>>0)){r=102;break b}sa=c[oa+(qa<<2)>>2]|0;if((sa|0)==0){r=102;break b}qa=c[sa+800>>2]|0;if((qa|0)<(E|0)){ra=ha>>na;na=ca>>na;if(!((ra|0)>-1&(ra|0)<(ma|0))){r=47;break b}if(!((na|0)>-1&(na|0)<(la|0))){r=49;break b}ra=pa+(((ga(ma,na)|0)+ra|0)*24|0)+2|0;if((a[(c[oa+(e[ra>>1]<<2)>>2]|0)+764|0]|0)==0){break c}}if((qa|0)>(E|0)){if((a[sa+764|0]|0)==0){break c}}if((a[j]|0)==0){ra=(ga(ja>>G,C)|0)+(ka>>I)|0;sa=c[W>>2]|0;if((c[sa+(ra<<2)>>2]|0)!=(c[sa+(b<<2)>>2]|0)){break c}}ia=ia+1|0;}while((ia|0)<2)}fa=d[m+(_+Z)|0]|0;ha=fa-(d[m+(da+_+M)|0]|0)|0;if((ha|0)<0){ha=1}else{ha=(ha|0)>0|2}ia=fa-(d[m+(ba+_+N)|0]|0)|0;if((ia|0)<0){ia=-1}else{ia=(ia|0)>0|0}fa=fa+(a[u+(ha+ia)|0]|0)|0;if((fa|0)<0){fa=0}else{fa=((fa|0)>(q|0)?q:fa)&255}a[o+(ea+_)|0]=fa}}while(0);_=_+1|0;}while((_|0)<(k|0))}Y=Y+1|0;if((Y|0)>=(l|0)){r=102;break}}if((r|0)==23){ec(14920,12440,118,17328)}else if((r|0)==26){ec(9408,12440,119,17328)}else if((r|0)==30){ec(14920,12440,118,17328)}else if((r|0)==33){ec(9408,12440,119,17328)}else if((r|0)==39){ec(14920,12440,118,17328)}else if((r|0)==42){ec(9408,12440,119,17328)}else if((r|0)==47){ec(14920,12440,118,17328)}else if((r|0)==49){ec(9408,12440,119,17328)}else if((r|0)==102){i=h;return}}function Cj(a,b){a=a|0;b=b|0;if((b|0)==2){b=c[28640+(a<<2)>>2]|0;return b|0}else if((b|0)==0){b=c[28704+(a<<2)>>2]|0;return b|0}else if((b|0)==1){b=c[28672+(a<<2)>>2]|0;return b|0}else{b=0;return b|0}return 0}function Dj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;f=(c[27544+(g*24|0)+(h<<2)>>2]|0)+((f<<h)+e<<1)|0;g=b;C=(d[f]|d[f+1|0]<<8)<<16>>16;a[g]=C;C=C>>8;a[g+1|0]=C;return}function Ej(){var b=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;b=1;while(1){f=c[28672+(b<<2)>>2]|0;e=1<<b;if((e|0)>0){g=0;h=0;while(1){j=h&255;i=g;k=0;while(1){a[f+(i<<1)|0]=k;a[f+(i<<1)+1|0]=j;k=k+1|0;if((k|0)<(e|0)){i=i+1|0}else{break}}h=h+1|0;if((h|0)<(e|0)){g=g+e|0}else{break}}g=c[28640+(b<<2)>>2]|0;f=0;j=0;while(1){i=j&255;h=f;k=0;while(1){a[g+(h<<1)|0]=i;a[g+(h<<1)+1|0]=k;k=k+1|0;if((k|0)<(e|0)){h=h+1|0}else{break}}j=j+1|0;if((j|0)<(e|0)){f=f+e|0}else{break}}}f=c[28704+(b<<2)>>2]|0;g=e<<b;j=0;i=0;h=0;while(1){if((h|0)<(g|0)){while(1){if((j|0)>-1){break}else{j=i;i=0}}}else{if(!((j|0)>-1)){break}}if((i|0)<(e|0)&(j|0)<(e|0)){a[f+(h<<1)|0]=i;a[f+(h<<1)+1|0]=j;h=h+1|0}j=j-1|0;i=i+1|0}b=b+1|0;if((b|0)>=6){e=2;break}}do{f=1<<e;l=(f|0)>0;k=e-2|0;h=(1<<k<<k)-1|0;g=28704+(k<<2)|0;j=28672+(k<<2)|0;k=28640+(k<<2)|0;i=0;do{if(l){o=27544+(i*24|0)+(e<<2)|0;p=(i|0)==0;m=0;do{n=m<<e;b=c[o>>2]|0;if(p){q=0;do{s=q+n|0;r=c[g>>2]|0;u=16;t=h;while(1){v=(u|0)==0;t=(v<<31>>31)+t|0;u=v?15:u-1|0;if((((d[r+(t<<1)|0]|0)<<2)+(d[43504+(u<<1)|0]|0)|0)!=(q|0)){continue}if((((d[r+(t<<1)+1|0]|0)<<2)+(d[43505+(u<<1)|0]|0)|0)==(m|0)){break}}a[b+(s<<1)|0]=t;a[b+(s<<1)+1|0]=u;q=q+1|0;}while((q|0)<(f|0))}else{q=0;do{r=q+n|0;if((i|0)==1){t=40776;s=c[j>>2]|0}else if((i|0)==2){t=38048;s=c[k>>2]|0}else{t=0;s=0}v=16;u=h;while(1){w=(v|0)==0;u=(w<<31>>31)+u|0;v=w?15:v-1|0;if((((d[s+(u<<1)|0]|0)<<2)+(d[t+(v<<1)|0]|0)|0)!=(q|0)){continue}if((((d[s+(u<<1)+1|0]|0)<<2)+(d[t+(v<<1)+1|0]|0)|0)==(m|0)){break}}a[b+(r<<1)|0]=u;a[b+(r<<1)+1|0]=v;q=q+1|0;}while((q|0)<(f|0))}m=m+1|0;}while((m|0)<(f|0))}i=i+1|0;}while((i|0)<3);e=e+1|0;}while((e|0)<6);return}function Fj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;f=0;while(1){i=nd(d,8)|0;f=i+f|0;if((i|0)!=255){h=0;break}}do{i=nd(d,8)|0;h=i+h|0;}while((i|0)==255);c[e>>2]=f;c[e+4>>2]=h;if((f|0)!=132){i=0;return i|0}h=nd(d,8)|0;f=e+8|0;c[f>>2]=h;if((g|0)==0){i=1025;return i|0}g=(c[g+476>>2]|0)==0?1:3;i=0;while(1){if((h|0)==2){h=nd(d,32)|0;c[e+68+(i<<2)>>2]=h}else if((h|0)==1){h=(nd(d,16)|0)&65535;b[e+60+(i<<1)>>1]=h}else if((h|0)==0){h=(nd(d,8)|0)&255;a[e+12+(i<<4)|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+1|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+2|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+3|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+4|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+5|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+6|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+7|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+8|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+9|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+10|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+11|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+12|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+13|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+14|0]=h;h=(nd(d,8)|0)&255;a[e+12+(i<<4)+15|0]=h}i=i+1|0;if((i|0)>=(g|0)){d=0;break}h=c[f>>2]|0}return d|0}function Gj(a,b){a=a|0;b=b|0;return}function Hj(f,g){f=f|0;g=g|0;var h=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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;h=i;i=i+168|0;s=h|0;k=h+152|0;if((c[f>>2]|0)!=132){M=0;i=h;return M|0}if((a[(c[g+10332>>2]|0)+512|0]|0)==0){M=0;i=h;return M|0}l=k|0;if((a[g+100|0]|0)==0){M=0;i=h;return M|0}n=(c[g+1240>>2]|0)==0?1:3;v=g+24|0;m=g+32|0;t=g+28|0;u=g+36|0;w=g+40|0;j=g+44|0;r=f+8|0;o=g+5760|0;p=g+5768|0;x=0;a:while(1){C=(x|0)==0;y=c[(C?v:m)>>2]|0;z=c[(C?t:u)>>2]|0;B=c[g+4+(x<<2)>>2]|0;A=c[(C?w:j)>>2]|0;D=c[r>>2]|0;if((D|0)==0){G=c[(C?o:p)>>2]|0;qi(s);b:do{if((z|0)>0){D=y<<1;F=(y|0)<0?-1:D;E=B;C=(y|0)>0;if((G|0)>8){B=0;G=0}else{if(C){C=0;while(1){ri(s,B+(ga(C,A)|0)|0,y);C=C+1|0;if((C|0)>=(z|0)){B=0;break b}}}else{C=0;while(1){ri(s,B+(ga(C,A)|0)|0,y);C=C+1|0;if((C|0)>=(z|0)){B=0;break b}}}}do{if((B|0)==0){B=Ou(F)|0}if(C){I=ga(G,A)|0;H=0;do{L=E+(H+I<<1)|0;M=H<<1;a[B+M|0]=b[L>>1];a[B+(M|1)|0]=(e[L>>1]|0)>>>8;H=H+1|0;}while((H|0)<(y|0))}ri(s,B,D);G=G+1|0;}while((G|0)<(z|0))}else{B=0}}while(0);ti(l,s);if((B|0)==0){z=0}else{Qu(B);z=0}while(1){y=z+1|0;if((a[k+z|0]|0)!=(a[f+12+(x<<4)+z|0]|0)){j=33;break a}if((y|0)<16){z=y}else{break}}}else if((D|0)==1){do{if((z|0)>0){D=(c[(C?o:p)>>2]|0)>8;G=y<<1;F=(y|0)<0?-1:G;E=B;C=(y|0)>0;I=0;H=0;L=7439;do{do{if(D){if((I|0)==0){I=Ou(F)|0}if(!C){K=I;J=G;break}J=ga(H,A)|0;K=0;while(1){N=E+(K+J<<1)|0;M=K<<1;a[I+M|0]=b[N>>1];a[I+(M|1)|0]=(e[N>>1]|0)>>>8;K=K+1|0;if((K|0)>=(y|0)){K=I;J=G;break}}}else{K=B+(ga(H,A)|0)|0;J=y}}while(0);if((J|0)>0){M=0;do{N=d[K+M|0]^(L&65535)>>>8;N=(N&65535)>>>4^N;L=(N|L<<8)^N<<5^N<<12;M=M+1|0;}while((M|0)<(J|0))}H=H+1|0;}while((H|0)<(z|0));y=L&65535;if((I|0)==0){break}Qu(I)}else{y=7439}}while(0);z=e[f+60+(x<<1)>>1]|0;if((y|0)!=(z|0)){j=49;break}}else if((D|0)==2){D=(z|0)>0;do{if((c[(C?o:p)>>2]|0)<9){if(!D){H=0;break}C=(y|0)>0;D=0;H=0;do{if(C){E=D>>>8^D;F=ga(D,A)|0;G=0;do{H=((E^G^G>>>8)&255^d[B+(G+F)|0])+H|0;G=G+1|0;}while((G|0)<(y|0))}D=D+1|0;}while((D|0)<(z|0))}else{if(!D){H=0;break}C=(y|0)>0;D=0;H=0;do{if(C){E=D>>>8^D;F=ga(D,A)|0;G=0;do{N=(E^G^G>>>8)&255;H=N+H+(N^d[B+(G+F)|0])|0;G=G+1|0;}while((G|0)<(y|0))}D=D+1|0;}while((D|0)<(z|0))}}while(0);y=c[f+68+(x<<2)>>2]|0;if((H|0)!=(y|0)){j=64;break}}x=x+1|0;if((x|0)>=(n|0)){g=0;j=66;break}}if((j|0)==33){ic(c[q>>2]|0,12208,(N=i,i=i+8|0,c[N>>2]=c[g+92>>2],N)|0)|0;i=N;N=5;i=h;return N|0}else if((j|0)==49){M=c[g+92>>2]|0;ic(c[q>>2]|0,11840,(N=i,i=i+24|0,c[N>>2]=z,c[N+8>>2]=y,c[N+16>>2]=M,N)|0)|0;i=N;N=5;i=h;return N|0}else if((j|0)==64){M=c[g+92>>2]|0;ic(c[q>>2]|0,11840,(N=i,i=i+24|0,c[N>>2]=y,c[N+8>>2]=H,c[N+16>>2]=M,N)|0)|0;i=N;N=5;i=h;return N|0}else if((j|0)==66){i=h;return g|0}return 0}function Ij(e,f,g){e=e|0;f=f|0;g=g|0;var 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;n=a[g+93784+((c[f+8>>2]|0)*4400|0)+2|0]|0;v=qd(e)|0;j=f+380|0;a[j]=v;if(v>>>0>7>>>0){v=0;return v|0}i=g+11096+(n*5168|0)+476|0;do{if((c[i>>2]|0)==0){k=f+381|0}else{k=rd(e)|0;k=(d[j]|0)+k|0;if(k>>>0>7>>>0){v=0;return v|0}else{v=f+381|0;a[v]=k;k=v;break}}}while(0);l=f+328|0;m=g+11096+(n*5168|0)+5164|0;o=g+11096+(n*5168|0)+5160|0;g=f+20|0;n=f+332|0;p=0;a:while(1){if((p|0)==1){if((c[g>>2]|0)==0){q=n;h=9}else{f=1;h=33;break}}else if((p|0)==0){q=l;h=9}do{if((h|0)==9){h=0;r=c[q>>2]|0;q=r-1|0;r=(r|0)<1;if(!r){s=0;while(1){v=(nd(e,1)|0)&255;a[f+382+(p<<4)+s|0]=v;if((s|0)<(q|0)){s=s+1|0}else{break}}}if((c[i>>2]|0)!=0){if(r){break}else{s=0}while(1){v=(nd(e,1)|0)&255;a[f+414+(p<<4)+s|0]=v;if((s|0)<(q|0)){s=s+1|0}else{break}}}if(r){break}else{r=0}while(1){if((a[f+382+(p<<4)+r|0]|0)==0){b[f+446+(p<<5)+(r<<1)>>1]=1<<d[j];a[f+510+(p<<4)+r|0]=0}else{s=rd(e)|0;if((s+128|0)>>>0>255>>>0){f=0;h=33;break a}b[f+446+(p<<5)+(r<<1)>>1]=(1<<d[j])+s;s=rd(e)|0;v=c[o>>2]|0;if((s|0)<(-v|0)|(s|0)>(v-1|0)){f=0;h=33;break a}a[f+510+(p<<4)+r|0]=s}if((a[f+414+(p<<4)+r|0]|0)==0){v=1<<d[k]&65535;b[f+542+(p<<6)+(r<<2)>>1]=v;a[f+670+(p<<5)+(r<<1)|0]=0;b[f+542+(p<<6)+(r<<2)+2>>1]=v;a[f+670+(p<<5)+(r<<1)+1|0]=0}else{s=0;do{t=rd(e)|0;if((t+128|0)>>>0>255>>>0){f=0;h=33;break a}u=f+542+(p<<6)+(r<<2)+(s<<1)|0;b[u>>1]=(1<<d[k])+t;v=rd(e)|0;t=c[m>>2]|0;if((v|0)<(t*-4|0|0)){f=0;h=33;break a}if((v|0)>((t<<2)-1|0)){f=0;h=33;break a}u=ga(b[u>>1]|0,t)|0;u=t+v-(u>>d[k])|0;v=-t|0;do{if((u|0)<(v|0)){t=v&255}else{t=t-1|0;if((u|0)>(t|0)){t=t&255;break}else{t=u&255;break}}}while(0);a[f+670+(p<<5)+(r<<1)+s|0]=t;s=s+1|0;}while((s|0)<2)}if((r|0)<(q|0)){r=r+1|0}else{break}}}}while(0);p=p+1|0;if((p|0)>=2){f=1;h=33;break}}if((h|0)==33){return f|0}return 0}function Jj(d){d=d|0;var e=0,f=0,g=0;c[d>>2]=0;a[d+4|0]=0;a[d+5|0]=0;c[d+8>>2]=0;a[d+12|0]=0;c[d+28>>2]=0;a[d+32|0]=0;dv(d+16|0,0,10)|0;rj(d+34|0);c[d+136>>2]=0;c[d+140>>2]=0;c[d+144>>2]=0;e=0;do{a[d+148+e|0]=0;c[d+164+(e<<2)>>2]=0;a[d+228+e|0]=0;a[d+244+e|0]=0;c[d+260+(e<<2)>>2]=0;e=e+1|0;}while((e|0)<16);c[d+376>>2]=0;a[d+380|0]=0;a[d+381|0]=0;dv(d+324|0,0,49)|0;e=0;while(1){a[d+382+e|0]=0;a[d+414+e|0]=0;b[d+446+(e<<1)>>1]=0;a[d+510+e|0]=0;b[d+542+(e<<2)+2>>1]=0;b[d+542+(e<<2)>>1]=0;a[d+670+(e<<1)+1|0]=0;a[d+670+(e<<1)|0]=0;e=e+1|0;if((e|0)>=16){e=0;break}}do{a[d+398+e|0]=0;a[d+430+e|0]=0;b[d+478+(e<<1)>>1]=0;a[d+526+e|0]=0;b[d+606+(e<<2)+2>>1]=0;b[d+606+(e<<2)>>1]=0;a[d+702+(e<<1)+1|0]=0;a[d+702+(e<<1)|0]=0;e=e+1|0;}while((e|0)<16);c[d+756>>2]=0;c[d+760>>2]=0;a[d+764|0]=0;c[d+768>>2]=0;c[d+772>>2]=0;dv(d+736|0,0,19)|0;e=c[d+776>>2]|0;f=d+780|0;g=c[f>>2]|0;if((g|0)!=(e|0)){c[f>>2]=g+(~((g-4+(-e|0)|0)>>>2)<<2)}dv(d+788|0,0,24)|0;rj(d+812|0);c[d+912>>2]=0;e=0;while(1){c[d+916+(e<<2)>>2]=0;c[d+1044+(e<<2)>>2]=0;c[d+1172+(e<<2)>>2]=0;a[d+1300+e|0]=0;e=e+1|0;if((e|0)>=16){e=0;break}}do{c[d+980+(e<<2)>>2]=0;c[d+1108+(e<<2)>>2]=0;c[d+1236+(e<<2)>>2]=0;a[d+1316+e|0]=0;e=e+1|0;}while((e|0)<16);f=c[d+1344>>2]|0;e=d+1348|0;g=c[e>>2]|0;if((g|0)==(f|0)){g=d+1340|0;a[g]=0;return}c[e>>2]=g+(~((g-4+(-f|0)|0)>>>2)<<2);g=d+1340|0;a[g]=0;return}function Kj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;a[g]=0;Jj(b);l=b+12|0;a[l]=0;t=(nd(e,1)|0)&255;k=b+4|0;a[k]=t;if((a[f+377210|0]|0)!=0){t=(nd(e,1)|0)&255;a[b+5|0]=t}h=qd(e)|0;c[b+8>>2]=h;if((h|0)>64|(h|0)==-99999){Ue(f+4|0,1009,0);t=0;return t|0}if((a[f+93784+(h*4400|0)|0]|0)==0){Ue(f+4|0,1009,0);t=0;return t|0}i=a[f+93784+(h*4400|0)+2|0]|0;n=f+11096+(i*5168|0)|0;if((a[n|0]|0)==0){Ue(f+4|0,1010,0);a[g]=0;t=0;return t|0}if((a[k]|0)==0){if((a[f+93784+(h*4400|0)+3|0]|0)==0){m=0}else{m=(nd(e,1)|0)&255}a[l]=m;m=c[f+11096+(i*5168|0)+5072>>2]|0;o=0;while(1){if((1<<o|0)<(m|0)){o=o+1|0}else{break}}m=nd(e,o)|0;if((a[l]|0)==0){l=0}else{if((m|0)==0){a[g]=0;Ue(f+4|0,1021,0);t=0;return t|0}o=c[f+376224>>2]|0;if((o|0)==0){t=16;return t|0}cv(b|0,o|0,776)|0;p=(o|0)==(b|0);if(!p){tf(b+776|0,c[o+776>>2]|0,c[o+780>>2]|0)}cv(b+788|0,o+788|0,544)|0;Jd(b+1332|0,o+1332|0)|0;a[b+1340|0]=a[o+1340|0]|0;if(!p){tf(b+1344|0,c[o+1344>>2]|0,c[o+1348>>2]|0)}a[k]=0;a[l]=1;l=1}c[b+16>>2]=m;if((m|0)>=0){j=25}}else{a[l]=0;c[b+16>>2]=0;l=0;m=0;j=25}do{if((j|0)==25){k=b+16|0;if((m|0)>=(c[f+11096+(i*5168|0)+5072>>2]|0)){break}a:do{if(l<<24>>24==0){m=f+93784+(h*4400|0)+4132|0;if((a[m]|0)>0){l=0;do{od(e,1);l=l+1|0;}while((l|0)<(a[m]|0))}t=qd(e)|0;l=b+20|0;c[l>>2]=t;if((t|0)>2|(t|0)==-99999){Ue(f+4|0,1007,0);a[g]=0;t=0;return t|0}if((a[f+93784+(h*4400|0)+31|0]|0)==0){a[b+24|0]=1}else{t=(nd(e,1)|0)&255;a[b+24|0]=t}if((a[f+11096+(i*5168|0)+480|0]|0)==1){t=(nd(e,2)|0)&255;a[b+25|0]=t}o=b+28|0;c[o>>2]=0;p=b+32|0;a[p]=0;do{if(((a[f+377208|0]|0)-19&255)>>>0<2>>>0){c[o>>2]=0;c[b+140>>2]=0;c[b+144>>2]=0;r=0}else{m=f+11096+(i*5168|0)+520|0;t=nd(e,c[m>>2]|0)|0;c[o>>2]=t;t=(nd(e,1)|0)&255;a[p]=t;do{if(t<<24>>24==0){p=b+34|0;q=f+11096+(i*5168|0)+4724|0;o=f+11096+(i*5168|0)+4720|0;sj((f|0)==0?0:f+4|0,n,e,p,((c[q>>2]|0)-(c[o>>2]|0)|0)/100|0,f+11096+(i*5168|0)+4720|0,1)|0;c[b+808>>2]=((c[q>>2]|0)-(c[o>>2]|0)|0)/100|0;cv(b+812|0,p|0,100)|0}else{r=f+11096+(i*5168|0)+4724|0;q=c[r>>2]|0;o=f+11096+(i*5168|0)+4720|0;n=c[o>>2]|0;p=(q-n|0)/100|0;s=0;while(1){if((1<<s|0)<(p|0)){s=s+1|0}else{break}}if((s|0)>0){p=nd(e,s)|0;c[b+136>>2]=p;q=c[r>>2]|0;n=c[o>>2]|0}else{c[b+136>>2]=0;p=0}if((p|0)<((q-n|0)/100|0|0)){c[b+808>>2]=p;cv(b+812|0,n+(p*100|0)|0,100)|0;break}Ue(f+4|0,1015,0);t=8;return t|0}}while(0);b:do{if((a[f+11096+(i*5168|0)+4732|0]|0)==0){c[b+140>>2]=0;c[b+144>>2]=0;r=0}else{n=f+11096+(i*5168|0)+4736|0;do{if((c[n>>2]|0)>0){t=qd(e)|0;c[b+140>>2]=t;if((t|0)==-99999){b=8}else{break}return b|0}else{c[b+140>>2]=0}}while(0);q=qd(e)|0;p=b+144|0;c[p>>2]=q;if((q|0)==-99999){t=8;return t|0}o=b+140|0;s=c[o>>2]|0;q=s+q|0;if((q+(d[b+908|0]|0)+(d[b+909|0]|0)|0)>(c[f+11096+(i*5168|0)+528+((a[f+11096+(i*5168|0)+2|0]|0)-1<<2)>>2]|0)){Ue(f+4|0,1018,0);a[g]=0;t=0;return t|0}if((q|0)>0){q=0;r=0}else{r=0;break}while(1){if((q|0)<(s|0)){t=c[n>>2]|0;s=0;while(1){if((1<<s|0)<(t|0)){s=s+1|0}else{break}}t=nd(e,s)|0;s=b+148+q|0;a[s]=t;t=t&255;if((t|0)>=(c[n>>2]|0)){break}c[f+376228+(q<<2)>>2]=c[f+11096+(i*5168|0)+4740+(t<<2)>>2];s=a[(d[s]|0)+(f+11096+(i*5168|0)+4868)|0]|0;c[f+376292+(q<<2)>>2]=s}else{u=nd(e,c[m>>2]|0)|0;t=b+164+(q<<2)|0;c[t>>2]=u;u=(nd(e,1)|0)&255;s=b+228+q|0;a[s]=u;c[f+376228+(q<<2)>>2]=c[t>>2];s=a[s]|0;c[f+376292+(q<<2)>>2]=s}r=((s|0)!=0)+r|0;u=(nd(e,1)|0)&255;a[b+244+q|0]=u;if(u<<24>>24==0){c[b+260+(q<<2)>>2]=0;s=0}else{s=qd(e)|0;c[b+260+(q<<2)>>2]=s;if((s|0)==-99999){b=8;j=194;break}}do{if((q|0)==0){j=68}else{if((q|0)==(c[o>>2]|0)){j=68;break}c[f+376356+(q<<2)>>2]=(c[f+376356+(q-1<<2)>>2]|0)+s}}while(0);if((j|0)==68){j=0;c[f+376356+(q<<2)>>2]=s}q=q+1|0;s=c[o>>2]|0;if((q|0)>=((c[p>>2]|0)+s|0)){break b}}if((j|0)==194){return b|0}Ue(f+4|0,1023,0);a[g]=0;u=0;return u|0}}while(0);if((a[f+11096+(i*5168|0)+4900|0]|0)==0){a[b+324|0]=0;break}else{u=(nd(e,1)|0)&255;a[b+324|0]=u;break}}}while(0);do{if((a[f+11096+(i*5168|0)+4703|0]|0)==0){a[b+325|0]=0;a[b+326|0]=0}else{u=(nd(e,1)|0)&255;a[b+325|0]=u;if((c[f+11096+(i*5168|0)+5012>>2]|0)==0){a[b+326|0]=0;break}else{u=(nd(e,1)|0)&255;a[b+326|0]=u;break}}}while(0);m=b+328|0;c[m>>2]=0;n=b+332|0;c[n>>2]=0;do{if((c[l>>2]|0)>>>0<2>>>0){u=(nd(e,1)|0)&255;a[b+327|0]=u;do{if(u<<24>>24==0){o=a[f+93784+(h*4400|0)+6|0]|0;c[m>>2]=o;p=a[f+93784+(h*4400|0)+7|0]|0;j=90}else{o=qd(e)|0;c[m>>2]=o;if((o|0)==-99999){Ue(f+4|0,1007,0);u=8;return u|0}o=o+1|0;c[m>>2]=o;if((c[l>>2]|0)!=0){break}j=qd(e)|0;c[n>>2]=j;if(!((j|0)==-99999)){p=j+1|0;o=c[m>>2]|0;j=90;break}Ue(f+4|0,1007,0);u=8;return u|0}}while(0);if((j|0)==90){c[n>>2]=p}if((o|0)>16){u=8;return u|0}if((c[n>>2]|0)>16){u=8;return u|0}o=(d[b+911|0]|0)+r|0;c[b+912>>2]=o;do{if((a[f+93784+(h*4400|0)+4125|0]|0)!=0&(o|0)>1){j=0;while(1){if((1<<j|0)<(o|0)){j=j+1|0}else{break}}u=(nd(e,1)|0)&255;a[b+336|0]=u;do{if(!(u<<24>>24==0)){if((c[m>>2]|0)>0){o=0}else{break}do{u=(nd(e,j)|0)&255;a[b+338+o|0]=u;o=o+1|0;}while((o|0)<(c[m>>2]|0))}}while(0);if((c[l>>2]|0)!=0){a[b+337|0]=0;break}u=(nd(e,1)|0)&255;a[b+337|0]=u;if(u<<24>>24==0){break}if((c[n>>2]|0)>0){o=0}else{break}do{u=(nd(e,j)|0)&255;a[b+354+o|0]=u;o=o+1|0;}while((o|0)<(c[n>>2]|0))}else{a[b+336|0]=0;a[b+337|0]=0}}while(0);if((c[l>>2]|0)==0){u=(nd(e,1)|0)&255;a[b+370|0]=u}if((a[f+93784+(h*4400|0)+5|0]|0)==0){a[b+371|0]=0}else{u=(nd(e,1)|0)&255;a[b+371|0]=u}do{if((a[b+324|0]|0)!=0){do{if((c[l>>2]|0)==0){o=(nd(e,1)|0)&255;a[b+372|0]=o;p=b+372|0;if(!(o<<24>>24==0)){j=113;break}if((c[n>>2]|0)>1){j=115}else{p=0;j=118}}else{a[b+372|0]=1;o=1;p=b+372|0;j=113}}while(0);if((j|0)==113){if((c[m>>2]|0)>1){j=115}else{p=o;j=118}}do{if((j|0)==115){o=qd(e)|0;c[b+376>>2]=o;if(!((o|0)==-99999)){p=a[p]|0;break}Ue(f+4|0,1007,0);u=8;return u|0}else if((j|0)==118){c[b+376>>2]=0;o=0}}while(0);if(p<<24>>24==0){if((o|0)<(c[n>>2]|0)){break}}else{if((o|0)<(c[m>>2]|0)){break}}Ue(f+4|0,8,0);u=8;return u|0}}while(0);if((a[f+93784+(h*4400|0)+29|0]|0)==0){j=125}else{if((c[l>>2]|0)==1){j=127}else{j=125}}do{if((j|0)==125){if((a[f+93784+(h*4400|0)+30|0]|0)==0){break}if((c[l>>2]|0)==0){j=127}}}while(0);do{if((j|0)==127){if(Ij(e,b,f)|0){break}Ue(f+4|0,8,0);u=8;return u|0}}while(0);l=qd(e)|0;c[b+736>>2]=l;if(!((l|0)==-99999)){c[b+804>>2]=5-l;break}Ue(f+4|0,1007,0);u=8;return u|0}}while(0);u=rd(e)|0;c[b+740>>2]=u;if((u|0)==-99999){Ue(f+4|0,1007,0);u=8;return u|0}do{if((a[f+93784+(h*4400|0)+28|0]|0)==0){c[b+744>>2]=0;c[b+748>>2]=0}else{u=rd(e)|0;c[b+744>>2]=u;if((u|0)==-99999){Ue(f+4|0,1007,0);u=8;return u|0}u=rd(e)|0;c[b+748>>2]=u;if(!((u|0)==-99999)){break}Ue(f+4|0,1007,0);u=8;return u|0}}while(0);if((a[f+93784+(h*4400|0)+4140|0]|0)!=0){u=(nd(e,1)|0)&255;a[b+752|0]=u}if((a[f+93784+(h*4400|0)+48|0]|0)==0){a[b+753|0]=0;n=1}else{n=(nd(e,1)|0)&255;a[b+753|0]=n;n=n<<24>>24==0}m=b+756|0;c[m>>2]=c[f+93784+(h*4400|0)+52>>2];l=b+760|0;c[l>>2]=c[f+93784+(h*4400|0)+56>>2];do{if(n){a[b+754|0]=a[f+93784+(h*4400|0)+49|0]|0}else{u=(nd(e,1)|0)&255;a[b+754|0]=u;if(!(u<<24>>24==0)){break}n=rd(e)|0;c[m>>2]=n;if((n|0)==-99999){Ue(f+4|0,1007,0);u=8;return u|0}c[m>>2]=n<<1;m=rd(e)|0;c[l>>2]=m;if(!((m|0)==-99999)){c[l>>2]=m<<1;break}Ue(f+4|0,1007,0);u=8;return u|0}}while(0);l=a[f+93784+(h*4400|0)+46|0]|0;c:do{if(!(l<<24>>24==0)){do{if((a[b+325|0]|0)==0){if((a[b+326|0]|0)!=0){break}if((a[b+754|0]|0)!=0){break c}}}while(0);u=(nd(e,1)|0)&255;a[b+764|0]=u;break a}}while(0);a[b+764|0]=l}}while(0);m=f+93784+(h*4400|0)+34|0;do{if((a[m]|0)==0){if((a[f+93784+(h*4400|0)+33|0]|0)!=0){j=161;break}c[b+768>>2]=0}else{j=161}}while(0);d:do{if((j|0)==161){l=qd(e)|0;j=b+768|0;c[j>>2]=l;if((l|0)==-99999){Ue(f+4|0,1007,0);u=8;return u|0}do{if((a[f+93784+(h*4400|0)+33|0]|0)!=0){if((((c[k>>2]|0)/(c[f+11096+(i*5168|0)+5056>>2]|0)|0)+l|0)<(c[f+11096+(i*5168|0)+5064>>2]|0)){break}Ue(f+4|0,1007,0);u=8;return u|0}}while(0);do{if((a[m]|0)!=0){if((l|0)<=(ga(c[f+93784+(h*4400|0)+40>>2]|0,c[f+93784+(h*4400|0)+36>>2]|0)|0)){break}Ue(f+4|0,1007,0);u=8;return u|0}}while(0);o=b+776|0;m=b+780|0;k=c[m>>2]|0;i=o|0;n=c[i>>2]|0;p=k-n>>2;do{if(p>>>0<l>>>0){qj(o,l-p|0);l=c[j>>2]|0}else{if(!(p>>>0>l>>>0)){break}n=n+(l<<2)|0;if((k|0)==(n|0)){break}c[m>>2]=k+(~((k-4+(-n|0)|0)>>>2)<<2)}}while(0);if((l|0)<=0){break}l=qd(e)|0;k=b+772|0;c[k>>2]=l;if((l|0)==-99999){Ue(f+4|0,1007,0);u=8;return u|0}m=l+1|0;c[k>>2]=m;if((l|0)>31){u=8;return u|0}if((c[j>>2]|0)>0){l=0}else{break}while(1){o=(nd(e,m)|0)+1|0;n=c[i>>2]|0;m=n+(l<<2)|0;c[m>>2]=o;if((l|0)>0){c[m>>2]=o+(c[n+(l-1<<2)>>2]|0)}l=l+1|0;if((l|0)>=(c[j>>2]|0)){break d}m=c[k>>2]|0}}}while(0);do{if((a[f+93784+(h*4400|0)+4133|0]|0)!=0){j=qd(e)|0;i=b+788|0;c[i>>2]=j;if((j|0)==-99999|(j|0)>1e3){Ue(f+4|0,1007,0);u=8;return u|0}else{if((j|0)>0){j=0}else{break}do{nd(e,8)|0;j=j+1|0;}while((j|0)<(c[i>>2]|0))}}}while(0);c[b+792>>2]=(c[b+740>>2]|0)+(c[f+93784+(h*4400|0)+8>>2]|0);f=c[b+20>>2]|0;if((f|0)==2){c[b+796>>2]=0}else if((f|0)==1){c[b+796>>2]=(a[b+371|0]|0)+1}else if((f|0)==0){c[b+796>>2]=2-(a[b+371|0]|0)}c[b+804>>2]=5-(c[b+736>>2]|0);a[g]=1;u=0;return u|0}}while(0);Ue(f+4|0,1020,0);u=8;return u|0}function Lj(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,u=0;h=i;if((g|0)==2){g=q}else if((g|0)==1){g=t}else{i=h;return}g=c[g>>2]|0;k=e+8|0;j=c[k>>2]|0;if((a[f+93784+(j*4400|0)|0]|0)==0){ec(12424,14776,1278,17264)}l=a[f+93784+(j*4400|0)+2|0]|0;if((a[f+11096+(l*5168|0)|0]|0)==0){ec(12192,14776,1281,17264)}Zk(g,11792,(n=i,i=i+1|0,i=i+7&-8,c[n>>2]=0,n)|0);i=n;n=e+4|0;Zk(g,11512,(m=i,i=i+8|0,c[m>>2]=a[n]|0,m)|0);i=m;m=f+377208|0;if(((a[m]|0)-16&255)>>>0<8>>>0){Zk(g,11232,(r=i,i=i+8|0,c[r>>2]=a[e+5|0]|0,r)|0);i=r}Zk(g,10984,(r=i,i=i+8|0,c[r>>2]=c[k>>2],r)|0);i=r;if((a[n]|0)==0){Zk(g,10720,(r=i,i=i+8|0,c[r>>2]=a[e+12|0]|0,r)|0);i=r;Zk(g,10472,(r=i,i=i+8|0,c[r>>2]=c[e+16>>2],r)|0);i=r}k=e+20|0;n=c[k>>2]|0;if((n|0)==0){n=66}else{n=(n|0)==1?80:73}Zk(g,10144,(r=i,i=i+8|0,c[r>>2]=n,r)|0);i=r;if((a[f+93784+(j*4400|0)+31|0]|0)!=0){Zk(g,9808,(r=i,i=i+8|0,c[r>>2]=a[e+24|0]|0,r)|0);i=r}if((a[f+11096+(l*5168|0)+480|0]|0)==1){Zk(g,9360,(r=i,i=i+8|0,c[r>>2]=a[e+25|0]|0,r)|0);i=r}Zk(g,9064,(r=i,i=i+8|0,c[r>>2]=c[e+28>>2],r)|0);i=r;do{if(!(((a[m]|0)-19&255)>>>0<2>>>0)){r=e+32|0;Zk(g,8752,(n=i,i=i+8|0,c[n>>2]=a[r]|0,n)|0);i=n;n=f+11096+(l*5168|0)+4720|0;m=(c[f+11096+(l*5168|0)+4724>>2]|0)-(c[n>>2]|0)|0;do{if((a[r]|0)==0){Zk(g,8440,(r=i,i=i+8|0,c[r>>2]=(m|0)/100|0,r)|0);i=r;tj(e+34|0,16,g)}else{if((m|0)<=100){break}r=e+136|0;Zk(g,8232,(p=i,i=i+8|0,c[p>>2]=c[r>>2],p)|0);i=p;tj((c[n>>2]|0)+((c[r>>2]|0)*100|0)|0,16,g)}}while(0);if((a[f+11096+(l*5168|0)+4732|0]|0)!=0){if((c[f+11096+(l*5168|0)+4736>>2]|0)>0){Zk(g,7960,(r=i,i=i+8|0,c[r>>2]=c[e+140>>2],r)|0);i=r}Zk(g,7680,(r=i,i=i+8|0,c[r>>2]=c[e+144>>2],r)|0);i=r}if((a[f+11096+(l*5168|0)+4900|0]|0)==0){break}Zk(g,7392,(r=i,i=i+8|0,c[r>>2]=a[e+324|0]|0,r)|0);i=r}}while(0);if((a[f+11096+(l*5168|0)+4703|0]|0)!=0){Zk(g,7088,(r=i,i=i+8|0,c[r>>2]=a[e+325|0]|0,r)|0);i=r;Zk(g,6808,(r=i,i=i+8|0,c[r>>2]=a[e+326|0]|0,r)|0);i=r}if((c[k>>2]|0)>>>0<2>>>0){n=e+327|0;Zk(g,6528,(m=i,i=i+8|0,c[m>>2]=a[n]|0,m)|0);i=m;m=e+328|0;p=(a[n]|0)!=0?31320:6040;Zk(g,6376,(r=i,i=i+16|0,c[r>>2]=c[m>>2],c[r+8>>2]=p,r)|0);i=r;if((c[k>>2]|0)==0){p=(a[n]|0)!=0?31320:6040;Zk(g,5856,(r=i,i=i+16|0,c[r>>2]=c[e+332>>2],c[r+8>>2]=p,r)|0);i=r}do{if((a[f+93784+(j*4400|0)+4125|0]|0)!=0){if((c[e+912>>2]|0)<=1){break}r=e+336|0;Zk(g,5712,(p=i,i=i+8|0,c[p>>2]=a[r]|0,p)|0);i=p;do{if((a[r]|0)!=0){if((c[m>>2]|0)>0){n=0}else{break}do{p=d[e+338+n|0]|0;Zk(g,5552,(r=i,i=i+16|0,c[r>>2]=n,c[r+8>>2]=p,r)|0);i=r;n=n+1|0;}while((n|0)<(c[m>>2]|0))}}while(0);r=e+337|0;Zk(g,5392,(p=i,i=i+8|0,c[p>>2]=a[r]|0,p)|0);i=p;if((a[r]|0)==0){break}o=e+332|0;if((c[o>>2]|0)>0){n=0}else{break}do{p=d[e+354+n|0]|0;Zk(g,5552,(r=i,i=i+16|0,c[r>>2]=n,c[r+8>>2]=p,r)|0);i=r;n=n+1|0;}while((n|0)<(c[o>>2]|0))}}while(0);if((c[k>>2]|0)==0){Zk(g,5224,(r=i,i=i+8|0,c[r>>2]=a[e+370|0]|0,r)|0);i=r}Zk(g,5008,(r=i,i=i+8|0,c[r>>2]=a[e+371|0]|0,r)|0);i=r;if((a[e+324|0]|0)!=0){Zk(g,4832,(r=i,i=i+8|0,c[r>>2]=a[e+372|0]|0,r)|0);i=r;Zk(g,4712,(r=i,i=i+8|0,c[r>>2]=c[e+376>>2],r)|0);i=r}if((a[f+93784+(j*4400|0)+29|0]|0)==0){n=47}else{if((c[k>>2]|0)==1){n=49}else{n=47}}do{if((n|0)==47){if((a[f+93784+(j*4400|0)+30|0]|0)==0){break}if((c[k>>2]|0)==0){n=49}}}while(0);a:do{if((n|0)==49){Zk(g,4480,(r=i,i=i+8|0,c[r>>2]=d[e+380|0]|0,r)|0);i=r;if((c[f+11096+(l*5168|0)+476>>2]|0)!=0){Zk(g,4248,(r=i,i=i+8|0,c[r>>2]=d[e+381|0]|0,r)|0);i=r}l=e+332|0;o=0;do{if((o|0)==1){if((c[k>>2]|0)==0){p=l;n=54}else{break a}}else if((o|0)==0){p=m;n=54}do{if((n|0)==54){n=0;r=c[p>>2]|0;p=r-1|0;if((r|0)<1){break}else{r=0}while(1){s=b[e+446+(o<<5)+(r<<1)>>1]|0;Zk(g,4096,(u=i,i=i+24|0,c[u>>2]=o,c[u+8>>2]=r,c[u+16>>2]=s,u)|0);i=u;u=a[e+510+(o<<4)+r|0]|0;Zk(g,4008,(s=i,i=i+24|0,c[s>>2]=o,c[s+8>>2]=r,c[s+16>>2]=u,s)|0);i=s;s=b[e+542+(o<<6)+(r<<2)>>1]|0;Zk(g,3944,(u=i,i=i+32|0,c[u>>2]=o,c[u+8>>2]=r,c[u+16>>2]=0,c[u+24>>2]=s,u)|0);i=u;u=a[e+670+(o<<5)+(r<<1)|0]|0;Zk(g,3880,(s=i,i=i+32|0,c[s>>2]=o,c[s+8>>2]=r,c[s+16>>2]=0,c[s+24>>2]=u,s)|0);i=s;s=b[e+542+(o<<6)+(r<<2)+2>>1]|0;Zk(g,3944,(u=i,i=i+32|0,c[u>>2]=o,c[u+8>>2]=r,c[u+16>>2]=1,c[u+24>>2]=s,u)|0);i=u;u=a[e+670+(o<<5)+(r<<1)+1|0]|0;Zk(g,3880,(s=i,i=i+32|0,c[s>>2]=o,c[s+8>>2]=r,c[s+16>>2]=1,c[s+24>>2]=u,s)|0);i=s;if((r|0)<(p|0)){r=r+1|0}else{break}}}}while(0);o=o+1|0;}while((o|0)<2)}}while(0);Zk(g,3792,(u=i,i=i+8|0,c[u>>2]=c[e+736>>2],u)|0);i=u}Zk(g,3624,(u=i,i=i+8|0,c[u>>2]=c[e+740>>2],u)|0);i=u;if((a[f+93784+(j*4400|0)+28|0]|0)!=0){Zk(g,3464,(u=i,i=i+8|0,c[u>>2]=c[e+744>>2],u)|0);i=u;Zk(g,3360,(u=i,i=i+8|0,c[u>>2]=c[e+748>>2],u)|0);i=u}k=e+753|0;if((a[f+93784+(j*4400|0)+48|0]|0)!=0){Zk(g,3144,(u=i,i=i+8|0,c[u>>2]=a[k]|0,u)|0);i=u}l=e+754|0;s=((a[k]|0)!=0?2896:2816)|0;Zk(g,3088,(u=i,i=i+16|0,c[u>>2]=a[l]|0,c[u+8>>2]=s,u)|0);i=u;do{if((a[k]|0)!=0){if((a[l]|0)!=0){break}Zk(g,2696,(u=i,i=i+8|0,c[u>>2]=c[e+756>>2],u)|0);i=u;Zk(g,2600,(u=i,i=i+8|0,c[u>>2]=c[e+760>>2],u)|0);i=u}}while(0);b:do{if((a[f+93784+(j*4400|0)+46|0]|0)!=0){do{if((a[e+325|0]|0)==0){if((a[e+326|0]|0)!=0){break}if((a[l]|0)!=0){break b}}}while(0);Zk(g,2480,(u=i,i=i+8|0,c[u>>2]=a[e+764|0]|0,u)|0);i=u}}while(0);do{if((a[f+93784+(j*4400|0)+34|0]|0)==0){if((a[f+93784+(j*4400|0)+33|0]|0)!=0){break}i=h;return}}while(0);f=e+768|0;Zk(g,2320,(u=i,i=i+8|0,c[u>>2]=c[f>>2],u)|0);i=u;if((c[f>>2]|0)<=0){i=h;return}Zk(g,2136,(u=i,i=i+8|0,c[u>>2]=c[e+772>>2],u)|0);i=u;if((c[f>>2]|0)<=0){i=h;return}e=e+776|0;j=0;do{s=c[(c[e>>2]|0)+(j<<2)>>2]|0;Zk(g,2048,(u=i,i=i+16|0,c[u>>2]=j,c[u+8>>2]=s,u)|0);i=u;j=j+1|0;}while((j|0)<(c[f>>2]|0));i=h;return}function Mj(){var b=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;b=Gu(11296)|0;if((b|0)==0){y=0;return y|0}dv(b|0,-1|0,11296)|0;c[7766]=b;c[7767]=b;c[7768]=b;c[7769]=b;c[7770]=b;c[7771]=b;c[7772]=b;c[7773]=b;e=b+16|0;c[7774]=e;c[7775]=e;c[7776]=e;c[7777]=e;c[7778]=e;c[7779]=e;c[7780]=e;c[7781]=e;e=b+1056|0;c[7782]=b+32;c[7783]=b+96;c[7784]=b+160;c[7785]=b+224;c[7786]=b+288;c[7787]=b+352;c[7788]=b+416;c[7789]=b+480;c[7790]=b+544;c[7791]=b+608;c[7792]=b+672;c[7793]=b+736;c[7794]=b+800;c[7795]=b+864;c[7796]=b+928;c[7797]=b+992;c[7798]=e;c[7802]=e;e=b+1312|0;c[7799]=e;c[7803]=e;e=b+1568|0;c[7800]=e;c[7804]=e;e=b+1824|0;c[7801]=e;c[7805]=e;e=b+2080|0;c[7806]=e;c[7810]=e;e=b+2336|0;c[7807]=e;c[7811]=e;e=b+2592|0;c[7808]=e;c[7812]=e;e=b+2848|0;c[7809]=e;c[7813]=e;e=b+3104|0;c[7814]=e;c[7818]=e;e=b+4128|0;c[7815]=e;c[7819]=e;e=b+5152|0;c[7816]=e;c[7820]=e;e=b+6176|0;c[7817]=e;c[7821]=e;e=b+7200|0;c[7822]=e;c[7826]=e;e=b+8224|0;c[7823]=e;c[7827]=e;e=b+9248|0;c[7824]=e;c[7828]=e;e=b+10272|0;c[7825]=e;c[7829]=e;e=2;a:while(1){q=1<<e;i=(q|0)>0;k=q>>2;f=(k|0)==1;g=e-2|0;k=(k|0)==2;h=0;do{j=(h|0)==0;b=0;do{m=(b|0)==0?9:15;l=0;do{if(i){n=31064+(g<<6)+(h<<5)+(b<<4)+(l<<2)|0;o=0;do{w=o<<2;p=o<<e;r=-o|0;s=o>>2;t=o&3;v=(t|0)==0;u=(t|0)==1|0;if(f){r=0;do{s=d[27272+(r+w)|0]|0;s=j?s:s+27|0;t=(c[n>>2]|0)+(r+p)|0;y=a[t]|0;if(!(y<<24>>24==-1|(y&255|0)==(s|0))){e=26;break a}a[t]=s;r=r+1|0;}while((r|0)<(q|0))}else{w=0;do{do{if((w|0)==(r|0)){x=0}else{x=w>>2;y=w&3;do{if((l|0)==0){y=y+t|0;if((y|0)>2){y=0;break}y=(y|0)>0?1:2}else if((l|0)==1){y=v?2:u}else if((l|0)==2){if((y|0)==0){y=2;break}y=(y|0)==1|0}else{y=2}}while(0);if(j){x=(x+s|0)>0?y+3|0:y;if(k){x=x+m|0;break}else{x=x+21|0;break}}else{if(k){x=y+9|0;break}else{x=y|12;break}}}}while(0);y=j?x:x+27|0;x=(c[n>>2]|0)+(w+p)|0;z=a[x]|0;if(!(z<<24>>24==-1|(z&255|0)==(y|0))){e=26;break a}a[x]=y;w=w+1|0;}while((w|0)<(q|0))}o=o+1|0;}while((o|0)<(q|0))}l=l+1|0;}while((l|0)<4);b=b+1|0;}while((b|0)<2);h=h+1|0;}while((h|0)<2);e=e+1|0;if((e|0)>=6){b=1;e=33;break}}if((e|0)==26){ec(1728,14776,2100,18008);return 0}else if((e|0)==33){return b|0}return 0}function Nj(){Hu(c[7766]|0);c[7766]=0;return}function Oj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;k=i;i=i+24|0;j=k|0;w=c[b+18600>>2]|0;g=c[b+18596>>2]|0;l=j|0;dv(l|0,0,17)|0;do{if((e|0)>0){n=ga(c[g+5820>>2]|0,f)|0;m=c[g+10308>>2]|0;if((c[b>>2]|0)<=(c[w+800>>2]|0)){m=1;break}if((c[m+(n+e<<2)>>2]|0)!=(c[m+(e-1+n<<2)>>2]|0)){m=1;break}m=((ud(b+18556|0,c[b+18580>>2]|0)|0)&255)<<24>>24==0}else{m=1}}while(0);do{if((f|0)>0&m){o=c[g+5820>>2]|0;n=c[g+10308>>2]|0;if(((c[b>>2]|0)-o|0)<(c[w+800>>2]|0)){n=0;break}I=n+((ga(o,f)|0)+e<<2)|0;J=n+((ga(o,f-1|0)|0)+e<<2)|0;if((c[I>>2]|0)!=(c[J>>2]|0)){n=0;break}n=((ud(b+18556|0,c[b+18580>>2]|0)|0)&255)<<24>>24!=0}else{n=0}}while(0);if(m&(n^1)){p=(c[g+5776>>2]|0)==0?1:3;q=w+325|0;o=b+18556|0;r=b+18580|0;s=g+5760|0;b=g+5768|0;v=g+10087|0;u=g+10088|0;t=j+1|0;y=w+326|0;x=0;do{w=(x|0)==0;if((a[q]|0)!=0&w){h=13}else{if((a[y]|0)!=0&(x|0)>0){h=13}}do{if((h|0)==13){h=0;do{if(w){if((ud(o,(c[r>>2]|0)+1|0)|0)==0){F=0}else{J=(wd(o)|0)==0;F=J?1:2}a[l]=F}else{if((x|0)!=1){F=(d[l]|0)>>>(x<<1>>>0)&3;break}if((ud(o,(c[r>>2]|0)+1|0)|0)==0){z=0}else{J=(wd(o)|0)==0;z=J?1:2}a[l]=z<<4|z<<2|d[l];F=z&255}}while(0);if(F<<24>>24==0){break}C=w?s:b;z=c[C>>2]|0;G=(xd(o,(z|0)<10?(1<<z-5)-1|0:31)|0)&255;z=j+5+(x<<2)|0;a[z]=G;A=c[C>>2]|0;H=(xd(o,(A|0)<10?(1<<A-5)-1|0:31)|0)&255;A=j+5+(x<<2)+1|0;a[A]=H;B=c[C>>2]|0;E=(xd(o,(B|0)<10?(1<<B-5)-1|0:31)|0)&255;B=j+5+(x<<2)+2|0;a[B]=E;C=c[C>>2]|0;D=(xd(o,(C|0)<10?(1<<C-5)-1|0:31)|0)&255;C=j+5+(x<<2)+3|0;a[C]=D;do{if(F<<24>>24==1){if(G<<24>>24==0){F=0}else{J=(wd(o)|0)!=0;F=J?-1:1}if(H<<24>>24==0){G=0}else{J=(wd(o)|0)!=0;G=J?-1:1}if(E<<24>>24==0){I=0}else{J=(wd(o)|0)!=0;I=J?-1:1}if(D<<24>>24==0){D=0}else{J=(wd(o)|0)!=0;D=J?-1:1}H=(yd(o,5)|0)&255;a[j+2+x|0]=H;H=a[A]|0;E=a[B]|0;J=D;D=a[C]|0}else{if(w){F=(yd(o,2)|0)&255;a[t]=F;F=1;G=1;I=-1;J=-1;break}if((x|0)!=1){F=1;G=1;I=-1;J=-1;break}F=(yd(o,2)|0)&255;a[t]=d[t]|F<<2|F<<4;F=1;G=1;I=-1;J=-1}}while(0);w=d[w?v:u]|0;F=(ga(a[z]<<w,F)|0)&255;a[z]=F;H=(ga(H<<24>>24<<w,G)|0)&255;a[A]=H;I=(ga(E<<24>>24<<w,I)|0)&255;a[B]=I;J=(ga(D<<24>>24<<w,J)|0)&255;a[C]=J}}while(0);x=x+1|0;}while((x|0)<(p|0));J=(ga(c[g+10352>>2]|0,f)|0)+e|0;cv((c[g+10340>>2]|0)+(J*24|0)+4|0,l|0,17)|0}if(!m){J=ga(c[g+10352>>2]|0,f)|0;I=c[g+10340>>2]|0;cv(I+((J+e|0)*24|0)+4|0,I+((e-1+J|0)*24|0)+4|0,17)|0}if(!n){i=k;return}H=c[g+10352>>2]|0;J=(ga(H,f-1|0)|0)+e|0;I=c[g+10340>>2]|0;cv(I+(((ga(H,f)|0)+e|0)*24|0)+4|0,I+(J*24|0)+4|0,17)|0;i=k;return}function Pj(d){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,p=0,q=0;i=c[d+18600>>2]|0;q=c[d+18596>>2]|0;h=c[d>>2]|0;g=c[q+5820>>2]|0;j=(h|0)%(g|0)|0;g=(h|0)/(g|0)|0;h=q+5804|0;k=c[h>>2]|0;e=j<<k;f=g<<k;m=c[q+10352>>2]|0;p=(ga(m,g)|0)+j|0;l=c[q+10340>>2]|0;b[l+(p*24|0)>>1]=c[i+800>>2];p=c[i>>2]&65535;n=c[q+10348>>2]|0;o=e>>n;n=f>>n;if(!((o|0)>-1&(o|0)<(m|0))){ec(1024,904,128,17320)}if(!((n|0)>-1)){ec(816,904,129,17320)}if((n|0)>=(c[q+10356>>2]|0)){ec(816,904,129,17320)}q=l+(((ga(m,n)|0)+o|0)*24|0)+2|0;b[q>>1]=p;do{if((a[i+325|0]|0)==0){if((a[i+326|0]|0)!=0){break}Qj(d,e,f,k,0);return}}while(0);Oj(d,j,g,0);q=c[h>>2]|0;Qj(d,e,f,q,0);return}function Qj(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var 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;o=e+18596|0;q=e+18600|0;r=e+18516|0;k=e+18508|0;l=e+18512|0;m=e+18556|0;n=e+18580|0;a:while(1){j=c[o>>2]|0;t=1<<h;s=j+1248|0;v=c[s>>2]|0;do{if((t+f|0)>(v|0)){p=28}else{w=c[j+1252>>2]|0;if((t+g|0)>(w|0)){p=28;break}if((c[j+5800>>2]|0)>=(h|0)){p=28;break}u=f-1|0;do{if((u|g|0)>-1&(v|0)>(u|0)&(w|0)>(g|0)){t=c[j+5804>>2]|0;y=ga(g>>t,c[j+5820>>2]|0)|0;x=y+(f>>t)|0;t=y+(u>>t)|0;y=c[j+10340>>2]|0;if((b[y+(x*24|0)>>1]|0)!=(b[y+(t*24|0)>>1]|0)){x=0;break}y=c[j+10308>>2]|0;x=(c[y+(x<<2)>>2]|0)==(c[y+(t<<2)>>2]|0)|0}else{x=0}}while(0);t=g-1|0;do{if((t|f|0)>-1&(v|0)>(f|0)&(w|0)>(t|0)){z=c[j+5804>>2]|0;y=c[j+5820>>2]|0;w=f>>z;v=(ga(g>>z,y)|0)+w|0;w=(ga(t>>z,y)|0)+w|0;y=c[j+10340>>2]|0;if((b[y+(v*24|0)>>1]|0)!=(b[y+(w*24|0)>>1]|0)){v=0;break}z=c[j+10308>>2]|0;v=(c[z+(v<<2)>>2]|0)==(c[z+(w<<2)>>2]|0)|0}else{v=0}}while(0);if((x|0)==0){u=2}else{x=c[j+10368>>2]|0;w=u>>x;x=g>>x;if(!((w|0)>-1)){p=14;break a}u=c[j+10372>>2]|0;if((w|0)>=(u|0)){p=14;break a}if(!((x|0)>-1)){p=17;break a}if((x|0)>=(c[j+10376>>2]|0)){p=17;break a}u=(ga(u,x)|0)+w|0;u=(c[j+10360>>2]|0)+(u*3|0)|0;u=(((d[u]|d[u+1|0]<<8)<<16>>16&65535)>>>6&255&3|0)>(i|0)|2}if((v|0)==0){t=0}else{z=c[j+10368>>2]|0;v=f>>z;t=t>>z;if(!((v|0)>-1)){p=22;break a}w=c[j+10372>>2]|0;if((v|0)>=(w|0)){p=22;break a}if(!((t|0)>-1)){p=25;break a}if((t|0)>=(c[j+10376>>2]|0)){p=25;break a}t=(ga(w,t)|0)+v|0;t=(c[j+10360>>2]|0)+(t*3|0)|0;t=(((d[t]|d[t+1|0]<<8)<<16>>16&65535)>>>6&255&3|0)>(i|0)|0}t=ud(m,(c[n>>2]|0)+(t+u)|0)|0}}while(0);if((p|0)==28){p=0;t=(c[j+5800>>2]|0)<(h|0)|0}do{if((a[j+5946|0]|0)!=0){if((c[j+10092>>2]|0)>(h|0)){break}c[k>>2]=0;c[l>>2]=0}}while(0);do{if((a[(c[q>>2]|0)+752|0]|0)!=0){if((c[j+10096>>2]|0)>(h|0)){break}c[r>>2]=0}}while(0);if((t|0)==0){p=42;break}h=h-1|0;u=1<<h;t=u+f|0;u=u+g|0;i=i+1|0;Qj(e,f,g,h,i);if((t|0)<(c[s>>2]|0)){Qj(e,t,g,h,i)}g=j+1252|0;if((u|0)<(c[g>>2]|0)){Qj(e,f,u,h,i)}if((t|0)>=(c[s>>2]|0)){p=48;break}if((u|0)<(c[g>>2]|0)){g=u;f=t}else{p=48;break}}if((p|0)==14){ec(1024,904,118,17320)}else if((p|0)==17){ec(816,904,119,17320)}else if((p|0)==22){ec(1024,904,118,17320)}else if((p|0)==25){ec(816,904,119,17320)}else if((p|0)==42){m=c[j+10368>>2]|0;k=f>>m;p=g>>m;m=1<<h-m;l=m+p|0;if((m|0)>0){m=m+k|0;n=j+10372|0;j=j+10360|0;o=(i&65535)<<6&192;do{q=k;do{z=(ga(c[n>>2]|0,p)|0)+q|0;z=(c[j>>2]|0)+(z*3|0)|0;C=(d[z]|d[z+1|0]<<8)<<16>>16&-193|o;a[z]=C;C=C>>8;a[z+1|0]=C;q=q+1|0;}while((q|0)<(m|0));p=p+1|0;}while((p|0)<(l|0))}Xj(e,f,g,h,i);return}else if((p|0)==48){return}}function Rj(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;o=i;i=i+152|0;B=o|0;r=o+8|0;q=o+72|0;m=o+104|0;n=o+120|0;l=o+136|0;Z=c[f+18596>>2]|0;x=Z+764|0;u=c[Z+10368>>2]|0;t=g>>u;u=h>>u;if(!((t|0)>-1)){ec(1024,904,118,17320);return 0}s=c[Z+10372>>2]|0;if((t|0)>=(s|0)){ec(1024,904,118,17320);return 0}if(!((u|0)>-1)){ec(816,904,119,17320);return 0}if((u|0)>=(c[Z+10376>>2]|0)){ec(816,904,119,17320);return 0}w=(ga(s,u)|0)+t|0;w=(c[Z+10360>>2]|0)+(w*3|0)|0;w=((d[w]|d[w+1|0]<<8)<<16>>16&65535)>>>8&3;s=(k|0)==0;do{if(s){v=c[Z+10448>>2]|0;u=g>>v;C=h>>v;v=1<<j-v;t=v+C|0;if((v|0)<=0){break}z=v+u|0;y=Z+10452|0;v=Z+10440|0;do{A=u;do{qa=(ga(c[y>>2]|0,C)|0)+A|0;qa=(c[v>>2]|0)+qa|0;a[qa]=a[qa]|-128;A=A+1|0;}while((A|0)<(z|0));C=C+1|0;}while((C|0)<(t|0))}}while(0);do{if((a[Z+5945|0]|0)==0){p=17}else{if((a[f+32|0]|0)!=0){p=17;break}if((c[Z+10100>>2]|0)<(j|0)){p=17;break}qa=(ud(f+18556|0,(c[f+18580>>2]|0)+((k|0)!=0?142:141)|0)|0)&255;a[f+33+k|0]=qa}}while(0);if((p|0)==17){a[f+33+k|0]=0}t=f+36|0;a[t]=0;do{if(w<<24>>24==1){if((a[Z+5751|0]|0)==0){p=24;break}u=f+33+k|0;if((a[u]|0)==0){if((a[f+32|0]|0)==0){p=24;break}}z=f+18580|0;y=f+18556|0;v=(k|0)!=0;qa=(ud(y,(c[z>>2]|0)+(v?144:143)|0)|0)&255;a[t]=qa;if(qa<<24>>24==0){break}qa=(ud(y,(c[z>>2]|0)+(v?146:145)|0)|0)&255;a[f+37|0]=qa}else{p=24}}while(0);if((p|0)==24){a[t]=0;u=f+33+k|0}V=s?2:0;if((a[u]|0)==0){if((a[f+32|0]|0)!=0){p=27}}else{p=27}if((p|0)==27){V=V|1}v=f+18580|0;C=c[v>>2]|0;y=(j<<1)-1|0;if(s){D=(j*3|0)-6+(j-1>>2)+25|0;G=j+1>>2}else{D=40;G=j-2|0}z=(y|0)>0;if(z){E=f+18556|0;A=0;while(1){F=A+1|0;if((ud(E,C+(D+(A>>G))|0)|0)==0){break}if((F|0)<(y|0)){A=F}else{A=y;break}}C=c[v>>2]|0}else{A=y}if(s){D=(j*3|0)-6+(j-1>>2)+43|0;E=j+1>>2}else{D=58;E=j-2|0}a:do{if(z){G=f+18556|0;z=0;while(1){F=z+1|0;if((ud(G,C+(D+(z>>E))|0)|0)==0){y=z;break a}if((F|0)<(y|0)){z=F}else{break}}}}while(0);if((A|0)>3){z=(A>>1)-1|0;z=(yd(f+18556|0,z)|0)+((A&1|2)<<z)|0}else{z=A}if((y|0)>3){qa=(y>>1)-1|0;y=(yd(f+18556|0,qa)|0)+((y&1|2)<<qa)|0}w=w<<24>>24==0;if(w){do{if(s){D=c[Z+10408>>2]|0;C=g>>D;D=h>>D;if(!((C|0)>-1)){ec(1024,904,118,17320);return 0}A=c[Z+10412>>2]|0;if((C|0)>=(A|0)){ec(1024,904,118,17320);return 0}if(!((D|0)>-1)){ec(816,904,119,17320);return 0}if((D|0)<(c[Z+10416>>2]|0)){E=(ga(A,D)|0)+C|0;E=ei(j,d[(c[Z+10400>>2]|0)+E|0]|0,0,x)|0;break}else{ec(816,904,119,17320);return 0}}else{D=c[Z+10428>>2]|0;C=g>>D;D=h>>D;if(!((C|0)>-1)){ec(1024,904,118,17320);return 0}A=c[Z+10432>>2]|0;if((C|0)>=(A|0)){ec(1024,904,118,17320);return 0}if(!((D|0)>-1)){ec(816,904,119,17320);return 0}if((D|0)<(c[Z+10436>>2]|0)){E=(ga(A,D)|0)+C|0;E=ei(j,a[(c[Z+10420>>2]|0)+E|0]&63,k,x)|0;break}else{ec(816,904,119,17320);return 0}}}while(0);x=(E|0)==2;A=x?z:y;C=x?y:z}else{A=y;C=z;E=0}x=j-2|0;y=Cj(x,E)|0;z=Cj(2,E)|0;Dj(B,C,A,E,j);A=a[B+1|0]|0;C=d[B|0]|0;dv(r|0,0,1<<x<<x|0)|0;B=f+14404+(k<<1)|0;b[B>>1]=0;D=f+18556|0;H=(E|0)!=0|0;I=(k|0)!=0|0;U=(A&255)-1|0;E=q|0;K=l|0;N=m|0;O=Z+5749|0;Q=f+32|0;T=s?42:43;S=(k|0)>0;L=Z+10408|0;P=Z+10412|0;R=Z+10416|0;J=Z+10400|0;M=Z+5750|0;F=Z+5936|0;G=Z+5755|0;X=f+18588+V|0;Y=Z+10428|0;W=Z+10432|0;V=Z+10436|0;$=Z+10420|0;fa=0;ea=0;_=C;da=1;b:while(1){ba=a[y+(_<<1)|0]|0;aa=a[y+(_<<1)+1|0]|0;Z=(_|0)>0;do{if((_|0)<(C|0)&Z){ca=ba&255;ha=d[r+(((aa&255)<<x)+ca)|0]|0;ha=ha&1|ha>>>1;if((ud(D,(c[v>>2]|0)+((s?ha:ha+2|0)+61)|0)|0)!=0){ja=1;p=69}}else{if(!((_|0)==0|(_|0)==(C|0))){break}ja=0;ca=ba&255;p=69}}while(0);do{if((p|0)==69){p=0;if(!(ba<<24>>24==0)){qa=r+(ca-1+((aa&255)<<x))|0;a[qa]=a[qa]|1}ha=aa&255;if(!(aa<<24>>24==0)){qa=r+((ha-1<<x)+ca)|0;a[qa]=a[qa]|2}aa=ca<<2;ba=ha<<2;ia=c[31064+(x<<6)+(I<<5)+(H<<4)+(d[r+((ha<<x)+ca)|0]<<2)>>2]|0;ca=(_|0)==(C|0);ha=ca?U:15;if(ca){b[E>>1]=1;a[K]=1;a[N]=A;ca=1}else{ca=0}if((ha|0)>0){ka=ha;do{ma=(d[z+(ka<<1)|0]|0)+aa|0;la=(d[z+(ka<<1)+1|0]|0)+ba|0;do{if((a[O]|0)==0){p=79}else{if((a[Q]|0)!=0){la=T;break}if((a[u]|0)==0){p=79}else{la=T}}}while(0);if((p|0)==79){p=0;la=a[ia+(ma+(la<<j))|0]|0}if((ud(D,(c[v>>2]|0)+((la&255)+65)|0)|0)!=0){b[q+(ca<<1)>>1]=1;a[l+ca|0]=1;a[m+ca|0]=ka;ja=0;ca=ca+1|0}ka=ka-1|0;}while((ka|0)>0)}do{if((ha|0)>-1){if((ja|0)!=0){b[q+(ca<<1)>>1]=1;a[l+ca|0]=1;a[m+ca|0]=0;ca=ca+1|0;break}do{if((a[O]|0)==0){p=88}else{if((a[Q]|0)!=0){ha=T;break}if((a[u]|0)==0){p=88}else{ha=T}}}while(0);if((p|0)==88){p=0;ha=a[ia+((ba<<j)+aa)|0]|0}if((ud(D,(c[v>>2]|0)+((ha&255)+65)|0)|0)==0){break}b[q+(ca<<1)>>1]=1;a[l+ca|0]=1;a[m+ca|0]=0;ca=ca+1|0}}while(0);if((ca|0)==0){break}ia=((_|0)==0|S?0:2)|(da|0)==0;ha=(ca|0)>8?8:ca;do{if((ha|0)>0){ja=ia<<2;la=-1;da=1;ka=0;do{do{if((ka|0)==0){fa=1}else{if((fa|0)<=0){break}fa=(ea|0)==1?0:fa+1|0}}while(0);ea=((fa|0)<3?fa:3)+ja|0;ea=ud(D,(c[v>>2]|0)+((S?ea+16|0:ea)+109)|0)|0;if((ea|0)==0){a[l+ka|0]=0;da=((da-1|0)>>>0<2>>>0)+da|0}else{da=q+(ka<<1)|0;b[da>>1]=(b[da>>1]|0)+1;da=0;la=(la|0)==-1?ka:la}ka=ka+1|0;}while((ka|0)<(ha|0));if((la|0)==-1){break}qa=ud(D,(c[v>>2]|0)+((S?ia|4:ia)+133)|0)|0;pa=q+(la<<1)|0;b[pa>>1]=(e[pa>>1]|0)+qa;a[l+la|0]=qa}else{da=1}}while(0);if(s){ha=c[L>>2]|0;ia=g>>ha;ha=h>>ha;if(!((ia|0)>-1)){p=107;break b}ja=c[P>>2]|0;if((ia|0)>=(ja|0)){p=107;break b}if(!((ha|0)>-1)){p=110;break b}if((ha|0)>=(c[R>>2]|0)){p=110;break b}ha=(ga(ja,ha)|0)+ia|0;ha=d[(c[J>>2]|0)+ha|0]|0}else{ha=c[Y>>2]|0;ia=g>>ha;ha=h>>ha;if(!((ia|0)>-1)){p=114;break b}ja=c[W>>2]|0;if((ia|0)>=(ja|0)){p=114;break b}if(!((ha|0)>-1)){p=117;break b}if((ha|0)>=(c[V>>2]|0)){p=117;break b}ha=(ga(ja,ha)|0)+ia|0;ha=a[(c[$>>2]|0)+ha|0]&63}c:do{if((a[Q]|0)==0){do{if(w){if((a[M]|0)==0){break}if((a[u]|0)==0){break}if((ha&239|0)==10){ja=0;break c}}}while(0);if((a[t]|0)!=0){ja=0;break}ja=((a[N]|0)-(a[m+(ca-1)|0]|0)|0)>3|0}else{ja=0}}while(0);ha=ca-1|0;if((ha|0)>0){ia=0;do{qa=(wd(D)|0)&255;a[n+ia|0]=qa;ia=ia+1|0;}while((ia|0)<(ha|0))}ia=(ja|0)==0;if((a[F]|0)==0|ia){qa=(wd(D)|0)&255;a[n+ha|0]=qa}else{a[n+ha|0]=0}if((a[G]|0)==0){na=0}else{na=(d[X]|0)>>>2}if((ca|0)>0){ja=0;ma=1;ka=0}else{break}do{la=b[q+(ka<<1)>>1]|0;do{if((a[l+ka|0]|0)==0){oa=0}else{pa=-1;while(1){qa=pa+1|0;oa=wd(D)|0;if((pa|0)>63){oa=0;break}if((oa|0)==0){p=137;break}else{pa=qa}}do{if((p|0)==137){p=0;if((qa|0)<4){oa=(yd(D,na)|0)+(qa<<na)|0;break}else{oa=pa-2|0;oa=(yd(D,oa+na|0)|0)+((1<<oa)+2<<na)|0;break}}}while(0);pa=(a[G]|0)==0;qa=(oa+la|0)>(3<<na|0);if(pa){if(!qa){ma=0;break}na=na+1|0;ma=0;na=(na|0)>4?4:na;break}na=(qa&1)+na|0;if(pa|ma^1){ma=0;break}ma=a[X]|0;pa=(ma&255)>>>2;if((oa|0)>=(3<<pa|0)){a[X]=ma+1;ma=0;break}if((oa<<1|0)>=(1<<pa|0)|ma<<24>>24==0){ma=0;break}a[X]=ma-1;ma=0}}while(0);la=oa+la|0;oa=la&65535;oa=(a[n+ka|0]|0)==0?oa:-oa&65535;do{if((a[F]|0)==0|ia){la=oa}else{ja=la+ja|0;if((ka|0)!=(ha|0)){la=oa;break}la=(ja&1|0)==0?oa:-oa&65535}}while(0);qa=a[m+ka|0]|0;pa=(d[z+(qa<<1)|0]|0)+aa|0;qa=(d[z+(qa<<1)+1|0]|0)+ba|0;b[f+2116+(k<<11)+(b[B>>1]<<1)>>1]=la;b[f+8260+(k<<11)+(b[B>>1]<<1)>>1]=pa+(qa<<j);b[B>>1]=(b[B>>1]|0)+1;ka=ka+1|0;}while((ka|0)<(ca|0))}}while(0);if(Z){_=_-1|0}else{p=153;break}}if((p|0)==107){ec(1024,904,118,17320);return 0}else if((p|0)==110){ec(816,904,119,17320);return 0}else if((p|0)==114){ec(1024,904,118,17320);return 0}else if((p|0)==117){ec(816,904,119,17320);return 0}else if((p|0)==153){i=o;return 0}return 0}function Sj(b,e,f,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;if((o|0)==-1){ec(1560,14776,3547,18792);return 0}if((p|0)==-1){ec(1424,14776,3548,18792);return 0}if((n|0)==-1){ec(1392,14776,3549,18792);return 0}l=b+18596|0;u=c[l>>2]|0;t=c[u+5776>>2]|0;w=(t|0)==3;q=((w^1)<<31>>31)+k|0;r=(q|0)<2?2:q;v=b+33|0;C=0;a[v]=C;C=C>>8;a[v+1|0]=C;C=C>>8;a[v+2|0]=C;C=C>>8;a[v+3|0]=C;v=c[u+10368>>2]|0;x=e>>v;v=f>>v;if(!((x|0)>-1)){ec(1024,904,118,17320);return 0}q=c[u+10372>>2]|0;if((x|0)>=(q|0)){ec(1024,904,118,17320);return 0}if(!((v|0)>-1)){ec(816,904,119,17320);return 0}if((v|0)>=(c[u+10376>>2]|0)){ec(816,904,119,17320);return 0}x=(ga(q,v)|0)+x|0;x=(c[u+10360>>2]|0)+(x*3|0)|0;x=((d[x]|d[x+1|0]<<8)<<16>>16&65535)>>>8&3;q=x&255;A=(n|0)!=0;y=A^1;n=(p|o|0)==0;do{if(!(n&y)){do{if((a[u+5946|0]|0)==0){u=0}else{u=b+18508|0;if((c[u>>2]|0)!=0){u=0;break}v=b+18556|0;z=b+18580|0;do{if((ud(v,(c[z>>2]|0)+139|0)|0)==0){v=0;B=0}else{B=1;D=0;do{if((ud(v,(c[z>>2]|0)+140|0)|0)==0){break}B=B+1|0;D=D+1|0;}while((D|0)<4);if((B|0)==5){B=(zd(v,0)|0)+5|0}if((B|0)==0){v=0;B=0;break}v=(wd(v)|0)<<1}}while(0);c[u>>2]=1;u=ga(1-v|0,B)|0;c[b+18512>>2]=u;u=1}}while(0);do{if((a[(c[b+18600>>2]|0)+752|0]|0)==0|n){s=32}else{if((a[b+32|0]|0)!=0){s=32;break}n=b+18516|0;if((c[n>>2]|0)!=0){s=32;break}v=b+18556|0;z=b+18580|0;D=ud(v,(c[z>>2]|0)+23|0)|0;u=c[l>>2]|0;if((D|0)==0){c[n>>2]=1;c[b+18520>>2]=0;c[b+18524>>2]=0;break}if((d[u+10074|0]|0)>>>0>1>>>0){v=ud(v,(c[z>>2]|0)+24|0)|0}else{v=0}c[n>>2]=1;c[b+18520>>2]=a[u+10075+v|0]|0;c[b+18524>>2]=a[u+10081+v|0]|0}}while(0);if((s|0)==32){if(!u){break}}Qk(b,e,f,i,j)}}while(0);B=1<<k;v=1<<r;n=c[l>>2]|0;u=c[n+5780>>2]|0;n=c[n+5784>>2]|0;z=b+28|0;c[z>>2]=0;if(A){Rj(b,e,f,k,0)|0}Tj(b,e,f,i,j,B,0,q,A);if(!((k|0)>2|w)){if((m|0)!=3){return 0}e=(o&1|0)!=0;if(e){Rj(b,g,h,k,1)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(g|0)/(u|0)|0,(h|0)/(n|0)|0,(i|0)/(u|0)|0,(j|0)/(n|0)|0,B,1,q,e)}f=(o&2|0)!=0;if(f){Rj(b,g,B+h|0,k,1)|0}e=(t|0)==2;if(e){Tj(b,(g|0)/(u|0)|0,((h|0)/(n|0)|0)+B|0,(i|0)/(u|0)|0,(j|0)/(n|0)|0,B,1,q,f)}f=(p&1|0)!=0;if(f){Rj(b,g,h,k,2)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(g|0)/(u|0)|0,(h|0)/(n|0)|0,(i|0)/(u|0)|0,(j|0)/(n|0)|0,B,2,q,f)}p=(p&2|0)!=0;if(p){Rj(b,g,v+h|0,k,2)|0}if(!e){return 0}Tj(b,(g|0)/(u|0)|0,((h|0)/(n|0)|0)+B|0,(i|0)/(u|0)|0,(j|0)/(n|0)|0,B,2,q,p);return 0}h=c[l>>2]|0;a:do{if((a[h+10071|0]|0)==0|y){h=0;g=0}else{do{if(!(x<<24>>24==1)){g=c[h+10428>>2]|0;k=e>>g;g=f>>g;if(!((k|0)>-1)){ec(1024,904,118,17320);return 0}m=c[h+10432>>2]|0;if((k|0)>=(m|0)){ec(1024,904,118,17320);return 0}if(!((g|0)>-1)){ec(816,904,119,17320);return 0}if((g|0)<(c[h+10436>>2]|0)){D=(ga(m,g)|0)+k|0;if((a[(c[h+10420>>2]|0)+D|0]|0)<0){break}else{h=0;g=0;break a}}else{ec(816,904,119,17320);return 0}}}while(0);g=b+18556|0;k=b+18580|0;m=0;do{if((ud(g,(c[k>>2]|0)+(m+162)|0)|0)==0){s=49;break}m=m+1|0;}while((m|0)<4);if((s|0)==49){if((m|0)==0){h=1;g=0;break}}h=1;g=1-((ud(g,(c[k>>2]|0)+170|0)|0)<<1)<<m-1}}while(0);c[z>>2]=g;g=(o&1|0)!=0;if(g){Rj(b,e,f,r,1)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(e|0)/(u|0)|0,(f|0)/(n|0)|0,(i|0)/(u|0)|0,(j|0)/(n|0)|0,v,1,q,g)}t=(t|0)==2;if(t){o=(o&2|0)!=0;if(o){Rj(b,e,(n<<r)+f|0,r,1)|0}Tj(b,(e|0)/(u|0)|0,((f|0)/(n|0)|0)+v|0,(i|0)/(u|0)|0,((j|0)/(n|0)|0)+v|0,v,1,q,o)}do{if(h){h=b+18556|0;o=b+18580|0;g=0;do{if((ud(h,(c[o>>2]|0)+(g+166)|0)|0)==0){s=63;break}g=g+1|0;}while((g|0)<4);if((s|0)==63){if((g|0)==0){s=0;break}}s=1-((ud(h,(c[o>>2]|0)+171|0)|0)<<1)<<g-1}else{s=0}}while(0);c[z>>2]=s;s=(p&1|0)!=0;if(s){Rj(b,e,f,r,2)|0}if((c[(c[l>>2]|0)+5776>>2]|0)!=0){Tj(b,(e|0)/(u|0)|0,(f|0)/(n|0)|0,(i|0)/(u|0)|0,(j|0)/(n|0)|0,v,2,q,s)}if(!t){return 0}p=(p&2|0)!=0;if(p){Rj(b,e,(n<<r)+f|0,r,2)|0}Tj(b,(e|0)/(u|0)|0,((f|0)/(n|0)|0)+v|0,(i|0)/(u|0)|0,((j|0)/(n|0)|0)+v|0,v,2,q,p);return 0}function Tj(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=e+18596|0;n=c[o>>2]|0;l=(l|0)==0;do{if(l){do{if((k|0)==0){q=c[n+10408>>2]|0;r=f>>q;q=g>>q;if(!((r|0)>-1)){ec(1024,904,118,17320)}s=c[n+10412>>2]|0;if((r|0)>=(s|0)){ec(1024,904,118,17320)}if(!((q|0)>-1)){ec(816,904,119,17320)}if((q|0)<(c[n+10416>>2]|0)){p=(ga(s,q)|0)+r|0;p=d[(c[n+10400>>2]|0)+p|0]|0;break}else{ec(816,904,119,17320)}}else{r=ga(c[n+5780>>2]|0,f)|0;s=ga(c[n+5784>>2]|0,g)|0;q=c[n+10428>>2]|0;r=r>>q;q=s>>q;if(!((r|0)>-1)){ec(1024,904,118,17320)}s=c[n+10432>>2]|0;if((r|0)>=(s|0)){ec(1024,904,118,17320)}if(!((q|0)>-1)){ec(816,904,119,17320)}if((q|0)<(c[n+10436>>2]|0)){p=(ga(s,q)|0)+r|0;p=a[(c[n+10420>>2]|0)+p|0]&63;break}else{ec(816,904,119,17320)}}}while(0);p=p>>>0>34>>>0?1:p;fi(n,f,g,p,j,k);do{if((a[(c[o>>2]|0)+5750|0]|0)==0){n=0}else{if((a[e+32|0]|0)==0){if((a[e+33+k|0]|0)==0){n=0;break}}n=(p&239|0)==10}}while(0);n=n&(p|0)==26?2:n&1}else{if((a[e+36|0]|0)==0){n=0;break}n=(a[e+37|0]|0)!=0?2:1}}while(0);if(m){Rk(e,f,g,h,i,j,k,(a[e+33+k|0]|0)!=0,l,n);return}if((k|0)==0){return}if((c[e+28>>2]|0)==0){return}b[e+14404+(k<<1)>>1]=0;Rk(e,f,g,h,i,j,k,(a[e+33+k|0]|0)!=0,l,0);return}function Uj(b,e,f,g,h,i,j,k,l,m,n,o,p,q,r){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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;x=b+18596|0;y=c[x>>2]|0;z=c[y+10368>>2]|0;A=e>>z;if(!((A|0)>-1)){ec(1024,904,118,17320)}u=(o|0)==1;s=b+18556|0;t=b+18580|0;w=(o|0)!=0;v=f;E=f>>z;D=z;a:while(1){B=c[y+10372>>2]|0;if((A|0)>=(B|0)){f=4;break}if(!((E|0)>-1)){f=7;break}C=c[y+10376>>2]|0;if((E|0)>=(C|0)){f=7;break}z=(ga(B,E)|0)+A|0;A=c[y+10360>>2]|0;z=A+(z*3|0)|0;z=((d[z]|d[z+1|0]<<8)<<16>>16&65535)>>>8&3;if((z&255|0)!=(p|0)){f=9;break}E=(c[y+5868>>2]|0)<(k|0);do{if(E){f=15}else{if((l|0)>=(n|0)|(c[y+5864>>2]|0)>=(k|0)|w&(l|0)==0){f=15;break}f=5-k|0;if(!(f>>>0<3>>>0)){f=13;break a}A=ud(s,(c[t>>2]|0)+(f+20)|0)|0;f=21}}while(0);do{if((f|0)==15){f=e>>D;D=v>>D;if(!((f|0)>-1&(f|0)<(B|0))){f=16;break a}if(!((D|0)>-1&(D|0)<(C|0))){f=18;break a}if(E){f=22;break}A=A+(((ga(B,D)|0)+f|0)*3|0)|0;A=(u&(l|0)==0|(c[y+1392>>2]|l|0)==0&z<<24>>24==1&((d[A]|d[A+1|0]<<8)<<16>>16&56)!=0)&1;f=21}}while(0);if((f|0)==21){f=0;if((A|0)==0){A=0}else{f=22}}if((f|0)==22){f=c[y+10448>>2]|0;A=e>>f;f=v>>f;if(!((A|0)>-1)){f=24;break}B=c[y+10452>>2]|0;if((A|0)>=(B|0)){f=24;break}if(!((f|0)>-1)){f=27;break}if((f|0)>=(c[y+10456>>2]|0)){f=27;break}A=(ga(B,f)|0)+A|0;A=(c[y+10440>>2]|0)+A|0;a[A]=d[A]|0|1<<l;A=1}f=c[y+5776>>2]|0;if((k|0)>2){if((f|0)==0){C=-1;f=41}else{f=32}}else{if((f|0)==3){f=32}else{C=-1;f=41}}if((f|0)==32){f=0;do{if(q<<24>>24==0){B=-1}else{C=l+16|0;B=ud(s,(c[t>>2]|0)+C|0)|0;if((c[y+5776>>2]|0)!=2){break}if(!((k|0)==3|A^1)){break}B=(ud(s,(c[t>>2]|0)+C|0)|0)<<1|B}}while(0);do{if(r<<24>>24==0){C=-1}else{D=l+16|0;C=ud(s,(c[t>>2]|0)+D|0)|0;if((c[y+5776>>2]|0)!=2){break}if(!((k|0)==3|A^1)){break}C=(ud(s,(c[t>>2]|0)+D|0)|0)<<1|C}}while(0);if((B|0)<0){f=41}else{q=B}}if((f|0)==41){y=(k|0)==2;if((l|0)==0&y){f=42;break}q=(l|0)>0&y?q&255:0}if((C|0)<0){r=(l|0)>0&(k|0)==2?r&255:0}else{r=C}if(!A){f=48;break}k=k-1|0;z=1<<k;h=z+e|0;z=z+v|0;l=l+1|0;q=q&255;r=r&255;Uj(b,e,v,e,v,i,j,k,l,0,n,o,p,q,r);Uj(b,h,v,e,v,i,j,k,l,1,n,o,p,q,r);Uj(b,e,z,e,v,i,j,k,l,2,n,o,p,q,r);y=c[x>>2]|0;f=c[y+10368>>2]|0;A=h>>f;if((A|0)>-1){g=e;e=h;h=v;v=z;m=3;E=z>>f;D=f}else{f=4;break}}if((f|0)==4){ec(1024,904,118,17320)}else if((f|0)==7){ec(816,904,119,17320)}else if((f|0)==9){ec(1368,14776,3827,18816)}else if((f|0)==13){ec(416,14776,1820,17880)}else if((f|0)==16){ec(1024,904,118,17320)}else if((f|0)==18){ec(816,904,119,17320)}else if((f|0)==24){ec(1024,904,128,17320)}else if((f|0)==27){ec(816,904,129,17320)}else if((f|0)==42){ec(1320,14776,3894,18816)}else if((f|0)==48){u=(l|0)==0;if(z<<24>>24!=0&u&(q|0)==0&(r|0)==0){E=1;Sj(b,e,v,g,h,i,j,k,0,m,E,q,r)|0;return}E=ud(s,(c[t>>2]|0)+(u&1|14)|0)|0;Sj(b,e,v,g,h,i,j,k,0,m,E,q,r)|0;return}}function Vj(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;d=a+18556|0;i=a+18580|0;g=ud(d,(c[i>>2]|0)+150|0)|0;e=ud(d,(c[i>>2]|0)+150|0)|0;g=(g|0)==0;if(g){h=0}else{h=ud(d,(c[i>>2]|0)+151|0)|0}e=(e|0)==0;if(e){i=0}else{i=ud(d,(c[i>>2]|0)+151|0)|0}do{if(g){g=0}else{if((h|0)==0){g=-1}else{g=zd(d,1)|0}if((wd(d)|0)==0){g=g+2&65535;break}g=-2-g&65535}}while(0);if(e){h=0;i=a+18+(f<<2)|0;b[i>>1]=g;i=a+18+(f<<2)+2|0;b[i>>1]=h;return}if((i|0)==0){e=-1}else{e=zd(d,1)|0}if((wd(d)|0)==0){h=e+2&65535;i=a+18+(f<<2)|0;b[i>>1]=g;i=a+18+(f<<2)+2|0;b[i>>1]=h;return}h=-2-e&65535;i=a+18+(f<<2)|0;b[i>>1]=g;i=a+18+(f<<2)+2|0;b[i>>1]=h;return}function Wj(d,e,f,g,h,i,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=d+18600|0;s=c[p>>2]|0;q=d+18556|0;r=d+18580|0;w=ud(q,(c[r>>2]|0)+147|0)|0;n=d+16|0;o=d+26|0;u=(w&255)<<4&16|a[o]&-17;a[o]=u;if((w|0)!=0){a:do{if((c[(c[p>>2]|0)+804>>2]|0)<2){q=0}else{if((ud(q,(c[r>>2]|0)+148|0)|0)==0){q=0;break}if(((c[(c[p>>2]|0)+804>>2]|0)-1|0)>1){s=1}else{q=1;break}while(1){r=s+1|0;if((wd(q)|0)==0){q=s&255;break a}if((r|0)<((c[(c[p>>2]|0)+804>>2]|0)-1|0)){s=r}else{q=r&255;break}}}}while(0);a[o]=a[o]&31|q<<5;u=d+18592|0;u=c[u>>2]|0;u=u|0;v=c[p>>2]|0;w=d+18596|0;w=c[w>>2]|0;Ii(u,v,w,n,e,f,g,h,l,i,j,m);return}if((c[s+20>>2]|0)==0){u=c[r>>2]|0;do{if((j+i|0)==12){k=ud(q,u+160|0)|0}else{if((ud(q,u+(k+156)|0)|0)!=0){k=2;break}k=ud(q,u+160|0)|0}}while(0);k=k+1|0;a[o]=a[o]&-4|k&3;if((k|0)==2){k=2}else{t=15}}else{a[o]=u&-4|1;k=1;t=15}do{if((t|0)==15){v=(c[s+328>>2]|0)-1|0;b:do{if((v|0)==0){u=0}else{if((ud(q,(c[r>>2]|0)+154|0)|0)==0){u=0;break}u=v&255;w=0;while(1){t=w+1|0;if((t|0)==(v|0)){break b}if((w|0)==0){w=ud(q,(c[r>>2]|0)+155|0)|0}else{w=wd(q)|0}if((w|0)==0){u=t&255;break}else{w=t}}}}while(0);a[n|0]=u;Vj(d,0,0,0);w=(ud(q,(c[r>>2]|0)+152|0)|0)&255;a[o]=w<<2&4|a[o]&-5;if((k|0)!=1){break}u=d+18592|0;u=c[u>>2]|0;u=u|0;v=c[p>>2]|0;w=d+18596|0;w=c[w>>2]|0;Ii(u,v,w,n,e,f,g,h,l,i,j,m);return}}while(0);v=(c[s+332>>2]|0)-1|0;c:do{if((v|0)==0){u=0}else{if((ud(q,(c[r>>2]|0)+154|0)|0)==0){u=0;break}u=v&255;w=0;while(1){t=w+1|0;if((t|0)==(v|0)){break c}if((w|0)==0){w=ud(q,(c[r>>2]|0)+155|0)|0}else{w=wd(q)|0}if((w|0)==0){u=t&255;break}else{w=t}}}}while(0);a[d+17|0]=u;if((a[s+370|0]|0)!=0&(k|0)==3){b[d+22>>1]=0;b[d+24>>1]=0}else{Vj(d,0,0,1)}u=(ud(q,(c[r>>2]|0)+152|0)|0)&255;a[o]=u<<3&8|a[o]&-9;u=d+18592|0;u=c[u>>2]|0;u=u|0;v=c[p>>2]|0;w=d+18596|0;w=c[w>>2]|0;Ii(u,v,w,n,e,f,g,h,l,i,j,m);return}
-
-
-
-function Ys(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;c[e>>2]=b;c[h>>2]=f;do{if((j&2|0)!=0){if((g-f|0)<3){b=1;return b|0}else{c[h>>2]=f+1;a[f]=-17;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=-69;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=-65;break}}}while(0);j=c[e>>2]|0;if(!(j>>>0<d>>>0)){b=0;return b|0}a:while(1){j=c[j>>2]|0;if((j&-2048|0)==55296|j>>>0>i>>>0){i=2;e=19;break}do{if(j>>>0<128>>>0){f=c[h>>2]|0;if((g-f|0)<1){i=1;e=19;break a}c[h>>2]=f+1;a[f]=j}else{if(j>>>0<2048>>>0){f=c[h>>2]|0;if((g-f|0)<2){i=1;e=19;break a}c[h>>2]=f+1;a[f]=j>>>6|192;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=j&63|128;break}f=c[h>>2]|0;b=g-f|0;if(j>>>0<65536>>>0){if((b|0)<3){i=1;e=19;break a}c[h>>2]=f+1;a[f]=j>>>12|224;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=j>>>6&63|128;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=j&63|128;break}else{if((b|0)<4){i=1;e=19;break a}c[h>>2]=f+1;a[f]=j>>>18|240;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=j>>>12&63|128;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=j>>>6&63|128;b=c[h>>2]|0;c[h>>2]=b+1;a[b]=j&63|128;break}}}while(0);j=(c[e>>2]|0)+4|0;c[e>>2]=j;if(!(j>>>0<d>>>0)){i=0;e=19;break}}if((e|0)==19){return i|0}return 0}function Zs(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;a=i;i=i+16|0;l=a|0;k=a+8|0;c[l>>2]=d;c[k>>2]=g;b=_s(d,e,l,g,h,k,1114111,0)|0;c[f>>2]=d+((c[l>>2]|0)-d);c[j>>2]=g+((c[k>>2]|0)-g>>2<<2);i=a;return b|0}function _s(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;c[f>>2]=b;c[i>>2]=g;g=c[f>>2]|0;do{if((k&4|0)!=0){if((e-g|0)<=2){break}if(!((a[g]|0)==-17)){break}if(!((a[g+1|0]|0)==-69)){break}if(!((a[g+2|0]|0)==-65)){break}g=g+3|0;c[f>>2]=g}}while(0);a:do{if(g>>>0<e>>>0){k=e;b=c[i>>2]|0;b:while(1){if(!(b>>>0<h>>>0)){break a}m=a[g]|0;l=m&255;do{if(m<<24>>24>-1){if(l>>>0>j>>>0){e=2;f=40;break b}c[b>>2]=l;c[f>>2]=g+1}else{if((m&255)>>>0<194>>>0){e=2;f=40;break b}if((m&255)>>>0<224>>>0){if((k-g|0)<2){e=1;f=40;break b}m=d[g+1|0]|0;if((m&192|0)!=128){e=2;f=40;break b}l=m&63|l<<6&1984;if(l>>>0>j>>>0){e=2;f=40;break b}c[b>>2]=l;c[f>>2]=g+2;break}if((m&255)>>>0<240>>>0){if((k-g|0)<3){e=1;f=40;break b}m=a[g+1|0]|0;n=a[g+2|0]|0;if((l|0)==224){if(!((m&-32)<<24>>24==-96)){e=2;f=40;break b}}else if((l|0)==237){if(!((m&-32)<<24>>24==-128)){e=2;f=40;break b}}else{if(!((m&-64)<<24>>24==-128)){e=2;f=40;break b}}n=n&255;if((n&192|0)!=128){e=2;f=40;break b}l=(m&255)<<6&4032|l<<12&61440|n&63;if(l>>>0>j>>>0){e=2;f=40;break b}c[b>>2]=l;c[f>>2]=g+3;break}if(!((m&255)>>>0<245>>>0)){e=2;f=40;break b}if((k-g|0)<4){e=1;f=40;break b}m=a[g+1|0]|0;n=a[g+2|0]|0;o=a[g+3|0]|0;if((l|0)==244){if(!((m&-16)<<24>>24==-128)){e=2;f=40;break b}}else if((l|0)==240){if(!((m+112&255)>>>0<48>>>0)){e=2;f=40;break b}}else{if(!((m&-64)<<24>>24==-128)){e=2;f=40;break b}}n=n&255;if((n&192|0)!=128){e=2;f=40;break b}o=o&255;if((o&192|0)!=128){e=2;f=40;break b}l=(m&255)<<12&258048|l<<18&1835008|n<<6&4032|o&63;if(l>>>0>j>>>0){e=2;f=40;break b}c[b>>2]=l;c[f>>2]=g+4}}while(0);b=(c[i>>2]|0)+4|0;c[i>>2]=b;g=c[f>>2]|0;if(!(g>>>0<e>>>0)){break a}}if((f|0)==40){return e|0}}}while(0);o=g>>>0<e>>>0|0;return o|0}function $s(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function at(a){a=a|0;return 0}function bt(a){a=a|0;return 0}function ct(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dt(c,d,e,1114111,0)|0}function dt(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do{if((g&4|0)==0){i=b}else{if((c-b|0)<=2){i=b;break}if(!((a[b]|0)==-17)){i=b;break}if(!((a[b+1|0]|0)==-69)){i=b;break}i=(a[b+2|0]|0)==-65?b+3|0:b}}while(0);a:do{if(i>>>0<c>>>0&(e|0)!=0){h=c;g=1;b:while(1){k=a[i]|0;j=k&255;do{if(k<<24>>24>-1){if(j>>>0>f>>>0){break a}i=i+1|0}else{if((k&255)>>>0<194>>>0){break a}if((k&255)>>>0<224>>>0){if((h-i|0)<2){break a}k=d[i+1|0]|0;if((k&192|0)!=128){break a}if((k&63|j<<6&1984)>>>0>f>>>0){break a}i=i+2|0;break}if((k&255)>>>0<240>>>0){k=i;if((h-k|0)<3){break a}l=a[i+1|0]|0;m=a[i+2|0]|0;if((j|0)==224){if(!((l&-32)<<24>>24==-96)){f=21;break b}}else if((j|0)==237){if(!((l&-32)<<24>>24==-128)){f=23;break b}}else{if(!((l&-64)<<24>>24==-128)){f=25;break b}}k=m&255;if((k&192|0)!=128){break a}if(((l&255)<<6&4032|j<<12&61440|k&63)>>>0>f>>>0){break a}i=i+3|0;break}if(!((k&255)>>>0<245>>>0)){break a}m=i;if((h-m|0)<4){break a}k=a[i+1|0]|0;n=a[i+2|0]|0;l=a[i+3|0]|0;if((j|0)==240){if(!((k+112&255)>>>0<48>>>0)){f=33;break b}}else if((j|0)==244){if(!((k&-16)<<24>>24==-128)){f=35;break b}}else{if(!((k&-64)<<24>>24==-128)){f=37;break b}}m=n&255;if((m&192|0)!=128){break a}l=l&255;if((l&192|0)!=128){break a}if(((k&255)<<12&258048|j<<18&1835008|m<<6&4032|l&63)>>>0>f>>>0){break a}i=i+4|0}}while(0);if(!(i>>>0<c>>>0&g>>>0<e>>>0)){break a}g=g+1|0}if((f|0)==21){n=k-b|0;return n|0}else if((f|0)==23){n=k-b|0;return n|0}else if((f|0)==25){n=k-b|0;return n|0}else if((f|0)==33){n=m-b|0;return n|0}else if((f|0)==35){n=m-b|0;return n|0}else if((f|0)==37){n=m-b|0;return n|0}}}while(0);n=i-b|0;return n|0}function et(a){a=a|0;return 4}function ft(a){a=a|0;Sl(a|0);Pu(a);return}function gt(a){a=a|0;Sl(a|0);Pu(a);return}function ht(a){a=a|0;c[a>>2]=20096;rm(a+12|0);Sl(a|0);Pu(a);return}function it(a){a=a|0;c[a>>2]=20096;rm(a+12|0);Sl(a|0);return}function jt(a){a=a|0;c[a>>2]=20048;rm(a+16|0);Sl(a|0);Pu(a);return}function kt(a){a=a|0;c[a>>2]=20048;rm(a+16|0);Sl(a|0);return}function lt(b){b=b|0;return a[b+8|0]|0}function mt(a){a=a|0;return c[a+8>>2]|0}function nt(b){b=b|0;return a[b+9|0]|0}function ot(a){a=a|0;return c[a+12>>2]|0}function pt(a,b){a=a|0;b=b|0;om(a,b+12|0);return}function qt(a,b){a=a|0;b=b|0;om(a,b+16|0);return}function rt(a,b){a=a|0;b=b|0;pm(a,12536,4);return}function st(a,b){a=a|0;b=b|0;Am(a,12296,gu(12296)|0);return}function tt(a,b){a=a|0;b=b|0;pm(a,11952,5);return}function ut(a,b){a=a|0;b=b|0;Am(a,11608,gu(11608)|0);return}function vt(b){b=b|0;if((a[51888]|0)!=0){b=c[8476]|0;return b|0}if((ub(51888)|0)==0){b=c[8476]|0;return b|0}do{if((a[51776]|0)==0){if((ub(51776)|0)==0){break}dv(32832,0,168)|0;Ub(322,0,u|0)|0}}while(0);sm(32832,16184)|0;sm(32844,16176)|0;sm(32856,16168)|0;sm(32868,16128)|0;sm(32880,16016)|0;sm(32892,16e3)|0;sm(32904,15984)|0;sm(32916,15960)|0;sm(32928,15904)|0;sm(32940,15824)|0;sm(32952,15816)|0;sm(32964,15808)|0;sm(32976,15776)|0;sm(32988,15712)|0;c[8476]=32832;b=c[8476]|0;return b|0}function wt(b){b=b|0;if((a[51832]|0)!=0){b=c[8454]|0;return b|0}if((ub(51832)|0)==0){b=c[8454]|0;return b|0}do{if((a[51752]|0)==0){if((ub(51752)|0)==0){break}dv(32088,0,168)|0;Ub(176,0,u|0)|0}}while(0);Dm(32088,16912)|0;Dm(32100,16880)|0;Dm(32112,16840)|0;Dm(32124,16728)|0;Dm(32136,16648)|0;Dm(32148,16616)|0;Dm(32160,16576)|0;Dm(32172,16544)|0;Dm(32184,16448)|0;Dm(32196,16424)|0;Dm(32208,16360)|0;Dm(32220,16344)|0;Dm(32232,16320)|0;Dm(32244,16256)|0;c[8454]=32088;b=c[8454]|0;return b|0}function xt(b){b=b|0;if((a[51880]|0)!=0){b=c[8474]|0;return b|0}if((ub(51880)|0)==0){b=c[8474]|0;return b|0}do{if((a[51768]|0)==0){if((ub(51768)|0)==0){break}dv(32544,0,288)|0;Ub(198,0,u|0)|0}}while(0);sm(32544,1360)|0;sm(32556,1272)|0;sm(32568,1208)|0;sm(32580,1096)|0;sm(32592,1088)|0;sm(32604,1064)|0;sm(32616,1016)|0;sm(32628,896)|0;sm(32640,800)|0;sm(32652,728)|0;sm(32664,688)|0;sm(32676,624)|0;sm(32688,528)|0;sm(32700,408)|0;sm(32712,400)|0;sm(32724,392)|0;sm(32736,1088)|0;sm(32748,376)|0;sm(32760,288)|0;sm(32772,17112)|0;sm(32784,17104)|0;sm(32796,17096)|0;sm(32808,17088)|0;sm(32820,17008)|0;c[8474]=32544;b=c[8474]|0;return b|0}function yt(b){b=b|0;if((a[51824]|0)!=0){b=c[8452]|0;return b|0}if((ub(51824)|0)==0){b=c[8452]|0;return b|0}do{if((a[51744]|0)==0){if((ub(51744)|0)==0){break}dv(31800,0,288)|0;Ub(146,0,u|0)|0}}while(0);Dm(31800,4560)|0;Dm(31812,4352)|0;Dm(31824,4152)|0;Dm(31836,4048)|0;Dm(31848,2448)|0;Dm(31860,3856)|0;Dm(31872,3760)|0;Dm(31884,3592)|0;Dm(31896,3424)|0;Dm(31908,3312)|0;Dm(31920,3184)|0;Dm(31932,3040)|0;Dm(31944,2880)|0;Dm(31956,2800)|0;Dm(31968,2680)|0;Dm(31980,2584)|0;Dm(31992,2448)|0;Dm(32004,2304)|0;Dm(32016,2120)|0;Dm(32028,2032)|0;Dm(32040,1904)|0;Dm(32052,1712)|0;Dm(32064,1544)|0;Dm(32076,1408)|0;c[8452]=31800;b=c[8452]|0;return b|0}function zt(b){b=b|0;if((a[51896]|0)!=0){b=c[8478]|0;return b|0}if((ub(51896)|0)==0){b=c[8478]|0;return b|0}do{if((a[51784]|0)==0){if((ub(51784)|0)==0){break}dv(33e3,0,288)|0;Ub(144,0,u|0)|0}}while(0);sm(33e3,5080)|0;sm(33012,4872)|0;c[8478]=33e3;b=c[8478]|0;return b|0}function At(b){b=b|0;if((a[51840]|0)!=0){b=c[8456]|0;return b|0}if((ub(51840)|0)==0){b=c[8456]|0;return b|0}do{if((a[51760]|0)==0){if((ub(51760)|0)==0){break}dv(32256,0,288)|0;Ub(208,0,u|0)|0}}while(0);Dm(32256,5568)|0;Dm(32268,5432)|0;c[8456]=32256;b=c[8456]|0;return b|0}function Bt(b){b=b|0;if((a[51904]|0)!=0){return 33920}if((ub(51904)|0)==0){return 33920}pm(33920,11072,8);Ub(314,33920,u|0)|0;return 33920}function Ct(b){b=b|0;if((a[51848]|0)!=0){return 33832}if((ub(51848)|0)==0){return 33832}Am(33832,10808,gu(10808)|0);Ub(230,33832,u|0)|0;return 33832}function Dt(b){b=b|0;if((a[51928]|0)!=0){return 33968}if((ub(51928)|0)==0){return 33968}pm(33968,10560,8);Ub(314,33968,u|0)|0;return 33968}function Et(b){b=b|0;if((a[51872]|0)!=0){return 33880}if((ub(51872)|0)==0){return 33880}Am(33880,10240,gu(10240)|0);Ub(230,33880,u|0)|0;return 33880}function Ft(b){b=b|0;if((a[51920]|0)!=0){return 33952}if((ub(51920)|0)==0){return 33952}pm(33952,9920,20);Ub(314,33952,u|0)|0;return 33952}function Gt(b){b=b|0;if((a[51864]|0)!=0){return 33864}if((ub(51864)|0)==0){return 33864}Am(33864,9512,gu(9512)|0);Ub(230,33864,u|0)|0;return 33864}function Ht(b){b=b|0;if((a[51912]|0)!=0){return 33936}if((ub(51912)|0)==0){return 33936}pm(33936,9144,11);Ub(314,33936,u|0)|0;return 33936}function It(b){b=b|0;if((a[51856]|0)!=0){return 33848}if((ub(51856)|0)==0){return 33848}Am(33848,8832,gu(8832)|0);Ub(230,33848,u|0)|0;return 33848}function Jt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0.0,l=0;f=i;i=i+8|0;g=f|0;if((b|0)==(d|0)){c[e>>2]=4;k=0.0;i=f;return+k}j=Vb()|0;h=c[j>>2]|0;c[j>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);k=+bv(b,g,c[8330]|0);b=c[j>>2]|0;if((b|0)==0){c[j>>2]=h}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;k=0.0;i=f;return+k}if((b|0)!=34){i=f;return+k}c[e>>2]=4;i=f;return+k}function Kt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0.0,l=0;f=i;i=i+8|0;g=f|0;if((b|0)==(d|0)){c[e>>2]=4;k=0.0;i=f;return+k}j=Vb()|0;h=c[j>>2]|0;c[j>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);k=+bv(b,g,c[8330]|0);b=c[j>>2]|0;if((b|0)==0){c[j>>2]=h}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;k=0.0;i=f;return+k}if((b|0)!=34){i=f;return+k}c[e>>2]=4;i=f;return+k}function Lt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0.0,l=0;f=i;i=i+8|0;g=f|0;if((b|0)==(d|0)){c[e>>2]=4;k=0.0;i=f;return+k}j=Vb()|0;h=c[j>>2]|0;c[j>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);k=+bv(b,g,c[8330]|0);b=c[j>>2]|0;if((b|0)==0){c[j>>2]=h}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;k=0.0;i=f;return+k}if((b|0)==34){c[e>>2]=4}i=f;return+k}function Mt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+8|0;g=k|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;l=0;i=k;return(K=b,l)|0}if((a[b]|0)==45){c[e>>2]=4;b=0;l=0;i=k;return(K=b,l)|0}h=Vb()|0;j=c[h>>2]|0;c[h>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);b=Ib(b|0,g|0,f|0,c[8330]|0)|0;f=K;l=c[h>>2]|0;if((l|0)==0){c[h>>2]=j}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;b=0;l=0;i=k;return(K=b,l)|0}if((l|0)!=34){l=b;i=k;return(K=f,l)|0}c[e>>2]=4;b=-1;l=-1;i=k;return(K=b,l)|0}function Nt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+8|0;g=k|0;if((b|0)==(d|0)){c[e>>2]=4;l=0;i=k;return l|0}if((a[b]|0)==45){c[e>>2]=4;l=0;i=k;return l|0}h=Vb()|0;j=c[h>>2]|0;c[h>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=Ib(b|0,g|0,f|0,c[8330]|0)|0;b=K;f=c[h>>2]|0;if((f|0)==0){c[h>>2]=j}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;l=0;i=k;return l|0}j=0;if((f|0)==34|(b>>>0>j>>>0|b>>>0==j>>>0&l>>>0>-1>>>0)){c[e>>2]=4;l=-1;i=k;return l|0}else{i=k;return l|0}return 0}function Ot(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+8|0;g=k|0;if((b|0)==(d|0)){c[e>>2]=4;l=0;i=k;return l|0}if((a[b]|0)==45){c[e>>2]=4;l=0;i=k;return l|0}h=Vb()|0;j=c[h>>2]|0;c[h>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=Ib(b|0,g|0,f|0,c[8330]|0)|0;b=K;f=c[h>>2]|0;if((f|0)==0){c[h>>2]=j}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;l=0;i=k;return l|0}j=0;if((f|0)==34|(b>>>0>j>>>0|b>>>0==j>>>0&l>>>0>-1>>>0)){c[e>>2]=4;l=-1;i=k;return l|0}else{i=k;return l|0}return 0}function Pt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+8|0;g=k|0;if((b|0)==(d|0)){c[e>>2]=4;l=0;i=k;return l|0}if((a[b]|0)==45){c[e>>2]=4;l=0;i=k;return l|0}h=Vb()|0;j=c[h>>2]|0;c[h>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);l=Ib(b|0,g|0,f|0,c[8330]|0)|0;b=K;f=c[h>>2]|0;if((f|0)==0){c[h>>2]=j}if((c[g>>2]|0)!=(d|0)){c[e>>2]=4;l=0;i=k;return l|0}j=0;if((f|0)==34|(b>>>0>j>>>0|b>>>0==j>>>0&l>>>0>65535>>>0)){c[e>>2]=4;l=-1;i=k;return l|0}else{l=l&65535;i=k;return l|0}return 0}function Qt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+8|0;j=g|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;l=0;i=g;return(K=b,l)|0}k=Vb()|0;h=c[k>>2]|0;c[k>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);b=Lb(b|0,j|0,f|0,c[8330]|0)|0;f=K;l=c[k>>2]|0;if((l|0)==0){c[k>>2]=h}if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;b=0;l=0;i=g;return(K=b,l)|0}if((l|0)==34){c[e>>2]=4;h=0;h=(f|0)>(h|0)|(f|0)==(h|0)&b>>>0>0>>>0;i=g;return(K=h?2147483647:-2147483648,h?-1:0)|0}else{l=b;i=g;return(K=f,l)|0}return 0}function Rt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+8|0;j=g|0;if((b|0)==(d|0)){c[e>>2]=4;l=0;i=g;return l|0}k=Vb()|0;h=c[k>>2]|0;c[k>>2]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}l=Xa(2147483647,14472,0)|0;c[8330]=l}}while(0);b=Lb(b|0,j|0,f|0,c[8330]|0)|0;f=K;l=c[k>>2]|0;if((l|0)==0){c[k>>2]=h}if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;l=0;i=g;return l|0}do{if((l|0)==34){c[e>>2]=4;l=0;if((f|0)>(l|0)|(f|0)==(l|0)&b>>>0>0>>>0){h=2147483647}else{break}i=g;return h|0}else{l=-1;if((f|0)<(l|0)|(f|0)==(l|0)&b>>>0<-2147483648>>>0){c[e>>2]=4;break}l=0;if((f|0)>(l|0)|(f|0)==(l|0)&b>>>0>2147483647>>>0){c[e>>2]=4;l=2147483647;i=g;return l|0}else{l=b;i=g;return l|0}}}while(0);l=-2147483648;i=g;return l|0}function St(a){a=a|0;var b=0,d=0;b=a+4|0;d=(c[a>>2]|0)+(c[b+4>>2]|0)|0;a=d;b=c[b>>2]|0;if((b&1|0)==0){d=b;Dc[d&511](a);return}else{d=c[(c[d>>2]|0)+(b-1)>>2]|0;Dc[d&511](a);return}}function Tt(b,d){b=b|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;f=b+8|0;e=b+4|0;g=c[e>>2]|0;k=c[f>>2]|0;i=g;if(!(k-i>>2>>>0<d>>>0)){do{if((g|0)==0){b=0}else{c[g>>2]=0;b=c[e>>2]|0}g=b+4|0;c[e>>2]=g;d=d-1|0;}while((d|0)!=0);return}g=b+16|0;h=b|0;m=c[h>>2]|0;i=i-m>>2;l=i+d|0;if(l>>>0>1073741823>>>0){Nr(0)}k=k-m|0;do{if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<l>>>0?l:k;if((l|0)==0){k=0;l=0;break}k=b+128|0;if(!((a[k]|0)==0&l>>>0<29>>>0)){j=11;break}a[k]=1;k=g}else{l=1073741823;j=11}}while(0);if((j|0)==11){k=Nu(l<<2)|0}j=k+(i<<2)|0;do{if((j|0)==0){j=0}else{c[j>>2]=0}j=j+4|0;d=d-1|0;}while((d|0)!=0);d=c[h>>2]|0;n=(c[e>>2]|0)-d|0;m=k+(i-(n>>2)<<2)|0;i=d;cv(m|0,i|0,n)|0;c[h>>2]=m;c[e>>2]=j;c[f>>2]=k+(l<<2);if((d|0)==0){return}if((g|0)==(d|0)){a[b+128|0]=0;return}else{Pu(i);return}}function Ut(a){a=a|0;Cm(32532);Cm(32520);Cm(32508);Cm(32496);Cm(32484);Cm(32472);Cm(32460);Cm(32448);Cm(32436);Cm(32424);Cm(32412);Cm(32400);Cm(32388);Cm(32376);Cm(32364);Cm(32352);Cm(32340);Cm(32328);Cm(32316);Cm(32304);Cm(32292);Cm(32280);Cm(32268);Cm(32256);return}function Vt(a){a=a|0;rm(33276);rm(33264);rm(33252);rm(33240);rm(33228);rm(33216);rm(33204);rm(33192);rm(33180);rm(33168);rm(33156);rm(33144);rm(33132);rm(33120);rm(33108);rm(33096);rm(33084);rm(33072);rm(33060);rm(33048);rm(33036);rm(33024);rm(33012);rm(33e3);return}function Wt(a){a=a|0;Cm(32076);Cm(32064);Cm(32052);Cm(32040);Cm(32028);Cm(32016);Cm(32004);Cm(31992);Cm(31980);Cm(31968);Cm(31956);Cm(31944);Cm(31932);Cm(31920);Cm(31908);Cm(31896);Cm(31884);Cm(31872);Cm(31860);Cm(31848);Cm(31836);Cm(31824);Cm(31812);Cm(31800);return}function Xt(a){a=a|0;rm(32820);rm(32808);rm(32796);rm(32784);rm(32772);rm(32760);rm(32748);rm(32736);rm(32724);rm(32712);rm(32700);rm(32688);rm(32676);rm(32664);rm(32652);rm(32640);rm(32628);rm(32616);rm(32604);rm(32592);rm(32580);rm(32568);rm(32556);rm(32544);return}function Yt(a){a=a|0;Cm(32244);Cm(32232);Cm(32220);Cm(32208);Cm(32196);Cm(32184);Cm(32172);Cm(32160);Cm(32148);Cm(32136);Cm(32124);Cm(32112);Cm(32100);Cm(32088);return}function Zt(a){a=a|0;rm(32988);rm(32976);rm(32964);rm(32952);rm(32940);rm(32928);rm(32916);rm(32904);rm(32892);rm(32880);rm(32868);rm(32856);rm(32844);rm(32832);return}function _t(a,b,c){a=a|0;b=b|0;c=c|0;return $t(0,a,b,(c|0)!=0?c:31056)|0}function $t(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+8|0;h=g|0;c[h>>2]=b;f=((f|0)==0?31048:f)|0;k=c[f>>2]|0;a:do{if((d|0)==0){if((k|0)==0){e=0}else{break}i=g;return e|0}else{if((b|0)==0){j=h;c[h>>2]=j;h=j}else{h=b}if((e|0)==0){k=-2;i=g;return k|0}do{if((k|0)==0){b=a[d]|0;j=b&255;if(b<<24>>24>-1){c[h>>2]=j;k=b<<24>>24!=0|0;i=g;return k|0}else{b=j-194|0;if(b>>>0>50>>>0){break a}d=d+1|0;k=c[18936+(b<<2)>>2]|0;j=e-1|0;break}}else{j=e}}while(0);b:do{if((j|0)!=0){b=a[d]|0;l=(b&255)>>>3;if((l-16|l+(k>>26))>>>0>7>>>0){break a}while(1){d=d+1|0;k=(b&255)-128|k<<6;j=j-1|0;if((k|0)>=0){break}if((j|0)==0){break b}b=a[d]|0;if(((b&255)-128|0)>>>0>63>>>0){break a}}c[f>>2]=0;c[h>>2]=k;l=e-j|0;i=g;return l|0}}while(0);c[f>>2]=k;l=-2;i=g;return l|0}}while(0);c[f>>2]=0;l=Vb()|0;c[l>>2]=84;l=-1;i=g;return l|0}function au(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+1032|0;g=j+1024|0;m=c[b>>2]|0;c[g>>2]=m;h=(a|0)!=0;k=j|0;e=h?e:256;l=h?a:k;a:do{if((m|0)==0|(e|0)==0){k=d;a=0}else{a=0;while(1){o=d>>>2;n=o>>>0>=e>>>0;if(!(n|d>>>0>131>>>0)){k=d;break a}m=n?e:o;d=d-m|0;m=bu(l,g,m,f)|0;if((m|0)==-1){break}if((l|0)==(k|0)){l=k}else{l=l+(m<<2)|0;e=e-m|0}a=m+a|0;m=c[g>>2]|0;if((m|0)==0|(e|0)==0){k=d;break a}}k=d;a=-1;e=0;m=c[g>>2]|0}}while(0);b:do{if((m|0)!=0){if((e|0)==0|(k|0)==0){break}while(1){d=$t(l,m,k,f)|0;if((d+2|0)>>>0<3>>>0){break}m=(c[g>>2]|0)+d|0;c[g>>2]=m;e=e-1|0;a=a+1|0;if((e|0)==0|(k|0)==(d|0)){break b}else{l=l+4|0;k=k-d|0}}if((d|0)==0){c[g>>2]=0;break}else if((d|0)==(-1|0)){a=-1;break}else{c[f>>2]=0;break}}}while(0);if(!h){i=j;return a|0}c[b>>2]=c[g>>2];i=j;return a|0}function bu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=c[e>>2]|0;do{if((g|0)==0){g=5}else{g=g|0;j=c[g>>2]|0;if((j|0)==0){g=5;break}if((b|0)==0){i=f;g=16;break}c[g>>2]=0;i=f;g=36}}while(0);if((g|0)==5){if((b|0)==0){i=f;g=7}else{i=f;g=6}}a:while(1){if((g|0)==6){if((i|0)==0){g=53;break}while(1){g=a[h]|0;do{if(((g&255)-1|0)>>>0<127>>>0){if(!((h&3|0)==0&i>>>0>3>>>0)){j=g;break}while(1){j=c[h>>2]|0;if(((j-16843009|j)&-2139062144|0)!=0){g=30;break}c[b>>2]=j&255;c[b+4>>2]=d[h+1|0]|0;c[b+8>>2]=d[h+2|0]|0;j=h+4|0;k=b+16|0;c[b+12>>2]=d[h+3|0]|0;i=i-4|0;if(i>>>0>3>>>0){b=k;h=j}else{g=31;break}}if((g|0)==30){j=j&255;break}else if((g|0)==31){h=j;b=k;j=a[j]|0;break}}else{j=g}}while(0);g=j&255;if(!((g-1|0)>>>0<127>>>0)){break}c[b>>2]=g;i=i-1|0;if((i|0)==0){g=53;break a}else{b=b+4|0;h=h+1|0}}g=g-194|0;if(g>>>0>50>>>0){g=47;break}j=c[18936+(g<<2)>>2]|0;h=h+1|0;g=36;continue}else if((g|0)==7){g=a[h]|0;do{if(((g&255)-1|0)>>>0<127>>>0){if((h&3|0)!=0){break}g=c[h>>2]|0;if(((g-16843009|g)&-2139062144|0)!=0){g=g&255;break}do{h=h+4|0;i=i-4|0;g=c[h>>2]|0;}while(((g-16843009|g)&-2139062144|0)==0);g=g&255}}while(0);g=g&255;if((g-1|0)>>>0<127>>>0){h=h+1|0;i=i-1|0;g=7;continue}g=g-194|0;if(g>>>0>50>>>0){g=47;break}j=c[18936+(g<<2)>>2]|0;h=h+1|0;g=16;continue}else if((g|0)==16){k=(d[h]|0)>>>3;if((k-16|k+(j>>26))>>>0>7>>>0){g=17;break}g=h+1|0;do{if((j&33554432|0)==0){h=g}else{if(((d[g]|0)-128|0)>>>0>63>>>0){g=20;break a}g=h+2|0;if((j&524288|0)==0){h=g;break}if(((d[g]|0)-128|0)>>>0>63>>>0){g=23;break a}h=h+3|0}}while(0);i=i-1|0;g=7;continue}else if((g|0)==36){k=d[h]|0;g=k>>>3;if((g-16|g+(j>>26))>>>0>7>>>0){g=37;break}g=h+1|0;j=k-128|j<<6;do{if((j|0)<0){k=(d[g]|0)-128|0;if(k>>>0>63>>>0){g=40;break a}g=h+2|0;j=k|j<<6;if((j|0)>=0){h=g;break}g=(d[g]|0)-128|0;if(g>>>0>63>>>0){g=43;break a}j=g|j<<6;h=h+3|0}else{h=g}}while(0);c[b>>2]=j;b=b+4|0;i=i-1|0;g=6;continue}}if((g|0)==17){h=h-1|0;g=46}else if((g|0)==20){h=h-1|0;g=46}else if((g|0)==23){h=h-1|0;g=46}else if((g|0)==37){h=h-1|0;g=46}else if((g|0)==40){h=h-1|0;g=46}else if((g|0)==43){h=h-1|0;g=46}else if((g|0)==53){return f|0}if((g|0)==46){if((j|0)==0){g=47}}do{if((g|0)==47){if((a[h]|0)!=0){break}if((b|0)!=0){c[b>>2]=0;c[e>>2]=0}k=f-i|0;return k|0}}while(0);k=Vb()|0;c[k>>2]=84;if((b|0)==0){k=-1;return k|0}c[e>>2]=h;k=-1;return k|0}function cu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+8|0;h=g|0;c[h>>2]=b;if((e|0)==0){j=0;i=g;return j|0}do{if((f|0)!=0){if((b|0)==0){j=h;c[h>>2]=j;h=j}else{h=b}b=a[e]|0;j=b&255;if(b<<24>>24>-1){c[h>>2]=j;j=b<<24>>24!=0|0;i=g;return j|0}j=j-194|0;if(j>>>0>50>>>0){break}b=e+1|0;j=c[18936+(j<<2)>>2]|0;if(f>>>0<4>>>0){if((j&-2147483648>>>(((f*6|0)-6|0)>>>0)|0)!=0){break}}f=d[b]|0;b=f>>>3;if((b-16|b+(j>>26))>>>0>7>>>0){break}f=f-128|j<<6;if((f|0)>=0){c[h>>2]=f;j=2;i=g;return j|0}b=(d[e+2|0]|0)-128|0;if(b>>>0>63>>>0){break}f=b|f<<6;if((f|0)>=0){c[h>>2]=f;j=3;i=g;return j|0}e=(d[e+3|0]|0)-128|0;if(e>>>0>63>>>0){break}c[h>>2]=e|f<<6;j=4;i=g;return j|0}}while(0);j=Vb()|0;c[j>>2]=84;j=-1;i=g;return j|0}function du(b,d,e){b=b|0;d=d|0;e=e|0;if((b|0)==0){e=1;return e|0}if(d>>>0<128>>>0){a[b]=d;e=1;return e|0}if(d>>>0<2048>>>0){a[b]=d>>>6|192;a[b+1|0]=d&63|128;e=2;return e|0}if(d>>>0<55296>>>0|(d-57344|0)>>>0<8192>>>0){a[b]=d>>>12|224;a[b+1|0]=d>>>6&63|128;a[b+2|0]=d&63|128;e=3;return e|0}if((d-65536|0)>>>0<1048576>>>0){a[b]=d>>>18|240;a[b+1|0]=d>>>12&63|128;a[b+2|0]=d>>>6&63|128;a[b+3|0]=d&63|128;e=4;return e|0}else{e=Vb()|0;c[e>>2]=84;e=-1;return e|0}return 0}function eu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+264|0;f=h+256|0;j=h|0;l=c[b>>2]|0;c[f>>2]=l;g=(a|0)!=0;e=g?e:256;k=g?a:j;a:do{if((l|0)==0|(e|0)==0){j=d;a=0}else{a=0;while(1){m=d>>>0>=e>>>0;if(!(m|d>>>0>32>>>0)){j=d;break a}l=m?e:d;d=d-l|0;l=fu(k,f,l,0)|0;if((l|0)==-1){break}if((k|0)==(j|0)){k=j}else{k=k+l|0;e=e-l|0}a=l+a|0;l=c[f>>2]|0;if((l|0)==0|(e|0)==0){j=d;break a}}j=d;a=-1;e=0;l=c[f>>2]|0}}while(0);b:do{if((l|0)!=0){if((e|0)==0|(j|0)==0){break}while(1){d=du(k,c[l>>2]|0,0)|0;if((d+1|0)>>>0<2>>>0){break}l=(c[f>>2]|0)+4|0;c[f>>2]=l;j=j-1|0;a=a+1|0;if((e|0)==(d|0)|(j|0)==0){break b}else{e=e-d|0;k=k+d|0}}if((d|0)!=0){a=-1;break}c[f>>2]=0}}while(0);if(!g){i=h;return a|0}c[b>>2]=c[f>>2];i=h;return a|0}function fu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+8|0;j=f|0;if((b|0)==0){l=c[d>>2]|0;k=j|0;m=c[l>>2]|0;if((m|0)==0){m=0;i=f;return m|0}else{h=0}while(1){if(m>>>0>127>>>0){m=du(k,m,0)|0;if((m|0)==-1){h=-1;l=26;break}}else{m=1}h=m+h|0;l=l+4|0;m=c[l>>2]|0;if((m|0)==0){l=26;break}}if((l|0)==26){i=f;return h|0}}a:do{if(e>>>0>3>>>0){k=e;l=c[d>>2]|0;while(1){m=c[l>>2]|0;if((m|0)==0){break a}if(m>>>0>127>>>0){m=du(b,m,0)|0;if((m|0)==-1){h=-1;break}b=b+m|0;k=k-m|0}else{a[b]=m;b=b+1|0;k=k-1|0;l=c[d>>2]|0}l=l+4|0;c[d>>2]=l;if(!(k>>>0>3>>>0)){break a}}i=f;return h|0}else{k=e}}while(0);b:do{if((k|0)==0){g=0}else{j=j|0;l=c[d>>2]|0;while(1){m=c[l>>2]|0;if((m|0)==0){l=24;break}if(m>>>0>127>>>0){m=du(j,m,0)|0;if((m|0)==-1){h=-1;l=26;break}if(m>>>0>k>>>0){l=20;break}du(b,c[l>>2]|0,0)|0;b=b+m|0;k=k-m|0}else{a[b]=m;b=b+1|0;k=k-1|0;l=c[d>>2]|0}l=l+4|0;c[d>>2]=l;if((k|0)==0){g=0;break b}}if((l|0)==20){m=e-k|0;i=f;return m|0}else if((l|0)==24){a[b]=0;g=k;break}else if((l|0)==26){i=f;return h|0}}}while(0);c[d>>2]=0;m=e-g|0;i=f;return m|0}function gu(a){a=a|0;var b=0;b=a;while(1){if((c[b>>2]|0)==0){break}else{b=b+4|0}}return b-a>>2|0}function hu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((d|0)==0){return a|0}else{e=d;d=a}while(1){e=e-1|0;c[d>>2]=c[b>>2];if((e|0)==0){break}else{b=b+4|0;d=d+4|0}}return a|0}function iu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0<d>>>0){if(e){return a|0}do{d=d-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2];}while((d|0)!=0);return a|0}else{if(e){return a|0}else{e=a}while(1){d=d-1|0;c[e>>2]=c[b>>2];if((d|0)==0){break}else{b=b+4|0;e=e+4|0}}return a|0}return 0}function ju(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((d|0)==0){return a|0}else{e=a}while(1){d=d-1|0;c[e>>2]=b;if((d|0)==0){break}else{e=e+4|0}}return a|0}function ku(a){a=a|0;return}function lu(a){a=a|0;c[a>>2]=19504;return}function mu(a){a=a|0;Pu(a);return}function nu(a){a=a|0;return}function ou(a){a=a|0;return 7128}function pu(a){a=a|0;ku(a|0);return}function qu(a){a=a|0;return}function ru(a){a=a|0;return}function su(a){a=a|0;ku(a|0);Pu(a);return}function tu(a){a=a|0;ku(a|0);Pu(a);return}function uu(a){a=a|0;ku(a|0);Pu(a);return}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+56|0;f=e|0;if((a|0)==(b|0)){g=1;i=e;return g|0}if((b|0)==0){g=0;i=e;return g|0}g=zu(b,27072,27056,0)|0;b=g;if((g|0)==0){g=0;i=e;return g|0}dv(f|0,0,56)|0;c[f>>2]=b;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Wc[c[(c[g>>2]|0)+28>>2]&63](b,f,c[d>>2]|0,1);if((c[f+24>>2]|0)!=1){g=0;i=e;return g|0}c[d>>2]=c[f+16>>2];g=1;i=e;return g|0}function wu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((c[d+8>>2]|0)!=(b|0)){return}b=d+16|0;g=c[b>>2]|0;if((g|0)==0){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((g|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}e=d+24|0;if((c[e>>2]|0)!=2){return}c[e>>2]=f;return}function xu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((b|0)!=(c[d+8>>2]|0)){g=c[b+8>>2]|0;Wc[c[(c[g>>2]|0)+28>>2]&63](g,d,e,f);return}b=d+16|0;g=c[b>>2]|0;if((g|0)==0){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((g|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}e=d+24|0;if((c[e>>2]|0)!=2){return}c[e>>2]=f;return}function yu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if((b|0)==(c[d+8>>2]|0)){h=d+16|0;g=c[h>>2]|0;if((g|0)==0){c[h>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((g|0)!=(e|0)){k=d+36|0;c[k>>2]=(c[k>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}e=d+24|0;if((c[e>>2]|0)!=2){return}c[e>>2]=f;return}h=c[b+12>>2]|0;g=b+16+(h<<3)|0;i=c[b+20>>2]|0;j=i>>8;if((i&1|0)!=0){j=c[(c[e>>2]|0)+j>>2]|0}k=c[b+16>>2]|0;Wc[c[(c[k>>2]|0)+28>>2]&63](k,d,e+j|0,(i&2|0)!=0?f:2);if((h|0)<=1){return}i=d+54|0;h=e;b=b+24|0;while(1){j=c[b+4>>2]|0;k=j>>8;if((j&1|0)!=0){k=c[(c[h>>2]|0)+k>>2]|0}l=c[b>>2]|0;Wc[c[(c[l>>2]|0)+28>>2]&63](l,d,e+k|0,(j&2|0)!=0?f:2);if((a[i]|0)!=0){f=16;break}b=b+8|0;if(!(b>>>0<g>>>0)){f=16;break}}if((f|0)==16){return}}function zu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+56|0;h=f|0;k=c[a>>2]|0;g=a+(c[k-8>>2]|0)|0;k=c[k-4>>2]|0;j=k;c[h>>2]=d;c[h+4>>2]=a;c[h+8>>2]=b;c[h+12>>2]=e;n=h+16|0;b=h+20|0;a=h+24|0;l=h+28|0;e=h+32|0;m=h+40|0;dv(n|0,0,39)|0;do{if((k|0)==(d|0)){c[h+48>>2]=1;Kc[c[(c[k>>2]|0)+20>>2]&63](j,h,g,g,1,0);d=(c[a>>2]|0)==1?g:0}else{Cc[c[(c[k>>2]|0)+24>>2]&31](j,h,g,1,0);d=c[h+36>>2]|0;if((d|0)==0){if((c[m>>2]|0)!=1){d=0;break}if((c[l>>2]|0)!=1){d=0;break}d=(c[e>>2]|0)==1?c[b>>2]|0:0;break}else if((d|0)!=1){d=0;break}if((c[a>>2]|0)!=1){if((c[m>>2]|0)!=0){d=0;break}if((c[l>>2]|0)!=1){d=0;break}if((c[e>>2]|0)!=1){d=0;break}}d=c[n>>2]|0}}while(0);i=f;return d|0}function Au(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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;j=b|0;if((j|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){return}e=d+28|0;if((c[e>>2]|0)==1){return}c[e>>2]=f;return}if((j|0)==(c[d>>2]|0)){do{if((c[d+16>>2]|0)!=(e|0)){j=d+20|0;if((c[j>>2]|0)==(e|0)){break}c[d+32>>2]=f;k=d+44|0;if((c[k>>2]|0)==4){return}v=c[b+12>>2]|0;m=b+16+(v<<3)|0;a:do{if((v|0)>0){q=d+52|0;r=d+53|0;s=d+54|0;p=b+8|0;l=d+24|0;n=e;o=0;b=b+16|0;t=0;b:do{a[q]=0;a[r]=0;u=c[b+4>>2]|0;v=u>>8;if((u&1|0)!=0){v=c[(c[n>>2]|0)+v>>2]|0}w=c[b>>2]|0;Kc[c[(c[w>>2]|0)+20>>2]&63](w,d,e,e+v|0,2-(u>>>1&1)|0,g);if((a[s]|0)!=0){break}do{if((a[r]|0)!=0){if((a[q]|0)==0){if((c[p>>2]&1|0)==0){t=1;break b}else{t=1;break}}if((c[l>>2]|0)==1){l=27;break a}if((c[p>>2]&2|0)==0){l=27;break a}else{t=1;o=1}}}while(0);b=b+8|0;}while(b>>>0<m>>>0);if(o){i=t;l=26}else{h=t;l=23}}else{h=0;l=23}}while(0);do{if((l|0)==23){c[j>>2]=e;w=d+40|0;c[w>>2]=(c[w>>2]|0)+1;if((c[d+36>>2]|0)!=1){i=h;l=26;break}if((c[d+24>>2]|0)!=2){i=h;l=26;break}a[d+54|0]=1;if(h){l=27}else{l=28}}}while(0);if((l|0)==26){if(i){l=27}else{l=28}}if((l|0)==27){c[k>>2]=3;return}else if((l|0)==28){c[k>>2]=4;return}}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}j=c[b+12>>2]|0;h=b+16+(j<<3)|0;i=c[b+20>>2]|0;k=i>>8;if((i&1|0)!=0){k=c[(c[e>>2]|0)+k>>2]|0}w=c[b+16>>2]|0;Cc[c[(c[w>>2]|0)+24>>2]&31](w,d,e+k|0,(i&2|0)!=0?f:2,g);i=b+24|0;if((j|0)<=1){return}k=c[b+8>>2]|0;do{if((k&2|0)==0){j=d+36|0;if((c[j>>2]|0)==1){break}if((k&1|0)==0){l=d+54|0;k=e;n=i;while(1){if((a[l]|0)!=0){l=53;break}if((c[j>>2]|0)==1){l=53;break}m=c[n+4>>2]|0;o=m>>8;if((m&1|0)!=0){o=c[(c[k>>2]|0)+o>>2]|0}w=c[n>>2]|0;Cc[c[(c[w>>2]|0)+24>>2]&31](w,d,e+o|0,(m&2|0)!=0?f:2,g);n=n+8|0;if(!(n>>>0<h>>>0)){l=53;break}}if((l|0)==53){return}}m=d+24|0;l=d+54|0;k=e;o=i;while(1){if((a[l]|0)!=0){l=53;break}if((c[j>>2]|0)==1){if((c[m>>2]|0)==1){l=53;break}}n=c[o+4>>2]|0;p=n>>8;if((n&1|0)!=0){p=c[(c[k>>2]|0)+p>>2]|0}w=c[o>>2]|0;Cc[c[(c[w>>2]|0)+24>>2]&31](w,d,e+p|0,(n&2|0)!=0?f:2,g);o=o+8|0;if(!(o>>>0<h>>>0)){l=53;break}}if((l|0)==53){return}}}while(0);j=d+54|0;k=e;while(1){if((a[j]|0)!=0){l=53;break}l=c[i+4>>2]|0;m=l>>8;if((l&1|0)!=0){m=c[(c[k>>2]|0)+m>>2]|0}w=c[i>>2]|0;Cc[c[(c[w>>2]|0)+24>>2]&31](w,d,e+m|0,(l&2|0)!=0?f:2,g);i=i+8|0;if(!(i>>>0<h>>>0)){l=53;break}}if((l|0)==53){return}}function Bu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=b|0;if((i|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){return}h=d+28|0;if((c[h>>2]|0)==1){return}c[h>>2]=f;return}if((i|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;Cc[c[(c[j>>2]|0)+24>>2]&31](j,d,e,f,g);return}do{if((c[d+16>>2]|0)!=(e|0)){i=d+20|0;if((c[i>>2]|0)==(e|0)){break}c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4){return}j=d+52|0;a[j]=0;k=d+53|0;a[k]=0;b=c[b+8>>2]|0;Kc[c[(c[b>>2]|0)+20>>2]&63](b,d,e,e,1,g);if((a[k]|0)==0){b=0;h=13}else{if((a[j]|0)==0){b=1;h=13}}a:do{if((h|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){h=16;break}a[d+54|0]=1;if(b){break a}}else{h=16}}while(0);if((h|0)==16){if(b){break}}c[f>>2]=4;return}}while(0);c[f>>2]=3;return}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}function Cu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((c[d+8>>2]|0)==(b|0)){if((c[d+4>>2]|0)!=(e|0)){return}d=d+28|0;if((c[d>>2]|0)==1){return}c[d>>2]=f;return}if((c[d>>2]|0)!=(b|0)){return}do{if((c[d+16>>2]|0)!=(e|0)){b=d+20|0;if((c[b>>2]|0)==(e|0)){break}c[d+32>>2]=f;c[b>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){break}a[d+54|0]=1}}while(0);c[d+44>>2]=4;return}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}function Du(b,d,e,f,g,h){b=b|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,p=0,q=0,r=0,s=0,t=0;if((b|0)!=(c[d+8>>2]|0)){k=d+52|0;j=a[k]|0;m=d+53|0;l=a[m]|0;o=c[b+12>>2]|0;i=b+16+(o<<3)|0;a[k]=0;a[m]=0;n=c[b+20>>2]|0;p=n>>8;if((n&1|0)!=0){p=c[(c[f>>2]|0)+p>>2]|0}s=c[b+16>>2]|0;Kc[c[(c[s>>2]|0)+20>>2]&63](s,d,e,f+p|0,(n&2|0)!=0?g:2,h);a:do{if((o|0)>1){p=d+24|0;o=b+8|0;q=d+54|0;n=f;b=b+24|0;do{if((a[q]|0)!=0){break a}do{if((a[k]|0)==0){if((a[m]|0)==0){break}if((c[o>>2]&1|0)==0){break a}}else{if((c[p>>2]|0)==1){break a}if((c[o>>2]&2|0)==0){break a}}}while(0);a[k]=0;a[m]=0;r=c[b+4>>2]|0;s=r>>8;if((r&1|0)!=0){s=c[(c[n>>2]|0)+s>>2]|0}t=c[b>>2]|0;Kc[c[(c[t>>2]|0)+20>>2]&63](t,d,e,f+s|0,(r&2|0)!=0?g:2,h);b=b+8|0;}while(b>>>0<i>>>0)}}while(0);a[k]=j;a[m]=l;return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;i=d+16|0;j=c[i>>2]|0;if((j|0)==0){c[i>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((j|0)!=(e|0)){t=d+36|0;c[t>>2]=(c[t>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;i=c[e>>2]|0;if((i|0)==2){c[e>>2]=g}else{g=i}if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}function Eu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;if((b|0)!=(c[d+8>>2]|0)){b=c[b+8>>2]|0;Kc[c[(c[b>>2]|0)+20>>2]&63](b,d,e,f,g,h);return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;b=d+16|0;f=c[b>>2]|0;if((f|0)==0){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((f|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;b=c[e>>2]|0;if((b|0)==2){c[e>>2]=g}else{g=b}if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}function Fu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;if((c[d+8>>2]|0)!=(b|0)){return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;f=d+16|0;b=c[f>>2]|0;if((b|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((b|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;f=c[e>>2]|0;if((f|0)==2){c[e>>2]=g}else{g=f}if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}function Gu(a){a=a|0;var b=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;do{if(a>>>0<245>>>0){if(a>>>0<11>>>0){a=16}else{a=a+11&-8}b=a>>>3;e=c[7832]|0;f=e>>>(b>>>0);if((f&3|0)!=0){f=(f&1^1)+b|0;g=f<<1;a=31368+(g<<2)|0;g=31368+(g+2<<2)|0;d=c[g>>2]|0;b=d+8|0;h=c[b>>2]|0;do{if((a|0)==(h|0)){c[7832]=e&~(1<<f)}else{if(h>>>0<(c[7836]|0)>>>0){hc();return 0}e=h+12|0;if((c[e>>2]|0)==(d|0)){c[e>>2]=a;c[g>>2]=h;break}else{hc();return 0}}}while(0);q=f<<3;c[d+4>>2]=q|3;q=d+(q|4)|0;c[q>>2]=c[q>>2]|1;q=b;return q|0}if(!(a>>>0>(c[7834]|0)>>>0)){break}if((f|0)!=0){d=2<<b;d=f<<b&(d|-d);d=(d&-d)-1|0;b=d>>>12&16;d=d>>>(b>>>0);g=d>>>5&8;d=d>>>(g>>>0);f=d>>>2&4;d=d>>>(f>>>0);h=d>>>1&2;d=d>>>(h>>>0);i=d>>>1&1;i=(g|b|f|h|i)+(d>>>(i>>>0))|0;d=i<<1;h=31368+(d<<2)|0;d=31368+(d+2<<2)|0;f=c[d>>2]|0;b=f+8|0;g=c[b>>2]|0;do{if((h|0)==(g|0)){c[7832]=e&~(1<<i)}else{if(g>>>0<(c[7836]|0)>>>0){hc();return 0}e=g+12|0;if((c[e>>2]|0)==(f|0)){c[e>>2]=h;c[d>>2]=g;break}else{hc();return 0}}}while(0);q=i<<3;d=q-a|0;c[f+4>>2]=a|3;e=f+a|0;c[f+(a|4)>>2]=d|1;c[f+q>>2]=d;f=c[7834]|0;if((f|0)!=0){a=c[7837]|0;g=f>>>3;h=g<<1;f=31368+(h<<2)|0;i=c[7832]|0;g=1<<g;do{if((i&g|0)==0){c[7832]=i|g;g=f;h=31368+(h+2<<2)|0}else{h=31368+(h+2<<2)|0;g=c[h>>2]|0;if(!(g>>>0<(c[7836]|0)>>>0)){break}hc();return 0}}while(0);c[h>>2]=a;c[g+12>>2]=a;c[a+8>>2]=g;c[a+12>>2]=f}c[7834]=d;c[7837]=e;q=b;return q|0}b=c[7833]|0;if((b|0)==0){break}e=(b&-b)-1|0;p=e>>>12&16;e=e>>>(p>>>0);o=e>>>5&8;e=e>>>(o>>>0);q=e>>>2&4;e=e>>>(q>>>0);b=e>>>1&2;e=e>>>(b>>>0);d=e>>>1&1;d=c[31632+((o|p|q|b|d)+(e>>>(d>>>0))<<2)>>2]|0;e=d;b=d;d=(c[d+4>>2]&-8)-a|0;while(1){g=c[e+16>>2]|0;if((g|0)==0){g=c[e+20>>2]|0;if((g|0)==0){break}}h=(c[g+4>>2]&-8)-a|0;f=h>>>0<d>>>0;e=g;b=f?g:b;d=f?h:d}f=b;h=c[7836]|0;if(f>>>0<h>>>0){hc();return 0}q=f+a|0;e=q;if(!(f>>>0<q>>>0)){hc();return 0}g=c[b+24>>2]|0;i=c[b+12>>2]|0;do{if((i|0)==(b|0)){j=b+20|0;i=c[j>>2]|0;if((i|0)==0){j=b+16|0;i=c[j>>2]|0;if((i|0)==0){i=0;break}}while(1){k=i+20|0;l=c[k>>2]|0;if((l|0)!=0){i=l;j=k;continue}l=i+16|0;k=c[l>>2]|0;if((k|0)==0){break}else{i=k;j=l}}if(j>>>0<h>>>0){hc();return 0}else{c[j>>2]=0;break}}else{j=c[b+8>>2]|0;if(j>>>0<h>>>0){hc();return 0}k=j+12|0;if((c[k>>2]|0)!=(b|0)){hc();return 0}h=i+8|0;if((c[h>>2]|0)==(b|0)){c[k>>2]=i;c[h>>2]=j;break}else{hc();return 0}}}while(0);a:do{if((g|0)!=0){j=c[b+28>>2]|0;h=31632+(j<<2)|0;do{if((b|0)==(c[h>>2]|0)){c[h>>2]=i;if((i|0)!=0){break}c[7833]=c[7833]&~(1<<j);break a}else{if(g>>>0<(c[7836]|0)>>>0){hc();return 0}h=g+16|0;if((c[h>>2]|0)==(b|0)){c[h>>2]=i}else{c[g+20>>2]=i}if((i|0)==0){break a}}}while(0);if(i>>>0<(c[7836]|0)>>>0){hc();return 0}c[i+24>>2]=g;g=c[b+16>>2]|0;do{if((g|0)!=0){if(g>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[i+16>>2]=g;c[g+24>>2]=i;break}}}while(0);g=c[b+20>>2]|0;if((g|0)==0){break}if(g>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[i+20>>2]=g;c[g+24>>2]=i;break}}}while(0);if(d>>>0<16>>>0){q=d+a|0;c[b+4>>2]=q|3;q=f+(q+4)|0;c[q>>2]=c[q>>2]|1}else{c[b+4>>2]=a|3;c[f+(a|4)>>2]=d|1;c[f+(d+a)>>2]=d;f=c[7834]|0;if((f|0)!=0){a=c[7837]|0;g=f>>>3;h=g<<1;f=31368+(h<<2)|0;i=c[7832]|0;g=1<<g;do{if((i&g|0)==0){c[7832]=i|g;g=f;h=31368+(h+2<<2)|0}else{h=31368+(h+2<<2)|0;g=c[h>>2]|0;if(!(g>>>0<(c[7836]|0)>>>0)){break}hc();return 0}}while(0);c[h>>2]=a;c[g+12>>2]=a;c[a+8>>2]=g;c[a+12>>2]=f}c[7834]=d;c[7837]=e}q=b+8|0;return q|0}else{if(a>>>0>4294967231>>>0){a=-1;break}b=a+11|0;a=b&-8;f=c[7833]|0;if((f|0)==0){break}e=-a|0;b=b>>>8;do{if((b|0)==0){g=0}else{if(a>>>0>16777215>>>0){g=31;break}p=(b+1048320|0)>>>16&8;q=b<<p;o=(q+520192|0)>>>16&4;q=q<<o;g=(q+245760|0)>>>16&2;g=14-(o|p|g)+(q<<g>>>15)|0;g=a>>>((g+7|0)>>>0)&1|g<<1}}while(0);h=c[31632+(g<<2)>>2]|0;b:do{if((h|0)==0){b=0;j=0}else{if((g|0)==31){i=0}else{i=25-(g>>>1)|0}b=0;i=a<<i;j=0;while(1){l=c[h+4>>2]&-8;k=l-a|0;if(k>>>0<e>>>0){if((l|0)==(a|0)){b=h;e=k;j=h;break b}else{b=h;e=k}}k=c[h+20>>2]|0;h=c[h+16+(i>>>31<<2)>>2]|0;j=(k|0)==0|(k|0)==(h|0)?j:k;if((h|0)==0){break}else{i=i<<1}}}}while(0);if((j|0)==0&(b|0)==0){q=2<<g;f=f&(q|-q);if((f|0)==0){break}q=(f&-f)-1|0;n=q>>>12&16;q=q>>>(n>>>0);m=q>>>5&8;q=q>>>(m>>>0);o=q>>>2&4;q=q>>>(o>>>0);p=q>>>1&2;q=q>>>(p>>>0);j=q>>>1&1;j=c[31632+((m|n|o|p|j)+(q>>>(j>>>0))<<2)>>2]|0}if((j|0)!=0){while(1){g=(c[j+4>>2]&-8)-a|0;f=g>>>0<e>>>0;e=f?g:e;b=f?j:b;f=c[j+16>>2]|0;if((f|0)!=0){j=f;continue}j=c[j+20>>2]|0;if((j|0)==0){break}}}if((b|0)==0){break}if(!(e>>>0<((c[7834]|0)-a|0)>>>0)){break}d=b;i=c[7836]|0;if(d>>>0<i>>>0){hc();return 0}g=d+a|0;f=g;if(!(d>>>0<g>>>0)){hc();return 0}h=c[b+24>>2]|0;j=c[b+12>>2]|0;do{if((j|0)==(b|0)){k=b+20|0;j=c[k>>2]|0;if((j|0)==0){k=b+16|0;j=c[k>>2]|0;if((j|0)==0){j=0;break}}while(1){m=j+20|0;l=c[m>>2]|0;if((l|0)!=0){j=l;k=m;continue}l=j+16|0;m=c[l>>2]|0;if((m|0)==0){break}else{j=m;k=l}}if(k>>>0<i>>>0){hc();return 0}else{c[k>>2]=0;break}}else{k=c[b+8>>2]|0;if(k>>>0<i>>>0){hc();return 0}i=k+12|0;if((c[i>>2]|0)!=(b|0)){hc();return 0}l=j+8|0;if((c[l>>2]|0)==(b|0)){c[i>>2]=j;c[l>>2]=k;break}else{hc();return 0}}}while(0);c:do{if((h|0)!=0){i=c[b+28>>2]|0;k=31632+(i<<2)|0;do{if((b|0)==(c[k>>2]|0)){c[k>>2]=j;if((j|0)!=0){break}c[7833]=c[7833]&~(1<<i);break c}else{if(h>>>0<(c[7836]|0)>>>0){hc();return 0}i=h+16|0;if((c[i>>2]|0)==(b|0)){c[i>>2]=j}else{c[h+20>>2]=j}if((j|0)==0){break c}}}while(0);if(j>>>0<(c[7836]|0)>>>0){hc();return 0}c[j+24>>2]=h;h=c[b+16>>2]|0;do{if((h|0)!=0){if(h>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[j+16>>2]=h;c[h+24>>2]=j;break}}}while(0);h=c[b+20>>2]|0;if((h|0)==0){break}if(h>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}while(0);d:do{if(e>>>0<16>>>0){q=e+a|0;c[b+4>>2]=q|3;q=d+(q+4)|0;c[q>>2]=c[q>>2]|1}else{c[b+4>>2]=a|3;c[d+(a|4)>>2]=e|1;c[d+(e+a)>>2]=e;h=e>>>3;if(e>>>0<256>>>0){g=h<<1;e=31368+(g<<2)|0;i=c[7832]|0;h=1<<h;do{if((i&h|0)==0){c[7832]=i|h;h=e;g=31368+(g+2<<2)|0}else{g=31368+(g+2<<2)|0;h=c[g>>2]|0;if(!(h>>>0<(c[7836]|0)>>>0)){break}hc();return 0}}while(0);c[g>>2]=f;c[h+12>>2]=f;c[d+(a+8)>>2]=h;c[d+(a+12)>>2]=e;break}f=e>>>8;do{if((f|0)==0){f=0}else{if(e>>>0>16777215>>>0){f=31;break}p=(f+1048320|0)>>>16&8;q=f<<p;o=(q+520192|0)>>>16&4;q=q<<o;f=(q+245760|0)>>>16&2;f=14-(o|p|f)+(q<<f>>>15)|0;f=e>>>((f+7|0)>>>0)&1|f<<1}}while(0);j=31632+(f<<2)|0;c[d+(a+28)>>2]=f;c[d+(a+20)>>2]=0;c[d+(a+16)>>2]=0;h=c[7833]|0;i=1<<f;if((h&i|0)==0){c[7833]=h|i;c[j>>2]=g;c[d+(a+24)>>2]=j;c[d+(a+12)>>2]=g;c[d+(a+8)>>2]=g;break}h=c[j>>2]|0;if((f|0)==31){i=0}else{i=25-(f>>>1)|0}e:do{if((c[h+4>>2]&-8|0)!=(e|0)){f=h;j=e<<i;while(1){i=f+16+(j>>>31<<2)|0;h=c[i>>2]|0;if((h|0)==0){break}if((c[h+4>>2]&-8|0)==(e|0)){break e}else{f=h;j=j<<1}}if(i>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[i>>2]=g;c[d+(a+24)>>2]=f;c[d+(a+12)>>2]=g;c[d+(a+8)>>2]=g;break d}}}while(0);f=h+8|0;e=c[f>>2]|0;i=c[7836]|0;if(h>>>0<i>>>0){hc();return 0}if(e>>>0<i>>>0){hc();return 0}else{c[e+12>>2]=g;c[f>>2]=g;c[d+(a+8)>>2]=e;c[d+(a+12)>>2]=h;c[d+(a+24)>>2]=0;break}}}while(0);q=b+8|0;return q|0}}while(0);b=c[7834]|0;if(!(a>>>0>b>>>0)){d=b-a|0;e=c[7837]|0;if(d>>>0>15>>>0){q=e;c[7837]=q+a;c[7834]=d;c[q+(a+4)>>2]=d|1;c[q+b>>2]=d;c[e+4>>2]=a|3}else{c[7834]=0;c[7837]=0;c[e+4>>2]=b|3;q=e+(b+4)|0;c[q>>2]=c[q>>2]|1}q=e+8|0;return q|0}b=c[7835]|0;if(a>>>0<b>>>0){o=b-a|0;c[7835]=o;q=c[7838]|0;p=q;c[7838]=p+a;c[p+(a+4)>>2]=o|1;c[q+4>>2]=a|3;q=q+8|0;return q|0}do{if((c[7756]|0)==0){b=Kb(30)|0;if((b-1&b|0)==0){c[7758]=b;c[7757]=b;c[7759]=-1;c[7760]=-1;c[7761]=0;c[7943]=0;q=(Ac(0)|0)&-16^1431655768;c[7756]=q;break}else{hc();return 0}}}while(0);g=a+48|0;b=c[7758]|0;h=a+47|0;e=b+h|0;b=-b|0;f=e&b;if(!(f>>>0>a>>>0)){q=0;return q|0}i=c[7942]|0;do{if((i|0)!=0){p=c[7940]|0;q=p+f|0;if(q>>>0<=p>>>0|q>>>0>i>>>0){a=0}else{break}return a|0}}while(0);f:do{if((c[7943]&4|0)==0){i=c[7838]|0;g:do{if((i|0)==0){d=182}else{j=31776;while(1){l=j|0;m=c[l>>2]|0;if(!(m>>>0>i>>>0)){k=j+4|0;if((m+(c[k>>2]|0)|0)>>>0>i>>>0){break}}j=c[j+8>>2]|0;if((j|0)==0){d=182;break g}}if((j|0)==0){d=182;break}i=e-(c[7835]|0)&b;if(!(i>>>0<2147483647>>>0)){e=0;break}j=Tb(i|0)|0;d=(j|0)==((c[l>>2]|0)+(c[k>>2]|0)|0);b=d?j:-1;e=d?i:0;d=191}}while(0);do{if((d|0)==182){b=Tb(0)|0;if((b|0)==-1){e=0;break}i=b;j=c[7757]|0;e=j-1|0;if((e&i|0)==0){i=f}else{i=f-i+(e+i&-j)|0}j=c[7940]|0;e=j+i|0;if(!(i>>>0>a>>>0&i>>>0<2147483647>>>0)){e=0;break}k=c[7942]|0;if((k|0)!=0){if(e>>>0<=j>>>0|e>>>0>k>>>0){e=0;break}}j=Tb(i|0)|0;d=(j|0)==(b|0);b=d?b:-1;e=d?i:0;d=191}}while(0);h:do{if((d|0)==191){d=-i|0;if(!((b|0)==-1)){d=202;break f}do{if((j|0)!=-1&i>>>0<2147483647>>>0&i>>>0<g>>>0){b=c[7758]|0;b=h-i+b&-b;if(!(b>>>0<2147483647>>>0)){break}if((Tb(b|0)|0)==-1){Tb(d|0)|0;break h}else{i=b+i|0;break}}}while(0);if(!((j|0)==-1)){e=i;b=j;d=202;break f}}}while(0);c[7943]=c[7943]|4;d=199}else{e=0;d=199}}while(0);do{if((d|0)==199){if(!(f>>>0<2147483647>>>0)){break}b=Tb(f|0)|0;f=Tb(0)|0;if(!((f|0)!=-1&(b|0)!=-1&b>>>0<f>>>0)){break}g=f-b|0;f=g>>>0>(a+40|0)>>>0;if(f){e=f?g:e;d=202}}}while(0);do{if((d|0)==202){f=(c[7940]|0)+e|0;c[7940]=f;if(f>>>0>(c[7941]|0)>>>0){c[7941]=f}f=c[7838]|0;i:do{if((f|0)==0){q=c[7836]|0;if((q|0)==0|b>>>0<q>>>0){c[7836]=b}c[7944]=b;c[7945]=e;c[7947]=0;c[7841]=c[7756];c[7840]=-1;d=0;do{q=d<<1;p=31368+(q<<2)|0;c[31368+(q+3<<2)>>2]=p;c[31368+(q+2<<2)>>2]=p;d=d+1|0;}while(d>>>0<32>>>0);d=b+8|0;if((d&7|0)==0){d=0}else{d=-d&7}q=e-40-d|0;c[7838]=b+d;c[7835]=q;c[b+(d+4)>>2]=q|1;c[b+(e-36)>>2]=40;c[7839]=c[7760]}else{g=31776;do{h=c[g>>2]|0;i=g+4|0;j=c[i>>2]|0;if((b|0)==(h+j|0)){d=214;break}g=c[g+8>>2]|0;}while((g|0)!=0);do{if((d|0)==214){if((c[g+12>>2]&8|0)!=0){break}g=f;if(!(g>>>0>=h>>>0&g>>>0<b>>>0)){break}c[i>>2]=j+e;b=(c[7835]|0)+e|0;d=f+8|0;if((d&7|0)==0){d=0}else{d=-d&7}q=b-d|0;c[7838]=g+d;c[7835]=q;c[g+(d+4)>>2]=q|1;c[g+(b+4)>>2]=40;c[7839]=c[7760];break i}}while(0);if(b>>>0<(c[7836]|0)>>>0){c[7836]=b}g=b+e|0;h=31776;do{i=h|0;if((c[i>>2]|0)==(g|0)){d=224;break}h=c[h+8>>2]|0;}while((h|0)!=0);do{if((d|0)==224){if((c[h+12>>2]&8|0)!=0){break}c[i>>2]=b;d=h+4|0;c[d>>2]=(c[d>>2]|0)+e;d=b+8|0;if((d&7|0)==0){d=0}else{d=-d&7}f=b+(e+8)|0;if((f&7|0)==0){j=0}else{j=-f&7}m=b+(j+e)|0;l=m;f=d+a|0;h=b+f|0;g=h;i=m-(b+d)-a|0;c[b+(d+4)>>2]=a|3;j:do{if((l|0)==(c[7838]|0)){q=(c[7835]|0)+i|0;c[7835]=q;c[7838]=g;c[b+(f+4)>>2]=q|1}else{if((l|0)==(c[7837]|0)){q=(c[7834]|0)+i|0;c[7834]=q;c[7837]=g;c[b+(f+4)>>2]=q|1;c[b+(q+f)>>2]=q;break}k=e+4|0;o=c[b+(k+j)>>2]|0;if((o&3|0)==1){a=o&-8;n=o>>>3;k:do{if(o>>>0<256>>>0){k=c[b+((j|8)+e)>>2]|0;m=c[b+(e+12+j)>>2]|0;o=31368+(n<<1<<2)|0;do{if((k|0)!=(o|0)){if(k>>>0<(c[7836]|0)>>>0){hc();return 0}if((c[k+12>>2]|0)==(l|0)){break}hc();return 0}}while(0);if((m|0)==(k|0)){c[7832]=c[7832]&~(1<<n);break}do{if((m|0)==(o|0)){n=m+8|0}else{if(m>>>0<(c[7836]|0)>>>0){hc();return 0}n=m+8|0;if((c[n>>2]|0)==(l|0)){break}hc();return 0}}while(0);c[k+12>>2]=m;c[n>>2]=k}else{l=c[b+((j|24)+e)>>2]|0;n=c[b+(e+12+j)>>2]|0;do{if((n|0)==(m|0)){p=j|16;o=b+(k+p)|0;n=c[o>>2]|0;if((n|0)==0){o=b+(p+e)|0;n=c[o>>2]|0;if((n|0)==0){n=0;break}}while(1){p=n+20|0;q=c[p>>2]|0;if((q|0)!=0){n=q;o=p;continue}q=n+16|0;p=c[q>>2]|0;if((p|0)==0){break}else{n=p;o=q}}if(o>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[o>>2]=0;break}}else{q=c[b+((j|8)+e)>>2]|0;if(q>>>0<(c[7836]|0)>>>0){hc();return 0}o=q+12|0;if((c[o>>2]|0)!=(m|0)){hc();return 0}p=n+8|0;if((c[p>>2]|0)==(m|0)){c[o>>2]=n;c[p>>2]=q;break}else{hc();return 0}}}while(0);if((l|0)==0){break}o=c[b+(e+28+j)>>2]|0;p=31632+(o<<2)|0;do{if((m|0)==(c[p>>2]|0)){c[p>>2]=n;if((n|0)!=0){break}c[7833]=c[7833]&~(1<<o);break k}else{if(l>>>0<(c[7836]|0)>>>0){hc();return 0}o=l+16|0;if((c[o>>2]|0)==(m|0)){c[o>>2]=n}else{c[l+20>>2]=n}if((n|0)==0){break k}}}while(0);if(n>>>0<(c[7836]|0)>>>0){hc();return 0}c[n+24>>2]=l;m=j|16;l=c[b+(m+e)>>2]|0;do{if((l|0)!=0){if(l>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[n+16>>2]=l;c[l+24>>2]=n;break}}}while(0);k=c[b+(k+m)>>2]|0;if((k|0)==0){break}if(k>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[n+20>>2]=k;c[k+24>>2]=n;break}}}while(0);l=b+((a|j)+e)|0;i=a+i|0}e=l+4|0;c[e>>2]=c[e>>2]&-2;c[b+(f+4)>>2]=i|1;c[b+(i+f)>>2]=i;e=i>>>3;if(i>>>0<256>>>0){h=e<<1;a=31368+(h<<2)|0;i=c[7832]|0;e=1<<e;do{if((i&e|0)==0){c[7832]=i|e;e=a;h=31368+(h+2<<2)|0}else{h=31368+(h+2<<2)|0;e=c[h>>2]|0;if(!(e>>>0<(c[7836]|0)>>>0)){break}hc();return 0}}while(0);c[h>>2]=g;c[e+12>>2]=g;c[b+(f+8)>>2]=e;c[b+(f+12)>>2]=a;break}a=i>>>8;do{if((a|0)==0){a=0}else{if(i>>>0>16777215>>>0){a=31;break}p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=i>>>((a+7|0)>>>0)&1|a<<1}}while(0);e=31632+(a<<2)|0;c[b+(f+28)>>2]=a;c[b+(f+20)>>2]=0;c[b+(f+16)>>2]=0;j=c[7833]|0;g=1<<a;if((j&g|0)==0){c[7833]=j|g;c[e>>2]=h;c[b+(f+24)>>2]=e;c[b+(f+12)>>2]=h;c[b+(f+8)>>2]=h;break}g=c[e>>2]|0;if((a|0)==31){e=0}else{e=25-(a>>>1)|0}l:do{if((c[g+4>>2]&-8|0)!=(i|0)){a=g;j=i<<e;while(1){e=a+16+(j>>>31<<2)|0;g=c[e>>2]|0;if((g|0)==0){break}if((c[g+4>>2]&-8|0)==(i|0)){break l}else{a=g;j=j<<1}}if(e>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[e>>2]=h;c[b+(f+24)>>2]=a;c[b+(f+12)>>2]=h;c[b+(f+8)>>2]=h;break j}}}while(0);e=g+8|0;i=c[e>>2]|0;a=c[7836]|0;if(g>>>0<a>>>0){hc();return 0}if(i>>>0<a>>>0){hc();return 0}else{c[i+12>>2]=h;c[e>>2]=h;c[b+(f+8)>>2]=i;c[b+(f+12)>>2]=g;c[b+(f+24)>>2]=0;break}}}while(0);q=b+(d|8)|0;return q|0}}while(0);d=f;j=31776;while(1){h=c[j>>2]|0;if(!(h>>>0>d>>>0)){i=c[j+4>>2]|0;g=h+i|0;if(g>>>0>d>>>0){break}}j=c[j+8>>2]|0}j=h+(i-39)|0;if((j&7|0)==0){j=0}else{j=-j&7}h=h+(i-47+j)|0;h=h>>>0<(f+16|0)>>>0?d:h;i=h+8|0;j=b+8|0;if((j&7|0)==0){j=0}else{j=-j&7}q=e-40-j|0;c[7838]=b+j;c[7835]=q;c[b+(j+4)>>2]=q|1;c[b+(e-36)>>2]=40;c[7839]=c[7760];c[h+4>>2]=27;c[i>>2]=c[7944];c[i+4>>2]=c[7945];c[i+8>>2]=c[7946];c[i+12>>2]=c[7947];c[7944]=b;c[7945]=e;c[7947]=0;c[7946]=i;e=h+28|0;c[e>>2]=7;if((h+32|0)>>>0<g>>>0){while(1){b=e+4|0;c[b>>2]=7;if((e+8|0)>>>0<g>>>0){e=b}else{break}}}if((h|0)==(d|0)){break}e=h-f|0;g=d+(e+4)|0;c[g>>2]=c[g>>2]&-2;c[f+4>>2]=e|1;c[d+e>>2]=e;g=e>>>3;if(e>>>0<256>>>0){d=g<<1;b=31368+(d<<2)|0;e=c[7832]|0;g=1<<g;do{if((e&g|0)==0){c[7832]=e|g;e=b;d=31368+(d+2<<2)|0}else{d=31368+(d+2<<2)|0;e=c[d>>2]|0;if(!(e>>>0<(c[7836]|0)>>>0)){break}hc();return 0}}while(0);c[d>>2]=f;c[e+12>>2]=f;c[f+8>>2]=e;c[f+12>>2]=b;break}b=f;d=e>>>8;do{if((d|0)==0){d=0}else{if(e>>>0>16777215>>>0){d=31;break}p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;d=(q+245760|0)>>>16&2;d=14-(o|p|d)+(q<<d>>>15)|0;d=e>>>((d+7|0)>>>0)&1|d<<1}}while(0);i=31632+(d<<2)|0;c[f+28>>2]=d;c[f+20>>2]=0;c[f+16>>2]=0;g=c[7833]|0;h=1<<d;if((g&h|0)==0){c[7833]=g|h;c[i>>2]=b;c[f+24>>2]=i;c[f+12>>2]=f;c[f+8>>2]=f;break}i=c[i>>2]|0;if((d|0)==31){g=0}else{g=25-(d>>>1)|0}m:do{if((c[i+4>>2]&-8|0)!=(e|0)){d=i;g=e<<g;while(1){h=d+16+(g>>>31<<2)|0;i=c[h>>2]|0;if((i|0)==0){break}if((c[i+4>>2]&-8|0)==(e|0)){break m}else{d=i;g=g<<1}}if(h>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[h>>2]=b;c[f+24>>2]=d;c[f+12>>2]=f;c[f+8>>2]=f;break i}}}while(0);e=i+8|0;g=c[e>>2]|0;d=c[7836]|0;if(i>>>0<d>>>0){hc();return 0}if(g>>>0<d>>>0){hc();return 0}else{c[g+12>>2]=b;c[e>>2]=b;c[f+8>>2]=g;c[f+12>>2]=i;c[f+24>>2]=0;break}}}while(0);b=c[7835]|0;if(!(b>>>0>a>>>0)){break}o=b-a|0;c[7835]=o;q=c[7838]|0;p=q;c[7838]=p+a;c[p+(a+4)>>2]=o|1;c[q+4>>2]=a|3;q=q+8|0;return q|0}}while(0);q=Vb()|0;c[q>>2]=12;q=0;return q|0}function Hu(a){a=a|0;var b=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;if((a|0)==0){return}p=a-8|0;s=p;q=c[7836]|0;if(p>>>0<q>>>0){hc()}n=c[a-4>>2]|0;m=n&3;if((m|0)==1){hc()}h=n&-8;k=a+(h-8)|0;j=k;a:do{if((n&1|0)==0){u=c[p>>2]|0;if((m|0)==0){return}p=-8-u|0;s=a+p|0;m=s;n=u+h|0;if(s>>>0<q>>>0){hc()}if((m|0)==(c[7837]|0)){b=a+(h-4)|0;if((c[b>>2]&3|0)!=3){b=m;l=n;break}c[7834]=n;c[b>>2]=c[b>>2]&-2;c[a+(p+4)>>2]=n|1;c[k>>2]=n;return}t=u>>>3;if(u>>>0<256>>>0){b=c[a+(p+8)>>2]|0;l=c[a+(p+12)>>2]|0;o=31368+(t<<1<<2)|0;do{if((b|0)!=(o|0)){if(b>>>0<q>>>0){hc()}if((c[b+12>>2]|0)==(m|0)){break}hc()}}while(0);if((l|0)==(b|0)){c[7832]=c[7832]&~(1<<t);b=m;l=n;break}do{if((l|0)==(o|0)){r=l+8|0}else{if(l>>>0<q>>>0){hc()}o=l+8|0;if((c[o>>2]|0)==(m|0)){r=o;break}hc()}}while(0);c[b+12>>2]=l;c[r>>2]=b;b=m;l=n;break}r=c[a+(p+24)>>2]|0;u=c[a+(p+12)>>2]|0;do{if((u|0)==(s|0)){u=a+(p+20)|0;t=c[u>>2]|0;if((t|0)==0){u=a+(p+16)|0;t=c[u>>2]|0;if((t|0)==0){o=0;break}}while(1){w=t+20|0;v=c[w>>2]|0;if((v|0)!=0){t=v;u=w;continue}v=t+16|0;w=c[v>>2]|0;if((w|0)==0){break}else{t=w;u=v}}if(u>>>0<q>>>0){hc()}else{c[u>>2]=0;o=t;break}}else{t=c[a+(p+8)>>2]|0;if(t>>>0<q>>>0){hc()}q=t+12|0;if((c[q>>2]|0)!=(s|0)){hc()}v=u+8|0;if((c[v>>2]|0)==(s|0)){c[q>>2]=u;c[v>>2]=t;o=u;break}else{hc()}}}while(0);if((r|0)==0){b=m;l=n;break}q=c[a+(p+28)>>2]|0;t=31632+(q<<2)|0;do{if((s|0)==(c[t>>2]|0)){c[t>>2]=o;if((o|0)!=0){break}c[7833]=c[7833]&~(1<<q);b=m;l=n;break a}else{if(r>>>0<(c[7836]|0)>>>0){hc()}q=r+16|0;if((c[q>>2]|0)==(s|0)){c[q>>2]=o}else{c[r+20>>2]=o}if((o|0)==0){b=m;l=n;break a}}}while(0);if(o>>>0<(c[7836]|0)>>>0){hc()}c[o+24>>2]=r;q=c[a+(p+16)>>2]|0;do{if((q|0)!=0){if(q>>>0<(c[7836]|0)>>>0){hc()}else{c[o+16>>2]=q;c[q+24>>2]=o;break}}}while(0);p=c[a+(p+20)>>2]|0;if((p|0)==0){b=m;l=n;break}if(p>>>0<(c[7836]|0)>>>0){hc()}else{c[o+20>>2]=p;c[p+24>>2]=o;b=m;l=n;break}}else{b=s;l=h}}while(0);m=b;if(!(m>>>0<k>>>0)){hc()}n=a+(h-4)|0;o=c[n>>2]|0;if((o&1|0)==0){hc()}do{if((o&2|0)==0){if((j|0)==(c[7838]|0)){w=(c[7835]|0)+l|0;c[7835]=w;c[7838]=b;c[b+4>>2]=w|1;if((b|0)!=(c[7837]|0)){return}c[7837]=0;c[7834]=0;return}if((j|0)==(c[7837]|0)){w=(c[7834]|0)+l|0;c[7834]=w;c[7837]=b;c[b+4>>2]=w|1;c[m+w>>2]=w;return}l=(o&-8)+l|0;n=o>>>3;b:do{if(o>>>0<256>>>0){g=c[a+h>>2]|0;h=c[a+(h|4)>>2]|0;a=31368+(n<<1<<2)|0;do{if((g|0)!=(a|0)){if(g>>>0<(c[7836]|0)>>>0){hc()}if((c[g+12>>2]|0)==(j|0)){break}hc()}}while(0);if((h|0)==(g|0)){c[7832]=c[7832]&~(1<<n);break}do{if((h|0)==(a|0)){i=h+8|0}else{if(h>>>0<(c[7836]|0)>>>0){hc()}a=h+8|0;if((c[a>>2]|0)==(j|0)){i=a;break}hc()}}while(0);c[g+12>>2]=h;c[i>>2]=g}else{i=c[a+(h+16)>>2]|0;n=c[a+(h|4)>>2]|0;do{if((n|0)==(k|0)){n=a+(h+12)|0;j=c[n>>2]|0;if((j|0)==0){n=a+(h+8)|0;j=c[n>>2]|0;if((j|0)==0){g=0;break}}while(1){p=j+20|0;o=c[p>>2]|0;if((o|0)!=0){j=o;n=p;continue}o=j+16|0;p=c[o>>2]|0;if((p|0)==0){break}else{j=p;n=o}}if(n>>>0<(c[7836]|0)>>>0){hc()}else{c[n>>2]=0;g=j;break}}else{o=c[a+h>>2]|0;if(o>>>0<(c[7836]|0)>>>0){hc()}p=o+12|0;if((c[p>>2]|0)!=(k|0)){hc()}j=n+8|0;if((c[j>>2]|0)==(k|0)){c[p>>2]=n;c[j>>2]=o;g=n;break}else{hc()}}}while(0);if((i|0)==0){break}j=c[a+(h+20)>>2]|0;n=31632+(j<<2)|0;do{if((k|0)==(c[n>>2]|0)){c[n>>2]=g;if((g|0)!=0){break}c[7833]=c[7833]&~(1<<j);break b}else{if(i>>>0<(c[7836]|0)>>>0){hc()}j=i+16|0;if((c[j>>2]|0)==(k|0)){c[j>>2]=g}else{c[i+20>>2]=g}if((g|0)==0){break b}}}while(0);if(g>>>0<(c[7836]|0)>>>0){hc()}c[g+24>>2]=i;i=c[a+(h+8)>>2]|0;do{if((i|0)!=0){if(i>>>0<(c[7836]|0)>>>0){hc()}else{c[g+16>>2]=i;c[i+24>>2]=g;break}}}while(0);h=c[a+(h+12)>>2]|0;if((h|0)==0){break}if(h>>>0<(c[7836]|0)>>>0){hc()}else{c[g+20>>2]=h;c[h+24>>2]=g;break}}}while(0);c[b+4>>2]=l|1;c[m+l>>2]=l;if((b|0)!=(c[7837]|0)){break}c[7834]=l;return}else{c[n>>2]=o&-2;c[b+4>>2]=l|1;c[m+l>>2]=l}}while(0);g=l>>>3;if(l>>>0<256>>>0){h=g<<1;d=31368+(h<<2)|0;a=c[7832]|0;g=1<<g;do{if((a&g|0)==0){c[7832]=a|g;f=d;e=31368+(h+2<<2)|0}else{g=31368+(h+2<<2)|0;h=c[g>>2]|0;if(!(h>>>0<(c[7836]|0)>>>0)){f=h;e=g;break}hc()}}while(0);c[e>>2]=b;c[f+12>>2]=b;c[b+8>>2]=f;c[b+12>>2]=d;return}e=b;f=l>>>8;do{if((f|0)==0){f=0}else{if(l>>>0>16777215>>>0){f=31;break}v=(f+1048320|0)>>>16&8;w=f<<v;u=(w+520192|0)>>>16&4;w=w<<u;f=(w+245760|0)>>>16&2;f=14-(u|v|f)+(w<<f>>>15)|0;f=l>>>((f+7|0)>>>0)&1|f<<1}}while(0);g=31632+(f<<2)|0;c[b+28>>2]=f;c[b+20>>2]=0;c[b+16>>2]=0;a=c[7833]|0;h=1<<f;c:do{if((a&h|0)==0){c[7833]=a|h;c[g>>2]=e;c[b+24>>2]=g;c[b+12>>2]=b;c[b+8>>2]=b}else{h=c[g>>2]|0;if((f|0)==31){g=0}else{g=25-(f>>>1)|0}d:do{if((c[h+4>>2]&-8|0)==(l|0)){d=h}else{f=h;a=l<<g;while(1){g=f+16+(a>>>31<<2)|0;h=c[g>>2]|0;if((h|0)==0){break}if((c[h+4>>2]&-8|0)==(l|0)){d=h;break d}else{f=h;a=a<<1}}if(g>>>0<(c[7836]|0)>>>0){hc()}else{c[g>>2]=e;c[b+24>>2]=f;c[b+12>>2]=b;c[b+8>>2]=b;break c}}}while(0);f=d+8|0;h=c[f>>2]|0;g=c[7836]|0;if(d>>>0<g>>>0){hc()}if(h>>>0<g>>>0){hc()}else{c[h+12>>2]=e;c[f>>2]=e;c[b+8>>2]=h;c[b+12>>2]=d;c[b+24>>2]=0;break}}}while(0);w=(c[7840]|0)-1|0;c[7840]=w;if((w|0)==0){b=31784}else{return}while(1){b=c[b>>2]|0;if((b|0)==0){break}else{b=b+8|0}}c[7840]=-1;return}function Iu(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)==0){e=Gu(b)|0;return e|0}if(b>>>0>4294967231>>>0){e=Vb()|0;c[e>>2]=12;e=0;return e|0}if(b>>>0<11>>>0){d=16}else{d=b+11&-8}d=Ju(a-8|0,d)|0;if((d|0)!=0){e=d+8|0;return e|0}d=Gu(b)|0;if((d|0)==0){e=0;return e|0}e=c[a-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;cv(d|0,a|0,e>>>0<b>>>0?e:b)|0;Hu(a);e=d;return e|0}function Ju(a,b){a=a|0;b=b|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;d=a+4|0;f=c[d>>2]|0;h=f&-8;e=a;j=e+h|0;k=j;i=c[7836]|0;if(e>>>0<i>>>0){hc();return 0}m=f&3;if(!((m|0)!=1&e>>>0<j>>>0)){hc();return 0}g=e+(h|4)|0;l=c[g>>2]|0;if((l&1|0)==0){hc();return 0}if((m|0)==0){if(b>>>0<256>>>0){o=0;return o|0}do{if(!(h>>>0<(b+4|0)>>>0)){if((h-b|0)>>>0>c[7758]<<1>>>0){break}return a|0}}while(0);o=0;return o|0}if(!(h>>>0<b>>>0)){h=h-b|0;if(!(h>>>0>15>>>0)){o=a;return o|0}c[d>>2]=f&1|b|2;c[e+(b+4)>>2]=h|3;c[g>>2]=c[g>>2]|1;Mu(e+b|0,h);o=a;return o|0}if((k|0)==(c[7838]|0)){g=(c[7835]|0)+h|0;if(!(g>>>0>b>>>0)){o=0;return o|0}o=g-b|0;c[d>>2]=f&1|b|2;c[e+(b+4)>>2]=o|1;c[7838]=e+b;c[7835]=o;o=a;return o|0}if((k|0)==(c[7837]|0)){h=(c[7834]|0)+h|0;if(h>>>0<b>>>0){o=0;return o|0}g=h-b|0;if(g>>>0>15>>>0){c[d>>2]=f&1|b|2;c[e+(b+4)>>2]=g|1;c[e+h>>2]=g;d=e+(h+4)|0;c[d>>2]=c[d>>2]&-2;d=e+b|0}else{c[d>>2]=f&1|h|2;d=e+(h+4)|0;c[d>>2]=c[d>>2]|1;d=0;g=0}c[7834]=g;c[7837]=d;o=a;return o|0}if((l&2|0)!=0){o=0;return o|0}g=(l&-8)+h|0;if(g>>>0<b>>>0){o=0;return o|0}f=g-b|0;m=l>>>3;a:do{if(l>>>0<256>>>0){j=c[e+(h+8)>>2]|0;h=c[e+(h+12)>>2]|0;l=31368+(m<<1<<2)|0;do{if((j|0)!=(l|0)){if(j>>>0<i>>>0){hc();return 0}if((c[j+12>>2]|0)==(k|0)){break}hc();return 0}}while(0);if((h|0)==(j|0)){c[7832]=c[7832]&~(1<<m);break}do{if((h|0)==(l|0)){i=h+8|0}else{if(h>>>0<i>>>0){hc();return 0}i=h+8|0;if((c[i>>2]|0)==(k|0)){break}hc();return 0}}while(0);c[j+12>>2]=h;c[i>>2]=j}else{k=c[e+(h+24)>>2]|0;l=c[e+(h+12)>>2]|0;do{if((l|0)==(j|0)){m=e+(h+20)|0;l=c[m>>2]|0;if((l|0)==0){m=e+(h+16)|0;l=c[m>>2]|0;if((l|0)==0){l=0;break}}while(1){o=l+20|0;n=c[o>>2]|0;if((n|0)!=0){l=n;m=o;continue}o=l+16|0;n=c[o>>2]|0;if((n|0)==0){break}else{l=n;m=o}}if(m>>>0<i>>>0){hc();return 0}else{c[m>>2]=0;break}}else{m=c[e+(h+8)>>2]|0;if(m>>>0<i>>>0){hc();return 0}n=m+12|0;if((c[n>>2]|0)!=(j|0)){hc();return 0}i=l+8|0;if((c[i>>2]|0)==(j|0)){c[n>>2]=l;c[i>>2]=m;break}else{hc();return 0}}}while(0);if((k|0)==0){break}m=c[e+(h+28)>>2]|0;i=31632+(m<<2)|0;do{if((j|0)==(c[i>>2]|0)){c[i>>2]=l;if((l|0)!=0){break}c[7833]=c[7833]&~(1<<m);break a}else{if(k>>>0<(c[7836]|0)>>>0){hc();return 0}i=k+16|0;if((c[i>>2]|0)==(j|0)){c[i>>2]=l}else{c[k+20>>2]=l}if((l|0)==0){break a}}}while(0);if(l>>>0<(c[7836]|0)>>>0){hc();return 0}c[l+24>>2]=k;i=c[e+(h+16)>>2]|0;do{if((i|0)!=0){if(i>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[l+16>>2]=i;c[i+24>>2]=l;break}}}while(0);h=c[e+(h+20)>>2]|0;if((h|0)==0){break}if(h>>>0<(c[7836]|0)>>>0){hc();return 0}else{c[l+20>>2]=h;c[h+24>>2]=l;break}}}while(0);if(f>>>0<16>>>0){c[d>>2]=g|c[d>>2]&1|2;o=e+(g|4)|0;c[o>>2]=c[o>>2]|1;o=a;return o|0}else{c[d>>2]=c[d>>2]&1|b|2;c[e+(b+4)>>2]=f|3;o=e+(g|4)|0;c[o>>2]=c[o>>2]|1;Mu(e+b|0,f);o=a;return o|0}return 0}function Ku(a,b){a=a|0;b=b|0;if(a>>>0<9>>>0){a=Gu(b)|0;return a|0}else{a=Lu(a,b)|0;return a|0}return 0}function Lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=a>>>0<16>>>0?16:a;if((f-1&f|0)!=0){a=16;while(1){if(a>>>0<f>>>0){a=a<<1}else{f=a;break}}}if(!((-64-f|0)>>>0>b>>>0)){j=Vb()|0;c[j>>2]=12;j=0;return j|0}if(b>>>0<11>>>0){b=16}else{b=b+11&-8}d=Gu(f+12+b|0)|0;if((d|0)==0){j=0;return j|0}a=d-8|0;e=a;g=f-1|0;do{if((d&g|0)!=0){i=d+g&-f;g=i-8|0;h=a;if(!((g-h|0)>>>0>15>>>0)){g=i+(f-8)|0}f=g;j=g-h|0;i=d-4|0;k=c[i>>2]|0;h=(k&-8)-j|0;if((k&3|0)==0){c[g>>2]=(c[a>>2]|0)+j;c[g+4>>2]=h;e=f;break}else{k=g+4|0;c[k>>2]=h|c[k>>2]&1|2;k=g+(h+4)|0;c[k>>2]=c[k>>2]|1;c[i>>2]=j|c[i>>2]&1|2;k=d+(j-4)|0;c[k>>2]=c[k>>2]|1;Mu(e,j);e=f;break}}}while(0);d=e+4|0;a=c[d>>2]|0;do{if((a&3|0)!=0){f=a&-8;if(!(f>>>0>(b+16|0)>>>0)){break}k=f-b|0;j=e;c[d>>2]=b|a&1|2;c[j+(b|4)>>2]=k|3;i=j+(f|4)|0;c[i>>2]=c[i>>2]|1;Mu(j+b|0,k)}}while(0);k=e+8|0;return k|0}function Mu(a,b){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0;h=a;k=h+b|0;j=k;l=c[a+4>>2]|0;a:do{if((l&1|0)==0){o=c[a>>2]|0;if((l&3|0)==0){return}r=h+(-o|0)|0;a=r;l=o+b|0;p=c[7836]|0;if(r>>>0<p>>>0){hc()}if((a|0)==(c[7837]|0)){d=h+(b+4)|0;if((c[d>>2]&3|0)!=3){d=a;m=l;break}c[7834]=l;c[d>>2]=c[d>>2]&-2;c[h+(4-o)>>2]=l|1;c[k>>2]=l;return}s=o>>>3;if(o>>>0<256>>>0){d=c[h+(8-o)>>2]|0;m=c[h+(12-o)>>2]|0;n=31368+(s<<1<<2)|0;do{if((d|0)!=(n|0)){if(d>>>0<p>>>0){hc()}if((c[d+12>>2]|0)==(a|0)){break}hc()}}while(0);if((m|0)==(d|0)){c[7832]=c[7832]&~(1<<s);d=a;m=l;break}do{if((m|0)==(n|0)){q=m+8|0}else{if(m>>>0<p>>>0){hc()}n=m+8|0;if((c[n>>2]|0)==(a|0)){q=n;break}hc()}}while(0);c[d+12>>2]=m;c[q>>2]=d;d=a;m=l;break}q=c[h+(24-o)>>2]|0;s=c[h+(12-o)>>2]|0;do{if((s|0)==(r|0)){u=16-o|0;t=h+(u+4)|0;s=c[t>>2]|0;if((s|0)==0){t=h+u|0;s=c[t>>2]|0;if((s|0)==0){n=0;break}}while(1){u=s+20|0;v=c[u>>2]|0;if((v|0)!=0){s=v;t=u;continue}v=s+16|0;u=c[v>>2]|0;if((u|0)==0){break}else{s=u;t=v}}if(t>>>0<p>>>0){hc()}else{c[t>>2]=0;n=s;break}}else{t=c[h+(8-o)>>2]|0;if(t>>>0<p>>>0){hc()}p=t+12|0;if((c[p>>2]|0)!=(r|0)){hc()}u=s+8|0;if((c[u>>2]|0)==(r|0)){c[p>>2]=s;c[u>>2]=t;n=s;break}else{hc()}}}while(0);if((q|0)==0){d=a;m=l;break}p=c[h+(28-o)>>2]|0;s=31632+(p<<2)|0;do{if((r|0)==(c[s>>2]|0)){c[s>>2]=n;if((n|0)!=0){break}c[7833]=c[7833]&~(1<<p);d=a;m=l;break a}else{if(q>>>0<(c[7836]|0)>>>0){hc()}p=q+16|0;if((c[p>>2]|0)==(r|0)){c[p>>2]=n}else{c[q+20>>2]=n}if((n|0)==0){d=a;m=l;break a}}}while(0);if(n>>>0<(c[7836]|0)>>>0){hc()}c[n+24>>2]=q;p=16-o|0;o=c[h+p>>2]|0;do{if((o|0)!=0){if(o>>>0<(c[7836]|0)>>>0){hc()}else{c[n+16>>2]=o;c[o+24>>2]=n;break}}}while(0);o=c[h+(p+4)>>2]|0;if((o|0)==0){d=a;m=l;break}if(o>>>0<(c[7836]|0)>>>0){hc()}else{c[n+20>>2]=o;c[o+24>>2]=n;d=a;m=l;break}}else{d=a;m=b}}while(0);l=c[7836]|0;if(k>>>0<l>>>0){hc()}a=h+(b+4)|0;n=c[a>>2]|0;do{if((n&2|0)==0){if((j|0)==(c[7838]|0)){v=(c[7835]|0)+m|0;c[7835]=v;c[7838]=d;c[d+4>>2]=v|1;if((d|0)!=(c[7837]|0)){return}c[7837]=0;c[7834]=0;return}if((j|0)==(c[7837]|0)){v=(c[7834]|0)+m|0;c[7834]=v;c[7837]=d;c[d+4>>2]=v|1;c[d+v>>2]=v;return}m=(n&-8)+m|0;a=n>>>3;b:do{if(n>>>0<256>>>0){g=c[h+(b+8)>>2]|0;b=c[h+(b+12)>>2]|0;h=31368+(a<<1<<2)|0;do{if((g|0)!=(h|0)){if(g>>>0<l>>>0){hc()}if((c[g+12>>2]|0)==(j|0)){break}hc()}}while(0);if((b|0)==(g|0)){c[7832]=c[7832]&~(1<<a);break}do{if((b|0)==(h|0)){i=b+8|0}else{if(b>>>0<l>>>0){hc()}h=b+8|0;if((c[h>>2]|0)==(j|0)){i=h;break}hc()}}while(0);c[g+12>>2]=b;c[i>>2]=g}else{i=c[h+(b+24)>>2]|0;j=c[h+(b+12)>>2]|0;do{if((j|0)==(k|0)){a=h+(b+20)|0;j=c[a>>2]|0;if((j|0)==0){a=h+(b+16)|0;j=c[a>>2]|0;if((j|0)==0){g=0;break}}while(1){o=j+20|0;n=c[o>>2]|0;if((n|0)!=0){j=n;a=o;continue}n=j+16|0;o=c[n>>2]|0;if((o|0)==0){break}else{j=o;a=n}}if(a>>>0<l>>>0){hc()}else{c[a>>2]=0;g=j;break}}else{a=c[h+(b+8)>>2]|0;if(a>>>0<l>>>0){hc()}n=a+12|0;if((c[n>>2]|0)!=(k|0)){hc()}l=j+8|0;if((c[l>>2]|0)==(k|0)){c[n>>2]=j;c[l>>2]=a;g=j;break}else{hc()}}}while(0);if((i|0)==0){break}j=c[h+(b+28)>>2]|0;l=31632+(j<<2)|0;do{if((k|0)==(c[l>>2]|0)){c[l>>2]=g;if((g|0)!=0){break}c[7833]=c[7833]&~(1<<j);break b}else{if(i>>>0<(c[7836]|0)>>>0){hc()}j=i+16|0;if((c[j>>2]|0)==(k|0)){c[j>>2]=g}else{c[i+20>>2]=g}if((g|0)==0){break b}}}while(0);if(g>>>0<(c[7836]|0)>>>0){hc()}c[g+24>>2]=i;i=c[h+(b+16)>>2]|0;do{if((i|0)!=0){if(i>>>0<(c[7836]|0)>>>0){hc()}else{c[g+16>>2]=i;c[i+24>>2]=g;break}}}while(0);b=c[h+(b+20)>>2]|0;if((b|0)==0){break}if(b>>>0<(c[7836]|0)>>>0){hc()}else{c[g+20>>2]=b;c[b+24>>2]=g;break}}}while(0);c[d+4>>2]=m|1;c[d+m>>2]=m;if((d|0)!=(c[7837]|0)){break}c[7834]=m;return}else{c[a>>2]=n&-2;c[d+4>>2]=m|1;c[d+m>>2]=m}}while(0);g=m>>>3;if(m>>>0<256>>>0){h=g<<1;b=31368+(h<<2)|0;i=c[7832]|0;g=1<<g;do{if((i&g|0)==0){c[7832]=i|g;e=b;f=31368+(h+2<<2)|0}else{g=31368+(h+2<<2)|0;h=c[g>>2]|0;if(!(h>>>0<(c[7836]|0)>>>0)){e=h;f=g;break}hc()}}while(0);c[f>>2]=d;c[e+12>>2]=d;c[d+8>>2]=e;c[d+12>>2]=b;return}e=d;f=m>>>8;do{if((f|0)==0){b=0}else{if(m>>>0>16777215>>>0){b=31;break}u=(f+1048320|0)>>>16&8;v=f<<u;t=(v+520192|0)>>>16&4;v=v<<t;b=(v+245760|0)>>>16&2;b=14-(t|u|b)+(v<<b>>>15)|0;b=m>>>((b+7|0)>>>0)&1|b<<1}}while(0);f=31632+(b<<2)|0;c[d+28>>2]=b;c[d+20>>2]=0;c[d+16>>2]=0;h=c[7833]|0;g=1<<b;if((h&g|0)==0){c[7833]=h|g;c[f>>2]=e;c[d+24>>2]=f;c[d+12>>2]=d;c[d+8>>2]=d;return}f=c[f>>2]|0;if((b|0)==31){b=0}else{b=25-(b>>>1)|0}c:do{if((c[f+4>>2]&-8|0)!=(m|0)){g=m<<b;while(1){h=f+16+(g>>>31<<2)|0;b=c[h>>2]|0;if((b|0)==0){break}if((c[b+4>>2]&-8|0)==(m|0)){f=b;break c}else{f=b;g=g<<1}}if(h>>>0<(c[7836]|0)>>>0){hc()}c[h>>2]=e;c[d+24>>2]=f;c[d+12>>2]=d;c[d+8>>2]=d;return}}while(0);g=f+8|0;b=c[g>>2]|0;h=c[7836]|0;if(f>>>0<h>>>0){hc()}if(b>>>0<h>>>0){hc()}c[b+12>>2]=e;c[g>>2]=e;c[d+8>>2]=b;c[d+12>>2]=f;c[d+24>>2]=0;return}function Nu(a){a=a|0;var b=0,d=0;a=(a|0)==0?1:a;while(1){d=Gu(a)|0;if((d|0)!=0){b=10;break}d=(I=c[10888]|0,c[10888]=I+0,I);if((d|0)==0){break}Uc[d&3]()}if((b|0)==10){return d|0}d=pc(4)|0;c[d>>2]=19472;Fb(d|0,25528,174);return 0}function Ou(a){a=a|0;return Nu(a)|0}function Pu(a){a=a|0;if((a|0)==0){return}Hu(a);return}function Qu(a){a=a|0;Pu(a);return}function Ru(a){a=a|0;Pu(a);return}function Su(a){a=a|0;return}function Tu(a){a=a|0;return 9160}function Uu(){var a=0;a=pc(4)|0;c[a>>2]=19472;Fb(a|0,25528,174)}function Vu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=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.0,J=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;g=i;i=i+512|0;k=g|0;if((e|0)==2){j=-1074;h=53}else if((e|0)==1){j=-1074;h=53}else if((e|0)==0){j=-149;h=24}else{N=0.0;i=g;return+N}n=b+4|0;o=b+100|0;do{e=c[n>>2]|0;if(e>>>0<(c[o>>2]|0)>>>0){c[n>>2]=e+1;D=d[e]|0}else{D=Yu(b)|0}}while((Sa(D|0)|0)!=0);do{if((D|0)==45|(D|0)==43){e=1-(((D|0)==45)<<1)|0;l=c[n>>2]|0;if(l>>>0<(c[o>>2]|0)>>>0){c[n>>2]=l+1;D=d[l]|0;break}else{D=Yu(b)|0;break}}else{e=1}}while(0);l=0;do{if((D|32|0)!=(a[3344+l|0]|0)){break}do{if(l>>>0<7>>>0){m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;D=d[m]|0;break}else{D=Yu(b)|0;break}}}while(0);l=l+1|0;}while(l>>>0<8>>>0);do{if((l|0)==3){q=23}else if((l|0)!=8){p=(f|0)==0;if(!(l>>>0<4>>>0|p)){if((l|0)==8){break}else{q=23;break}}a:do{if((l|0)==0){l=0;do{if((D|32|0)!=(a[14392+l|0]|0)){break a}do{if(l>>>0<2>>>0){m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;D=d[m]|0;break}else{D=Yu(b)|0;break}}}while(0);l=l+1|0;}while(l>>>0<3>>>0)}}while(0);if((l|0)==3){e=c[n>>2]|0;if(e>>>0<(c[o>>2]|0)>>>0){c[n>>2]=e+1;e=d[e]|0}else{e=Yu(b)|0}if((e|0)==40){e=1}else{if((c[o>>2]|0)==0){N=+v;i=g;return+N}c[n>>2]=(c[n>>2]|0)-1;N=+v;i=g;return+N}while(1){h=c[n>>2]|0;if(h>>>0<(c[o>>2]|0)>>>0){c[n>>2]=h+1;h=d[h]|0}else{h=Yu(b)|0}if(!((h-48|0)>>>0<10>>>0|(h-65|0)>>>0<26>>>0)){if(!((h-97|0)>>>0<26>>>0|(h|0)==95)){break}}e=e+1|0}if((h|0)==41){N=+v;i=g;return+N}h=(c[o>>2]|0)==0;if(!h){c[n>>2]=(c[n>>2]|0)-1}if(p){L=Vb()|0;c[L>>2]=22;Xu(b,0);N=0.0;i=g;return+N}if((e|0)==0|h){N=+v;i=g;return+N}while(1){e=e-1|0;c[n>>2]=(c[n>>2]|0)-1;if((e|0)==0){s=+v;break}}i=g;return+s}else if((l|0)==0){do{if((D|0)==48){l=c[n>>2]|0;if(l>>>0<(c[o>>2]|0)>>>0){c[n>>2]=l+1;l=d[l]|0}else{l=Yu(b)|0}if((l|32|0)!=120){if((c[o>>2]|0)==0){D=48;break}c[n>>2]=(c[n>>2]|0)-1;D=48;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;x=d[k]|0;A=0}else{x=Yu(b)|0;A=0}while(1){if((x|0)==46){q=70;break}else if((x|0)!=48){l=0;k=0;m=0;r=0;u=0;B=0;I=1.0;s=0.0;t=0;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;x=d[k]|0;A=1;continue}else{x=Yu(b)|0;A=1;continue}}b:do{if((q|0)==70){k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;x=d[k]|0}else{x=Yu(b)|0}if((x|0)==48){m=-1;r=-1}else{l=0;k=0;m=0;r=0;u=1;B=0;I=1.0;s=0.0;t=0;break}while(1){k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;x=d[k]|0}else{x=Yu(b)|0}if((x|0)!=48){l=0;k=0;A=1;u=1;B=0;I=1.0;s=0.0;t=0;break b}L=hv(r,m,-1,-1)|0;m=K;r=L}}}while(0);c:while(1){C=x-48|0;do{if(C>>>0<10>>>0){q=84}else{y=x|32;z=(x|0)==46;if(!((y-97|0)>>>0<6>>>0|z)){break c}if(z){if((u|0)==0){z=l;y=k;m=l;r=k;u=1;break}else{x=46;break c}}else{C=(x|0)>57?y-87|0:C;q=84;break}}}while(0);if((q|0)==84){q=0;L=0;do{if((l|0)<(L|0)|(l|0)==(L|0)&k>>>0<8>>>0){M=I;t=C+(t<<4)|0}else{L=0;if((l|0)<(L|0)|(l|0)==(L|0)&k>>>0<14>>>0){N=I*.0625;M=N;s=s+N*+(C|0);break}if(!((C|0)!=0&(B|0)==0)){M=I;break}B=1;M=I;s=s+I*.5}}while(0);y=hv(k,l,1,0)|0;z=K;A=1;I=M}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;x=d[k]|0;l=z;k=y;continue}else{x=Yu(b)|0;l=z;k=y;continue}}if((A|0)==0){h=(c[o>>2]|0)==0;if(!h){c[n>>2]=(c[n>>2]|0)-1}do{if(p){Xu(b,0)}else{if(h){break}h=c[n>>2]|0;c[n>>2]=h-1;if((u|0)==0){break}c[n>>2]=h-2}}while(0);N=+(e|0)*0.0;i=g;return+N}u=(u|0)==0;q=u?k:r;m=u?l:m;L=0;if((l|0)<(L|0)|(l|0)==(L|0)&k>>>0<8>>>0){do{t=t<<4;k=hv(k,l,1,0)|0;l=K;L=0;}while((l|0)<(L|0)|(l|0)==(L|0)&k>>>0<8>>>0)}do{if((x|32|0)==112){k=Wu(b,f)|0;l=K;if(!((k|0)==0&(l|0)==(-2147483648|0))){break}if(p){Xu(b,0);N=0.0;i=g;return+N}else{if((c[o>>2]|0)==0){l=0;k=0;break}c[n>>2]=(c[n>>2]|0)-1;l=0;k=0;break}}else{if((c[o>>2]|0)==0){l=0;k=0;break}c[n>>2]=(c[n>>2]|0)-1;l=0;k=0}}while(0);L=hv(q<<2|0>>>30,m<<2|q>>>30,-32,-1)|0;k=hv(L,K,k,l)|0;l=K;if((t|0)==0){N=+(e|0)*0.0;i=g;return+N}L=0;if((l|0)>(L|0)|(l|0)==(L|0)&k>>>0>(-j|0)>>>0){L=Vb()|0;c[L>>2]=34;N=+(e|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+N}m=j-106|0;L=(m|0)<0|0?-1:0;if((l|0)<(L|0)|(l|0)==(L|0)&k>>>0<m>>>0){L=Vb()|0;c[L>>2]=34;N=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+N}if((t|0)>-1){do{t=t<<1;if(s<.5){I=s}else{I=s+-1.0;t=t|1}s=s+I;k=hv(k,l,-1,-1)|0;l=K;}while((t|0)>-1)}m=0;j=iv(32,0,j,(j|0)<0|0?-1:0)|0;j=hv(k,l,j,K)|0;L=K;if((m|0)>(L|0)|(m|0)==(L|0)&h>>>0>j>>>0){h=(j|0)<0?0:j}do{if((h|0)<53){I=+(e|0);M=+Cb(+(+Zu(1.0,84-h|0)),+I);if(!((h|0)<32&s!=0.0)){break}e=t&1;s=(e|0)==0?0.0:s;t=(e^1)+t|0}else{M=0.0;I=+(e|0)}}while(0);s=I*s+(M+I*+(t>>>0>>>0))-M;if(!(s!=0.0)){L=Vb()|0;c[L>>2]=34}N=+_u(s,k);i=g;return+N}}while(0);m=j+h|0;l=-m|0;C=0;while(1){if((D|0)==46){q=139;break}else if((D|0)!=48){F=0;x=0;u=0;break}r=c[n>>2]|0;if(r>>>0<(c[o>>2]|0)>>>0){c[n>>2]=r+1;D=d[r]|0;C=1;continue}else{D=Yu(b)|0;C=1;continue}}d:do{if((q|0)==139){r=c[n>>2]|0;if(r>>>0<(c[o>>2]|0)>>>0){c[n>>2]=r+1;D=d[r]|0}else{D=Yu(b)|0}if((D|0)==48){x=-1;u=-1}else{F=1;x=0;u=0;break}while(1){r=c[n>>2]|0;if(r>>>0<(c[o>>2]|0)>>>0){c[n>>2]=r+1;D=d[r]|0}else{D=Yu(b)|0}if((D|0)!=48){F=1;C=1;break d}L=hv(u,x,-1,-1)|0;x=K;u=L}}}while(0);r=k|0;c[r>>2]=0;H=D-48|0;G=(D|0)==46;e:do{if(H>>>0<10>>>0|G){t=k+496|0;E=0;B=0;y=0;A=0;z=0;while(1){do{if(G){if((F|0)==0){F=1;J=E;L=B;x=E;u=B}else{break e}}else{B=hv(B,E,1,0)|0;E=K;G=(D|0)!=48;if((A|0)>=125){if(!G){J=E;L=B;break}c[t>>2]=c[t>>2]|1;J=E;L=B;break}C=k+(A<<2)|0;if((z|0)!=0){H=D-48+((c[C>>2]|0)*10|0)|0}c[C>>2]=H;z=z+1|0;C=(z|0)==9;z=C?0:z;A=(C&1)+A|0;C=1;y=G?B:y;J=E;L=B}}while(0);B=c[n>>2]|0;if(B>>>0<(c[o>>2]|0)>>>0){c[n>>2]=B+1;D=d[B]|0}else{D=Yu(b)|0}H=D-48|0;G=(D|0)==46;if(H>>>0<10>>>0|G){E=J;B=L}else{E=J;B=L;q=162;break}}}else{E=0;B=0;y=0;A=0;z=0;q=162}}while(0);if((q|0)==162){t=(F|0)==0;x=t?E:x;u=t?B:u}t=(C|0)!=0;do{if(t){if((D|32|0)!=101){q=171;break}f=Wu(b,f)|0;C=K;do{if((f|0)==0&(C|0)==(-2147483648|0)){if(p){Xu(b,0);N=0.0;i=g;return+N}else{if((c[o>>2]|0)==0){C=0;f=0;break}c[n>>2]=(c[n>>2]|0)-1;C=0;f=0;break}}}while(0);u=hv(f,C,u,x)|0;x=K}else{q=171}}while(0);do{if((q|0)==171){if(!((D|0)>-1)){break}if((c[o>>2]|0)==0){break}c[n>>2]=(c[n>>2]|0)-1}}while(0);if(!t){L=Vb()|0;c[L>>2]=22;Xu(b,0);N=0.0;i=g;return+N}b=c[r>>2]|0;if((b|0)==0){N=+(e|0)*0.0;i=g;return+N}L=0;do{if((u|0)==(B|0)&(x|0)==(E|0)&((E|0)<(L|0)|(E|0)==(L|0)&B>>>0<10>>>0)){if(!(h>>>0>30>>>0)){if((b>>>(h>>>0)|0)!=0){break}}N=+(e|0)*+(b>>>0>>>0);i=g;return+N}}while(0);b=(j|0)/-2|0;L=(b|0)<0|0?-1:0;if((x|0)>(L|0)|(x|0)==(L|0)&u>>>0>b>>>0){L=Vb()|0;c[L>>2]=34;N=+(e|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+N}b=j-106|0;L=(b|0)<0|0?-1:0;if((x|0)<(L|0)|(x|0)==(L|0)&u>>>0<b>>>0){L=Vb()|0;c[L>>2]=34;N=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+N}if((z|0)!=0){if((z|0)<9){b=k+(A<<2)|0;n=c[b>>2]|0;do{n=n*10|0;z=z+1|0;}while((z|0)<9);c[b>>2]=n}A=A+1|0}do{if((y|0)<9){if(!((y|0)<=(u|0)&(u|0)<18)){break}if((u|0)==9){N=+(e|0)*+((c[r>>2]|0)>>>0>>>0);i=g;return+N}if((u|0)<9){N=+(e|0)*+((c[r>>2]|0)>>>0>>>0)/+(c[216+(8-u<<2)>>2]|0);i=g;return+N}b=h+27+(u*-3|0)|0;n=c[r>>2]|0;if((b|0)<=30){if((n>>>(b>>>0)|0)!=0){break}}N=+(e|0)*+(n>>>0>>>0)*+(c[216+(u-10<<2)>>2]|0);i=g;return+N}}while(0);b=(u|0)%9|0;if((b|0)==0){b=0;n=0}else{o=(u|0)>-1?b:b+9|0;n=c[216+(8-o<<2)>>2]|0;do{if((A|0)==0){A=0;b=0}else{f=1e9/(n|0)|0;b=0;r=0;q=0;while(1){J=k+(r<<2)|0;p=c[J>>2]|0;L=((p>>>0)/(n>>>0)|0)+q|0;c[J>>2]=L;q=ga((p>>>0)%(n>>>0)|0,f)|0;p=r+1|0;if((r|0)==(b|0)&(L|0)==0){b=p&127;u=u-9|0}if((p|0)==(A|0)){break}else{r=p}}if((q|0)==0){break}c[k+(A<<2)>>2]=q;A=A+1|0}}while(0);n=0;u=9-o+u|0}f:while(1){o=k+(b<<2)|0;if((u|0)<18){do{f=0;o=A+127|0;while(1){o=o&127;p=k+(o<<2)|0;q=c[p>>2]|0;q=hv(q<<29|0>>>3,0<<29|q>>>3,f,0)|0;f=K;L=0;if(f>>>0>L>>>0|f>>>0==L>>>0&q>>>0>1e9>>>0){L=sv(q,f,1e9,0)|0;q=tv(q,f,1e9,0)|0;f=L}else{f=0}c[p>>2]=q;p=(o|0)==(b|0);if(!((o|0)!=(A+127&127|0)|p)){A=(q|0)==0?o:A}if(p){break}else{o=o-1|0}}n=n-29|0;}while((f|0)==0)}else{if((u|0)!=18){break}do{if(!((c[o>>2]|0)>>>0<9007199>>>0)){u=18;break f}f=0;p=A+127|0;while(1){p=p&127;q=k+(p<<2)|0;r=c[q>>2]|0;r=hv(r<<29|0>>>3,0<<29|r>>>3,f,0)|0;f=K;L=0;if(f>>>0>L>>>0|f>>>0==L>>>0&r>>>0>1e9>>>0){L=sv(r,f,1e9,0)|0;r=tv(r,f,1e9,0)|0;f=L}else{f=0}c[q>>2]=r;q=(p|0)==(b|0);if(!((p|0)!=(A+127&127|0)|q)){A=(r|0)==0?p:A}if(q){break}else{p=p-1|0}}n=n-29|0;}while((f|0)==0)}b=b+127&127;if((b|0)==(A|0)){L=A+127&127;A=k+((A+126&127)<<2)|0;c[A>>2]=c[A>>2]|c[k+(L<<2)>>2];A=L}c[k+(b<<2)>>2]=f;u=u+9|0}g:while(1){o=A+1&127;f=k+((A+127&127)<<2)|0;while(1){q=(u|0)==18;p=(u|0)>27?9:1;while(1){r=0;while(1){t=r+b&127;if((t|0)==(A|0)){r=2;break}t=c[k+(t<<2)>>2]|0;y=c[208+(r<<2)>>2]|0;if(t>>>0<y>>>0){r=2;break}x=r+1|0;if(t>>>0>y>>>0){break}if((x|0)<2){r=x}else{r=x;break}}if((r|0)==2&q){break g}n=p+n|0;if((b|0)==(A|0)){b=A}else{break}}r=(1<<p)-1|0;q=1e9>>>(p>>>0);t=b;y=0;do{J=k+(b<<2)|0;L=c[J>>2]|0;x=(L>>>(p>>>0))+y|0;c[J>>2]=x;y=ga(L&r,q)|0;x=(b|0)==(t|0)&(x|0)==0;b=b+1&127;u=x?u-9|0:u;t=x?b:t;}while((b|0)!=(A|0));if((y|0)==0){b=t;continue}if((o|0)!=(t|0)){break}c[f>>2]=c[f>>2]|1;b=t}c[k+(A<<2)>>2]=y;b=t;A=o}f=b&127;if((f|0)==(A|0)){c[k+(o-1<<2)>>2]=0;A=o}I=+((c[k+(f<<2)>>2]|0)>>>0>>>0);o=b+1&127;if((o|0)==(A|0)){A=A+1&127;c[k+(A-1<<2)>>2]=0}s=+(e|0);M=s*(I*1.0e9+ +((c[k+(o<<2)>>2]|0)>>>0>>>0));e=n+53|0;j=e-j|0;if((j|0)<(h|0)){h=(j|0)<0?0:j;o=1}else{o=0}if((h|0)<53){P=+Cb(+(+Zu(1.0,105-h|0)),+M);O=+$a(+M,+(+Zu(1.0,53-h|0)));I=P;N=O;M=P+(M-O)}else{I=0.0;N=0.0}f=b+2&127;do{if((f|0)!=(A|0)){k=c[k+(f<<2)>>2]|0;do{if(k>>>0<5e8>>>0){if((k|0)==0){if((b+3&127|0)==(A|0)){break}}N=s*.25+N}else{if(k>>>0>5e8>>>0){N=s*.75+N;break}if((b+3&127|0)==(A|0)){N=s*.5+N;break}else{N=s*.75+N;break}}}while(0);if((53-h|0)<=1){break}if(+$a(+N,+1.0)!=0.0){break}N=N+1.0}}while(0);s=M+N-I;do{if((e&2147483647|0)>(-2-m|0)){if(!(+V(+s)<9007199254740992.0)){s=s*.5;o=(o|0)!=0&(h|0)==(j|0)?0:o;n=n+1|0}if((n+50|0)<=(l|0)){if(!((o|0)!=0&N!=0.0)){break}}L=Vb()|0;c[L>>2]=34}}while(0);P=+_u(s,n);i=g;return+P}else{if((c[o>>2]|0)!=0){c[n>>2]=(c[n>>2]|0)-1}L=Vb()|0;c[L>>2]=22;Xu(b,0);P=0.0;i=g;return+P}}}while(0);do{if((q|0)==23){h=(c[o>>2]|0)==0;if(!h){c[n>>2]=(c[n>>2]|0)-1}if(l>>>0<4>>>0|(f|0)==0|h){break}do{c[n>>2]=(c[n>>2]|0)-1;l=l-1|0;}while(l>>>0>3>>>0)}}while(0);P=+(e|0)*w;i=g;return+P}function Wu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+4|0;g=c[e>>2]|0;f=a+100|0;if(g>>>0<(c[f>>2]|0)>>>0){c[e>>2]=g+1;h=d[g]|0}else{h=Yu(a)|0}do{if((h|0)==45|(h|0)==43){g=(h|0)==45|0;h=c[e>>2]|0;if(h>>>0<(c[f>>2]|0)>>>0){c[e>>2]=h+1;h=d[h]|0}else{h=Yu(a)|0}if((h-48|0)>>>0<10>>>0|(b|0)==0){break}if((c[f>>2]|0)==0){break}c[e>>2]=(c[e>>2]|0)-1}else{g=0}}while(0);if((h-48|0)>>>0>9>>>0){if((c[f>>2]|0)==0){h=-2147483648;i=0;return(K=h,i)|0}c[e>>2]=(c[e>>2]|0)-1;h=-2147483648;i=0;return(K=h,i)|0}else{b=0}while(1){b=h-48+b|0;h=c[e>>2]|0;if(h>>>0<(c[f>>2]|0)>>>0){c[e>>2]=h+1;h=d[h]|0}else{h=Yu(a)|0}if(!((h-48|0)>>>0<10>>>0&(b|0)<214748364)){break}b=b*10|0}i=b;b=(b|0)<0|0?-1:0;if((h-48|0)>>>0<10>>>0){do{b=rv(i,b,10,0)|0;i=K;h=hv(h,(h|0)<0|0?-1:0,-48,-1)|0;i=hv(h,K,b,i)|0;b=K;h=c[e>>2]|0;if(h>>>0<(c[f>>2]|0)>>>0){c[e>>2]=h+1;h=d[h]|0}else{h=Yu(a)|0}j=21474836;}while((h-48|0)>>>0<10>>>0&((b|0)<(j|0)|(b|0)==(j|0)&i>>>0<2061584302>>>0))}if((h-48|0)>>>0<10>>>0){do{h=c[e>>2]|0;if(h>>>0<(c[f>>2]|0)>>>0){c[e>>2]=h+1;h=d[h]|0}else{h=Yu(a)|0}}while((h-48|0)>>>0<10>>>0)}if((c[f>>2]|0)!=0){c[e>>2]=(c[e>>2]|0)-1}e=(g|0)!=0;a=iv(0,0,i,b)|0;f=e?K:b;j=e?a:i;return(K=f,j)|0}function Xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;e=c[a+8>>2]|0;d=c[a+4>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0)){c[a+100>>2]=d+b;return}else{c[a+100>>2]=e;return}}function Yu(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;g=b+104|0;e=c[g>>2]|0;if((e|0)==0){f=3}else{if((c[b+108>>2]|0)<(e|0)){f=3}}do{if((f|0)==3){e=av(b)|0;if((e|0)<0){break}i=c[g>>2]|0;g=c[b+8>>2]|0;do{if((i|0)==0){f=8}else{h=c[b+4>>2]|0;i=i-(c[b+108>>2]|0)-1|0;if((g-h|0)<=(i|0)){f=8;break}c[b+100>>2]=h+i}}while(0);if((f|0)==8){c[b+100>>2]=g}f=c[b+4>>2]|0;if((g|0)!=0){i=b+108|0;c[i>>2]=g+1-f+(c[i>>2]|0)}b=f-1|0;if((d[b]|0|0)==(e|0)){i=e;return i|0}a[b]=e;i=e;return i|0}}while(0);c[b+100>>2]=0;i=-1;return i|0}function Zu(a,b){a=+a;b=b|0;var d=0;do{if((b|0)>1023){a=a*8.98846567431158e+307;d=b-1023|0;if((d|0)<=1023){b=d;break}b=b-2046|0;a=a*8.98846567431158e+307;b=(b|0)>1023?1023:b}else{if(!((b|0)<-1022)){break}a=a*2.2250738585072014e-308;d=b+1022|0;if(!((d|0)<-1022)){b=d;break}b=b+2044|0;a=a*2.2250738585072014e-308;b=(b|0)<-1022?-1022:b}}while(0);return+(a*(c[k>>2]=0<<20|0>>>12,c[k+4>>2]=b+1023<<20|0>>>12,+h[k>>3]))}function _u(a,b){a=+a;b=b|0;return+(+Zu(a,b))}function $u(b){b=b|0;var d=0,e=0,f=0;e=b+74|0;d=a[e]|0;a[e]=d-1&255|d;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0){Hc[c[b+36>>2]&63](b,0,0)|0}c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;f=b|0;e=c[f>>2]|0;if((e&20|0)==0){f=c[d>>2]|0;c[b+8>>2]=f;c[b+4>>2]=f;f=0;return f|0}if((e&4|0)==0){f=-1;return f|0}c[f>>2]=e|32;f=-1;return f|0}function av(a){a=a|0;var b=0,e=0;b=i;i=i+8|0;e=b|0;do{if((c[a+8>>2]|0)==0){if(($u(a)|0)==0){break}else{a=-1}i=b;return a|0}}while(0);if((Hc[c[a+32>>2]&63](a,e,1)|0)!=1){e=-1;i=b;return e|0}e=d[e]|0;i=b;return e|0}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0;d=i;i=i+112|0;f=d|0;dv(f|0,0,112)|0;h=f+4|0;c[h>>2]=a;g=f+8|0;c[g>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Xu(f,0);e=+Vu(f,2,1);f=(c[h>>2]|0)-(c[g>>2]|0)+(c[f+108>>2]|0)|0;if((b|0)==0){i=d;return+e}if((f|0)!=0){a=a+f|0}c[b>>2]=a;i=d;return+e}function cv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return wb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)return f|0;a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function dv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;i=b&3;h=d|d<<8|d<<16|d<<24;g=f&~3;if(i){i=b+4-i|0;while((b|0)<(i|0)){a[b]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b]=d;b=b+1|0}return b-e|0}function ev(b){b=b|0;var c=0;c=b;while(a[c]|0){c=c+1|0}return c-b|0}function fv(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b]=a[c]|0}b=e}else{cv(b,c,d)|0}return b|0}function gv(i,j,k,l,m,n,o,p){i=i;j=j;k=k;l=l;m=m;n=n;o=o;p=p;a=i;b=j;c=k;d=l;e=m;f=n;g=o;h=p}function hv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(K=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return(K=b,a-c>>>0|0)|0}function jv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){K=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}K=a<<c-32;return 0}function kv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){K=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}K=0;return b>>>c-32|0}function lv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){K=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}K=(b|0)<0?-1:0;return b>>c-32|0}function mv(b){b=b|0;var c=0;c=a[n+(b>>>24)|0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)|0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)|0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)|0]|0)+24|0}function nv(b){b=b|0;var c=0;c=a[m+(b&255)|0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)|0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)|0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)|0]|0)+24|0}function ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=ga(d,f)|0;e=a>>>16;d=(c>>>16)+(ga(d,e)|0)|0;b=b>>>16;a=ga(b,f)|0;return(K=(d>>>16)+(ga(b,e)|0)+(((d&65535)+a|0)>>>16)|0,d+a<<16|c&65535|0)|0}function pv(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=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=iv(e^a,f^b,e,f)|0;b=K;e=g^e;f=h^f;g=iv((uv(a,b,iv(g^c,h^d,g,h)|0,K,0)|0)^e,K^f,e,f)|0;return(K=K,g)|0}function qv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+8|0;f=g|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=iv(h^a,j^b,h,j)|0;b=K;uv(a,b,iv(k^d,l^e,k,l)|0,K,f)|0;k=iv(c[f>>2]^h,c[f+4>>2]^j,h,j)|0;j=K;i=g;return(K=j,k)|0}function rv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=ov(e,f)|0;c=K;return(K=(ga(b,f)|0)+(ga(d,e)|0)+c|c&0,a|0|0)|0}function sv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=uv(a,b,c,d,0)|0;return(K=K,a)|0}function tv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+8|0;f=g|0;uv(a,b,d,e,f)|0;i=g;return(K=c[f+4>>2]|0,c[f>>2]|0)|0}function uv(a,b,d,e,f){a=a|0;b=b|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,o=0,p=0;h=a;j=b;i=j;k=d;g=e;l=g;if((i|0)==0){d=(f|0)!=0;if((l|0)==0){if(d){c[f>>2]=(h>>>0)%(k>>>0);c[f+4>>2]=0}l=0;m=(h>>>0)/(k>>>0)>>>0;return(K=l,m)|0}else{if(!d){l=0;m=0;return(K=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;l=0;m=0;return(K=l,m)|0}}m=(l|0)==0;do{if((k|0)==0){if(m){if((f|0)!=0){c[f>>2]=(i>>>0)%(k>>>0);c[f+4>>2]=0}l=0;m=(i>>>0)/(k>>>0)>>>0;return(K=l,m)|0}if((h|0)==0){if((f|0)!=0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}k=0;m=(i>>>0)/(l>>>0)>>>0;return(K=k,m)|0}k=l-1|0;if((k&l|0)==0){if((f|0)!=0){c[f>>2]=a|0;c[f+4>>2]=k&i|b&0}k=0;m=i>>>((nv(l|0)|0)>>>0);return(K=k,m)|0}k=(mv(l|0)|0)-(mv(i|0)|0)|0;if(k>>>0<=30){b=k+1|0;m=31-k|0;j=b;a=i<<m|h>>>(b>>>0);b=i>>>(b>>>0);l=0;i=h<<m;break}if((f|0)==0){l=0;m=0;return(K=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(K=l,m)|0}else{if(!m){k=(mv(l|0)|0)-(mv(i|0)|0)|0;if(k>>>0<=31){l=k+1|0;m=31-k|0;b=k-31>>31;j=l;a=h>>>(l>>>0)&b|i<<m;b=i>>>(l>>>0)&b;l=0;i=h<<m;break}if((f|0)==0){l=0;m=0;return(K=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(K=l,m)|0}l=k-1|0;if((l&k|0)!=0){m=(mv(k|0)|0)+33-(mv(i|0)|0)|0;p=64-m|0;k=32-m|0;n=k>>31;o=m-32|0;b=o>>31;j=m;a=k-1>>31&i>>>(o>>>0)|(i<<k|h>>>(m>>>0))&b;b=b&i>>>(m>>>0);l=h<<p&n;i=(i<<p|h>>>(o>>>0))&n|h<<k&m-33>>31;break}if((f|0)!=0){c[f>>2]=l&h;c[f+4>>2]=0}if((k|0)==1){o=j|b&0;p=a|0|0;return(K=o,p)|0}else{p=nv(k|0)|0;o=i>>>(p>>>0)|0;p=i<<32-p|h>>>(p>>>0)|0;return(K=o,p)|0}}}while(0);if((j|0)==0){m=a;d=0;a=0}else{d=d|0|0;g=g|e&0;e=hv(d,g,-1,-1)|0;h=K;k=b;m=a;a=0;while(1){b=l>>>31|i<<1;l=a|l<<1;i=m<<1|i>>>31|0;k=m>>>31|k<<1|0;iv(e,h,i,k)|0;m=K;p=m>>31|((m|0)<0?-1:0)<<1;a=p&1;m=iv(i,k,p&d,(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&g)|0;k=K;j=j-1|0;if((j|0)==0){break}else{i=b}}i=b;b=k;d=0}g=0;if((f|0)!=0){c[f>>2]=m;c[f+4>>2]=b}o=(l|0)>>>31|(i|g)<<1|(g<<1|l>>>31)&0|d;p=(l<<1|0>>>31)&-2|a;return(K=o,p)|0}function vv(){qc()}function wv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Cc[a&31](b|0,c|0,d|0,e|0,f|0)}function xv(a,b){a=a|0;b=b|0;Dc[a&511](b|0)}function yv(a,b,c){a=a|0;b=b|0;c=c|0;Ec[a&127](b|0,c|0)}function zv(a,b){a=a|0;b=b|0;return Fc[a&255](b|0)|0}function Av(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 Gc[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Bv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hc[a&63](b|0,c|0,d|0)|0}function Cv(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;Ic[a&15](b|0,c|0,d|0,e|0,f|0,+g)}function Dv(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;Jc[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Ev(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;Kc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function Fv(a,b,c,d,e,f,g,h,i,j,k,l,m,n){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;l=l|0;m=m|0;n=n|0;Lc[a&3](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)}function Gv(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;Mc[a&127](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Hv(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;Nc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,+h)}function Iv(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;Oc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Jv(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;Pc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;return Qc[a&63](b|0,c|0)|0}function Lv(a,b,c,d,e,f,g,h,i,j,k,l,m){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;l=l|0;m=m|0;Rc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function Mv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Sc[a&15](b|0,c|0,d|0,e|0)|0}function Nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Tc[a&63](b|0,c|0,d|0)}function Ov(a){a=a|0;Uc[a&3]()}function Pv(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 Vc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Qv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wc[a&63](b|0,c|0,d|0,e|0)}function Rv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(0)}function Sv(a){a=a|0;ha(1)}function Tv(a,b){a=a|0;b=b|0;ha(2)}function Uv(a){a=a|0;ha(3);return 0}function Vv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(4);return 0}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;ha(5);return 0}function Xv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(6)}function Yv(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;ha(7)}function Zv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(8)}function _v(a,b,c,d,e,f,g,h,i,j,k,l,m){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;l=l|0;m=m|0;ha(9)}function $v(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;ha(10)}function aw(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;ha(11)}function bw(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;ha(12)}function cw(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;ha(13)}function dw(a,b){a=a|0;b=b|0;ha(14);return 0}function ew(a,b,c,d,e,f,g,h,i,j,k,l){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;l=l|0;ha(15)}function fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(16);return 0}function gw(a,b,c){a=a|0;b=b|0;c=c|0;ha(17)}function hw(){ha(18)}function iw(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;ha(19);return 0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(20)}
-
-
-
-function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+4|0;d=b+4|0;f=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=f;d=a+60|0;f=b+60|0;e=c[d>>2]|0;c[d>>2]=c[f>>2];c[f>>2]=e;f=a+10492|0;e=b+10492|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;e=a+8|0;d=b+8|0;f=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=f;d=a+64|0;f=b+64|0;e=c[d>>2]|0;c[d>>2]=c[f>>2];c[f>>2]=e;f=a+10496|0;e=b+10496|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;e=a+12|0;d=b+12|0;f=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=f;d=a+68|0;f=b+68|0;e=c[d>>2]|0;c[d>>2]=c[f>>2];c[f>>2]=e;f=a+10500|0;e=b+10500|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;e=a+40|0;d=b+40|0;f=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=f;d=a+44|0;f=b+44|0;e=c[d>>2]|0;c[d>>2]=c[f>>2];c[f>>2]=e;f=a+10504|0;e=c[f>>2]|0;d=c[f+4>>2]|0;a=b+10504|0;b=c[a+4>>2]|0;c[f>>2]=c[a>>2];c[f+4>>2]=b;c[a>>2]=e;c[a+4>>2]=d;return}function Vh(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+10548|0;vk(d);e=a+10528|0;c[e>>2]=(c[e>>2]|0)+b;a=a+10544|0;c[a>>2]=(c[a>>2]|0)+b;wk(d);return}function Wh(a,b){a=a|0;b=b|0;var d=0;b=a+10548|0;vk(b);d=a+10528|0;c[d>>2]=(c[d>>2]|0)-1;a=a+10532|0;c[a>>2]=(c[a>>2]|0)+1;wk(b);return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;b=a+10548|0;vk(b);f=a+10532|0;e=c[f>>2]|0;c[f>>2]=e-1;f=a+10540|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;if((e|0)<=0){ec(2424,15792,642,17760)}if((d|0)!=(c[a+10544>>2]|0)){wk(b);return}zk(a+10572|0,b);wk(b);return}function Yh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Zh(a,b,(ga(c[a+5820>>2]|0,e)|0)+d|0,f);return}function Zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((b|0)==0){return}d=(c[a+10524>>2]|0)+(d*76|0)|0;if((Gk(d)|0)>=(e|0)){return}f=a+10548|0;vk(f);g=a+10532|0;c[g>>2]=(c[g>>2]|0)-1;a=a+10536|0;c[a>>2]=(c[a>>2]|0)+1;wk(f);b=b+4|0;c[b>>2]=2;Dk(d,e);c[b>>2]=1;vk(f);c[a>>2]=(c[a>>2]|0)-1;c[g>>2]=(c[g>>2]|0)+1;wk(f);return}function _h(a){a=a|0;var b=0,d=0,e=0;b=a+10548|0;vk(b);d=a+10540|0;e=a+10544|0;if((c[d>>2]|0)==(c[e>>2]|0)){wk(b);return}a=a+10572|0;do{Ak(a,b);}while((c[d>>2]|0)!=(c[e>>2]|0));wk(b);return}function $h(a){a=a|0;var b=0,d=0;b=c[a+10360>>2]|0;if((b|0)!=0){dv(b|0,0,(c[a+10364>>2]|0)*3|0|0)|0}b=c[a+10340>>2]|0;if((b|0)!=0){dv(b|0,0,(c[a+10344>>2]|0)*24|0|0)|0}b=c[a+10460>>2]|0;if((b|0)!=0){dv(b|0,0,c[a+10464>>2]|0)|0}b=a+10344|0;if((c[b>>2]|0)<=0){return}a=c[a+10524>>2]|0;d=0;do{c[a+(d*76|0)>>2]=0;d=d+1|0;}while((d|0)<(c[b>>2]|0));return}function ai(a,d,e,f,g,h){a=a|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;d=d>>2;e=e>>2;f=f>>2;i=g>>2;g=c[a+10392>>2]|0;if((i|0)<=0){return}a=a+10380|0;k=h|0;if((f|0)>0){j=0}else{return}do{l=(ga(j+e|0,g)|0)+d|0;h=0;do{m=(c[a>>2]|0)+((l+h|0)*12|0)|0;b[m>>1]=b[k>>1]|0;b[m+2>>1]=b[k+2>>1]|0;b[m+4>>1]=b[k+4>>1]|0;b[m+6>>1]=b[k+6>>1]|0;b[m+8>>1]=b[k+8>>1]|0;b[m+10>>1]=b[k+10>>1]|0;h=h+1|0;}while((h|0)<(f|0));j=j+1|0;}while((j|0)<(i|0));return}function bi(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if((g|f|0)<0){e=0;return e|0}if((c[a+1248>>2]|0)<=(f|0)){e=0;return e|0}if((c[a+1252>>2]|0)<=(g|0)){e=0;return e|0}h=c[a+5864>>2]|0;k=c[a+5852>>2]|0;i=(ga(g>>h,k)|0)+(f>>h)|0;j=c[a+10320>>2]|0;h=j+((ga(e>>h,k)|0)+(d>>h)<<2)|0;if((c[j+(i<<2)>>2]|0)>(c[h>>2]|0)){k=0;return k|0}k=c[a+5804>>2]|0;d=d>>k;e=e>>k;f=f>>k;g=g>>k;k=c[a+10352>>2]|0;j=(ga(k,e)|0)+d|0;i=c[a+10340>>2]|0;k=i+(((ga(k,g)|0)+f|0)*24|0)|0;if((b[i+(j*24|0)>>1]|0)!=(b[k>>1]|0)){k=0;return k|0}k=c[a+5820>>2]|0;j=(ga(k,e)|0)+d|0;i=c[a+10308>>2]|0;k=i+((ga(k,g)|0)+f<<2)|0;k=(c[i+(j<<2)>>2]|0)==(c[k>>2]|0);return k|0}function ci(a,e,f,g,h,i,j,k,l,m,n){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;do{if((e|0)>(m|0)){o=3}else{if(!((f|0)<=(n|0)&(g+e|0)>(m|0)&(g+f|0)>(n|0))){o=3;break}if((j<<1|0)!=(g|0)){break}if(!((k<<1|0)==(g|0)&(l|0)==1)){break}if((k+f|0)>(n|0)){break}if((j+e|0)<=(m|0)){break}return 0}}while(0);do{if((o|0)==3){if((n|m|0)<0){return 0}if((c[a+1248>>2]|0)<=(m|0)){return 0}if((c[a+1252>>2]|0)<=(n|0)){return 0}l=c[a+5864>>2]|0;k=c[a+5852>>2]|0;g=(ga(n>>l,k)|0)+(m>>l)|0;f=c[a+10320>>2]|0;l=f+((ga(i>>l,k)|0)+(h>>l)<<2)|0;if((c[f+(g<<2)>>2]|0)>(c[l>>2]|0)){return 0}o=c[a+5804>>2]|0;h=h>>o;i=i>>o;j=m>>o;o=n>>o;l=c[a+10352>>2]|0;g=(ga(l,i)|0)+h|0;f=c[a+10340>>2]|0;l=f+(((ga(l,o)|0)+j|0)*24|0)|0;if((b[f+(g*24|0)>>1]|0)!=(b[l>>1]|0)){return 0}l=c[a+5820>>2]|0;g=(ga(l,i)|0)+h|0;f=c[a+10308>>2]|0;l=f+((ga(l,o)|0)+j<<2)|0;if((c[f+(g<<2)>>2]|0)==(c[l>>2]|0)){break}return 0}}while(0);l=c[a+10368>>2]|0;m=m>>l;n=n>>l;if(!((m|0)>-1)){ec(568,17072,118,17344);return 0}i=c[a+10372>>2]|0;if((m|0)>=(i|0)){ec(568,17072,118,17344);return 0}if(!((n|0)>-1)){ec(16504,17072,119,17344);return 0}if((n|0)<(c[a+10376>>2]|0)){l=(ga(i,n)|0)+m|0;l=(c[a+10360>>2]|0)+(l*3|0)|0;return((d[l]|d[l+1|0]<<8)<<16>>16&768)!=0|0}else{ec(16504,17072,119,17344);return 0}return 0}function di(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;do{if(g){g=c[i+10368>>2]|0;k=b-1>>g;g=e>>g;if(!((k|0)>-1)){ec(7e3,5152,118,17336)}j=c[i+10372>>2]|0;if((k|0)>=(j|0)){ec(7e3,5152,118,17336)}if(!((g|0)>-1)){ec(3672,5152,119,17336)}if((g|0)>=(c[i+10376>>2]|0)){ec(3672,5152,119,17336)}k=(ga(j,g)|0)+k|0;k=(c[i+10360>>2]|0)+(k*3|0)|0;if(!(((d[k]|d[k+1|0]<<8)<<16>>16&1792)==0)){g=1;break}g=d[(c[i+10400>>2]|0)+(f-1)|0]|0}else{g=1}}while(0);do{if(h){k=c[i+10368>>2]|0;h=b>>k;b=e-1>>k;if(!((h|0)>-1)){ec(7e3,5152,118,17336)}j=c[i+10372>>2]|0;if((h|0)>=(j|0)){ec(7e3,5152,118,17336)}if(!((b|0)>-1)){ec(3672,5152,119,17336)}if((b|0)>=(c[i+10376>>2]|0)){ec(3672,5152,119,17336)}k=(ga(j,b)|0)+h|0;k=(c[i+10360>>2]|0)+(k*3|0)|0;if(!(((d[k]|d[k+1|0]<<8)<<16>>16&1792)==0)){i=1;break}k=c[i+5804>>2]|0;if((e>>k<<k|0)>=(e|0)){i=1;break}i=d[(c[i+10400>>2]|0)+(f-(c[i+5876>>2]|0))|0]|0}else{i=1}}while(0);if((g|0)==(i|0)){if(g>>>0<2>>>0){c[a>>2]=0;c[a+4>>2]=1;c[a+8>>2]=26;return}else{c[a>>2]=g;c[a+4>>2]=(g+29&31)+2;c[a+8>>2]=((g-1|0)%32|0)+2;return}}c[a>>2]=g;c[a+4>>2]=i;if(!((g|0)==0|(i|0)==0)){c[a+8>>2]=0;return}a=a+8|0;if((g|0)==1|(i|0)==1){c[a>>2]=26;return}else{c[a>>2]=1;return}}function ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((a|0)==3){f=2}else if((a|0)!=2){a=0;return a|0}do{if((f|0)==2){if((d|0)==0){break}if((c[e+5012>>2]|0)==3){break}else{b=0}return b|0}}while(0);if((b-6|0)>>>0<9>>>0){a=2;return a|0}a=(b-22|0)>>>0<9>>>0|0;return a|0}function fi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((c[((g|0)==0?a+5760|0:a+5768|0)>>2]|0)>8){gi(a,b,d,e,f,g);return}else{hi(a,b,d,e,f,g);return}}function gi(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=i;i=i+264|0;l=m|0;n=l+128|0;mi(d,f,g,j,k,n);do{if((a[d+5753|0]|0)==0){if((k|0)!=0){if((c[d+5776>>2]|0)!=3){break}}ni(d,n,j,k,h)}}while(0);if((h|0)==1){oi(d,f,g,j,k,n);i=m;return}else if((h|0)==0){n=c[((k|0)==0?d+40|0:d+44|0)>>2]|0;k=(c[d+4+(k<<2)>>2]|0)+((ga(n,g)|0)+f<<1)|0;if((j|0)>1){f=j;g=0;while(1){f=f>>1;if((f|0)>1){g=g+1|0}else{break}}d=g+2|0}else{d=1}if((j|0)<=0){i=m;return}q=j-1|0;p=e[l+(j+65<<1)>>1]|0;o=e[l+(63-j<<1)>>1]|0;r=0;while(1){g=q-r|0;h=r+1|0;f=ga(r,n)|0;u=e[l+(63-r<<1)>>1]|0;t=ga(o,h)|0;s=0;while(1){w=ga(u,q-s|0)|0;r=s+1|0;v=ga(p,r)|0;v=w+j+v+(ga(e[l+(s+65<<1)>>1]|0,g)|0)+t>>d&65535;b[k+(s+f<<1)>>1]=v;if((r|0)<(j|0)){s=r}else{break}}if((h|0)<(j|0)){r=h}else{break}}i=m;return}else{pi(d,f,g,h,j,k,n);i=m;return}}function hi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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;l=i;i=i+136|0;k=l|0;m=k+64|0;ii(b,e,f,h,j,m);do{if((a[b+5753|0]|0)==0){if((j|0)!=0){if((c[b+5776>>2]|0)!=3){break}}ji(b,m,h,j,g)}}while(0);if((g|0)==1){ki(b,e,f,h,j,m);i=l;return}else if((g|0)==0){m=c[((j|0)==0?b+40|0:b+44|0)>>2]|0;j=c[b+4+(j<<2)>>2]|0;if((h|0)>1){g=h;b=0;while(1){g=g>>1;if((g|0)>1){b=b+1|0}else{break}}b=b+2|0}else{b=1}if((h|0)<=0){i=l;return}o=h-1|0;p=d[k+(h+65)|0]|0;q=d[k+(63-h)|0]|0;r=0;while(1){g=o-r|0;n=r+1|0;v=ga(r+f|0,m)|0;r=d[k+(63-r)|0]|0;u=ga(q,n)|0;v=v+e|0;t=0;while(1){x=ga(r,o-t|0)|0;s=t+1|0;w=ga(p,s)|0;w=x+h+w+(ga(d[k+(t+65)|0]|0,g)|0)+u>>b&255;a[j+(v+t)|0]=w;if((s|0)<(h|0)){t=s}else{break}}if((n|0)<(h|0)){r=n}else{break}}i=l;return}else{li(b,e,f,g,h,j,m);i=l;return}}function ii(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=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;l=i;i=i+136|0;m=l|0;v=m+64|0;o=c[b+4+(j<<2)>>2]|0;q=(j|0)==0;s=c[(q?b+40|0:b+44|0)>>2]|0;if(q){u=1;j=1}else{u=c[b+5784>>2]|0;j=c[b+5780>>2]|0}q=c[(q?b+5760|0:b+5768|0)>>2]|0;F=ga(j,f)|0;w=ga(u,g)|0;H=c[b+5804>>2]|0;L=c[b+5820>>2]|0;D=(F|0)!=0;P=(w|0)==0;r=P^1;B=D&r;K=ga(j,h+f|0)|0;E=c[b+1248>>2]|0;y=(K|0)<(E|0)&r;O=F>>H;J=w>>H;N=F-1>>H;K=K>>H;H=w-1>>H;Q=c[b+10352>>2]|0;A=ga(Q,J)|0;I=c[b+10340>>2]|0;z=e[I+((A+O|0)*24|0)>>1]|0;if(D){M=e[I+((A+N|0)*24|0)>>1]|0}else{M=-1}if(P){G=-1}else{G=I+(((ga(Q,H)|0)+O|0)*24|0)|0;G=e[G>>1]|0}if(y){A=I+(((ga(Q,H)|0)+K|0)*24|0)|0;A=e[A>>1]|0}else{A=-1}if(B){I=I+(((ga(Q,H)|0)+N|0)*24|0)|0;I=e[I>>1]|0}else{I=-1}Q=ga(J,L)|0;R=c[b+10308>>2]|0;J=c[R+(Q+O<<2)>>2]|0;if(D){Q=c[R+(Q+N<<2)>>2]|0}else{Q=-1}if(P){O=-1}else{O=R+((ga(H,L)|0)+O<<2)|0;O=c[O>>2]|0}if(B){N=R+((ga(H,L)|0)+N<<2)|0;N=c[N>>2]|0}else{N=-1}if(y){K=R+((ga(H,L)|0)+K<<2)|0;K=c[K>>2]|0}else{K=-1}H=(M|0)==(z|0)&(Q|0)==(J|0)&D;r=(G|0)==(z|0)&(O|0)==(J|0)&r;I=(I|0)==(z|0)&(N|0)==(J|0)&B;A=(A|0)==(z|0)&(K|0)==(J|0)&y;y=b+5864|0;D=c[y>>2]|0;z=b+5852|0;D=(ga(w>>D,c[z>>2]|0)|0)+(F>>D)|0;B=b+10320|0;D=c[(c[B>>2]|0)+(D<<2)>>2]|0;Q=(u-1-w+(c[b+1252>>2]|0)|0)/(u|0)|0;w=h<<1;R=(Q|0)>(w|0)?w:Q;E=(j-1-F+E|0)/(j|0)|0;G=(E|0)>(w|0)?w:E;F=-w|0;E=h<<2|1;dv(m+(64-w)|0,0,E|0)|0;a:do{if((R|0)>0){N=f-1|0;O=ga(j,N)|0;M=b+5944|0;J=b+10368|0;K=b+10372|0;L=b+10376|0;P=b+10360|0;Q=~Q;S=~(h<<1);Q=((Q|0)>(S|0)?Q:S)+65|0;S=0;U=0;T=R-1|0;R=0;b:while(1){W=m+(Q+(R<<2))|0;do{if(H){X=c[y>>2]|0;V=T+g|0;Z=ga(V,u)|0;X=(ga(Z>>X,c[z>>2]|0)|0)+(O>>X)|0;X=(c[(c[B>>2]|0)+(X<<2)>>2]|0)<=(D|0);if((a[M]|0)==0){if(!X){break}}else{_=c[J>>2]|0;Y=O>>_;Z=Z>>_;if(!((Y|0)>-1)){H=25;break b}_=c[K>>2]|0;if((Y|0)>=(_|0)){H=25;break b}if(!((Z|0)>-1)){H=28;break b}if((Z|0)>=(c[L>>2]|0)){H=28;break b}_=(ga(_,Z)|0)+Y|0;_=(c[P>>2]|0)+(_*3|0)|0;if(!(((d[_]|d[_+1|0]<<8)<<16>>16&768)==0&X)){break}}X=o+((ga(V,s)|0)+N)|0;if((S|0)==0){U=a[X]|0}_=W;C=16843009;a[_]=C;C=C>>8;a[_+1|0]=C;C=C>>8;a[_+2|0]=C;C=C>>8;a[_+3|0]=C;a[k+~T|0]=a[X]|0;_=o+((ga(V-1|0,s)|0)+N)|0;a[k+(1-T-1)|0]=a[_]|0;_=o+((ga(V-2|0,s)|0)+N)|0;a[k+(2-T-1)|0]=a[_]|0;_=o+((ga(V-3|0,s)|0)+N)|0;a[k+(3-T-1)|0]=a[_]|0;S=S+4|0}}while(0);T=T-4|0;if((T|0)>-1){R=R+1|0}else{t=S;x=U;break a}}if((H|0)==25){ec(7e3,5152,118,17336)}else if((H|0)==28){ec(3672,5152,119,17336)}}else{t=0;x=0}}while(0);c:do{if(I){I=f-1|0;K=ga(j,I)|0;J=c[y>>2]|0;H=g-1|0;L=ga(u,H)|0;J=(ga(L>>J,c[z>>2]|0)|0)+(K>>J)|0;J=(c[(c[B>>2]|0)+(J<<2)>>2]|0)<=(D|0);do{if((a[b+5944|0]|0)==0){if(!J){break c}}else{M=c[b+10368>>2]|0;K=K>>M;M=L>>M;if(!((K|0)>-1)){ec(7e3,5152,118,17336)}L=c[b+10372>>2]|0;if((K|0)>=(L|0)){ec(7e3,5152,118,17336)}if(!((M|0)>-1)){ec(3672,5152,119,17336)}if((M|0)<(c[b+10376>>2]|0)){_=(ga(L,M)|0)+K|0;_=(c[b+10360>>2]|0)+(_*3|0)|0;if(((d[_]|d[_+1|0]<<8)<<16>>16&768)==0&J){break}else{break c}}else{ec(3672,5152,119,17336)}}}while(0);H=o+((ga(s,H)|0)+I)|0;if((t|0)==0){x=a[H]|0}a[k]=a[H]|0;a[v]=1;t=t+1|0}}while(0);d:do{if((G|0)>0){I=g-1|0;u=ga(u,I)|0;g=b+5944|0;s=ga(s,I)|0;I=b+10368|0;H=b+10372|0;v=b+10376|0;b=b+10360|0;K=0;J=0;e:while(1){L=m+((J<<2)+65)|0;do{if((K|0)<(h|0)?r:A){M=K+f|0;O=ga(M,j)|0;N=c[y>>2]|0;N=(ga(u>>N,c[z>>2]|0)|0)+(O>>N)|0;N=(c[(c[B>>2]|0)+(N<<2)>>2]|0)<=(D|0);if((a[g]|0)==0){if(!N){break}}else{P=c[I>>2]|0;Q=O>>P;P=u>>P;if(!((Q|0)>-1)){H=54;break e}O=c[H>>2]|0;if((Q|0)>=(O|0)){H=54;break e}if(!((P|0)>-1)){H=57;break e}if((P|0)>=(c[v>>2]|0)){H=57;break e}_=(ga(O,P)|0)+Q|0;_=(c[b>>2]|0)+(_*3|0)|0;if(!(((d[_]|d[_+1|0]<<8)<<16>>16&768)==0&N)){break}}M=M+s|0;N=o+M|0;if((t|0)==0){x=a[N]|0}_=L;C=16843009;a[_]=C;C=C>>8;a[_+1|0]=C;C=C>>8;a[_+2|0]=C;C=C>>8;a[_+3|0]=C;_=K|1;a[k+_|0]=a[N]|0;a[k+(_+1)|0]=a[o+(M+1)|0]|0;a[k+(K|3)|0]=a[o+(M+2)|0]|0;a[k+((K|3)+1)|0]=a[o+(M+3)|0]|0;t=t+4|0}}while(0);K=K+4|0;if((K|0)<(G|0)){J=J+1|0}else{p=t;n=x;break d}}if((H|0)==54){ec(7e3,5152,118,17336)}else if((H|0)==57){ec(3672,5152,119,17336)}}else{p=t;n=x}}while(0);if((p|0)==(E|0)){i=l;return}if((p|0)==0){dv(k+F|0,1<<q-1&255|0,E|0)|0;i=l;return}o=h*-2|0;if((a[m+(o+64)|0]|0)==0){a[k+o|0]=n}n=o|1;if((n|0)>(w|0)){i=l;return}while(1){if((a[m+(n+64)|0]|0)==0){a[k+n|0]=a[k+(n-1)|0]|0}if((n|0)<(w|0)){n=n+1|0}else{break}}i=l;return}function ji(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;k=i;i=i+136|0;j=k|0;if((h|0)==1|(f|0)==4){i=k;return}l=h-26|0;l=(l|0)<0?26-h|0:l;m=h-10|0;h=(m|0)<0?10-h|0:m;h=(l|0)<(h|0)?l:h;do{if((f|0)==8){if((h|0)>7){break}i=k;return}else if((f|0)==16){if((h|0)>1){break}i=k;return}else if((f|0)==32){if((h|0)>0){break}i=k;return}else{ec(8920,15552,518,18232)}}while(0);do{if((a[b+5665|0]|0)!=0&(g|0)==0&(f|0)==32){h=d[e]|0;g=(d[e+64|0]|0)+h-(d[e+32|0]<<1)|0;b=1<<(c[b+1276>>2]|0)-5;if((((g|0)<0?-g|0:g)|0)>=(b|0)){g=0;break}g=(d[e-64|0]|0)+h-(d[e-32|0]<<1)|0;g=(((g|0)<0?-g|0:g)|0)<(b|0)}else{g=0}}while(0);b=f*-2|0;a[j+(b+64)|0]=a[e+b|0]|0;b=f<<1;a[j+(b+64)|0]=a[e+b|0]|0;do{if(g){l=a[e]|0;a[j+64|0]=l;l=l&255;h=(d[e-64|0]|0)-l|0;m=(d[e+64|0]|0)-l|0;g=1;do{n=(((ga(h,g)|0)+32|0)>>>6)+l&255;a[j+(64-g)|0]=n;n=(((ga(m,g)|0)+32|0)>>>6)+l&255;a[j+(g+64)|0]=n;g=g+1|0;}while((g|0)<64)}else{h=b-1|0;l=1-b|0;if((l|0)>(h|0)){break}g=l;l=a[e+l|0]|0;while(1){m=g+1|0;n=a[e+m|0]|0;a[j+(g+64)|0]=((n&255)+2+((l&255)<<1)+(d[e+(g-1)|0]|0)|0)>>>2;if((g|0)<(h|0)){g=m;l=n}else{break}}}}while(0);cv(e+(-b|0)|0,j+(64-b)|0,f<<2|1)|0;i=k;return}function ki(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=(h|0)==0;j=c[(l?b+40|0:b+44|0)>>2]|0;h=c[b+4+(h<<2)>>2]|0;b=(ga(j,f)|0)+e|0;m=h+b|0;k=(g|0)>1;if(k){o=g;n=0;while(1){o=o>>1;if((o|0)>1){n=n+1|0}else{break}}o=n+2|0}else{o=1}n=(g|0)>0;if(n){q=0;r=0;while(1){p=r+1|0;q=(d[i+p|0]|0)+q+(d[i+~r|0]|0)|0;if((p|0)<(g|0)){r=p}else{break}}}else{q=0}o=q+g>>o;if(!(l&(g|0)<32)){if(!n){return}f=o&255;e=0;do{dv(h+(b+(ga(j,e)|0))|0,f|0,g|0)|0;e=e+1|0;}while((e|0)<(g|0));return}a[m]=((o<<1)+2+(d[i-1|0]|0)+(d[i+1|0]|0)|0)>>>2;if(!k){return}n=(o*3|0)+2|0;l=1;while(1){m=l+1|0;a[h+(l+b)|0]=(n+(d[i+m|0]|0)|0)>>>2;if((m|0)<(g|0)){l=m}else{break}}if(!k){return}l=(o*3|0)+2|0;m=1;do{r=h+((ga(m,j)|0)+b)|0;a[r]=(l+(d[i+~m|0]|0)|0)>>>2;m=m+1|0;}while((m|0)<(g|0));if(!k){return}b=o&255;f=(ga(j,f+1|0)|0)+e+1|0;e=g-1|0;k=1;i=0;while(1){dv(h+(f+(ga(j,i)|0))|0,b|0,e|0)|0;k=k+1|0;if((k|0)<(g|0)){i=i+1|0}else{break}}return}function li(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0;l=i;i=i+136|0;q=l|0;r=(j|0)==0;n=c[(r?b+40|0:b+44|0)>>2]|0;j=c[b+4+(j<<2)>>2]|0;m=(ga(n,f)|0)+e|0;o=c[(r?b+5760|0:b+5768|0)>>2]|0;if((g|0)>=35){ec(12952,15552,596,18712)}if((g|0)<=1){ec(10072,15552,597,18712)}s=c[64+(g<<2)>>2]|0;do{if((a[b+5750|0]|0)==0){p=0}else{y=c[b+10368>>2]|0;e=e>>y;f=f>>y;if(!((e|0)>-1)){ec(7e3,5152,118,17336)}t=c[b+10372>>2]|0;if((e|0)>=(t|0)){ec(7e3,5152,118,17336)}if(!((f|0)>-1)){ec(3672,5152,119,17336)}if((f|0)<(c[b+10376>>2]|0)){p=(ga(t,f)|0)+e|0;p=(c[b+10360>>2]|0)+(p*3|0)|0;p=((d[p]|d[p+1|0]<<8)<<16>>16&2048)!=0;break}else{ec(3672,5152,119,17336)}}}while(0);b=(h|0)<0;if((g|0)>17){if(!b){cv(q+64|0,k|0,h+1|0)|0}b=g-11|0;do{if(b>>>0<15>>>0){b=c[30584+(b<<2)>>2]|0;e=(ga(s,h)|0)>>5;if(!((e|0)<-1)){break}do{y=k+(-((ga(e,b)|0)+128>>8)|0)|0;a[q+(e+64)|0]=a[y]|0;e=e+1|0;}while((e|0)<0)}else{if((h<<1|0)<=(h|0)){break}cv(q+(h+65)|0,k+(h+1)|0,h)|0}}while(0);v=(h|0)>0;if(v){w=0;while(1){u=w+1|0;b=ga(u,s)|0;f=b>>5;b=b&31;e=(b|0)==0;t=f+65|0;y=(ga(w,n)|0)+m|0;w=32-b|0;x=0;do{if(e){a[j+(y+x)|0]=a[q+(t+x)|0]|0}else{z=x+f|0;A=ga(d[q+(z+65)|0]|0,w)|0;z=(A+16+(ga(d[q+(z+66)|0]|0,b)|0)|0)>>>5&255;a[j+(y+x)|0]=z}x=x+1|0;}while((x|0)<(h|0));if((u|0)<(h|0)){w=u}else{break}}}if(p|(g|0)==26&r&(h|0)<32^1|v^1){i=l;return}p=k+1|0;q=(1<<o)-1|0;o=0;do{r=((d[k+~o|0]|0)-(d[k]|0)>>1)+(d[p]|0)|0;if((r|0)<0){r=0}else{r=((r|0)>(q|0)?q:r)&255}A=j+((ga(o,n)|0)+m)|0;a[A]=r;o=o+1|0;}while((o|0)<(h|0));i=l;return}else{if(!b){b=0;while(1){a[q+(b+64)|0]=a[k+(-b|0)|0]|0;if((b|0)<(h|0)){b=b+1|0}else{break}}}b=g-11|0;do{if(b>>>0<15>>>0){b=c[30584+(b<<2)>>2]|0;e=(ga(s,h)|0)>>5;if(!((e|0)<-1)){break}do{A=k+((ga(e,b)|0)+128>>8)|0;a[q+(e+64)|0]=a[A]|0;e=e+1|0;}while((e|0)<0)}else{b=h<<1;if((b|0)>(h|0)){e=h}else{break}while(1){f=e+1|0;a[q+(e+65)|0]=a[k+~e|0]|0;if((f|0)<(b|0)){e=f}else{break}}}}while(0);e=(h|0)>0;if(e){x=0;do{f=x+65|0;t=(ga(x,n)|0)+m|0;u=0;while(1){b=u+1|0;w=ga(b,s)|0;v=w>>5;w=w&31;if((w|0)==0){a[j+(t+u)|0]=a[q+(f+v)|0]|0}else{A=v+x|0;z=ga(d[q+(A+65)|0]|0,32-w|0)|0;A=(z+16+(ga(d[q+(A+66)|0]|0,w)|0)|0)>>>5&255;a[j+(t+u)|0]=A}if((b|0)<(h|0)){u=b}else{break}}x=x+1|0;}while((x|0)<(h|0))}if(p|(g|0)==10&r&(h|0)<32^1|e^1){i=l;return}n=k-1|0;o=(1<<o)-1|0;p=0;while(1){q=p+1|0;r=((d[k+q|0]|0)-(d[k]|0)>>1)+(d[n]|0)|0;if((r|0)<0){r=0}else{r=((r|0)>(o|0)?o:r)&255}a[j+(p+m)|0]=r;if((q|0)<(h|0)){p=q}else{break}}i=l;return}}function mi(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,A=0,B=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;m=i;i=i+136|0;n=m|0;B=n+64|0;q=c[f+4+(k<<2)>>2]|0;k=(k|0)==0;w=c[(k?f+40|0:f+44|0)>>2]|0;if(k){A=1;r=1}else{A=c[f+5784>>2]|0;r=c[f+5780>>2]|0}k=c[(k?f+5760|0:f+5768|0)>>2]|0;F=ga(r,g)|0;t=ga(A,h)|0;z=c[f+5804>>2]|0;I=c[f+5820>>2]|0;J=(F|0)!=0;R=(t|0)==0;s=R^1;v=J&s;O=ga(r,j+g|0)|0;D=c[f+1248>>2]|0;u=(O|0)<(D|0)&s;S=F>>z;M=t>>z;Q=F-1>>z;O=O>>z;z=t-1>>z;N=c[f+10352>>2]|0;x=ga(N,M)|0;P=c[f+10340>>2]|0;K=e[P+((x+S|0)*24|0)>>1]|0;if(J){L=e[P+((x+Q|0)*24|0)>>1]|0}else{L=-1}if(R){y=-1}else{y=P+(((ga(N,z)|0)+S|0)*24|0)|0;y=e[y>>1]|0}if(u){x=P+(((ga(N,z)|0)+O|0)*24|0)|0;x=e[x>>1]|0}else{x=-1}if(v){P=P+(((ga(N,z)|0)+Q|0)*24|0)|0;P=e[P>>1]|0}else{P=-1}N=ga(M,I)|0;T=c[f+10308>>2]|0;M=c[T+(N+S<<2)>>2]|0;if(J){N=c[T+(N+Q<<2)>>2]|0}else{N=-1}if(R){R=-1}else{R=T+((ga(z,I)|0)+S<<2)|0;R=c[R>>2]|0}if(v){Q=T+((ga(z,I)|0)+Q<<2)|0;Q=c[Q>>2]|0}else{Q=-1}if(u){z=T+((ga(z,I)|0)+O<<2)|0;z=c[z>>2]|0}else{z=-1}s=(y|0)==(K|0)&(R|0)==(M|0)&s;I=(P|0)==(K|0)&(Q|0)==(M|0)&v;v=(x|0)==(K|0)&(z|0)==(M|0)&u;u=c[f+5864>>2]|0;y=c[f+5852>>2]|0;z=(ga(t>>u,y)|0)+(F>>u)|0;x=c[f+10320>>2]|0;z=c[x+(z<<2)>>2]|0;W=(A-1-t+(c[f+1252>>2]|0)|0)/(A|0)|0;t=j<<1;O=(W|0)>(t|0)?t:W;D=(r-1-F+D|0)/(r|0)|0;D=(D|0)>(t|0)?t:D;F=j<<2|1;dv(n+(64-t)|0,0,F|0)|0;V=O-1|0;a:do{if((O|0)>0){S=g-1|0;R=ga(r,S)|0;Q=f+5944|0;P=f+10368|0;T=f+10372|0;U=f+10376|0;O=f+10360|0;if(!((L|0)==(K|0)&(N|0)==(M|0)&J)){while(1){V=V-4|0;if(!((V|0)>-1)){E=0;G=0;break a}}}J=~W;K=~(j<<1);J=((J|0)>(K|0)?J:K)+65|0;K=0;N=0;M=V;L=0;while(1){W=n+(J+(L<<2))|0;V=M+h|0;Z=ga(V,A)|0;X=x+((ga(Z>>u,y)|0)+(R>>u)<<2)|0;X=(c[X>>2]|0)<=(z|0);if((a[Q]|0)==0){if(X){H=29}}else{_=c[P>>2]|0;Y=R>>_;_=Z>>_;if(!((Y|0)>-1)){H=33;break}Z=c[T>>2]|0;if((Y|0)>=(Z|0)){H=33;break}if(!((_|0)>-1)){H=34;break}if((_|0)>=(c[U>>2]|0)){H=34;break}_=(ga(Z,_)|0)+Y|0;_=(c[O>>2]|0)+(_*3|0)|0;if(((d[_]|d[_+1|0]<<8)<<16>>16&768)==0&X){H=29}}if((H|0)==29){H=0;X=q+((ga(V,w)|0)+S<<1)|0;if((K|0)==0){N=b[X>>1]|0}_=W;C=16843009;a[_]=C;C=C>>8;a[_+1|0]=C;C=C>>8;a[_+2|0]=C;C=C>>8;a[_+3|0]=C;b[l+(~M<<1)>>1]=b[X>>1]|0;_=q+((ga(V-1|0,w)|0)+S<<1)|0;b[l+(1-M-1<<1)>>1]=b[_>>1]|0;_=q+((ga(V-2|0,w)|0)+S<<1)|0;b[l+(2-M-1<<1)>>1]=b[_>>1]|0;_=q+((ga(V-3|0,w)|0)+S<<1)|0;b[l+(3-M-1<<1)>>1]=b[_>>1]|0;K=K+4|0}M=M-4|0;if((M|0)>-1){L=L+1|0}else{E=K;G=N;break a}}if((H|0)==33){ec(7e3,5152,118,17336)}else if((H|0)==34){ec(3672,5152,119,17336)}}else{E=0;G=0}}while(0);b:do{if(I){I=g-1|0;K=ga(r,I)|0;J=h-1|0;L=ga(A,J)|0;H=x+((ga(L>>u,y)|0)+(K>>u)<<2)|0;H=(c[H>>2]|0)<=(z|0);do{if((a[f+5944|0]|0)==0){if(!H){break b}}else{M=c[f+10368>>2]|0;K=K>>M;M=L>>M;if(!((K|0)>-1)){ec(7e3,5152,118,17336)}L=c[f+10372>>2]|0;if((K|0)>=(L|0)){ec(7e3,5152,118,17336)}if(!((M|0)>-1)){ec(3672,5152,119,17336)}if((M|0)<(c[f+10376>>2]|0)){_=(ga(L,M)|0)+K|0;_=(c[f+10360>>2]|0)+(_*3|0)|0;if(((d[_]|d[_+1|0]<<8)<<16>>16&768)==0&H){break}else{break b}}else{ec(3672,5152,119,17336)}}}while(0);H=q+((ga(w,J)|0)+I<<1)|0;if((E|0)==0){G=b[H>>1]|0}b[l>>1]=b[H>>1]|0;a[B]=1;E=E+1|0}}while(0);c:do{if((D|0)>0){B=h-1|0;A=ga(A,B)|0;h=f+5944|0;w=ga(w,B)|0;B=f+10368|0;H=f+10372|0;I=f+10376|0;f=f+10360|0;K=0;J=0;d:while(1){L=n+((J<<2)+65)|0;do{if((K|0)<(j|0)?s:v){N=K+g|0;O=ga(N,r)|0;M=x+((ga(A>>u,y)|0)+(O>>u)<<2)|0;M=(c[M>>2]|0)<=(z|0);if((a[h]|0)==0){if(!M){break}}else{P=c[B>>2]|0;O=O>>P;P=A>>P;if(!((O|0)>-1)){H=55;break d}Q=c[H>>2]|0;if((O|0)>=(Q|0)){H=55;break d}if(!((P|0)>-1)){H=58;break d}if((P|0)>=(c[I>>2]|0)){H=58;break d}_=(ga(Q,P)|0)+O|0;_=(c[f>>2]|0)+(_*3|0)|0;if(!(((d[_]|d[_+1|0]<<8)<<16>>16&768)==0&M)){break}}M=N+w|0;N=q+(M<<1)|0;if((E|0)==0){G=b[N>>1]|0}_=L;C=16843009;a[_]=C;C=C>>8;a[_+1|0]=C;C=C>>8;a[_+2|0]=C;C=C>>8;a[_+3|0]=C;_=K|1;b[l+(_<<1)>>1]=b[N>>1]|0;b[l+(_+1<<1)>>1]=b[q+(M+1<<1)>>1]|0;b[l+((K|3)<<1)>>1]=b[q+(M+2<<1)>>1]|0;b[l+((K|3)+1<<1)>>1]=b[q+(M+3<<1)>>1]|0;E=E+4|0}}while(0);K=K+4|0;if((K|0)<(D|0)){J=J+1|0}else{o=E;p=G;break c}}if((H|0)==55){ec(7e3,5152,118,17336)}else if((H|0)==58){ec(3672,5152,119,17336)}}else{o=E;p=G}}while(0);if((o|0)==(F|0)){i=m;return}g=j*-2|0;if((o|0)==0){if((g|0)>(t|0)){i=m;return}n=1<<k-1&65535;while(1){b[l+(g<<1)>>1]=n;if((g|0)<(t|0)){g=g+1|0}else{break}}i=m;return}if((a[n+(g+64)|0]|0)==0){b[l+(g<<1)>>1]=p}o=g|1;if((o|0)>(t|0)){i=m;return}while(1){if((a[n+(o+64)|0]|0)==0){b[l+(o<<1)>>1]=b[l+(o-1<<1)>>1]|0}if((o|0)<(t|0)){o=o+1|0}else{break}}i=m;return}function ni(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;l=i;i=i+264|0;k=l|0;if((j|0)==1|(g|0)==4){i=l;return}m=j-26|0;m=(m|0)<0?26-j|0:m;n=j-10|0;j=(n|0)<0?10-j|0:n;j=(m|0)<(j|0)?m:j;do{if((g|0)==32){if((j|0)>0){break}i=l;return}else if((g|0)==16){if((j|0)>1){break}i=l;return}else if((g|0)==8){if((j|0)>7){break}i=l;return}else{ec(8920,15552,518,18232)}}while(0);do{if((a[d+5665|0]|0)!=0&(h|0)==0&(g|0)==32){j=e[f>>1]|0;h=(e[f+128>>1]|0)+j-(e[f+64>>1]<<1)|0;d=1<<(c[d+1276>>2]|0)-5;if((((h|0)<0?-h|0:h)|0)>=(d|0)){h=0;break}h=(e[f-128>>1]|0)+j-(e[f-64>>1]<<1)|0;h=(((h|0)<0?-h|0:h)|0)<(d|0)}else{h=0}}while(0);d=g*-2|0;b[k+(d+64<<1)>>1]=b[f+(d<<1)>>1]|0;d=g<<1;b[k+(d+64<<1)>>1]=b[f+(d<<1)>>1]|0;do{if(h){m=b[f>>1]|0;b[k+128>>1]=m;m=m&65535;j=(e[f-128>>1]|0)-m|0;n=(e[f+128>>1]|0)-m|0;h=1;do{o=(((ga(j,h)|0)+32|0)>>>6)+m&65535;b[k+(64-h<<1)>>1]=o;o=(((ga(n,h)|0)+32|0)>>>6)+m&65535;b[k+(h+64<<1)>>1]=o;h=h+1|0;}while((h|0)<64)}else{j=d-1|0;m=1-d|0;if((m|0)>(j|0)){break}h=m;m=b[f+(m<<1)>>1]|0;while(1){n=h+1|0;o=b[f+(n<<1)>>1]|0;b[k+(h+64<<1)>>1]=((o&65535)+2+((m&65535)<<1)+(e[f+(h-1<<1)>>1]|0)|0)>>>2;if((h|0)<(j|0)){h=n;m=o}else{break}}}}while(0);cv(f+(-d<<1)|0,k+(64-d<<1)|0,g<<3|2)|0;i=l;return}function oi(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;k=(h|0)==0;j=c[(k?a+40|0:a+44|0)>>2]|0;h=(c[a+4+(h<<2)>>2]|0)+((ga(j,f)|0)+d<<1)|0;d=(g|0)>1;if(d){f=g;a=0;while(1){f=f>>1;if((f|0)>1){a=a+1|0}else{break}}f=a+2|0}else{f=1}a=(g|0)>0;if(a){n=0;m=0;while(1){l=m+1|0;n=(e[i+(l<<1)>>1]|0)+n+(e[i+(~m<<1)>>1]|0)|0;if((l|0)<(g|0)){m=l}else{break}}}else{n=0}f=n+g>>f;if(!(k&(g|0)<32)){if(!a){return}a=f&65535;k=0;do{d=ga(k,j)|0;i=0;do{b[h+(i+d<<1)>>1]=a;i=i+1|0;}while((i|0)<(g|0));k=k+1|0;}while((k|0)<(g|0));return}b[h>>1]=((f<<1)+2+(e[i-2>>1]|0)+(e[i+2>>1]|0)|0)>>>2;if(!d){return}a=(f*3|0)+2|0;k=1;while(1){l=k+1|0;b[h+(k<<1)>>1]=(a+(e[i+(l<<1)>>1]|0)|0)>>>2;if((l|0)<(g|0)){k=l}else{break}}if(!d){return}a=(f*3|0)+2|0;k=1;do{n=h+((ga(k,j)|0)<<1)|0;b[n>>1]=(a+(e[i+(~k<<1)>>1]|0)|0)>>>2;k=k+1|0;}while((k|0)<(g|0));if(!d){return}i=f&65535;d=1;do{k=ga(d,j)|0;a=1;do{b[h+(a+k<<1)>>1]=i;a=a+1|0;}while((a|0)<(g|0));d=d+1|0;}while((d|0)<(g|0));return}function pi(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0;n=i;u=m;q=i;i=i+258|0;i=i+7&-8;s=(l|0)==0;o=c[(s?f+40|0:f+44|0)>>2]|0;l=(c[f+4+(l<<2)>>2]|0)+((ga(o,h)|0)+g<<1)|0;p=c[(s?f+5760|0:f+5768|0)>>2]|0;if((j|0)>=35){ec(12952,15552,596,18712)}if((j|0)<=1){ec(10072,15552,597,18712)}t=c[64+(j<<2)>>2]|0;do{if((a[f+5750|0]|0)==0){r=0}else{z=c[f+10368>>2]|0;g=g>>z;h=h>>z;if(!((g|0)>-1)){ec(7e3,5152,118,17336)}v=c[f+10372>>2]|0;if((g|0)>=(v|0)){ec(7e3,5152,118,17336)}if(!((h|0)>-1)){ec(3672,5152,119,17336)}if((h|0)<(c[f+10376>>2]|0)){r=(ga(v,h)|0)+g|0;r=(c[f+10360>>2]|0)+(r*3|0)|0;r=((d[r]|d[r+1|0]<<8)<<16>>16&2048)!=0;break}else{ec(3672,5152,119,17336)}}}while(0);f=(k|0)<0;if((j|0)>17){if(!f){cv(q+128|0,u|0,(k<<1)+2|0)|0}u=j-11|0;do{if(u>>>0<15>>>0){u=c[30584+(u<<2)>>2]|0;f=(ga(t,k)|0)>>5;if(!((f|0)<-1)){break}do{z=m+(-((ga(f,u)|0)+128>>8)<<1)|0;b[q+(f+64<<1)>>1]=b[z>>1]|0;f=f+1|0;}while((f|0)<0)}else{if((k<<1|0)<=(k|0)){break}cv(q+(k+65<<1)|0,m+(k+1<<1)|0,k<<1)|0}}while(0);w=(k|0)>0;if(w){x=0;while(1){v=x+1|0;u=ga(v,t)|0;g=u>>5;u=u&31;f=(u|0)==0;h=g+65|0;x=ga(x,o)|0;y=32-u|0;z=0;do{if(f){b[l+(z+x<<1)>>1]=b[q+(h+z<<1)>>1]|0}else{A=z+g|0;B=ga(e[q+(A+65<<1)>>1]|0,y)|0;A=(B+16+(ga(e[q+(A+66<<1)>>1]|0,u)|0)|0)>>>5&65535;b[l+(z+x<<1)>>1]=A}z=z+1|0;}while((z|0)<(k|0));if((v|0)<(k|0)){x=v}else{break}}}if(r|(j|0)==26&s&(k|0)<32^1|w^1){i=n;return}q=m+2|0;r=(1<<p)-1|0;p=0;do{s=((e[m+(~p<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[q>>1]|0)|0;if((s|0)<0){s=0}else{s=((s|0)>(r|0)?r:s)&65535}B=l+((ga(p,o)|0)<<1)|0;b[B>>1]=s;p=p+1|0;}while((p|0)<(k|0));i=n;return}else{if(!f){u=0;while(1){b[q+(u+64<<1)>>1]=b[m+(-u<<1)>>1]|0;if((u|0)<(k|0)){u=u+1|0}else{break}}}u=j-11|0;do{if(u>>>0<15>>>0){u=c[30584+(u<<2)>>2]|0;f=(ga(t,k)|0)>>5;if(!((f|0)<-1)){break}do{B=m+((ga(f,u)|0)+128>>8<<1)|0;b[q+(f+64<<1)>>1]=b[B>>1]|0;f=f+1|0;}while((f|0)<0)}else{g=k<<1;if((g|0)>(k|0)){u=k}else{break}while(1){f=u+1|0;b[q+(u+65<<1)>>1]=b[m+(~u<<1)>>1]|0;if((f|0)<(g|0)){u=f}else{break}}}}while(0);f=(k|0)>0;if(f){g=0;do{y=g+65|0;h=ga(g,o)|0;v=0;while(1){w=v+1|0;x=ga(w,t)|0;u=x>>5;x=x&31;if((x|0)==0){b[l+(v+h<<1)>>1]=b[q+(y+u<<1)>>1]|0}else{B=u+g|0;A=ga(e[q+(B+65<<1)>>1]|0,32-x|0)|0;B=(A+16+(ga(e[q+(B+66<<1)>>1]|0,x)|0)|0)>>>5&65535;b[l+(v+h<<1)>>1]=B}if((w|0)<(k|0)){v=w}else{break}}g=g+1|0;}while((g|0)<(k|0))}if(r|(j|0)==10&s&(k|0)<32^1|f^1){i=n;return}o=m-2|0;p=(1<<p)-1|0;q=0;while(1){r=q+1|0;s=((e[m+(r<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[o>>1]|0)|0;if((s|0)<0){s=0}else{s=((s|0)>(p|0)?p:s)&65535}b[l+(q<<1)>>1]=s;if((r|0)<(k|0)){q=r}else{break}}i=n;return}}function qi(a){a=a|0;c[a+8>>2]=1732584193;c[a+12>>2]=-271733879;c[a+16>>2]=-1732584194;c[a+20>>2]=271733878;c[a>>2]=0;c[a+4>>2]=0;return}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=a|0;e=c[f>>2]|0;h=e+d&536870911;c[f>>2]=h;f=a+4|0;g=c[f>>2]|0;if(h>>>0<e>>>0){g=g+1|0;c[f>>2]=g}c[a+4>>2]=g+(d>>>29);f=e&63;do{if((f|0)!=0){e=64-f|0;f=a+24+f|0;if(!(e>>>0>d>>>0)){cv(f|0,b|0,e)|0;si(a,a+24|0,64)|0;b=b+e|0;d=d-e|0;break}cv(f|0,b|0,d)|0;return}}while(0);if(d>>>0>63>>>0){b=si(a,b,d&-64)|0;d=d&63}cv(a+24|0,b|0,d)|0;return}function si(a,b,e){a=a|0;b=b|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,p=0,q=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,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;s=a+8|0;p=a+12|0;h=a+16|0;i=a+20|0;j=a+88|0;k=a+92|0;l=a+96|0;m=a+100|0;n=a+104|0;o=a+108|0;f=a+112|0;q=a+116|0;r=a+120|0;g=a+124|0;t=a+128|0;u=a+132|0;v=a+136|0;w=a+140|0;x=a+144|0;a=a+148|0;y=c[s>>2]|0;z=c[p>>2]|0;B=c[i>>2]|0;A=c[h>>2]|0;do{M=(d[b+1|0]|0)<<8|(d[b]|0)|(d[b+2|0]|0)<<16|(d[b+3|0]|0)<<24;c[j>>2]=M;M=y-680876936+(z&(B^A)^B)+M|0;M=(M<<7|M>>>25)+z|0;D=(d[b+5|0]|0)<<8|(d[b+4|0]|0)|(d[b+6|0]|0)<<16|(d[b+7|0]|0)<<24;c[k>>2]=D;D=B-389564586+D+(M&(z^A)^A)|0;D=(D<<12|D>>>20)+M|0;E=(d[b+9|0]|0)<<8|(d[b+8|0]|0)|(d[b+10|0]|0)<<16|(d[b+11|0]|0)<<24;c[l>>2]=E;E=A+606105819+E+(D&(M^z)^z)|0;E=(E<<17|E>>>15)+D|0;W=(d[b+13|0]|0)<<8|(d[b+12|0]|0)|(d[b+14|0]|0)<<16|(d[b+15|0]|0)<<24;c[m>>2]=W;W=z-1044525330+W+(E&(D^M)^M)|0;W=(W<<22|W>>>10)+E|0;C=(d[b+17|0]|0)<<8|(d[b+16|0]|0)|(d[b+18|0]|0)<<16|(d[b+19|0]|0)<<24;c[n>>2]=C;C=M-176418897+C+(W&(E^D)^D)|0;C=(C<<7|C>>>25)+W|0;M=(d[b+21|0]|0)<<8|(d[b+20|0]|0)|(d[b+22|0]|0)<<16|(d[b+23|0]|0)<<24;c[o>>2]=M;M=D+1200080426+M+(C&(W^E)^E)|0;M=(M<<12|M>>>20)+C|0;D=(d[b+25|0]|0)<<8|(d[b+24|0]|0)|(d[b+26|0]|0)<<16|(d[b+27|0]|0)<<24;c[f>>2]=D;D=E-1473231341+D+(M&(C^W)^W)|0;D=(D<<17|D>>>15)+M|0;E=(d[b+29|0]|0)<<8|(d[b+28|0]|0)|(d[b+30|0]|0)<<16|(d[b+31|0]|0)<<24;c[q>>2]=E;E=W-45705983+E+(D&(M^C)^C)|0;E=(E<<22|E>>>10)+D|0;W=(d[b+33|0]|0)<<8|(d[b+32|0]|0)|(d[b+34|0]|0)<<16|(d[b+35|0]|0)<<24;c[r>>2]=W;W=C+1770035416+W+(E&(D^M)^M)|0;W=(W<<7|W>>>25)+E|0;C=(d[b+37|0]|0)<<8|(d[b+36|0]|0)|(d[b+38|0]|0)<<16|(d[b+39|0]|0)<<24;c[g>>2]=C;C=M-1958414417+C+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;M=(d[b+41|0]|0)<<8|(d[b+40|0]|0)|(d[b+42|0]|0)<<16|(d[b+43|0]|0)<<24;c[t>>2]=M;D=M-42063+D+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;M=(d[b+45|0]|0)<<8|(d[b+44|0]|0)|(d[b+46|0]|0)<<16|(d[b+47|0]|0)<<24;c[u>>2]=M;E=M-1990404162+E+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;M=(d[b+49|0]|0)<<8|(d[b+48|0]|0)|(d[b+50|0]|0)<<16|(d[b+51|0]|0)<<24;c[v>>2]=M;W=M+1804603682+W+(E&(D^C)^C)|0;W=(W<<7|W>>>25)+E|0;M=(d[b+53|0]|0)<<8|(d[b+52|0]|0)|(d[b+54|0]|0)<<16|(d[b+55|0]|0)<<24;c[w>>2]=M;C=M-40341101+C+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;M=(d[b+57|0]|0)<<8|(d[b+56|0]|0)|(d[b+58|0]|0)<<16|(d[b+59|0]|0)<<24;c[x>>2]=M;D=M-1502002290+D+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;M=(d[b+61|0]|0)<<8|(d[b+60|0]|0)|(d[b+62|0]|0)<<16|(d[b+63|0]|0)<<24;c[a>>2]=M;E=M+1236535329+E+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;O=c[k>>2]|0;W=O-165796510+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;L=c[f>>2]|0;C=L-1069501632+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;I=c[u>>2]|0;D=I+643717713+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;V=c[j>>2]|0;E=V-373897302+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;S=c[o>>2]|0;W=S-701558691+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;P=c[t>>2]|0;C=P+38016083+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=M-660478335+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;J=c[n>>2]|0;E=J-405537848+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;G=c[g>>2]|0;W=G+568446438+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;T=c[x>>2]|0;C=T-1019803690+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;Q=c[m>>2]|0;D=Q-187363961+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;N=c[r>>2]|0;E=N+1163531501+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;K=c[w>>2]|0;W=K-1444681467+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;H=c[l>>2]|0;C=H-51403784+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;U=c[q>>2]|0;D=U+1735328473+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;F=D^C;R=c[v>>2]|0;E=R-1926607734+E+(F&W^C)|0;E=(E<<20|E>>>12)+D|0;F=S-378558+W+(F^E)|0;F=(F<<4|F>>>28)+E|0;C=N-2022574463+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=I+1839030562+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=T-35309556+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=O-1530992060+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=J+1272893353+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=U-155497632+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=P-1094730640+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=K+681279174+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=V-358537222+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=Q-722521979+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=L+76029189+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=G-640364487+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=R-421815835+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=M+530742520+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=H-995338651+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=V-198630844+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=U+1126891415+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=T-1416354905+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=S-57434055+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=R+1700485571+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=Q-1894986606+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=P-1051523+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=O-2054922799+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=N+1873313359+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=M-30611744+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=L-1560198380+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=K+1309151649+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=J-145523070+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=I-1120210379+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=H+718787259+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=G-343485551+E+((D|~F)^C)|0;y=F+y|0;z=D+z+(E<<21|E>>>11)|0;A=D+A|0;B=C+B|0;b=b+64|0;e=e-64|0;}while((e|0)!=0);c[s>>2]=y;c[p>>2]=z;c[h>>2]=A;c[i>>2]=B;return b|0}function ti(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=d|0;g=c[e>>2]&63;h=g+1|0;f=d+24|0;a[d+24+g|0]=-128;g=g^63;if(g>>>0<8>>>0){dv(d+24+h|0,0,g|0)|0;f=f|0;si(d,f,64)|0;g=56;h=0}else{g=g-8|0;f=f|0}dv(d+24+h|0,0,g|0)|0;h=c[e>>2]|0;g=h<<3;c[e>>2]=g;a[d+80|0]=g;a[d+81|0]=h>>>5;a[d+82|0]=h>>>13;a[d+83|0]=h>>>21;h=c[d+4>>2]|0;a[d+84|0]=h;a[d+85|0]=h>>>8;a[d+86|0]=h>>>16;a[d+87|0]=h>>>24;si(d,f,64)|0;h=d+8|0;a[b]=c[h>>2];a[b+1|0]=(c[h>>2]|0)>>>8;a[b+2|0]=(c[h>>2]|0)>>>16;a[b+3|0]=(c[h>>2]|0)>>>24;h=d+12|0;a[b+4|0]=c[h>>2];a[b+5|0]=(c[h>>2]|0)>>>8;a[b+6|0]=(c[h>>2]|0)>>>16;a[b+7|0]=(c[h>>2]|0)>>>24;h=d+16|0;a[b+8|0]=c[h>>2];a[b+9|0]=(c[h>>2]|0)>>>8;a[b+10|0]=(c[h>>2]|0)>>>16;a[b+11|0]=(c[h>>2]|0)>>>24;h=d+20|0;a[b+12|0]=c[h>>2];a[b+13|0]=(c[h>>2]|0)>>>8;a[b+14|0]=(c[h>>2]|0)>>>16;a[b+15|0]=(c[h>>2]|0)>>>24;dv(d|0,0,152)|0;return}function ui(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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,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;q=i;i=i+49160|0;x=q|0;r=q+16384|0;E=q+49152|0;G=k+h|0;I=l+j|0;H=g+764|0;t=c[g+5780>>2]|0;s=c[g+5784>>2]|0;v=c[g+40>>2]|0;u=(ga(v,I)|0)+G|0;u=(c[g+4>>2]|0)+(u<<d[g+16|0])|0;j=c[g+44>>2]|0;l=(ga(j,(I|0)/(s|0)|0)|0)+((G|0)/(t|0)|0)|0;k=(c[g+8>>2]|0)+(l<<d[g+17|0])|0;l=(c[g+12>>2]|0)+(l<<d[g+18|0])|0;y=a[p|0]|0;M=y&255;c[E>>2]=M;C=a[p+1|0]|0;D=C&255;B=E+4|0;c[B>>2]=D;J=g+5760|0;w=c[J>>2]|0;F=g+5768|0;h=c[F>>2]|0;A=g+5961|0;do{if((a[A]|0)==0){if(y<<24>>24==0|C<<24>>24==0){break}if((b[p+4>>1]|0)!=(b[p+8>>1]|0)){break}if((b[p+6>>1]|0)!=(b[p+10>>1]|0)){break}if((c[f+916+(a[p+2|0]<<2)>>2]|0)!=(c[f+980+(a[p+3|0]<<2)>>2]|0)){break}c[B>>2]=0;D=0}}while(0);L=e;C=g+10516|0;B=e+4|0;K=0;a:while(1){do{if((M|0)!=0){M=a[p+2+K|0]|0;if(M<<24>>24>15){z=10;break a}O=Qc[c[(c[L>>2]|0)+8>>2]&63](e,c[f+916+(K<<6)+(M<<24>>24<<2)>>2]|0)|0;if((c[O+96>>2]|0)==0){a[C]=3;Ue(B,1012,0);break}M=p+4+(K<<2)|0;S=b[M>>1]|0;N=p+4+(K<<2)+2|0;R=b[N>>1]|0;Q=x+(K<<13)|0;P=c[O+4>>2]|0;if((c[J>>2]|0)>8){vi(e,H,S,R,G,I,Q,m,P,c[O+40>>2]|0,n,o,w)}else{wi(e,H,S,R,G,I,Q,m,P,c[O+40>>2]|0,n,o,w)}S=b[M>>1]|0;R=b[N>>1]|0;P=r+(K<<13)|0;Q=c[O+8>>2]|0;if((c[J>>2]|0)>8){V=O+44|0;U=(n|0)/(t|0)|0;T=(o|0)/(s|0)|0;xi(e,H,S,R,G,I,P,m,Q,c[V>>2]|0,U,T,h);xi(e,H,b[M>>1]|0,b[N>>1]|0,G,I,r+16384+(K<<13)|0,m,c[O+12>>2]|0,c[V>>2]|0,U,T,h);break}else{T=O+44|0;U=(n|0)/(t|0)|0;V=(o|0)/(s|0)|0;yi(e,H,S,R,G,I,P,m,Q,c[T>>2]|0,U,V,h);yi(e,H,b[M>>1]|0,b[N>>1]|0,G,I,r+16384+(K<<13)|0,m,c[O+12>>2]|0,c[T>>2]|0,U,V,h);break}}}while(0);M=K+1|0;if((M|0)>=2){break}K=M;M=c[E+(M<<2)>>2]|0}if((z|0)==10){a[C]=3;Ue(B,1012,0);i=q;return}z=14-(c[J>>2]|0)|0;H=(z|0)<2?2:z;E=d[g+5920|0]|0;z=14-(c[F>>2]|0)|0;G=(z|0)<2?2:z;z=d[g+5921|0]|0;F=c[f+20>>2]|0;if((F|0)==1){g=y<<24>>24==1&(D|0)==0;if((a[A]|0)==0){if(!g){Ue(B,1011,0);a[C]=3;i=q;return}x=x|0;if((w|0)<9){Kc[c[e+176>>2]&63](u,v,x,m,n,o)}else{Mc[c[e+192>>2]&127](u,v,x,m,n,o,w)}u=r|0;n=(n|0)/(t|0)|0;o=(o|0)/(s|0)|0;if((h|0)<9){V=e+176|0;Kc[c[V>>2]&63](k,j,u,m,n,o);Kc[c[V>>2]&63](l,j,r+16384|0,m,n,o);i=q;return}else{V=e+192|0;Mc[c[V>>2]&127](k,j,u,m,n,o,h);Mc[c[V>>2]&127](l,j,r+16384|0,m,n,o,h);i=q;return}}else{if(!g){Ue(B,1011,0);a[C]=3;i=q;return}V=a[p+2|0]|0;B=(d[f+380|0]|0)+H|0;p=(d[f+381|0]|0)+G|0;C=b[f+446+(V<<1)>>1]|0;D=a[f+510+V|0]<<E;y=b[f+542+(V<<2)>>1]|0;g=a[f+670+(V<<1)|0]<<z;A=b[f+542+(V<<2)+2>>1]|0;f=a[f+670+(V<<1)+1|0]<<z;x=x|0;if((w|0)<9){Oc[c[e+180>>2]&15](u,v,x,m,n,o,C,D,B)}else{Pc[c[e+196>>2]&15](u,v,x,m,n,o,C,D,B,w)}u=r|0;n=(n|0)/(t|0)|0;o=(o|0)/(s|0)|0;if((h|0)<9){V=e+180|0;Oc[c[V>>2]&15](k,j,u,m,n,o,y,g,p);Oc[c[V>>2]&15](l,j,r+16384|0,m,n,o,A,f,p);i=q;return}else{V=e+196|0;Pc[c[V>>2]&15](k,j,u,m,n,o,y,g,p,h);Pc[c[V>>2]&15](l,j,r+16384|0,m,n,o,A,f,p,h);i=q;return}}}else if((F|0)==0){A=(D|0)==1;do{if(y<<24>>24==1){if(!A){break}if((a[g+5962|0]|0)==0){f=x|0;p=x+8192|0;x=e+172|0;if((w|0)<9){Mc[c[x>>2]&127](u,v,f,p,m,n,o)}else{Jc[c[e+188>>2]&63](u,v,f,p,m,n,o,w)}w=r|0;v=r+8192|0;u=r+16384|0;r=r+24576|0;n=(n|0)/(t|0)|0;o=(o|0)/(s|0)|0;if((h|0)<9){V=x|0;Mc[c[V>>2]&127](k,j,w,v,m,n,o);Mc[c[V>>2]&127](l,j,u,r,m,n,o);i=q;return}else{V=e+188|0;Jc[c[V>>2]&63](k,j,w,v,m,n,o,h);Jc[c[V>>2]&63](l,j,u,r,m,n,o,h);i=q;return}}else{D=a[p+2|0]|0;V=a[p+3|0]|0;F=(d[f+380|0]|0)+H|0;p=(d[f+381|0]|0)+G|0;I=b[f+446+(D<<1)>>1]|0;H=a[f+510+D|0]<<E;G=b[f+478+(V<<1)>>1]|0;J=a[f+526+V|0]<<E;B=b[f+542+(D<<2)>>1]|0;A=a[f+670+(D<<1)|0]<<z;E=b[f+542+(D<<2)+2>>1]|0;D=a[f+670+(D<<1)+1|0]<<z;y=b[f+606+(V<<2)>>1]|0;g=a[f+702+(V<<1)|0]<<z;C=b[f+606+(V<<2)+2>>1]|0;f=a[f+702+(V<<1)+1|0]<<z;z=x|0;x=x+8192|0;if((w|0)<9){Rc[c[e+184>>2]&3](u,v,z,x,m,n,o,I,H,G,J,F)}else{Lc[c[e+200>>2]&3](u,v,z,x,m,n,o,I,H,G,J,F,w)}v=r|0;w=r+8192|0;u=r+16384|0;r=r+24576|0;n=(n|0)/(t|0)|0;o=(o|0)/(s|0)|0;if((h|0)<9){V=e+184|0;Rc[c[V>>2]&3](k,j,v,w,m,n,o,B,A,y,g,p);Rc[c[V>>2]&3](l,j,u,r,m,n,o,E,D,C,f,p);i=q;return}else{V=e+200|0;Lc[c[V>>2]&3](k,j,v,w,m,n,o,B,A,y,g,p,h);Lc[c[V>>2]&3](l,j,u,r,m,n,o,E,D,C,f,p,h);i=q;return}}}else{if(A){break}Ue(B,1011,0);a[C]=3;i=q;return}}while(0);y=y<<24>>24==0|0;if((a[g+5962|0]|0)==0){x=x+(y<<13)|0;if((w|0)<9){Kc[c[e+176>>2]&63](u,v,x,m,n,o)}else{Mc[c[e+192>>2]&127](u,v,x,m,n,o,w)}u=r+(y<<13)|0;n=(n|0)/(t|0)|0;o=(o|0)/(s|0)|0;if((h|0)<9){V=e+176|0;Kc[c[V>>2]&63](k,j,u,m,n,o);Kc[c[V>>2]&63](l,j,r+16384+(y<<13)|0,m,n,o);i=q;return}else{V=e+192|0;Mc[c[V>>2]&127](k,j,u,m,n,o,h);Mc[c[V>>2]&127](l,j,r+16384+(y<<13)|0,m,n,o,h);i=q;return}}else{V=a[p+2+y|0]|0;C=(d[f+380|0]|0)+H|0;p=(d[f+381|0]|0)+G|0;D=b[f+446+(y<<5)+(V<<1)>>1]|0;E=a[f+510+(y<<4)+V|0]<<E;A=b[f+542+(y<<6)+(V<<2)>>1]|0;g=a[f+670+(y<<5)+(V<<1)|0]<<z;B=b[f+542+(y<<6)+(V<<2)+2>>1]|0;f=a[f+670+(y<<5)+(V<<1)+1|0]<<z;x=x+(y<<13)|0;if((w|0)<9){Oc[c[e+180>>2]&15](u,v,x,m,n,o,D,E,C)}else{Pc[c[e+196>>2]&15](u,v,x,m,n,o,D,E,C,w)}u=r+(y<<13)|0;n=(n|0)/(t|0)|0;o=(o|0)/(s|0)|0;if((h|0)<9){V=e+180|0;Oc[c[V>>2]&15](k,j,u,m,n,o,A,g,p);Oc[c[V>>2]&15](l,j,r+16384+(y<<13)|0,m,n,o,B,f,p);i=q;return}else{V=e+196|0;Pc[c[V>>2]&15](k,j,u,m,n,o,A,g,p,h);Pc[c[V>>2]&15](l,j,r+16384+(y<<13)|0,m,n,o,B,f,p,h);i=q;return}}}else{ec(8616,15536,489,18272)}}function vi(a,d,f,g,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,E=0,F=0;r=i;i=i+20448|0;t=r|0;v=r+9088|0;s=f&3;u=g&3;h=(f>>2)+h|0;j=(g>>2)+j|0;w=14-(c[d+4996>>2]|0)|0;A=c[d+484>>2]|0;z=c[d+488>>2]|0;if(((g|f)&3|0)==0){do{if((j|h|0)>-1){if((h+o|0)>(A|0)){break}if((j+p|0)>(z|0)){break}m=m+((ga(j,n)|0)+h<<1)|0;h=t|0;if((q|0)<9){Mc[c[a+220>>2]&127](k,l,m,n,o,p,h);i=r;return}else{Jc[c[a+300>>2]&63](k,l,m,n,o,p,h,q);i=r;return}}}while(0);if((p|0)<=0){i=r;return}a=z-1|0;q=A-1|0;if((o|0)>0){s=0}else{i=r;return}do{v=s+j|0;t=ga(s,l)|0;u=(v|0)>(a|0)?a:v;if((v|0)<0){u=0;do{v=u+h|0;if((v|0)<0){v=0}else{v=(v|0)>(q|0)?q:v}b[k+(u+t<<1)>>1]=(e[m+(v<<1)>>1]|0)<<w;u=u+1|0;}while((u|0)<(o|0))}else{v=0;do{f=v+h|0;if((f|0)<0){f=0}else{f=(f|0)>(q|0)?q:f}F=m+((ga(u,n)|0)+f<<1)|0;b[k+(v+t<<1)>>1]=(e[F>>1]|0)<<w;v=v+1|0;}while((v|0)<(o|0))}s=s+1|0;}while((s|0)<(p|0));i=r;return}f=c[30768+(s<<2)>>2]|0;d=c[30872+(s<<2)>>2]|0;w=c[30768+(u<<2)>>2]|0;y=c[30872+(u<<2)>>2]|0;g=-f|0;do{if((h-f|0)>-1){if(!((j-w|0)>-1)){x=23;break}if((h+o+d|0)>=(A|0)){x=23;break}if((j+p+y|0)>=(z|0)){x=23;break}g=n;n=m+((ga(j,n)|0)+h<<1)|0}else{x=23}}while(0);if((x|0)==23){C=-w|0;x=y+p|0;if((x|0)>(C|0)){d=d+o|0;y=(d|0)>(g|0);z=z-1|0;A=A-1|0;do{if(y){E=C+j|0;B=((C+w|0)*80|0)+f|0;D=(E|0)>(z|0)?z:E;if((E|0)<0){D=g;do{E=D+h|0;if((E|0)<0){E=0}else{E=(E|0)>(A|0)?A:E}b[v+(B+D<<1)>>1]=b[m+(E<<1)>>1]|0;D=D+1|0;}while((D|0)<(d|0))}else{E=g;do{F=E+h|0;if((F|0)<0){F=0}else{F=(F|0)>(A|0)?A:F}F=m+((ga(D,n)|0)+F<<1)|0;b[v+(B+E<<1)>>1]=b[F>>1]|0;E=E+1|0;}while((E|0)<(d|0))}}C=C+1|0;}while((C|0)<(x|0))}g=80;n=v+((w*80|0)+f<<1)|0}m=t|0;if((q|0)<9){Mc[c[a+220+(s<<4)+(u<<2)>>2]&127](k,l,n,g,o,p,m);i=r;return}else{Jc[c[a+300+(s<<4)+(u<<2)>>2]&63](k,l,n,g,o,p,m,q);i=r;return}}function wi(e,f,g,h,j,k,l,m,n,o,p,q,r){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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;s=i;i=i+14768|0;u=s|0;w=s+9088|0;t=g&3;v=h&3;j=(g>>2)+j|0;k=(h>>2)+k|0;x=14-(c[f+4996>>2]|0)|0;A=c[f+484>>2]|0;B=c[f+488>>2]|0;if(((h|g)&3|0)==0){do{if((k|j|0)>-1){if((j+p|0)>(A|0)){break}if((k+q|0)>(B|0)){break}n=n+((ga(k,o)|0)+j)|0;j=u|0;if((r|0)<9){Mc[c[e+220>>2]&127](l,m,n,o,p,q,j);i=s;return}else{Jc[c[e+300>>2]&63](l,m,n,o,p,q,j,r);i=s;return}}}while(0);if((q|0)<=0){i=s;return}e=(p|0)>0;r=B-1|0;w=A-1|0;t=0;do{if(e){g=t+k|0;u=(g|0)<0;v=ga(t,m)|0;h=(g|0)>(r|0)?r:g;g=0;do{y=g+j|0;if((y|0)<0){y=0}else{y=(y|0)>(w|0)?w:y}H=n+((ga(u?0:h,o)|0)+y)|0;b[l+(g+v<<1)>>1]=(d[H]|0)<<x;g=g+1|0;}while((g|0)<(p|0))}t=t+1|0;}while((t|0)<(q|0));i=s;return}x=c[30768+(t<<2)>>2]|0;f=c[30872+(t<<2)>>2]|0;g=c[30768+(v<<2)>>2]|0;z=c[30872+(v<<2)>>2]|0;h=-x|0;do{if((j-x|0)>-1){if(!((k-g|0)>-1)){y=21;break}if((j+p+f|0)>=(A|0)){y=21;break}if((k+q+z|0)>=(B|0)){y=21;break}h=o;o=n+((ga(k,o)|0)+j)|0}else{y=21}}while(0);if((y|0)==21){D=-g|0;y=z+q|0;if((y|0)>(D|0)){z=f+p|0;f=(z|0)>(h|0);B=B-1|0;A=A-1|0;do{if(f){F=D+k|0;C=(F|0)<0;E=((D+g|0)*80|0)+x|0;F=(F|0)>(B|0)?B:F;G=h;do{H=G+j|0;if((H|0)<0){H=0}else{H=(H|0)>(A|0)?A:H}H=n+((ga(C?0:F,o)|0)+H)|0;a[w+(E+G)|0]=a[H]|0;G=G+1|0;}while((G|0)<(z|0))}D=D+1|0;}while((D|0)<(y|0))}h=80;o=w+((g*80|0)+x)|0}n=u|0;if((r|0)<9){Mc[c[e+220+(t<<4)+(v<<2)>>2]&127](l,m,o,h,p,q,n);i=s;return}else{Jc[c[e+300+(t<<4)+(v<<2)>>2]&63](l,m,o,h,p,q,n,r);i=s;return}}function xi(a,d,f,g,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,E=0;r=i;i=i+19808|0;s=r|0;t=r+9088|0;u=14-(c[d+5004>>2]|0)|0;B=c[d+5016>>2]|0;w=(c[d+484>>2]|0)/(B|0)|0;C=c[d+5020>>2]|0;y=(c[d+488>>2]|0)/(C|0)|0;E=ga(2/(B|0)|0,f)|0;D=ga(2/(C|0)|0,g)|0;f=E&7;g=D&7;h=((h|0)/(B|0)|0)+(E>>3)|0;j=((j|0)/(C|0)|0)+(D>>3)|0;d=(g|0)==0;if(((D|E)&7|0)==0){do{if((h|0)>-1){if(!((h+o|0)<=(w|0)&(j|0)>-1)){break}if((j+p|0)>(y|0)){break}m=m+((ga(j,n)|0)+h<<1)|0;if((q|0)<9){Oc[c[a+204>>2]&15](k,l,m,n,o,p,0,0,0);i=r;return}else{Pc[c[a+284>>2]&15](k,l,m,n,o,p,0,0,0,q);i=r;return}}}while(0);if((p|0)<=0){i=r;return}q=(o|0)>0;a=y-1|0;t=w-1|0;s=0;do{if(q){d=s+j|0;g=(d|0)<0;f=ga(s,l)|0;v=(d|0)>(a|0)?a:d;d=0;do{w=d+h|0;if((w|0)<0){w=0}else{w=(w|0)>(t|0)?t:w}E=m+((ga(g?0:v,n)|0)+w<<1)|0;b[k+(d+f<<1)>>1]=(e[E>>1]|0)<<u;d=d+1|0;}while((d|0)<(o|0))}s=s+1|0;}while((s|0)<(p|0));i=r;return}do{if((h|0)>0){if(!((h+o|0)<=(w-2|0)&(j|0)>0)){v=17;break}if((j+p|0)>(y-2|0)){v=17;break}m=m+((ga(j,n)|0)+h<<1)|0}else{v=17}}while(0);if((v|0)==17){v=p+2|0;if((v|0)>-1){x=o+2|0;u=(x|0)>-1;y=y-1|0;w=w-1|0;B=-1;do{if(u){C=B+j|0;z=(C|0)<0;A=(B*80|0)+80|0;D=(C|0)>(y|0)?y:C;C=-1;do{E=C+h|0;if((E|0)<0){E=0}else{E=(E|0)>(w|0)?w:E}E=m+((ga(z?0:D,n)|0)+E<<1)|0;C=C+1|0;b[t+(A+C<<1)>>1]=b[E>>1]|0;}while((C|0)<(x|0))}B=B+1|0;}while((B|0)<(v|0))}m=t+162|0;n=80}h=(f|0)!=0;if(!(d|h^1)){h=s|0;if((q|0)<9){Pc[c[a+216>>2]&15](k,l,m,n,o,p,f,g,h,q);i=r;return}else{Pc[c[a+296>>2]&15](k,l,m,n,o,p,f,g,h,q);i=r;return}}if(h){h=s|0;if((q|0)<9){Pc[c[a+208>>2]&15](k,l,m,n,o,p,f,g,h,q);i=r;return}else{Pc[c[a+288>>2]&15](k,l,m,n,o,p,f,g,h,q);i=r;return}}if(d){ec(10064,15536,268,17976)}h=s|0;if((q|0)<9){Pc[c[a+212>>2]&15](k,l,m,n,o,p,0,g,h,q);i=r;return}else{Pc[c[a+292>>2]&15](k,l,m,n,o,p,0,g,h,q);i=r;return}}function yi(e,f,g,h,j,k,l,m,n,o,p,q,r){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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;s=i;i=i+14448|0;t=s|0;u=s+9088|0;v=14-(c[f+5004>>2]|0)|0;C=c[f+5016>>2]|0;x=(c[f+484>>2]|0)/(C|0)|0;D=c[f+5020>>2]|0;z=(c[f+488>>2]|0)/(D|0)|0;F=ga(2/(C|0)|0,g)|0;E=ga(2/(D|0)|0,h)|0;g=F&7;h=E&7;j=((j|0)/(C|0)|0)+(F>>3)|0;k=((k|0)/(D|0)|0)+(E>>3)|0;f=(h|0)==0;if(((E|F)&7|0)==0){do{if((j|0)>-1){if(!((j+p|0)<=(x|0)&(k|0)>-1)){break}if((k+q|0)>(z|0)){break}n=n+((ga(k,o)|0)+j)|0;if((r|0)<9){Oc[c[e+204>>2]&15](l,m,n,o,p,q,0,0,0);i=s;return}else{Pc[c[e+284>>2]&15](l,m,n,o,p,q,0,0,0,r);i=s;return}}}while(0);if((q|0)<=0){i=s;return}r=(p|0)>0;e=z-1|0;u=x-1|0;t=0;do{if(r){f=t+k|0;h=(f|0)<0;g=ga(t,m)|0;w=(f|0)>(e|0)?e:f;f=0;do{x=f+j|0;if((x|0)<0){x=0}else{x=(x|0)>(u|0)?u:x}F=n+((ga(h?0:w,o)|0)+x)|0;b[l+(f+g<<1)>>1]=(d[F]|0)<<v;f=f+1|0;}while((f|0)<(p|0))}t=t+1|0;}while((t|0)<(q|0));i=s;return}do{if((j|0)>0){if(!((j+p|0)<=(x-2|0)&(k|0)>0)){w=17;break}if((k+q|0)>(z-2|0)){w=17;break}n=n+((ga(k,o)|0)+j)|0}else{w=17}}while(0);if((w|0)==17){w=q+2|0;if((w|0)>-1){y=p+2|0;v=(y|0)>-1;z=z-1|0;x=x-1|0;C=-1;do{if(v){D=C+k|0;A=(D|0)<0;B=(C*80|0)+80|0;E=(D|0)>(z|0)?z:D;D=-1;do{F=D+j|0;if((F|0)<0){F=0}else{F=(F|0)>(x|0)?x:F}F=n+((ga(A?0:E,o)|0)+F)|0;D=D+1|0;a[u+(B+D)|0]=a[F]|0;}while((D|0)<(y|0))}C=C+1|0;}while((C|0)<(w|0))}n=u+81|0;o=80}j=(g|0)!=0;if(!(f|j^1)){j=t|0;if((r|0)<9){Pc[c[e+216>>2]&15](l,m,n,o,p,q,g,h,j,r);i=s;return}else{Pc[c[e+296>>2]&15](l,m,n,o,p,q,g,h,j,r);i=s;return}}if(j){j=t|0;if((r|0)<9){Pc[c[e+208>>2]&15](l,m,n,o,p,q,g,h,j,r);i=s;return}else{Pc[c[e+288>>2]&15](l,m,n,o,p,q,g,h,j,r);i=s;return}}if(f){ec(10064,15536,268,17976)}j=t|0;if((r|0)<9){Pc[c[e+212>>2]&15](l,m,n,o,p,q,0,h,j,r);i=s;return}else{Pc[c[e+292>>2]&15](l,m,n,o,p,q,0,h,j,r);i=s;return}}function zi(e,f,g,h,i,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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;k=c[e+10060>>2]|0;q=c[e+10368>>2]|0;s=f>>q;q=g>>q;if(!((s|0)>-1)){ec(1232,544,118,17296);return 0}r=c[e+10372>>2]|0;if((s|0)>=(r|0)){ec(1232,544,118,17296);return 0}if(!((q|0)>-1)){ec(17016,544,119,17296);return 0}if((q|0)>=(c[e+10376>>2]|0)){ec(17016,544,119,17296);return 0}q=(ga(r,q)|0)+s|0;q=(c[e+10360>>2]|0)+(q*3|0)|0;q=((d[q]|d[q+1|0]<<8)<<16>>16&65535)>>>3&7;x=q&255;s=i-1|0;v=m+j|0;u=v-1|0;y=i>>k;r=(y|0)==(s>>k|0);if(r){if((j>>k|0)==(u>>k|0)){w=0;q=0}else{t=9}}else{t=9}do{if((t|0)==9){if((n|0)==1){if((x&3|0)==2|q<<24>>24==7){w=0;q=0;break}}if(!(ci(e,f,g,h,i,j,l,m,n,s,u)|0)){w=0;q=0;break}C=c[e+10388>>2]|0;q=s>>C;u=u>>C;if(!((q|0)>-1)){ec(1232,544,118,17296);return 0}w=c[e+10392>>2]|0;if((q|0)>=(w|0)){ec(1232,544,118,17296);return 0}if(!((u|0)>-1)){ec(17016,544,119,17296);return 0}if((u|0)<(c[e+10396>>2]|0)){q=(ga(w,u)|0)+q|0;w=o|0;q=(c[e+10380>>2]|0)+(q*12|0)|0;b[w>>1]=b[q>>1]|0;b[w+2>>1]=b[q+2>>1]|0;b[w+4>>1]=b[q+4>>1]|0;b[w+6>>1]=b[q+6>>1]|0;b[w+8>>1]=b[q+8>>1]|0;b[w+10>>1]=b[q+10>>1]|0;w=1;q=1;break}else{ec(17016,544,119,17296);return 0}}}while(0);if((w|0)>=(p|0)){C=w;return C|0}z=l+i|0;A=z-1|0;u=j-1|0;if((y|0)==(A>>k|0)){if((j>>k|0)==(u>>k|0)){A=w;w=0;x=0}else{t=22}}else{t=22}a:do{if((t|0)==22){if((n|0)==1){if((x|0)==5|(x|0)==4|(x|0)==1){A=w;w=0;x=0;break}}if(!(ci(e,f,g,h,i,j,l,m,n,A,u)|0)){A=w;w=0;x=0;break}x=c[e+10388>>2]|0;B=A>>x;x=u>>x;if(!((B|0)>-1)){ec(1232,544,118,17296);return 0}A=c[e+10392>>2]|0;if((B|0)>=(A|0)){ec(1232,544,118,17296);return 0}if(!((x|0)>-1)){ec(17016,544,119,17296);return 0}if((x|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}A=(ga(A,x)|0)+B|0;x=c[e+10380>>2]|0;b:do{if(q){B=0;while(1){C=a[o+B|0]|0;if(!(C<<24>>24==(a[x+(A*12|0)+B|0]|0))){break b}if(!(C<<24>>24==0)){if((b[o+4+(B<<2)>>1]|0)!=(b[x+(A*12|0)+4+(B<<2)>>1]|0)){break b}if((b[o+4+(B<<2)+2>>1]|0)!=(b[x+(A*12|0)+4+(B<<2)+2>>1]|0)){break b}if((a[o+2+B|0]|0)!=(a[x+(A*12|0)+2+B|0]|0)){break b}}B=B+1|0;if((B|0)>=2){A=w;w=0;x=1;break a}}}}while(0);C=o+(w*12|0)|0;A=x+(A*12|0)|0;b[C>>1]=b[A>>1]|0;b[C+2>>1]=b[A+2>>1]|0;b[C+4>>1]=b[A+4>>1]|0;b[C+6>>1]=b[A+6>>1]|0;b[C+8>>1]=b[A+8>>1]|0;b[C+10>>1]=b[A+10>>1]|0;A=w+1|0;x=1}}while(0);if((A|0)>=(p|0)){C=A;return C|0}if((y|0)==(z>>k|0)){if((j>>k|0)!=(u>>k|0)){t=42}}else{t=42}c:do{if((t|0)==42){if(!(ci(e,f,g,h,i,j,l,m,n,z,u)|0)){break}B=c[e+10388>>2]|0;y=z>>B;B=u>>B;if(!((y|0)>-1)){ec(1232,544,118,17296);return 0}z=c[e+10392>>2]|0;if((y|0)>=(z|0)){ec(1232,544,118,17296);return 0}if(!((B|0)>-1)){ec(17016,544,119,17296);return 0}if((B|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}z=(ga(z,B)|0)+y|0;y=c[e+10380>>2]|0;d:do{if(x){B=0;while(1){C=a[o+(w*12|0)+B|0]|0;if(!(C<<24>>24==(a[y+(z*12|0)+B|0]|0))){break d}if(!(C<<24>>24==0)){if((b[o+(w*12|0)+4+(B<<2)>>1]|0)!=(b[y+(z*12|0)+4+(B<<2)>>1]|0)){break d}if((b[o+(w*12|0)+4+(B<<2)+2>>1]|0)!=(b[y+(z*12|0)+4+(B<<2)+2>>1]|0)){break d}if((a[o+(w*12|0)+2+B|0]|0)!=(a[y+(z*12|0)+2+B|0]|0)){break d}}B=B+1|0;if((B|0)>=2){break c}}}}while(0);C=o+(A*12|0)|0;B=y+(z*12|0)|0;b[C>>1]=b[B>>1]|0;b[C+2>>1]=b[B+2>>1]|0;b[C+4>>1]=b[B+4>>1]|0;b[C+6>>1]=b[B+6>>1]|0;b[C+8>>1]=b[B+8>>1]|0;b[C+10>>1]=b[B+10>>1]|0;A=A+1|0}}while(0);if((A|0)>=(p|0)){C=A;return C|0}if(r){if((j>>k|0)!=(v>>k|0)){t=60}}else{t=60}e:do{if((t|0)==60){if(!(ci(e,f,g,h,i,j,l,m,n,s,v)|0)){break}C=c[e+10388>>2]|0;t=s>>C;v=v>>C;if(!((t|0)>-1)){ec(1232,544,118,17296);return 0}y=c[e+10392>>2]|0;if((t|0)>=(y|0)){ec(1232,544,118,17296);return 0}if(!((v|0)>-1)){ec(17016,544,119,17296);return 0}if((v|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}t=(ga(y,v)|0)+t|0;v=c[e+10380>>2]|0;f:do{if(q){z=0;while(1){y=a[o+z|0]|0;if(!(y<<24>>24==(a[v+(t*12|0)+z|0]|0))){break f}if(!(y<<24>>24==0)){if((b[o+4+(z<<2)>>1]|0)!=(b[v+(t*12|0)+4+(z<<2)>>1]|0)){break f}if((b[o+4+(z<<2)+2>>1]|0)!=(b[v+(t*12|0)+4+(z<<2)+2>>1]|0)){break f}if((a[o+2+z|0]|0)!=(a[v+(t*12|0)+2+z|0]|0)){break f}}z=z+1|0;if((z|0)>=2){break e}}}}while(0);C=o+(A*12|0)|0;B=v+(t*12|0)|0;b[C>>1]=b[B>>1]|0;b[C+2>>1]=b[B+2>>1]|0;b[C+4>>1]=b[B+4>>1]|0;b[C+6>>1]=b[B+6>>1]|0;b[C+8>>1]=b[B+8>>1]|0;b[C+10>>1]=b[B+10>>1]|0;A=A+1|0}}while(0);if((A|0)>=(p|0)|(A|0)==4){C=A;return C|0}do{if(r){if((j>>k|0)!=(u>>k|0)){break}return A|0}}while(0);if(!(ci(e,f,g,h,i,j,l,m,n,s,u)|0)){C=A;return C|0}l=c[e+10388>>2]|0;i=s>>l;l=u>>l;if(!((i|0)>-1)){ec(1232,544,118,17296);return 0}j=c[e+10392>>2]|0;if((i|0)>=(j|0)){ec(1232,544,118,17296);return 0}if(!((l|0)>-1)){ec(17016,544,119,17296);return 0}if((l|0)>=(c[e+10396>>2]|0)){ec(17016,544,119,17296);return 0}i=(ga(j,l)|0)+i|0;e=c[e+10380>>2]|0;g:do{if(x){j=0;do{l=a[o+(w*12|0)+j|0]|0;if(!(l<<24>>24==(a[e+(i*12|0)+j|0]|0))){break g}if(!(l<<24>>24==0)){if((b[o+(w*12|0)+4+(j<<2)>>1]|0)!=(b[e+(i*12|0)+4+(j<<2)>>1]|0)){break g}if((b[o+(w*12|0)+4+(j<<2)+2>>1]|0)!=(b[e+(i*12|0)+4+(j<<2)+2>>1]|0)){break g}if((a[o+(w*12|0)+2+j|0]|0)!=(a[e+(i*12|0)+2+j|0]|0)){break g}}j=j+1|0;}while((j|0)<2);return A|0}}while(0);h:do{if(q){j=0;do{l=a[o+j|0]|0;if(!(l<<24>>24==(a[e+(i*12|0)+j|0]|0))){break h}if(!(l<<24>>24==0)){if((b[o+4+(j<<2)>>1]|0)!=(b[e+(i*12|0)+4+(j<<2)>>1]|0)){break h}if((b[o+4+(j<<2)+2>>1]|0)!=(b[e+(i*12|0)+4+(j<<2)+2>>1]|0)){break h}if((a[o+2+j|0]|0)!=(a[e+(i*12|0)+2+j|0]|0)){break h}}j=j+1|0;}while((j|0)<2);return A|0}}while(0);C=o+(A*12|0)|0;B=e+(i*12|0)|0;b[C>>1]=b[B>>1]|0;b[C+2>>1]=b[B+2>>1]|0;b[C+4>>1]=b[B+4>>1]|0;b[C+6>>1]=b[B+6>>1]|0;b[C+8>>1]=b[B+8>>1]|0;b[C+10>>1]=b[B+10>>1]|0;C=A+1|0;return C|0}function Ai(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;l=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[l>>2];if((f|0)<-128){f=-128}else{f=(f|0)>127?127:f}if((g|0)<-128){g=-128}else{g=(g|0)>127?127:g}if((f|0)==0){k=d;l=a;C=e[k>>1]|e[k+2>>1]<<16;b[l>>1]=C;b[l+2>>1]=C>>16;l=0;i=h;return l|0}f=(ga(((((f|0)<0?-f|0:f)>>1)+16384|0)/(f|0)|0,g)|0)+32>>6;if((f|0)<-4096){f=-4096}else{f=(f|0)>4095?4095:f}k=ga(b[d>>1]|0,f)|0;j=(k|0)<0;if(j){l=-1}else{l=(k|0)>0|0}g=(j?-k|0:k)+127>>8;do{if((ga(g,l)|0)<-32768){g=-32768}else{if(j){l=-1}else{l=(k|0)>0|0}if((ga(g,l)|0)>32767){g=32767;break}if(j){j=-1}else{j=(k|0)>0|0}g=(ga(g,j)|0)&65535}}while(0);b[a>>1]=g;g=ga(b[d+2>>1]|0,f)|0;f=(g|0)<0;if(f){j=-1}else{j=(g|0)>0|0}d=(f?-g|0:g)+127>>8;do{if((ga(d,j)|0)<-32768){d=-32768}else{if(f){j=-1}else{j=(g|0)>0|0}if((ga(d,j)|0)>32767){d=32767;break}if(f){f=-1}else{f=(g|0)>0|0}d=(ga(d,f)|0)&65535}}while(0);b[a+2>>1]=d;l=1;i=h;return l|0}function Bi(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;s=i;i=i+8|0;k=s|0;j=k;if(!(Qc[c[(c[f>>2]|0)+12>>2]&63](f,l)|0)){ec(12928,15536,1074,18352)}t=f;l=Qc[c[(c[t>>2]|0)+8>>2]&63](f,l)|0;do{if((c[l+24>>2]|0)>(m|0)){if((c[l+28>>2]|0)<=(n|0)){break}v=c[l+10368>>2]|0;u=m>>v;v=n>>v;if(!((u|0)>-1)){ec(1232,544,118,17296)}w=c[l+10372>>2]|0;if((u|0)>=(w|0)){ec(1232,544,118,17296)}if(!((v|0)>-1)){ec(17016,544,119,17296)}if((v|0)>=(c[l+10376>>2]|0)){ec(17016,544,119,17296)}z=(ga(w,v)|0)+u|0;z=(c[l+10360>>2]|0)+(z*3|0)|0;if(((d[z]|d[z+1|0]<<8)<<16>>16&768)==0){b[q>>1]=0;b[q+2>>1]=0;a[r]=0;i=s;return}if((a[l+10516|0]|0)==1){b[q>>1]=0;b[q+2>>1]=0;a[r]=0;i=s;return}u=c[l+10388>>2]|0;w=m>>u;u=n>>u;if(!((w|0)>-1)){ec(1232,544,118,17296)}v=c[l+10392>>2]|0;if((w|0)>=(v|0)){ec(1232,544,118,17296)}if(!((u|0)>-1)){ec(17016,544,119,17296)}if((u|0)>=(c[l+10396>>2]|0)){ec(17016,544,119,17296)}v=(ga(v,u)|0)+w|0;u=c[l+10380>>2]|0;do{if((a[u+(v*12|0)|0]|0)==0){t=1;w=u+(v*12|0)+3|0;u=u+(v*12|0)+8|0}else{if((a[u+(v*12|0)+1|0]|0)==0){t=0;w=u+(v*12|0)+2|0;u=u+(v*12|0)+4|0;break}w=c[g+92>>2]|0;x=h+332|0;if((c[x>>2]|0)<1){z=1}else{y=0;z=1;do{A=(Qc[c[(c[t>>2]|0)+8>>2]&63](f,c[h+980+(y<<2)>>2]|0)|0)+92|0;z=z&(c[A>>2]|0)<=(w|0);y=y+1|0;}while(!((y|0)>=(c[x>>2]|0)|z^1))}x=h+328|0;if(!((c[x>>2]|0)<1|z^1)){y=0;do{A=(Qc[c[(c[t>>2]|0)+8>>2]&63](f,c[h+916+(y<<2)>>2]|0)|0)+92|0;z=z&(c[A>>2]|0)<=(w|0);y=y+1|0;}while(!((y|0)>=(c[x>>2]|0)|z^1))}if(z){t=p;w=u+(v*12|0)+2+p|0;u=u+(v*12|0)+4+(p<<2)|0;break}else{A=a[h+372|0]|0;t=A;w=u+(v*12|0)+2+A|0;u=u+(v*12|0)+4+(A<<2)|0;break}}}while(0);u=e[u>>1]|e[u+2>>1]<<16;v=a[w]|0;A=c[l+10348>>2]|0;m=m>>A;n=n>>A;if(!((m|0)>-1)){ec(1232,544,118,17296)}w=c[l+10352>>2]|0;if((m|0)>=(w|0)){ec(1232,544,118,17296)}if(!((n|0)>-1)){ec(17016,544,119,17296)}if((n|0)>=(c[l+10356>>2]|0)){ec(17016,544,119,17296)}m=(ga(w,n)|0)+m|0;m=c[(c[l+48>>2]|0)+(e[(c[l+10340>>2]|0)+(m*24|0)+2>>1]<<2)>>2]|0;n=h+1300+(p<<4)+o|0;if((a[n]|0)!=(a[m+1300+(t<<4)+v|0]|0)){a[r]=0;b[q>>1]=0;b[q+2>>1]=0;i=s;return}a[r]=1;r=(c[l+92>>2]|0)-(c[m+1044+(t<<6)+(v<<2)>>2]|0)|0;p=(c[g+92>>2]|0)-(c[h+1044+(p<<6)+(o<<2)>>2]|0)|0;if((a[n]|0)!=0|(r|0)==(p|0)){A=q;C=u;b[A>>1]=C;b[A+2>>1]=C>>16;i=s;return}c[k>>2]=u;if(Ai(q,j,r,p)|0){i=s;return}Ue(f+4|0,1008,0);a[g+10516|0]=3;i=s;return}}while(0);Ue(f+4|0,1026,0);a[r]=0;i=s;return}function Ci(d,e,f,g,h,i,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if((a[f+324|0]|0)==0){b[m>>1]=0;b[m+2>>1]=0;a[n]=0;return}p=c[e+5804>>2]|0;do{if((c[f+20>>2]|0)==0){if((a[f+372|0]|0)!=0){o=6;break}q=f+980+(c[f+376>>2]<<2)|0}else{o=6}}while(0);if((o|0)==6){q=f+916+(c[f+376>>2]<<2)|0}q=c[q>>2]|0;if(!(Qc[c[(c[d>>2]|0)+12>>2]&63](d,q)|0)){b[m>>1]=0;b[m+2>>1]=0;a[n]=0;Ue(d+4|0,1012,0);return}s=j+h|0;r=i+g|0;do{if((h>>p|0)==(s>>p|0)){if((r|0)>=(c[e+1248>>2]|0)){o=12;break}if((s|0)>=(c[e+1252>>2]|0)){o=12;break}Bi(d,e,f,0,0,q,r&-16,s&-16,k,l,m,n);if((a[n]|0)==0){break}return}else{o=12}}while(0);if((o|0)==12){b[m>>1]=0;b[m+2>>1]=0;a[n]=0}Bi(d,e,f,0,0,q,(i>>1)+g&-16,(j>>1)+h&-16,k,l,m,n);return}function Di(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=c[h>>2]|0;if(!((m|0)>1&(m|0)<(i|0))){return}j=ga(m-1|0,m)|0;k=d;o=0;l=1;a:while(1){while(1){if(!l){g=20;break a}q=c[30904+(o<<2)>>2]|0;r=c[30952+(o<<2)>>2]|0;if(!((q|0)<(m|0)&(r|0)<(m|0))){g=6;break a}t=g+(q*12|0)|0;if((a[t]|0)==0){p=0}else{p=Qc[c[(c[k>>2]|0)+8>>2]&63](d,c[f+916+(a[g+(q*12|0)+2|0]<<2)>>2]|0)|0}s=g+(r*12|0)+1|0;if((a[s]|0)==0){n=0}else{n=Qc[c[(c[k>>2]|0)+8>>2]&63](d,c[f+980+(a[g+(r*12|0)+3|0]<<2)>>2]|0)|0}t=a[t]|0;if(t<<24>>24!=0&(p|0)==0){g=20;break a}s=a[s]|0;if(s<<24>>24!=0&(n|0)==0){g=20;break a}b:do{if(!(t<<24>>24==0|s<<24>>24==0)){do{if((c[p+92>>2]|0)==(c[n+92>>2]|0)){if((b[g+(q*12|0)+4>>1]|0)!=(b[g+(r*12|0)+8>>1]|0)){break}if((b[g+(q*12|0)+6>>1]|0)==(b[g+(r*12|0)+10>>1]|0)){break b}}}while(0);p=c[h>>2]|0;a[g+(p*12|0)+2|0]=a[g+(q*12|0)+2|0]|0;a[g+(p*12|0)+3|0]=a[g+(r*12|0)+3|0]|0;a[g+(p*12|0)|0]=t;a[g+(p*12|0)+1|0]=s;t=g+(q*12|0)+4|0;s=g+(p*12|0)+4|0;C=e[t>>1]|e[t+2>>1]<<16;b[s>>1]=C;b[s+2>>1]=C>>16;s=g+(r*12|0)+8|0;t=g+(p*12|0)+8|0;C=e[s>>1]|e[s+2>>1]<<16;b[t>>1]=C;b[t+2>>1]=C>>16;c[h>>2]=(c[h>>2]|0)+1}}while(0);o=o+1|0;if((o|0)==(j|0)){o=j;l=0;continue a}if((c[h>>2]|0)==(i|0)){l=0;continue a}}}if((g|0)==6){ec(10064,15536,1360,18064)}else if((g|0)==20){return}}function Ei(d,e,f,g,h,j,k,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0;r=i;i=i+24|0;s=r|0;t=r+8|0;u=r+16|0;v=(c[f+10060>>2]|0)>2&(l|0)==8;n=v?l:n;m=v?l:m;k=v?h:k;j=v?g:j;p=p+1|0;o=zi(f,g,h,l,j,k,0,m,n,v?0:o,q,p)|0;c[s>>2]=o;do{if((o|0)<(p|0)){l=u|0;Ci(d,f,e,j,k,m,n,0,0,t|0,l);v=a[l]|0;h=u+1|0;a[h]=0;u=e+20|0;if((c[u>>2]|0)==0){Ci(d,f,e,j,k,m,n,0,1,t+4|0,h);f=a[h]|0;v=f|v}else{f=0}if(v<<24>>24==0){t=u;break}c[s>>2]=o+1;g=q+(o*12|0)+4|0;C=c[t>>2]|0;b[g>>1]=C;b[g+2>>1]=C>>16;g=q+(o*12|0)+8|0;C=c[t+4>>2]|0;b[g>>1]=C;b[g+2>>1]=C>>16;a[q+(o*12|0)|0]=a[l]|0;a[q+(o*12|0)+1|0]=f;a[q+(o*12|0)+2|0]=0;a[q+(o*12|0)+3|0]=0;t=u}else{t=e+20|0}}while(0);f=c[t>>2]|0;if((f|0)==0){Di(d,e,q,s,p);f=c[t>>2]|0}d=c[e+328>>2]|0;if((f|0)==1){e=d}else{e=c[e+332>>2]|0;e=(d|0)<(e|0)?d:e}m=c[s>>2]|0;if((m|0)<(p|0)){d=0}else{i=r;return}while(1){u=q+(m*12|0)|0;k=(d|0)<(e|0)?d&255:0;a[q+(m*12|0)+2|0]=k;n=q+(m*12|0)+3|0;if((f|0)==1){a[n]=-1;a[u|0]=1;a[q+(m*12|0)+1|0]=0}else{a[n]=k;a[u|0]=1;a[q+(m*12|0)+1|0]=1}g=q+(m*12|0)+4|0;h=g|0;C=0;b[h>>1]=C;b[h+2>>1]=C>>16;g=g+4|0;C=0;b[g>>1]=C;b[g+2>>1]=C>>16;m=m+1|0;if((m|0)>=(p|0)){break}d=d+1|0;f=c[t>>2]|0}c[s>>2]=m;i=r;return}function Fi(f,g,h,j,k,l,m,n,o,p,q,r,s,t,u){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=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;D=i;i=i+32|0;S=D|0;R=D+8|0;Q=D+16|0;U=D+24|0;T=U;x=i;i=i+12|0;i=i+7&-8;y=i;i=i+12|0;i=i+7&-8;w=i;i=i+3|0;i=i+7&-8;z=i;i=i+4|0;i=i+7&-8;v=z;E=t+1|0;a[E]=0;V=m-1|0;c[S>>2]=V;A=p+n|0;c[R>>2]=A;c[S+4>>2]=V;L=A-1|0;c[R+4>>2]=L;a[t]=0;b[u>>1]=0;b[u+2>>1]=0;A=ci(g,j,k,l,m,n,o,p,s,V,A)|0;P=A&1;a[Q|0]=P;L=ci(g,j,k,l,m,n,o,p,s,V,L)|0;a[Q+1|0]=L&1;L=A|L;A=f;B=h+916+(q<<6)+(r<<2)|0;F=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[B>>2]|0)|0;if((F|0)==0){i=D;return}H=c[F+92>>2]|0;W=g+10368|0;Z=g+10372|0;Y=g+10376|0;X=g+10360|0;G=1-q|0;I=g+10388|0;J=g+10392|0;K=g+10396|0;F=g+10380|0;M=u;N=0;O=-1;a:while(1){b:do{if(P<<24>>24==0){$=O}else{if((a[t]|0)!=0){$=O;break}_=c[S+(N<<2)>>2]|0;P=c[R+(N<<2)>>2]|0;ba=c[W>>2]|0;aa=_>>ba;ba=P>>ba;if(!((aa|0)>-1)){_=8;break a}$=c[Z>>2]|0;if((aa|0)>=($|0)){_=8;break a}if(!((ba|0)>-1)){_=11;break a}if((ba|0)>=(c[Y>>2]|0)){_=11;break a}ea=(ga($,ba)|0)+aa|0;ea=(c[X>>2]|0)+(ea*3|0)|0;if(((d[ea]|d[ea+1|0]<<8)<<16>>16&768)==0){$=O;break}ea=c[I>>2]|0;_=_>>ea;P=P>>ea;if(!((_|0)>-1)){_=15;break a}$=c[J>>2]|0;if((_|0)>=($|0)){_=15;break a}if(!((P|0)>-1)){_=18;break a}if((P|0)>=(c[K>>2]|0)){_=18;break a}aa=(ga($,P)|0)+_|0;$=c[F>>2]|0;_=$+(aa*12|0)+q|0;if((a[_]|0)==0){ba=0}else{ba=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[h+916+(q<<6)+(a[$+(aa*12|0)+2+q|0]<<2)>>2]|0)|0}ca=$+(aa*12|0)+G|0;if((a[ca]|0)==0){P=0}else{P=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[h+916+(G<<6)+(a[$+(aa*12|0)+2+G|0]<<2)>>2]|0)|0}do{if(!((a[_]|0)==0|(ba|0)==0)){if((c[ba+92>>2]|0)!=(H|0)){break}a[t]=1;ea=$+(aa*12|0)+4+(q<<2)|0;C=e[ea>>1]|e[ea+2>>1]<<16;b[M>>1]=C;b[M+2>>1]=C>>16;$=a[$+(aa*12|0)+2+q|0]|0;break b}}while(0);if((a[ca]|0)==0|(P|0)==0){$=O;break}if((c[P+92>>2]|0)!=(H|0)){$=O;break}a[t]=1;ea=$+(aa*12|0)+4+(G<<2)|0;C=e[ea>>1]|e[ea+2>>1]<<16;b[M>>1]=C;b[M+2>>1]=C>>16;$=a[$+(aa*12|0)+2+G|0]|0}}while(0);P=N+1|0;if((P|0)>=2){_=3;break}N=P;O=$;P=a[Q+P|0]|0}if((_|0)==3){N=h+1300+(q<<4)+r|0;r=g+92|0;O=f+4|0;P=g+10516|0;_=0;c:while(1){if((a[t]|0)!=0){_=62;break}d:do{if((a[Q+_|0]|0)==0){aa=-1}else{ba=c[S+(_<<2)>>2]|0;aa=c[R+(_<<2)>>2]|0;da=c[W>>2]|0;ea=ba>>da;da=aa>>da;if(!((ea|0)>-1)){_=35;break c}ca=c[Z>>2]|0;if((ea|0)>=(ca|0)){_=35;break c}if(!((da|0)>-1)){_=38;break c}if((da|0)>=(c[Y>>2]|0)){_=38;break c}ea=(ga(ca,da)|0)+ea|0;ea=(c[X>>2]|0)+(ea*3|0)|0;if(((d[ea]|d[ea+1|0]<<8)<<16>>16&768)==0){aa=-1;break}ca=c[I>>2]|0;ba=ba>>ca;ca=aa>>ca;if(!((ba|0)>-1)){_=42;break c}aa=c[J>>2]|0;if((ba|0)>=(aa|0)){_=42;break c}if(!((ca|0)>-1)){_=45;break c}if((ca|0)>=(c[K>>2]|0)){_=45;break c}ba=(ga(aa,ca)|0)+ba|0;aa=c[F>>2]|0;do{if((a[aa+(ba*12|0)+q|0]|0)==1){ca=aa+(ba*12|0)+2+q|0;if((a[N]|0)!=(a[(a[ca]|0)+(h+1300+(q<<4))|0]|0)){break}a[t]=1;$=aa+(ba*12|0)+4+(q<<2)|0;C=e[$>>1]|e[$+2>>1]<<16;b[M>>1]=C;b[M+2>>1]=C>>16;$=a[ca]|0;aa=q;break d}}while(0);if((a[aa+(ba*12|0)+G|0]|0)!=1){aa=-1;break}ca=aa+(ba*12|0)+2+G|0;if((a[N]|0)!=(a[(a[ca]|0)+(h+1300+(G<<4))|0]|0)){aa=-1;break}a[t]=1;$=aa+(ba*12|0)+4+(G<<2)|0;C=e[$>>1]|e[$+2>>1]<<16;b[M>>1]=C;b[M+2>>1]=C>>16;$=a[ca]|0;aa=G}}while(0);do{if((a[t]|0)==1){if(($|0)<0){_=54;break c}if(!((aa|0)>-1)){_=56;break c}ba=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[h+916+(aa<<6)+($<<2)>>2]|0)|0;Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[B>>2]|0)|0;if((a[h+1300+(aa<<4)+$|0]|0)!=0){break}if((a[N]|0)!=0){break}ea=c[r>>2]|0;da=ea-(c[ba+92>>2]|0)|0;c[U>>2]=e[M>>1]|e[M+2>>1]<<16;if(Ai(u,T,da,ea-H|0)|0){break}Ue(O,1008,0);a[P]=3}}while(0);_=_+1|0;if((_|0)>=2){_=62;break}}if((_|0)==35){ec(1232,544,118,17296)}else if((_|0)==38){ec(17016,544,119,17296)}else if((_|0)==42){ec(1232,544,118,17296)}else if((_|0)==45){ec(17016,544,119,17296)}else if((_|0)==54){a[E]=0;a[t]=0;i=D;return}else if((_|0)==56){ec(5136,15536,1698,18112)}else if((_|0)==62){ea=o+m|0;c[x>>2]=ea;U=n-1|0;c[y>>2]=U;c[x+4>>2]=ea-1;c[y+4>>2]=U;c[x+8>>2]=V;c[y+8>>2]=U;a[E]=0;Q=u+4|0;b[Q>>1]=0;b[u+6>>1]=0;u=Q;R=0;S=-1;V=ea;e:while(1){ea=ci(g,j,k,l,m,n,o,p,s,V,U)|0;a[w+R|0]=ea&1;f:do{if(ea){if((a[E]|0)!=0){break}ea=c[I>>2]|0;T=V>>ea;U=U>>ea;if(!((T|0)>-1)){_=67;break e}V=c[J>>2]|0;if((T|0)>=(V|0)){_=67;break e}if(!((U|0)>-1)){_=70;break e}if((U|0)>=(c[K>>2]|0)){_=70;break e}X=(ga(V,U)|0)+T|0;Y=c[F>>2]|0;W=Y+(X*12|0)+q|0;if((a[W]|0)==0){V=0}else{V=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[h+916+(q<<6)+(a[Y+(X*12|0)+2+q|0]<<2)>>2]|0)|0}U=Y+(X*12|0)+G|0;if((a[U]|0)==0){T=0}else{T=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[h+916+(G<<6)+(a[Y+(X*12|0)+2+G|0]<<2)>>2]|0)|0}do{if(!((a[W]|0)==0|(V|0)==0)){if((c[V+92>>2]|0)!=(H|0)){break}a[E]=1;S=Y+(X*12|0)+4+(q<<2)|0;C=e[S>>1]|e[S+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;S=a[Y+(X*12|0)+2+q|0]|0;break f}}while(0);if((a[U]|0)==0|(T|0)==0){break}if((c[T+92>>2]|0)!=(H|0)){break}a[E]=1;S=Y+(X*12|0)+4+(G<<2)|0;C=e[S>>1]|e[S+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;S=a[Y+(X*12|0)+2+G|0]|0}}while(0);T=R+1|0;if((T|0)>=3){_=83;break}R=T;V=c[x+(T<<2)>>2]|0;U=c[y+(T<<2)>>2]|0}if((_|0)==67){ec(1232,544,118,17296)}else if((_|0)==70){ec(17016,544,119,17296)}else if((_|0)==83){if(L){i=D;return}if((a[E]|0)!=0){a[t]=1;C=e[u>>1]|e[u+2>>1]<<16;b[M>>1]=C;b[M+2>>1]=C>>16}a[E]=0;g=g+10332|0;L=0;l=1;g:while(1){if(!l){_=115;break}h:do{if((a[w+L|0]|0)==0){l=-1}else{m=c[I>>2]|0;n=c[x+(L<<2)>>2]>>m;m=c[y+(L<<2)>>2]>>m;if(!((n|0)>-1)){_=91;break g}l=c[J>>2]|0;if((n|0)>=(l|0)){_=91;break g}if(!((m|0)>-1)){_=94;break g}if((m|0)>=(c[K>>2]|0)){_=94;break g}l=(ga(l,m)|0)+n|0;m=c[F>>2]|0;do{if((a[m+(l*12|0)+q|0]|0)==1){n=m+(l*12|0)+2+q|0;if((a[N]|0)!=(a[(a[n]|0)+(h+1300+(q<<4))|0]|0)){break}a[E]=1;S=m+(l*12|0)+4+(q<<2)|0;C=e[S>>1]|e[S+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;S=a[n]|0;l=q;break h}}while(0);if((a[m+(l*12|0)+G|0]|0)!=1){l=-1;break}n=m+(l*12|0)+2+G|0;if((a[N]|0)!=(a[(a[n]|0)+(h+1300+(G<<4))|0]|0)){l=-1;break}a[E]=1;S=m+(l*12|0)+4+(G<<2)|0;C=e[S>>1]|e[S+2>>1]<<16;b[u>>1]=C;b[u+2>>1]=C>>16;S=a[n]|0;l=G}}while(0);do{if((a[E]|0)==1){if((S|0)<0){_=103;break g}if(!((l|0)>-1)){_=105;break g}if(!((S|0)>-1)){_=107;break g}n=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[h+916+(l<<6)+(S<<2)>>2]|0)|0;m=Qc[c[(c[A>>2]|0)+8>>2]&63](f,c[B>>2]|0)|0;if((n|0)==0|(m|0)==0){Ue((c[g>>2]|0)+4|0,1012,0);a[P]=3;break}n=c[n+92>>2]|0;if(!((n|0)!=(c[m+92>>2]|0)&(a[h+1300+(l<<4)+S|0]|0)==0&(a[N]|0)==0)){break}ea=c[r>>2]|0;c[z>>2]=e[u>>1]|e[u+2>>1]<<16;if(Ai(Q,v,ea-n|0,ea-H|0)|0){break}Ue(O,1008,0);a[P]=3}}while(0);L=L+1|0;if((L|0)>=3){_=115;break}l=(a[E]|0)==0}if((_|0)==91){ec(1232,544,118,17296)}else if((_|0)==94){ec(17016,544,119,17296)}else if((_|0)==103){a[E]=0;a[t]=0;i=D;return}else if((_|0)==105){ec(5136,15536,1839,18112)}else if((_|0)==107){ec(3656,15536,1840,18112)}else if((_|0)==115){i=D;return}}}}else if((_|0)==8){ec(1232,544,118,17296)}else if((_|0)==11){ec(17016,544,119,17296)}else if((_|0)==15){ec(1232,544,118,17296)}else if((_|0)==18){ec(17016,544,119,17296)}}function Gi(d,e,f,g,h,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+32|0;w=s|0;v=s+8|0;u=s+16|0;t=s+24|0;x=t;z=w|0;Fi(d,f,e,g,h,j,k,l,m,n,o,p,q,z,v|0);q=(a[z]|0)==0;do{if(q){y=6}else{if((a[w+1|0]|0)==0){y=6;break}if((b[v>>1]|0)==(b[v+4>>1]|0)){if((b[v+2>>1]|0)==(b[v+6>>1]|0)){y=6;break}}a[u]=0}}while(0);if((y|0)==6){Ci(d,f,e,k,l,m,n,p,o,x,u)}if(q){m=0}else{m=r;C=c[v>>2]|0;b[m>>1]=C;b[m+2>>1]=C>>16;m=1}a:do{if((a[w+1|0]|0)!=0){do{if(!q){if((b[v>>1]|0)!=(b[v+4>>1]|0)){break}if((b[v+2>>1]|0)==(b[v+6>>1]|0)){break a}}}while(0);z=r+(m<<2)|0;C=c[v+4>>2]|0;b[z>>1]=C;b[z+2>>1]=C>>16;m=m+1|0}}while(0);if((a[u]|0)!=0){z=r+(m<<2)|0;C=c[t>>2]|0;b[z>>1]=C;b[z+2>>1]=C>>16;m=m+1|0}if((m|0)<2){do{b[r+(m<<2)>>1]=0;b[r+(m<<2)+2>>1]=0;m=m+1|0;}while((m|0)<2);i=s;return}if((m|0)==2){i=s;return}else{ec(2360,15536,1943,18152)}}function Hi(f,g,h,j,k,l,m,n,o,p,q,r,s){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;t=i;i=i+80|0;u=t|0;w=t+8|0;v=t+72|0;m=m+k|0;n=n+l|0;z=c[h+10368>>2]|0;x=k>>z;z=l>>z;if(!((x|0)>-1)){ec(1232,544,118,17296)}y=c[h+10372>>2]|0;if((x|0)>=(y|0)){ec(1232,544,118,17296)}if(!((z|0)>-1)){ec(17016,544,119,17296)}if((z|0)>=(c[h+10376>>2]|0)){ec(17016,544,119,17296)}x=(ga(y,z)|0)+x|0;x=(c[h+10360>>2]|0)+(x*3|0)|0;x=((d[x]|d[x+1|0]<<8)<<16>>16&65535)>>>8&255&3;if((x|0)==1){y=j+10|0;x=a[y]|0;if((x&16)==0){z=11}else{z=12}}else if((x|0)==2){x=a[j+10|0]|0;z=12}else{y=j+10|0;z=11}if((z|0)==11){w=u|0;x=0;do{z=a[y]&3;if((z<<24>>24|0)==3){z=20}else if((z<<24>>24|0)==2){if((x|0)==1){z=20}else{z=19}}else if((z<<24>>24|0)==1){if((x|0)==0){z=20}else{z=19}}else{z=19}if((z|0)==19){a[s+2+x|0]=-1;a[s+x|0]=0}else if((z|0)==20){B=a[j+x|0]|0;a[s+2+x|0]=B;a[s+x|0]=1;z=b[j+2+(x<<2)+2>>1]|0;A=e[j+2+(x<<2)>>1]|0;Gi(f,g,h,k,l,o,m,n,p,q,x,B<<24>>24,r,w);D=u+(((d[y]|0)>>>(((x|0)!=0?3:2)>>>0)&1)<<2)|0;D=e[D>>1]|e[D+2>>1]<<16;B=v+(x<<2)|0;C=D;b[B>>1]=C;b[B+2>>1]=C>>16;B=(b[v+(x<<2)+2>>1]|0)+z&65535;b[s+4+(x<<2)>>1]=D+A;b[s+4+(x<<2)+2>>1]=B}x=x+1|0;}while((x|0)<2);i=t;return}else if((z|0)==12){B=(x&255)>>>5&255;Ei(f,g,h,k,l,m,n,o,p,q,r,B,w|0);D=s|0;B=w+(B*12|0)|0;b[D>>1]=b[B>>1]|0;b[D+2>>1]=b[B+2>>1]|0;b[D+4>>1]=b[B+4>>1]|0;b[D+6>>1]=b[B+6>>1]|0;b[D+8>>1]=b[B+8>>1]|0;b[D+10>>1]=b[B+10>>1]|0;if((a[D]|0)==0){i=t;return}l=s+1|0;if((a[l]|0)==0){i=t;return}if((q+p|0)!=12){i=t;return}a[s+3|0]=-1;a[l]=0;i=t;return}}function Ii(a,b,c,d,e,f,g,h,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;n=i;i=i+16|0;o=n|0;Hi(a,b,c,d,e,f,g,h,j,k,l,m,o);ui(a,b,c,e,f,g,h,j,k,l,o);ai(c,g+e|0,h+f|0,k,l,o);i=n;return}function Ji(b,c){b=b|0;c=c|0;var d=0;od(c,1);d=(nd(c,6)|0)&255;a[b|0]=d;d=(nd(c,6)|0)&255;a[b+1|0]=d;c=(nd(c,3)|0)+255&255;a[b+2|0]=c;return}function Ki(a){a=a|0;return(a-19&255)>>>0<2>>>0|0}function Li(a){a=a|0;return(a-16&255)>>>0<3>>>0|0}function Mi(a){a=a|0;return(a&-2)<<24>>24==8|0}function Ni(a){a=a|0;return(a-16&255)>>>0<8>>>0|0}function Oi(a){a=a|0;return(a&-2)<<24>>24==6|0}function Pi(a){a=a|0;switch(a&255|0){case 0:case 2:case 4:case 6:case 8:case 10:case 12:case 14:{a=1;break};default:{a=0}}return a|0}function Qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a+32>>2]|0;a=(c[a+36>>2]|0)-e>>2;while(1){f=a-1|0;if(!((f|0)>-1)){a=0;d=4;break}if(((c[e+(f<<2)>>2]|0)-d|0)>(b|0)){a=f}else{d=4;break}}if((d|0)==4){return a|0}return 0}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+8|0;f=h|0;k=b+24|0;o=c[k>>2]|0;if((o-2|0)<=0){i=h;return}j=b+36|0;e=b+32|0;g=b+40|0;d=b+32|0;b=c[b+20>>2]|0;l=0;while(1){m=b+2|0;p=a[m]|0;do{if((p<<24>>24|0)==3|(p<<24>>24|0)==0){if((a[b]|0)!=0){break}n=b+1|0;if(!((a[n]|0)==0&p<<24>>24==3)){break}p=c[j>>2]|0;o=l+2+(p-(c[e>>2]|0)>>2)|0;c[f>>2]=o;if((p|0)==(c[g>>2]|0)){fj(d,f)}else{if((p|0)!=0){c[p>>2]=o}c[j>>2]=p+4}fv(m|0,b+3|0,-3-l+(c[k>>2]|0)|0)|0;o=(c[k>>2]|0)-1|0;c[k>>2]=o;l=l+1|0;b=n}else{l=l+2|0;b=m}}while(0);l=l+1|0;if((l|0)<(o-2|0)){b=b+1|0}else{break}}i=h;return}function Si(b){b=b|0;a[b|0]=0;a[b+1|0]=0;dv(b+4|0,0,48)|0;return}function Ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+32|0;b=a+16|0;f=a+28|0;e=a+36|0;while(1){h=c[g>>2]|0;if((h|0)==0){break}d=c[b>>2]|0;j=c[f>>2]|0;i=c[(c[d+(j>>>10<<2)>>2]|0)+((j&1023)<<2)>>2]|0;c[g>>2]=h-1;j=j+1|0;c[f>>2]=j;if(j>>>0>2047>>>0){Pu(c[d>>2]|0);c[b>>2]=(c[b>>2]|0)+4;c[f>>2]=(c[f>>2]|0)-1024}c[e>>2]=(c[e>>2]|0)-(c[i+24>>2]|0);if((i|0)==0){break}Vi(a,i)}d=c[a+8>>2]|0;if((d|0)!=0){Vi(a,d)}d=a+44|0;i=c[d>>2]|0;e=a+40|0;h=c[e>>2]|0;if((i|0)==(h|0)){e=i;g=i}else{f=0;while(1){g=c[h+(f<<2)>>2]|0;if((g|0)==0){g=h}else{Hu(c[g+20>>2]|0);h=c[g+32>>2]|0;if((h|0)!=0){i=g+36|0;j=c[i>>2]|0;if((j|0)!=(h|0)){c[i>>2]=j+(~((j-4+(-h|0)|0)>>>2)<<2)}Pu(h)}Pu(g|0);i=c[d>>2]|0;g=c[e>>2]|0}f=f+1|0;h=g;if(f>>>0<i-h>>2>>>0){h=g}else{e=i;break}}}if((g|0)!=0){if((e|0)!=(g|0)){c[d>>2]=e+(~((e-4+(-h|0)|0)>>>2)<<2)}Pu(g)}d=a+12|0;gj(d|0);f=c[b>>2]|0;a=a+20|0;e=c[a>>2]|0;do{if((f|0)!=(e|0)){do{Pu(c[f>>2]|0);f=f+4|0;}while((f|0)!=(e|0));e=c[b>>2]|0;b=c[a>>2]|0;if((b|0)==(e|0)){break}c[a>>2]=b+(~((b-4+(-e|0)|0)>>>2)<<2)}}while(0);b=c[d>>2]|0;if((b|0)==0){return}Pu(b);return}function Ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=a+32|0;b=c[d>>2]|0;if((b|0)==0){h=0;return h|0}g=a+16|0;h=c[g>>2]|0;f=a+28|0;i=c[f>>2]|0;e=c[(c[h+(i>>>10<<2)>>2]|0)+((i&1023)<<2)>>2]|0;c[d>>2]=b-1;d=i+1|0;c[f>>2]=d;if(d>>>0>2047>>>0){Pu(c[h>>2]|0);c[g>>2]=(c[g>>2]|0)+4;c[f>>2]=(c[f>>2]|0)-1024}i=a+36|0;c[i>>2]=(c[i>>2]|0)-(c[e+24>>2]|0);i=e;return i|0}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+8|0;h=d|0;c[h>>2]=b;if((b|0)==0){i=d;return}f=a+40|0;e=a+44|0;g=c[e>>2]|0;if(!(g-(c[f>>2]|0)>>2>>>0<16>>>0)){Hu(c[b+20>>2]|0);e=c[b+32>>2]|0;if((e|0)!=0){a=b+36|0;f=c[a>>2]|0;if((f|0)!=(e|0)){c[a>>2]=f+(~((f-4+(-e|0)|0)>>>2)<<2)}Pu(e)}Pu(b|0);i=d;return}if((g|0)==(c[a+48>>2]|0)){ej(f,h);i=d;return}if((g|0)==0){b=0}else{c[g>>2]=b;b=c[e>>2]|0}c[e>>2]=b+4;i=d;return}function Wi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+44|0;e=c[f>>2]|0;if((e|0)==(c[b+40>>2]|0)){f=Nu(48)|0;a[f]=0;a[f+1|0]=0;a[f+2|0]=0;i=f+32|0;c[i>>2]=0;h=f+36|0;c[h>>2]=0;j=f+40|0;c[j>>2]=0;e=Nu(64)|0;g=e;c[h>>2]=g;c[i>>2]=g;i=e+64|0;c[j>>2]=i;if((e|0)!=0){c[g>>2]=0}dv(e+4|0,0,60)|0;c[h>>2]=i;dv(f+8|0,0,24)|0}else{i=e-4|0;j=c[i>>2]|0;c[f>>2]=e+(~((i+(-i|0)|0)>>>2)<<2);f=j}a[f|0]=0;a[f+1|0]=0;a[f+2|0]=0;e=f+8|0;c[e>>2]=0;c[e+4>>2]=0;c[f+16>>2]=0;e=f+24|0;c[e>>2]=0;h=c[f+32>>2]|0;g=f+36|0;i=c[g>>2]|0;if((i|0)!=(h|0)){c[g>>2]=i+(~((i-4+(-h|0)|0)>>>2)<<2)}h=f+28|0;if((c[h>>2]|0)>=(d|0)){j=f;return j|0}g=Gu(d)|0;if((g|0)==0){Vi(b,f);j=0;return j|0}b=f+20|0;i=c[b>>2]|0;if((i|0)!=0){cv(g|0,i|0,c[e>>2]|0)|0;Hu(i)}c[b>>2]=g;c[h>>2]=d;j=f;return j|0}function Xi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,A=0,B=0;j=i;i=i+8|0;k=j|0;a[b+1|0]=0;m=b+8|0;v=c[m>>2]|0;l=e+3|0;do{if((v|0)==0){n=Wi(b,l)|0;c[m>>2]=n;if((n|0)==0){B=7;i=j;return B|0}else{v=n+8|0;c[v>>2]=f;c[v+4>>2]=g;c[n+16>>2]=h;v=c[m>>2]|0;break}}}while(0);q=v+24|0;p=c[q>>2]|0;n=l+p|0;o=v+28|0;if((c[o>>2]|0)<(n|0)){p=Gu(n)|0;if((p|0)==0){B=7;i=j;return B|0}s=v+20|0;r=c[s>>2]|0;if((r|0)!=0){cv(p|0,r|0,c[q>>2]|0)|0;Hu(r)}c[s>>2]=p;c[o>>2]=n;n=c[q>>2]|0}else{n=p;p=c[v+20>>2]|0}x=p+n|0;do{if((e|0)>0){t=b+4|0;q=b+12|0;p=b+20|0;o=b+16|0;n=b+28|0;s=b+32|0;r=b+36|0;u=1;a:while(1){w=c[t>>2]|0;b:do{switch(w|0){case 3:{a[x]=a[d]|0;c[t>>2]=4;x=x+1|0;w=v;break};case 4:{a[x]=a[d]|0;c[t>>2]=5;x=x+1|0;w=v;break};case 5:{w=a[d]|0;if(w<<24>>24==0){c[t>>2]=6;w=v;break b}else{a[x]=w;x=x+1|0;w=v;break b}};case 0:case 1:{if((a[d]|0)==0){c[t>>2]=w+1;w=v;break b}else{c[t>>2]=0;w=v;break b}};case 2:{w=a[d]|0;if((w<<24>>24|0)==1){c[t>>2]=3;w=v;break b}else if((w<<24>>24|0)==0){w=v;break b}else{c[t>>2]=0;w=v;break b}};case 7:{w=a[d]|0;if((w<<24>>24|0)==0){a[x]=0;x=x+1|0;w=v;break b}else if((w<<24>>24|0)==3){a[x]=0;w=x+2|0;a[x+1|0]=0;c[t>>2]=5;x=v+36|0;y=c[x>>2]|0;z=(y-(c[v+32>>2]|0)>>2)+(w-(c[v+20>>2]|0))|0;c[k>>2]=z;if((y|0)==(c[v+40>>2]|0)){fj(v+32|0,k);x=w;w=v;break b}if((y|0)!=0){c[y>>2]=z}c[x>>2]=y+4;x=w;w=v;break b}else if((w<<24>>24|0)==1){w=v+24|0;c[w>>2]=x-(c[v+20>>2]|0);y=c[p>>2]|0;z=c[o>>2]|0;if((y|0)==(z|0)){B=0}else{B=(y-z<<8)-1|0}A=c[n>>2]|0;x=c[s>>2]|0;if((B-A|0)==(x|0)){$i(q);x=c[s>>2]|0;A=c[n>>2]|0;z=c[o>>2]|0;y=c[p>>2]|0}A=x+A|0;do{if((y|0)!=(z|0)){y=(c[z+(A>>>10<<2)>>2]|0)+((A&1023)<<2)|0;if((y|0)==0){break}c[y>>2]=v}}while(0);c[s>>2]=x+1;c[r>>2]=(c[r>>2]|0)+(c[w>>2]|0);v=Wi(b,l)|0;c[m>>2]=v;if((v|0)==0){k=7;e=48;break a}w=v+8|0;c[w>>2]=f;c[w+4>>2]=g;c[v+16>>2]=h;w=c[m>>2]|0;x=c[w+20>>2]|0;c[t>>2]=3;break b}else{a[x]=0;a[x+1|0]=0;a[x+2|0]=a[d]|0;c[t>>2]=5;x=x+3|0;w=v;break b}};case 6:{if((a[d]|0)==0){c[t>>2]=7;w=v;break b}else{a[x]=0;a[x+1|0]=a[d]|0;c[t>>2]=5;x=x+2|0;w=v;break b}};default:{w=v}}}while(0);if((u|0)>=(e|0)){e=46;break}d=d+1|0;v=w;u=u+1|0}if((e|0)==46){v=w;p=c[w+20>>2]|0;break}else if((e|0)==48){i=j;return k|0}}}while(0);c[v+24>>2]=x-p;B=0;i=j;return B|0}function Yi(b,d,e,f,g,h){b=b|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;if((c[b+8>>2]|0)!=0){ec(6496,15256,375,17864);return 0}a[b+1|0]=0;i=Wi(b,e)|0;do{if((i|0)!=0){m=i+28|0;if((c[m>>2]|0)<(e|0)){k=Gu(e)|0;if((k|0)==0){break}j=i+20|0;l=c[j>>2]|0;if((l|0)!=0){cv(k|0,l|0,c[i+24>>2]|0)|0;Hu(l)}c[j>>2]=k;c[m>>2]=e}else{k=c[i+20>>2]|0}cv(k|0,d|0,e)|0;d=i+24|0;c[d>>2]=e;j=i+8|0;c[j>>2]=f;c[j+4>>2]=g;c[i+16>>2]=h;Ri(i);g=b+20|0;f=c[g>>2]|0;j=b+16|0;k=c[j>>2]|0;if((f|0)==(k|0)){n=0}else{n=(f-k<<8)-1|0}l=b+28|0;m=c[l>>2]|0;h=b+32|0;e=c[h>>2]|0;if((n-m|0)==(e|0)){$i(b+12|0);e=c[h>>2]|0;m=c[l>>2]|0;k=c[j>>2]|0;f=c[g>>2]|0}g=e+m|0;do{if((f|0)!=(k|0)){f=(c[k+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((f|0)==0){break}c[f>>2]=i}}while(0);c[h>>2]=e+1;n=b+36|0;c[n>>2]=(c[n>>2]|0)+(c[d>>2]|0);n=0;return n|0}}while(0);Vi(b,i);n=7;return n|0}function Zi(b){b=b|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;f=b+8|0;d=c[f>>2]|0;if((d|0)==0){o=0;return o|0}e=b+4|0;g=c[e>>2]|0;if((g|0)==6){g=d+24|0;l=c[g>>2]|0;j=l+1|0;k=d+28|0;if((c[k>>2]|0)<(j|0)){h=Gu(j)|0;if((h|0)==0){o=7;return o|0}i=d+20|0;m=c[i>>2]|0;if((m|0)!=0){cv(h|0,m|0,l)|0;Hu(m);l=c[g>>2]|0}c[i>>2]=h;c[k>>2]=j}else{h=c[d+20>>2]|0}a[h+l|0]=0;c[g>>2]=(c[g>>2]|0)+1;g=c[e>>2]|0}if((g|0)==7){g=d+24|0;l=c[g>>2]|0;k=l+2|0;i=d+28|0;if((c[i>>2]|0)<(k|0)){h=Gu(k)|0;if((h|0)==0){o=7;return o|0}j=d+20|0;m=c[j>>2]|0;if((m|0)!=0){cv(h|0,m|0,l)|0;Hu(m);l=c[g>>2]|0}c[j>>2]=h;c[i>>2]=k}else{h=c[d+20>>2]|0}o=h+l|0;C=0;a[o]=C;C=C>>8;a[o+1|0]=C;c[g>>2]=(c[g>>2]|0)+2;g=c[e>>2]|0}if((g|0)>4){j=b+20|0;i=c[j>>2]|0;l=b+16|0;k=c[l>>2]|0;if((i|0)==(k|0)){o=0}else{o=(i-k<<8)-1|0}n=b+28|0;m=c[n>>2]|0;g=b+32|0;h=c[g>>2]|0;if((o-m|0)==(h|0)){$i(b+12|0);h=c[g>>2]|0;m=c[n>>2]|0;k=c[l>>2]|0;i=c[j>>2]|0}j=h+m|0;do{if((i|0)!=(k|0)){i=(c[k+(j>>>10<<2)>>2]|0)+((j&1023)<<2)|0;if((i|0)==0){break}c[i>>2]=d}}while(0);c[g>>2]=h+1;o=b+36|0;c[o>>2]=(c[o>>2]|0)+(c[d+24>>2]|0);c[f>>2]=0}c[e>>2]=0;o=0;return o|0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=0){Vi(a,b);c[d>>2]=0}e=a+32|0;g=c[e>>2]|0;if((g|0)==0){i=a+36|0;h=a+4|0;c[h>>2]=0;c[i>>2]=0;return}d=a+16|0;b=a+28|0;f=a+36|0;while(1){i=c[d>>2]|0;j=c[b>>2]|0;h=c[(c[i+(j>>>10<<2)>>2]|0)+((j&1023)<<2)>>2]|0;c[e>>2]=g-1;g=j+1|0;c[b>>2]=g;if(g>>>0>2047>>>0){Pu(c[i>>2]|0);c[d>>2]=(c[d>>2]|0)+4;c[b>>2]=(c[b>>2]|0)-1024}c[f>>2]=(c[f>>2]|0)-(c[h+24>>2]|0);if((h|0)==0){b=10;break}Vi(a,h);g=c[e>>2]|0;if((g|0)==0){b=10;break}}if((b|0)==10){j=a+4|0;c[j>>2]=0;c[f>>2]=0;return}}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+48|0;m=b|0;l=b+8|0;h=b+16|0;j=b+40|0;e=a+16|0;d=c[e>>2]|0;if(d>>>0>1023>>>0){c[e>>2]=d-1024;g=a+4|0;j=c[g>>2]|0;e=c[j>>2]|0;m=j+4|0;c[g>>2]=m;d=a+8|0;h=c[d>>2]|0;f=a+12|0;do{if((h|0)==(c[f>>2]|0)){a=a|0;n=c[a>>2]|0;if(m>>>0>n>>>0){q=m;f=((q-n>>2)+1|0)/-2|0;h=h-q|0;fv(j+(f+1<<2)|0,m|0,h|0)|0;h=j+((h>>2)+1+f<<2)|0;c[d>>2]=h;c[g>>2]=(c[g>>2]|0)+(f<<2);f=13;break}j=h-n>>1;j=(j|0)==0?1:j;l=Nu(j<<2)|0;k=l+(j>>>2<<2)|0;j=l+(j<<2)|0;if((m|0)==(h|0)){h=k}else{n=k;do{if((n|0)==0){n=0}else{c[n>>2]=c[m>>2]}n=n+4|0;m=m+4|0;}while((m|0)!=(h|0));h=n;n=c[a>>2]|0}c[a>>2]=l;c[g>>2]=k;c[d>>2]=h;c[f>>2]=j;if((n|0)==0){f=12;break}Pu(n);h=c[d>>2]|0;f=12}else{f=12}}while(0);if((f|0)==12){if((h|0)==0){e=0}else{f=13}}if((f|0)==13){c[h>>2]=e;e=c[d>>2]|0}c[d>>2]=e+4;i=b;return}p=a|0;d=a+8|0;n=c[d>>2]|0;f=a+4|0;k=n-(c[f>>2]|0)>>2;e=a+12|0;o=c[e>>2]|0;g=a|0;q=o-(c[g>>2]|0)|0;if(!(k>>>0<q>>2>>>0)){l=q>>1;q=(l|0)==0?1:l;l=h+12|0;c[h+16>>2]=a+12;p=Nu(q<<2)|0;m=h|0;c[m>>2]=p;o=p+(k<<2)|0;a=h+8|0;c[a>>2]=o;k=h+4|0;c[k>>2]=o;c[l>>2]=p+(q<<2);q=Nu(4096)|0;c[j>>2]=q;cj(h,j);j=c[d>>2]|0;while(1){if((j|0)==(c[f>>2]|0)){break}q=j-4|0;dj(h,q);j=q}h=c[g>>2]|0;c[g>>2]=c[m>>2];c[m>>2]=h;c[f>>2]=c[k>>2];c[k>>2]=j;f=c[d>>2]|0;c[d>>2]=c[a>>2];c[a>>2]=f;q=c[e>>2]|0;c[e>>2]=c[l>>2];c[l>>2]=q;if((f|0)!=(j|0)){c[a>>2]=f+(~((f-4+(-j|0)|0)>>>2)<<2)}if((h|0)==0){i=b;return}Pu(h);i=b;return}a=Nu(4096)|0;if((o|0)!=(n|0)){c[m>>2]=a;aj(p,m);i=b;return}c[l>>2]=a;bj(p,l);h=c[f>>2]|0;a=c[h>>2]|0;n=h+4|0;c[f>>2]=n;l=c[d>>2]|0;do{if((l|0)==(c[e>>2]|0)){m=c[g>>2]|0;if(n>>>0>m>>>0){p=n;q=((p-m>>2)+1|0)/-2|0;l=l-p|0;fv(h+(q+1<<2)|0,n|0,l|0)|0;l=h+((l>>2)+1+q<<2)|0;c[d>>2]=l;c[f>>2]=(c[f>>2]|0)+(q<<2);f=29;break}h=l-m>>1;h=(h|0)==0?1:h;k=Nu(h<<2)|0;j=k+(h>>>2<<2)|0;h=k+(h<<2)|0;if((n|0)==(l|0)){l=j}else{m=j;do{if((m|0)==0){m=0}else{c[m>>2]=c[n>>2]}m=m+4|0;n=n+4|0;}while((n|0)!=(l|0));l=m;m=c[g>>2]|0}c[g>>2]=k;c[f>>2]=j;c[d>>2]=l;c[e>>2]=h;if((m|0)==0){f=28;break}Pu(m);l=c[d>>2]|0;f=28}else{f=28}}while(0);if((f|0)==28){if((l|0)==0){e=0}else{f=29}}if((f|0)==29){c[l>>2]=a;e=c[d>>2]|0}c[d>>2]=e+4;i=b;return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;h=c[d>>2]|0;e=a+12|0;do{if((h|0)==(c[e>>2]|0)){f=a+4|0;k=c[f>>2]|0;a=a|0;l=c[a>>2]|0;if(k>>>0>l>>>0){j=k;l=((j-l>>2)+1|0)/-2|0;h=h-j|0;fv(k+(l<<2)|0,k|0,h|0)|0;h=k+(l+(h>>2)<<2)|0;c[d>>2]=h;c[f>>2]=(c[f>>2]|0)+(l<<2);break}g=h-l>>1;j=(g|0)==0?1:g;i=Nu(j<<2)|0;g=i+(j>>>2<<2)|0;j=i+(j<<2)|0;if((k|0)==(h|0)){h=g}else{l=g;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(h|0));h=l;l=c[a>>2]|0}c[a>>2]=i;c[f>>2]=g;c[d>>2]=h;c[e>>2]=j;if((l|0)==0){break}Pu(l);h=c[d>>2]|0}}while(0);if((h|0)==0){l=0;l=l+4|0;c[d>>2]=l;return}c[h>>2]=c[b>>2];l=c[d>>2]|0;l=l+4|0;c[d>>2]=l;return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;k=c[d>>2]|0;e=a|0;do{if((k|0)==(c[e>>2]|0)){f=a+8|0;g=c[f>>2]|0;a=a+12|0;l=c[a>>2]|0;h=l;if(g>>>0<l>>>0){j=g;l=((h-j>>2)+1|0)/2|0;j=j-k|0;i=g+(l-(j>>2)<<2)|0;fv(i|0,k|0,j|0)|0;c[d>>2]=i;c[f>>2]=(c[f>>2]|0)+(l<<2);break}h=h-k>>1;j=(h|0)==0?1:h;h=Nu(j<<2)|0;i=h+((j+3|0)>>>2<<2)|0;j=h+(j<<2)|0;if((k|0)==(g|0)){l=i}else{l=i;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(g|0));k=c[e>>2]|0}c[e>>2]=h;c[d>>2]=i;c[f>>2]=l;c[a>>2]=j;if((k|0)==0){break}Pu(k);i=c[d>>2]|0}else{i=k}}while(0);c[i-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;h=c[d>>2]|0;e=a+12|0;do{if((h|0)==(c[e>>2]|0)){f=a+4|0;k=c[f>>2]|0;a=a|0;l=c[a>>2]|0;if(k>>>0>l>>>0){j=k;l=((j-l>>2)+1|0)/-2|0;h=h-j|0;fv(k+(l<<2)|0,k|0,h|0)|0;h=k+(l+(h>>2)<<2)|0;c[d>>2]=h;c[f>>2]=(c[f>>2]|0)+(l<<2);break}g=h-l>>1;j=(g|0)==0?1:g;i=Nu(j<<2)|0;g=i+(j>>>2<<2)|0;j=i+(j<<2)|0;if((k|0)==(h|0)){h=g}else{l=g;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(h|0));h=l;l=c[a>>2]|0}c[a>>2]=i;c[f>>2]=g;c[d>>2]=h;c[e>>2]=j;if((l|0)==0){break}Pu(l);h=c[d>>2]|0}}while(0);if((h|0)==0){l=0;l=l+4|0;c[d>>2]=l;return}c[h>>2]=c[b>>2];l=c[d>>2]|0;l=l+4|0;c[d>>2]=l;return}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;k=c[d>>2]|0;e=a|0;do{if((k|0)==(c[e>>2]|0)){f=a+8|0;g=c[f>>2]|0;a=a+12|0;l=c[a>>2]|0;h=l;if(g>>>0<l>>>0){j=g;l=((h-j>>2)+1|0)/2|0;j=j-k|0;i=g+(l-(j>>2)<<2)|0;fv(i|0,k|0,j|0)|0;c[d>>2]=i;c[f>>2]=(c[f>>2]|0)+(l<<2);break}h=h-k>>1;j=(h|0)==0?1:h;h=Nu(j<<2)|0;i=h+((j+3|0)>>>2<<2)|0;j=h+(j<<2)|0;if((k|0)==(g|0)){l=i}else{l=i;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(g|0));k=c[e>>2]|0}c[e>>2]=h;c[d>>2]=i;c[f>>2]=l;c[a>>2]=j;if((k|0)==0){break}Pu(k);i=c[d>>2]|0}else{i=k}}while(0);c[i-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=a+4|0;f=c[e>>2]|0;b=a+16|0;j=c[b>>2]|0;i=f+(j>>>10<<2)|0;d=a+8|0;h=c[d>>2]|0;if((h|0)==(f|0)){g=0;j=0;a=a+20|0}else{a=a+20|0;g=j+(c[a>>2]|0)|0;g=(c[f+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;j=(c[i>>2]|0)+((j&1023)<<2)|0}a:while(1){do{if((j|0)==(g|0)){break a}j=j+4|0;}while((j-(c[i>>2]|0)|0)!=4096);j=i+4|0;i=j;j=c[j>>2]|0}c[a>>2]=0;g=h-f>>2;if(g>>>0>2>>>0){do{Pu(c[f>>2]|0);f=(c[e>>2]|0)+4|0;c[e>>2]=f;g=(c[d>>2]|0)-f>>2;}while(g>>>0>2>>>0)}if((g|0)==2){c[b>>2]=1024;return}else if((g|0)==1){c[b>>2]=512;return}else{return}}
-
-
-
-function ff(e,f,g){e=e|0;f=f|0;g=g|0;var h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;j=i;i=i+40|0;l=j|0;m=j+16|0;t=j+32|0;k=l|0;c[k>>2]=0;h=l+4|0;c[h>>2]=0;o=l+8|0;c[o>>2]=0;n=f+376220|0;q=c[c[n>>2]>>2]|0;r=f+377208|0;a:do{if(Ni(a[r]|0)|0){if((a[f+376205|0]|0)==0){break}B=c[n>>2]|0;s=c[B+92>>2]|0;w=e+376156|0;A=c[w>>2]|0;x=e+376152|0;z=c[x>>2]|0;if((A-z|0)<=0){break}v=f+376156|0;u=f+376152|0;y=0;b:while(1){C=c[u>>2]|0;if((c[v>>2]|0)-C>>2>>>0>y>>>0){D=c[C+(y<<2)>>2]|0}else{D=0}do{if((c[D+96>>2]|0)!=0){if((c[D+92>>2]|0)>=(s|0)){break}C=D+104|0;if(!((c[C>>2]|0)>>>0>(c[B>>2]|0)>>>0)){break}F=c[D>>2]|0;E=c[h>>2]|0;I=c[o>>2]|0;do{if(E>>>0<I>>>0){if((E|0)!=0){c[E>>2]=F}c[h>>2]=E+4}else{D=c[k>>2]|0;J=D;E=E-J|0;H=E>>2;G=H+1|0;if(G>>>0>1073741823>>>0){break b}I=I-J|0;if(I>>2>>>0<536870911>>>0){I=I>>1;J=I>>>0<G>>>0?G:I;if((J|0)==0){I=0;J=0}else{p=20}}else{J=1073741823;p=20}if((p|0)==20){p=0;I=Nu(J<<2)|0}H=I+(H<<2)|0;if((H|0)!=0){c[H>>2]=F}F=D;cv(I|0,F|0,E)|0;c[k>>2]=I;c[h>>2]=I+(G<<2);c[o>>2]=I+(J<<2);if((D|0)==0){break}Pu(F);B=c[n>>2]|0;A=c[w>>2]|0;z=c[x>>2]|0}}while(0);c[C>>2]=c[B>>2]}}while(0);y=y+1|0;if((y|0)>=(A-z>>2|0)){break a}}Nr(0)}}while(0);if(Ki(a[r]|0)|0){dv(f+376548|0,0,20)|0}else{r=g+908|0;if((a[r]|0)==0){u=0;s=0}else{u=0;s=0;v=0;do{w=(b[g+812+(v<<1)>>1]|0)+(c[(c[n>>2]|0)+92>>2]|0)|0;if((a[g+876+v|0]|0)==0){c[f+376696+(u<<2)>>2]=w;u=u+1|0}else{c[f+376568+(s<<2)>>2]=w;s=s+1|0}v=v+1|0;}while((v|0)<(d[r]|0))}c[f+376548>>2]=s;r=g+909|0;if((a[r]|0)==0){s=0}else{s=0;v=0;do{w=(b[g+844+(v<<1)>>1]|0)+(c[(c[n>>2]|0)+92>>2]|0)|0;if((a[g+892+v|0]|0)==0){c[f+376696+(u<<2)>>2]=w;u=u+1|0}else{c[f+376632+(s<<2)>>2]=w;s=s+1|0}v=v+1|0;}while((v|0)<(d[r]|0))}c[f+376552>>2]=s;c[f+376556>>2]=u;s=g+140|0;r=g+144|0;if(((c[r>>2]|0)+(c[s>>2]|0)|0)>0){u=g+28|0;v=f+375388|0;x=0;y=0;w=0;do{A=c[f+376228+(w<<2)>>2]|0;z=g+244+w|0;if((a[z]|0)!=0){A=(c[(c[n>>2]|0)+92>>2]|0)+A-(c[u>>2]|0)-(ga(c[(c[v>>2]|0)+5032>>2]|0,c[f+376356+(w<<2)>>2]|0)|0)|0}if((c[f+376292+(w<<2)>>2]|0)==0){c[f+376824+(x<<2)>>2]=A;c[f+376484+(x<<2)>>2]=a[z]|0;x=x+1|0}else{c[f+376760+(y<<2)>>2]=A;c[f+376420+(y<<2)>>2]=a[z]|0;y=y+1|0}w=w+1|0;}while((w|0)<((c[r>>2]|0)+(c[s>>2]|0)|0))}else{x=0;y=0}c[f+376560>>2]=y;c[f+376564>>2]=x}r=e+376156|0;s=e+376152|0;v=(c[r>>2]|0)-(c[s>>2]|0)>>2;a[t]=0;sf(m,v,t);uh(e+376144|0);t=f+376560|0;v=c[t>>2]|0;if((v|0)>0){v=f+376144|0;u=c[m>>2]|0;x=f+376152|0;w=f+375388|0;y=0;while(1){z=f+376760+(y<<2)|0;A=c[z>>2]|0;if((c[f+376420+(y<<2)>>2]|0)==0){B=xh(v,A,q,1)|0}else{B=wh(v,A,q,1)|0}A=f+377080+(y<<2)|0;c[A>>2]=B;if((B|0)>-1){J=u+(B>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(B&31)}else{B=ef(e,f,c[w>>2]|0,c[z>>2]|0,1)|0;c[A>>2]=B;J=u+(B>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(B&31)}if((a[(c[(c[x>>2]|0)+(B<<2)>>2]|0)+10516|0]|0)!=0){a[(c[n>>2]|0)+10516|0]=4}y=y+1|0;z=c[t>>2]|0;if((y|0)>=(z|0)){v=z;break}}}u=f+376564|0;z=c[u>>2]|0;if((z|0)>0){v=f+376144|0;x=c[m>>2]|0;y=f+375388|0;w=0;do{z=f+376824+(w<<2)|0;A=c[z>>2]|0;if((c[f+376484+(w<<2)>>2]|0)==0){A=xh(v,A,q,1)|0}else{A=wh(v,A,q,1)|0}B=f+377144+(w<<2)|0;c[B>>2]=A;if((A|0)>-1){J=x+(A>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(A&31)}else{I=ef(e,f,c[y>>2]|0,c[z>>2]|0,1)|0;c[B>>2]=I;J=x+(I>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(I&31)}w=w+1|0;z=c[u>>2]|0;}while((w|0)<(z|0));t=c[t>>2]|0}else{t=v}if((t|0)>0){v=c[f+376152>>2]|0;u=0;do{c[(c[v+(c[f+377080+(u<<2)>>2]<<2)>>2]|0)+96>>2]=2;u=u+1|0;}while((u|0)<(t|0))}if((z|0)>0){t=c[f+376152>>2]|0;u=0;do{c[(c[t+(c[f+377144+(u<<2)>>2]<<2)>>2]|0)+96>>2]=2;u=u+1|0;}while((u|0)<(z|0))}w=f+376548|0;if((c[w>>2]|0)>0){t=f+376144|0;u=c[m>>2]|0;v=f+376152|0;y=f+375388|0;x=0;do{z=f+376568+(x<<2)|0;B=wh(t,c[z>>2]|0,q,0)|0;A=f+376888+(x<<2)|0;c[A>>2]=B;if((B|0)>-1){J=u+(B>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(B&31)}else{B=ef(e,f,c[y>>2]|0,c[z>>2]|0,0)|0;c[A>>2]=B;J=u+(B>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(B&31)}if((a[(c[(c[v>>2]|0)+(B<<2)>>2]|0)+10516|0]|0)!=0){a[(c[n>>2]|0)+10516|0]=4}x=x+1|0;}while((x|0)<(c[w>>2]|0))}y=f+376552|0;if((c[y>>2]|0)>0){u=f+376144|0;w=c[m>>2]|0;x=f+376152|0;v=f+375388|0;t=0;do{B=f+376632+(t<<2)|0;z=wh(u,c[B>>2]|0,q,0)|0;A=f+376952+(t<<2)|0;c[A>>2]=z;if((z|0)>-1){J=w+(z>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(z&31)}else{z=ef(e,f,c[v>>2]|0,c[B>>2]|0,0)|0;c[A>>2]=z;J=w+(z>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(z&31)}if((a[(c[(c[x>>2]|0)+(z<<2)>>2]|0)+10516|0]|0)!=0){a[(c[n>>2]|0)+10516|0]=4}t=t+1|0;}while((t|0)<(c[y>>2]|0))}e=f+376556|0;if((c[e>>2]|0)>0){v=f+376144|0;t=c[m>>2]|0;w=0;do{u=wh(v,c[f+376696+(w<<2)>>2]|0,q,0)|0;c[f+377016+(w<<2)>>2]=u;if((u|0)>-1){J=t+(u>>>5<<2)|0;c[J>>2]=c[J>>2]|1<<(u&31)}w=w+1|0;}while((w|0)<(c[e>>2]|0))}u=c[r>>2]|0;v=c[s>>2]|0;c:do{if((u-v|0)>0){e=c[m>>2]|0;q=f+376156|0;f=f+376152|0;t=0;d:while(1){do{if((c[e+(t>>>5<<2)>>2]&1<<(t&31)|0)==0){w=c[f>>2]|0;if((c[q>>2]|0)-w>>2>>>0>t>>>0){y=c[w+(t<<2)>>2]|0}else{y=0}x=c[n>>2]|0;if((y|0)==(x|0)){break}w=y+104|0;if(!((c[w>>2]|0)>>>0>(c[x>>2]|0)>>>0)){break}if((c[y+96>>2]|0)==0){break}B=c[y>>2]|0;z=c[h>>2]|0;D=c[o>>2]|0;do{if(z>>>0<D>>>0){if((z|0)!=0){c[z>>2]=B}c[h>>2]=z+4}else{y=c[k>>2]|0;E=y;A=z-E|0;C=A>>2;z=C+1|0;if(z>>>0>1073741823>>>0){break d}D=D-E|0;if(D>>2>>>0<536870911>>>0){D=D>>1;E=D>>>0<z>>>0?z:D;if((E|0)==0){D=0;E=0}else{p=136}}else{E=1073741823;p=136}if((p|0)==136){p=0;D=Nu(E<<2)|0}C=D+(C<<2)|0;if((C|0)!=0){c[C>>2]=B}B=y;cv(D|0,B|0,A)|0;c[k>>2]=D;c[h>>2]=D+(z<<2);c[o>>2]=D+(E<<2);if((y|0)==0){break}Pu(B);x=c[n>>2]|0;u=c[r>>2]|0;v=c[s>>2]|0}}while(0);c[w>>2]=c[x>>2]}}while(0);t=t+1|0;if((t|0)>=(u-v>>2|0)){break c}}Nr(0)}}while(0);n=g+1344|0;if((n|0)!=(l|0)){tf(n,c[k>>2]|0,c[h>>2]|0)}l=c[m>>2]|0;if((l|0)!=0){Pu(l)}k=c[k>>2]|0;if((k|0)==0){i=j;return}l=c[h>>2]|0;if((l|0)!=(k|0)){c[h>>2]=l+(~((l-4+(-k|0)|0)>>>2)<<2)}Pu(k);i=j;return}function gf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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;b=i;i=i+480|0;s=b|0;h=b+192|0;g=b+384|0;p=c[f+912>>2]|0;r=f+328|0;t=c[r>>2]|0;q=(t|0)>(p|0)?t:p;dv(g|0,0,96)|0;o=e+376548|0;n=e+376552|0;m=e+376560|0;u=(p|0)>(t|0)?p:t;k=e+376888|0;j=e+376952|0;l=e+377080|0;v=0;while(1){if((v|0)>=(q|0)){q=13;break}w=c[o>>2]|0;if((w|0)>0){x=(w|0)>1?-w|0:-1;w=v-u|0;y=x>>>0>w>>>0?x:w;cv(s+(v<<2)|0,k|0,y*-4|0)|0;v=v-y|0}w=c[n>>2]|0;if((w|0)>0&(v|0)<(q|0)){x=(w|0)>1?-w|0:-1;w=v-u|0;y=x>>>0>w>>>0?x:w;cv(s+(v<<2)|0,j|0,y*-4|0)|0;v=v-y|0}w=c[m>>2]|0;if((w|0)>0&(v|0)<(q|0)){x=(w|0)>1?-w|0:-1;w=v-u|0;y=x>>>0>w>>>0?x:w;cv(s+(v<<2)|0,l|0,y*-4|0)|0;dv(g+v|0,1,-y|0)|0;v=v-y|0}if((v|0)==0){q=10;break}}a:do{if((q|0)==10){f=e+84|0;g=c[f>>2]|0;if((g|0)==20){c[e+80>>2]=1001;f=0;break}else{c[f>>2]=g+1;c[e+4+(g<<2)>>2]=1016;f=0;break}}else if((q|0)==13){if((t|0)>=17){ec(1672,14344,1781,17560);return 0}if((t|0)>0){u=f+336|0;v=e+376156|0;w=e+376152|0;t=0;while(1){if((a[u]|0)==0){x=t}else{x=d[f+338+t|0]|0}y=f+916+(t<<2)|0;c[y>>2]=c[s+(x<<2)>>2];a[f+1300+t|0]=a[g+x|0]|0;y=c[y>>2]|0;x=c[w>>2]|0;if(!((c[v>>2]|0)-x>>2>>>0>y>>>0)){f=0;break a}x=c[x+(y<<2)>>2]|0;if((x|0)==0){f=0;break a}c[f+1044+(t<<2)>>2]=c[x+92>>2];c[f+1172+(t<<2)>>2]=c[x+96>>2];x=t+1|0;t=c[r>>2]|0;if((x|0)<(t|0)){t=x}else{break}}}if((c[f+20>>2]|0)!=0){f=1;break}r=f+332|0;s=c[r>>2]|0;u=(s|0)>(p|0)?s:p;p=(p|0)>(s|0)?p:s;v=0;while(1){if((v|0)>=(u|0)){break}w=c[n>>2]|0;if((w|0)>0){w=(w|0)>1?-w|0:-1;x=v-p|0;y=w>>>0>x>>>0?w:x;cv(h+(v<<2)|0,j|0,y*-4|0)|0;v=v-y|0}w=c[o>>2]|0;if((w|0)>0&(v|0)<(u|0)){x=(w|0)>1?-w|0:-1;w=v-p|0;y=x>>>0>w>>>0?x:w;cv(h+(v<<2)|0,k|0,y*-4|0)|0;v=v-y|0}w=c[m>>2]|0;if((w|0)>0&(v|0)<(u|0)){w=(w|0)>1?-w|0:-1;x=v-p|0;y=w>>>0>x>>>0?w:x;cv(h+(v<<2)|0,l|0,y*-4|0)|0;dv(g+48+v|0,1,-y|0)|0;v=v-y|0}if((v|0)==0){q=32;break}}if((q|0)==32){g=e+84|0;f=c[g>>2]|0;if((f|0)==20){c[e+80>>2]=1001;f=0;break}else{c[g>>2]=f+1;c[e+4+(f<<2)>>2]=1016;f=0;break}}if((t|0)>16){g=e+84|0;f=c[g>>2]|0;if((f|0)==20){c[e+80>>2]=1001;f=0;break}else{c[g>>2]=f+1;c[e+4+(f<<2)>>2]=1012;f=0;break}}if((s|0)>=17){ec(976,14344,1834,17560);return 0}if((s|0)<=0){f=1;break}k=f+337|0;j=e+376156|0;e=e+376152|0;l=0;while(1){if((a[k]|0)==0){m=l}else{m=d[f+354+l|0]|0}n=f+980+(l<<2)|0;c[n>>2]=c[h+(m<<2)>>2];a[f+1316+l|0]=a[g+48+m|0]|0;m=c[n>>2]|0;n=c[e>>2]|0;if(!((c[j>>2]|0)-n>>2>>>0>m>>>0)){f=0;break a}m=c[n+(m<<2)>>2]|0;if((m|0)==0){f=0;break a}c[f+1108+(l<<2)>>2]=c[m+92>>2];c[f+1236+(l<<2)>>2]=c[m+96>>2];l=l+1|0;if((l|0)>=(c[r>>2]|0)){f=1;break}}}}while(0);i=b;return f|0}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[b+375388>>2]|0;f=(e|0)==0;do{if(f){g=c[b+375384>>2]|0;if((g|0)==0){g=6;break}g=(c[g+8>>2]|0)-1|0}else{g=(a[e+2|0]|0)-1|0}}while(0);do{if((a[b+376112|0]|0)!=(g|0)){do{if(f){e=c[b+375384>>2]|0;if((e|0)==0){l=6;break}e=c[e+8>>2]|0;d=10}else{e=a[e+2|0]|0;d=10}}while(0);if((d|0)==10){if((e|0)>0){l=e-1|0}else{break}}d=l+1|0;e=b+375892|0;while(1){f=l*100|0;h=(f|0)/(d|0)|0;f=(f+100|0)/(d|0)|0;if((h|0)<=(f|0)){g=f-h|0;j=h;while(1){k=c[e>>2]|0;i=(l|0)>(k|0);l=i?k:l;a[b+375912+(j<<1)|0]=l;a[b+375912+(j<<1)+1|0]=i?100:(((j-h|0)*100|0|0)/(g|0)|0)&255;if((j|0)<(f|0)){j=j+1|0}else{break}}}c[b+376116+(l<<2)>>2]=f;if((l|0)>0){l=l-1|0}else{break}}}}while(0);k=c[b+375896>>2]|0;l=a[b+375912+(k<<1)|0]|0;c[b+375900>>2]=l;c[b+375904>>2]=a[b+375912+(k<<1)+1|0]|0;c[b+375908>>2]=l;return}function jf(b){b=b|0;var d=0;d=c[b+375388>>2]|0;if((d|0)!=0){d=(a[d+2|0]|0)-1|0;return d|0}b=c[b+375384>>2]|0;if((b|0)==0){d=6;return d|0}d=(c[b+8>>2]|0)-1|0;return d|0}function kf(a,b){a=a|0;b=b|0;c[a+375892>>2]=b;hf(a);return}function lf(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+375388>>2]|0;if((e|0)==0){d=b+375896|0;d=c[d>>2]|0;return d|0}e=(a[e+2|0]|0)-1|0;if(!((d+1|0)>>>0<3>>>0)){ec(16816,14344,2161,17712);return 0}f=b+375900|0;d=(c[f>>2]|0)+d|0;d=(d|0)<0?0:d;e=(e|0)<(d|0)?e:d;c[f>>2]=e;d=b+375896|0;c[d>>2]=c[b+376116+(e<<2)>>2];hf(b);d=c[d>>2]|0;return d|0}function mf(a,b){a=a|0;b=b|0;c[a+375896>>2]=b;hf(a);return}function nf(a){a=a|0;var b=0,d=0,e=0;d=a+80|0;b=c[d>>2]|0;if((b|0)==0){d=0;return d|0}e=c[a>>2]|0;b=b-1|0;c[d>>2]=b;fv(a|0,a+4|0,b<<2|0)|0;d=e;return d|0}function of(a,b){a=a|0;b=b|0;var d=0;d=c[a+376152>>2]|0;if(!((c[a+376156>>2]|0)-d>>2>>>0>b>>>0)){a=0;return a|0}a=c[d+(b<<2)>>2]|0;return a|0}function pf(a,b){a=a|0;b=b|0;if(!((b|0)>-1)){b=0;return b|0}b=((c[a+376156>>2]|0)-(c[a+376152>>2]|0)>>2|0)>(b|0);return b|0}function qf(a){a=a|0;return}function rf(a){a=a|0;Pu(a);return}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=b|0;c[h>>2]=0;g=b+4|0;c[g>>2]=0;i=b+8|0;c[i>>2]=0;if((d|0)==0){return}if((d|0)<0){Nr(0)}j=((d-1|0)>>>5)+1|0;f=Nu(j<<2)|0;b=f;c[h>>2]=b;c[i>>2]=j;i=(a[e]|0)==0;c[g>>2]=d;g=d>>>5;e=g<<2;if(i){dv(f|0,0,e|0)|0;f=g<<5;if((f|0)==(d|0)){return}j=b+(g<<2)|0;c[j>>2]=c[j>>2]&~(-1>>>((32-d+f|0)>>>0));return}else{dv(f|0,-1|0,e|0)|0;f=g<<5;if((f|0)==(d|0)){return}j=b+(g<<2)|0;c[j>>2]=c[j>>2]|-1>>>((32-d+f|0)>>>0);return}}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b;f=d-e>>2;h=a+8|0;l=c[h>>2]|0;g=a|0;j=c[g>>2]|0;k=j;if(!(f>>>0>l-k>>2>>>0)){g=a+4|0;h=(c[g>>2]|0)-k|0;i=h>>2;if(!(f>>>0>i>>>0)){d=d-e|0;fv(j|0,b|0,d|0)|0;d=j+(d>>2<<2)|0;b=c[g>>2]|0;if((b|0)==(d|0)){return}c[g>>2]=b+(~((b-4+(-d|0)|0)>>>2)<<2);return}e=b+(i<<2)|0;fv(j|0,b|0,h|0)|0;if((e|0)==(d|0)){return}f=c[g>>2]|0;b=(d-4+(-e|0)|0)>>>2;h=f;while(1){if((h|0)!=0){c[h>>2]=c[e>>2]}e=e+4|0;if((e|0)==(d|0)){break}else{h=h+4|0}}c[g>>2]=f+(b+1<<2);return}if((j|0)!=0){l=a+4|0;m=c[l>>2]|0;if((m|0)!=(j|0)){c[l>>2]=m+(~((m-4+(-k|0)|0)>>>2)<<2)}Pu(j);c[h>>2]=0;c[l>>2]=0;c[g>>2]=0;l=0}if(f>>>0>1073741823>>>0){Nr(0)}do{if(l>>2>>>0<536870911>>>0){j=l>>1;f=j>>>0<f>>>0?f:j;if(!(f>>>0>1073741823>>>0)){i=f;break}Nr(0)}else{i=1073741823}}while(0);f=Nu(i<<2)|0;a=a+4|0;c[a>>2]=f;c[g>>2]=f;c[h>>2]=f+(i<<2);if((b|0)==(d|0)){return}e=(d-4+(-e|0)|0)>>>2;g=f;while(1){if((g|0)!=0){c[g>>2]=c[b>>2]}b=b+4|0;if((b|0)==(d|0)){break}else{g=g+4|0}}c[a>>2]=f+(e+1<<2);return}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=a+8|0;d=a+4|0;f=c[d>>2]|0;i=c[e>>2]|0;h=f;if(!(i-h>>3>>>0<b>>>0)){do{if((f|0)==0){e=0}else{Cd(f);e=c[d>>2]|0}f=e+8|0;c[d>>2]=f;b=b-1|0;}while((b|0)!=0);return}f=a|0;j=c[f>>2]|0;h=h-j>>3;a=h+b|0;if(a>>>0>536870911>>>0){Nr(0)}i=i-j|0;if(i>>3>>>0<268435455>>>0){i=i>>2;a=i>>>0<a>>>0?a:i;if((a|0)==0){i=0;a=0}else{g=9}}else{a=536870911;g=9}if((g|0)==9){i=Nu(a<<3)|0}h=i+(h<<3)|0;g=i+(a<<3)|0;i=h;do{if((i|0)==0){i=0}else{Cd(i)}i=i+8|0;b=b-1|0;}while((b|0)!=0);b=c[f>>2]|0;a=c[d>>2]|0;do{if((a|0)==(b|0)){c[f>>2]=h;c[d>>2]=i;c[e>>2]=g}else{do{h=h-8|0;a=a-8|0;Dd(h,a);}while((a|0)!=(b|0));b=c[f>>2]|0;a=c[d>>2]|0;c[f>>2]=h;c[d>>2]=i;c[e>>2]=g;if((a|0)==(b|0)){break}do{a=a-8|0;Ed(a);}while((a|0)!=(b|0))}}while(0);if((b|0)==0){return}Pu(b);return}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=a+4|0;e=a|0;d=c[e>>2]|0;k=d;h=(c[g>>2]|0)-k|0;i=(h|0)/80|0;f=i+1|0;if(f>>>0>53687091>>>0){Nr(0)}a=a+8|0;k=((c[a>>2]|0)-k|0)/80|0;if(k>>>0<26843545>>>0){k=k<<1;l=k>>>0<f>>>0?f:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=53687091;j=5}if((j|0)==5){k=Nu(l*80|0)|0}j=k+(i*80|0)|0;if((j|0)!=0){cv(j|0,b|0,80)|0}j=k+((((h|0)/-80|0)+i|0)*80|0)|0;b=d;cv(j|0,b|0,h)|0;c[e>>2]=j;c[g>>2]=k+(f*80|0);c[a>>2]=k+(l*80|0);if((d|0)==0){return}Pu(b);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b;h=(d-k|0)/100|0;g=a+8|0;l=c[g>>2]|0;f=a|0;i=c[f>>2]|0;j=i;if(!(h>>>0>((l-j|0)/100|0)>>>0)){e=a+4|0;f=(c[e>>2]|0)-j|0;g=(f|0)/100|0;if(!(h>>>0>g>>>0)){d=d-k|0;fv(i|0,b|0,d|0)|0;b=i+(((d|0)/100|0)*100|0)|0;d=c[e>>2]|0;if((d|0)==(b|0)){return}c[e>>2]=d+(~(((d-100+(-b|0)|0)>>>0)/100|0)*100|0);return}g=b+(g*100|0)|0;fv(i|0,b|0,f|0)|0;if((g|0)==(d|0)){return}b=c[e>>2]|0;do{if((b|0)==0){b=0}else{cv(b|0,g|0,100)|0;b=c[e>>2]|0}b=b+100|0;c[e>>2]=b;g=g+100|0;}while((g|0)!=(d|0));return}if((i|0)!=0){l=a+4|0;k=c[l>>2]|0;if((k|0)!=(i|0)){c[l>>2]=k+(~(((k-100+(-j|0)|0)>>>0)/100|0)*100|0)}Pu(i);c[g>>2]=0;c[l>>2]=0;c[f>>2]=0;l=0}if(h>>>0>42949672>>>0){Nr(0)}i=(l|0)/100|0;do{if(i>>>0<21474836>>>0){i=i<<1;h=i>>>0<h>>>0?h:i;if(!(h>>>0>42949672>>>0)){e=h;break}Nr(0)}else{e=42949672}}while(0);i=Nu(e*100|0)|0;h=a+4|0;c[h>>2]=i;c[f>>2]=i;c[g>>2]=i+(e*100|0);if((b|0)==(d|0)){return}do{if((i|0)==0){e=0}else{cv(i|0,b|0,100)|0;e=c[h>>2]|0}i=e+100|0;c[h>>2]=i;b=b+100|0;}while((b|0)!=(d|0));return}function Af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=e-d|0;g=b+8|0;l=c[g>>2]|0;f=b|0;j=c[f>>2]|0;k=j;if(!(i>>>0>(l-k|0)>>>0)){f=b+4|0;g=(c[f>>2]|0)-k|0;if(!(i>>>0>g>>>0)){fv(j|0,d|0,i|0)|0;e=j+i|0;if((c[f>>2]|0)==(e|0)){return}c[f>>2]=e;return}h=d+g|0;fv(j|0,d|0,g|0)|0;if((h|0)==(e|0)){return}d=c[f>>2]|0;do{if((d|0)==0){d=0}else{a[d]=a[h]|0;d=c[f>>2]|0}d=d+1|0;c[f>>2]=d;h=h+1|0;}while((h|0)!=(e|0));return}if((j|0)!=0){k=b+4|0;if((c[k>>2]|0)!=(j|0)){c[k>>2]=j}Pu(j);c[g>>2]=0;c[k>>2]=0;c[f>>2]=0;l=0}if((i|0)<0){Nr(0)}do{if(l>>>0<1073741823>>>0){j=l<<1;i=j>>>0<i>>>0?i:j;if((i|0)>=0){h=i;break}Nr(0)}else{h=2147483647}}while(0);j=Nu(h)|0;i=b+4|0;c[i>>2]=j;c[f>>2]=j;c[g>>2]=j+h;if((d|0)==(e|0)){return}do{if((j|0)==0){f=0}else{a[j]=a[d]|0;f=c[i>>2]|0}j=f+1|0;c[i>>2]=j;d=d+1|0;}while((d|0)!=(e|0));return}function Bf(a,d,e){a=a|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;f=d;m=e-f|0;j=m>>1;i=a+8|0;n=c[i>>2]|0;h=a|0;k=c[h>>2]|0;l=k;if(!(j>>>0>n-l>>1>>>0)){g=a+4|0;h=(c[g>>2]|0)-l|0;i=h>>1;if(!(j>>>0>i>>>0)){e=e-f|0;fv(k|0,d|0,e|0)|0;e=k+(e>>1<<1)|0;d=c[g>>2]|0;if((d|0)==(e|0)){return}c[g>>2]=d+(~((d-2+(-e|0)|0)>>>1)<<1);return}f=d+(i<<1)|0;fv(k|0,d|0,h|0)|0;if((f|0)==(e|0)){return}d=c[g>>2]|0;h=(e-2+(-f|0)|0)>>>1;i=d;while(1){if((i|0)!=0){b[i>>1]=b[f>>1]|0}f=f+2|0;if((f|0)==(e|0)){break}else{i=i+2|0}}c[g>>2]=d+(h+1<<1);return}if((k|0)!=0){n=a+4|0;o=c[n>>2]|0;if((o|0)!=(k|0)){c[n>>2]=o+(~((o-2+(-l|0)|0)>>>1)<<1)}Pu(k);c[i>>2]=0;c[n>>2]=0;c[h>>2]=0;n=0}if((m|0)<0){Nr(0)}do{if(n>>1>>>0<1073741823>>>0){j=n>>>0<j>>>0?j:n;if((j|0)>=0){g=j;break}Nr(0)}else{g=2147483647}}while(0);j=Nu(g<<1)|0;a=a+4|0;c[a>>2]=j;c[h>>2]=j;c[i>>2]=j+(g<<1);if((d|0)==(e|0)){return}f=(e-2+(-f|0)|0)>>>1;g=j;while(1){if((g|0)!=0){b[g>>1]=b[d>>1]|0}d=d+2|0;if((d|0)==(e|0)){break}else{g=g+2|0}}c[a>>2]=j+(f+1<<1);return}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b;f=(d-j|0)/12|0;g=a+8|0;l=c[g>>2]|0;h=a|0;e=c[h>>2]|0;k=e;if(f>>>0>((l-k|0)/12|0)>>>0){if((e|0)!=0){j=a+4|0;k=c[j>>2]|0;if((k|0)!=(e|0)){do{k=k-12|0;c[j>>2]=k;l=c[k>>2]|0;if((l|0)!=0){Pu(l);k=c[j>>2]|0}}while((k|0)!=(e|0));e=c[h>>2]|0}Pu(e);c[g>>2]=0;c[j>>2]=0;c[h>>2]=0;l=0}if(f>>>0>357913941>>>0){Nr(0)}e=(l|0)/12|0;do{if(e>>>0<178956970>>>0){e=e<<1;e=e>>>0<f>>>0?f:e;if(!(e>>>0>357913941>>>0)){i=e;break}Nr(0)}else{i=357913941}}while(0);l=Nu(i*12|0)|0;c[a+4>>2]=l;c[h>>2]=l;c[g>>2]=l+(i*12|0);Df(a,b,d);return}g=a+4|0;h=((c[g>>2]|0)-k|0)/12|0;if(f>>>0>h>>>0){f=1;h=b+(h*12|0)|0}else{f=0;h=d}if((h|0)!=(b|0)){i=h-12+(-j|0)|0;j=e;while(1){Gf(j,b)|0;b=b+12|0;if((b|0)==(h|0)){break}else{j=j+12|0}}e=e+((((i>>>0)/12|0)+1|0)*12|0)|0}if(f){Df(a,h,d);return}d=c[g>>2]|0;if((d|0)==(e|0)){return}do{d=d-12|0;c[g>>2]=d;a=c[d>>2]|0;if((a|0)!=0){Pu(a);d=c[g>>2]|0}}while((d|0)!=(e|0));return}function Df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+16|0;f=e|0;g=e+8|0;if((b|0)==(d|0)){i=e;return}j=a+4|0;k=f|0;l=f+4|0;h=g|0;a=g+4|0;n=c[j>>2]|0;a:while(1){do{if((n|0)!=0){r=n|0;c[r>>2]=0;p=n+4|0;c[p>>2]=0;o=n+8|0;c[o>>2]=0;m=b+4|0;q=c[m>>2]|0;if((q|0)==0){break}if((q|0)<0){d=6;break a}q=((q-1|0)>>>5)+1|0;s=Nu(q<<2)|0;c[r>>2]=s;c[p>>2]=0;c[o>>2]=q;q=c[b>>2]|0;c[k>>2]=q;c[l>>2]=0;r=c[m>>2]|0;c[h>>2]=q+(r>>>5<<2);c[a>>2]=r&31;Ef(n,f,g)}}while(0);n=(c[j>>2]|0)+12|0;c[j>>2]=n;b=b+12|0;if((b|0)==(d|0)){d=9;break}}if((d|0)==6){Nr(0)}else if((d|0)==9){i=e;return}}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+32|0;n=b;r=i;i=i+8|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];n=d;p=i;i=i+8|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];n=e|0;l=e+8|0;k=e+16|0;d=e+24|0;g=a+4|0;s=c[g>>2]|0;o=c[r>>2]|0;r=c[r+4>>2]|0;q=c[p>>2]|0;p=c[p+4>>2]|0;m=o;b=r;h=p;j=q-m<<3;c[g>>2]=s-b+h+j;g=c[a>>2]|0;f=s>>>5;a=g+(f<<2)|0;s=s&31;if((b|0)!=(s|0)){c[n>>2]=o;c[n+4>>2]=r;c[l>>2]=q;c[l+4>>2]=p;c[k>>2]=a;c[k+4>>2]=s;Ff(d,n,l,k);i=e;return}h=h-b+j|0;do{if((h|0)>0){if((b|0)==0){b=0}else{j=32-b|0;s=(h|0)<(j|0)?h:j;r=-1>>>((j-s|0)>>>0)&-1<<b;c[a>>2]=c[a>>2]&~r|c[m>>2]&r;b=s+b|0;h=h-s|0;m=m+4|0;a=g+((b>>>5)+f<<2)|0;b=b&31}g=h>>>5;fv(a|0,m|0,g<<2|0)|0;f=h-(g<<5)|0;a=a+(g<<2)|0;if((f|0)<=0){break}b=-1>>>((32-f|0)>>>0);c[a>>2]=c[a>>2]&~b|c[m+(g<<2)>>2]&b;b=f}}while(0);c[d>>2]=a;c[d+4>>2]=b;i=e;return}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;q=b;j=i;i=i+8|0;c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];q=d;g=i;i=i+8|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];d=j|0;b=c[d>>2]|0;j=c[j+4>>2]|0;g=(c[g+4>>2]|0)-j+((c[g>>2]|0)-b<<3)|0;if((g|0)<=0){p=e+4|0;q=a|0;o=e|0;o=c[o>>2]|0;c[q>>2]=o;q=a+4|0;p=c[p>>2]|0;c[q>>2]=p;i=f;return}if((j|0)==0){n=c[e+4>>2]|0}else{k=32-j|0;h=(g|0)<(k|0)?g:k;k=-1>>>((k-h|0)>>>0)&-1<<j&c[b>>2];m=e+4|0;q=c[m>>2]|0;p=32-q|0;l=p>>>0<h>>>0?p:h;n=e|0;o=c[n>>2]|0;p=c[o>>2]&~(-1>>>((p-l|0)>>>0)&-1<<q);c[o>>2]=p;q=c[m>>2]|0;if(q>>>0>j>>>0){q=k<<q-j}else{q=k>>>((j-q|0)>>>0)}c[o>>2]=p|q;p=(c[m>>2]|0)+l|0;o=o+(p>>>5<<2)|0;c[n>>2]=o;n=p&31;c[m>>2]=n;p=h-l|0;if((p|0)>0){c[o>>2]=c[o>>2]&~(-1>>>((32-p|0)>>>0))|k>>>((j+l|0)>>>0);c[m>>2]=p;n=p}b=b+4|0;c[d>>2]=b;g=g-h|0}h=e+4|0;j=32-n|0;k=-1<<n;if(g>>>0>31>>>0){m=~k;l=e|0;n=c[l>>2]|0;o=n;n=c[n>>2]|0;do{q=c[b>>2]|0;p=n&m;c[o>>2]=p;c[o>>2]=p|q<<c[h>>2];o=o+4|0;n=c[o>>2]&k|q>>>(j>>>0);c[o>>2]=n;g=g-32|0;b=b+4|0;}while(g>>>0>31>>>0);c[d>>2]=b;c[l>>2]=o}if((g|0)<=0){p=h;q=a|0;o=e|0;o=c[o>>2]|0;c[q>>2]=o;q=a+4|0;p=c[p>>2]|0;c[q>>2]=p;i=f;return}d=c[b>>2]&-1>>>((32-g|0)>>>0);b=(j|0)<(g|0)?j:g;p=e|0;o=c[p>>2]|0;q=c[o>>2]&~(-1<<c[h>>2]&-1>>>((j-b|0)>>>0));c[o>>2]=q;c[o>>2]=q|d<<c[h>>2];q=(c[h>>2]|0)+b|0;j=o+(q>>>5<<2)|0;c[p>>2]=j;c[h>>2]=q&31;g=g-b|0;if((g|0)<=0){p=h;q=a|0;o=e|0;o=c[o>>2]|0;c[q>>2]=o;q=a+4|0;p=c[p>>2]|0;c[q>>2]=p;i=f;return}c[j>>2]=c[j>>2]&~(-1>>>((32-g|0)>>>0))|d>>>(b>>>0);c[h>>2]=g;p=h;q=a|0;o=e|0;o=c[o>>2]|0;c[q>>2]=o;q=a+4|0;p=c[p>>2]|0;c[q>>2]=p;i=f;return}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)==(b|0)){return a|0}d=b+4|0;h=c[d>>2]|0;if((h|0)==0){d=0}else{f=a+8|0;g=a|0;e=c[g>>2]|0;do{if(h>>>0>c[f>>2]<<5>>>0){if((e|0)!=0){Pu(e);c[g>>2]=0;c[f>>2]=0;c[a+4>>2]=0;h=c[d>>2]|0}if((h|0)<0){Nr(0);return 0}else{h=((h-1|0)>>>5)+1|0;e=Nu(h<<2)|0;c[g>>2]=e;c[a+4>>2]=0;c[f>>2]=h;h=c[d>>2]|0;break}}}while(0);fv(e|0,c[b>>2]|0,((h-1|0)>>>5<<2)+4|0)|0;d=c[d>>2]|0}c[a+4>>2]=d;return a|0}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function If(a){a=a|0;c[a+776>>2]=0;c[a+780>>2]=0;c[a+784>>2]=0;Cd(a+1332|0);c[a+1344>>2]=0;c[a+1348>>2]=0;c[a+1352>>2]=0;Jj(a);return}function Jf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+640>>2]|0;if((d|0)!=0){b=a+644|0;if((c[b>>2]|0)!=(d|0)){c[b>>2]=d}Pu(d)}d=c[a+628>>2]|0;if((d|0)!=0){b=a+632|0;e=c[b>>2]|0;if((e|0)!=(d|0)){c[b>>2]=e+(~((e-2+(-d|0)|0)>>>1)<<1)}Pu(d)}b=a+592|0;d=c[b>>2]|0;if((d|0)==0){return}a=a+596|0;f=c[a>>2]|0;if((f|0)!=(d|0)){do{f=f-12|0;c[a>>2]=f;e=c[f>>2]|0;if((e|0)!=0){Pu(e);f=c[a>>2]|0}}while((f|0)!=(d|0));d=c[b>>2]|0}Pu(d);return}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=a+4|0;f=c[e>>2]|0;b=a+16|0;j=c[b>>2]|0;i=f+(j>>>10<<2)|0;d=a+8|0;h=c[d>>2]|0;if((h|0)==(f|0)){g=0;j=0;a=a+20|0}else{a=a+20|0;g=j+(c[a>>2]|0)|0;g=(c[f+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;j=(c[i>>2]|0)+((j&1023)<<2)|0}a:while(1){do{if((j|0)==(g|0)){break a}j=j+4|0;}while((j-(c[i>>2]|0)|0)!=4096);j=i+4|0;i=j;j=c[j>>2]|0}c[a>>2]=0;g=h-f>>2;if(g>>>0>2>>>0){do{Pu(c[f>>2]|0);f=(c[e>>2]|0)+4|0;c[e>>2]=f;g=(c[d>>2]|0)-f>>2;}while(g>>>0>2>>>0)}if((g|0)==2){c[b>>2]=1024;return}else if((g|0)==1){c[b>>2]=512;return}else{return}}function Lf(a){a=a|0;c[a>>2]=30;c[a+4>>2]=20;c[a+8>>2]=2;c[a+12>>2]=2;c[a+16>>2]=8;c[a+20>>2]=40;c[a+24>>2]=6;c[a+28>>2]=2;c[a+32>>2]=6;c[a+36>>2]=8;c[a+40>>2]=8;c[a+44>>2]=8;c[a+48>>2]=26;c[a+52>>2]=28;c[a+56>>2]=52;c[a+60>>2]=44;c[a+64>>2]=86;c[a+68>>2]=6;c[a+72>>2]=36;c[a+76>>2]=56;c[a+80>>2]=14;c[a+84>>2]=64;c[a+88>>2]=48;c[a+92>>2]=112;c[a+96>>2]=8;c[a+100>>2]=22;c[a+104>>2]=32;c[a+108>>2]=84;c[a+112>>2]=2;c[a+116>>2]=4;c[a+120>>2]=4;c[a+124>>2]=4;c[a+128>>2]=42;c[a+132>>2]=6;c[a+136>>2]=18;c[a+140>>2]=12;c[a+144>>2]=2;c[a+148>>2]=26;c[a+152>>2]=24;c[a+156>>2]=32;c[a+160>>2]=40;c[a+164>>2]=34;c[a+168>>2]=20;c[a+172>>2]=36;c[a+176>>2]=22;c[a+180>>2]=14;c[a+184>>2]=4;c[a+188>>2]=44;c[a+204>>2]=22;c[a+212>>2]=20;c[a+208>>2]=36;c[a+192>>2]=4;c[a+200>>2]=10;c[a+196>>2]=40;c[a+216>>2]=28;c[a+220>>2]=12;c[a+224>>2]=38;c[a+228>>2]=16;c[a+232>>2]=30;c[a+236>>2]=16;c[a+240>>2]=40;c[a+244>>2]=12;c[a+248>>2]=18;c[a+252>>2]=24;c[a+256>>2]=26;c[a+260>>2]=52;c[a+284>>2]=14;c[a+288>>2]=4;c[a+296>>2]=16;c[a+292>>2]=2;c[a+300>>2]=10;c[a+264>>2]=10;c[a+268>>2]=4;c[a+272>>2]=14;c[a+276>>2]=2;c[a+280>>2]=28;c[a+304>>2]=24;c[a+308>>2]=8;c[a+312>>2]=32;c[a+316>>2]=14;c[a+320>>2]=20;c[a+324>>2]=18;c[a+328>>2]=6;c[a+332>>2]=2;c[a+336>>2]=26;return}function Mf(b,e,f,g,h){b=b|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;if((g|0)<=0){return}i=(1<<h)-1|0;j=0;do{k=ga(j,e)|0;l=ga(j,g)|0;m=0;do{h=b+(m+k)|0;n=(d[h]|0)+(c[f+(m+l<<2)>>2]|0)|0;if((n|0)<0){n=0}else{n=((n|0)>(i|0)?i:n)&255}a[h]=n;m=m+1|0;}while((m|0)<(g|0));j=j+1|0;}while((j|0)<(g|0));return}function Nf(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;if((g|0)<=0){return}i=(1<<h)-1|0;j=0;do{k=ga(j,d)|0;l=ga(j,g)|0;m=0;do{h=a+(m+k<<1)|0;n=(e[h>>1]|0)+(c[f+(m+l<<2)>>2]|0)|0;if((n|0)<0){n=0}else{n=((n|0)>(i|0)?i:n)&65535}b[h>>1]=n;m=m+1|0;}while((m|0)<(g|0));j=j+1|0;}while((j|0)<(g|0));return}function Of(a,b,c){a=a|0;b=b|0;c=c|0;ec(15968,16560,51,18680)}function Pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ec(15968,16560,68,18648)}function Qf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=1<<g-1;if((e|0)>0){i=0}else{return}do{j=ga(i,e)|0;k=0;do{l=k+j|0;c[a+(l<<2)>>2]=(b[d+(l<<1)>>1]<<f)+h>>g;k=k+1|0;}while((k|0)<(e|0));i=i+1|0;}while((i|0)<(e|0));return}function Rf(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=f+5|0;j=1<<f;if((j|0)>0){h=0}else{return}do{l=0;k=0;do{l=((b[e+((k<<f)+h<<1)>>1]<<i)+2048>>12)+l|0;m=c+((ga(k,g)|0)+h)|0;n=l+(d[m]|0)|0;if((n|0)<0){n=0}else{n=(n|0)>255?-1:n&255}a[m]=n;k=k+1|0;}while((k|0)<(j|0));h=h+1|0;}while((h|0)<(j|0));return}function Sf(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=f+5|0;k=1<<f;if((k|0)>0){j=0}else{return}do{h=j<<f;l=ga(j,g)|0;n=0;m=0;do{n=((b[e+(m+h<<1)>>1]<<i)+2048>>12)+n|0;o=c+(m+l)|0;p=n+(d[o]|0)|0;if((p|0)<0){p=0}else{p=(p|0)>255?-1:p&255}a[o]=p;m=m+1|0;}while((m|0)<(k|0));j=j+1|0;}while((j|0)<(k|0));return}function Tf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)>0){f=0}else{return}do{h=0;g=0;do{i=(ga(g,e)|0)+f|0;h=(b[d+(i<<1)>>1]|0)+h|0;c[a+(i<<2)>>2]=h;g=g+1|0;}while((g|0)<(e|0));f=f+1|0;}while((f|0)<(e|0));return}function Uf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((e|0)>0){f=0}else{return}do{g=ga(f,e)|0;i=0;h=0;do{j=h+g|0;i=(b[d+(j<<1)>>1]|0)+i|0;c[a+(j<<2)>>2]=i;h=h+1|0;}while((h|0)<(e|0));f=f+1|0;}while((f|0)<(e|0));return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=1<<g-1;if((e|0)>0){i=0}else{return}do{k=0;j=0;do{l=(ga(j,e)|0)+i|0;k=((b[d+(l<<1)>>1]<<f)+h>>g)+k|0;c[a+(l<<2)>>2]=k;j=j+1|0;}while((j|0)<(e|0));i=i+1|0;}while((i|0)<(e|0));return}function Wf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=1<<g-1;if((e|0)>0){i=0}else{return}do{j=ga(i,e)|0;l=0;k=0;do{m=k+j|0;l=((b[d+(m<<1)>>1]<<f)+h>>g)+l|0;c[a+(m<<2)>>2]=l;k=k+1|0;}while((k|0)<(e|0));i=i+1|0;}while((i|0)<(e|0));return}function Xf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)>0){f=0}else{return}do{g=ga(f,e)|0;h=0;do{i=h+g|0;c[a+(i<<2)>>2]=b[d+(i<<1)>>1]|0;h=h+1|0;}while((h|0)<(e|0));f=f+1|0;}while((f|0)<(e|0));return}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c|0)/2|0;if((c|0)<=1){return}e=c-1|0;f=0;do{g=ga(f,c)|0;h=e+(ga(e-f|0,c)|0)|0;i=0;do{l=a+(i+g<<1)|0;j=a+(h-i<<1)|0;k=b[l>>1]|0;b[l>>1]=b[j>>1]|0;b[j>>1]=k;i=i+1|0;}while((i|0)<(c|0));f=f+1|0;}while((f|0)<(d|0));return}function Zf(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+32|0;h=g|0;l=0;while(1){k=b[e+(l<<1)>>1]|0;j=0;do{m=ga(k<<16>>16,a[27256+j|0]|0)|0;m=(ga(b[e+(l+4<<1)>>1]|0,a[27260+j|0]|0)|0)+m|0;m=(ga(b[e+(l+8<<1)>>1]|0,a[27264+j|0]|0)|0)+m|0;m=(ga(b[e+(l+12<<1)>>1]|0,a[27268+j|0]|0)|0)+m+64>>7;if((m|0)<-32768){m=-32768}else{m=(m|0)>32767?32767:m&65535}b[h+(j<<3)+(l<<1)>>1]=m;j=j+1|0;}while((j|0)<4);l=l+1|0;if((l|0)>=4){l=0;break}}do{m=ga(l,f)|0;n=b[h+(l<<3)>>1]|0;k=b[h+(l<<3)+2>>1]|0;o=b[h+(l<<3)+4>>1]|0;j=b[h+(l<<3)+6>>1]|0;e=0;do{p=ga(n<<16>>16,a[27256+e|0]|0)|0;p=(ga(k<<16>>16,a[27260+e|0]|0)|0)+p|0;p=(ga(o<<16>>16,a[27264+e|0]|0)|0)+p|0;p=(ga(j<<16>>16,a[27268+e|0]|0)|0)+p+2048>>12;if((p|0)<-32768){q=-32768}else{q=(p|0)>32767?32767:p}p=c+(e+m)|0;q=(d[p]|0)+q|0;if((q|0)<0){q=0}else{q=(q|0)>255?-1:q&255}a[p]=q;e=e+1|0;}while((e|0)<4);l=l+1|0;}while((l|0)<4);i=g;return}function _f(c,d,f,g){c=c|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;i=i+32|0;j=k|0;h=20-g|0;m=h-1|0;o=0;do{n=b[d+(o<<1)>>1]|0;l=0;do{p=ga(n<<16>>16,a[27256+l|0]|0)|0;p=(ga(b[d+(o+4<<1)>>1]|0,a[27260+l|0]|0)|0)+p|0;p=(ga(b[d+(o+8<<1)>>1]|0,a[27264+l|0]|0)|0)+p|0;p=(ga(b[d+(o+12<<1)>>1]|0,a[27268+l|0]|0)|0)+p+64>>7;if((p|0)<-32768){p=-32768}else{p=(p|0)>32767?32767:p&65535}b[j+(l<<3)+(o<<1)>>1]=p;l=l+1|0;}while((l|0)<4);o=o+1|0;}while((o|0)<4);l=1<<m;p=(1<<g)-1|0;g=0;do{o=ga(g,f)|0;d=b[j+(g<<3)>>1]|0;n=b[j+(g<<3)+2>>1]|0;m=b[j+(g<<3)+4>>1]|0;r=b[j+(g<<3)+6>>1]|0;q=0;do{s=ga(d<<16>>16,a[27256+q|0]|0)|0;s=(ga(n<<16>>16,a[27260+q|0]|0)|0)+s|0;s=(ga(m<<16>>16,a[27264+q|0]|0)|0)+s|0;s=(ga(r<<16>>16,a[27268+q|0]|0)|0)+s+l>>h;if((s|0)<-32768){t=-32768}else{t=(s|0)>32767?32767:s}s=c+(q+o<<1)|0;t=(e[s>>1]|0)+t|0;if((t|0)<0){t=0}else{t=((t|0)>(p|0)?p:t)&65535}b[s>>1]=t;q=q+1|0;}while((q|0)<4);g=g+1|0;}while((g|0)<4);i=k;return}function $f(c,d,e){c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f|0;h=0;while(1){j=b[d+(h<<1)>>1]|0;k=0;do{l=ga(j<<16>>16,a[27256+(k<<2)|0]|0)|0;l=(ga(b[d+(h+e<<1)>>1]|0,a[27257+(k<<2)|0]|0)|0)+l|0;l=(ga(b[d+((e<<1)+h<<1)>>1]|0,a[27258+(k<<2)|0]|0)|0)+l|0;l=(ga(b[d+((e*3|0)+h<<1)>>1]|0,a[27259+(k<<2)|0]|0)|0)+l+1>>1;if((l|0)<-32768){l=-32768}else{l=(l|0)>32767?32767:l&65535}b[g+((k<<2)+h<<1)>>1]=l;k=k+1|0;}while((k|0)<4);h=h+1|0;if((h|0)>=4){d=0;break}}do{h=d<<2;e=b[g+(h<<1)>>1]|0;j=0;do{l=ga(e<<16>>16,a[27256+(j<<2)|0]|0)|0;l=(ga(b[g+((h|1)<<1)>>1]|0,a[27257+(j<<2)|0]|0)|0)+l|0;l=(ga(b[g+((h|2)<<1)>>1]|0,a[27258+(j<<2)|0]|0)|0)+l|0;l=((ga(b[g+((h|3)<<1)>>1]|0,a[27259+(j<<2)|0]|0)|0)+l+128|0)>>>8&65535;b[c+(j+h<<1)>>1]=l;j=j+1|0;}while((j|0)<4);d=d+1|0;}while((d|0)<4);i=f;return}function ag(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+32|0;h=j|0;k=f-1|0;g=1<<g;p=g-1|0;g=-g|0;n=g&65535;l=0;do{m=b[e+(l<<1)>>1]|0;o=0;do{q=ga(m<<16>>16,a[27256+o|0]|0)|0;q=(ga(b[e+(l+4<<1)>>1]|0,a[27260+o|0]|0)|0)+q|0;q=(ga(b[e+(l+8<<1)>>1]|0,a[27264+o|0]|0)|0)+q|0;q=(ga(b[e+(l+12<<1)>>1]|0,a[27268+o|0]|0)|0)+q+64>>7;if((q|0)<(g|0)){q=n}else{q=((q|0)>(p|0)?p:q)&65535}b[h+(o<<3)+(l<<1)>>1]=q;o=o+1|0;}while((o|0)<4);l=l+1|0;}while((l|0)<4);l=1<<k;g=0;do{p=g<<2;k=b[h+(g<<3)>>1]|0;m=b[h+(g<<3)+2>>1]|0;n=b[h+(g<<3)+4>>1]|0;o=b[h+(g<<3)+6>>1]|0;e=0;do{q=ga(k<<16>>16,a[27256+e|0]|0)|0;q=(ga(m<<16>>16,a[27260+e|0]|0)|0)+q|0;q=(ga(n<<16>>16,a[27264+e|0]|0)|0)+q|0;q=(ga(o<<16>>16,a[27268+e|0]|0)|0)+q+l>>f;c[d+(e+p<<2)>>2]=q;e=e+1|0;}while((e|0)<4);g=g+1|0;}while((g|0)<4);i=j;return}function bg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+2048|0;k=j|0;if((e|0)>1){m=e;l=0;do{l=l+1|0;m=m>>1;}while((m|0)>1)}else{l=0}m=5-l|0;l=1<<g-1;n=1<<h;h=n-1|0;n=-n|0;p=(e|0)>0;if(!p){i=j;return}q=n&65535;r=0;do{s=e;while(1){o=s-1|0;if((s|0)<=0){break}v=f+((ga(o,e)|0)+r<<1)|0;if((b[v>>1]|0)==0){s=o}else{break}}s=(s|0)<1;t=0;do{if(s){u=0}else{v=0;u=0;while(1){w=f+((ga(u,e)|0)+r<<1)|0;v=(ga(b[w>>1]|0,a[27616+(u<<m<<5)+t|0]|0)|0)+v|0;if((u|0)<(o|0)){u=u+1|0}else{break}}u=v+64>>7}if((u|0)<(n|0)){u=q}else{u=((u|0)>(h|0)?h:u)&65535}w=k+((ga(t,e)|0)+r<<1)|0;b[w>>1]=u;t=t+1|0;}while((t|0)<(e|0));r=r+1|0;}while((r|0)<(e|0));if(p){h=0}else{i=j;return}do{n=ga(h,e)|0;o=e;while(1){f=o-1|0;if((o|0)<=0){break}if((b[k+(f+n<<1)>>1]|0)==0){o=f}else{break}}o=(o|0)<1;p=0;do{if(o){r=0}else{r=0;q=0;while(1){r=(ga(b[k+(q+n<<1)>>1]|0,a[27616+(q<<m<<5)+p|0]|0)|0)+r|0;if((q|0)<(f|0)){q=q+1|0}else{break}}}c[d+(p+n<<2)>>2]=r+l>>g;p=p+1|0;}while((p|0)<(e|0));h=h+1|0;}while((h|0)<(e|0));i=j;return}function cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,4,b,c,d);return}function dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,8,b,c,d);return}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,16,b,c,d);return}function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bg(a,32,b,c,d);return}function gg(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,4,b,8);return}function hg(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;l=i;i=i+2048|0;m=l|0;k=20-h|0;j=1<<k-1;if((f|0)>1){n=f;p=0;do{p=p+1|0;n=n>>1;}while((n|0)>1)}else{p=0}n=5-p|0;p=(f|0)>0;if(p){q=0}else{i=l;return}do{s=f;while(1){r=s-1|0;if((s|0)<=0){break}v=g+((ga(r,f)|0)+q<<1)|0;if((b[v>>1]|0)==0){s=r}else{break}}s=(s|0)<1;t=0;do{if(s){u=0;o=13}else{v=0;u=0;while(1){w=g+((ga(u,f)|0)+q<<1)|0;v=(ga(b[w>>1]|0,a[27616+(u<<n<<5)+t|0]|0)|0)+v|0;if((u|0)<(r|0)){u=u+1|0}else{break}}u=v+64>>7;if((u|0)<-32768){u=-32768}else{o=13}}if((o|0)==13){o=0;u=(u|0)>32767?32767:u&65535}w=m+((ga(t,f)|0)+q<<1)|0;b[w>>1]=u;t=t+1|0;}while((t|0)<(f|0));q=q+1|0;}while((q|0)<(f|0));if(!p){i=l;return}g=(1<<h)-1|0;p=0;do{o=ga(p,f)|0;q=f;while(1){h=q-1|0;if((q|0)<=0){break}if((b[m+(h+o<<1)>>1]|0)==0){q=h}else{break}}r=(q|0)<1;s=ga(p,e)|0;q=0;do{if(r){u=0}else{u=0;t=0;while(1){u=(ga(b[m+(t+o<<1)>>1]|0,a[27616+(t<<n<<5)+q|0]|0)|0)+u|0;if((t|0)<(h|0)){t=t+1|0}else{break}}}t=c+(q+s)|0;u=(d[t]|0)+(u+j>>k)|0;if((u|0)<0){u=0}else{u=((u|0)>(g|0)?g:u)&255}a[t]=u;q=q+1|0;}while((q|0)<(f|0));p=p+1|0;}while((p|0)<(f|0));i=l;return}function ig(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,8,b,8);return}function jg(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,16,b,8);return}function kg(a,b,c){a=a|0;b=b|0;c=c|0;hg(a,c,32,b,8);return}function lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,4,b,d);return}function mg(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var 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;l=i;i=i+2048|0;m=l|0;k=20-h|0;j=1<<k-1;if((f|0)>1){n=f;p=0;do{p=p+1|0;n=n>>1;}while((n|0)>1)}else{p=0}n=5-p|0;p=(f|0)>0;if(p){q=0}else{i=l;return}do{s=f;while(1){r=s-1|0;if((s|0)<=0){break}v=g+((ga(r,f)|0)+q<<1)|0;if((b[v>>1]|0)==0){s=r}else{break}}s=(s|0)<1;t=0;do{if(s){u=0;o=13}else{v=0;u=0;while(1){w=g+((ga(u,f)|0)+q<<1)|0;v=(ga(b[w>>1]|0,a[27616+(u<<n<<5)+t|0]|0)|0)+v|0;if((u|0)<(r|0)){u=u+1|0}else{break}}u=v+64>>7;if((u|0)<-32768){u=-32768}else{o=13}}if((o|0)==13){o=0;u=(u|0)>32767?32767:u&65535}w=m+((ga(t,f)|0)+q<<1)|0;b[w>>1]=u;t=t+1|0;}while((t|0)<(f|0));q=q+1|0;}while((q|0)<(f|0));if(!p){i=l;return}g=(1<<h)-1|0;p=0;do{o=ga(p,f)|0;q=f;while(1){h=q-1|0;if((q|0)<=0){break}if((b[m+(h+o<<1)>>1]|0)==0){q=h}else{break}}r=(q|0)<1;s=ga(p,d)|0;q=0;do{if(r){u=0}else{u=0;t=0;while(1){u=(ga(b[m+(t+o<<1)>>1]|0,a[27616+(t<<n<<5)+q|0]|0)|0)+u|0;if((t|0)<(h|0)){t=t+1|0}else{break}}}t=c+(q+s<<1)|0;u=(e[t>>1]|0)+(u+j>>k)|0;if((u|0)<0){u=0}else{u=((u|0)>(g|0)?g:u)&65535}b[t>>1]=u;q=q+1|0;}while((q|0)<(f|0));p=p+1|0;}while((p|0)<(f|0));i=l;return}function ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,8,b,d);return}function og(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,16,b,d);return}function pg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mg(a,c,32,b,d);return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,4,b,c);return}function rg(c,d,e,f){c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+2048|0;h=g|0;if((d|0)>1){j=d;m=0;while(1){j=j>>1;if((j|0)>1){m=m+1|0}else{j=d;k=0;break}}while(1){j=j>>1;if((j|0)>1){k=k+1|0}else{break}}j=k+7|0;n=1<<m-1;k=1<<k+6;o=d;l=0;do{l=l+1|0;o=o>>1;}while((o|0)>1)}else{l=0;m=-1;j=6;n=0;k=32}l=5-l|0;o=(d|0)>0;if(o){q=0}else{i=g;return}do{r=0;do{s=r<<l;p=0;t=0;do{u=e+((ga(t,f)|0)+q<<1)|0;p=(ga(b[u>>1]|0,a[27616+(s<<5)+t|0]|0)|0)+p|0;t=t+1|0;}while((t|0)<(d|0));u=h+((ga(r,d)|0)+q<<1)|0;b[u>>1]=p+n>>m;r=r+1|0;}while((r|0)<(d|0));q=q+1|0;}while((q|0)<(d|0));if(o){e=0}else{i=g;return}do{f=ga(e,d)|0;p=0;do{o=p<<l;n=0;m=0;do{n=(ga(b[h+(m+f<<1)>>1]|0,a[27616+(o<<5)+m|0]|0)|0)+n|0;m=m+1|0;}while((m|0)<(d|0));b[c+(p+f<<1)>>1]=n+k>>j;p=p+1|0;}while((p|0)<(d|0));e=e+1|0;}while((e|0)<(d|0));i=g;return}function sg(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,8,b,c);return}function tg(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,16,b,c);return}function ug(a,b,c){a=a|0;b=b|0;c=c|0;rg(a,32,b,c);return}function vg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=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;f=i;i=i+2176|0;g=f|0;h=(c|0)>0;if(!h){i=f;return}m=c>>1;l=(m|0)>0;j=c>>2;k=(j|0)>1;p=f+2048|0;o=f+2112|0;n=0;do{r=ga(n,e)|0;if(l){q=0;do{s=d+(q+r<<1)|0;u=q+m|0;t=d+(u+r<<1)|0;b[p+(q<<1)>>1]=(b[t>>1]|0)+(b[s>>1]|0);b[p+(u<<1)>>1]=(b[s>>1]|0)-(b[t>>1]|0);q=q+1|0;}while((q|0)<(m|0))}if(k){q=p;p=m;t=j;while(1){r=(t|0)>0;s=0;do{if(r){u=0;do{y=u+s|0;x=b[q+(y<<1)>>1]|0;v=y+t|0;w=b[q+(v<<1)>>1]|0;b[o+(y<<1)>>1]=w+x;b[o+(v<<1)>>1]=x-w;u=u+1|0;}while((u|0)<(t|0))}s=s+p|0;}while((s|0)<(c|0));t=t>>1;if((t|0)>1){y=q;q=o;p=p>>1;o=y}else{p=o;o=q;break}}}r=ga(n,c)|0;q=0;do{w=p+(q<<1)|0;y=q|1;x=p+(y<<1)|0;b[g+(q+r<<1)>>1]=(b[x>>1]|0)+(b[w>>1]|0);b[g+(y+r<<1)>>1]=(b[w>>1]|0)-(b[x>>1]|0);q=q+2|0;}while((q|0)<(c|0));n=n+1|0;}while((n|0)<(c|0));if(!h){i=f;return}h=c>>1;e=(h|0)>0;k=c>>2;j=(k|0)>1;l=0;while(1){if(e){d=0;do{w=g+((ga(d,c)|0)+l<<1)|0;y=d+h|0;x=g+((ga(y,c)|0)+l<<1)|0;b[p+(d<<1)>>1]=(b[x>>1]|0)+(b[w>>1]|0);b[p+(y<<1)>>1]=(b[w>>1]|0)-(b[x>>1]|0);d=d+1|0;}while((d|0)<(h|0))}if(j){d=h;r=k;while(1){n=(r|0)>0;m=0;do{if(n){q=0;do{v=q+m|0;w=b[p+(v<<1)>>1]|0;y=v+r|0;x=b[p+(y<<1)>>1]|0;b[o+(v<<1)>>1]=x+w;b[o+(y<<1)>>1]=w-x;q=q+1|0;}while((q|0)<(r|0))}m=m+d|0;}while((m|0)<(c|0));r=r>>1;if((r|0)>1){y=p;p=o;d=d>>1;o=y}else{d=o;o=p;break}}}else{d=p}m=0;do{w=d+(m<<1)|0;y=m|1;x=d+(y<<1)|0;v=a+((ga(m,c)|0)+l<<1)|0;b[v>>1]=(b[x>>1]|0)+(b[w>>1]|0);y=a+((ga(y,c)|0)+l<<1)|0;b[y>>1]=(b[w>>1]|0)-(b[x>>1]|0);m=m+2|0;}while((m|0)<(c|0));l=l+1|0;if((l|0)<(c|0)){p=d}else{break}}i=f;return}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+32|0;t=e|0;r=b[c>>1]|0;s=b[c+4>>1]|0;g=s+r&65535;v=b[c+2>>1]|0;h=b[c+6>>1]|0;n=h+v&65535;s=r-s&65535;h=v-h&65535;v=t|0;b[v>>1]=n+g;r=t+2|0;b[r>>1]=g-n;n=t+4|0;b[n>>1]=h+s;g=t+6|0;b[g>>1]=s-h;h=b[c+(d<<1)>>1]|0;s=b[c+(d+2<<1)>>1]|0;m=s+h&65535;u=b[c+(d+1<<1)>>1]|0;j=b[c+(d+3<<1)>>1]|0;q=j+u&65535;s=h-s&65535;j=u-j&65535;u=q+m&65535;b[t+8>>1]=u;q=m-q&65535;b[t+10>>1]=q;m=t+12|0;b[m>>1]=j+s;h=t+14|0;b[h>>1]=s-j;j=d<<1;s=b[c+(j<<1)>>1]|0;x=b[c+(j+2<<1)>>1]|0;f=x+s&65535;o=b[c+((j|1)<<1)>>1]|0;j=b[c+(j+3<<1)>>1]|0;k=j+o&65535;x=s-x&65535;j=o-j&65535;o=k+f&65535;b[t+16>>1]=o;k=f-k&65535;b[t+18>>1]=k;f=j+x&65535;b[t+20>>1]=f;j=x-j&65535;b[t+22>>1]=j;d=d*3|0;x=b[c+(d<<1)>>1]|0;s=b[c+(d+2<<1)>>1]|0;w=s+x&65535;p=b[c+(d+1<<1)>>1]|0;d=b[c+(d+3<<1)>>1]|0;l=d+p&65535;s=x-s&65535;d=p-d&65535;p=l+w&65535;b[t+24>>1]=p;l=w-l&65535;b[t+26>>1]=l;c=d+s&65535;b[t+28>>1]=c;d=s-d&65535;b[t+30>>1]=d;v=b[v>>1]|0;t=o+v&65535;s=p+u&65535;o=v-o&65535;p=u-p&65535;b[a>>1]=s+t;b[a+8>>1]=t-s;b[a+16>>1]=p+o;b[a+24>>1]=o-p;r=b[r>>1]|0;p=k+r&65535;o=l+q&65535;k=r-k&65535;l=q-l&65535;b[a+2>>1]=o+p;b[a+10>>1]=p-o;b[a+18>>1]=l+k;b[a+26>>1]=k-l;n=b[n>>1]|0;l=f+n&65535;m=b[m>>1]|0;k=c+m&65535;f=n-f&65535;c=m-c&65535;b[a+4>>1]=k+l;b[a+12>>1]=l-k;b[a+20>>1]=c+f;b[a+28>>1]=f-c;c=b[g>>1]|0;g=j+c&65535;h=b[h>>1]|0;f=d+h&65535;c=c-j&65535;d=h-d&65535;b[a+6>>1]=f+g;b[a+14>>1]=g-f;b[a+22>>1]=d+c;b[a+30>>1]=c-d;i=e;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=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;f=i;i=i+128|0;e=f|0;g=0;while(1){j=ga(g,d)|0;t=b[c+(j<<1)>>1]|0;r=b[c+(j+4<<1)>>1]|0;l=r+t&65535;s=b[c+(j+1<<1)>>1]|0;h=b[c+(j+5<<1)>>1]|0;m=h+s&65535;p=b[c+(j+2<<1)>>1]|0;k=b[c+(j+6<<1)>>1]|0;o=k+p&65535;q=b[c+(j+3<<1)>>1]|0;j=b[c+(j+7<<1)>>1]|0;n=j+q&65535;r=t-r&65535;h=s-h&65535;k=p-k&65535;j=q-j&65535;q=o+l&65535;p=n+m&65535;o=l-o&65535;n=m-n&65535;m=k+r&65535;l=j+h&65535;k=r-k&65535;j=h-j&65535;h=g<<3;b[e+(h<<1)>>1]=p+q;b[e+((h|1)<<1)>>1]=q-p;b[e+((h|2)<<1)>>1]=n+o;b[e+((h|3)<<1)>>1]=o-n;b[e+((h|4)<<1)>>1]=l+m;b[e+((h|5)<<1)>>1]=m-l;b[e+((h|6)<<1)>>1]=j+k;b[e+((h|7)<<1)>>1]=k-j;g=g+1|0;if((g|0)>=8){d=0;break}}do{y=b[e+(d<<1)>>1]|0;m=d+32|0;w=b[e+(m<<1)>>1]|0;o=w+y&65535;g=d+8|0;x=b[e+(g<<1)>>1]|0;p=d+40|0;v=b[e+(p<<1)>>1]|0;n=v+x&65535;h=d+16|0;c=b[e+(h<<1)>>1]|0;q=d+48|0;r=b[e+(q<<1)>>1]|0;j=r+c&65535;l=d+24|0;u=b[e+(l<<1)>>1]|0;t=d+56|0;s=b[e+(t<<1)>>1]|0;k=s+u&65535;w=y-w&65535;v=x-v&65535;r=c-r&65535;s=u-s&65535;u=j+o&65535;c=k+n&65535;j=o-j&65535;k=n-k&65535;n=r+w&65535;o=s+v&65535;r=w-r&65535;s=v-s&65535;b[a+(d<<1)>>1]=c+u;b[a+(g<<1)>>1]=u-c;b[a+(h<<1)>>1]=k+j;b[a+(l<<1)>>1]=j-k;b[a+(m<<1)>>1]=o+n;b[a+(p<<1)>>1]=n-o;b[a+(q<<1)>>1]=s+r;b[a+(t<<1)>>1]=r-s;d=d+1|0;}while((d|0)<8);i=f;return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;vg(a,16,b,c);return}function zg(a,b,c){a=a|0;b=b|0;c=c|0;vg(a,32,b,c);return}function Ag(c,d,e,f,g,h){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;if((g&1|0)!=0){ec(13704,16192,40,18488)}if((h|0)>0&(g|0)>0){j=0}else{return}do{i=e+((ga(j,f)|0)<<1)|0;k=c+(ga(j,d)|0)|0;l=0;while(1){m=(b[i>>1]|0)+32>>6;if((m|0)<0){m=0}else{m=(m|0)>255?-1:m&255}a[k]=m;m=(b[i+2>>1]|0)+32>>6;if((m|0)<0){m=0}else{m=(m|0)>255?-1:m&255}a[k+1|0]=m;l=l+2|0;if((l|0)<(g|0)){i=i+4|0;k=k+2|0}else{break}}j=j+1|0;}while((j|0)<(h|0));return}function Bg(c,d,e,f,g,h,i,j,k){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;var l=0,m=0,n=0,o=0,p=0,q=0;if((k|0)<=0){ec(13312,16192,60,18552)}l=1<<k-1;if((h|0)>0&(g|0)>0){m=0}else{return}do{n=e+((ga(m,f)|0)<<1)|0;o=c+(ga(m,d)|0)|0;p=0;while(1){q=((ga(b[n>>1]|0,i)|0)+l>>k)+j|0;if((q|0)<0){q=0}else{q=(q|0)>255?-1:q&255}a[o]=q;p=p+1|0;if((p|0)<(g|0)){n=n+2|0;o=o+1|0}else{break}}m=m+1|0;}while((m|0)<(h|0));return}function Cg(c,d,e,f,g,h,i,j,k,l,m,n){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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if((n|0)<=0){ec(13312,16192,80,18456)}m=k+1+m<<n;if((i|0)<=0){return}k=n+1|0;if((h|0)>0){o=0}else{return}do{p=ga(o,g)|0;n=e+(p<<1)|0;p=f+(p<<1)|0;q=c+(ga(o,d)|0)|0;r=0;while(1){s=ga(b[n>>1]|0,j)|0;s=s+m+(ga(b[p>>1]|0,l)|0)>>k;if((s|0)<0){s=0}else{s=(s|0)>255?-1:s&255}a[q]=s;r=r+1|0;if((r|0)<(h|0)){n=n+2|0;p=p+2|0;q=q+1|0}else{break}}o=o+1|0;}while((o|0)<(i|0));return}function Dg(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h&1|0)!=0){ec(13704,16192,105,18312)}if((i|0)<=0){return}k=(h|0)>0;j=0;do{m=ga(j,g)|0;if(k){l=e+(m<<1)|0;m=f+(m<<1)|0;n=c+(ga(j,d)|0)|0;o=0;while(1){p=(b[l>>1]|0)+64+(b[m>>1]|0)>>7;if((p|0)<0){p=0}else{p=(p|0)>255?-1:p&255}a[n]=p;p=(b[l+2>>1]|0)+64+(b[m+2>>1]|0)>>7;if((p|0)<0){p=0}else{p=(p|0)>255?-1:p&255}a[n+1|0]=p;o=o+2|0;if((o|0)<(h|0)){l=l+4|0;m=m+4|0;n=n+2|0}else{break}}}j=j+1|0;}while((j|0)<(i|0));return}function Eg(a,c,d,e,f,g,h){a=a|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,p=0,q=0;j=14-h|0;if((j|0)>0){i=1<<j-1}else{i=0}if((f&1|0)!=0){ec(13704,16192,172,18424)}if((g|0)<=0){return}k=(f|0)>0;m=(1<<h)-1|0;n=m&65535;h=0;do{if(k){o=d+((ga(h,e)|0)<<1)|0;l=a+((ga(h,c)|0)<<1)|0;p=0;while(1){q=(b[o>>1]|0)+i>>j;if((q|0)<0){q=0}else{q=(q|0)>(m|0)?n:q&65535}b[l>>1]=q;q=(b[o+2>>1]|0)+i>>j;if((q|0)<0){q=0}else{q=(q|0)>(m|0)?n:q&65535}b[l+2>>1]=q;p=p+2|0;if((p|0)<(f|0)){o=o+4|0;l=l+4|0}else{break}}}h=h+1|0;}while((h|0)<(g|0));return}function Fg(a,c,d,e,f,g,h,i,j,k){a=a|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;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((j|0)<=0){ec(13312,16192,193,18520)}l=1<<j-1;if((g|0)<=0){return}m=(f|0)>0;n=(1<<k)-1|0;k=0;do{if(m){o=d+((ga(k,e)|0)<<1)|0;p=a+((ga(k,c)|0)<<1)|0;q=0;while(1){r=((ga(b[o>>1]|0,h)|0)+l>>j)+i|0;if((r|0)<0){r=0}else{r=((r|0)>(n|0)?n:r)&65535}b[p>>1]=r;q=q+1|0;if((q|0)<(f|0)){o=o+2|0;p=p+2|0}else{break}}}k=k+1|0;}while((k|0)<(g|0));return}function Gg(a,c,d,e,f,g,h,i,j,k,l,m,n){a=a|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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;if((m|0)<=0){ec(13312,16192,213,18392)}j=j+1+l<<m;if((h|0)<=0){return}l=(g|0)>0;m=m+1|0;o=(1<<n)-1|0;n=0;do{q=ga(n,f)|0;if(l){p=d+(q<<1)|0;q=e+(q<<1)|0;r=a+((ga(n,c)|0)<<1)|0;s=0;while(1){t=ga(b[p>>1]|0,i)|0;t=t+j+(ga(b[q>>1]|0,k)|0)>>m;if((t|0)<0){t=0}else{t=((t|0)>(o|0)?o:t)&65535}b[r>>1]=t;s=s+1|0;if((s|0)<(g|0)){p=p+2|0;q=q+2|0;r=r+2|0}else{break}}}n=n+1|0;}while((n|0)<(h|0));return}function Hg(a,c,d,e,f,g,h,i){a=a|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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=15-i|0;k=1<<j-1;if((g&1|0)!=0){ec(13704,16192,238,18192)}if((h|0)<=0){return}l=(g|0)>0;n=(1<<i)-1|0;m=n&65535;i=0;do{p=ga(i,f)|0;if(l){o=d+(p<<1)|0;p=e+(p<<1)|0;q=a+((ga(i,c)|0)<<1)|0;r=0;while(1){s=(b[o>>1]|0)+k+(b[p>>1]|0)>>j;if((s|0)<0){s=0}else{s=(s|0)>(n|0)?m:s&65535}b[q>>1]=s;s=(b[o+2>>1]|0)+k+(b[p+2>>1]|0)>>j;if((s|0)<0){s=0}else{s=(s|0)>(n|0)?m:s&65535}b[q+2>>1]=s;r=r+2|0;if((r|0)<(g|0)){o=o+4|0;p=p+4|0;q=q+4|0}else{break}}}i=i+1|0;}while((i|0)<(h|0));return}function Ig(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;if((h|0)<=0){return}j=(g|0)>0;i=0;do{if(j){l=a+((ga(i,c)|0)<<1)|0;k=e+(ga(i,f)|0)|0;m=0;while(1){b[l>>1]=(d[k]|0)<<6;m=m+1|0;if((m|0)<(g|0)){l=l+2|0;k=k+1|0}else{break}}}i=i+1|0;}while((i|0)<(h|0));return}function Jg(a,c,d,f,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;k=14-l|0;if((h|0)<=0){return}m=(g|0)>0;i=0;do{if(m){l=a+((ga(i,c)|0)<<1)|0;j=d+((ga(i,f)|0)<<1)|0;n=0;while(1){b[l>>1]=(e[j>>1]|0)<<k;n=n+1|0;if((n|0)<(g|0)){l=l+2|0;j=j+2|0}else{break}}}i=i+1|0;}while((i|0)<(h|0));return}function Kg(a,c,e,f,g,h,j,k,l,m){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;q=m-8|0;n=h+3|0;p=ga(g<<1,n)|0;m=i;i=i+p|0;i=i+7&-8;p=h+2|0;if((p|0)>-1){o=(g|0)>0;s=-1;while(1){a:do{if(o){r=s+1|0;s=e+((ga(s,f)|0)-1)|0;u=0;while(1){switch(j|0){case 2:{t=((d[s+1|0]|0)*54|0)+((d[s]|0)*-4|0)+(d[s+2|0]<<4)-(d[s+3|0]<<1)>>q&65535;break};case 5:{t=((d[s+1|0]|0)*28|0)+((d[s]|0)*-4|0)+((d[s+2|0]|0)*46|0)+((d[s+3|0]|0)*-6|0)>>q&65535;break};case 6:{t=(d[s+1|0]<<4)+((d[s]|0)*-2|0)+((d[s+2|0]|0)*54|0)-(d[s+3|0]<<2)>>q&65535;break};case 4:{t=((d[s]|0)*-4|0)-(d[s+3|0]<<2)+(((d[s+2|0]|0)+(d[s+1|0]|0)|0)*36|0)>>q&65535;break};case 0:{t=d[s+1|0]|0;break};case 1:{t=((d[s+1|0]|0)*58|0)+((d[s]|0)*-2|0)+((d[s+2|0]|0)*10|0)-(d[s+3|0]<<1)>>q&65535;break};case 3:{t=((d[s+1|0]|0)*46|0)+((d[s]|0)*-6|0)+((d[s+2|0]|0)*28|0)-(d[s+3|0]<<2)>>q&65535;break};default:{t=((d[s+1|0]|0)*10|0)+((d[s]|0)*-2|0)+((d[s+2|0]|0)*58|0)-(d[s+3|0]<<1)>>q&65535}}v=m+(r+(ga(u,n)|0)<<1)|0;b[v>>1]=t;u=u+1|0;if((u|0)<(g|0)){s=s+1|0}else{break a}}}else{r=s+1|0}}while(0);if((r|0)<(p|0)){s=r}else{break}}}e=(j|0)==0?q:6;if((g|0)<=0){i=l;return}f=(h|0)>0;j=0;do{b:do{if(f){o=m+((ga(j,n)|0)<<1)|0;q=0;while(1){switch(k|0){case 0:{p=b[o+2>>1]|0;break};case 1:{p=((b[o+2>>1]|0)*58|0)+((b[o>>1]|0)*-2|0)+((b[o+4>>1]|0)*10|0)-(b[o+6>>1]<<1)>>e&65535;break};case 2:{p=((b[o+2>>1]|0)*54|0)+((b[o>>1]|0)*-4|0)+(b[o+4>>1]<<4)-(b[o+6>>1]<<1)>>e&65535;break};case 3:{p=((b[o+2>>1]|0)*46|0)+((b[o>>1]|0)*-6|0)+((b[o+4>>1]|0)*28|0)-(b[o+6>>1]<<2)>>e&65535;break};case 4:{p=((b[o>>1]|0)*-4|0)-(b[o+6>>1]<<2)+(((b[o+4>>1]|0)+(b[o+2>>1]|0)|0)*36|0)>>e&65535;break};case 5:{p=((b[o+2>>1]|0)*28|0)+((b[o>>1]|0)*-4|0)+((b[o+4>>1]|0)*46|0)+((b[o+6>>1]|0)*-6|0)>>e&65535;break};case 6:{p=(b[o+2>>1]<<4)+((b[o>>1]|0)*-2|0)+((b[o+4>>1]|0)*54|0)-(b[o+6>>1]<<2)>>e&65535;break};default:{p=((b[o+2>>1]|0)*10|0)+((b[o>>1]|0)*-2|0)+((b[o+4>>1]|0)*58|0)-(b[o+6>>1]<<1)>>e&65535}}v=a+((ga(q,c)|0)+j<<1)|0;b[v>>1]=p;q=q+1|0;if((q|0)<(h|0)){o=o+2|0}else{break b}}}}while(0);j=j+1|0;}while((j|0)<(g|0));i=l;return}function Lg(a,c,d,f,g,h,j,k,l,m){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;q=m-8|0;n=h+3|0;p=ga(g<<1,n)|0;m=i;i=i+p|0;i=i+7&-8;p=h+2|0;if((p|0)>-1){o=(g|0)>0;s=-1;while(1){a:do{if(o){r=s+1|0;s=d+((ga(s,f)|0)-1<<1)|0;u=0;while(1){switch(j|0){case 2:{t=((e[s+2>>1]|0)*54|0)+((e[s>>1]|0)*-4|0)+(e[s+4>>1]<<4)-(e[s+6>>1]<<1)>>q&65535;break};case 3:{t=((e[s+2>>1]|0)*46|0)+((e[s>>1]|0)*-6|0)+((e[s+4>>1]|0)*28|0)-(e[s+6>>1]<<2)>>q&65535;break};case 4:{t=((e[s>>1]|0)*-4|0)-(e[s+6>>1]<<2)+(((e[s+4>>1]|0)+(e[s+2>>1]|0)|0)*36|0)>>q&65535;break};case 5:{t=((e[s+2>>1]|0)*28|0)+((e[s>>1]|0)*-4|0)+((e[s+4>>1]|0)*46|0)+((e[s+6>>1]|0)*-6|0)>>q&65535;break};case 6:{t=(e[s+2>>1]<<4)+((e[s>>1]|0)*-2|0)+((e[s+4>>1]|0)*54|0)-(e[s+6>>1]<<2)>>q&65535;break};case 0:{t=b[s+2>>1]|0;break};case 1:{t=((e[s+2>>1]|0)*58|0)+((e[s>>1]|0)*-2|0)+((e[s+4>>1]|0)*10|0)-(e[s+6>>1]<<1)>>q&65535;break};default:{t=((e[s+2>>1]|0)*10|0)+((e[s>>1]|0)*-2|0)+((e[s+4>>1]|0)*58|0)-(e[s+6>>1]<<1)>>q&65535}}v=m+(r+(ga(u,n)|0)<<1)|0;b[v>>1]=t;u=u+1|0;if((u|0)<(g|0)){s=s+2|0}else{break a}}}else{r=s+1|0}}while(0);if((r|0)<(p|0)){s=r}else{break}}}d=(j|0)==0?q:6;if((g|0)<=0){i=l;return}f=(h|0)>0;j=0;do{b:do{if(f){o=m+((ga(j,n)|0)<<1)|0;q=0;while(1){switch(k|0){case 3:{p=((b[o+2>>1]|0)*46|0)+((b[o>>1]|0)*-6|0)+((b[o+4>>1]|0)*28|0)-(b[o+6>>1]<<2)>>d&65535;break};case 4:{p=((b[o>>1]|0)*-4|0)-(b[o+6>>1]<<2)+(((b[o+4>>1]|0)+(b[o+2>>1]|0)|0)*36|0)>>d&65535;break};case 5:{p=((b[o+2>>1]|0)*28|0)+((b[o>>1]|0)*-4|0)+((b[o+4>>1]|0)*46|0)+((b[o+6>>1]|0)*-6|0)>>d&65535;break};case 6:{p=(b[o+2>>1]<<4)+((b[o>>1]|0)*-2|0)+((b[o+4>>1]|0)*54|0)-(b[o+6>>1]<<2)>>d&65535;break};case 0:{p=b[o+2>>1]|0;break};case 1:{p=((b[o+2>>1]|0)*58|0)+((b[o>>1]|0)*-2|0)+((b[o+4>>1]|0)*10|0)-(b[o+6>>1]<<1)>>d&65535;break};case 2:{p=((b[o+2>>1]|0)*54|0)+((b[o>>1]|0)*-4|0)+(b[o+4>>1]<<4)-(b[o+6>>1]<<1)>>d&65535;break};default:{p=((b[o+2>>1]|0)*10|0)+((b[o>>1]|0)*-2|0)+((b[o+4>>1]|0)*58|0)-(b[o+6>>1]<<1)>>d&65535}}v=a+((ga(q,c)|0)+j<<1)|0;b[v>>1]=p;q=q+1|0;if((q|0)<(h|0)){o=o+2|0}else{break b}}}}while(0);j=j+1|0;}while((j|0)<(g|0));i=l;return}function Mg(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0){return}j=(g|0)>0;i=0;do{if(j){m=0;k=a+((ga(i,c)|0)<<1)|0;l=e+(ga(i,f)|0)|0;while(1){p=(d[l+1|0]|0)<<6;o=(d[l+2|0]|0)<<6;n=(d[l+3|0]|0)<<6;b[k>>1]=(d[l]|0)<<6;b[k+2>>1]=p;b[k+4>>1]=o;b[k+6>>1]=n;m=m+4|0;if((m|0)<(g|0)){k=k+8|0;l=l+4|0}else{break}}}i=i+1|0;}while((i|0)<(h|0));return}function Ng(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;i=14-j|0;if((h|0)<=0){return}k=(g|0)>0;j=0;do{if(k){l=d+((ga(j,f)|0)<<1)|0;m=a+((ga(j,c)|0)<<1)|0;n=0;while(1){b[m>>1]=(e[l>>1]|0)<<i;n=n+1|0;if((n|0)<(g|0)){l=l+2|0;m=m+2|0}else{break}}}j=j+1|0;}while((j|0)<(h|0));return}function Og(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;Pg(a,b,c,d,e,f,g,0,1,8);return}function Pg(a,e,f,g,h,i,j,k,l,m){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=c[30784+(k<<2)>>2]|0;p=c[30784+(l<<2)>>2]|0;q=c[30888+(l<<2)>>2]|0;n=p+i+q|0;m=m-8|0;do{if((k|0)==2){u=-p|0;q=q+i|0;if((q|0)<=(u|0)){break}r=(h|0)>0;do{if(r){s=f+((ga(u,g)|0)-o)|0;v=j+(u+p<<1)|0;w=0;while(1){t=s+1|0;b[v>>1]=(d[t]<<2)-(d[s]|0)+(d[s+6|0]<<2)-(d[s+7|0]|0)+(((d[s+4|0]|0)+(d[s+3|0]|0)|0)*40|0)+(((d[s+5|0]|0)+(d[s+2|0]|0)|0)*-11|0)>>m;w=w+1|0;if((w|0)<(h|0)){s=t;v=v+(n<<1)|0}else{break}}}u=u+1|0;}while((u|0)<(q|0))}else if((k|0)==3){s=-p|0;q=q+i|0;if((q|0)<=(s|0)){break}r=(h|0)>0;do{if(r){u=f+((ga(s,g)|0)-o)|0;t=j+(s+p<<1)|0;w=0;while(1){v=u+1|0;b[t>>1]=((d[v]|0)*-5|0)+(d[u]|0)+((d[u+2|0]|0)*17|0)+((d[u+3|0]|0)*58|0)+((d[u+4|0]|0)*-10|0)+(d[u+5|0]<<2)-(d[u+6|0]|0)>>m;w=w+1|0;if((w|0)<(h|0)){u=v;t=t+(n<<1)|0}else{break}}}s=s+1|0;}while((s|0)<(q|0))}else if((k|0)==1){v=-p|0;r=q+i|0;if((r|0)<=(v|0)){break}q=(h|0)>0;do{if(q){t=f+((ga(v,g)|0)-o)|0;u=j+(v+p<<1)|0;w=0;while(1){s=t+1|0;b[u>>1]=(d[s]<<2)-(d[t]|0)+((d[t+2|0]|0)*-10|0)+((d[t+3|0]|0)*58|0)+((d[t+4|0]|0)*17|0)+((d[t+5|0]|0)*-5|0)+(d[t+6|0]|0)>>m;w=w+1|0;if((w|0)<(h|0)){t=s;u=u+(n<<1)|0}else{break}}}v=v+1|0;}while((v|0)<(r|0))}else if((k|0)==0){s=-p|0;q=q+i|0;if((q|0)<=(s|0)){break}r=(h|0)>0;do{if(r){u=f+((ga(s,g)|0)-o)|0;t=j+(s+p<<1)|0;v=0;while(1){b[t>>1]=d[u]|0;v=v+1|0;if((v|0)<(h|0)){u=u+1|0;t=t+(n<<1)|0}else{break}}}s=s+1|0;}while((s|0)<(q|0))}}while(0);k=(k|0)==0?m:6;if((l|0)==3){if((h|0)<=0){return}l=(i|0)>0;f=0;do{if(l){p=j+((ga(f,n)|0)<<1)|0;o=a+(f<<1)|0;m=0;while(1){g=p+2|0;b[o>>1]=((b[g>>1]|0)*-5|0)+(b[p>>1]|0)+((b[p+4>>1]|0)*17|0)+((b[p+6>>1]|0)*58|0)+((b[p+8>>1]|0)*-10|0)+(b[p+10>>1]<<2)-(b[p+12>>1]|0)>>k;m=m+1|0;if((m|0)<(i|0)){p=g;o=o+(e<<1)|0}else{break}}}f=f+1|0;}while((f|0)<(h|0));return}else if((l|0)==2){if((h|0)<=0){return}o=(i|0)>0;l=0;do{if(o){g=j+((ga(l,n)|0)<<1)|0;p=a+(l<<1)|0;m=0;while(1){f=g+2|0;b[p>>1]=(b[f>>1]<<2)-(b[g>>1]|0)+(b[g+12>>1]<<2)-(b[g+14>>1]|0)+(((b[g+8>>1]|0)+(b[g+6>>1]|0)|0)*40|0)+(((b[g+10>>1]|0)+(b[g+4>>1]|0)|0)*-11|0)>>k;m=m+1|0;if((m|0)<(i|0)){g=f;p=p+(e<<1)|0}else{break}}}l=l+1|0;}while((l|0)<(h|0));return}else if((l|0)==1){if((h|0)<=0){return}p=(i|0)>0;o=0;do{if(p){f=j+((ga(o,n)|0)<<1)|0;g=a+(o<<1)|0;m=0;while(1){l=f+2|0;b[g>>1]=(b[l>>1]<<2)-(b[f>>1]|0)+((b[f+4>>1]|0)*-10|0)+((b[f+6>>1]|0)*58|0)+((b[f+8>>1]|0)*17|0)+((b[f+10>>1]|0)*-5|0)+(b[f+12>>1]|0)>>k;m=m+1|0;if((m|0)<(i|0)){f=l;g=g+(e<<1)|0}else{break}}}o=o+1|0;}while((o|0)<(h|0));return}else if((l|0)==0){if((h|0)<=0){return}k=(i|0)>0;l=0;do{if(k){o=j+((ga(l,n)|0)<<1)|0;p=a+(l<<1)|0;g=0;while(1){b[p>>1]=b[o>>1]|0;g=g+1|0;if((g|0)<(i|0)){o=o+2|0;p=p+(e<<1)|0}else{break}}}l=l+1|0;}while((l|0)<(h|0));return}else{return}}function Qg(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;Pg(a,b,c,d,e,f,g,0,2,8);return}function Rg(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;Pg(a,b,c,d,e,f,g,0,3,8);return}function Sg(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;Pg(a,b,c,d,e,f,g,1,0,8);return}function Tg(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;Pg(a,b,c,d,e,f,g,1,1,8);return}function Ug(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;Pg(a,b,c,d,e,f,g,1,2,8);return}function Vg(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;Pg(a,b,c,d,e,f,g,1,3,8);return}function Wg(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;Pg(a,b,c,d,e,f,g,2,0,8);return}function Xg(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;Pg(a,b,c,d,e,f,g,2,1,8);return}function Yg(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;Pg(a,b,c,d,e,f,g,2,2,8);return}function Zg(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;Pg(a,b,c,d,e,f,g,2,3,8);return}function _g(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;Pg(a,b,c,d,e,f,g,3,0,8);return}function $g(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;Pg(a,b,c,d,e,f,g,3,1,8);return}function ah(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;Pg(a,b,c,d,e,f,g,3,2,8);return}function bh(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;Pg(a,b,c,d,e,f,g,3,3,8);return}function ch(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;dh(a,b,c,d,e,f,g,0,1,h);return}function dh(a,d,f,g,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=c[30784+(k<<2)>>2]|0;o=c[30784+(l<<2)>>2]|0;q=c[30888+(l<<2)>>2]|0;n=o+i+q|0;m=m-8|0;do{if((k|0)==1){s=-o|0;q=q+i|0;if((q|0)<=(s|0)){break}r=(h|0)>0;do{if(r){u=f+((ga(s,g)|0)-p<<1)|0;t=j+(s+o<<1)|0;w=0;while(1){v=u+2|0;b[t>>1]=(e[v>>1]<<2)-(e[u>>1]|0)+((e[u+4>>1]|0)*-10|0)+((e[u+6>>1]|0)*58|0)+((e[u+8>>1]|0)*17|0)+((e[u+10>>1]|0)*-5|0)+(e[u+12>>1]|0)>>m;w=w+1|0;if((w|0)<(h|0)){u=v;t=t+(n<<1)|0}else{break}}}s=s+1|0;}while((s|0)<(q|0))}else if((k|0)==2){s=-o|0;q=q+i|0;if((q|0)<=(s|0)){break}r=(h|0)>0;do{if(r){u=f+((ga(s,g)|0)-p<<1)|0;t=j+(s+o<<1)|0;w=0;while(1){v=u+2|0;b[t>>1]=(e[v>>1]<<2)-(e[u>>1]|0)+(e[u+12>>1]<<2)-(e[u+14>>1]|0)+(((e[u+8>>1]|0)+(e[u+6>>1]|0)|0)*40|0)+(((e[u+10>>1]|0)+(e[u+4>>1]|0)|0)*-11|0)>>m;w=w+1|0;if((w|0)<(h|0)){u=v;t=t+(n<<1)|0}else{break}}}s=s+1|0;}while((s|0)<(q|0))}else if((k|0)==0){s=-o|0;r=q+i|0;if((r|0)<=(s|0)){break}q=(h|0)>0;do{if(q){t=f+((ga(s,g)|0)-p<<1)|0;u=j+(s+o<<1)|0;v=0;while(1){b[u>>1]=b[t>>1]|0;v=v+1|0;if((v|0)<(h|0)){t=t+2|0;u=u+(n<<1)|0}else{break}}}s=s+1|0;}while((s|0)<(r|0))}else if((k|0)==3){s=-o|0;r=q+i|0;if((r|0)<=(s|0)){break}q=(h|0)>0;do{if(q){v=f+((ga(s,g)|0)-p<<1)|0;t=j+(s+o<<1)|0;w=0;while(1){u=v+2|0;b[t>>1]=((e[u>>1]|0)*-5|0)+(e[v>>1]|0)+((e[v+4>>1]|0)*17|0)+((e[v+6>>1]|0)*58|0)+((e[v+8>>1]|0)*-10|0)+(e[v+10>>1]<<2)-(e[v+12>>1]|0)>>m;w=w+1|0;if((w|0)<(h|0)){v=u;t=t+(n<<1)|0}else{break}}}s=s+1|0;}while((s|0)<(r|0))}}while(0);o=(k|0)==0?m:6;if((l|0)==3){if((h|0)<=0){return}k=(i|0)>0;l=0;do{if(k){p=j+((ga(l,n)|0)<<1)|0;f=a+(l<<1)|0;m=0;while(1){g=p+2|0;b[f>>1]=((b[g>>1]|0)*-5|0)+(b[p>>1]|0)+((b[p+4>>1]|0)*17|0)+((b[p+6>>1]|0)*58|0)+((b[p+8>>1]|0)*-10|0)+(b[p+10>>1]<<2)-(b[p+12>>1]|0)>>o;m=m+1|0;if((m|0)<(i|0)){p=g;f=f+(d<<1)|0}else{break}}}l=l+1|0;}while((l|0)<(h|0));return}else if((l|0)==2){if((h|0)<=0){return}k=(i|0)>0;l=0;do{if(k){p=j+((ga(l,n)|0)<<1)|0;f=a+(l<<1)|0;m=0;while(1){g=p+2|0;b[f>>1]=(b[g>>1]<<2)-(b[p>>1]|0)+(b[p+12>>1]<<2)-(b[p+14>>1]|0)+(((b[p+8>>1]|0)+(b[p+6>>1]|0)|0)*40|0)+(((b[p+10>>1]|0)+(b[p+4>>1]|0)|0)*-11|0)>>o;m=m+1|0;if((m|0)<(i|0)){p=g;f=f+(d<<1)|0}else{break}}}l=l+1|0;}while((l|0)<(h|0));return}else if((l|0)==1){if((h|0)<=0){return}p=(i|0)>0;g=0;do{if(p){k=j+((ga(g,n)|0)<<1)|0;f=a+(g<<1)|0;m=0;while(1){l=k+2|0;b[f>>1]=(b[l>>1]<<2)-(b[k>>1]|0)+((b[k+4>>1]|0)*-10|0)+((b[k+6>>1]|0)*58|0)+((b[k+8>>1]|0)*17|0)+((b[k+10>>1]|0)*-5|0)+(b[k+12>>1]|0)>>o;m=m+1|0;if((m|0)<(i|0)){k=l;f=f+(d<<1)|0}else{break}}}g=g+1|0;}while((g|0)<(h|0));return}else if((l|0)==0){if((h|0)<=0){return}o=(i|0)>0;l=0;do{if(o){k=j+((ga(l,n)|0)<<1)|0;f=a+(l<<1)|0;p=0;while(1){b[f>>1]=b[k>>1]|0;p=p+1|0;if((p|0)<(i|0)){k=k+2|0;f=f+(d<<1)|0}else{break}}}l=l+1|0;}while((l|0)<(h|0));return}else{return}}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;dh(a,b,c,d,e,f,g,0,2,h);return}function fh(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;dh(a,b,c,d,e,f,g,0,3,h);return}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;dh(a,b,c,d,e,f,g,1,0,h);return}function hh(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;dh(a,b,c,d,e,f,g,1,1,h);return}function ih(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;dh(a,b,c,d,e,f,g,1,2,h);return}function jh(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;dh(a,b,c,d,e,f,g,1,3,h);return}function kh(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;dh(a,b,c,d,e,f,g,2,0,h);return}function lh(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;dh(a,b,c,d,e,f,g,2,1,h);return}function mh(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;dh(a,b,c,d,e,f,g,2,2,h);return}function nh(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;dh(a,b,c,d,e,f,g,2,3,h);return}function oh(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;dh(a,b,c,d,e,f,g,3,0,h);return}function ph(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;dh(a,b,c,d,e,f,g,3,1,h);return}function qh(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;dh(a,b,c,d,e,f,g,3,2,h);return}function rh(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;dh(a,b,c,d,e,f,g,3,3,h);return}function sh(a){a=a|0;dv(a+8|0,0,48)|0;c[a>>2]=30;c[a+4>>2]=30;return}function th(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+12|0;g=c[b>>2]|0;d=a+8|0;f=c[d>>2]|0;if((g|0)!=(f|0)){e=0;do{h=c[f+(e<<2)>>2]|0;if((h|0)!=0){Rh(h);Pu(h);g=c[b>>2]|0;f=c[d>>2]|0}e=e+1|0;}while(e>>>0<g-f>>2>>>0)}e=a+32|0;Gh(e|0);g=a+36|0;i=c[g>>2]|0;f=a+40|0;h=c[f>>2]|0;do{if((i|0)!=(h|0)){do{Pu(c[i>>2]|0);i=i+4|0;}while((i|0)!=(h|0));g=c[g>>2]|0;h=c[f>>2]|0;if((h|0)==(g|0)){break}c[f>>2]=h+(~((h-4+(-g|0)|0)>>>2)<<2)}}while(0);e=c[e>>2]|0;if((e|0)!=0){Pu(e)}e=c[a+20>>2]|0;if((e|0)!=0){a=a+24|0;f=c[a>>2]|0;if((f|0)!=(e|0)){c[a>>2]=f+(~((f-4+(-e|0)|0)>>>2)<<2)}Pu(e)}d=c[d>>2]|0;if((d|0)==0){return}a=c[b>>2]|0;if((a|0)!=(d|0)){c[b>>2]=a+(~((a-4+(-d|0)|0)>>>2)<<2)}Pu(d);return}function uh(a){a=a|0;return}function vh(b,d){b=b|0;d=d|0;var e=0,f=0;if(d){f=1;return f|0}f=c[b+12>>2]|0;e=c[b+8>>2]|0;d=f-e>>2;if(d>>>0<(c[b>>2]|0)>>>0){f=1;return f|0}if((f|0)==(e|0)){f=0;return f|0}else{b=0}while(1){f=c[e+(b<<2)>>2]|0;if((a[f+100|0]|0)==0){if((c[f+96>>2]|0)==0){e=1;d=7;break}}b=b+1|0;if(!(b>>>0<d>>>0)){e=0;d=7;break}}if((d|0)==7){return e|0}return 0}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+12>>2]|0;a=c[a+8>>2]|0;a:do{if(!((f|0)==(a|0)|e^1)){e=0;b:while(1){g=c[a+(e<<2)>>2]|0;do{if((c[g+92>>2]|0)==(b|0)){if((c[g+104>>2]|0)<=(d|0)){break}if((c[g+96>>2]|0)==2){break b}}}while(0);e=e+1|0;if(!(e>>>0<f-a>>2>>>0)){break a}}return e|0}}while(0);if((f|0)==(a|0)){g=-1;return g|0}else{g=0}c:while(1){e=c[a+(g<<2)>>2]|0;do{if((c[e+92>>2]|0)==(b|0)){if((c[e+104>>2]|0)<=(d|0)){break}if((c[e+96>>2]|0)!=0){e=g;d=11;break c}}}while(0);g=g+1|0;if(!(g>>>0<f-a>>2>>>0)){e=-1;d=11;break}}if((d|0)==11){return e|0}return 0}function xh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+12>>2]|0;a=c[a+8>>2]|0;a:do{if(!((f|0)==(a|0)|e^1)){e=0;b:while(1){g=c[a+(e<<2)>>2]|0;do{if((c[g+88>>2]|0)==(b|0)){if((c[g+104>>2]|0)<=(d|0)){break}if((c[g+96>>2]|0)==2){break b}}}while(0);e=e+1|0;if(!(e>>>0<f-a>>2>>>0)){break a}}return e|0}}while(0);if((f|0)==(a|0)){g=-1;return g|0}else{g=0}c:while(1){e=c[a+(g<<2)>>2]|0;do{if((c[e+88>>2]|0)==(b|0)){if((c[e+104>>2]|0)<=(d|0)){break}if((c[e+96>>2]|0)!=0){e=g;d=11;break c}}}while(0);g=g+1|0;if(!(g>>>0<f-a>>2>>>0)){e=-1;d=11;break}}if((d|0)==11){return e|0}return 0}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;a=c[a+8>>2]|0;if((d|0)==(a|0)){f=-1;return f|0}else{e=0}while(1){f=e+1|0;if((c[c[a+(e<<2)>>2]>>2]|0)==(b|0)){b=4;break}if(f>>>0<d-a>>2>>>0){e=f}else{e=-1;b=4;break}}if((b|0)==4){return e|0}return 0}function zh(a){a=a|0;var b=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+20|0;f=c[b>>2]|0;d=a+24|0;e=c[d>>2]|0;if((f|0)==(e|0)){ec(11328,15872,147,17376)}h=e-f>>2;if(h>>>0>1>>>0){i=c[(c[f>>2]|0)+92>>2]|0;e=0;k=1;while(1){g=c[(c[f+(k<<2)>>2]|0)+92>>2]|0;j=(g|0)<(i|0);e=j?k:e;k=k+1|0;if(k>>>0<h>>>0){i=j?g:i}else{break}}}else{e=0}g=f+(e<<2)|0;i=a+40|0;h=c[i>>2]|0;k=a+36|0;j=c[k>>2]|0;if((h|0)==(j|0)){o=0}else{o=(h-j<<8)-1|0}m=a+48|0;l=c[m>>2]|0;f=a+52|0;n=c[f>>2]|0;if((o-l|0)==(n|0)){Hh(a+32|0);a=c[f>>2]|0;l=c[m>>2]|0;j=c[k>>2]|0;h=c[i>>2]|0}else{a=n}i=a+l|0;do{if((h|0)!=(j|0)){h=(c[j+(i>>>10<<2)>>2]|0)+((i&1023)<<2)|0;if((h|0)==0){break}c[h>>2]=c[g>>2]}}while(0);c[f>>2]=a+1;c[(c[b>>2]|0)+(e<<2)>>2]=c[(c[d>>2]|0)-4>>2];n=c[d>>2]|0;o=n-4|0;c[d>>2]=n+(~((o+(-o|0)|0)>>>2)<<2);return}function Ah(a){a=a|0;var b=0,d=0;b=a+20|0;d=a+24|0;if((c[b>>2]|0)==(c[d>>2]|0)){d=0;return d|0}while(1){zh(a);if((c[b>>2]|0)==(c[d>>2]|0)){a=1;break}}return a|0}function Bh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+12|0;i=c[d>>2]|0;f=b+8|0;h=c[f>>2]|0;if((i|0)!=(h|0)){g=0;do{l=c[h+(g<<2)>>2]|0;j=l+100|0;k=l+96|0;if((a[j]|0)==0){if((c[k>>2]|0)!=0){e=4}}else{e=4}if((e|0)==4){e=0;a[j]=0;c[k>>2]=0;Qh(l);i=c[d>>2]|0;h=c[f>>2]|0}g=g+1|0;}while(g>>>0<i-h>>2>>>0)}e=c[b+20>>2]|0;d=b+24|0;f=c[d>>2]|0;if((f|0)==(e|0)){l=b+32|0;Gh(l);return}c[d>>2]=f+(~((f-4+(-e|0)|0)>>>2)<<2);l=b+32|0;Gh(l);return}function Ch(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+8|0;o=k|0;n=b+8|0;m=b+12|0;r=c[m>>2]|0;l=n|0;q=c[l>>2]|0;a:do{if((r|0)==(q|0)){p=-1;s=r;q=r}else{p=0;while(1){s=c[q+(p<<2)>>2]|0;if((a[s+100|0]|0)==0){if((c[s+96>>2]|0)==0){break}}p=p+1|0;if(!(p>>>0<r-q>>2>>>0)){p=-1;s=r;break a}}Qh(s);s=c[m>>2]|0;q=c[l>>2]|0}}while(0);r=s-q>>2;do{if(!(r>>>0<=(c[b+4>>2]|0)>>>0|(p|0)==(r-1|0))){q=c[s-4>>2]|0;if((a[q+100|0]|0)!=0){break}if((c[q+96>>2]|0)!=0){break}if((q|0)!=0){Rh(q);Pu(q);s=c[m>>2]|0}r=s-4|0;s=s+(~((r+(-r|0)|0)>>>2)<<2)|0;c[m>>2]=s}}while(0);do{if((p|0)==-1){p=s-(c[l>>2]|0)>>2;r=Nu(10624)|0;Oh(r);c[o>>2]=r;q=c[m>>2]|0;if(!(q>>>0<(c[b+16>>2]|0)>>>0)){Fh(n,o);break}if((q|0)==0){n=0}else{c[q>>2]=r;n=c[m>>2]|0}c[m>>2]=n+4}}while(0);m=c[(c[l>>2]|0)+(p<<2)>>2]|0;l=c[d+476>>2]|0;if(l>>>0<4>>>0){Ph(m,c[d+484>>2]|0,c[d+488>>2]|0,l,d,1,e,0,f,g,h,j)|0;a[m+10516|0]=0;i=k;return p|0}else{ec(13160,15872,259,17360);return 0}return 0}function Dh(a){a=a|0;var b=0,d=0;b=a+36|0;d=a+48|0;a=a+52|0;c[a>>2]=(c[a>>2]|0)-1;a=(c[d>>2]|0)+1|0;c[d>>2]=a;if(!(a>>>0>2047>>>0)){return}Pu(c[c[b>>2]>>2]|0);c[b>>2]=(c[b>>2]|0)+4;c[d>>2]=(c[d>>2]|0)-1024;return}function Eh(a){a=a|0;return}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+4|0;d=a|0;h=c[d>>2]|0;k=h;g=(c[f>>2]|0)-k|0;i=g>>2;e=i+1|0;if(e>>>0>1073741823>>>0){Nr(0)}a=a+8|0;k=(c[a>>2]|0)-k|0;if(k>>2>>>0<536870911>>>0){k=k>>1;l=k>>>0<e>>>0?e:k;if((l|0)==0){k=0;l=0}else{j=5}}else{l=1073741823;j=5}if((j|0)==5){k=Nu(l<<2)|0}i=k+(i<<2)|0;if((i|0)!=0){c[i>>2]=c[b>>2]}b=h;cv(k|0,b|0,g)|0;c[d>>2]=k;c[f>>2]=k+(e<<2);c[a>>2]=k+(l<<2);if((h|0)==0){return}Pu(b);return}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=a+4|0;f=c[e>>2]|0;b=a+16|0;j=c[b>>2]|0;i=f+(j>>>10<<2)|0;d=a+8|0;h=c[d>>2]|0;if((h|0)==(f|0)){g=0;j=0;a=a+20|0}else{a=a+20|0;g=j+(c[a>>2]|0)|0;g=(c[f+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;j=(c[i>>2]|0)+((j&1023)<<2)|0}a:while(1){do{if((j|0)==(g|0)){break a}j=j+4|0;}while((j-(c[i>>2]|0)|0)!=4096);j=i+4|0;i=j;j=c[j>>2]|0}c[a>>2]=0;g=h-f>>2;if(g>>>0>2>>>0){do{Pu(c[f>>2]|0);f=(c[e>>2]|0)+4|0;c[e>>2]=f;g=(c[d>>2]|0)-f>>2;}while(g>>>0>2>>>0)}if((g|0)==2){c[b>>2]=1024;return}else if((g|0)==1){c[b>>2]=512;return}else{return}}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+48|0;m=b|0;l=b+8|0;h=b+16|0;j=b+40|0;e=a+16|0;d=c[e>>2]|0;if(d>>>0>1023>>>0){c[e>>2]=d-1024;g=a+4|0;j=c[g>>2]|0;e=c[j>>2]|0;m=j+4|0;c[g>>2]=m;d=a+8|0;h=c[d>>2]|0;f=a+12|0;do{if((h|0)==(c[f>>2]|0)){a=a|0;n=c[a>>2]|0;if(m>>>0>n>>>0){q=m;f=((q-n>>2)+1|0)/-2|0;h=h-q|0;fv(j+(f+1<<2)|0,m|0,h|0)|0;h=j+((h>>2)+1+f<<2)|0;c[d>>2]=h;c[g>>2]=(c[g>>2]|0)+(f<<2);f=13;break}j=h-n>>1;j=(j|0)==0?1:j;l=Nu(j<<2)|0;k=l+(j>>>2<<2)|0;j=l+(j<<2)|0;if((m|0)==(h|0)){h=k}else{n=k;do{if((n|0)==0){n=0}else{c[n>>2]=c[m>>2]}n=n+4|0;m=m+4|0;}while((m|0)!=(h|0));h=n;n=c[a>>2]|0}c[a>>2]=l;c[g>>2]=k;c[d>>2]=h;c[f>>2]=j;if((n|0)==0){f=12;break}Pu(n);h=c[d>>2]|0;f=12}else{f=12}}while(0);if((f|0)==12){if((h|0)==0){e=0}else{f=13}}if((f|0)==13){c[h>>2]=e;e=c[d>>2]|0}c[d>>2]=e+4;i=b;return}p=a|0;d=a+8|0;n=c[d>>2]|0;f=a+4|0;k=n-(c[f>>2]|0)>>2;e=a+12|0;o=c[e>>2]|0;g=a|0;q=o-(c[g>>2]|0)|0;if(!(k>>>0<q>>2>>>0)){l=q>>1;q=(l|0)==0?1:l;l=h+12|0;c[h+16>>2]=a+12;p=Nu(q<<2)|0;m=h|0;c[m>>2]=p;o=p+(k<<2)|0;a=h+8|0;c[a>>2]=o;k=h+4|0;c[k>>2]=o;c[l>>2]=p+(q<<2);q=Nu(4096)|0;c[j>>2]=q;Kh(h,j);j=c[d>>2]|0;while(1){if((j|0)==(c[f>>2]|0)){break}q=j-4|0;Lh(h,q);j=q}h=c[g>>2]|0;c[g>>2]=c[m>>2];c[m>>2]=h;c[f>>2]=c[k>>2];c[k>>2]=j;f=c[d>>2]|0;c[d>>2]=c[a>>2];c[a>>2]=f;q=c[e>>2]|0;c[e>>2]=c[l>>2];c[l>>2]=q;if((f|0)!=(j|0)){c[a>>2]=f+(~((f-4+(-j|0)|0)>>>2)<<2)}if((h|0)==0){i=b;return}Pu(h);i=b;return}a=Nu(4096)|0;if((o|0)!=(n|0)){c[m>>2]=a;Ih(p,m);i=b;return}c[l>>2]=a;Jh(p,l);h=c[f>>2]|0;a=c[h>>2]|0;n=h+4|0;c[f>>2]=n;l=c[d>>2]|0;do{if((l|0)==(c[e>>2]|0)){m=c[g>>2]|0;if(n>>>0>m>>>0){p=n;q=((p-m>>2)+1|0)/-2|0;l=l-p|0;fv(h+(q+1<<2)|0,n|0,l|0)|0;l=h+((l>>2)+1+q<<2)|0;c[d>>2]=l;c[f>>2]=(c[f>>2]|0)+(q<<2);f=29;break}h=l-m>>1;h=(h|0)==0?1:h;k=Nu(h<<2)|0;j=k+(h>>>2<<2)|0;h=k+(h<<2)|0;if((n|0)==(l|0)){l=j}else{m=j;do{if((m|0)==0){m=0}else{c[m>>2]=c[n>>2]}m=m+4|0;n=n+4|0;}while((n|0)!=(l|0));l=m;m=c[g>>2]|0}c[g>>2]=k;c[f>>2]=j;c[d>>2]=l;c[e>>2]=h;if((m|0)==0){f=28;break}Pu(m);l=c[d>>2]|0;f=28}else{f=28}}while(0);if((f|0)==28){if((l|0)==0){e=0}else{f=29}}if((f|0)==29){c[l>>2]=a;e=c[d>>2]|0}c[d>>2]=e+4;i=b;return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;h=c[d>>2]|0;e=a+12|0;do{if((h|0)==(c[e>>2]|0)){f=a+4|0;k=c[f>>2]|0;a=a|0;l=c[a>>2]|0;if(k>>>0>l>>>0){j=k;l=((j-l>>2)+1|0)/-2|0;h=h-j|0;fv(k+(l<<2)|0,k|0,h|0)|0;h=k+(l+(h>>2)<<2)|0;c[d>>2]=h;c[f>>2]=(c[f>>2]|0)+(l<<2);break}g=h-l>>1;j=(g|0)==0?1:g;i=Nu(j<<2)|0;g=i+(j>>>2<<2)|0;j=i+(j<<2)|0;if((k|0)==(h|0)){h=g}else{l=g;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(h|0));h=l;l=c[a>>2]|0}c[a>>2]=i;c[f>>2]=g;c[d>>2]=h;c[e>>2]=j;if((l|0)==0){break}Pu(l);h=c[d>>2]|0}}while(0);if((h|0)==0){l=0;l=l+4|0;c[d>>2]=l;return}c[h>>2]=c[b>>2];l=c[d>>2]|0;l=l+4|0;c[d>>2]=l;return}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;k=c[d>>2]|0;e=a|0;do{if((k|0)==(c[e>>2]|0)){f=a+8|0;g=c[f>>2]|0;a=a+12|0;l=c[a>>2]|0;h=l;if(g>>>0<l>>>0){j=g;l=((h-j>>2)+1|0)/2|0;j=j-k|0;i=g+(l-(j>>2)<<2)|0;fv(i|0,k|0,j|0)|0;c[d>>2]=i;c[f>>2]=(c[f>>2]|0)+(l<<2);break}h=h-k>>1;j=(h|0)==0?1:h;h=Nu(j<<2)|0;i=h+((j+3|0)>>>2<<2)|0;j=h+(j<<2)|0;if((k|0)==(g|0)){l=i}else{l=i;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(g|0));k=c[e>>2]|0}c[e>>2]=h;c[d>>2]=i;c[f>>2]=l;c[a>>2]=j;if((k|0)==0){break}Pu(k);i=c[d>>2]|0}else{i=k}}while(0);c[i-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;h=c[d>>2]|0;e=a+12|0;do{if((h|0)==(c[e>>2]|0)){f=a+4|0;k=c[f>>2]|0;a=a|0;l=c[a>>2]|0;if(k>>>0>l>>>0){j=k;l=((j-l>>2)+1|0)/-2|0;h=h-j|0;fv(k+(l<<2)|0,k|0,h|0)|0;h=k+(l+(h>>2)<<2)|0;c[d>>2]=h;c[f>>2]=(c[f>>2]|0)+(l<<2);break}g=h-l>>1;j=(g|0)==0?1:g;i=Nu(j<<2)|0;g=i+(j>>>2<<2)|0;j=i+(j<<2)|0;if((k|0)==(h|0)){h=g}else{l=g;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(h|0));h=l;l=c[a>>2]|0}c[a>>2]=i;c[f>>2]=g;c[d>>2]=h;c[e>>2]=j;if((l|0)==0){break}Pu(l);h=c[d>>2]|0}}while(0);if((h|0)==0){l=0;l=l+4|0;c[d>>2]=l;return}c[h>>2]=c[b>>2];l=c[d>>2]|0;l=l+4|0;c[d>>2]=l;return}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;k=c[d>>2]|0;e=a|0;do{if((k|0)==(c[e>>2]|0)){f=a+8|0;g=c[f>>2]|0;a=a+12|0;l=c[a>>2]|0;h=l;if(g>>>0<l>>>0){j=g;l=((h-j>>2)+1|0)/2|0;j=j-k|0;i=g+(l-(j>>2)<<2)|0;fv(i|0,k|0,j|0)|0;c[d>>2]=i;c[f>>2]=(c[f>>2]|0)+(l<<2);break}h=h-k>>1;j=(h|0)==0?1:h;h=Nu(j<<2)|0;i=h+((j+3|0)>>>2<<2)|0;j=h+(j<<2)|0;if((k|0)==(g|0)){l=i}else{l=i;do{if((l|0)==0){l=0}else{c[l>>2]=c[k>>2]}l=l+4|0;k=k+4|0;}while((k|0)!=(g|0));k=c[e>>2]|0}c[e>>2]=h;c[d>>2]=i;c[f>>2]=l;c[a>>2]=j;if((k|0)==0){break}Pu(k);i=c[d>>2]|0}else{i=k}}while(0);c[i-4>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)-4;return}function Mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[b+4>>2]|0;e=c[b+8>>2]|0;f=(e|0)/(c[d+5784>>2]|0)|0;a=c[b+12>>2]|0;b=g-1+a|0;b=b-((b|0)%(a|0)|0)|0;g=((g|0)/(c[d+5780>>2]|0)|0)-1+a|0;a=g-((g|0)%(a|0)|0)|0;g=c[d+5760>>2]|0;if(!((g-8|0)>>>0<9>>>0)){ec(15720,15792,115,17912);return 0}h=c[d+5768>>2]|0;if(!((h-8|0)>>>0<9>>>0)){ec(15344,15792,116,17912);return 0}e=Ku(16,ga(ga(b,e)|0,(g+7|0)/8|0)|0)|0;g=(e|0)==0;do{if((c[d+20>>2]|0)==0){if(g){d=0}else{a=0;h=0;f=0;break}return d|0}else{f=ga(ga(a,f)|0,(h+7|0)/8|0)|0;h=Ku(16,f)|0;f=Ku(16,f)|0;if(!((h|0)==0|(f|0)==0|g)){break}if(!g){Hu(e)}if((h|0)!=0){Hu(h)}if((f|0)==0){h=0;return h|0}Hu(f);h=0;return h|0}}while(0);c[d+4>>2]=e;c[d+10492>>2]=0;c[d+40>>2]=b;c[d+8>>2]=h;c[d+10496>>2]=0;c[d+12>>2]=f;c[d+10500>>2]=0;c[d+44>>2]=a;h=1;return h|0}function Nh(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+4>>2]|0;if((a|0)!=0){Hu(a)}a=c[b+8>>2]|0;if((a|0)!=0){Hu(a)}b=c[b+12>>2]|0;if((b|0)==0){return}Hu(b);return}function Oh(b){b=b|0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+700>>2]=0;c[b+704>>2]=0;c[b+708>>2]=0;dv(b+736|0,0,24)|0;ik(b+764|0);jj(b+5932|0);a[b+10518|0]=0;a[b+10519|0]=0;a[b+10520|0]=0;dv(b+10340|0,0,140)|0;c[b>>2]=-1;c[b+104>>2]=0;c[b+10332>>2]=0;c[b+10336>>2]=0;c[b+10512>>2]=0;c[b+4>>2]=0;c[b+60>>2]=0;c[b+8>>2]=0;c[b+64>>2]=0;c[b+12>>2]=0;c[b+68>>2]=0;c[b+28>>2]=0;c[b+24>>2]=0;c[b+10524>>2]=0;dv(b+10480|0,0,24)|0;a[b+10516|0]=2;c[b+88>>2]=-1;c[b+92>>2]=-1;c[b+96>>2]=0;a[b+100|0]=0;dv(b+10528|0,0,20)|0;tk(b+10548|0);xk(b+10572|0);return}function Ph(b,d,e,f,g,h,j,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=i;i=i+40|0;r=p|0;if((g|0)==0){ec(13112,15792,240,17792);return 0}t=b+764|0;cv(t|0,g|0,4717)|0;if((t|0)!=(g|0)){zf(b+5484|0,c[g+4720>>2]|0,c[g+4724>>2]|0)}cv(b+5496|0,g+4732|0,436)|0;Qh(b);s=c[8838]|0;c[8838]=s+1;c[b>>2]=s;c[b+104>>2]=2147483647;c[b+10332>>2]=j;c[b+10336>>2]=k;c[b+20>>2]=f;c[b+24>>2]=d;c[b+28>>2]=e;s=b+32|0;c[s>>2]=d;t=b+36|0;c[t>>2]=e;c[b+10488>>2]=n;n=b+10480|0;c[n>>2]=l;c[n+4>>2]=m;if((f|0)==1){m=2;q=8}else if((f|0)==0|(f|0)==3){l=1;m=1}else if((f|0)==2){m=1;q=8}else{ec(10232,15792,276,17792);return 0}if((q|0)==8){l=2}if((f|0)==2){c[r>>2]=3;n=(d+1|0)/2|0;c[s>>2]=n;f=e}else if((f|0)==0){c[r>>2]=1;c[s>>2]=0;c[t>>2]=0;n=0;f=0}else if((f|0)==1){c[r>>2]=2;n=(d+1|0)/2|0;c[s>>2]=n;f=(e+1|0)/2|0;c[t>>2]=f}else if((f|0)==3){c[r>>2]=4;n=d;f=e}else{ec(7192,15792,302,17792);return 0}c[r+4>>2]=d;c[r+8>>2]=e;c[r+12>>2]=16;s=c[g+496>>2]|0;x=c[g+500>>2]|0;t=c[g+504>>2]|0;w=c[g+508>>2]|0;y=x+s|0;v=d-(ga(y,l)|0)|0;c[b+72>>2]=v;d=w+t|0;u=e-(ga(d,m)|0)|0;c[b+76>>2]=u;c[b+80>>2]=n-y;c[b+84>>2]=f-d;e=ga(s,l)|0;c[r+16>>2]=e;d=ga(x,l)|0;c[r+20>>2]=d;d=ga(t,m)|0;c[r+24>>2]=d;l=ga(w,m)|0;c[r+28>>2]=l;c[r+32>>2]=v;c[r+36>>2]=u;a[b+16|0]=(c[g+4996>>2]|0)>8|0;l=(c[g+5004>>2]|0)>8|0;a[b+17|0]=l;a[b+18|0]=l;l=(j|0)==0;if(l){m=0}else{m=c[j+544>>2]|0}f=(k|0)==0;do{if(f){o=o^1;q=23}else{m=c[k+3060>>2]|0;o=o^1;if(f|o){q=23;break}y=c[k+3064>>2]|0;c[b+10512>>2]=y;o=b+10504|0;if((y|0)==0){q=o;y=27248;o=c[y>>2]|0;y=c[y+4>>2]|0;c[q>>2]=o;c[q+4>>2]=y;q=26;break}else{c[o>>2]=0;c[b+10508>>2]=0;break}}}while(0);do{if((q|0)==23){q=b+10504|0;if(l|o){y=27248;o=c[y>>2]|0;y=c[y+4>>2]|0;c[q>>2]=o;c[q+4>>2]=y;q=26;break}else{y=j+536|0;o=c[y>>2]|0;y=c[y+4>>2]|0;c[q>>2]=o;c[q+4>>2]=y;q=26;break}}}while(0);do{if((q|0)==26){if((o|0)==0){break}y=(Sc[o&15](j,r,b,m)|0)==0;x=(c[b+4>>2]|0)+((ga(c[b+40>>2]|0,d)|0)+e)|0;c[b+60>>2]=x;x=(ga(c[b+44>>2]|0,t)|0)+s|0;c[b+64>>2]=(c[b+8>>2]|0)+x;c[b+68>>2]=(c[b+12>>2]|0)+x;if(y){q=7}else{break}i=p;return q|0}}while(0);do{if(h){o=g+5112|0;k=c[o>>2]|0;j=g+5116|0;r=c[j>>2]|0;h=g+5108|0;s=c[h>>2]|0;e=ga(r,k)|0;d=b+10404|0;t=b+10400|0;l=c[t>>2]|0;do{if((e|0)==(c[d>>2]|0)){q=33}else{Hu(l);l=Gu(e)|0;c[t>>2]=l;if((l|0)==0){c[d>>2]=0;r=0;break}else{c[d>>2]=e;q=33;break}}}while(0);if((q|0)==33){c[b+10412>>2]=k;c[b+10416>>2]=r;c[b+10408>>2]=s;r=(l|0)!=0}o=c[o>>2]|0;j=c[j>>2]|0;h=c[h>>2]|0;k=ga(j,o)|0;s=b+10424|0;t=b+10420|0;e=c[t>>2]|0;do{if((k|0)==(c[s>>2]|0)){q=38}else{Hu(e);e=Gu(k)|0;c[t>>2]=e;if((e|0)==0){c[s>>2]=0;h=0;break}else{c[s>>2]=k;q=38;break}}}while(0);if((q|0)==38){c[b+10432>>2]=o;c[b+10436>>2]=j;c[b+10428>>2]=h;h=(e|0)!=0}o=r&h;j=g+5052|0;k=c[j>>2]|0;h=g+5060|0;s=c[h>>2]|0;r=g+5036|0;t=c[r>>2]|0;l=ga(s,k)|0;d=b+10364|0;e=b+10360|0;m=c[e>>2]|0;do{if((l|0)==(c[d>>2]|0)){q=43}else{Hu(m|0);y=Gu(l*3|0)|0;m=y;c[e>>2]=m;if((y|0)==0){c[d>>2]=0;k=0;break}else{c[d>>2]=l;q=43;break}}}while(0);if((q|0)==43){c[b+10372>>2]=k;c[b+10376>>2]=s;c[b+10368>>2]=t;k=(m|0)!=0}o=o&k;s=(c[r>>2]|0)-2|0;j=c[j>>2]<<s;h=c[h>>2]<<s;s=ga(h,j)|0;k=b+10384|0;r=b+10380|0;t=c[r>>2]|0;do{if((s|0)==(c[k>>2]|0)){q=48}else{Hu(t|0);y=Gu(s*12|0)|0;t=y;c[r>>2]=t;if((y|0)==0){c[k>>2]=0;h=0;break}else{c[k>>2]=s;q=48;break}}}while(0);if((q|0)==48){c[b+10392>>2]=j;c[b+10396>>2]=h;c[b+10388>>2]=2;h=(t|0)!=0}h=o&h;r=c[g+5088>>2]|0;j=c[g+5092>>2]|0;o=c[g+5100>>2]|0;s=ga(j,r)|0;k=b+10444|0;t=b+10440|0;e=c[t>>2]|0;do{if((s|0)==(c[k>>2]|0)){q=53}else{Hu(e);e=Gu(s)|0;c[t>>2]=e;if((e|0)==0){c[k>>2]=0;j=0;break}else{c[k>>2]=s;q=53;break}}}while(0);if((q|0)==53){c[b+10452>>2]=r;c[b+10456>>2]=j;c[b+10448>>2]=o;j=(e|0)!=0}h=h&j;r=((c[g+484>>2]|0)+3|0)/4|0;j=((c[g+488>>2]|0)+3|0)/4|0;k=ga(j,r)|0;o=b+10464|0;s=b+10460|0;t=c[s>>2]|0;do{if((k|0)==(c[o>>2]|0)){q=58}else{Hu(t);t=Gu(k)|0;c[s>>2]=t;if((t|0)==0){c[o>>2]=0;j=0;break}else{c[o>>2]=k;q=58;break}}}while(0);if((q|0)==58){c[b+10472>>2]=r;c[b+10476>>2]=j;c[b+10468>>2]=2;j=(t|0)!=0}j=h&j;r=b+10344|0;t=c[r>>2]|0;if((t|0)==(c[g+5072>>2]|0)){if(j){break}else{q=7}i=p;return q|0}h=b+10524|0;o=c[h>>2]|0;if((o|0)!=0){s=o-76+72|0;k=s;s=c[s>>2]|0;if((s|0)!=0){s=o+(s*76|0)|0;do{s=s-76|0;Ck(s);}while((s|0)!=(o|0))}Qu(k);t=c[r>>2]|0}k=c[g+5056>>2]|0;o=c[g+5064>>2]|0;g=c[g+5040>>2]|0;s=ga(o,k)|0;e=b+10340|0;d=c[e>>2]|0;do{if((s|0)==(t|0)){s=t;q=69}else{Hu(d);y=Gu(s*24|0)|0;d=y;c[e>>2]=d;if((y|0)==0){c[r>>2]=0;b=0;s=0;break}else{c[r>>2]=s;q=69;break}}}while(0);if((q|0)==69){c[b+10352>>2]=k;c[b+10356>>2]=o;c[b+10348>>2]=g;b=(d|0)!=0}q=j&b;b=Ra(s|0,76)|0;y=K;b=sb(b|0,4)|0;b=Ou(y|K?-1:b)|0;c[b>>2]=s;b=b+4|0;if((s|0)!=0){g=b+(s*76|0)|0;j=b;do{Bk(j);j=j+76|0;}while((j|0)!=(g|0))}c[h>>2]=b;if(q){break}else{q=7}i=p;return q|0}}while(0);y=0;i=p;return y|0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+4|0;if((c[b>>2]|0)!=0){d=c[a+10512>>2]|0;if((d|0)==0){e=c[a+10332>>2]|0;if((e|0)==0){d=0}else{d=c[e+544>>2]|0}Tc[c[a+10508>>2]&63](e,a,d)}else{h=c[a+10336>>2]|0;Tc[d&63](h,a,c[h+3060>>2]|0)}c[b>>2]=0;c[a+60>>2]=0;c[a+8>>2]=0;c[a+64>>2]=0;c[a+12>>2]=0;c[a+68>>2]=0}b=a+52|0;e=c[b>>2]|0;a=a+48|0;f=c[a>>2]|0;if((e|0)==(f|0)){return}else{d=0;g=e}while(1){e=c[f+(d<<2)>>2]|0;if((e|0)==0){e=g}else{g=c[e+1344>>2]|0;if((g|0)!=0){f=e+1348|0;h=c[f>>2]|0;if((h|0)!=(g|0)){c[f>>2]=h+(~((h-4+(-g|0)|0)>>>2)<<2)}Pu(g)}Ed(e+1332|0);h=c[e+776>>2]|0;if((h|0)!=0){f=e+780|0;g=c[f>>2]|0;if((g|0)!=(h|0)){c[f>>2]=g+(~((g-4+(-h|0)|0)>>>2)<<2)}Pu(h)}Pu(e);e=c[b>>2]|0;f=c[a>>2]|0}d=d+1|0;g=f;if(d>>>0<e-g>>2>>>0){g=e}else{break}}if((e|0)==(f|0)){return}c[b>>2]=e+(~((e-4+(-g|0)|0)>>>2)<<2);return}function Rh(a){a=a|0;var b=0,d=0,e=0;Qh(a);b=c[a+10524>>2]|0;if((b|0)!=0){e=b-76+72|0;d=e;e=c[e>>2]|0;if((e|0)!=0){e=b+(e*76|0)|0;do{e=e-76|0;Ck(e);}while((e|0)!=(b|0))}Qu(d)}yk(a+10572|0);uk(a+10548|0);Hu(c[a+10460>>2]|0);Hu(c[a+10440>>2]|0);Hu(c[a+10420>>2]|0);Hu(c[a+10400>>2]|0);Hu(c[a+10380>>2]|0);Hu(c[a+10360>>2]|0);Hu(c[a+10340>>2]|0);kj(a+5932|0);jk(a+764|0);Jf(a+108|0);b=c[a+48>>2]|0;if((b|0)==0){return}a=a+52|0;d=c[a>>2]|0;if((d|0)!=(b|0)){c[a>>2]=d+(~((d-4+(-b|0)|0)>>>2)<<2)}Pu(b);return}function Sh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((b|0)>-1){dv(c[a+4>>2]|0,b&255|0,ga(c[a+28>>2]|0,c[a+40>>2]|0)|0)|0}if((d|0)>-1){dv(c[a+8>>2]|0,d&255|0,ga(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0}if(!((e|0)>-1)){return}dv(c[a+12>>2]|0,e&255|0,ga(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0;return}function Th(a,b,d,e){a=a|0;b=b|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,p=0;f=c[b+28>>2]|0;f=(f|0)<(e|0)?f:e;if((d&1|0)!=0){ec(5264,15792,535,17776)}if((f&1|0)!=0){ec(3744,15792,536,17776)}l=((c[a+5760>>2]|0)+7|0)/8|0;e=((c[a+5768>>2]|0)+7|0)/8|0;g=b+40|0;o=c[g>>2]|0;h=a+40|0;n=c[h>>2]|0;a:do{if((o|0)==(n|0)){n=ga(ga(l,d)|0,o)|0;cv((c[a+4>>2]|0)+n|0,(c[b+4>>2]|0)+n|0,ga(ga(l,f-d|0)|0,o)|0)|0}else{if((f|0)<=(d|0)){break}i=a+4|0;j=b+4|0;k=b+24|0;m=d;while(1){p=ga(m,l)|0;n=(c[i>>2]|0)+(ga(p,n)|0)|0;o=(c[j>>2]|0)+(ga(p,o)|0)|0;cv(n|0,o|0,ga(c[k>>2]|0,l)|0)|0;m=m+1|0;if((m|0)>=(f|0)){break a}n=c[h>>2]|0;o=c[g>>2]|0}}}while(0);h=c[b+5784>>2]|0;m=(d|0)/(h|0)|0;h=(f|0)/(h|0)|0;if((c[b+20>>2]|0)==0){return}f=b+44|0;k=c[f>>2]|0;d=a+44|0;l=c[d>>2]|0;if((k|0)==(l|0)){n=ga(m,e)|0;p=ga(n,k)|0;o=ga(h-m|0,e)|0;cv((c[a+8>>2]|0)+p|0,(c[b+8>>2]|0)+p|0,ga(o,k)|0)|0;p=c[d>>2]|0;n=ga(n,p)|0;cv((c[a+12>>2]|0)+n|0,(c[b+12>>2]|0)+n|0,ga(o,p)|0)|0;return}if((m|0)>=(h|0)){return}g=a+8|0;i=b+8|0;j=b+32|0;a=a+12|0;b=b+12|0;while(1){p=ga(m,e)|0;n=(c[g>>2]|0)+(ga(p,l)|0)|0;o=(c[i>>2]|0)+(ga(p,k)|0)|0;cv(n|0,o|0,ga(c[j>>2]|0,e)|0)|0;o=(c[a>>2]|0)+(ga(p,c[d>>2]|0)|0)|0;p=(c[b>>2]|0)+(ga(p,c[f>>2]|0)|0)|0;cv(o|0,p|0,ga(c[j>>2]|0,e)|0)|0;m=m+1|0;if((m|0)>=(h|0)){break}l=c[d>>2]|0;k=c[f>>2]|0}return}
-
-
-
-function vm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d>>>0>4294967279>>>0){nm(0)}e=b;g=a[e]|0;if((g&1)==0){h=10}else{g=c[b>>2]|0;h=(g&-2)-1|0;g=g&255}if((g&1)==0){f=(g&255)>>>1}else{f=c[b+4>>2]|0}d=f>>>0>d>>>0?f:d;if(d>>>0<11>>>0){d=10}else{d=(d+16&-16)-1|0}if((d|0)==(h|0)){return}do{if((d|0)==10){j=b+1|0;i=c[b+8>>2]|0;h=1;k=0}else{i=d+1|0;if(d>>>0>h>>>0){j=Nu(i)|0}else{j=Nu(i)|0}if((g&1)==0){i=b+1|0;h=0;k=1;break}else{i=c[b+8>>2]|0;h=1;k=1;break}}}while(0);if((g&1)==0){g=(g&255)>>>1}else{g=c[b+4>>2]|0}cv(j|0,i|0,g+1|0)|0;if(h){Pu(i)}if(k){c[b>>2]=d+1|1;c[b+4>>2]=f;c[b+8>>2]=j;return}else{a[e]=f<<1;return}}function wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b;g=a[e]|0;f=(g&1)!=0;if(f){g=c[b+4>>2]|0;h=(c[b>>2]&-2)-1|0}else{g=(g&255)>>>1;h=10}if((g|0)==(h|0)){zm(b,h,1,h,h,0,0);if((a[e]&1)==0){f=7}else{f=8}}else{if(f){f=8}else{f=7}}if((f|0)==7){a[e]=(g<<1)+2;f=b+1|0;h=g+1|0;g=f+g|0;a[g]=d;h=f+h|0;a[h]=0;return}else if((f|0)==8){f=c[b+8>>2]|0;h=g+1|0;c[b+4>>2]=h;g=f+g|0;a[g]=d;h=f+h|0;a[h]=0;return}}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b;i=a[f]|0;if((i&1)==0){g=10}else{i=c[b>>2]|0;g=(i&-2)-1|0;i=i&255}if((i&1)==0){h=(i&255)>>>1}else{h=c[b+4>>2]|0}if((g-h|0)>>>0<e>>>0){ym(b,g,e-g+h|0,h,h,0,e,d);return b|0}if((e|0)==0){return b|0}if((i&1)==0){g=b+1|0}else{g=c[b+8>>2]|0}cv(g+h|0,d|0,e)|0;e=h+e|0;if((a[f]&1)==0){a[f]=e<<1}else{c[b+4>>2]=e}a[g+e|0]=0;return b|0}function ym(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;if((-18-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){k=b+1|0}else{k=c[b+8>>2]|0}do{if(d>>>0<2147483623>>>0){l=e+d|0;e=d<<1;e=l>>>0<e>>>0?e:l;if(e>>>0<11>>>0){l=11;break}l=e+16&-16}else{l=-17}}while(0);e=Nu(l)|0;if((g|0)!=0){cv(e|0,k|0,g)|0}if((i|0)!=0){cv(e+g|0,j|0,i)|0}f=f-h|0;if((f|0)!=(g|0)){cv(e+(i+g)|0,k+(h+g)|0,f-g|0)|0}if((d|0)==10){j=b+8|0;c[j>>2]=e;j=l|1;l=b|0;c[l>>2]=j;l=f+i|0;j=b+4|0;c[j>>2]=l;l=e+l|0;a[l]=0;return}Pu(k);j=b+8|0;c[j>>2]=e;j=l|1;l=b|0;c[l>>2]=j;l=f+i|0;j=b+4|0;c[j>>2]=l;l=e+l|0;a[l]=0;return}function zm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((-17-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){j=b+1|0}else{j=c[b+8>>2]|0}do{if(d>>>0<2147483623>>>0){k=e+d|0;e=d<<1;e=k>>>0<e>>>0?e:k;if(e>>>0<11>>>0){k=11;break}k=e+16&-16}else{k=-17}}while(0);e=Nu(k)|0;if((g|0)!=0){cv(e|0,j|0,g)|0}f=f-h|0;if((f|0)!=(g|0)){cv(e+(i+g)|0,j+(h+g)|0,f-g|0)|0}if((d|0)==10){f=b+8|0;c[f>>2]=e;e=k|1;k=b|0;c[k>>2]=e;return}Pu(j);f=b+8|0;c[f>>2]=e;e=k|1;k=b|0;c[k>>2]=e;return}function Am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807>>>0){nm(0)}if(e>>>0<2>>>0){a[b]=e<<1;b=b+4|0;hu(b,d,e)|0;d=b+(e<<2)|0;c[d>>2]=0;return}else{g=e+4&-4;f=Nu(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f;hu(b,d,e)|0;d=b+(e<<2)|0;c[d>>2]=0;return}}function Bm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807>>>0){nm(0)}if(d>>>0<2>>>0){a[b]=d<<1;b=b+4|0;ju(b,e,d)|0;e=b+(d<<2)|0;c[e>>2]=0;return}else{g=d+4&-4;f=Nu(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f;ju(b,e,d)|0;e=b+(d<<2)|0;c[e>>2]=0;return}}function Cm(b){b=b|0;if((a[b]&1)==0){return}Pu(c[b+8>>2]|0);return}function Dm(a,b){a=a|0;b=b|0;return Em(a,b,gu(b)|0)|0}function Em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b;h=a[f]|0;if((h&1)==0){g=1}else{h=c[b>>2]|0;g=(h&-2)-1|0;h=h&255}i=(h&1)==0;if(g>>>0<e>>>0){if(i){f=(h&255)>>>1}else{f=c[b+4>>2]|0}Hm(b,g,e-g|0,f,0,f,e,d);return b|0}if(i){g=b+4|0}else{g=c[b+8>>2]|0}iu(g,d,e)|0;c[g+(e<<2)>>2]=0;if((a[f]&1)==0){a[f]=e<<1;return b|0}else{c[b+4>>2]=e;return b|0}return 0}function Fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d>>>0>1073741807>>>0){nm(0)}e=b;g=a[e]|0;if((g&1)==0){h=1}else{g=c[b>>2]|0;h=(g&-2)-1|0;g=g&255}if((g&1)==0){f=(g&255)>>>1}else{f=c[b+4>>2]|0}d=f>>>0>d>>>0?f:d;if(d>>>0<2>>>0){d=1}else{d=(d+4&-4)-1|0}if((d|0)==(h|0)){return}do{if((d|0)==1){j=b+4|0;i=c[b+8>>2]|0;h=1;k=0}else{i=(d<<2)+4|0;if(d>>>0>h>>>0){j=Nu(i)|0}else{j=Nu(i)|0}if((g&1)==0){i=b+4|0;h=0;k=1;break}else{i=c[b+8>>2]|0;h=1;k=1;break}}}while(0);if((g&1)==0){g=(g&255)>>>1}else{g=c[b+4>>2]|0}hu(j,i,g+1|0)|0;if(h){Pu(i)}if(k){c[b>>2]=d+1|1;c[b+4>>2]=f;c[b+8>>2]=j;return}else{a[e]=f<<1;return}}function Gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b;g=a[e]|0;f=(g&1)!=0;if(f){g=c[b+4>>2]|0;h=(c[b>>2]&-2)-1|0}else{g=(g&255)>>>1;h=1}if((g|0)==(h|0)){Im(b,h,1,h,h,0,0);if((a[e]&1)==0){f=7}else{f=8}}else{if(f){f=8}else{f=7}}if((f|0)==7){a[e]=(g<<1)+2;f=b+4|0;h=g+1|0;g=f+(g<<2)|0;c[g>>2]=d;h=f+(h<<2)|0;c[h>>2]=0;return}else if((f|0)==8){f=c[b+8>>2]|0;h=g+1|0;c[b+4>>2]=h;g=f+(g<<2)|0;c[g>>2]=d;h=f+(h<<2)|0;c[h>>2]=0;return}}function Hm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;if((1073741806-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){k=b+4|0}else{k=c[b+8>>2]|0}do{if(d>>>0<536870887>>>0){l=e+d|0;e=d<<1;e=l>>>0<e>>>0?e:l;if(e>>>0<2>>>0){l=2;break}l=e+4&-4}else{l=1073741807}}while(0);e=Nu(l<<2)|0;if((g|0)!=0){hu(e,k,g)|0}if((i|0)!=0){hu(e+(g<<2)|0,j,i)|0}f=f-h|0;if((f|0)!=(g|0)){hu(e+(i+g<<2)|0,k+(h+g<<2)|0,f-g|0)|0}if((d|0)==1){j=b+8|0;c[j>>2]=e;j=l|1;l=b|0;c[l>>2]=j;l=f+i|0;j=b+4|0;c[j>>2]=l;l=e+(l<<2)|0;c[l>>2]=0;return}Pu(k);j=b+8|0;c[j>>2]=e;j=l|1;l=b|0;c[l>>2]=j;l=f+i|0;j=b+4|0;c[j>>2]=l;l=e+(l<<2)|0;c[l>>2]=0;return}function Im(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((1073741807-d|0)>>>0<e>>>0){nm(0)}if((a[b]&1)==0){j=b+4|0}else{j=c[b+8>>2]|0}do{if(d>>>0<536870887>>>0){k=e+d|0;e=d<<1;e=k>>>0<e>>>0?e:k;if(e>>>0<2>>>0){k=2;break}k=e+4&-4}else{k=1073741807}}while(0);e=Nu(k<<2)|0;if((g|0)!=0){hu(e,j,g)|0}f=f-h|0;if((f|0)!=(g|0)){hu(e+(i+g<<2)|0,j+(h+g<<2)|0,f-g|0)|0}if((d|0)==1){f=b+8|0;c[f>>2]=e;e=k|1;k=b|0;c[k>>2]=e;return}Pu(j);f=b+8|0;c[f>>2]=e;e=k|1;k=b|0;c[k>>2]=e;return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+8|0;e=f|0;g=(c[b+24>>2]|0)==0;if(g){c[b+16>>2]=d|1}else{c[b+16>>2]=d}if(((g&1|d)&c[b+20>>2]|0)==0){i=f;return}d=pc(16)|0;do{if((a[51816]|0)==0){if((ub(51816)|0)==0){break}c[8332]=21064;Ub(74,33328,u|0)|0}}while(0);b=jv(33328,0,32)|0;c[e>>2]=b|1;c[e+4>>2]=K;jm(d,e,13504);c[d>>2]=20248;Fb(d|0,26120,38)}function Km(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=20224;e=c[a+40>>2]|0;b=a+32|0;d=a+36|0;if((e|0)!=0){do{e=e-1|0;Tc[c[(c[b>>2]|0)+(e<<2)>>2]&63](0,a,c[(c[d>>2]|0)+(e<<2)>>2]|0);}while((e|0)!=0)}Vr(a+28|0);Hu(c[b>>2]|0);Hu(c[d>>2]|0);Hu(c[a+48>>2]|0);Hu(c[a+60>>2]|0);return}function Lm(a,b){a=a|0;b=b|0;Ur(a,b+28|0);return}function Mm(a,b){a=a|0;b=b|0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;dv(a+32|0,0,40)|0;Tr(a+28|0);return}function Nm(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);Pu(a);return}function Om(a){a=a|0;c[a>>2]=21296;Vr(a+4|0);return}function Pm(a,b){a=a|0;b=b|0;return}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Rm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function Sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=i;f=d;b=i;i=i+16|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;i=e;return}function Tm(a){a=a|0;return 0}function Um(a){a=a|0;return 0}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b;if((e|0)<=0){j=0;return j|0}g=b+12|0;h=b+16|0;i=0;while(1){j=c[g>>2]|0;if(j>>>0<(c[h>>2]|0)>>>0){c[g>>2]=j+1;j=a[j]|0}else{j=Fc[c[(c[f>>2]|0)+40>>2]&255](b)|0;if((j|0)==-1){e=8;break}j=j&255}a[d]=j;i=i+1|0;if((i|0)<(e|0)){d=d+1|0}else{e=8;break}}if((e|0)==8){return i|0}return 0}function Wm(a){a=a|0;return-1|0}function Xm(a){a=a|0;var b=0;if((Fc[c[(c[a>>2]|0)+36>>2]&255](a)|0)==-1){a=-1;return a|0}b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a]|0;return a|0}function Ym(a,b){a=a|0;b=b|0;return-1|0}function Zm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;i=b;if((f|0)<=0){k=0;return k|0}g=b+24|0;h=b+28|0;j=0;while(1){k=c[g>>2]|0;if(k>>>0<(c[h>>2]|0)>>>0){l=a[e]|0;c[g>>2]=k+1;a[k]=l}else{if((Qc[c[(c[i>>2]|0)+52>>2]&63](b,d[e]|0)|0)==-1){f=7;break}}j=j+1|0;if((j|0)<(f|0)){e=e+1|0}else{f=7;break}}if((f|0)==7){return j|0}return 0}function _m(a,b){a=a|0;b=b|0;return-1|0}function $m(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);Pu(a);return}function an(a){a=a|0;c[a>>2]=21224;Vr(a+4|0);return}function bn(a,b){a=a|0;b=b|0;return}function cn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function en(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=i;f=d;b=i;i=i+16|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;i=e;return}function fn(a){a=a|0;return 0}function gn(a){a=a|0;return 0}function hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a;if((d|0)<=0){i=0;return i|0}f=a+12|0;g=a+16|0;h=0;while(1){i=c[f>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[f>>2]=i+4;i=c[i>>2]|0}else{i=Fc[c[(c[e>>2]|0)+40>>2]&255](a)|0;if((i|0)==-1){d=8;break}}c[b>>2]=i;h=h+1|0;if((h|0)>=(d|0)){d=8;break}b=b+4|0}if((d|0)==8){return h|0}return 0}function jn(a){a=a|0;return-1|0}function kn(a){a=a|0;var b=0;if((Fc[c[(c[a>>2]|0)+36>>2]&255](a)|0)==-1){a=-1;return a|0}b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0;return a|0}function ln(a,b){a=a|0;b=b|0;return-1|0}function mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a;if((d|0)<=0){i=0;return i|0}e=a+24|0;f=a+28|0;h=0;while(1){i=c[e>>2]|0;if(i>>>0<(c[f>>2]|0)>>>0){j=c[b>>2]|0;c[e>>2]=i+4;c[i>>2]=j}else{if((Qc[c[(c[g>>2]|0)+52>>2]&63](a,c[b>>2]|0)|0)==-1){d=8;break}}h=h+1|0;if((h|0)>=(d|0)){d=8;break}b=b+4|0}if((d|0)==8){return h|0}return 0}function nn(a,b){a=a|0;b=b|0;return-1|0}function on(a){a=a|0;Km(a+8|0);Pu(a);return}function pn(a){a=a|0;Km(a+8|0);return}function qn(a){a=a|0;var b=0;b=a;a=c[(c[a>>2]|0)-12>>2]|0;Km(b+(a+8)|0);Pu(b+a|0);return}function rn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+8)|0);return}function sn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+8|0;g=d|0;f=b;j=c[(c[f>>2]|0)-12>>2]|0;e=b;if((c[e+(j+24)>>2]|0)==0){i=d;return b|0}h=g|0;a[h]=0;c[g+4>>2]=b;do{if((c[e+(j+16)>>2]|0)==0){k=c[e+(j+72)>>2]|0;if((k|0)!=0){sn(k)|0;j=c[(c[f>>2]|0)-12>>2]|0}a[h]=1;k=c[e+(j+24)>>2]|0;if(!((Fc[c[(c[k>>2]|0)+24>>2]&255](k)|0)==-1)){break}k=c[(c[f>>2]|0)-12>>2]|0;Jm(e+k|0,c[e+(k+16)>>2]|1)}}while(0);Cn(g);i=d;return b|0}function tn(a){a=a|0;Km(a+8|0);Pu(a);return}function un(a){a=a|0;Km(a+8|0);return}function vn(a){a=a|0;var b=0;b=a;a=c[(c[a>>2]|0)-12>>2]|0;Km(b+(a+8)|0);Pu(b+a|0);return}function wn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+8)|0);return}function xn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+8|0;g=d|0;f=b;j=c[(c[f>>2]|0)-12>>2]|0;e=b;if((c[e+(j+24)>>2]|0)==0){i=d;return b|0}h=g|0;a[h]=0;c[g+4>>2]=b;do{if((c[e+(j+16)>>2]|0)==0){k=c[e+(j+72)>>2]|0;if((k|0)!=0){xn(k)|0;j=c[(c[f>>2]|0)-12>>2]|0}a[h]=1;k=c[e+(j+24)>>2]|0;if(!((Fc[c[(c[k>>2]|0)+24>>2]&255](k)|0)==-1)){break}k=c[(c[f>>2]|0)-12>>2]|0;Jm(e+k|0,c[e+(k+16)>>2]|1)}}while(0);Hn(g);i=d;return b|0}function yn(a){a=a|0;Km(a+4|0);Pu(a);return}function zn(a){a=a|0;Km(a+4|0);return}function An(a){a=a|0;var b=0;b=a;a=c[(c[a>>2]|0)-12>>2]|0;Km(b+(a+4)|0);Pu(b+a|0);return}function Bn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+4)|0);return}function Cn(a){a=a|0;var b=0,d=0;a=a+4|0;b=c[a>>2]|0;d=c[(c[b>>2]|0)-12>>2]|0;if((c[b+(d+24)>>2]|0)==0){return}if((c[b+(d+16)>>2]|0)!=0){return}if((c[b+(d+4)>>2]&8192|0)==0){return}if(zb()|0){return}d=c[a>>2]|0;d=c[d+((c[(c[d>>2]|0)-12>>2]|0)+24)>>2]|0;if(!((Fc[c[(c[d>>2]|0)+24>>2]&255](d)|0)==-1)){return}b=c[a>>2]|0;d=c[(c[b>>2]|0)-12>>2]|0;Jm(b+d|0,c[b+(d+16)>>2]|1);return}function Dn(a){a=a|0;Km(a+4|0);Pu(a);return}function En(a){a=a|0;Km(a+4|0);return}function Fn(a){a=a|0;var b=0;b=a;a=c[(c[a>>2]|0)-12>>2]|0;Km(b+(a+4)|0);Pu(b+a|0);return}function Gn(a){a=a|0;Km(a+((c[(c[a>>2]|0)-12>>2]|0)+4)|0);return}function Hn(a){a=a|0;var b=0,d=0;a=a+4|0;b=c[a>>2]|0;d=c[(c[b>>2]|0)-12>>2]|0;if((c[b+(d+24)>>2]|0)==0){return}if((c[b+(d+16)>>2]|0)!=0){return}if((c[b+(d+4)>>2]&8192|0)==0){return}if(zb()|0){return}d=c[a>>2]|0;d=c[d+((c[(c[d>>2]|0)-12>>2]|0)+24)>>2]|0;if(!((Fc[c[(c[d>>2]|0)+24>>2]&255](d)|0)==-1)){return}b=c[a>>2]|0;d=c[(c[b>>2]|0)-12>>2]|0;Jm(b+d|0,c[b+(d+16)>>2]|1);return}function In(a){a=a|0;return 15656}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)==1){pm(a,16464,35);return}else{hm(a,b|0,c);return}}function Kn(a){a=a|0;dm(a|0);return}function Ln(a){a=a|0;lm(a|0);Pu(a);return}function Mn(a){a=a|0;lm(a|0);return}function Nn(a){a=a|0;Km(a);Pu(a);return}function On(a){a=a|0;dm(a|0);Pu(a);return}function Pn(a){a=a|0;Sl(a|0);Pu(a);return}function Qn(a){a=a|0;Sl(a|0);return}function Rn(a){a=a|0;Sl(a|0);return}function Sn(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;a:do{if((e|0)!=(f|0)){while(1){if((c|0)==(d|0)){d=-1;f=7;break}g=a[c]|0;b=a[e]|0;if(g<<24>>24<b<<24>>24){d=-1;f=7;break}if(b<<24>>24<g<<24>>24){d=1;f=7;break}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){break a}}if((f|0)==7){return d|0}}}while(0);g=(c|0)!=(d|0)|0;return g|0}function Tn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;d=e;g=f-d|0;if(g>>>0>4294967279>>>0){nm(b)}if(g>>>0<11>>>0){a[b]=g<<1;b=b+1|0}else{i=g+16&-16;h=Nu(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=g;b=h}if((e|0)==(f|0)){i=b;a[i]=0;return}else{g=b}while(1){a[g]=a[e]|0;e=e+1|0;if((e|0)==(f|0)){break}else{g=g+1|0}}i=b+(f+(-d|0))|0;a[i]=0;return}function Un(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0)){b=0;return b|0}else{b=0}do{b=(a[c]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0;}while((c|0)!=(d|0));return b|0}function Vn(a){a=a|0;Sl(a|0);Pu(a);return}function Wn(a){a=a|0;Sl(a|0);return}function Xn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a:do{if((e|0)!=(f|0)){while(1){if((b|0)==(d|0)){d=-1;f=7;break}g=c[b>>2]|0;a=c[e>>2]|0;if((g|0)<(a|0)){d=-1;f=7;break}if((a|0)<(g|0)){d=1;f=7;break}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){break a}}if((f|0)==7){return d|0}}}while(0);g=(b|0)!=(d|0)|0;return g|0}function Yn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;d=e;g=f-d|0;h=g>>2;if(h>>>0>1073741807>>>0){nm(b)}if(h>>>0<2>>>0){a[b]=g>>>1;b=b+4|0}else{i=h+4&-4;g=Nu(i<<2)|0;c[b+8>>2]=g;c[b>>2]=i|1;c[b+4>>2]=h;b=g}if((e|0)==(f|0)){i=b;c[i>>2]=0;return}d=f-4+(-d|0)|0;g=b;while(1){c[g>>2]=c[e>>2];e=e+4|0;if((e|0)==(f|0)){break}else{g=g+4|0}}i=b+((d>>>2)+1<<2)|0;c[i>>2]=0;return}function Zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0)){a=0;return a|0}else{a=0}do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0;}while((b|0)!=(d|0));return a|0}function _n(a){a=a|0;Sl(a|0);Pu(a);return}function $n(a){a=a|0;Sl(a|0);return}function ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+112|0;n=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[n>>2];n=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[n>>2];n=k|0;p=k+16|0;q=k+32|0;u=k+40|0;s=k+48|0;t=k+56|0;r=k+64|0;o=k+72|0;l=k+80|0;m=k+104|0;if((c[g+4>>2]&1|0)==0){c[q>>2]=-1;p=c[(c[d>>2]|0)+16>>2]|0;r=e|0;c[s>>2]=c[r>>2];c[t>>2]=c[f>>2];Mc[p&127](u,d,s,t,g,h,q);e=c[u>>2]|0;c[r>>2]=e;f=c[q>>2]|0;if((f|0)==1){a[j]=1}else if((f|0)==0){a[j]=0}else{a[j]=1;c[h>>2]=4}c[b>>2]=e;i=k;return}Lm(r,g);q=r|0;r=c[q>>2]|0;if(!((c[8716]|0)==-1)){c[p>>2]=34864;c[p+4>>2]=16;c[p+8>>2]=0;mm(34864,p,114)}p=(c[8717]|0)-1|0;s=c[r+8>>2]|0;do{if((c[r+12>>2]|0)-s>>2>>>0>p>>>0){p=c[s+(p<<2)>>2]|0;if((p|0)==0){break}Ul(c[q>>2]|0)|0;Lm(o,g);o=o|0;g=c[o>>2]|0;if(!((c[8620]|0)==-1)){c[n>>2]=34480;c[n+4>>2]=16;c[n+8>>2]=0;mm(34480,n,114)}n=(c[8621]|0)-1|0;q=c[g+8>>2]|0;do{if((c[g+12>>2]|0)-q>>2>>>0>n>>>0){n=c[q+(n<<2)>>2]|0;if((n|0)==0){break}t=n;Ul(c[o>>2]|0)|0;u=l|0;d=n;Ec[c[(c[d>>2]|0)+24>>2]&127](u,t);Ec[c[(c[d>>2]|0)+28>>2]&127](l+12|0,t);c[m>>2]=c[f>>2];u=(bo(e,m,u,l+24|0,p,h,1)|0)==(u|0)|0;a[j]=u;c[b>>2]=c[e>>2];rm(l+12|0);rm(l|0);i=k;return}}while(0);u=pc(4)|0;lu(u);Fb(u|0,25544,156)}}while(0);u=pc(4)|0;lu(u);Fb(u|0,25544,156)}function bo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0;l=i;i=i+104|0;u=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[u>>2];u=(f-e|0)/12|0;n=l|0;do{if(u>>>0>100>>>0){m=Gu(u)|0;if((m|0)!=0){n=m;break}Uu();n=0;m=0}else{m=0}}while(0);o=(e|0)==(f|0);if(o){t=0}else{t=0;p=n;q=e;while(1){r=a[q]|0;if((r&1)==0){r=(r&255)>>>1}else{r=c[q+4>>2]|0}if((r|0)==0){a[p]=2;t=t+1|0;u=u-1|0}else{a[p]=1}q=q+12|0;if((q|0)==(f|0)){break}else{p=p+1|0}}}b=b|0;d=d|0;p=g;q=0;a:while(1){r=c[b>>2]|0;do{if((r|0)==0){r=0}else{if((c[r+12>>2]|0)!=(c[r+16>>2]|0)){break}if((Fc[c[(c[r>>2]|0)+36>>2]&255](r)|0)==-1){c[b>>2]=0;r=0;break}else{r=c[b>>2]|0;break}}}while(0);v=(r|0)==0;s=c[d>>2]|0;do{if((s|0)==0){s=0}else{if((c[s+12>>2]|0)!=(c[s+16>>2]|0)){break}if(!((Fc[c[(c[s>>2]|0)+36>>2]&255](s)|0)==-1)){break}c[d>>2]=0;s=0}}while(0);r=(s|0)==0;w=c[b>>2]|0;if(!((v^r)&(u|0)!=0)){break}r=c[w+12>>2]|0;if((r|0)==(c[w+16>>2]|0)){s=(Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)&255}else{s=a[r]|0}if(!j){s=Qc[c[(c[p>>2]|0)+12>>2]&63](g,s)|0}r=q+1|0;if(o){q=r;continue}b:do{if(j){v=n;x=0;w=e;while(1){do{if((a[v]|0)==1){z=a[w]|0;A=(z&1)==0;if(A){y=w+1|0}else{y=c[w+8>>2]|0}if(!(s<<24>>24==(a[y+q|0]|0))){a[v]=0;u=u-1|0;break}if(A){x=(z&255)>>>1}else{x=c[w+4>>2]|0}if((x|0)!=(r|0)){x=1;break}a[v]=2;x=1;t=t+1|0;u=u-1|0}}while(0);w=w+12|0;if((w|0)==(f|0)){s=u;break b}v=v+1|0}}else{v=n;x=0;w=e;while(1){do{if((a[v]|0)==1){z=w;if((a[z]&1)==0){y=w+1|0}else{y=c[w+8>>2]|0}if(!(s<<24>>24==(Qc[c[(c[p>>2]|0)+12>>2]&63](g,a[y+q|0]|0)|0)<<24>>24)){a[v]=0;u=u-1|0;break}x=a[z]|0;if((x&1)==0){x=(x&255)>>>1}else{x=c[w+4>>2]|0}if((x|0)!=(r|0)){x=1;break}a[v]=2;x=1;t=t+1|0;u=u-1|0}}while(0);w=w+12|0;if((w|0)==(f|0)){s=u;break b}v=v+1|0}}}while(0);if(!x){q=r;u=s;continue}u=c[b>>2]|0;q=u+12|0;v=c[q>>2]|0;if((v|0)==(c[u+16>>2]|0)){Fc[c[(c[u>>2]|0)+40>>2]&255](u)|0}else{c[q>>2]=v+1}if((s+t|0)>>>0<2>>>0){q=r;u=s;continue}else{q=n;u=e}while(1){do{if((a[q]|0)==2){v=a[u]|0;if((v&1)==0){v=(v&255)>>>1}else{v=c[u+4>>2]|0}if((v|0)==(r|0)){break}a[q]=0;t=t-1|0}}while(0);u=u+12|0;if((u|0)==(f|0)){q=r;u=s;continue a}else{q=q+1|0}}}do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1){c[b>>2]=0;w=0;break}else{w=c[b>>2]|0;break}}}while(0);j=(w|0)==0;do{if(r){k=92}else{if((c[s+12>>2]|0)!=(c[s+16>>2]|0)){if(j){break}else{k=94;break}}if((Fc[c[(c[s>>2]|0)+36>>2]&255](s)|0)==-1){c[d>>2]=0;k=92;break}else{if(j){break}else{k=94;break}}}}while(0);if((k|0)==92){if(j){k=94}}if((k|0)==94){c[h>>2]=c[h>>2]|2}c:do{if(o){k=99}else{if((a[n]|0)==2){f=e;break}while(1){e=e+12|0;n=n+1|0;if((e|0)==(f|0)){k=99;break c}if((a[n]|0)==2){f=e;break}}}}while(0);if((k|0)==99){c[h>>2]=c[h>>2]|4}if((m|0)==0){i=l;return f|0}Hu(m);i=l;return f|0}function co(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];eo(a,0,e,d,f,g,h);i=b;return}function eo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+256|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;w=m+32|0;l=m+40|0;d=m+56|0;n=m+72|0;p=m+80|0;q=m+240|0;o=m+248|0;r=c[g+4>>2]&74;if((r|0)==8){r=16}else if((r|0)==0){r=0}else if((r|0)==64){r=8}else{r=10}s=s|0;Wo(l,g,s,w);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){t=d+1|0;B=t;u=d+8|0}else{u=d+8|0;B=c[u>>2]|0;t=d+1|0}c[n>>2]=B;g=p|0;c[q>>2]=g;c[o>>2]=0;e=e|0;f=f|0;y=d|0;x=d+4|0;z=a[w]|0;w=c[e>>2]|0;a:while(1){do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);C=(w|0)==0;A=c[f>>2]|0;do{if((A|0)==0){k=21}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(C){break}else{break a}}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=21;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==21){k=0;if(C){A=0;break}else{A=0}}C=a[v]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[x>>2]|0}if(((c[n>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[x>>2]|0;B=C}tm(d,B<<1,0);if((a[v]&1)==0){B=10}else{B=(c[y>>2]&-2)-1|0}tm(d,B,0);if((a[v]&1)==0){B=t}else{B=c[u>>2]|0}c[n>>2]=B+C}C=w+12|0;E=c[C>>2]|0;D=w+16|0;if((E|0)==(c[D>>2]|0)){E=(Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)&255}else{E=a[E]|0}if((wo(E,r,B,n,o,z,l,g,q,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[w>>2]|0)+40>>2]&255](w)|0;continue}else{c[C>>2]=A+1;continue}}s=a[l]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[l+4>>2]|0}do{if((s|0)!=0){s=c[q>>2]|0;if((s-p|0)>=160){break}E=c[o>>2]|0;c[q>>2]=s+4;c[s>>2]=E}}while(0);E=Rt(B,c[n>>2]|0,h,r)|0;c[j>>2]=E;hr(l,g,c[q>>2]|0,h);do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);j=(w|0)==0;do{if((A|0)==0){k=66}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(!j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=66;break}if(!(j^(A|0)==0)){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);do{if((k|0)==66){if(j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}function fo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];go(a,0,e,d,f,g,h);i=b;return}function go(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+256|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;w=m+32|0;l=m+40|0;d=m+56|0;n=m+72|0;p=m+80|0;q=m+240|0;o=m+248|0;r=c[g+4>>2]&74;if((r|0)==64){r=8}else if((r|0)==0){r=0}else if((r|0)==8){r=16}else{r=10}s=s|0;Wo(l,g,s,w);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){t=d+1|0;B=t;u=d+8|0}else{u=d+8|0;B=c[u>>2]|0;t=d+1|0}c[n>>2]=B;g=p|0;c[q>>2]=g;c[o>>2]=0;e=e|0;f=f|0;y=d|0;x=d+4|0;z=a[w]|0;w=c[e>>2]|0;a:while(1){do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);C=(w|0)==0;A=c[f>>2]|0;do{if((A|0)==0){k=21}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(C){break}else{break a}}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=21;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==21){k=0;if(C){A=0;break}else{A=0}}C=a[v]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[x>>2]|0}if(((c[n>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[x>>2]|0;B=C}tm(d,B<<1,0);if((a[v]&1)==0){B=10}else{B=(c[y>>2]&-2)-1|0}tm(d,B,0);if((a[v]&1)==0){B=t}else{B=c[u>>2]|0}c[n>>2]=B+C}C=w+12|0;E=c[C>>2]|0;D=w+16|0;if((E|0)==(c[D>>2]|0)){E=(Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)&255}else{E=a[E]|0}if((wo(E,r,B,n,o,z,l,g,q,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[w>>2]|0)+40>>2]&255](w)|0;continue}else{c[C>>2]=A+1;continue}}s=a[l]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[l+4>>2]|0}do{if((s|0)!=0){s=c[q>>2]|0;if((s-p|0)>=160){break}E=c[o>>2]|0;c[q>>2]=s+4;c[s>>2]=E}}while(0);E=Qt(B,c[n>>2]|0,h,r)|0;c[j>>2]=E;c[j+4>>2]=K;hr(l,g,c[q>>2]|0,h);do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);j=(w|0)==0;do{if((A|0)==0){k=66}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(!j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=66;break}if(!(j^(A|0)==0)){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);do{if((k|0)==66){if(j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}function ho(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];io(a,0,e,d,f,g,h);i=b;return}function io(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0;n=i;i=i+256|0;t=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[t>>2];t=g;g=i;i=i+4|0;i=i+7&-8;c[g>>2]=c[t>>2];t=n|0;x=n+32|0;m=n+40|0;e=n+56|0;o=n+72|0;q=n+80|0;r=n+240|0;p=n+248|0;s=c[h+4>>2]&74;if((s|0)==8){s=16}else if((s|0)==0){s=0}else if((s|0)==64){s=8}else{s=10}t=t|0;Wo(m,h,t,x);w=e;dv(w|0,0,12)|0;tm(e,10,0);if((a[w]&1)==0){u=e+1|0;C=u;v=e+8|0}else{v=e+8|0;C=c[v>>2]|0;u=e+1|0}c[o>>2]=C;h=q|0;c[r>>2]=h;c[p>>2]=0;f=f|0;g=g|0;z=e|0;y=e+4|0;A=a[x]|0;x=c[f>>2]|0;a:while(1){do{if((x|0)==0){x=0}else{if((c[x+12>>2]|0)!=(c[x+16>>2]|0)){break}if(!((Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0)==-1)){break}c[f>>2]=0;x=0}}while(0);D=(x|0)==0;B=c[g>>2]|0;do{if((B|0)==0){l=21}else{if((c[B+12>>2]|0)!=(c[B+16>>2]|0)){if(D){break}else{break a}}if((Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)==-1){c[g>>2]=0;l=21;break}else{if(D){break}else{break a}}}}while(0);if((l|0)==21){l=0;if(D){B=0;break}else{B=0}}D=a[w]|0;F=(D&1)==0;if(F){E=(D&255)>>>1}else{E=c[y>>2]|0}if(((c[o>>2]|0)-C|0)==(E|0)){if(F){C=(D&255)>>>1;D=(D&255)>>>1}else{D=c[y>>2]|0;C=D}tm(e,C<<1,0);if((a[w]&1)==0){C=10}else{C=(c[z>>2]&-2)-1|0}tm(e,C,0);if((a[w]&1)==0){C=u}else{C=c[v>>2]|0}c[o>>2]=C+D}D=x+12|0;F=c[D>>2]|0;E=x+16|0;if((F|0)==(c[E>>2]|0)){F=(Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0)&255}else{F=a[F]|0}if((wo(F,s,C,o,p,A,m,h,r,t)|0)!=0){break}B=c[D>>2]|0;if((B|0)==(c[E>>2]|0)){Fc[c[(c[x>>2]|0)+40>>2]&255](x)|0;continue}else{c[D>>2]=B+1;continue}}t=a[m]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[m+4>>2]|0}do{if((t|0)!=0){t=c[r>>2]|0;if((t-q|0)>=160){break}F=c[p>>2]|0;c[r>>2]=t+4;c[t>>2]=F}}while(0);F=Pt(C,c[o>>2]|0,j,s)|0;b[k>>1]=F;hr(m,h,c[r>>2]|0,j);do{if((x|0)==0){x=0}else{if((c[x+12>>2]|0)!=(c[x+16>>2]|0)){break}if(!((Fc[c[(c[x>>2]|0)+36>>2]&255](x)|0)==-1)){break}c[f>>2]=0;x=0}}while(0);k=(x|0)==0;do{if((B|0)==0){l=66}else{if((c[B+12>>2]|0)!=(c[B+16>>2]|0)){if(!k){break}F=d|0;c[F>>2]=x;rm(e);rm(m);i=n;return}if((Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)==-1){c[g>>2]=0;l=66;break}if(!(k^(B|0)==0)){break}F=d|0;c[F>>2]=x;rm(e);rm(m);i=n;return}}while(0);do{if((l|0)==66){if(k){break}F=d|0;c[F>>2]=x;rm(e);rm(m);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;F=d|0;c[F>>2]=x;rm(e);rm(m);i=n;return}function jo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];ko(a,0,e,d,f,g,h);i=b;return}function ko(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+256|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;w=m+32|0;l=m+40|0;d=m+56|0;n=m+72|0;p=m+80|0;q=m+240|0;o=m+248|0;r=c[g+4>>2]&74;if((r|0)==64){r=8}else if((r|0)==0){r=0}else if((r|0)==8){r=16}else{r=10}s=s|0;Wo(l,g,s,w);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){t=d+1|0;B=t;u=d+8|0}else{u=d+8|0;B=c[u>>2]|0;t=d+1|0}c[n>>2]=B;g=p|0;c[q>>2]=g;c[o>>2]=0;e=e|0;f=f|0;y=d|0;x=d+4|0;z=a[w]|0;w=c[e>>2]|0;a:while(1){do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);C=(w|0)==0;A=c[f>>2]|0;do{if((A|0)==0){k=21}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(C){break}else{break a}}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=21;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==21){k=0;if(C){A=0;break}else{A=0}}C=a[v]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[x>>2]|0}if(((c[n>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[x>>2]|0;B=C}tm(d,B<<1,0);if((a[v]&1)==0){B=10}else{B=(c[y>>2]&-2)-1|0}tm(d,B,0);if((a[v]&1)==0){B=t}else{B=c[u>>2]|0}c[n>>2]=B+C}C=w+12|0;E=c[C>>2]|0;D=w+16|0;if((E|0)==(c[D>>2]|0)){E=(Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)&255}else{E=a[E]|0}if((wo(E,r,B,n,o,z,l,g,q,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[w>>2]|0)+40>>2]&255](w)|0;continue}else{c[C>>2]=A+1;continue}}s=a[l]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[l+4>>2]|0}do{if((s|0)!=0){s=c[q>>2]|0;if((s-p|0)>=160){break}E=c[o>>2]|0;c[q>>2]=s+4;c[s>>2]=E}}while(0);E=Ot(B,c[n>>2]|0,h,r)|0;c[j>>2]=E;hr(l,g,c[q>>2]|0,h);do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);j=(w|0)==0;do{if((A|0)==0){k=66}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(!j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=66;break}if(!(j^(A|0)==0)){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);do{if((k|0)==66){if(j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}function lo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];mo(a,0,e,d,f,g,h);i=b;return}function mo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+256|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;w=m+32|0;l=m+40|0;d=m+56|0;n=m+72|0;p=m+80|0;q=m+240|0;o=m+248|0;r=c[g+4>>2]&74;if((r|0)==8){r=16}else if((r|0)==0){r=0}else if((r|0)==64){r=8}else{r=10}s=s|0;Wo(l,g,s,w);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){t=d+1|0;B=t;u=d+8|0}else{u=d+8|0;B=c[u>>2]|0;t=d+1|0}c[n>>2]=B;g=p|0;c[q>>2]=g;c[o>>2]=0;e=e|0;f=f|0;y=d|0;x=d+4|0;z=a[w]|0;w=c[e>>2]|0;a:while(1){do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);C=(w|0)==0;A=c[f>>2]|0;do{if((A|0)==0){k=21}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(C){break}else{break a}}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=21;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==21){k=0;if(C){A=0;break}else{A=0}}C=a[v]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[x>>2]|0}if(((c[n>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[x>>2]|0;B=C}tm(d,B<<1,0);if((a[v]&1)==0){B=10}else{B=(c[y>>2]&-2)-1|0}tm(d,B,0);if((a[v]&1)==0){B=t}else{B=c[u>>2]|0}c[n>>2]=B+C}C=w+12|0;E=c[C>>2]|0;D=w+16|0;if((E|0)==(c[D>>2]|0)){E=(Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)&255}else{E=a[E]|0}if((wo(E,r,B,n,o,z,l,g,q,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[w>>2]|0)+40>>2]&255](w)|0;continue}else{c[C>>2]=A+1;continue}}s=a[l]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[l+4>>2]|0}do{if((s|0)!=0){s=c[q>>2]|0;if((s-p|0)>=160){break}E=c[o>>2]|0;c[q>>2]=s+4;c[s>>2]=E}}while(0);E=Nt(B,c[n>>2]|0,h,r)|0;c[j>>2]=E;hr(l,g,c[q>>2]|0,h);do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);j=(w|0)==0;do{if((A|0)==0){k=66}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(!j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=66;break}if(!(j^(A|0)==0)){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);do{if((k|0)==66){if(j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}function no(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];oo(a,0,e,d,f,g,h);i=b;return}function oo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+256|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;w=m+32|0;l=m+40|0;d=m+56|0;n=m+72|0;p=m+80|0;q=m+240|0;o=m+248|0;r=c[g+4>>2]&74;if((r|0)==8){r=16}else if((r|0)==0){r=0}else if((r|0)==64){r=8}else{r=10}s=s|0;Wo(l,g,s,w);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){t=d+1|0;B=t;u=d+8|0}else{u=d+8|0;B=c[u>>2]|0;t=d+1|0}c[n>>2]=B;g=p|0;c[q>>2]=g;c[o>>2]=0;e=e|0;f=f|0;y=d|0;x=d+4|0;z=a[w]|0;w=c[e>>2]|0;a:while(1){do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);C=(w|0)==0;A=c[f>>2]|0;do{if((A|0)==0){k=21}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(C){break}else{break a}}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=21;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==21){k=0;if(C){A=0;break}else{A=0}}C=a[v]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[x>>2]|0}if(((c[n>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[x>>2]|0;B=C}tm(d,B<<1,0);if((a[v]&1)==0){B=10}else{B=(c[y>>2]&-2)-1|0}tm(d,B,0);if((a[v]&1)==0){B=t}else{B=c[u>>2]|0}c[n>>2]=B+C}C=w+12|0;E=c[C>>2]|0;D=w+16|0;if((E|0)==(c[D>>2]|0)){E=(Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)&255}else{E=a[E]|0}if((wo(E,r,B,n,o,z,l,g,q,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[w>>2]|0)+40>>2]&255](w)|0;continue}else{c[C>>2]=A+1;continue}}s=a[l]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[l+4>>2]|0}do{if((s|0)!=0){s=c[q>>2]|0;if((s-p|0)>=160){break}E=c[o>>2]|0;c[q>>2]=s+4;c[s>>2]=E}}while(0);E=Mt(B,c[n>>2]|0,h,r)|0;c[j>>2]=E;c[j+4>>2]=K;hr(l,g,c[q>>2]|0,h);do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);j=(w|0)==0;do{if((A|0)==0){k=66}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){if(!j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[f>>2]=0;k=66;break}if(!(j^(A|0)==0)){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);do{if((k|0)==66){if(j){break}E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=w;rm(d);rm(l);i=m;return}function po(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];qo(a,0,e,d,f,g,h);i=b;return}function qo(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;n=i;i=i+280|0;B=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[B>>2];B=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[B>>2];B=n+32|0;y=n+40|0;m=n+48|0;d=n+64|0;q=n+80|0;p=n+88|0;r=n+248|0;o=n+256|0;s=n+264|0;u=n+272|0;t=n|0;Xo(m,h,t,B,y);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){w=d+1|0;E=w;x=d+8|0}else{x=d+8|0;E=c[x>>2]|0;w=d+1|0}c[q>>2]=E;h=p|0;c[r>>2]=h;c[o>>2]=0;a[s]=1;a[u]=69;e=e|0;f=f|0;A=d|0;z=d+4|0;B=a[B]|0;C=a[y]|0;y=c[e>>2]|0;a:while(1){do{if((y|0)==0){y=0}else{if((c[y+12>>2]|0)!=(c[y+16>>2]|0)){break}if(!((Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)==-1)){break}c[e>>2]=0;y=0}}while(0);F=(y|0)==0;D=c[f>>2]|0;do{if((D|0)==0){l=17}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){if(F){break}else{break a}}if((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1){c[f>>2]=0;l=17;break}else{if(F){break}else{break a}}}}while(0);if((l|0)==17){l=0;if(F){D=0;break}else{D=0}}F=a[v]|0;H=(F&1)==0;if(H){G=(F&255)>>>1}else{G=c[z>>2]|0}if(((c[q>>2]|0)-E|0)==(G|0)){if(H){E=(F&255)>>>1;F=(F&255)>>>1}else{F=c[z>>2]|0;E=F}tm(d,E<<1,0);if((a[v]&1)==0){E=10}else{E=(c[A>>2]&-2)-1|0}tm(d,E,0);if((a[v]&1)==0){E=w}else{E=c[x>>2]|0}c[q>>2]=E+F}G=y+12|0;H=c[G>>2]|0;F=y+16|0;if((H|0)==(c[F>>2]|0)){H=(Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)&255}else{H=a[H]|0}if((Yo(H,s,u,E,q,B,C,m,h,r,o,t)|0)!=0){break}D=c[G>>2]|0;if((D|0)==(c[F>>2]|0)){Fc[c[(c[y>>2]|0)+40>>2]&255](y)|0;continue}else{c[G>>2]=D+1;continue}}t=a[m]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[m+4>>2]|0}do{if((t|0)!=0){if((a[s]|0)==0){break}s=c[r>>2]|0;if((s-p|0)>=160){break}H=c[o>>2]|0;c[r>>2]=s+4;c[s>>2]=H}}while(0);I=+Lt(E,c[q>>2]|0,j);g[k>>2]=I;hr(m,h,c[r>>2]|0,j);do{if((y|0)==0){y=0}else{if((c[y+12>>2]|0)!=(c[y+16>>2]|0)){break}if(!((Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)==-1)){break}c[e>>2]=0;y=0}}while(0);k=(y|0)==0;do{if((D|0)==0){l=63}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){if(!k){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}if((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1){c[f>>2]=0;l=63;break}if(!(k^(D|0)==0)){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}}while(0);do{if((l|0)==63){if(k){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}function ro(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];so(a,0,e,d,f,g,h);i=b;return}function so(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;n=i;i=i+280|0;B=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[B>>2];B=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[B>>2];B=n+32|0;y=n+40|0;m=n+48|0;d=n+64|0;q=n+80|0;p=n+88|0;r=n+248|0;o=n+256|0;s=n+264|0;u=n+272|0;t=n|0;Xo(m,g,t,B,y);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){w=d+1|0;E=w;x=d+8|0}else{x=d+8|0;E=c[x>>2]|0;w=d+1|0}c[q>>2]=E;g=p|0;c[r>>2]=g;c[o>>2]=0;a[s]=1;a[u]=69;e=e|0;f=f|0;A=d|0;z=d+4|0;B=a[B]|0;C=a[y]|0;y=c[e>>2]|0;a:while(1){do{if((y|0)==0){y=0}else{if((c[y+12>>2]|0)!=(c[y+16>>2]|0)){break}if(!((Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)==-1)){break}c[e>>2]=0;y=0}}while(0);F=(y|0)==0;D=c[f>>2]|0;do{if((D|0)==0){l=17}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){if(F){break}else{break a}}if((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1){c[f>>2]=0;l=17;break}else{if(F){break}else{break a}}}}while(0);if((l|0)==17){l=0;if(F){D=0;break}else{D=0}}F=a[v]|0;H=(F&1)==0;if(H){G=(F&255)>>>1}else{G=c[z>>2]|0}if(((c[q>>2]|0)-E|0)==(G|0)){if(H){E=(F&255)>>>1;F=(F&255)>>>1}else{F=c[z>>2]|0;E=F}tm(d,E<<1,0);if((a[v]&1)==0){E=10}else{E=(c[A>>2]&-2)-1|0}tm(d,E,0);if((a[v]&1)==0){E=w}else{E=c[x>>2]|0}c[q>>2]=E+F}G=y+12|0;H=c[G>>2]|0;F=y+16|0;if((H|0)==(c[F>>2]|0)){H=(Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)&255}else{H=a[H]|0}if((Yo(H,s,u,E,q,B,C,m,g,r,o,t)|0)!=0){break}D=c[G>>2]|0;if((D|0)==(c[F>>2]|0)){Fc[c[(c[y>>2]|0)+40>>2]&255](y)|0;continue}else{c[G>>2]=D+1;continue}}t=a[m]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[m+4>>2]|0}do{if((t|0)!=0){if((a[s]|0)==0){break}s=c[r>>2]|0;if((s-p|0)>=160){break}H=c[o>>2]|0;c[r>>2]=s+4;c[s>>2]=H}}while(0);I=+Kt(E,c[q>>2]|0,j);h[k>>3]=I;hr(m,g,c[r>>2]|0,j);do{if((y|0)==0){y=0}else{if((c[y+12>>2]|0)!=(c[y+16>>2]|0)){break}if(!((Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)==-1)){break}c[e>>2]=0;y=0}}while(0);k=(y|0)==0;do{if((D|0)==0){l=63}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){if(!k){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}if((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1){c[f>>2]=0;l=63;break}if(!(k^(D|0)==0)){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}}while(0);do{if((l|0)==63){if(k){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}function to(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];uo(a,0,e,d,f,g,h);i=b;return}function uo(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;n=i;i=i+280|0;B=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[B>>2];B=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[B>>2];B=n+32|0;y=n+40|0;m=n+48|0;d=n+64|0;q=n+80|0;p=n+88|0;r=n+248|0;o=n+256|0;s=n+264|0;u=n+272|0;t=n|0;Xo(m,g,t,B,y);v=d;dv(v|0,0,12)|0;tm(d,10,0);if((a[v]&1)==0){w=d+1|0;E=w;x=d+8|0}else{x=d+8|0;E=c[x>>2]|0;w=d+1|0}c[q>>2]=E;g=p|0;c[r>>2]=g;c[o>>2]=0;a[s]=1;a[u]=69;e=e|0;f=f|0;A=d|0;z=d+4|0;B=a[B]|0;C=a[y]|0;y=c[e>>2]|0;a:while(1){do{if((y|0)==0){y=0}else{if((c[y+12>>2]|0)!=(c[y+16>>2]|0)){break}if(!((Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)==-1)){break}c[e>>2]=0;y=0}}while(0);F=(y|0)==0;D=c[f>>2]|0;do{if((D|0)==0){l=17}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){if(F){break}else{break a}}if((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1){c[f>>2]=0;l=17;break}else{if(F){break}else{break a}}}}while(0);if((l|0)==17){l=0;if(F){D=0;break}else{D=0}}F=a[v]|0;H=(F&1)==0;if(H){G=(F&255)>>>1}else{G=c[z>>2]|0}if(((c[q>>2]|0)-E|0)==(G|0)){if(H){E=(F&255)>>>1;F=(F&255)>>>1}else{F=c[z>>2]|0;E=F}tm(d,E<<1,0);if((a[v]&1)==0){E=10}else{E=(c[A>>2]&-2)-1|0}tm(d,E,0);if((a[v]&1)==0){E=w}else{E=c[x>>2]|0}c[q>>2]=E+F}G=y+12|0;H=c[G>>2]|0;F=y+16|0;if((H|0)==(c[F>>2]|0)){H=(Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)&255}else{H=a[H]|0}if((Yo(H,s,u,E,q,B,C,m,g,r,o,t)|0)!=0){break}D=c[G>>2]|0;if((D|0)==(c[F>>2]|0)){Fc[c[(c[y>>2]|0)+40>>2]&255](y)|0;continue}else{c[G>>2]=D+1;continue}}t=a[m]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[m+4>>2]|0}do{if((t|0)!=0){if((a[s]|0)==0){break}s=c[r>>2]|0;if((s-p|0)>=160){break}H=c[o>>2]|0;c[r>>2]=s+4;c[s>>2]=H}}while(0);I=+Jt(E,c[q>>2]|0,j);h[k>>3]=I;hr(m,g,c[r>>2]|0,j);do{if((y|0)==0){y=0}else{if((c[y+12>>2]|0)!=(c[y+16>>2]|0)){break}if(!((Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)==-1)){break}c[e>>2]=0;y=0}}while(0);k=(y|0)==0;do{if((D|0)==0){l=63}else{if((c[D+12>>2]|0)!=(c[D+16>>2]|0)){if(!k){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}if((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1){c[f>>2]=0;l=63;break}if(!(k^(D|0)==0)){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}}while(0);do{if((l|0)==63){if(k){break}H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;H=b|0;c[H>>2]=y;rm(d);rm(m);i=n;return}function vo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0;l=i;i=i+272|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=l|0;q=l+16|0;d=l+48|0;r=l+64|0;m=l+72|0;p=l+88|0;t=l+96|0;o=l+256|0;n=l+264|0;dv(d|0,0,12)|0;Lm(r,g);g=r|0;r=c[g>>2]|0;if(!((c[8716]|0)==-1)){c[s>>2]=34864;c[s+4>>2]=16;c[s+8>>2]=0;mm(34864,s,114)}s=(c[8717]|0)-1|0;u=c[r+8>>2]|0;do{if((c[r+12>>2]|0)-u>>2>>>0>s>>>0){r=c[u+(s<<2)>>2]|0;if((r|0)==0){break}q=q|0;Sc[c[(c[r>>2]|0)+32>>2]&15](r,27208,27234,q)|0;Ul(c[g>>2]|0)|0;s=m;dv(s|0,0,12)|0;tm(m,10,0);if((a[s]&1)==0){r=m+1|0;x=r;g=m+8|0}else{g=m+8|0;x=c[g>>2]|0;r=m+1|0}c[p>>2]=x;t=t|0;c[o>>2]=t;c[n>>2]=0;e=e|0;f=f|0;u=m|0;v=m+4|0;w=c[e>>2]|0;a:while(1){do{if((w|0)==0){w=0}else{if((c[w+12>>2]|0)!=(c[w+16>>2]|0)){break}if(!((Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)==-1)){break}c[e>>2]=0;w=0}}while(0);z=(w|0)==0;y=c[f>>2]|0;do{if((y|0)==0){k=25}else{if((c[y+12>>2]|0)!=(c[y+16>>2]|0)){if(z){break}else{break a}}if((Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0)==-1){c[f>>2]=0;k=25;break}else{if(z){break}else{break a}}}}while(0);if((k|0)==25){k=0;if(z){break}}y=a[s]|0;z=(y&1)==0;if(z){A=(y&255)>>>1}else{A=c[v>>2]|0}if(((c[p>>2]|0)-x|0)==(A|0)){if(z){x=(y&255)>>>1;y=(y&255)>>>1}else{y=c[v>>2]|0;x=y}tm(m,x<<1,0);if((a[s]&1)==0){x=10}else{x=(c[u>>2]&-2)-1|0}tm(m,x,0);if((a[s]&1)==0){x=r}else{x=c[g>>2]|0}c[p>>2]=x+y}y=w+12|0;A=c[y>>2]|0;z=w+16|0;if((A|0)==(c[z>>2]|0)){A=(Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0)&255}else{A=a[A]|0}if((wo(A,16,x,p,n,0,d,t,o,q)|0)!=0){break}A=c[y>>2]|0;if((A|0)==(c[z>>2]|0)){Fc[c[(c[w>>2]|0)+40>>2]&255](w)|0;continue}else{c[y>>2]=A+1;continue}}a[x+3|0]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}A=Xa(2147483647,14472,0)|0;c[8330]=A}}while(0);A=xo(x,c[8330]|0,11744,(z=i,i=i+8|0,c[z>>2]=j,z)|0)|0;i=z;if((A|0)!=1){c[h>>2]=4}o=c[e>>2]|0;do{if((o|0)==0){o=0}else{if((c[o+12>>2]|0)!=(c[o+16>>2]|0)){break}if(!((Fc[c[(c[o>>2]|0)+36>>2]&255](o)|0)==-1)){break}c[e>>2]=0;o=0}}while(0);j=(o|0)==0;n=c[f>>2]|0;do{if((n|0)==0){k=73}else{if((c[n+12>>2]|0)!=(c[n+16>>2]|0)){if(!j){break}A=b|0;c[A>>2]=o;rm(m);rm(d);i=l;return}if((Fc[c[(c[n>>2]|0)+36>>2]&255](n)|0)==-1){c[f>>2]=0;k=73;break}if(!(j^(n|0)==0)){break}A=b|0;c[A>>2]=o;rm(m);rm(d);i=l;return}}while(0);do{if((k|0)==73){if(j){break}A=b|0;c[A>>2]=o;rm(m);rm(d);i=l;return}}while(0);c[h>>2]=c[h>>2]|2;A=b|0;c[A>>2]=o;rm(m);rm(d);i=l;return}}while(0);A=pc(4)|0;lu(A);Fb(A|0,25544,156)}function wo(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0;n=c[f>>2]|0;m=(n|0)==(e|0);do{if(m){o=(a[l+24|0]|0)==b<<24>>24;if(!o){if(!((a[l+25|0]|0)==b<<24>>24)){break}}c[f>>2]=e+1;a[e]=o?43:45;c[g>>2]=0;o=0;return o|0}}while(0);o=a[i]|0;if((o&1)==0){i=(o&255)>>>1}else{i=c[i+4>>2]|0}if((i|0)!=0&b<<24>>24==h<<24>>24){e=c[k>>2]|0;if((e-j|0)>=160){o=0;return o|0}o=c[g>>2]|0;c[k>>2]=e+4;c[e>>2]=o;c[g>>2]=0;o=0;return o|0}k=l+26|0;j=l;while(1){h=j+1|0;if((a[j]|0)==b<<24>>24){break}if((h|0)==(k|0)){j=k;break}else{j=h}}l=j-l|0;if((l|0)>23){o=-1;return o|0}do{if((d|0)==16){if((l|0)<22){break}if(m){o=-1;return o|0}if((n-e|0)>=3){o=-1;return o|0}if((a[n-1|0]|0)!=48){o=-1;return o|0}c[g>>2]=0;o=a[27208+l|0]|0;c[f>>2]=n+1;a[n]=o;o=0;return o|0}else if((d|0)==8|(d|0)==10){if((l|0)<(d|0)){break}else{g=-1}return g|0}}while(0);o=a[27208+l|0]|0;c[f>>2]=n+1;a[n]=o;c[g>>2]=(c[g>>2]|0)+1;o=0;return o|0}function xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f|0;h=g;c[h>>2]=e;c[h+4>>2]=0;b=bc(b|0)|0;d=cb(a|0,d|0,g|0)|0;if((b|0)==0){i=f;return d|0}bc(b|0)|0;i=f;return d|0}function yo(a){a=a|0;Sl(a|0);Pu(a);return}function zo(a){a=a|0;Sl(a|0);return}function Ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+112|0;n=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[n>>2];n=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[n>>2];n=k|0;p=k+16|0;q=k+32|0;u=k+40|0;s=k+48|0;t=k+56|0;r=k+64|0;o=k+72|0;l=k+80|0;m=k+104|0;if((c[g+4>>2]&1|0)==0){c[q>>2]=-1;p=c[(c[d>>2]|0)+16>>2]|0;r=e|0;c[s>>2]=c[r>>2];c[t>>2]=c[f>>2];Mc[p&127](u,d,s,t,g,h,q);e=c[u>>2]|0;c[r>>2]=e;f=c[q>>2]|0;if((f|0)==1){a[j]=1}else if((f|0)==0){a[j]=0}else{a[j]=1;c[h>>2]=4}c[b>>2]=e;i=k;return}Lm(r,g);q=r|0;r=c[q>>2]|0;if(!((c[8714]|0)==-1)){c[p>>2]=34856;c[p+4>>2]=16;c[p+8>>2]=0;mm(34856,p,114)}p=(c[8715]|0)-1|0;s=c[r+8>>2]|0;do{if((c[r+12>>2]|0)-s>>2>>>0>p>>>0){p=c[s+(p<<2)>>2]|0;if((p|0)==0){break}Ul(c[q>>2]|0)|0;Lm(o,g);o=o|0;g=c[o>>2]|0;if(!((c[8618]|0)==-1)){c[n>>2]=34472;c[n+4>>2]=16;c[n+8>>2]=0;mm(34472,n,114)}n=(c[8619]|0)-1|0;q=c[g+8>>2]|0;do{if((c[g+12>>2]|0)-q>>2>>>0>n>>>0){n=c[q+(n<<2)>>2]|0;if((n|0)==0){break}t=n;Ul(c[o>>2]|0)|0;u=l|0;d=n;Ec[c[(c[d>>2]|0)+24>>2]&127](u,t);Ec[c[(c[d>>2]|0)+28>>2]&127](l+12|0,t);c[m>>2]=c[f>>2];u=(Bo(e,m,u,l+24|0,p,h,1)|0)==(u|0)|0;a[j]=u;c[b>>2]=c[e>>2];Cm(l+12|0);Cm(l|0);i=k;return}}while(0);u=pc(4)|0;lu(u);Fb(u|0,25544,156)}}while(0);u=pc(4)|0;lu(u);Fb(u|0,25544,156)}function Bo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0;l=i;i=i+104|0;u=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[u>>2];u=(f-e|0)/12|0;n=l|0;do{if(u>>>0>100>>>0){m=Gu(u)|0;if((m|0)!=0){n=m;break}Uu();n=0;m=0}else{m=0}}while(0);o=(e|0)==(f|0);if(o){t=0}else{t=0;p=n;q=e;while(1){r=a[q]|0;if((r&1)==0){r=(r&255)>>>1}else{r=c[q+4>>2]|0}if((r|0)==0){a[p]=2;t=t+1|0;u=u-1|0}else{a[p]=1}q=q+12|0;if((q|0)==(f|0)){break}else{p=p+1|0}}}b=b|0;d=d|0;p=g;q=0;a:while(1){r=c[b>>2]|0;do{if((r|0)==0){s=1}else{s=c[r+12>>2]|0;if((s|0)==(c[r+16>>2]|0)){r=Fc[c[(c[r>>2]|0)+36>>2]&255](r)|0}else{r=c[s>>2]|0}if((r|0)==-1){c[b>>2]=0;s=1;break}else{s=(c[b>>2]|0)==0;break}}}while(0);r=c[d>>2]|0;do{if((r|0)==0){w=1;r=0}else{v=c[r+12>>2]|0;if((v|0)==(c[r+16>>2]|0)){v=Fc[c[(c[r>>2]|0)+36>>2]&255](r)|0}else{v=c[v>>2]|0}if(!((v|0)==-1)){w=0;break}c[d>>2]=0;w=1;r=0}}while(0);v=c[b>>2]|0;if(!((s^w)&(u|0)!=0)){break}r=c[v+12>>2]|0;if((r|0)==(c[v+16>>2]|0)){s=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{s=c[r>>2]|0}if(!j){s=Qc[c[(c[p>>2]|0)+28>>2]&63](g,s)|0}r=q+1|0;if(o){q=r;continue}b:do{if(j){v=n;x=0;w=e;while(1){do{if((a[v]|0)==1){z=a[w]|0;A=(z&1)==0;if(A){y=w+4|0}else{y=c[w+8>>2]|0}if((s|0)!=(c[y+(q<<2)>>2]|0)){a[v]=0;u=u-1|0;break}if(A){x=(z&255)>>>1}else{x=c[w+4>>2]|0}if((x|0)!=(r|0)){x=1;break}a[v]=2;x=1;t=t+1|0;u=u-1|0}}while(0);w=w+12|0;if((w|0)==(f|0)){s=u;break b}v=v+1|0}}else{v=n;x=0;w=e;while(1){do{if((a[v]|0)==1){y=w;if((a[y]&1)==0){z=w+4|0}else{z=c[w+8>>2]|0}if((s|0)!=(Qc[c[(c[p>>2]|0)+28>>2]&63](g,c[z+(q<<2)>>2]|0)|0)){a[v]=0;u=u-1|0;break}x=a[y]|0;if((x&1)==0){x=(x&255)>>>1}else{x=c[w+4>>2]|0}if((x|0)!=(r|0)){x=1;break}a[v]=2;x=1;t=t+1|0;u=u-1|0}}while(0);w=w+12|0;if((w|0)==(f|0)){s=u;break b}v=v+1|0}}}while(0);if(!x){q=r;u=s;continue}v=c[b>>2]|0;u=v+12|0;q=c[u>>2]|0;if((q|0)==(c[v+16>>2]|0)){Fc[c[(c[v>>2]|0)+40>>2]&255](v)|0}else{c[u>>2]=q+4}if((s+t|0)>>>0<2>>>0){q=r;u=s;continue}else{q=n;u=e}while(1){do{if((a[q]|0)==2){v=a[u]|0;if((v&1)==0){v=(v&255)>>>1}else{v=c[u+4>>2]|0}if((v|0)==(r|0)){break}a[q]=0;t=t-1|0}}while(0);u=u+12|0;if((u|0)==(f|0)){q=r;u=s;continue a}else{q=q+1|0}}}do{if((v|0)==0){j=1}else{j=c[v+12>>2]|0;if((j|0)==(c[v+16>>2]|0)){j=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{j=c[j>>2]|0}if((j|0)==-1){c[b>>2]=0;j=1;break}else{j=(c[b>>2]|0)==0;break}}}while(0);do{if((r|0)==0){k=94}else{g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){g=Fc[c[(c[r>>2]|0)+36>>2]&255](r)|0}else{g=c[g>>2]|0}if((g|0)==-1){c[d>>2]=0;k=94;break}else{if(j){break}else{k=96;break}}}}while(0);if((k|0)==94){if(j){k=96}}if((k|0)==96){c[h>>2]=c[h>>2]|2}c:do{if(o){k=101}else{if((a[n]|0)==2){f=e;break}while(1){e=e+12|0;n=n+1|0;if((e|0)==(f|0)){k=101;break c}if((a[n]|0)==2){f=e;break}}}}while(0);if((k|0)==101){c[h>>2]=c[h>>2]|4}if((m|0)==0){i=l;return f|0}Hu(m);i=l;return f|0}function Co(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];Do(a,0,e,d,f,g,h);i=b;return}function Do(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+328|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;t=m+104|0;d=m+112|0;l=m+128|0;o=m+144|0;p=m+152|0;n=m+312|0;q=m+320|0;r=c[g+4>>2]&74;if((r|0)==8){r=16}else if((r|0)==64){r=8}else if((r|0)==0){r=0}else{r=10}s=s|0;Zo(d,g,s,t);w=l;dv(w|0,0,12)|0;tm(l,10,0);if((a[w]&1)==0){u=l+1|0;B=u;v=l+8|0}else{v=l+8|0;B=c[v>>2]|0;u=l+1|0}c[o>>2]=B;g=p|0;c[n>>2]=g;c[q>>2]=0;e=e|0;f=f|0;x=l|0;y=l+4|0;z=c[t>>2]|0;t=c[e>>2]|0;a:while(1){do{if((t|0)==0){C=1;t=0}else{A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0)){A=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{A=c[A>>2]|0}if(!((A|0)==-1)){C=0;break}c[e>>2]=0;C=1;t=0}}while(0);A=c[f>>2]|0;do{if((A|0)==0){k=22}else{D=c[A+12>>2]|0;if((D|0)==(c[A+16>>2]|0)){D=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{D=c[D>>2]|0}if((D|0)==-1){c[f>>2]=0;k=22;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==22){k=0;if(C){A=0;break}else{A=0}}C=a[w]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[y>>2]|0}if(((c[o>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[y>>2]|0;B=C}tm(l,B<<1,0);if((a[w]&1)==0){B=10}else{B=(c[x>>2]&-2)-1|0}tm(l,B,0);if((a[w]&1)==0){B=u}else{B=c[v>>2]|0}c[o>>2]=B+C}C=t+12|0;E=c[C>>2]|0;D=t+16|0;if((E|0)==(c[D>>2]|0)){E=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{E=c[E>>2]|0}if((Vo(E,r,B,o,q,z,d,g,n,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[t>>2]|0)+40>>2]&255](t)|0;continue}else{c[C>>2]=A+4;continue}}s=a[d]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[d+4>>2]|0}do{if((s|0)!=0){s=c[n>>2]|0;if((s-p|0)>=160){break}E=c[q>>2]|0;c[n>>2]=s+4;c[s>>2]=E}}while(0);E=Rt(B,c[o>>2]|0,h,r)|0;c[j>>2]=E;hr(d,g,c[n>>2]|0,h);do{if((t|0)==0){j=1;t=0}else{j=c[t+12>>2]|0;if((j|0)==(c[t+16>>2]|0)){j=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{j=c[j>>2]|0}if(!((j|0)==-1)){j=0;break}c[e>>2]=0;j=1;t=0}}while(0);do{if((A|0)==0){k=67}else{n=c[A+12>>2]|0;if((n|0)==(c[A+16>>2]|0)){n=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{n=c[n>>2]|0}if((n|0)==-1){c[f>>2]=0;k=67;break}if(!j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);do{if((k|0)==67){if(j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}function Eo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];Fo(a,0,e,d,f,g,h);i=b;return}function Fo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+328|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;t=m+104|0;d=m+112|0;l=m+128|0;o=m+144|0;p=m+152|0;n=m+312|0;q=m+320|0;r=c[g+4>>2]&74;if((r|0)==64){r=8}else if((r|0)==8){r=16}else if((r|0)==0){r=0}else{r=10}s=s|0;Zo(d,g,s,t);w=l;dv(w|0,0,12)|0;tm(l,10,0);if((a[w]&1)==0){u=l+1|0;B=u;v=l+8|0}else{v=l+8|0;B=c[v>>2]|0;u=l+1|0}c[o>>2]=B;g=p|0;c[n>>2]=g;c[q>>2]=0;e=e|0;f=f|0;x=l|0;y=l+4|0;z=c[t>>2]|0;t=c[e>>2]|0;a:while(1){do{if((t|0)==0){C=1;t=0}else{A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0)){A=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{A=c[A>>2]|0}if(!((A|0)==-1)){C=0;break}c[e>>2]=0;C=1;t=0}}while(0);A=c[f>>2]|0;do{if((A|0)==0){k=22}else{D=c[A+12>>2]|0;if((D|0)==(c[A+16>>2]|0)){D=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{D=c[D>>2]|0}if((D|0)==-1){c[f>>2]=0;k=22;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==22){k=0;if(C){A=0;break}else{A=0}}C=a[w]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[y>>2]|0}if(((c[o>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[y>>2]|0;B=C}tm(l,B<<1,0);if((a[w]&1)==0){B=10}else{B=(c[x>>2]&-2)-1|0}tm(l,B,0);if((a[w]&1)==0){B=u}else{B=c[v>>2]|0}c[o>>2]=B+C}C=t+12|0;E=c[C>>2]|0;D=t+16|0;if((E|0)==(c[D>>2]|0)){E=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{E=c[E>>2]|0}if((Vo(E,r,B,o,q,z,d,g,n,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[t>>2]|0)+40>>2]&255](t)|0;continue}else{c[C>>2]=A+4;continue}}s=a[d]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[d+4>>2]|0}do{if((s|0)!=0){s=c[n>>2]|0;if((s-p|0)>=160){break}E=c[q>>2]|0;c[n>>2]=s+4;c[s>>2]=E}}while(0);E=Qt(B,c[o>>2]|0,h,r)|0;c[j>>2]=E;c[j+4>>2]=K;hr(d,g,c[n>>2]|0,h);do{if((t|0)==0){j=1;t=0}else{j=c[t+12>>2]|0;if((j|0)==(c[t+16>>2]|0)){j=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{j=c[j>>2]|0}if(!((j|0)==-1)){j=0;break}c[e>>2]=0;j=1;t=0}}while(0);do{if((A|0)==0){k=67}else{n=c[A+12>>2]|0;if((n|0)==(c[A+16>>2]|0)){n=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{n=c[n>>2]|0}if((n|0)==-1){c[f>>2]=0;k=67;break}if(!j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);do{if((k|0)==67){if(j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}function Go(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];Ho(a,0,e,d,f,g,h);i=b;return}function Ho(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0;n=i;i=i+328|0;t=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[t>>2];t=g;g=i;i=i+4|0;i=i+7&-8;c[g>>2]=c[t>>2];t=n|0;u=n+104|0;e=n+112|0;m=n+128|0;p=n+144|0;q=n+152|0;o=n+312|0;r=n+320|0;s=c[h+4>>2]&74;if((s|0)==0){s=0}else if((s|0)==64){s=8}else if((s|0)==8){s=16}else{s=10}t=t|0;Zo(e,h,t,u);x=m;dv(x|0,0,12)|0;tm(m,10,0);if((a[x]&1)==0){v=m+1|0;C=v;w=m+8|0}else{w=m+8|0;C=c[w>>2]|0;v=m+1|0}c[p>>2]=C;h=q|0;c[o>>2]=h;c[r>>2]=0;f=f|0;g=g|0;y=m|0;z=m+4|0;A=c[u>>2]|0;u=c[f>>2]|0;a:while(1){do{if((u|0)==0){D=1;u=0}else{B=c[u+12>>2]|0;if((B|0)==(c[u+16>>2]|0)){B=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{B=c[B>>2]|0}if(!((B|0)==-1)){D=0;break}c[f>>2]=0;D=1;u=0}}while(0);B=c[g>>2]|0;do{if((B|0)==0){l=22}else{E=c[B+12>>2]|0;if((E|0)==(c[B+16>>2]|0)){E=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{E=c[E>>2]|0}if((E|0)==-1){c[g>>2]=0;l=22;break}else{if(D){break}else{break a}}}}while(0);if((l|0)==22){l=0;if(D){B=0;break}else{B=0}}D=a[x]|0;F=(D&1)==0;if(F){E=(D&255)>>>1}else{E=c[z>>2]|0}if(((c[p>>2]|0)-C|0)==(E|0)){if(F){C=(D&255)>>>1;D=(D&255)>>>1}else{D=c[z>>2]|0;C=D}tm(m,C<<1,0);if((a[x]&1)==0){C=10}else{C=(c[y>>2]&-2)-1|0}tm(m,C,0);if((a[x]&1)==0){C=v}else{C=c[w>>2]|0}c[p>>2]=C+D}D=u+12|0;F=c[D>>2]|0;E=u+16|0;if((F|0)==(c[E>>2]|0)){F=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{F=c[F>>2]|0}if((Vo(F,s,C,p,r,A,e,h,o,t)|0)!=0){break}B=c[D>>2]|0;if((B|0)==(c[E>>2]|0)){Fc[c[(c[u>>2]|0)+40>>2]&255](u)|0;continue}else{c[D>>2]=B+4;continue}}t=a[e]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[e+4>>2]|0}do{if((t|0)!=0){t=c[o>>2]|0;if((t-q|0)>=160){break}F=c[r>>2]|0;c[o>>2]=t+4;c[t>>2]=F}}while(0);F=Pt(C,c[p>>2]|0,j,s)|0;b[k>>1]=F;hr(e,h,c[o>>2]|0,j);do{if((u|0)==0){k=1;u=0}else{k=c[u+12>>2]|0;if((k|0)==(c[u+16>>2]|0)){k=Fc[c[(c[u>>2]|0)+36>>2]&255](u)|0}else{k=c[k>>2]|0}if(!((k|0)==-1)){k=0;break}c[f>>2]=0;k=1;u=0}}while(0);do{if((B|0)==0){l=67}else{o=c[B+12>>2]|0;if((o|0)==(c[B+16>>2]|0)){o=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{o=c[o>>2]|0}if((o|0)==-1){c[g>>2]=0;l=67;break}if(!k){break}F=d|0;c[F>>2]=u;rm(m);rm(e);i=n;return}}while(0);do{if((l|0)==67){if(k){break}F=d|0;c[F>>2]=u;rm(m);rm(e);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;F=d|0;c[F>>2]=u;rm(m);rm(e);i=n;return}function Io(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];Jo(a,0,e,d,f,g,h);i=b;return}function Jo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+328|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;t=m+104|0;d=m+112|0;l=m+128|0;o=m+144|0;p=m+152|0;n=m+312|0;q=m+320|0;r=c[g+4>>2]&74;if((r|0)==64){r=8}else if((r|0)==0){r=0}else if((r|0)==8){r=16}else{r=10}s=s|0;Zo(d,g,s,t);w=l;dv(w|0,0,12)|0;tm(l,10,0);if((a[w]&1)==0){u=l+1|0;B=u;v=l+8|0}else{v=l+8|0;B=c[v>>2]|0;u=l+1|0}c[o>>2]=B;g=p|0;c[n>>2]=g;c[q>>2]=0;e=e|0;f=f|0;x=l|0;y=l+4|0;z=c[t>>2]|0;t=c[e>>2]|0;a:while(1){do{if((t|0)==0){C=1;t=0}else{A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0)){A=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{A=c[A>>2]|0}if(!((A|0)==-1)){C=0;break}c[e>>2]=0;C=1;t=0}}while(0);A=c[f>>2]|0;do{if((A|0)==0){k=22}else{D=c[A+12>>2]|0;if((D|0)==(c[A+16>>2]|0)){D=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{D=c[D>>2]|0}if((D|0)==-1){c[f>>2]=0;k=22;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==22){k=0;if(C){A=0;break}else{A=0}}C=a[w]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[y>>2]|0}if(((c[o>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[y>>2]|0;B=C}tm(l,B<<1,0);if((a[w]&1)==0){B=10}else{B=(c[x>>2]&-2)-1|0}tm(l,B,0);if((a[w]&1)==0){B=u}else{B=c[v>>2]|0}c[o>>2]=B+C}C=t+12|0;E=c[C>>2]|0;D=t+16|0;if((E|0)==(c[D>>2]|0)){E=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{E=c[E>>2]|0}if((Vo(E,r,B,o,q,z,d,g,n,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[t>>2]|0)+40>>2]&255](t)|0;continue}else{c[C>>2]=A+4;continue}}s=a[d]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[d+4>>2]|0}do{if((s|0)!=0){s=c[n>>2]|0;if((s-p|0)>=160){break}E=c[q>>2]|0;c[n>>2]=s+4;c[s>>2]=E}}while(0);E=Ot(B,c[o>>2]|0,h,r)|0;c[j>>2]=E;hr(d,g,c[n>>2]|0,h);do{if((t|0)==0){j=1;t=0}else{j=c[t+12>>2]|0;if((j|0)==(c[t+16>>2]|0)){j=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{j=c[j>>2]|0}if(!((j|0)==-1)){j=0;break}c[e>>2]=0;j=1;t=0}}while(0);do{if((A|0)==0){k=67}else{n=c[A+12>>2]|0;if((n|0)==(c[A+16>>2]|0)){n=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{n=c[n>>2]|0}if((n|0)==-1){c[f>>2]=0;k=67;break}if(!j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);do{if((k|0)==67){if(j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}function Ko(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];Lo(a,0,e,d,f,g,h);i=b;return}function Lo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+328|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;t=m+104|0;d=m+112|0;l=m+128|0;o=m+144|0;p=m+152|0;n=m+312|0;q=m+320|0;r=c[g+4>>2]&74;if((r|0)==8){r=16}else if((r|0)==64){r=8}else if((r|0)==0){r=0}else{r=10}s=s|0;Zo(d,g,s,t);w=l;dv(w|0,0,12)|0;tm(l,10,0);if((a[w]&1)==0){u=l+1|0;B=u;v=l+8|0}else{v=l+8|0;B=c[v>>2]|0;u=l+1|0}c[o>>2]=B;g=p|0;c[n>>2]=g;c[q>>2]=0;e=e|0;f=f|0;x=l|0;y=l+4|0;z=c[t>>2]|0;t=c[e>>2]|0;a:while(1){do{if((t|0)==0){C=1;t=0}else{A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0)){A=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{A=c[A>>2]|0}if(!((A|0)==-1)){C=0;break}c[e>>2]=0;C=1;t=0}}while(0);A=c[f>>2]|0;do{if((A|0)==0){k=22}else{D=c[A+12>>2]|0;if((D|0)==(c[A+16>>2]|0)){D=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{D=c[D>>2]|0}if((D|0)==-1){c[f>>2]=0;k=22;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==22){k=0;if(C){A=0;break}else{A=0}}C=a[w]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[y>>2]|0}if(((c[o>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[y>>2]|0;B=C}tm(l,B<<1,0);if((a[w]&1)==0){B=10}else{B=(c[x>>2]&-2)-1|0}tm(l,B,0);if((a[w]&1)==0){B=u}else{B=c[v>>2]|0}c[o>>2]=B+C}C=t+12|0;E=c[C>>2]|0;D=t+16|0;if((E|0)==(c[D>>2]|0)){E=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{E=c[E>>2]|0}if((Vo(E,r,B,o,q,z,d,g,n,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[t>>2]|0)+40>>2]&255](t)|0;continue}else{c[C>>2]=A+4;continue}}s=a[d]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[d+4>>2]|0}do{if((s|0)!=0){s=c[n>>2]|0;if((s-p|0)>=160){break}E=c[q>>2]|0;c[n>>2]=s+4;c[s>>2]=E}}while(0);E=Nt(B,c[o>>2]|0,h,r)|0;c[j>>2]=E;hr(d,g,c[n>>2]|0,h);do{if((t|0)==0){j=1;t=0}else{j=c[t+12>>2]|0;if((j|0)==(c[t+16>>2]|0)){j=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{j=c[j>>2]|0}if(!((j|0)==-1)){j=0;break}c[e>>2]=0;j=1;t=0}}while(0);do{if((A|0)==0){k=67}else{n=c[A+12>>2]|0;if((n|0)==(c[A+16>>2]|0)){n=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{n=c[n>>2]|0}if((n|0)==-1){c[f>>2]=0;k=67;break}if(!j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);do{if((k|0)==67){if(j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}function Mo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];No(a,0,e,d,f,g,h);i=b;return}function No(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0,E=0;m=i;i=i+328|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=m|0;t=m+104|0;d=m+112|0;l=m+128|0;o=m+144|0;p=m+152|0;n=m+312|0;q=m+320|0;r=c[g+4>>2]&74;if((r|0)==64){r=8}else if((r|0)==8){r=16}else if((r|0)==0){r=0}else{r=10}s=s|0;Zo(d,g,s,t);w=l;dv(w|0,0,12)|0;tm(l,10,0);if((a[w]&1)==0){u=l+1|0;B=u;v=l+8|0}else{v=l+8|0;B=c[v>>2]|0;u=l+1|0}c[o>>2]=B;g=p|0;c[n>>2]=g;c[q>>2]=0;e=e|0;f=f|0;x=l|0;y=l+4|0;z=c[t>>2]|0;t=c[e>>2]|0;a:while(1){do{if((t|0)==0){C=1;t=0}else{A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0)){A=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{A=c[A>>2]|0}if(!((A|0)==-1)){C=0;break}c[e>>2]=0;C=1;t=0}}while(0);A=c[f>>2]|0;do{if((A|0)==0){k=22}else{D=c[A+12>>2]|0;if((D|0)==(c[A+16>>2]|0)){D=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{D=c[D>>2]|0}if((D|0)==-1){c[f>>2]=0;k=22;break}else{if(C){break}else{break a}}}}while(0);if((k|0)==22){k=0;if(C){A=0;break}else{A=0}}C=a[w]|0;E=(C&1)==0;if(E){D=(C&255)>>>1}else{D=c[y>>2]|0}if(((c[o>>2]|0)-B|0)==(D|0)){if(E){B=(C&255)>>>1;C=(C&255)>>>1}else{C=c[y>>2]|0;B=C}tm(l,B<<1,0);if((a[w]&1)==0){B=10}else{B=(c[x>>2]&-2)-1|0}tm(l,B,0);if((a[w]&1)==0){B=u}else{B=c[v>>2]|0}c[o>>2]=B+C}C=t+12|0;E=c[C>>2]|0;D=t+16|0;if((E|0)==(c[D>>2]|0)){E=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{E=c[E>>2]|0}if((Vo(E,r,B,o,q,z,d,g,n,s)|0)!=0){break}A=c[C>>2]|0;if((A|0)==(c[D>>2]|0)){Fc[c[(c[t>>2]|0)+40>>2]&255](t)|0;continue}else{c[C>>2]=A+4;continue}}s=a[d]|0;if((s&1)==0){s=(s&255)>>>1}else{s=c[d+4>>2]|0}do{if((s|0)!=0){s=c[n>>2]|0;if((s-p|0)>=160){break}E=c[q>>2]|0;c[n>>2]=s+4;c[s>>2]=E}}while(0);E=Mt(B,c[o>>2]|0,h,r)|0;c[j>>2]=E;c[j+4>>2]=K;hr(d,g,c[n>>2]|0,h);do{if((t|0)==0){j=1;t=0}else{j=c[t+12>>2]|0;if((j|0)==(c[t+16>>2]|0)){j=Fc[c[(c[t>>2]|0)+36>>2]&255](t)|0}else{j=c[j>>2]|0}if(!((j|0)==-1)){j=0;break}c[e>>2]=0;j=1;t=0}}while(0);do{if((A|0)==0){k=67}else{n=c[A+12>>2]|0;if((n|0)==(c[A+16>>2]|0)){n=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{n=c[n>>2]|0}if((n|0)==-1){c[f>>2]=0;k=67;break}if(!j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);do{if((k|0)==67){if(j){break}E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}}while(0);c[h>>2]=c[h>>2]|2;E=b|0;c[E>>2]=t;rm(l);rm(d);i=m;return}function Oo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];Po(a,0,e,d,f,g,h);i=b;return}function Po(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;n=i;i=i+376|0;B=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[B>>2];B=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[B>>2];B=n+128|0;v=n+136|0;d=n+144|0;m=n+160|0;o=n+176|0;r=n+184|0;p=n+344|0;q=n+352|0;s=n+360|0;u=n+368|0;t=n|0;_o(d,h,t,B,v);y=m;dv(y|0,0,12)|0;tm(m,10,0);if((a[y]&1)==0){w=m+1|0;E=w;x=m+8|0}else{x=m+8|0;E=c[x>>2]|0;w=m+1|0}c[o>>2]=E;h=r|0;c[p>>2]=h;c[q>>2]=0;a[s]=1;a[u]=69;e=e|0;f=f|0;z=m|0;A=m+4|0;B=c[B>>2]|0;C=c[v>>2]|0;v=c[e>>2]|0;a:while(1){do{if((v|0)==0){F=1;v=0}else{D=c[v+12>>2]|0;if((D|0)==(c[v+16>>2]|0)){D=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{D=c[D>>2]|0}if(!((D|0)==-1)){F=0;break}c[e>>2]=0;F=1;v=0}}while(0);D=c[f>>2]|0;do{if((D|0)==0){l=18}else{G=c[D+12>>2]|0;if((G|0)==(c[D+16>>2]|0)){G=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{G=c[G>>2]|0}if((G|0)==-1){c[f>>2]=0;l=18;break}else{if(F){break}else{break a}}}}while(0);if((l|0)==18){l=0;if(F){D=0;break}else{D=0}}F=a[y]|0;H=(F&1)==0;if(H){G=(F&255)>>>1}else{G=c[A>>2]|0}if(((c[o>>2]|0)-E|0)==(G|0)){if(H){E=(F&255)>>>1;F=(F&255)>>>1}else{F=c[A>>2]|0;E=F}tm(m,E<<1,0);if((a[y]&1)==0){E=10}else{E=(c[z>>2]&-2)-1|0}tm(m,E,0);if((a[y]&1)==0){E=w}else{E=c[x>>2]|0}c[o>>2]=E+F}G=v+12|0;H=c[G>>2]|0;F=v+16|0;if((H|0)==(c[F>>2]|0)){H=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{H=c[H>>2]|0}if(($o(H,s,u,E,o,B,C,d,h,p,q,t)|0)!=0){break}D=c[G>>2]|0;if((D|0)==(c[F>>2]|0)){Fc[c[(c[v>>2]|0)+40>>2]&255](v)|0;continue}else{c[G>>2]=D+4;continue}}t=a[d]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[d+4>>2]|0}do{if((t|0)!=0){if((a[s]|0)==0){break}s=c[p>>2]|0;if((s-r|0)>=160){break}H=c[q>>2]|0;c[p>>2]=s+4;c[s>>2]=H}}while(0);I=+Lt(E,c[o>>2]|0,j);g[k>>2]=I;hr(d,h,c[p>>2]|0,j);do{if((v|0)==0){k=1;v=0}else{k=c[v+12>>2]|0;if((k|0)==(c[v+16>>2]|0)){k=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{k=c[k>>2]|0}if(!((k|0)==-1)){k=0;break}c[e>>2]=0;k=1;v=0}}while(0);do{if((D|0)==0){l=64}else{o=c[D+12>>2]|0;if((o|0)==(c[D+16>>2]|0)){o=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{o=c[o>>2]|0}if((o|0)==-1){c[f>>2]=0;l=64;break}if(!k){break}H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}}while(0);do{if((l|0)==64){if(k){break}H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}function Qo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];Ro(a,0,e,d,f,g,h);i=b;return}function Ro(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;n=i;i=i+376|0;B=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[B>>2];B=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[B>>2];B=n+128|0;v=n+136|0;d=n+144|0;m=n+160|0;o=n+176|0;r=n+184|0;p=n+344|0;q=n+352|0;s=n+360|0;u=n+368|0;t=n|0;_o(d,g,t,B,v);y=m;dv(y|0,0,12)|0;tm(m,10,0);if((a[y]&1)==0){w=m+1|0;E=w;x=m+8|0}else{x=m+8|0;E=c[x>>2]|0;w=m+1|0}c[o>>2]=E;g=r|0;c[p>>2]=g;c[q>>2]=0;a[s]=1;a[u]=69;e=e|0;f=f|0;z=m|0;A=m+4|0;B=c[B>>2]|0;C=c[v>>2]|0;v=c[e>>2]|0;a:while(1){do{if((v|0)==0){F=1;v=0}else{D=c[v+12>>2]|0;if((D|0)==(c[v+16>>2]|0)){D=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{D=c[D>>2]|0}if(!((D|0)==-1)){F=0;break}c[e>>2]=0;F=1;v=0}}while(0);D=c[f>>2]|0;do{if((D|0)==0){l=18}else{G=c[D+12>>2]|0;if((G|0)==(c[D+16>>2]|0)){G=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{G=c[G>>2]|0}if((G|0)==-1){c[f>>2]=0;l=18;break}else{if(F){break}else{break a}}}}while(0);if((l|0)==18){l=0;if(F){D=0;break}else{D=0}}F=a[y]|0;H=(F&1)==0;if(H){G=(F&255)>>>1}else{G=c[A>>2]|0}if(((c[o>>2]|0)-E|0)==(G|0)){if(H){E=(F&255)>>>1;F=(F&255)>>>1}else{F=c[A>>2]|0;E=F}tm(m,E<<1,0);if((a[y]&1)==0){E=10}else{E=(c[z>>2]&-2)-1|0}tm(m,E,0);if((a[y]&1)==0){E=w}else{E=c[x>>2]|0}c[o>>2]=E+F}G=v+12|0;H=c[G>>2]|0;F=v+16|0;if((H|0)==(c[F>>2]|0)){H=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{H=c[H>>2]|0}if(($o(H,s,u,E,o,B,C,d,g,p,q,t)|0)!=0){break}D=c[G>>2]|0;if((D|0)==(c[F>>2]|0)){Fc[c[(c[v>>2]|0)+40>>2]&255](v)|0;continue}else{c[G>>2]=D+4;continue}}t=a[d]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[d+4>>2]|0}do{if((t|0)!=0){if((a[s]|0)==0){break}s=c[p>>2]|0;if((s-r|0)>=160){break}H=c[q>>2]|0;c[p>>2]=s+4;c[s>>2]=H}}while(0);I=+Kt(E,c[o>>2]|0,j);h[k>>3]=I;hr(d,g,c[p>>2]|0,j);do{if((v|0)==0){k=1;v=0}else{k=c[v+12>>2]|0;if((k|0)==(c[v+16>>2]|0)){k=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{k=c[k>>2]|0}if(!((k|0)==-1)){k=0;break}c[e>>2]=0;k=1;v=0}}while(0);do{if((D|0)==0){l=64}else{o=c[D+12>>2]|0;if((o|0)==(c[D+16>>2]|0)){o=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{o=c[o>>2]|0}if((o|0)==-1){c[f>>2]=0;l=64;break}if(!k){break}H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}}while(0);do{if((l|0)==64){if(k){break}H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}function So(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;i=i+16|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=e;j=i;i=i+4|0;i=i+7&-8;c[j>>2]=c[l>>2];e=b|0;d=b+8|0;c[e>>2]=c[k>>2];c[d>>2]=c[j>>2];To(a,0,e,d,f,g,h);i=b;return}function To(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;n=i;i=i+376|0;B=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[B>>2];B=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[B>>2];B=n+128|0;v=n+136|0;d=n+144|0;m=n+160|0;o=n+176|0;r=n+184|0;p=n+344|0;q=n+352|0;s=n+360|0;u=n+368|0;t=n|0;_o(d,g,t,B,v);y=m;dv(y|0,0,12)|0;tm(m,10,0);if((a[y]&1)==0){w=m+1|0;E=w;x=m+8|0}else{x=m+8|0;E=c[x>>2]|0;w=m+1|0}c[o>>2]=E;g=r|0;c[p>>2]=g;c[q>>2]=0;a[s]=1;a[u]=69;e=e|0;f=f|0;z=m|0;A=m+4|0;B=c[B>>2]|0;C=c[v>>2]|0;v=c[e>>2]|0;a:while(1){do{if((v|0)==0){F=1;v=0}else{D=c[v+12>>2]|0;if((D|0)==(c[v+16>>2]|0)){D=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{D=c[D>>2]|0}if(!((D|0)==-1)){F=0;break}c[e>>2]=0;F=1;v=0}}while(0);D=c[f>>2]|0;do{if((D|0)==0){l=18}else{G=c[D+12>>2]|0;if((G|0)==(c[D+16>>2]|0)){G=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{G=c[G>>2]|0}if((G|0)==-1){c[f>>2]=0;l=18;break}else{if(F){break}else{break a}}}}while(0);if((l|0)==18){l=0;if(F){D=0;break}else{D=0}}F=a[y]|0;H=(F&1)==0;if(H){G=(F&255)>>>1}else{G=c[A>>2]|0}if(((c[o>>2]|0)-E|0)==(G|0)){if(H){E=(F&255)>>>1;F=(F&255)>>>1}else{F=c[A>>2]|0;E=F}tm(m,E<<1,0);if((a[y]&1)==0){E=10}else{E=(c[z>>2]&-2)-1|0}tm(m,E,0);if((a[y]&1)==0){E=w}else{E=c[x>>2]|0}c[o>>2]=E+F}G=v+12|0;H=c[G>>2]|0;F=v+16|0;if((H|0)==(c[F>>2]|0)){H=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{H=c[H>>2]|0}if(($o(H,s,u,E,o,B,C,d,g,p,q,t)|0)!=0){break}D=c[G>>2]|0;if((D|0)==(c[F>>2]|0)){Fc[c[(c[v>>2]|0)+40>>2]&255](v)|0;continue}else{c[G>>2]=D+4;continue}}t=a[d]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[d+4>>2]|0}do{if((t|0)!=0){if((a[s]|0)==0){break}s=c[p>>2]|0;if((s-r|0)>=160){break}H=c[q>>2]|0;c[p>>2]=s+4;c[s>>2]=H}}while(0);I=+Jt(E,c[o>>2]|0,j);h[k>>3]=I;hr(d,g,c[p>>2]|0,j);do{if((v|0)==0){k=1;v=0}else{k=c[v+12>>2]|0;if((k|0)==(c[v+16>>2]|0)){k=Fc[c[(c[v>>2]|0)+36>>2]&255](v)|0}else{k=c[k>>2]|0}if(!((k|0)==-1)){k=0;break}c[e>>2]=0;k=1;v=0}}while(0);do{if((D|0)==0){l=64}else{o=c[D+12>>2]|0;if((o|0)==(c[D+16>>2]|0)){o=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{o=c[o>>2]|0}if((o|0)==-1){c[f>>2]=0;l=64;break}if(!k){break}H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}}while(0);do{if((l|0)==64){if(k){break}H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}}while(0);c[j>>2]=c[j>>2]|2;H=b|0;c[H>>2]=v;rm(m);rm(d);i=n;return}function Uo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0;l=i;i=i+344|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[s>>2];s=l|0;q=l+16|0;d=l+120|0;r=l+136|0;m=l+144|0;n=l+160|0;t=l+168|0;o=l+328|0;p=l+336|0;dv(d|0,0,12)|0;Lm(r,g);g=r|0;r=c[g>>2]|0;if(!((c[8714]|0)==-1)){c[s>>2]=34856;c[s+4>>2]=16;c[s+8>>2]=0;mm(34856,s,114)}s=(c[8715]|0)-1|0;u=c[r+8>>2]|0;do{if((c[r+12>>2]|0)-u>>2>>>0>s>>>0){r=c[u+(s<<2)>>2]|0;if((r|0)==0){break}q=q|0;Sc[c[(c[r>>2]|0)+48>>2]&15](r,27208,27234,q)|0;Ul(c[g>>2]|0)|0;g=m;dv(g|0,0,12)|0;tm(m,10,0);if((a[g]&1)==0){r=m+1|0;x=r;s=m+8|0}else{s=m+8|0;x=c[s>>2]|0;r=m+1|0}c[n>>2]=x;t=t|0;c[o>>2]=t;c[p>>2]=0;e=e|0;f=f|0;u=m|0;v=m+4|0;w=c[e>>2]|0;a:while(1){do{if((w|0)==0){y=1;w=0}else{y=c[w+12>>2]|0;if((y|0)==(c[w+16>>2]|0)){y=Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0}else{y=c[y>>2]|0}if(!((y|0)==-1)){y=0;break}c[e>>2]=0;y=1;w=0}}while(0);z=c[f>>2]|0;do{if((z|0)==0){k=26}else{A=c[z+12>>2]|0;if((A|0)==(c[z+16>>2]|0)){z=Fc[c[(c[z>>2]|0)+36>>2]&255](z)|0}else{z=c[A>>2]|0}if((z|0)==-1){c[f>>2]=0;k=26;break}else{if(y){break}else{break a}}}}while(0);if((k|0)==26){k=0;if(y){break}}y=a[g]|0;A=(y&1)==0;if(A){z=(y&255)>>>1}else{z=c[v>>2]|0}if(((c[n>>2]|0)-x|0)==(z|0)){if(A){x=(y&255)>>>1;y=(y&255)>>>1}else{y=c[v>>2]|0;x=y}tm(m,x<<1,0);if((a[g]&1)==0){x=10}else{x=(c[u>>2]&-2)-1|0}tm(m,x,0);if((a[g]&1)==0){x=r}else{x=c[s>>2]|0}c[n>>2]=x+y}y=w+12|0;A=c[y>>2]|0;z=w+16|0;if((A|0)==(c[z>>2]|0)){A=Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0}else{A=c[A>>2]|0}if((Vo(A,16,x,n,p,0,d,t,o,q)|0)!=0){break}A=c[y>>2]|0;if((A|0)==(c[z>>2]|0)){Fc[c[(c[w>>2]|0)+40>>2]&255](w)|0;continue}else{c[y>>2]=A+4;continue}}a[x+3|0]=0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}A=Xa(2147483647,14472,0)|0;c[8330]=A}}while(0);A=xo(x,c[8330]|0,11744,(z=i,i=i+8|0,c[z>>2]=j,z)|0)|0;i=z;if((A|0)!=1){c[h>>2]=4}n=c[e>>2]|0;do{if((n|0)==0){j=1;n=0}else{j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0)){j=Fc[c[(c[n>>2]|0)+36>>2]&255](n)|0}else{j=c[j>>2]|0}if(!((j|0)==-1)){j=0;break}c[e>>2]=0;j=1;n=0}}while(0);p=c[f>>2]|0;do{if((p|0)==0){k=74}else{o=c[p+12>>2]|0;if((o|0)==(c[p+16>>2]|0)){o=Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0}else{o=c[o>>2]|0}if((o|0)==-1){c[f>>2]=0;k=74;break}if(!j){break}A=b|0;c[A>>2]=n;rm(m);rm(d);i=l;return}}while(0);do{if((k|0)==74){if(j){break}A=b|0;c[A>>2]=n;rm(m);rm(d);i=l;return}}while(0);c[h>>2]=c[h>>2]|2;A=b|0;c[A>>2]=n;rm(m);rm(d);i=l;return}}while(0);A=pc(4)|0;lu(A);Fb(A|0,25544,156)}function Vo(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0;n=c[f>>2]|0;m=(n|0)==(e|0);do{if(m){o=(c[l+96>>2]|0)==(b|0);if(!o){if((c[l+100>>2]|0)!=(b|0)){break}}c[f>>2]=e+1;a[e]=o?43:45;c[g>>2]=0;o=0;return o|0}}while(0);o=a[i]|0;if((o&1)==0){i=(o&255)>>>1}else{i=c[i+4>>2]|0}if((i|0)!=0&(b|0)==(h|0)){e=c[k>>2]|0;if((e-j|0)>=160){o=0;return o|0}o=c[g>>2]|0;c[k>>2]=e+4;c[e>>2]=o;c[g>>2]=0;o=0;return o|0}k=l+104|0;j=l;while(1){h=j+4|0;if((c[j>>2]|0)==(b|0)){break}if((h|0)==(k|0)){j=k;break}else{j=h}}b=j-l|0;l=b>>2;if((b|0)>92){o=-1;return o|0}do{if((d|0)==16){if((b|0)<88){break}if(m){o=-1;return o|0}if((n-e|0)>=3){o=-1;return o|0}if((a[n-1|0]|0)!=48){o=-1;return o|0}c[g>>2]=0;o=a[27208+l|0]|0;c[f>>2]=n+1;a[n]=o;o=0;return o|0}else if((d|0)==8|(d|0)==10){if((l|0)<(d|0)){break}else{g=-1}return g|0}}while(0);o=a[27208+l|0]|0;c[f>>2]=n+1;a[n]=o;c[g>>2]=(c[g>>2]|0)+1;o=0;return o|0}function Wo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+40|0;h=g|0;k=g+16|0;j=g+32|0;Lm(j,d);d=j|0;j=c[d>>2]|0;if(!((c[8716]|0)==-1)){c[k>>2]=34864;c[k+4>>2]=16;c[k+8>>2]=0;mm(34864,k,114)}k=(c[8717]|0)-1|0;l=c[j+8>>2]|0;do{if((c[j+12>>2]|0)-l>>2>>>0>k>>>0){j=c[l+(k<<2)>>2]|0;if((j|0)==0){break}Sc[c[(c[j>>2]|0)+32>>2]&15](j,27208,27234,e)|0;e=c[d>>2]|0;if(!((c[8620]|0)==-1)){c[h>>2]=34480;c[h+4>>2]=16;c[h+8>>2]=0;mm(34480,h,114)}h=(c[8621]|0)-1|0;j=c[e+8>>2]|0;do{if((c[e+12>>2]|0)-j>>2>>>0>h>>>0){h=c[j+(h<<2)>>2]|0;if((h|0)==0){break}l=h;k=Fc[c[(c[h>>2]|0)+16>>2]&255](l)|0;a[f]=k;Ec[c[(c[h>>2]|0)+20>>2]&127](b,l);Ul(c[d>>2]|0)|0;i=g;return}}while(0);l=pc(4)|0;lu(l);Fb(l|0,25544,156)}}while(0);l=pc(4)|0;lu(l);Fb(l|0,25544,156)}function Xo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+40|0;j=h|0;l=h+16|0;k=h+32|0;Lm(k,d);d=k|0;k=c[d>>2]|0;if(!((c[8716]|0)==-1)){c[l>>2]=34864;c[l+4>>2]=16;c[l+8>>2]=0;mm(34864,l,114)}l=(c[8717]|0)-1|0;m=c[k+8>>2]|0;do{if((c[k+12>>2]|0)-m>>2>>>0>l>>>0){k=c[m+(l<<2)>>2]|0;if((k|0)==0){break}Sc[c[(c[k>>2]|0)+32>>2]&15](k,27208,27240,e)|0;e=c[d>>2]|0;if(!((c[8620]|0)==-1)){c[j>>2]=34480;c[j+4>>2]=16;c[j+8>>2]=0;mm(34480,j,114)}j=(c[8621]|0)-1|0;k=c[e+8>>2]|0;do{if((c[e+12>>2]|0)-k>>2>>>0>j>>>0){j=c[k+(j<<2)>>2]|0;if((j|0)==0){break}m=j;l=j;k=Fc[c[(c[l>>2]|0)+12>>2]&255](m)|0;a[f]=k;l=Fc[c[(c[l>>2]|0)+16>>2]&255](m)|0;a[g]=l;Ec[c[(c[j>>2]|0)+20>>2]&127](b,m);Ul(c[d>>2]|0)|0;i=h;return}}while(0);m=pc(4)|0;lu(m);Fb(m|0,25544,156)}}while(0);m=pc(4)|0;lu(m);Fb(m|0,25544,156)}function Yo(b,d,e,f,g,h,i,j,k,l,m,n){b=b|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;l=l|0;m=m|0;n=n|0;var o=0;if(b<<24>>24==h<<24>>24){if((a[d]|0)==0){o=-1;return o|0}a[d]=0;o=c[g>>2]|0;c[g>>2]=o+1;a[o]=46;g=a[j]|0;if((g&1)==0){g=(g&255)>>>1}else{g=c[j+4>>2]|0}if((g|0)==0){o=0;return o|0}g=c[l>>2]|0;if((g-k|0)>=160){o=0;return o|0}o=c[m>>2]|0;c[l>>2]=g+4;c[g>>2]=o;o=0;return o|0}do{if(b<<24>>24==i<<24>>24){h=a[j]|0;if((h&1)==0){h=(h&255)>>>1}else{h=c[j+4>>2]|0}if((h|0)==0){break}if((a[d]|0)==0){o=-1;return o|0}g=c[l>>2]|0;if((g-k|0)>=160){o=0;return o|0}o=c[m>>2]|0;c[l>>2]=g+4;c[g>>2]=o;c[m>>2]=0;o=0;return o|0}}while(0);i=n+32|0;o=n;while(1){h=o+1|0;if((a[o]|0)==b<<24>>24){i=o;break}if((h|0)==(i|0)){break}else{o=h}}b=i-n|0;if((b|0)>31){o=-1;return o|0}n=a[27208+b|0]|0;if((b|0)==25|(b|0)==24){m=c[g>>2]|0;do{if((m|0)!=(f|0)){if((a[m-1|0]&95|0)==(a[e]&127|0)){break}else{m=-1}return m|0}}while(0);c[g>>2]=m+1;a[m]=n;o=0;return o|0}else if((b|0)==22|(b|0)==23){a[e]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o]=n;o=0;return o|0}else{f=a[e]|0;do{if((n&95|0)==(f<<24>>24|0)){a[e]=f|-128;if((a[d]|0)==0){break}a[d]=0;e=a[j]|0;if((e&1)==0){j=(e&255)>>>1}else{j=c[j+4>>2]|0}if((j|0)==0){break}j=c[l>>2]|0;if((j-k|0)>=160){break}o=c[m>>2]|0;c[l>>2]=j+4;c[j>>2]=o}}while(0);o=c[g>>2]|0;c[g>>2]=o+1;a[o]=n;if((b|0)>21){o=0;return o|0}c[m>>2]=(c[m>>2]|0)+1;o=0;return o|0}return 0}function Zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+40|0;g=f|0;j=f+16|0;h=f+32|0;Lm(h,b);b=h|0;h=c[b>>2]|0;if(!((c[8714]|0)==-1)){c[j>>2]=34856;c[j+4>>2]=16;c[j+8>>2]=0;mm(34856,j,114)}j=(c[8715]|0)-1|0;k=c[h+8>>2]|0;do{if((c[h+12>>2]|0)-k>>2>>>0>j>>>0){h=c[k+(j<<2)>>2]|0;if((h|0)==0){break}Sc[c[(c[h>>2]|0)+48>>2]&15](h,27208,27234,d)|0;d=c[b>>2]|0;if(!((c[8618]|0)==-1)){c[g>>2]=34472;c[g+4>>2]=16;c[g+8>>2]=0;mm(34472,g,114)}g=(c[8619]|0)-1|0;h=c[d+8>>2]|0;do{if((c[d+12>>2]|0)-h>>2>>>0>g>>>0){g=c[h+(g<<2)>>2]|0;if((g|0)==0){break}k=g;j=Fc[c[(c[g>>2]|0)+16>>2]&255](k)|0;c[e>>2]=j;Ec[c[(c[g>>2]|0)+20>>2]&127](a,k);Ul(c[b>>2]|0)|0;i=f;return}}while(0);k=pc(4)|0;lu(k);Fb(k|0,25544,156)}}while(0);k=pc(4)|0;lu(k);Fb(k|0,25544,156)}
-
-
-
-function cr(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=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,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;q=i;i=i+408|0;_=f;H=i;i=i+4|0;i=i+7&-8;c[H>>2]=c[_>>2];_=q|0;F=q+400|0;A=i;i=i+1|0;i=i+7&-8;z=i;i=i+1|0;i=i+7&-8;t=i;i=i+12|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;r=i;i=i+12|0;i=i+7&-8;f=i;i=i+12|0;i=i+7&-8;u=i;i=i+12|0;i=i+7&-8;x=i;i=i+4|0;i=i+7&-8;v=i;i=i+4|0;i=i+7&-8;Z=_|0;c[F>>2]=0;B=t;dv(B|0,0,12)|0;D=s;dv(D|0,0,12)|0;E=r;dv(E|0,0,12)|0;y=f;dv(y|0,0,12)|0;C=u;dv(C|0,0,12)|0;gr(g,h,F,A,z,t,s,r,f,x);h=n|0;c[o>>2]=c[h>>2];g=e|0;e=H|0;H=m+8|0;J=f+1|0;K=f+4|0;I=f+8|0;G=r+1|0;L=r+4|0;m=r+8|0;S=(j&512|0)!=0;T=s+1|0;N=s+8|0;j=s+4|0;Q=u;P=Q+1|0;R=u+8|0;O=u+4|0;M=F+3|0;U=n+4|0;n=t+4|0;X=194;Y=Z;_=_+400|0;V=0;W=0;a:while(1){$=c[g>>2]|0;do{if(($|0)==0){$=0}else{if((c[$+12>>2]|0)!=(c[$+16>>2]|0)){break}if((Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0)==-1){c[g>>2]=0;$=0;break}else{$=c[g>>2]|0;break}}}while(0);aa=($|0)==0;$=c[e>>2]|0;do{if(($|0)==0){w=15}else{if((c[$+12>>2]|0)!=(c[$+16>>2]|0)){if(aa){break}else{w=310;break a}}if((Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0)==-1){c[e>>2]=0;w=15;break}else{if(aa){break}else{w=310;break a}}}}while(0);if((w|0)==15){w=0;if(aa){w=310;break}else{$=0}}b:do{switch(a[F+V|0]|0){case 1:{if((V|0)==3){w=310;break a}aa=c[g>>2]|0;w=c[aa+12>>2]|0;if((w|0)==(c[aa+16>>2]|0)){w=(Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)&255}else{w=a[w]|0}if(!(w<<24>>24>-1)){w=41;break a}if((b[(c[H>>2]|0)+(w<<24>>24<<1)>>1]&8192)==0){w=41;break a}ba=c[g>>2]|0;w=ba+12|0;aa=c[w>>2]|0;if((aa|0)==(c[ba+16>>2]|0)){w=(Fc[c[(c[ba>>2]|0)+40>>2]&255](ba)|0)&255}else{c[w>>2]=aa+1;w=a[aa]|0}wm(u,w);w=42;break};case 0:{w=42;break};case 3:{$=a[E]|0;ba=($&1)==0;if(ba){ea=($&255)>>>1}else{ea=c[L>>2]|0}aa=a[y]|0;ca=(aa&1)==0;if(ca){da=(aa&255)>>>1}else{da=c[K>>2]|0}if((ea|0)==(-da|0)){break b}if(ba){da=($&255)>>>1}else{da=c[L>>2]|0}do{if((da|0)!=0){if(ca){ca=(aa&255)>>>1}else{ca=c[K>>2]|0}if((ca|0)==0){break}ba=c[g>>2]|0;da=c[ba+12>>2]|0;ca=c[ba+16>>2]|0;if((da|0)==(ca|0)){aa=(Fc[c[(c[ba>>2]|0)+36>>2]&255](ba)|0)&255;ca=c[g>>2]|0;$=a[E]|0;ba=ca;da=c[ca+12>>2]|0;ca=c[ca+16>>2]|0}else{aa=a[da]|0}ea=ba+12|0;ca=(da|0)==(ca|0);if(aa<<24>>24==(a[($&1)==0?G:c[m>>2]|0]|0)){if(ca){Fc[c[(c[ba>>2]|0)+40>>2]&255](ba)|0}else{c[ea>>2]=da+1}$=a[E]|0;if(($&1)==0){$=($&255)>>>1}else{$=c[L>>2]|0}W=$>>>0>1>>>0?r:W;break b}if(ca){$=(Fc[c[(c[ba>>2]|0)+36>>2]&255](ba)|0)&255}else{$=a[da]|0}if(!($<<24>>24==(a[(a[y]&1)==0?J:c[I>>2]|0]|0))){w=136;break a}aa=c[g>>2]|0;ba=aa+12|0;$=c[ba>>2]|0;if(($|0)==(c[aa+16>>2]|0)){Fc[c[(c[aa>>2]|0)+40>>2]&255](aa)|0}else{c[ba>>2]=$+1}a[l]=1;$=a[y]|0;if(($&1)==0){$=($&255)>>>1}else{$=c[K>>2]|0}W=$>>>0>1>>>0?f:W;break b}}while(0);if(ba){ba=($&255)>>>1}else{ba=c[L>>2]|0}ca=c[g>>2]|0;da=c[ca+12>>2]|0;ea=(da|0)==(c[ca+16>>2]|0);if((ba|0)==0){if(ea){$=(Fc[c[(c[ca>>2]|0)+36>>2]&255](ca)|0)&255;aa=a[y]|0}else{$=a[da]|0}if(!($<<24>>24==(a[(aa&1)==0?J:c[I>>2]|0]|0))){break b}$=c[g>>2]|0;aa=$+12|0;ba=c[aa>>2]|0;if((ba|0)==(c[$+16>>2]|0)){Fc[c[(c[$>>2]|0)+40>>2]&255]($)|0}else{c[aa>>2]=ba+1}a[l]=1;$=a[y]|0;if(($&1)==0){$=($&255)>>>1}else{$=c[K>>2]|0}W=$>>>0>1>>>0?f:W;break b}if(ea){aa=(Fc[c[(c[ca>>2]|0)+36>>2]&255](ca)|0)&255;$=a[E]|0}else{aa=a[da]|0}if(!(aa<<24>>24==(a[($&1)==0?G:c[m>>2]|0]|0))){a[l]=1;break b}ba=c[g>>2]|0;aa=ba+12|0;$=c[aa>>2]|0;if(($|0)==(c[ba+16>>2]|0)){Fc[c[(c[ba>>2]|0)+40>>2]&255](ba)|0}else{c[aa>>2]=$+1}$=a[E]|0;if(($&1)==0){$=($&255)>>>1}else{$=c[L>>2]|0}W=$>>>0>1>>>0?r:W;break};case 2:{if(!((W|0)!=0|V>>>0<2>>>0)){if((V|0)==2){aa=(a[M]|0)!=0}else{aa=0}if(!(S|aa)){W=0;break b}}ba=a[D]|0;ca=(ba&1)==0;aa=ca?T:c[N>>2]|0;c:do{if((V|0)==0){ca=$;da=$}else{if(!((d[F+(V-1)|0]|0)>>>0<2>>>0)){ca=$;da=$;break}ca=aa+(ca?(ba&255)>>>1:c[j>>2]|0)|0;da=aa;while(1){if((da|0)==(ca|0)){break}ea=a[da]|0;if(!(ea<<24>>24>-1)){ca=da;break}if((b[(c[H>>2]|0)+(ea<<24>>24<<1)>>1]&8192)==0){ca=da;break}else{da=da+1|0}}da=ca-aa|0;fa=a[C]|0;ea=(fa&1)==0;if(ea){ga=(fa&255)>>>1}else{ga=c[O>>2]|0}if(da>>>0>ga>>>0){ca=$;da=$;break}if(ea){ga=(fa&255)>>>1;ea=ga;fa=P;ga=ga-da+(Q+1)|0}else{ha=c[R>>2]|0;ga=c[O>>2]|0;ea=ga;fa=ha;ga=ha+(ga-da)|0}da=fa+ea|0;if((ga|0)==(da|0)){aa=ca;ca=$;da=$;break}else{ea=aa}while(1){if((a[ga]|0)!=(a[ea]|0)){ca=$;da=$;break c}ga=ga+1|0;if((ga|0)==(da|0)){aa=ca;ca=$;da=$;break}else{ea=ea+1|0}}}}while(0);d:while(1){if((ba&1)==0){ba=(ba&255)>>>1;$=T}else{ba=c[j>>2]|0;$=c[N>>2]|0}if((aa|0)==($+ba|0)){break}$=c[g>>2]|0;do{if(($|0)==0){$=0}else{if((c[$+12>>2]|0)!=(c[$+16>>2]|0)){break}if((Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0)==-1){c[g>>2]=0;$=0;break}else{$=c[g>>2]|0;break}}}while(0);$=($|0)==0;do{if((ca|0)==0){w=173}else{if((c[ca+12>>2]|0)!=(c[ca+16>>2]|0)){if($){$=ca;break}else{break d}}if((Fc[c[(c[ca>>2]|0)+36>>2]&255](ca)|0)==-1){c[e>>2]=0;da=0;w=173;break}else{if($^(da|0)==0){$=da;break}else{break d}}}}while(0);if((w|0)==173){w=0;if($){break}else{$=0}}ba=c[g>>2]|0;ca=c[ba+12>>2]|0;if((ca|0)==(c[ba+16>>2]|0)){ba=(Fc[c[(c[ba>>2]|0)+36>>2]&255](ba)|0)&255}else{ba=a[ca]|0}if(!(ba<<24>>24==(a[aa]|0))){break}ea=c[g>>2]|0;ca=ea+12|0;ba=c[ca>>2]|0;if((ba|0)==(c[ea+16>>2]|0)){Fc[c[(c[ea>>2]|0)+40>>2]&255](ea)|0}else{c[ca>>2]=ba+1}aa=aa+1|0;ba=a[D]|0;ca=$}if(!S){break b}$=a[D]|0;if(($&1)==0){ba=($&255)>>>1;$=T}else{ba=c[j>>2]|0;$=c[N>>2]|0}if((aa|0)!=($+ba|0)){w=189;break a}break};case 4:{$=0;e:while(1){aa=c[g>>2]|0;do{if((aa|0)==0){aa=0}else{if((c[aa+12>>2]|0)!=(c[aa+16>>2]|0)){break}if((Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)==-1){c[g>>2]=0;aa=0;break}else{aa=c[g>>2]|0;break}}}while(0);ba=(aa|0)==0;aa=c[e>>2]|0;do{if((aa|0)==0){w=202}else{if((c[aa+12>>2]|0)!=(c[aa+16>>2]|0)){if(ba){break}else{break e}}if((Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)==-1){c[e>>2]=0;w=202;break}else{if(ba){break}else{break e}}}}while(0);if((w|0)==202){w=0;if(ba){break}}ba=c[g>>2]|0;aa=c[ba+12>>2]|0;if((aa|0)==(c[ba+16>>2]|0)){aa=(Fc[c[(c[ba>>2]|0)+36>>2]&255](ba)|0)&255}else{aa=a[aa]|0}do{if(aa<<24>>24>-1){if((b[(c[H>>2]|0)+(aa<<24>>24<<1)>>1]&2048)==0){w=221;break}ba=c[o>>2]|0;if((ba|0)==(p|0)){ca=(c[U>>2]|0)!=194;da=c[h>>2]|0;ba=p-da|0;p=ba>>>0<2147483647>>>0?ba<<1:-1;da=Iu(ca?da:0,p)|0;if((da|0)==0){Uu()}do{if(ca){c[h>>2]=da}else{ca=c[h>>2]|0;c[h>>2]=da;if((ca|0)==0){break}Dc[c[U>>2]&511](ca);da=c[h>>2]|0}}while(0);c[U>>2]=88;ba=da+ba|0;c[o>>2]=ba;p=(c[h>>2]|0)+p|0}c[o>>2]=ba+1;a[ba]=aa;$=$+1|0}else{w=221}}while(0);if((w|0)==221){w=0;ba=a[B]|0;if((ba&1)==0){ba=(ba&255)>>>1}else{ba=c[n>>2]|0}if((ba|0)==0|($|0)==0){break}if(!(aa<<24>>24==(a[z]|0))){break}if((Z|0)==(_|0)){Z=Z-Y|0;_=Z>>>0<2147483647>>>0?Z<<1:-1;if((X|0)==194){Y=0}else{}ha=Iu(Y,_)|0;Y=ha;if((ha|0)==0){Uu()}_=Y+(_>>>2<<2)|0;Z=Y+(Z>>2<<2)|0;X=88}c[Z>>2]=$;$=0;Z=Z+4|0}aa=c[g>>2]|0;ba=aa+12|0;ca=c[ba>>2]|0;if((ca|0)==(c[aa+16>>2]|0)){Fc[c[(c[aa>>2]|0)+40>>2]&255](aa)|0;continue}else{c[ba>>2]=ca+1;continue}}if(!((Y|0)==(Z|0)|($|0)==0)){if((Z|0)==(_|0)){Z=Z-Y|0;_=Z>>>0<2147483647>>>0?Z<<1:-1;if((X|0)==194){Y=0}else{}ha=Iu(Y,_)|0;Y=ha;if((ha|0)==0){Uu()}_=Y+(_>>>2<<2)|0;Z=Y+(Z>>2<<2)|0;X=88}c[Z>>2]=$;Z=Z+4|0}if((c[x>>2]|0)>0){$=c[g>>2]|0;do{if(($|0)==0){$=0}else{if((c[$+12>>2]|0)!=(c[$+16>>2]|0)){break}if((Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0)==-1){c[g>>2]=0;$=0;break}else{$=c[g>>2]|0;break}}}while(0);aa=($|0)==0;$=c[e>>2]|0;do{if(($|0)==0){w=257}else{if((c[$+12>>2]|0)!=(c[$+16>>2]|0)){if(aa){break}else{w=264;break a}}if((Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0)==-1){c[e>>2]=0;w=257;break}else{if(aa){break}else{w=264;break a}}}}while(0);if((w|0)==257){w=0;if(aa){w=264;break a}else{$=0}}aa=c[g>>2]|0;ba=c[aa+12>>2]|0;if((ba|0)==(c[aa+16>>2]|0)){aa=(Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)&255}else{aa=a[ba]|0}if(!(aa<<24>>24==(a[A]|0))){w=264;break a}aa=c[g>>2]|0;ba=aa+12|0;ca=c[ba>>2]|0;if((ca|0)==(c[aa+16>>2]|0)){Fc[c[(c[aa>>2]|0)+40>>2]&255](aa)|0;aa=$;ba=$}else{c[ba>>2]=ca+1;aa=$;ba=$}while(1){$=c[g>>2]|0;do{if(($|0)==0){$=0}else{if((c[$+12>>2]|0)!=(c[$+16>>2]|0)){break}if((Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0)==-1){c[g>>2]=0;$=0;break}else{$=c[g>>2]|0;break}}}while(0);ca=($|0)==0;do{if((aa|0)==0){$=ba;w=280}else{if((c[aa+12>>2]|0)!=(c[aa+16>>2]|0)){if(ca){$=ba;break}else{w=288;break a}}if((Fc[c[(c[aa>>2]|0)+36>>2]&255](aa)|0)==-1){c[e>>2]=0;$=0;w=280;break}else{if(ca^(ba|0)==0){$=ba;aa=ba;break}else{w=288;break a}}}}while(0);if((w|0)==280){w=0;if(ca){w=288;break a}else{aa=0}}ba=c[g>>2]|0;ca=c[ba+12>>2]|0;if((ca|0)==(c[ba+16>>2]|0)){ba=(Fc[c[(c[ba>>2]|0)+36>>2]&255](ba)|0)&255}else{ba=a[ca]|0}if(!(ba<<24>>24>-1)){w=288;break a}if((b[(c[H>>2]|0)+(ba<<24>>24<<1)>>1]&2048)==0){w=288;break a}ba=c[o>>2]|0;if((ba|0)==(p|0)){ca=(c[U>>2]|0)!=194;da=c[h>>2]|0;p=p-da|0;ba=p>>>0<2147483647>>>0?p<<1:-1;da=Iu(ca?da:0,ba)|0;if((da|0)==0){Uu()}do{if(ca){c[h>>2]=da}else{ca=c[h>>2]|0;c[h>>2]=da;if((ca|0)==0){break}Dc[c[U>>2]&511](ca);da=c[h>>2]|0}}while(0);c[U>>2]=88;ha=da+p|0;c[o>>2]=ha;p=(c[h>>2]|0)+ba|0;ba=ha}da=c[g>>2]|0;ca=c[da+12>>2]|0;if((ca|0)==(c[da+16>>2]|0)){ca=(Fc[c[(c[da>>2]|0)+36>>2]&255](da)|0)&255;ba=c[o>>2]|0}else{ca=a[ca]|0}c[o>>2]=ba+1;a[ba]=ca;ea=(c[x>>2]|0)-1|0;c[x>>2]=ea;da=c[g>>2]|0;ca=da+12|0;ba=c[ca>>2]|0;if((ba|0)==(c[da+16>>2]|0)){Fc[c[(c[da>>2]|0)+40>>2]&255](da)|0}else{c[ca>>2]=ba+1}if((ea|0)>0){ba=$}else{break}}}if((c[o>>2]|0)==(c[h>>2]|0)){w=308;break a}break};default:{}}}while(0);f:do{if((w|0)==42){w=0;if((V|0)==3){w=310;break a}else{ba=$;aa=$}while(1){$=c[g>>2]|0;do{if(($|0)==0){$=0}else{if((c[$+12>>2]|0)!=(c[$+16>>2]|0)){break}if((Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0)==-1){c[g>>2]=0;$=0;break}else{$=c[g>>2]|0;break}}}while(0);$=($|0)==0;do{if((ba|0)==0){w=55}else{if((c[ba+12>>2]|0)!=(c[ba+16>>2]|0)){if($){$=ba;break}else{break f}}if((Fc[c[(c[ba>>2]|0)+36>>2]&255](ba)|0)==-1){c[e>>2]=0;aa=0;w=55;break}else{if($^(aa|0)==0){$=aa;break}else{break f}}}}while(0);if((w|0)==55){w=0;if($){break f}else{$=0}}ca=c[g>>2]|0;ba=c[ca+12>>2]|0;if((ba|0)==(c[ca+16>>2]|0)){ba=(Fc[c[(c[ca>>2]|0)+36>>2]&255](ca)|0)&255}else{ba=a[ba]|0}if(!(ba<<24>>24>-1)){break f}if((b[(c[H>>2]|0)+(ba<<24>>24<<1)>>1]&8192)==0){break f}ba=c[g>>2]|0;da=ba+12|0;ca=c[da>>2]|0;if((ca|0)==(c[ba+16>>2]|0)){ba=(Fc[c[(c[ba>>2]|0)+40>>2]&255](ba)|0)&255}else{c[da>>2]=ca+1;ba=a[ca]|0}wm(u,ba);ba=$}}}while(0);V=V+1|0;if(!(V>>>0<4>>>0)){w=310;break}}g:do{if((w|0)==41){c[k>>2]=c[k>>2]|4;k=0}else if((w|0)==136){c[k>>2]=c[k>>2]|4;k=0}else if((w|0)==189){c[k>>2]=c[k>>2]|4;k=0}else if((w|0)==264){c[k>>2]=c[k>>2]|4;k=0}else if((w|0)==288){c[k>>2]=c[k>>2]|4;k=0}else if((w|0)==308){c[k>>2]=c[k>>2]|4;k=0}else if((w|0)==310){h:do{if((W|0)!=0){x=W;l=W+1|0;o=W+8|0;y=W+4|0;z=1;i:while(1){A=a[x]|0;if((A&1)==0){A=(A&255)>>>1}else{A=c[y>>2]|0}if(!(z>>>0<A>>>0)){break h}A=c[g>>2]|0;do{if((A|0)==0){A=0}else{if((c[A+12>>2]|0)!=(c[A+16>>2]|0)){break}if((Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)==-1){c[g>>2]=0;A=0;break}else{A=c[g>>2]|0;break}}}while(0);A=(A|0)==0;B=c[e>>2]|0;do{if((B|0)==0){w=328}else{if((c[B+12>>2]|0)!=(c[B+16>>2]|0)){if(A){break}else{break i}}if((Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0)==-1){c[e>>2]=0;w=328;break}else{if(A){break}else{break i}}}}while(0);if((w|0)==328){w=0;if(A){break}}A=c[g>>2]|0;B=c[A+12>>2]|0;if((B|0)==(c[A+16>>2]|0)){B=(Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0)&255}else{B=a[B]|0}if((a[x]&1)==0){A=l}else{A=c[o>>2]|0}if(!(B<<24>>24==(a[A+z|0]|0))){break}z=z+1|0;C=c[g>>2]|0;B=C+12|0;A=c[B>>2]|0;if((A|0)==(c[C+16>>2]|0)){Fc[c[(c[C>>2]|0)+40>>2]&255](C)|0;continue}else{c[B>>2]=A+1;continue}}c[k>>2]=c[k>>2]|4;k=0;break g}}while(0);if((Y|0)==(Z|0)){k=1;Y=Z;break}c[v>>2]=0;hr(t,Y,Z,v);if((c[v>>2]|0)==0){k=1;break}c[k>>2]=c[k>>2]|4;k=0}}while(0);rm(u);rm(f);rm(r);rm(s);rm(t);if((Y|0)==0){i=q;return k|0}Dc[X&511](Y);i=q;return k|0}function dr(a){a=a|0;var b=0;b=pc(8)|0;_l(b,a);Fb(b|0,25560,30)}function er(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;d=i;i=i+160|0;w=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[w>>2];w=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[w>>2];w=d|0;u=d+16|0;s=d+120|0;q=d+128|0;v=d+136|0;r=d+144|0;t=d+152|0;m=s|0;c[m>>2]=u;n=s+4|0;c[n>>2]=194;u=u+100|0;Lm(v,h);o=v|0;p=c[o>>2]|0;if(!((c[8716]|0)==-1)){c[w>>2]=34864;c[w+4>>2]=16;c[w+8>>2]=0;mm(34864,w,114)}x=(c[8717]|0)-1|0;w=c[p+8>>2]|0;do{if((c[p+12>>2]|0)-w>>2>>>0>x>>>0){x=c[w+(x<<2)>>2]|0;if((x|0)==0){break}w=x;a[r]=0;f=f|0;p=c[f>>2]|0;c[t>>2]=p;if(cr(e,t,g,v,c[h+4>>2]|0,j,r,w,s,q,u)|0){g=k;if((a[g]&1)==0){a[k+1|0]=0;a[g]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}if((a[r]|0)!=0){wm(k,Qc[c[(c[x>>2]|0)+28>>2]&63](w,45)|0)}r=Qc[c[(c[x>>2]|0)+28>>2]&63](w,48)|0;h=c[m>>2]|0;q=c[q>>2]|0;g=q-1|0;a:do{if(h>>>0<g>>>0){while(1){s=h+1|0;if(!((a[h]|0)==r<<24>>24)){break a}if(s>>>0<g>>>0){h=s}else{h=s;break}}}}while(0);fr(k,h,q)|0}k=e|0;e=c[k>>2]|0;do{if((e|0)==0){e=0}else{if((c[e+12>>2]|0)!=(c[e+16>>2]|0)){break}if(!((Fc[c[(c[e>>2]|0)+36>>2]&255](e)|0)==-1)){break}c[k>>2]=0;e=0}}while(0);k=(e|0)==0;do{if((p|0)==0){l=33}else{if((c[p+12>>2]|0)!=(c[p+16>>2]|0)){if(k){break}else{l=35;break}}if((Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0)==-1){c[f>>2]=0;l=33;break}else{if(k^(p|0)==0){break}else{l=35;break}}}}while(0);if((l|0)==33){if(k){l=35}}if((l|0)==35){c[j>>2]=c[j>>2]|2}c[b>>2]=e;Ul(c[o>>2]|0)|0;l=c[m>>2]|0;c[m>>2]=0;if((l|0)==0){i=d;return}Dc[c[n>>2]&511](l);i=d;return}}while(0);x=pc(4)|0;lu(x);Fb(x|0,25544,156)}function fr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b;i=d;g=a[f]|0;if((g&1)==0){k=10;j=g;g=(g&255)>>>1}else{j=c[b>>2]|0;k=(j&-2)-1|0;j=j&255;g=c[b+4>>2]|0}h=e-i|0;if((e|0)==(d|0)){return b|0}if((k-g|0)>>>0<h>>>0){zm(b,k,g+h-k|0,g,g,0,0);j=a[f]|0}if((j&1)==0){j=b+1|0}else{j=c[b+8>>2]|0}i=e+(g-i)|0;k=j+g|0;while(1){a[k]=a[d]|0;d=d+1|0;if((d|0)==(e|0)){break}else{k=k+1|0}}a[j+i|0]=0;e=g+h|0;if((a[f]&1)==0){a[f]=e<<1;return b|0}else{c[b+4>>2]=e;return b|0}return 0}function gr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;n=i;i=i+176|0;y=n|0;z=n+16|0;x=n+32|0;u=n+40|0;t=n+56|0;r=n+72|0;o=n+88|0;w=n+104|0;v=n+112|0;s=n+128|0;q=n+144|0;p=n+160|0;if(b){p=c[d>>2]|0;if(!((c[8834]|0)==-1)){c[z>>2]=35336;c[z+4>>2]=16;c[z+8>>2]=0;mm(35336,z,114)}s=(c[8835]|0)-1|0;q=c[p+8>>2]|0;if(!((c[p+12>>2]|0)-q>>2>>>0>s>>>0)){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}p=c[q+(s<<2)>>2]|0;if((p|0)==0){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}q=p;Ec[c[(c[p>>2]|0)+44>>2]&127](x,q);C=c[x>>2]|0;a[e]=C;C=C>>8;a[e+1|0]=C;C=C>>8;a[e+2|0]=C;C=C>>8;a[e+3|0]=C;e=p;Ec[c[(c[e>>2]|0)+32>>2]&127](u,q);s=l;if((a[s]&1)==0){a[l+1|0]=0;a[s]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);l=u;c[s>>2]=c[l>>2];c[s+4>>2]=c[l+4>>2];c[s+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;rm(u);Ec[c[(c[e>>2]|0)+28>>2]&127](t,q);l=k;if((a[l]&1)==0){a[k+1|0]=0;a[l]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);b=t;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];dv(b|0,0,12)|0;rm(t);b=p;d=Fc[c[(c[b>>2]|0)+12>>2]&255](q)|0;a[f]=d;b=Fc[c[(c[b>>2]|0)+16>>2]&255](q)|0;a[g]=b;Ec[c[(c[e>>2]|0)+20>>2]&127](r,q);g=h;if((a[g]&1)==0){a[h+1|0]=0;a[g]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);h=r;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];dv(h|0,0,12)|0;rm(r);Ec[c[(c[e>>2]|0)+24>>2]&127](o,q);h=j;if((a[h]&1)==0){a[j+1|0]=0;a[h]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);b=o;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];dv(b|0,0,12)|0;rm(o);b=Fc[c[(c[p>>2]|0)+36>>2]&255](q)|0;c[m>>2]=b;i=n;return}else{o=c[d>>2]|0;if(!((c[8836]|0)==-1)){c[y>>2]=35344;c[y+4>>2]=16;c[y+8>>2]=0;mm(35344,y,114)}t=(c[8837]|0)-1|0;r=c[o+8>>2]|0;if(!((c[o+12>>2]|0)-r>>2>>>0>t>>>0)){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}r=c[r+(t<<2)>>2]|0;if((r|0)==0){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}o=r;Ec[c[(c[r>>2]|0)+44>>2]&127](w,o);C=c[w>>2]|0;a[e]=C;C=C>>8;a[e+1|0]=C;C=C>>8;a[e+2|0]=C;C=C>>8;a[e+3|0]=C;e=r;Ec[c[(c[e>>2]|0)+32>>2]&127](v,o);t=l;if((a[t]&1)==0){a[l+1|0]=0;a[t]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);l=v;c[t>>2]=c[l>>2];c[t+4>>2]=c[l+4>>2];c[t+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;rm(v);Ec[c[(c[e>>2]|0)+28>>2]&127](s,o);l=k;if((a[l]&1)==0){a[k+1|0]=0;a[l]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);b=s;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];dv(b|0,0,12)|0;rm(s);b=r;d=Fc[c[(c[b>>2]|0)+12>>2]&255](o)|0;a[f]=d;b=Fc[c[(c[b>>2]|0)+16>>2]&255](o)|0;a[g]=b;Ec[c[(c[e>>2]|0)+20>>2]&127](q,o);g=h;if((a[g]&1)==0){a[h+1|0]=0;a[g]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);h=q;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];dv(h|0,0,12)|0;rm(q);Ec[c[(c[e>>2]|0)+24>>2]&127](p,o);h=j;if((a[h]&1)==0){a[j+1|0]=0;a[h]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);b=p;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];dv(b|0,0,12)|0;rm(p);b=Fc[c[(c[r>>2]|0)+36>>2]&255](o)|0;c[m>>2]=b;i=n;return}}function hr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=b;h=a[g]|0;if((h&1)==0){i=(h&255)>>>1}else{i=c[b+4>>2]|0}if((i|0)==0){return}do{if((d|0)!=(e|0)){i=e-4|0;if(i>>>0>d>>>0){h=d}else{break}do{j=c[h>>2]|0;c[h>>2]=c[i>>2];c[i>>2]=j;h=h+4|0;i=i-4|0;}while(h>>>0<i>>>0);h=a[g]|0}}while(0);if((h&1)==0){j=(h&255)>>>1;g=b+1|0}else{j=c[b+4>>2]|0;g=c[b+8>>2]|0}e=e-4|0;i=a[g]|0;h=i<<24>>24<1|i<<24>>24==127;a:do{if(e>>>0>d>>>0){b=g+j|0;while(1){if(!h){if((i<<24>>24|0)!=(c[d>>2]|0)){break}}g=(b-g|0)>1?g+1|0:g;d=d+4|0;i=a[g]|0;h=i<<24>>24<1|i<<24>>24==127;if(!(d>>>0<e>>>0)){break a}}c[f>>2]=4;return}}while(0);if(h){return}j=c[e>>2]|0;if(!(i<<24>>24>>>0<j>>>0|(j|0)==0)){return}c[f>>2]=4;return}function ir(a){a=a|0;Sl(a|0);Pu(a);return}function jr(a){a=a|0;Sl(a|0);return}function kr(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;l=i;i=i+600|0;y=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[y>>2];y=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[y>>2];y=l|0;v=l+16|0;u=l+416|0;p=l+424|0;t=l+432|0;r=l+440|0;w=l+448|0;q=l+456|0;s=l+496|0;d=u|0;c[d>>2]=v;n=u+4|0;c[n>>2]=194;v=v+400|0;Lm(t,h);o=t|0;x=c[o>>2]|0;if(!((c[8714]|0)==-1)){c[y>>2]=34856;c[y+4>>2]=16;c[y+8>>2]=0;mm(34856,y,114)}z=(c[8715]|0)-1|0;y=c[x+8>>2]|0;do{if((c[x+12>>2]|0)-y>>2>>>0>z>>>0){y=c[y+(z<<2)>>2]|0;if((y|0)==0){break}x=y;a[r]=0;f=f|0;c[w>>2]=c[f>>2];do{if(lr(e,w,g,t,c[h+4>>2]|0,j,r,x,u,p,v)|0){h=q|0;Sc[c[(c[y>>2]|0)+48>>2]&15](x,19144,19154,h)|0;g=s|0;v=c[p>>2]|0;t=c[d>>2]|0;s=v-t|0;do{if((s|0)>392){s=Gu((s>>2)+2|0)|0;if((s|0)!=0){u=s;break}Uu();u=0;s=0}else{u=g;s=0}}while(0);if((a[r]|0)!=0){a[u]=45;u=u+1|0}if(t>>>0<v>>>0){r=q+40|0;do{w=c[t>>2]|0;x=h;while(1){v=x+4|0;if((c[x>>2]|0)==(w|0)){break}if((v|0)==(r|0)){x=r;break}else{x=v}}a[u]=a[19144+(x-q>>2)|0]|0;t=t+4|0;u=u+1|0;}while(t>>>0<(c[p>>2]|0)>>>0)}a[u]=0;z=dc(g|0,15784,(y=i,i=i+8|0,c[y>>2]=k,y)|0)|0;i=y;if((z|0)==1){if((s|0)==0){break}Hu(s);break}z=pc(8)|0;_l(z,15400);Fb(z|0,25560,30)}}while(0);k=e|0;e=c[k>>2]|0;do{if((e|0)==0){e=1}else{p=c[e+12>>2]|0;if((p|0)==(c[e+16>>2]|0)){e=Fc[c[(c[e>>2]|0)+36>>2]&255](e)|0}else{e=c[p>>2]|0}if((e|0)==-1){c[k>>2]=0;e=1;break}else{e=(c[k>>2]|0)==0;break}}}while(0);p=c[f>>2]|0;do{if((p|0)==0){m=47}else{q=c[p+12>>2]|0;if((q|0)==(c[p+16>>2]|0)){p=Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0}else{p=c[q>>2]|0}if((p|0)==-1){c[f>>2]=0;m=47;break}else{if(e){break}else{m=49;break}}}}while(0);if((m|0)==47){if(e){m=49}}if((m|0)==49){c[j>>2]=c[j>>2]|2}c[b>>2]=c[k>>2];Ul(c[o>>2]|0)|0;b=c[d>>2]|0;c[d>>2]=0;if((b|0)==0){i=l;return}Dc[c[n>>2]&511](b);i=l;return}}while(0);z=pc(4)|0;lu(z);Fb(z|0,25544,156)}function lr(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=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,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;p=i;i=i+416|0;y=e;E=i;i=i+4|0;i=i+7&-8;c[E>>2]=c[y>>2];y=p|0;V=p+8|0;F=p+408|0;w=i;i=i+4|0;i=i+7&-8;z=i;i=i+4|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;r=i;i=i+12|0;i=i+7&-8;q=i;i=i+12|0;i=i+7&-8;t=i;i=i+12|0;i=i+7&-8;e=i;i=i+12|0;i=i+7&-8;x=i;i=i+4|0;i=i+7&-8;u=i;i=i+4|0;i=i+7&-8;c[y>>2]=o;U=V|0;c[F>>2]=0;D=s;dv(D|0,0,12)|0;B=r;dv(B|0,0,12)|0;o=q;dv(o|0,0,12)|0;A=t;dv(A|0,0,12)|0;C=e;dv(C|0,0,12)|0;or(f,g,F,w,z,s,r,q,t,x);f=m|0;c[n>>2]=c[f>>2];b=b|0;g=E|0;E=l;J=t+4|0;H=t+8|0;G=q+4|0;I=q+8|0;O=(h&512|0)!=0;M=r+4|0;L=r+8|0;N=e+4|0;P=e+8|0;K=F+3|0;h=s+4|0;S=194;T=U;V=V+400|0;Q=0;R=0;a:while(1){W=c[b>>2]|0;do{if((W|0)==0){X=1}else{X=c[W+12>>2]|0;if((X|0)==(c[W+16>>2]|0)){W=Fc[c[(c[W>>2]|0)+36>>2]&255](W)|0}else{W=c[X>>2]|0}if((W|0)==-1){c[b>>2]=0;X=1;break}else{X=(c[b>>2]|0)==0;break}}}while(0);W=c[g>>2]|0;do{if((W|0)==0){v=16}else{Y=c[W+12>>2]|0;if((Y|0)==(c[W+16>>2]|0)){Y=Fc[c[(c[W>>2]|0)+36>>2]&255](W)|0}else{Y=c[Y>>2]|0}if((Y|0)==-1){c[g>>2]=0;v=16;break}else{if(X){break}else{v=302;break a}}}}while(0);if((v|0)==16){v=0;if(X){v=302;break}else{W=0}}b:do{switch(a[F+Q|0]|0){case 1:{if((Q|0)==3){v=302;break a}X=c[b>>2]|0;v=c[X+12>>2]|0;if((v|0)==(c[X+16>>2]|0)){v=Fc[c[(c[X>>2]|0)+36>>2]&255](X)|0}else{v=c[v>>2]|0}if(!(Hc[c[(c[E>>2]|0)+12>>2]&63](l,8192,v)|0)){v=41;break a}Y=c[b>>2]|0;v=Y+12|0;X=c[v>>2]|0;if((X|0)==(c[Y+16>>2]|0)){v=Fc[c[(c[Y>>2]|0)+40>>2]&255](Y)|0}else{c[v>>2]=X+4;v=c[X>>2]|0}Gm(e,v);v=42;break};case 0:{v=42;break};case 3:{W=a[o]|0;Y=(W&1)==0;if(Y){$=(W&255)>>>1}else{$=c[G>>2]|0}X=a[A]|0;Z=(X&1)==0;if(Z){_=(X&255)>>>1}else{_=c[J>>2]|0}if(($|0)==(-_|0)){break b}if(Y){_=(W&255)>>>1}else{_=c[G>>2]|0}do{if((_|0)!=0){if(Z){Z=(X&255)>>>1}else{Z=c[J>>2]|0}if((Z|0)==0){break}Y=c[b>>2]|0;X=c[Y+12>>2]|0;if((X|0)==(c[Y+16>>2]|0)){X=Fc[c[(c[Y>>2]|0)+36>>2]&255](Y)|0;W=a[o]|0}else{X=c[X>>2]|0}$=c[b>>2]|0;Z=$+12|0;_=c[Z>>2]|0;Y=(_|0)==(c[$+16>>2]|0);if((X|0)==(c[((W&1)==0?G:c[I>>2]|0)>>2]|0)){if(Y){Fc[c[(c[$>>2]|0)+40>>2]&255]($)|0}else{c[Z>>2]=_+4}W=a[o]|0;if((W&1)==0){W=(W&255)>>>1}else{W=c[G>>2]|0}R=W>>>0>1>>>0?q:R;break b}if(Y){W=Fc[c[(c[$>>2]|0)+36>>2]&255]($)|0}else{W=c[_>>2]|0}if((W|0)!=(c[((a[A]&1)==0?J:c[H>>2]|0)>>2]|0)){v=134;break a}Y=c[b>>2]|0;W=Y+12|0;X=c[W>>2]|0;if((X|0)==(c[Y+16>>2]|0)){Fc[c[(c[Y>>2]|0)+40>>2]&255](Y)|0}else{c[W>>2]=X+4}a[k]=1;W=a[A]|0;if((W&1)==0){W=(W&255)>>>1}else{W=c[J>>2]|0}R=W>>>0>1>>>0?t:R;break b}}while(0);if(Y){$=(W&255)>>>1}else{$=c[G>>2]|0}_=c[b>>2]|0;Z=c[_+12>>2]|0;Y=(Z|0)==(c[_+16>>2]|0);if(($|0)==0){if(Y){W=Fc[c[(c[_>>2]|0)+36>>2]&255](_)|0;X=a[A]|0}else{W=c[Z>>2]|0}if((W|0)!=(c[((X&1)==0?J:c[H>>2]|0)>>2]|0)){break b}W=c[b>>2]|0;X=W+12|0;Y=c[X>>2]|0;if((Y|0)==(c[W+16>>2]|0)){Fc[c[(c[W>>2]|0)+40>>2]&255](W)|0}else{c[X>>2]=Y+4}a[k]=1;W=a[A]|0;if((W&1)==0){W=(W&255)>>>1}else{W=c[J>>2]|0}R=W>>>0>1>>>0?t:R;break b}if(Y){X=Fc[c[(c[_>>2]|0)+36>>2]&255](_)|0;W=a[o]|0}else{X=c[Z>>2]|0}if((X|0)!=(c[((W&1)==0?G:c[I>>2]|0)>>2]|0)){a[k]=1;break b}W=c[b>>2]|0;X=W+12|0;Y=c[X>>2]|0;if((Y|0)==(c[W+16>>2]|0)){Fc[c[(c[W>>2]|0)+40>>2]&255](W)|0}else{c[X>>2]=Y+4}W=a[o]|0;if((W&1)==0){W=(W&255)>>>1}else{W=c[G>>2]|0}R=W>>>0>1>>>0?q:R;break};case 2:{if(!((R|0)!=0|Q>>>0<2>>>0)){if((Q|0)==2){X=(a[K]|0)!=0}else{X=0}if(!(O|X)){R=0;break b}}Y=a[B]|0;X=(Y&1)==0?M:c[L>>2]|0;c:do{if((Q|0)==0){Z=W}else{if(!((d[F+(Q-1)|0]|0)>>>0<2>>>0)){Z=W;break}while(1){if((Y&1)==0){Z=(Y&255)>>>1;_=M}else{Z=c[M>>2]|0;_=c[L>>2]|0}if((X|0)==(_+(Z<<2)|0)){break}if(!(Hc[c[(c[E>>2]|0)+12>>2]&63](l,8192,c[X>>2]|0)|0)){v=148;break}X=X+4|0;Y=a[B]|0}if((v|0)==148){v=0;Y=a[B]|0}Z=(Y&1)==0;$=X-(Z?M:c[L>>2]|0)>>2;_=a[C]|0;ba=(_&1)==0;if(ba){aa=(_&255)>>>1}else{aa=c[N>>2]|0}d:do{if(!($>>>0>aa>>>0)){if(ba){ba=(_&255)>>>1;aa=N;$=N+(((_&255)>>>1)-$<<2)|0}else{ca=c[P>>2]|0;_=c[N>>2]|0;ba=_;aa=ca;$=ca+(_-$<<2)|0}_=aa+(ba<<2)|0;if(($|0)==(_|0)){Z=W;break c}else{aa=$;$=Z?M:c[L>>2]|0}while(1){if((c[aa>>2]|0)!=(c[$>>2]|0)){break d}aa=aa+4|0;if((aa|0)==(_|0)){Z=W;break c}$=$+4|0}}}while(0);X=Z?M:c[L>>2]|0;Z=W}}while(0);e:while(1){if((Y&1)==0){Y=(Y&255)>>>1;_=M}else{Y=c[M>>2]|0;_=c[L>>2]|0}if((X|0)==(_+(Y<<2)|0)){break}Y=c[b>>2]|0;do{if((Y|0)==0){Y=1}else{_=c[Y+12>>2]|0;if((_|0)==(c[Y+16>>2]|0)){Y=Fc[c[(c[Y>>2]|0)+36>>2]&255](Y)|0}else{Y=c[_>>2]|0}if((Y|0)==-1){c[b>>2]=0;Y=1;break}else{Y=(c[b>>2]|0)==0;break}}}while(0);do{if((Z|0)==0){v=178}else{_=c[Z+12>>2]|0;if((_|0)==(c[Z+16>>2]|0)){Z=Fc[c[(c[Z>>2]|0)+36>>2]&255](Z)|0}else{Z=c[_>>2]|0}if((Z|0)==-1){c[g>>2]=0;W=0;v=178;break}else{if(Y^(W|0)==0){Z=W;break}else{break e}}}}while(0);if((v|0)==178){v=0;if(Y){break}else{Z=0}}Y=c[b>>2]|0;_=c[Y+12>>2]|0;if((_|0)==(c[Y+16>>2]|0)){Y=Fc[c[(c[Y>>2]|0)+36>>2]&255](Y)|0}else{Y=c[_>>2]|0}if((Y|0)!=(c[X>>2]|0)){break}Y=c[b>>2]|0;_=Y+12|0;$=c[_>>2]|0;if(($|0)==(c[Y+16>>2]|0)){Fc[c[(c[Y>>2]|0)+40>>2]&255](Y)|0}else{c[_>>2]=$+4}X=X+4|0;Y=a[B]|0}if(!O){break b}W=a[B]|0;if((W&1)==0){W=(W&255)>>>1;Y=M}else{W=c[M>>2]|0;Y=c[L>>2]|0}if((X|0)!=(Y+(W<<2)|0)){v=193;break a}break};case 4:{W=0;f:while(1){X=c[b>>2]|0;do{if((X|0)==0){X=1}else{Y=c[X+12>>2]|0;if((Y|0)==(c[X+16>>2]|0)){X=Fc[c[(c[X>>2]|0)+36>>2]&255](X)|0}else{X=c[Y>>2]|0}if((X|0)==-1){c[b>>2]=0;X=1;break}else{X=(c[b>>2]|0)==0;break}}}while(0);Z=c[g>>2]|0;do{if((Z|0)==0){v=207}else{Y=c[Z+12>>2]|0;if((Y|0)==(c[Z+16>>2]|0)){Y=Fc[c[(c[Z>>2]|0)+36>>2]&255](Z)|0}else{Y=c[Y>>2]|0}if((Y|0)==-1){c[g>>2]=0;v=207;break}else{if(X){break}else{break f}}}}while(0);if((v|0)==207){v=0;if(X){break}}X=c[b>>2]|0;Y=c[X+12>>2]|0;if((Y|0)==(c[X+16>>2]|0)){X=Fc[c[(c[X>>2]|0)+36>>2]&255](X)|0}else{X=c[Y>>2]|0}if(Hc[c[(c[E>>2]|0)+12>>2]&63](l,2048,X)|0){Y=c[n>>2]|0;if((Y|0)==(c[y>>2]|0)){pr(m,n,y);Y=c[n>>2]|0}c[n>>2]=Y+4;c[Y>>2]=X;W=W+1|0}else{Y=a[D]|0;if((Y&1)==0){Y=(Y&255)>>>1}else{Y=c[h>>2]|0}if((Y|0)==0|(W|0)==0){break}if((X|0)!=(c[z>>2]|0)){break}if((U|0)==(V|0)){V=(S|0)!=194;S=U-T|0;U=S>>>0<2147483647>>>0?S<<1:-1;if(V){X=T}else{X=0}ca=Iu(X,U)|0;X=ca;if((ca|0)==0){Uu()}V=X+(U>>>2<<2)|0;U=X+(S>>2<<2)|0;T=X;S=88}c[U>>2]=W;W=0;U=U+4|0}Z=c[b>>2]|0;Y=Z+12|0;X=c[Y>>2]|0;if((X|0)==(c[Z+16>>2]|0)){Fc[c[(c[Z>>2]|0)+40>>2]&255](Z)|0;continue}else{c[Y>>2]=X+4;continue}}if(!((T|0)==(U|0)|(W|0)==0)){if((U|0)==(V|0)){V=(S|0)!=194;S=U-T|0;U=S>>>0<2147483647>>>0?S<<1:-1;if(V){X=T}else{X=0}ca=Iu(X,U)|0;X=ca;if((ca|0)==0){Uu()}V=X+(U>>>2<<2)|0;U=X+(S>>2<<2)|0;T=X;S=88}c[U>>2]=W;U=U+4|0}W=c[x>>2]|0;if((W|0)>0){X=c[b>>2]|0;do{if((X|0)==0){Y=1}else{Y=c[X+12>>2]|0;if((Y|0)==(c[X+16>>2]|0)){X=Fc[c[(c[X>>2]|0)+36>>2]&255](X)|0}else{X=c[Y>>2]|0}if((X|0)==-1){c[b>>2]=0;Y=1;break}else{Y=(c[b>>2]|0)==0;break}}}while(0);X=c[g>>2]|0;do{if((X|0)==0){v=259}else{Z=c[X+12>>2]|0;if((Z|0)==(c[X+16>>2]|0)){Z=Fc[c[(c[X>>2]|0)+36>>2]&255](X)|0}else{Z=c[Z>>2]|0}if((Z|0)==-1){c[g>>2]=0;v=259;break}else{if(Y){break}else{v=265;break a}}}}while(0);if((v|0)==259){v=0;if(Y){v=265;break a}else{X=0}}Y=c[b>>2]|0;Z=c[Y+12>>2]|0;if((Z|0)==(c[Y+16>>2]|0)){Y=Fc[c[(c[Y>>2]|0)+36>>2]&255](Y)|0}else{Y=c[Z>>2]|0}if((Y|0)!=(c[w>>2]|0)){v=265;break a}_=c[b>>2]|0;Z=_+12|0;Y=c[Z>>2]|0;if((Y|0)==(c[_+16>>2]|0)){Fc[c[(c[_>>2]|0)+40>>2]&255](_)|0;Y=X;Z=X}else{c[Z>>2]=Y+4;Y=X;Z=X}while(1){X=c[b>>2]|0;do{if((X|0)==0){_=1}else{_=c[X+12>>2]|0;if((_|0)==(c[X+16>>2]|0)){X=Fc[c[(c[X>>2]|0)+36>>2]&255](X)|0}else{X=c[_>>2]|0}if((X|0)==-1){c[b>>2]=0;_=1;break}else{_=(c[b>>2]|0)==0;break}}}while(0);do{if((Y|0)==0){X=Z;v=282}else{X=c[Y+12>>2]|0;if((X|0)==(c[Y+16>>2]|0)){X=Fc[c[(c[Y>>2]|0)+36>>2]&255](Y)|0}else{X=c[X>>2]|0}if((X|0)==-1){c[g>>2]=0;X=0;v=282;break}else{if(_^(Z|0)==0){X=Z;Y=Z;break}else{v=289;break a}}}}while(0);if((v|0)==282){v=0;if(_){v=289;break a}else{Y=0}}Z=c[b>>2]|0;_=c[Z+12>>2]|0;if((_|0)==(c[Z+16>>2]|0)){Z=Fc[c[(c[Z>>2]|0)+36>>2]&255](Z)|0}else{Z=c[_>>2]|0}if(!(Hc[c[(c[E>>2]|0)+12>>2]&63](l,2048,Z)|0)){v=289;break a}if((c[n>>2]|0)==(c[y>>2]|0)){pr(m,n,y)}Z=c[b>>2]|0;_=c[Z+12>>2]|0;if((_|0)==(c[Z+16>>2]|0)){Z=Fc[c[(c[Z>>2]|0)+36>>2]&255](Z)|0}else{Z=c[_>>2]|0}$=c[n>>2]|0;c[n>>2]=$+4;c[$>>2]=Z;W=W-1|0;c[x>>2]=W;Z=c[b>>2]|0;$=Z+12|0;_=c[$>>2]|0;if((_|0)==(c[Z+16>>2]|0)){Fc[c[(c[Z>>2]|0)+40>>2]&255](Z)|0}else{c[$>>2]=_+4}if((W|0)>0){Z=X}else{break}}}if((c[n>>2]|0)==(c[f>>2]|0)){v=300;break a}break};default:{}}}while(0);g:do{if((v|0)==42){v=0;if((Q|0)==3){v=302;break a}else{Y=W;X=W}while(1){W=c[b>>2]|0;do{if((W|0)==0){W=1}else{Z=c[W+12>>2]|0;if((Z|0)==(c[W+16>>2]|0)){W=Fc[c[(c[W>>2]|0)+36>>2]&255](W)|0}else{W=c[Z>>2]|0}if((W|0)==-1){c[b>>2]=0;W=1;break}else{W=(c[b>>2]|0)==0;break}}}while(0);do{if((Y|0)==0){v=56}else{Z=c[Y+12>>2]|0;if((Z|0)==(c[Y+16>>2]|0)){Y=Fc[c[(c[Y>>2]|0)+36>>2]&255](Y)|0}else{Y=c[Z>>2]|0}if((Y|0)==-1){c[g>>2]=0;X=0;v=56;break}else{if(W^(X|0)==0){W=X;break}else{break g}}}}while(0);if((v|0)==56){v=0;if(W){break g}else{W=0}}Y=c[b>>2]|0;Z=c[Y+12>>2]|0;if((Z|0)==(c[Y+16>>2]|0)){Y=Fc[c[(c[Y>>2]|0)+36>>2]&255](Y)|0}else{Y=c[Z>>2]|0}if(!(Hc[c[(c[E>>2]|0)+12>>2]&63](l,8192,Y)|0)){break g}Y=c[b>>2]|0;Z=Y+12|0;_=c[Z>>2]|0;if((_|0)==(c[Y+16>>2]|0)){Y=Fc[c[(c[Y>>2]|0)+40>>2]&255](Y)|0}else{c[Z>>2]=_+4;Y=c[_>>2]|0}Gm(e,Y);Y=W}}}while(0);Q=Q+1|0;if(!(Q>>>0<4>>>0)){v=302;break}}h:do{if((v|0)==41){c[j>>2]=c[j>>2]|4;j=0}else if((v|0)==134){c[j>>2]=c[j>>2]|4;j=0}else if((v|0)==193){c[j>>2]=c[j>>2]|4;j=0}else if((v|0)==265){c[j>>2]=c[j>>2]|4;j=0}else if((v|0)==289){c[j>>2]=c[j>>2]|4;j=0}else if((v|0)==300){c[j>>2]=c[j>>2]|4;j=0}else if((v|0)==302){i:do{if((R|0)!=0){m=R;n=R+4|0;k=R+8|0;l=1;j:while(1){w=a[m]|0;if((w&1)==0){w=(w&255)>>>1}else{w=c[n>>2]|0}if(!(l>>>0<w>>>0)){break i}w=c[b>>2]|0;do{if((w|0)==0){w=1}else{x=c[w+12>>2]|0;if((x|0)==(c[w+16>>2]|0)){w=Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0}else{w=c[x>>2]|0}if((w|0)==-1){c[b>>2]=0;w=1;break}else{w=(c[b>>2]|0)==0;break}}}while(0);y=c[g>>2]|0;do{if((y|0)==0){v=321}else{x=c[y+12>>2]|0;if((x|0)==(c[y+16>>2]|0)){x=Fc[c[(c[y>>2]|0)+36>>2]&255](y)|0}else{x=c[x>>2]|0}if((x|0)==-1){c[g>>2]=0;v=321;break}else{if(w){break}else{break j}}}}while(0);if((v|0)==321){v=0;if(w){break}}w=c[b>>2]|0;x=c[w+12>>2]|0;if((x|0)==(c[w+16>>2]|0)){x=Fc[c[(c[w>>2]|0)+36>>2]&255](w)|0}else{x=c[x>>2]|0}if((a[m]&1)==0){w=n}else{w=c[k>>2]|0}if((x|0)!=(c[w+(l<<2)>>2]|0)){break}l=l+1|0;x=c[b>>2]|0;w=x+12|0;y=c[w>>2]|0;if((y|0)==(c[x+16>>2]|0)){Fc[c[(c[x>>2]|0)+40>>2]&255](x)|0;continue}else{c[w>>2]=y+4;continue}}c[j>>2]=c[j>>2]|4;j=0;break h}}while(0);if((T|0)==(U|0)){j=1;T=U;break}c[u>>2]=0;hr(s,T,U,u);if((c[u>>2]|0)==0){j=1;break}c[j>>2]=c[j>>2]|4;j=0}}while(0);Cm(e);Cm(t);Cm(q);Cm(r);rm(s);if((T|0)==0){i=p;return j|0}Dc[S&511](T);i=p;return j|0}function mr(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;d=i;i=i+456|0;w=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[w>>2];w=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[w>>2];w=d|0;s=d+16|0;u=d+416|0;q=d+424|0;v=d+432|0;r=d+440|0;t=d+448|0;n=u|0;c[n>>2]=s;l=u+4|0;c[l>>2]=194;s=s+400|0;Lm(v,h);o=v|0;p=c[o>>2]|0;if(!((c[8714]|0)==-1)){c[w>>2]=34856;c[w+4>>2]=16;c[w+8>>2]=0;mm(34856,w,114)}w=(c[8715]|0)-1|0;x=c[p+8>>2]|0;do{if((c[p+12>>2]|0)-x>>2>>>0>w>>>0){x=c[x+(w<<2)>>2]|0;if((x|0)==0){break}w=x;a[r]=0;f=f|0;p=c[f>>2]|0;c[t>>2]=p;if(lr(e,t,g,v,c[h+4>>2]|0,j,r,w,u,q,s)|0){h=k;if((a[h]&1)==0){c[k+4>>2]=0;a[h]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}if((a[r]|0)!=0){Gm(k,Qc[c[(c[x>>2]|0)+44>>2]&63](w,45)|0)}r=Qc[c[(c[x>>2]|0)+44>>2]&63](w,48)|0;g=c[n>>2]|0;q=c[q>>2]|0;h=q-4|0;a:do{if(g>>>0<h>>>0){while(1){s=g+4|0;if((c[g>>2]|0)!=(r|0)){break a}if(s>>>0<h>>>0){g=s}else{g=s;break}}}}while(0);nr(k,g,q)|0}k=e|0;e=c[k>>2]|0;do{if((e|0)==0){e=1}else{q=c[e+12>>2]|0;if((q|0)==(c[e+16>>2]|0)){e=Fc[c[(c[e>>2]|0)+36>>2]&255](e)|0}else{e=c[q>>2]|0}if((e|0)==-1){c[k>>2]=0;e=1;break}else{e=(c[k>>2]|0)==0;break}}}while(0);do{if((p|0)==0){m=35}else{q=c[p+12>>2]|0;if((q|0)==(c[p+16>>2]|0)){p=Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0}else{p=c[q>>2]|0}if((p|0)==-1){c[f>>2]=0;m=35;break}else{if(e){break}else{m=37;break}}}}while(0);if((m|0)==35){if(e){m=37}}if((m|0)==37){c[j>>2]=c[j>>2]|2}c[b>>2]=c[k>>2];Ul(c[o>>2]|0)|0;b=c[n>>2]|0;c[n>>2]=0;if((b|0)==0){i=d;return}Dc[c[l>>2]&511](b);i=d;return}}while(0);x=pc(4)|0;lu(x);Fb(x|0,25544,156)}function nr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b;j=d;g=a[f]|0;if((g&1)==0){k=1;i=g;h=(g&255)>>>1}else{i=c[b>>2]|0;k=(i&-2)-1|0;i=i&255;h=c[b+4>>2]|0}g=e-j>>2;if((g|0)==0){return b|0}if((k-h|0)>>>0<g>>>0){Im(b,k,h+g-k|0,h,h,0,0);i=a[f]|0}if((i&1)==0){i=b+4|0}else{i=c[b+8>>2]|0}k=i+(h<<2)|0;if((d|0)!=(e|0)){j=h+((e-4+(-j|0)|0)>>>2)+1|0;while(1){c[k>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0)){break}else{k=k+4|0}}k=i+(j<<2)|0}c[k>>2]=0;g=h+g|0;if((a[f]&1)==0){a[f]=g<<1;return b|0}else{c[b+4>>2]=g;return b|0}return 0}function or(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;n=i;i=i+176|0;z=n|0;y=n+16|0;x=n+32|0;v=n+40|0;t=n+56|0;r=n+72|0;o=n+88|0;w=n+104|0;u=n+112|0;s=n+128|0;q=n+144|0;p=n+160|0;if(b){p=c[d>>2]|0;if(!((c[8830]|0)==-1)){c[y>>2]=35320;c[y+4>>2]=16;c[y+8>>2]=0;mm(35320,y,114)}s=(c[8831]|0)-1|0;q=c[p+8>>2]|0;if(!((c[p+12>>2]|0)-q>>2>>>0>s>>>0)){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}q=c[q+(s<<2)>>2]|0;if((q|0)==0){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}p=q;Ec[c[(c[q>>2]|0)+44>>2]&127](x,p);C=c[x>>2]|0;a[e]=C;C=C>>8;a[e+1|0]=C;C=C>>8;a[e+2|0]=C;C=C>>8;a[e+3|0]=C;e=q;Ec[c[(c[e>>2]|0)+32>>2]&127](v,p);s=l;if((a[s]&1)==0){c[l+4>>2]=0;a[s]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);l=v;c[s>>2]=c[l>>2];c[s+4>>2]=c[l+4>>2];c[s+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;Cm(v);Ec[c[(c[e>>2]|0)+28>>2]&127](t,p);l=k;if((a[l]&1)==0){c[k+4>>2]=0;a[l]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);k=t;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];dv(k|0,0,12)|0;Cm(t);k=q;b=Fc[c[(c[k>>2]|0)+12>>2]&255](p)|0;c[f>>2]=b;b=Fc[c[(c[k>>2]|0)+16>>2]&255](p)|0;c[g>>2]=b;Ec[c[(c[q>>2]|0)+20>>2]&127](r,p);g=h;if((a[g]&1)==0){a[h+1|0]=0;a[g]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);h=r;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];dv(h|0,0,12)|0;rm(r);Ec[c[(c[e>>2]|0)+24>>2]&127](o,p);h=j;if((a[h]&1)==0){c[j+4>>2]=0;a[h]=0}else{c[c[j+8>>2]>>2]=0;c[j+4>>2]=0}Fm(j,0);b=o;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];dv(b|0,0,12)|0;Cm(o);b=Fc[c[(c[k>>2]|0)+36>>2]&255](p)|0;c[m>>2]=b;i=n;return}else{o=c[d>>2]|0;if(!((c[8832]|0)==-1)){c[z>>2]=35328;c[z+4>>2]=16;c[z+8>>2]=0;mm(35328,z,114)}t=(c[8833]|0)-1|0;r=c[o+8>>2]|0;if(!((c[o+12>>2]|0)-r>>2>>>0>t>>>0)){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}r=c[r+(t<<2)>>2]|0;if((r|0)==0){b=pc(4)|0;d=b;lu(d);Fb(b|0,25544,156)}o=r;Ec[c[(c[r>>2]|0)+44>>2]&127](w,o);C=c[w>>2]|0;a[e]=C;C=C>>8;a[e+1|0]=C;C=C>>8;a[e+2|0]=C;C=C>>8;a[e+3|0]=C;e=r;Ec[c[(c[e>>2]|0)+32>>2]&127](u,o);t=l;if((a[t]&1)==0){c[l+4>>2]=0;a[t]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);l=u;c[t>>2]=c[l>>2];c[t+4>>2]=c[l+4>>2];c[t+8>>2]=c[l+8>>2];dv(l|0,0,12)|0;Cm(u);Ec[c[(c[e>>2]|0)+28>>2]&127](s,o);l=k;if((a[l]&1)==0){c[k+4>>2]=0;a[l]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);k=s;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];dv(k|0,0,12)|0;Cm(s);k=r;b=Fc[c[(c[k>>2]|0)+12>>2]&255](o)|0;c[f>>2]=b;b=Fc[c[(c[k>>2]|0)+16>>2]&255](o)|0;c[g>>2]=b;Ec[c[(c[r>>2]|0)+20>>2]&127](q,o);g=h;if((a[g]&1)==0){a[h+1|0]=0;a[g]=0}else{a[c[h+8>>2]|0]=0;c[h+4>>2]=0}vm(h,0);h=q;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];dv(h|0,0,12)|0;rm(q);Ec[c[(c[e>>2]|0)+24>>2]&127](p,o);h=j;if((a[h]&1)==0){c[j+4>>2]=0;a[h]=0}else{c[c[j+8>>2]>>2]=0;c[j+4>>2]=0}Fm(j,0);b=p;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];dv(b|0,0,12)|0;Cm(p);b=Fc[c[(c[k>>2]|0)+36>>2]&255](o)|0;c[m>>2]=b;i=n;return}}function pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+4|0;f=(c[e>>2]|0)!=194;a=a|0;i=c[a>>2]|0;h=i;g=(c[d>>2]|0)-h|0;g=g>>>0<2147483647>>>0?g<<1:-1;h=(c[b>>2]|0)-h>>2;if(f){}else{i=0}j=Iu(i,g)|0;i=j;if((j|0)==0){Uu()}do{if(f){c[a>>2]=i}else{f=c[a>>2]|0;c[a>>2]=i;if((f|0)==0){break}Dc[c[e>>2]&511](f);i=c[a>>2]|0}}while(0);c[e>>2]=88;c[b>>2]=i+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function qr(a){a=a|0;Sl(a|0);Pu(a);return}function rr(a){a=a|0;Sl(a|0);return}function sr(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=+k;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;p=i;i=i+248|0;z=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[z>>2];z=p|0;A=p+120|0;C=p+232|0;E=p+240|0;l=E;m=i;i=i+1|0;i=i+7&-8;t=i;i=i+1|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;n=i;i=i+12|0;i=i+7&-8;q=i;i=i+12|0;i=i+7&-8;B=i;i=i+4|0;i=i+7&-8;D=i;i=i+100|0;i=i+7&-8;r=i;i=i+4|0;i=i+7&-8;d=i;i=i+4|0;i=i+7&-8;o=i;i=i+4|0;i=i+7&-8;G=p+16|0;c[A>>2]=G;u=p+128|0;v=db(G|0,100,15056,(G=i,i=i+8|0,h[G>>3]=k,G)|0)|0;i=G;do{if(v>>>0>99>>>0){do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}G=Xa(2147483647,14472,0)|0;c[8330]=G}}while(0);v=kp(A,c[8330]|0,15056,(y=i,i=i+8|0,h[y>>3]=k,y)|0)|0;i=y;y=c[A>>2]|0;if((y|0)==0){Uu();y=c[A>>2]|0}w=Gu(v)|0;if((w|0)!=0){u=w;break}Uu();u=0;w=0}else{w=0;y=0}}while(0);Lm(C,g);x=C|0;F=c[x>>2]|0;if(!((c[8716]|0)==-1)){c[z>>2]=34864;c[z+4>>2]=16;c[z+8>>2]=0;mm(34864,z,114)}G=(c[8717]|0)-1|0;z=c[F+8>>2]|0;do{if((c[F+12>>2]|0)-z>>2>>>0>G>>>0){F=c[z+(G<<2)>>2]|0;if((F|0)==0){break}z=F;G=c[A>>2]|0;Sc[c[(c[F>>2]|0)+32>>2]&15](z,G,G+v|0,u)|0;if((v|0)==0){A=0}else{A=(a[c[A>>2]|0]|0)==45}c[E>>2]=0;dv(s|0,0,12)|0;E=n;dv(E|0,0,12)|0;F=q;dv(F|0,0,12)|0;tr(f,A,C,l,m,t,s,n,q,B);C=D|0;f=c[B>>2]|0;if((v|0)>(f|0)){B=a[F]|0;if((B&1)==0){B=(B&255)>>>1}else{B=c[q+4>>2]|0}D=a[E]|0;if((D&1)==0){D=(D&255)>>>1}else{D=c[n+4>>2]|0}B=B+(v-f<<1|1)+D|0}else{B=a[F]|0;if((B&1)==0){B=(B&255)>>>1}else{B=c[q+4>>2]|0}D=a[E]|0;if((D&1)==0){D=(D&255)>>>1}else{D=c[n+4>>2]|0}B=B+2+D|0}B=B+f|0;do{if(B>>>0>100>>>0){B=Gu(B)|0;if((B|0)!=0){C=B;break}Uu();C=0;B=0}else{B=0}}while(0);ur(C,r,d,c[g+4>>2]|0,u,u+v|0,z,A,l,a[m]|0,a[t]|0,s,n,q,f);c[o>>2]=c[e>>2];Bd(b,o,C,c[r>>2]|0,c[d>>2]|0,g,j);if((B|0)!=0){Hu(B)}rm(q);rm(n);rm(s);Ul(c[x>>2]|0)|0;if((w|0)!=0){Hu(w)}if((y|0)==0){i=p;return}Hu(y);i=p;return}}while(0);G=pc(4)|0;lu(G);Fb(G|0,25544,156)}function tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0;n=i;i=i+40|0;G=n|0;F=n+16|0;z=n+32|0;B=z;s=i;i=i+12|0;i=i+7&-8;E=i;i=i+4|0;i=i+7&-8;y=E;t=i;i=i+12|0;i=i+7&-8;r=i;i=i+12|0;i=i+7&-8;o=i;i=i+12|0;i=i+7&-8;A=i;i=i+4|0;i=i+7&-8;D=A;v=i;i=i+12|0;i=i+7&-8;w=i;i=i+4|0;i=i+7&-8;x=w;u=i;i=i+12|0;i=i+7&-8;q=i;i=i+12|0;i=i+7&-8;p=i;i=i+12|0;i=i+7&-8;e=c[e>>2]|0;if(b){if(!((c[8834]|0)==-1)){c[F>>2]=35336;c[F+4>>2]=16;c[F+8>>2]=0;mm(35336,F,114)}q=(c[8835]|0)-1|0;p=c[e+8>>2]|0;if(!((c[e+12>>2]|0)-p>>2>>>0>q>>>0)){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}p=c[p+(q<<2)>>2]|0;if((p|0)==0){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}q=p;u=c[p>>2]|0;if(d){Ec[c[u+44>>2]&127](B,q);C=c[z>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[p>>2]|0)+32>>2]&127](s,q);f=l;if((a[f]&1)==0){a[l+1|0]=0;a[f]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);G=s;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;rm(s)}else{Ec[c[u+40>>2]&127](y,q);C=c[E>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[p>>2]|0)+28>>2]&127](t,q);f=l;if((a[f]&1)==0){a[l+1|0]=0;a[f]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);G=t;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;rm(t)}l=p;G=Fc[c[(c[l>>2]|0)+12>>2]&255](q)|0;a[g]=G;l=Fc[c[(c[l>>2]|0)+16>>2]&255](q)|0;a[h]=l;l=p;Ec[c[(c[l>>2]|0)+20>>2]&127](r,q);h=j;if((a[h]&1)==0){a[j+1|0]=0;a[h]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);j=r;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;rm(r);Ec[c[(c[l>>2]|0)+24>>2]&127](o,q);j=k;if((a[j]&1)==0){a[k+1|0]=0;a[j]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);G=o;c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;rm(o);G=Fc[c[(c[p>>2]|0)+36>>2]&255](q)|0;c[m>>2]=G;i=n;return}else{if(!((c[8836]|0)==-1)){c[G>>2]=35344;c[G+4>>2]=16;c[G+8>>2]=0;mm(35344,G,114)}o=(c[8837]|0)-1|0;r=c[e+8>>2]|0;if(!((c[e+12>>2]|0)-r>>2>>>0>o>>>0)){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}r=c[r+(o<<2)>>2]|0;if((r|0)==0){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}o=r;s=c[r>>2]|0;if(d){Ec[c[s+44>>2]&127](D,o);C=c[A>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[r>>2]|0)+32>>2]&127](v,o);f=l;if((a[f]&1)==0){a[l+1|0]=0;a[f]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);G=v;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;rm(v)}else{Ec[c[s+40>>2]&127](x,o);C=c[w>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[r>>2]|0)+28>>2]&127](u,o);f=l;if((a[f]&1)==0){a[l+1|0]=0;a[f]=0}else{a[c[l+8>>2]|0]=0;c[l+4>>2]=0}vm(l,0);G=u;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;rm(u)}l=r;G=Fc[c[(c[l>>2]|0)+12>>2]&255](o)|0;a[g]=G;l=Fc[c[(c[l>>2]|0)+16>>2]&255](o)|0;a[h]=l;h=r;Ec[c[(c[h>>2]|0)+20>>2]&127](q,o);l=j;if((a[l]&1)==0){a[j+1|0]=0;a[l]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);j=q;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;rm(q);Ec[c[(c[h>>2]|0)+24>>2]&127](p,o);j=k;if((a[j]&1)==0){a[k+1|0]=0;a[j]=0}else{a[c[k+8>>2]|0]=0;c[k+4>>2]=0}vm(k,0);G=p;c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;rm(p);G=Fc[c[(c[r>>2]|0)+36>>2]&255](o)|0;c[m>>2]=G;i=n;return}}function ur(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;u=j;v=q;s=q+1|0;t=q+8|0;q=q+4|0;A=p;z=(g&512|0)==0;y=p+1|0;x=p+8|0;p=p+4|0;C=(r|0)>0;E=o;D=o+1|0;B=o+8|0;G=o+4|0;F=j+8|0;o=-r|0;H=0;do{a:do{switch(a[l+H|0]|0){case 3:{J=a[v]|0;I=(J&1)==0;if(I){J=(J&255)>>>1}else{J=c[q>>2]|0}if((J|0)==0){break a}if(I){I=s}else{I=c[t>>2]|0}N=a[I]|0;O=c[f>>2]|0;c[f>>2]=O+1;a[O]=N;break};case 0:{c[e>>2]=c[f>>2];break};case 1:{c[e>>2]=c[f>>2];N=Qc[c[(c[u>>2]|0)+28>>2]&63](j,32)|0;O=c[f>>2]|0;c[f>>2]=O+1;a[O]=N;break};case 2:{I=a[A]|0;K=(I&1)==0;if(K){J=(I&255)>>>1}else{J=c[p>>2]|0}if((J|0)==0|z){break a}if(K){K=(I&255)>>>1;I=y;J=y}else{J=c[x>>2]|0;K=c[p>>2]|0;I=J}I=I+K|0;K=c[f>>2]|0;if((J|0)!=(I|0)){do{a[K]=a[J]|0;J=J+1|0;K=K+1|0;}while((J|0)!=(I|0))}c[f>>2]=K;break};case 4:{I=c[f>>2]|0;h=k?h+1|0:h;b:do{if(h>>>0<i>>>0){J=h;while(1){K=a[J]|0;if(!(K<<24>>24>-1)){break b}L=J+1|0;if((b[(c[F>>2]|0)+(K<<24>>24<<1)>>1]&2048)==0){break b}if(L>>>0<i>>>0){J=L}else{J=L;break}}}else{J=h}}while(0);K=J;if(C){if(J>>>0>h>>>0){K=h+(-K|0)|0;K=K>>>0<o>>>0?o:K;L=K+r|0;M=J;O=r;N=I;while(1){M=M-1|0;P=a[M]|0;c[f>>2]=N+1;a[N]=P;N=O-1|0;O=(N|0)>0;if(!(M>>>0>h>>>0&O)){break}O=N;N=c[f>>2]|0}J=J+K|0;if(O){w=32}else{K=0}}else{L=r;w=32}if((w|0)==32){w=0;K=Qc[c[(c[u>>2]|0)+28>>2]&63](j,48)|0}M=c[f>>2]|0;c[f>>2]=M+1;if((L|0)>0){do{a[M]=K;L=L-1|0;M=c[f>>2]|0;c[f>>2]=M+1}while((L|0)>0)}a[M]=m}if((J|0)==(h|0)){O=Qc[c[(c[u>>2]|0)+28>>2]&63](j,48)|0;P=c[f>>2]|0;c[f>>2]=P+1;a[P]=O}else{L=a[E]|0;K=(L&1)==0;if(K){L=(L&255)>>>1}else{L=c[G>>2]|0}if((L|0)==0){M=0;K=0;L=-1}else{if(K){L=D}else{L=c[B>>2]|0}M=0;K=0;L=a[L]|0}while(1){do{if((M|0)==(L|0)){N=c[f>>2]|0;c[f>>2]=N+1;a[N]=n;K=K+1|0;N=a[E]|0;M=(N&1)==0;if(M){N=(N&255)>>>1}else{N=c[G>>2]|0}if(!(K>>>0<N>>>0)){M=0;break}if(M){L=D}else{L=c[B>>2]|0}if((a[L+K|0]|0)==127){L=-1;M=0;break}if(M){L=D}else{L=c[B>>2]|0}L=a[L+K|0]|0;M=0}}while(0);J=J-1|0;O=a[J]|0;P=c[f>>2]|0;c[f>>2]=P+1;a[P]=O;if((J|0)==(h|0)){break}else{M=M+1|0}}}J=c[f>>2]|0;if((I|0)==(J|0)){break a}J=J-1|0;if(!(J>>>0>I>>>0)){break a}do{P=a[I]|0;a[I]=a[J]|0;a[J]=P;I=I+1|0;J=J-1|0;}while(I>>>0<J>>>0);break};default:{}}}while(0);H=H+1|0;}while(H>>>0<4>>>0);u=a[v]|0;l=(u&1)==0;if(l){v=(u&255)>>>1}else{v=c[q>>2]|0}if(v>>>0>1>>>0){if(l){q=(u&255)>>>1;u=s}else{s=c[t>>2]|0;q=c[q>>2]|0;u=s}t=s+1|0;s=u+q|0;q=c[f>>2]|0;if((t|0)!=(s|0)){do{a[q]=a[t]|0;t=t+1|0;q=q+1|0;}while((t|0)!=(s|0))}c[f>>2]=q}g=g&176;if((g|0)==32){c[e>>2]=c[f>>2];return}else if((g|0)==16){return}else{c[e>>2]=d;return}}function vr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0;p=i;i=i+32|0;v=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[v>>2];v=p|0;z=p+16|0;A=p+24|0;r=A;s=i;i=i+1|0;i=i+7&-8;d=i;i=i+1|0;i=i+7&-8;k=i;i=i+12|0;i=i+7&-8;l=i;i=i+12|0;i=i+7&-8;m=i;i=i+12|0;i=i+7&-8;x=i;i=i+4|0;i=i+7&-8;y=i;i=i+100|0;i=i+7&-8;q=i;i=i+4|0;i=i+7&-8;t=i;i=i+4|0;i=i+7&-8;n=i;i=i+4|0;i=i+7&-8;Lm(z,g);o=z|0;u=c[o>>2]|0;if(!((c[8716]|0)==-1)){c[v>>2]=34864;c[v+4>>2]=16;c[v+8>>2]=0;mm(34864,v,114)}v=(c[8717]|0)-1|0;w=c[u+8>>2]|0;do{if((c[u+12>>2]|0)-w>>2>>>0>v>>>0){w=c[w+(v<<2)>>2]|0;if((w|0)==0){break}u=w;v=j;C=a[v]|0;B=(C&1)==0;if(B){C=(C&255)>>>1}else{C=c[j+4>>2]|0}if((C|0)==0){w=0}else{if(B){B=j+1|0}else{B=c[j+8>>2]|0}C=a[B]|0;w=C<<24>>24==(Qc[c[(c[w>>2]|0)+28>>2]&63](u,45)|0)<<24>>24}c[A>>2]=0;dv(k|0,0,12)|0;A=l;dv(A|0,0,12)|0;B=m;dv(B|0,0,12)|0;tr(f,w,z,r,s,d,k,l,m,x);y=y|0;f=a[v]|0;C=(f&1)==0;if(C){z=(f&255)>>>1}else{z=c[j+4>>2]|0}x=c[x>>2]|0;if((z|0)>(x|0)){if(C){z=(f&255)>>>1}else{z=c[j+4>>2]|0}B=a[B]|0;if((B&1)==0){B=(B&255)>>>1}else{B=c[m+4>>2]|0}A=a[A]|0;if((A&1)==0){A=(A&255)>>>1}else{A=c[l+4>>2]|0}z=B+(z-x<<1|1)+A|0}else{z=a[B]|0;if((z&1)==0){z=(z&255)>>>1}else{z=c[m+4>>2]|0}A=a[A]|0;if((A&1)==0){A=(A&255)>>>1}else{A=c[l+4>>2]|0}z=z+2+A|0}z=z+x|0;do{if(z>>>0>100>>>0){z=Gu(z)|0;if((z|0)!=0){y=z;break}Uu();y=0;z=0;f=a[v]|0}else{z=0}}while(0);if((f&1)==0){v=(f&255)>>>1;j=j+1|0}else{v=c[j+4>>2]|0;j=c[j+8>>2]|0}ur(y,q,t,c[g+4>>2]|0,j,j+v|0,u,w,r,a[s]|0,a[d]|0,k,l,m,x);c[n>>2]=c[e>>2];Bd(b,n,y,c[q>>2]|0,c[t>>2]|0,g,h);if((z|0)==0){rm(m);rm(l);rm(k);C=c[o>>2]|0;C=C|0;Ul(C)|0;i=p;return}Hu(z);rm(m);rm(l);rm(k);C=c[o>>2]|0;C=C|0;Ul(C)|0;i=p;return}}while(0);C=pc(4)|0;lu(C);Fb(C|0,25544,156)}function wr(a){a=a|0;Sl(a|0);Pu(a);return}function xr(a){a=a|0;Sl(a|0);return}function yr(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=+k;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;p=i;i=i+544|0;z=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[z>>2];z=p|0;A=p+120|0;C=p+528|0;E=p+536|0;l=E;m=i;i=i+4|0;i=i+7&-8;t=i;i=i+4|0;i=i+7&-8;s=i;i=i+12|0;i=i+7&-8;n=i;i=i+12|0;i=i+7&-8;q=i;i=i+12|0;i=i+7&-8;B=i;i=i+4|0;i=i+7&-8;D=i;i=i+400|0;r=i;i=i+4|0;i=i+7&-8;d=i;i=i+4|0;i=i+7&-8;o=i;i=i+4|0;i=i+7&-8;G=p+16|0;c[A>>2]=G;u=p+128|0;v=db(G|0,100,15056,(G=i,i=i+8|0,h[G>>3]=k,G)|0)|0;i=G;do{if(v>>>0>99>>>0){do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}G=Xa(2147483647,14472,0)|0;c[8330]=G}}while(0);v=kp(A,c[8330]|0,15056,(y=i,i=i+8|0,h[y>>3]=k,y)|0)|0;i=y;y=c[A>>2]|0;if((y|0)==0){Uu();y=c[A>>2]|0}G=Gu(v<<2)|0;w=G;if((G|0)!=0){u=w;break}Uu();u=0;w=0}else{w=0;y=0}}while(0);Lm(C,g);x=C|0;F=c[x>>2]|0;if(!((c[8714]|0)==-1)){c[z>>2]=34856;c[z+4>>2]=16;c[z+8>>2]=0;mm(34856,z,114)}G=(c[8715]|0)-1|0;z=c[F+8>>2]|0;do{if((c[F+12>>2]|0)-z>>2>>>0>G>>>0){F=c[z+(G<<2)>>2]|0;if((F|0)==0){break}z=F;G=c[A>>2]|0;Sc[c[(c[F>>2]|0)+48>>2]&15](z,G,G+v|0,u)|0;if((v|0)==0){A=0}else{A=(a[c[A>>2]|0]|0)==45}c[E>>2]=0;dv(s|0,0,12)|0;E=n;dv(E|0,0,12)|0;F=q;dv(F|0,0,12)|0;zr(f,A,C,l,m,t,s,n,q,B);C=D|0;f=c[B>>2]|0;if((v|0)>(f|0)){B=a[F]|0;if((B&1)==0){B=(B&255)>>>1}else{B=c[q+4>>2]|0}D=a[E]|0;if((D&1)==0){D=(D&255)>>>1}else{D=c[n+4>>2]|0}B=B+(v-f<<1|1)+D|0}else{B=a[F]|0;if((B&1)==0){B=(B&255)>>>1}else{B=c[q+4>>2]|0}D=a[E]|0;if((D&1)==0){D=(D&255)>>>1}else{D=c[n+4>>2]|0}B=B+2+D|0}B=B+f|0;do{if(B>>>0>100>>>0){G=Gu(B<<2)|0;B=G;if((G|0)!=0){C=B;break}Uu();C=0;B=0}else{B=0}}while(0);Ar(C,r,d,c[g+4>>2]|0,u,u+(v<<2)|0,z,A,l,c[m>>2]|0,c[t>>2]|0,s,n,q,f);c[o>>2]=c[e>>2];tp(b,o,C,c[r>>2]|0,c[d>>2]|0,g,j);if((B|0)!=0){Hu(B)}Cm(q);Cm(n);rm(s);Ul(c[x>>2]|0)|0;if((w|0)!=0){Hu(w)}if((y|0)==0){i=p;return}Hu(y);i=p;return}}while(0);G=pc(4)|0;lu(G);Fb(G|0,25544,156)}function zr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0;n=i;i=i+40|0;G=n|0;F=n+16|0;z=n+32|0;B=z;s=i;i=i+12|0;i=i+7&-8;E=i;i=i+4|0;i=i+7&-8;y=E;t=i;i=i+12|0;i=i+7&-8;r=i;i=i+12|0;i=i+7&-8;o=i;i=i+12|0;i=i+7&-8;A=i;i=i+4|0;i=i+7&-8;D=A;v=i;i=i+12|0;i=i+7&-8;w=i;i=i+4|0;i=i+7&-8;x=w;u=i;i=i+12|0;i=i+7&-8;q=i;i=i+12|0;i=i+7&-8;p=i;i=i+12|0;i=i+7&-8;e=c[e>>2]|0;if(b){if(!((c[8830]|0)==-1)){c[F>>2]=35320;c[F+4>>2]=16;c[F+8>>2]=0;mm(35320,F,114)}q=(c[8831]|0)-1|0;p=c[e+8>>2]|0;if(!((c[e+12>>2]|0)-p>>2>>>0>q>>>0)){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}q=c[p+(q<<2)>>2]|0;if((q|0)==0){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}p=q;u=c[q>>2]|0;if(d){Ec[c[u+44>>2]&127](B,p);C=c[z>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[q>>2]|0)+32>>2]&127](s,p);f=l;if((a[f]&1)==0){c[l+4>>2]=0;a[f]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);G=s;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;Cm(s)}else{Ec[c[u+40>>2]&127](y,p);C=c[E>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[q>>2]|0)+28>>2]&127](t,p);f=l;if((a[f]&1)==0){c[l+4>>2]=0;a[f]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);G=t;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;Cm(t)}l=q;G=Fc[c[(c[l>>2]|0)+12>>2]&255](p)|0;c[g>>2]=G;G=Fc[c[(c[l>>2]|0)+16>>2]&255](p)|0;c[h>>2]=G;Ec[c[(c[q>>2]|0)+20>>2]&127](r,p);h=j;if((a[h]&1)==0){a[j+1|0]=0;a[h]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);j=r;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;rm(r);Ec[c[(c[q>>2]|0)+24>>2]&127](o,p);j=k;if((a[j]&1)==0){c[k+4>>2]=0;a[j]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);G=o;c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;Cm(o);G=Fc[c[(c[l>>2]|0)+36>>2]&255](p)|0;c[m>>2]=G;i=n;return}else{if(!((c[8832]|0)==-1)){c[G>>2]=35328;c[G+4>>2]=16;c[G+8>>2]=0;mm(35328,G,114)}o=(c[8833]|0)-1|0;r=c[e+8>>2]|0;if(!((c[e+12>>2]|0)-r>>2>>>0>o>>>0)){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}r=c[r+(o<<2)>>2]|0;if((r|0)==0){G=pc(4)|0;b=G;lu(b);Fb(G|0,25544,156)}o=r;s=c[r>>2]|0;if(d){Ec[c[s+44>>2]&127](D,o);C=c[A>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[r>>2]|0)+32>>2]&127](v,o);f=l;if((a[f]&1)==0){c[l+4>>2]=0;a[f]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);G=v;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;Cm(v)}else{Ec[c[s+40>>2]&127](x,o);C=c[w>>2]|0;a[f]=C;C=C>>8;a[f+1|0]=C;C=C>>8;a[f+2|0]=C;C=C>>8;a[f+3|0]=C;Ec[c[(c[r>>2]|0)+28>>2]&127](u,o);f=l;if((a[f]&1)==0){c[l+4>>2]=0;a[f]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Fm(l,0);G=u;c[f>>2]=c[G>>2];c[f+4>>2]=c[G+4>>2];c[f+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;Cm(u)}l=r;G=Fc[c[(c[l>>2]|0)+12>>2]&255](o)|0;c[g>>2]=G;G=Fc[c[(c[l>>2]|0)+16>>2]&255](o)|0;c[h>>2]=G;Ec[c[(c[r>>2]|0)+20>>2]&127](q,o);h=j;if((a[h]&1)==0){a[j+1|0]=0;a[h]=0}else{a[c[j+8>>2]|0]=0;c[j+4>>2]=0}vm(j,0);j=q;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];dv(j|0,0,12)|0;rm(q);Ec[c[(c[r>>2]|0)+24>>2]&127](p,o);j=k;if((a[j]&1)==0){c[k+4>>2]=0;a[j]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Fm(k,0);G=p;c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];dv(G|0,0,12)|0;Cm(p);G=Fc[c[(c[l>>2]|0)+36>>2]&255](o)|0;c[m>>2]=G;i=n;return}}function Ar(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|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;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c[e>>2]=b;s=i;u=p;r=p+4|0;p=p+8|0;v=o;x=(f&512|0)==0;w=o+4|0;B=o+8|0;z=(q|0)>0;y=n;o=n+1|0;A=n+8|0;n=n+4|0;C=i;D=0;do{a:do{switch(a[k+D|0]|0){case 1:{c[d>>2]=c[e>>2];K=Qc[c[(c[s>>2]|0)+44>>2]&63](i,32)|0;L=c[e>>2]|0;c[e>>2]=L+4;c[L>>2]=K;break};case 2:{G=a[v]|0;F=(G&1)==0;if(F){E=(G&255)>>>1}else{E=c[w>>2]|0}if((E|0)==0|x){break a}if(F){H=(G&255)>>>1;G=w;I=w}else{I=c[B>>2]|0;H=c[w>>2]|0;G=I}F=G+(H<<2)|0;E=c[e>>2]|0;if((I|0)!=(F|0)){G=(G+(H-1<<2)+(-I|0)|0)>>>2;H=E;while(1){c[H>>2]=c[I>>2];I=I+4|0;if((I|0)==(F|0)){break}H=H+4|0}E=E+(G+1<<2)|0}c[e>>2]=E;break};case 4:{E=c[e>>2]|0;g=j?g+4|0:g;b:do{if(g>>>0<h>>>0){F=g;while(1){G=F+4|0;if(!(Hc[c[(c[C>>2]|0)+12>>2]&63](i,2048,c[F>>2]|0)|0)){break b}if(G>>>0<h>>>0){F=G}else{F=G;break}}}else{F=g}}while(0);if(z){do{if(F>>>0>g>>>0){G=q;I=c[e>>2]|0;while(1){F=F-4|0;H=I+4|0;c[I>>2]=c[F>>2];G=G-1|0;I=(G|0)>0;if(F>>>0>g>>>0&I){I=H}else{break}}c[e>>2]=H;if(I){t=34;break}I=c[e>>2]|0;c[e>>2]=I+4}else{G=q;t=34}}while(0);do{if((t|0)==34){t=0;H=Qc[c[(c[s>>2]|0)+44>>2]&63](i,48)|0;I=c[e>>2]|0;J=I+4|0;c[e>>2]=J;if((G|0)>0){L=G;K=I}else{break}while(1){c[K>>2]=H;L=L-1|0;if((L|0)>0){K=J;J=J+4|0}else{break}}c[e>>2]=I+(G+1<<2);I=I+(G<<2)|0}}while(0);c[I>>2]=l}if((F|0)==(g|0)){J=Qc[c[(c[s>>2]|0)+44>>2]&63](i,48)|0;L=c[e>>2]|0;K=L+4|0;c[e>>2]=K;c[L>>2]=J}else{H=a[y]|0;G=(H&1)==0;if(G){H=(H&255)>>>1}else{H=c[n>>2]|0}if((H|0)==0){J=0;I=0;H=-1}else{if(G){G=o}else{G=c[A>>2]|0}J=0;I=0;H=a[G]|0}while(1){K=c[e>>2]|0;do{if((J|0)==(H|0)){G=K+4|0;c[e>>2]=G;c[K>>2]=m;I=I+1|0;K=a[y]|0;J=(K&1)==0;if(J){K=(K&255)>>>1}else{K=c[n>>2]|0}if(!(I>>>0<K>>>0)){J=0;break}if(J){H=o}else{H=c[A>>2]|0}if((a[H+I|0]|0)==127){H=-1;J=0;break}if(J){H=o}else{H=c[A>>2]|0}H=a[H+I|0]|0;J=0}else{G=K}}while(0);F=F-4|0;L=c[F>>2]|0;K=G+4|0;c[e>>2]=K;c[G>>2]=L;if((F|0)==(g|0)){break}else{J=J+1|0}}}if((E|0)==(K|0)){break a}F=K-4|0;if(!(F>>>0>E>>>0)){break a}do{L=c[E>>2]|0;c[E>>2]=c[F>>2];c[F>>2]=L;E=E+4|0;F=F-4|0;}while(E>>>0<F>>>0);break};case 3:{F=a[u]|0;E=(F&1)==0;if(E){F=(F&255)>>>1}else{F=c[r>>2]|0}if((F|0)==0){break a}if(E){E=r}else{E=c[p>>2]|0}K=c[E>>2]|0;L=c[e>>2]|0;c[e>>2]=L+4;c[L>>2]=K;break};case 0:{c[d>>2]=c[e>>2];break};default:{}}}while(0);D=D+1|0;}while(D>>>0<4>>>0);h=a[u]|0;j=(h&1)==0;if(j){m=(h&255)>>>1}else{m=c[r>>2]|0}if(m>>>0>1>>>0){if(j){h=(h&255)>>>1;j=r}else{L=c[p>>2]|0;h=c[r>>2]|0;j=L;r=L}m=r+4|0;p=j+(h<<2)|0;r=c[e>>2]|0;if((m|0)!=(p|0)){h=(j+(h-1<<2)+(-m|0)|0)>>>2;j=r;while(1){c[j>>2]=c[m>>2];m=m+4|0;if((m|0)==(p|0)){break}else{j=j+4|0}}r=r+(h+1<<2)|0}c[e>>2]=r}f=f&176;if((f|0)==16){return}else if((f|0)==32){c[d>>2]=c[e>>2];return}else{c[d>>2]=b;return}}function Br(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0;p=i;i=i+32|0;v=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[v>>2];v=p|0;z=p+16|0;A=p+24|0;r=A;s=i;i=i+4|0;i=i+7&-8;d=i;i=i+4|0;i=i+7&-8;k=i;i=i+12|0;i=i+7&-8;l=i;i=i+12|0;i=i+7&-8;m=i;i=i+12|0;i=i+7&-8;x=i;i=i+4|0;i=i+7&-8;y=i;i=i+400|0;q=i;i=i+4|0;i=i+7&-8;t=i;i=i+4|0;i=i+7&-8;n=i;i=i+4|0;i=i+7&-8;Lm(z,g);o=z|0;u=c[o>>2]|0;if(!((c[8714]|0)==-1)){c[v>>2]=34856;c[v+4>>2]=16;c[v+8>>2]=0;mm(34856,v,114)}v=(c[8715]|0)-1|0;w=c[u+8>>2]|0;do{if((c[u+12>>2]|0)-w>>2>>>0>v>>>0){w=c[w+(v<<2)>>2]|0;if((w|0)==0){break}u=w;v=j;C=a[v]|0;B=(C&1)==0;if(B){C=(C&255)>>>1}else{C=c[j+4>>2]|0}if((C|0)==0){w=0}else{if(B){B=j+4|0}else{B=c[j+8>>2]|0}C=c[B>>2]|0;w=(C|0)==(Qc[c[(c[w>>2]|0)+44>>2]&63](u,45)|0)}c[A>>2]=0;dv(k|0,0,12)|0;A=l;dv(A|0,0,12)|0;B=m;dv(B|0,0,12)|0;zr(f,w,z,r,s,d,k,l,m,x);y=y|0;f=a[v]|0;C=(f&1)==0;if(C){z=(f&255)>>>1}else{z=c[j+4>>2]|0}x=c[x>>2]|0;if((z|0)>(x|0)){if(C){z=(f&255)>>>1}else{z=c[j+4>>2]|0}B=a[B]|0;if((B&1)==0){B=(B&255)>>>1}else{B=c[m+4>>2]|0}A=a[A]|0;if((A&1)==0){A=(A&255)>>>1}else{A=c[l+4>>2]|0}z=B+(z-x<<1|1)+A|0}else{z=a[B]|0;if((z&1)==0){z=(z&255)>>>1}else{z=c[m+4>>2]|0}A=a[A]|0;if((A&1)==0){A=(A&255)>>>1}else{A=c[l+4>>2]|0}z=z+2+A|0}z=z+x|0;do{if(z>>>0>100>>>0){C=Gu(z<<2)|0;z=C;if((C|0)!=0){y=z;break}Uu();y=0;z=0;f=a[v]|0}else{z=0}}while(0);if((f&1)==0){v=(f&255)>>>1;j=j+4|0}else{v=c[j+4>>2]|0;j=c[j+8>>2]|0}Ar(y,q,t,c[g+4>>2]|0,j,j+(v<<2)|0,u,w,r,c[s>>2]|0,c[d>>2]|0,k,l,m,x);c[n>>2]=c[e>>2];tp(b,n,y,c[q>>2]|0,c[t>>2]|0,g,h);if((z|0)==0){Cm(m);Cm(l);rm(k);C=c[o>>2]|0;C=C|0;Ul(C)|0;i=p;return}Hu(z);Cm(m);Cm(l);rm(k);C=c[o>>2]|0;C=C|0;Ul(C)|0;i=p;return}}while(0);C=pc(4)|0;lu(C);Fb(C|0,25544,156)}function Cr(a){a=a|0;Sl(a|0);Pu(a);return}function Dr(a){a=a|0;Sl(a|0);return}function Er(b,d,e){b=b|0;d=d|0;e=e|0;if((a[d]&1)==0){d=d+1|0}else{d=c[d+8>>2]|0}e=sc(d|0,1)|0;return e>>>(((e|0)!=-1|0)>>>0)|0}function Fr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+16|0;j=d|0;l=j;dv(l|0,0,12)|0;m=a[h]|0;if((m&1)==0){n=(m&255)>>>1;m=h+1|0;h=h+1|0}else{o=c[h+8>>2]|0;n=c[h+4>>2]|0;m=o;h=o}h=h+n|0;do{if(m>>>0<h>>>0){do{wm(j,a[m]|0);m=m+1|0;}while(m>>>0<h>>>0);e=(e|0)==-1?-1:e<<1;if((a[l]&1)==0){k=10;break}l=c[j+8>>2]|0}else{e=(e|0)==-1?-1:e<<1;k=10}}while(0);if((k|0)==10){l=j+1|0}g=qb(e|0,f|0,g|0,l|0)|0;dv(b|0,0,12)|0;o=ev(g|0)|0;f=g+o|0;if((o|0)<=0){rm(j);i=d;return}do{wm(b,a[g]|0);g=g+1|0;}while(g>>>0<f>>>0);rm(j);i=d;return}function Gr(a,b){a=a|0;b=b|0;Yb(((b|0)==-1?-1:b<<1)|0)|0;return}function Hr(a){a=a|0;Sl(a|0);Pu(a);return}function Ir(a){a=a|0;Sl(a|0);return}function Jr(b,d,e){b=b|0;d=d|0;e=e|0;if((a[d]&1)==0){d=d+1|0}else{d=c[d+8>>2]|0}e=sc(d|0,1)|0;return e>>>(((e|0)!=-1|0)>>>0)|0}function Kr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,A=0,B=0;d=i;i=i+240|0;w=d|0;z=d+8|0;q=d+40|0;r=d+48|0;p=d+56|0;o=d+64|0;l=d+192|0;k=d+200|0;m=d+208|0;s=d+224|0;n=d+232|0;t=m;dv(t|0,0,12)|0;c[s+4>>2]=0;c[s>>2]=21168;u=a[h]|0;if((u&1)==0){u=(u&255)>>>1;y=h+4|0;h=h+4|0}else{A=c[h+8>>2]|0;u=c[h+4>>2]|0;y=A;h=A}u=h+(u<<2)|0;h=z|0;v=w;c[w>>2]=0;c[w+4>>2]=0;a:do{if(y>>>0<u>>>0){w=s|0;x=s;z=z+32|0;A=21168;while(1){c[r>>2]=y;B=(Vc[c[A+12>>2]&31](w,v,y,u,r,h,z,q)|0)==2;A=c[r>>2]|0;if(B|(A|0)==(y|0)){break}if(h>>>0<(c[q>>2]|0)>>>0){y=h;do{wm(m,a[y]|0);y=y+1|0;}while(y>>>0<(c[q>>2]|0)>>>0);y=c[r>>2]|0}else{y=A}if(!(y>>>0<u>>>0)){break a}A=c[x>>2]|0}dr(8296)}}while(0);Sl(s|0);if((a[t]&1)==0){q=m+1|0}else{q=c[m+8>>2]|0}s=qb(((e|0)==-1?-1:e<<1)|0,f|0,g|0,q|0)|0;dv(b|0,0,12)|0;c[n+4>>2]=0;c[n>>2]=21112;B=ev(s|0)|0;e=s+B|0;g=p;c[p>>2]=0;c[p+4>>2]=0;if((B|0)<=0){B=n|0;Sl(B);rm(m);i=d;return}q=n|0;p=n;f=e;r=o|0;o=o+128|0;t=21112;while(1){c[k>>2]=s;B=(Vc[c[t+16>>2]&31](q,g,s,(f-s|0)>32?s+32|0:e,k,r,o,l)|0)==2;t=c[k>>2]|0;if(B|(t|0)==(s|0)){break}if(r>>>0<(c[l>>2]|0)>>>0){s=r;do{Gm(b,c[s>>2]|0);s=s+4|0;}while(s>>>0<(c[l>>2]|0)>>>0);s=c[k>>2]|0}else{s=t}if(!(s>>>0<e>>>0)){j=37;break}t=c[p>>2]|0}if((j|0)==37){B=n|0;Sl(B);rm(m);i=d;return}dr(8296)}function Lr(a,b){a=a|0;b=b|0;Yb(((b|0)==-1?-1:b<<1)|0)|0;return}function Mr(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=20632;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){f=b|0;Sl(f);return}pb(c[d>>2]|0);f=b|0;Sl(f);return}function Nr(a){a=a|0;a=pc(8)|0;Vl(a,14768);c[a>>2]=19568;Fb(a|0,25576,40)}function Or(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;C=i;i=i+448|0;f=C|0;x=C+16|0;g=C+32|0;j=C+48|0;k=C+64|0;l=C+80|0;m=C+96|0;n=C+112|0;o=C+128|0;p=C+144|0;q=C+160|0;r=C+176|0;s=C+192|0;t=C+208|0;u=C+224|0;v=C+240|0;w=C+256|0;e=C+272|0;y=C+288|0;z=C+304|0;A=C+320|0;B=C+336|0;D=C+352|0;E=C+368|0;F=C+384|0;G=C+400|0;H=C+416|0;h=C+432|0;c[b+4>>2]=d-1;c[b>>2]=20888;I=b+8|0;d=b+12|0;J=b+136|0;a[J]=1;K=b+24|0;c[d>>2]=K;c[I>>2]=K;c[b+16>>2]=J;J=28;do{if((K|0)==0){K=0}else{c[K>>2]=0;K=c[d>>2]|0}K=K+4|0;c[d>>2]=K;J=J-1|0;}while((J|0)!=0);pm(b+144|0,14472,1);I=c[I>>2]|0;J=c[d>>2]|0;if((J|0)!=(I|0)){c[d>>2]=J+(~((J-4+(-I|0)|0)>>>2)<<2)}c[8387]=0;c[8386]=20592;if(!((c[8636]|0)==-1)){c[H>>2]=34544;c[H+4>>2]=16;c[H+8>>2]=0;mm(34544,H,114)}Pr(b,33544,(c[8637]|0)-1|0);c[8385]=0;c[8384]=20552;if(!((c[8634]|0)==-1)){c[G>>2]=34536;c[G+4>>2]=16;c[G+8>>2]=0;mm(34536,G,114)}Pr(b,33536,(c[8635]|0)-1|0);c[8441]=0;c[8440]=21e3;c[8442]=0;a[33772]=0;K=ob()|0;c[8442]=c[K>>2];if(!((c[8716]|0)==-1)){c[F>>2]=34864;c[F+4>>2]=16;c[F+8>>2]=0;mm(34864,F,114)}Pr(b,33760,(c[8717]|0)-1|0);c[8439]=0;c[8438]=20920;if(!((c[8714]|0)==-1)){c[E>>2]=34856;c[E+4>>2]=16;c[E+8>>2]=0;mm(34856,E,114)}Pr(b,33752,(c[8715]|0)-1|0);c[8393]=0;c[8392]=20688;if(!((c[8640]|0)==-1)){c[D>>2]=34560;c[D+4>>2]=16;c[D+8>>2]=0;mm(34560,D,114)}Pr(b,33568,(c[8641]|0)-1|0);c[8389]=0;c[8388]=20632;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}K=Xa(2147483647,14472,0)|0;c[8330]=K}}while(0);c[8390]=c[8330];if(!((c[8638]|0)==-1)){c[B>>2]=34552;c[B+4>>2]=16;c[B+8>>2]=0;mm(34552,B,114)}Pr(b,33552,(c[8639]|0)-1|0);c[8395]=0;c[8394]=20744;if(!((c[8642]|0)==-1)){c[A>>2]=34568;c[A+4>>2]=16;c[A+8>>2]=0;mm(34568,A,114)}Pr(b,33576,(c[8643]|0)-1|0);c[8397]=0;c[8396]=20800;if(!((c[8644]|0)==-1)){c[z>>2]=34576;c[z+4>>2]=16;c[z+8>>2]=0;mm(34576,z,114)}Pr(b,33584,(c[8645]|0)-1|0);c[8367]=0;c[8366]=20096;a[33472]=46;a[33473]=44;dv(33476,0,12)|0;if(!((c[8620]|0)==-1)){c[y>>2]=34480;c[y+4>>2]=16;c[y+8>>2]=0;mm(34480,y,114)}Pr(b,33464,(c[8621]|0)-1|0);c[8359]=0;c[8358]=20048;c[8360]=46;c[8361]=44;dv(33448,0,12)|0;if(!((c[8618]|0)==-1)){c[e>>2]=34472;c[e+4>>2]=16;c[e+8>>2]=0;mm(34472,e,114)}Pr(b,33432,(c[8619]|0)-1|0);c[8383]=0;c[8382]=20480;if(!((c[8632]|0)==-1)){c[w>>2]=34528;c[w+4>>2]=16;c[w+8>>2]=0;mm(34528,w,114)}Pr(b,33528,(c[8633]|0)-1|0);c[8381]=0;c[8380]=20408;if(!((c[8630]|0)==-1)){c[v>>2]=34520;c[v+4>>2]=16;c[v+8>>2]=0;mm(34520,v,114)}Pr(b,33520,(c[8631]|0)-1|0);c[8379]=0;c[8378]=20344;if(!((c[8628]|0)==-1)){c[u>>2]=34512;c[u+4>>2]=16;c[u+8>>2]=0;mm(34512,u,114)}Pr(b,33512,(c[8629]|0)-1|0);c[8377]=0;c[8376]=20280;if(!((c[8626]|0)==-1)){c[t>>2]=34504;c[t+4>>2]=16;c[t+8>>2]=0;mm(34504,t,114)}Pr(b,33504,(c[8627]|0)-1|0);c[8451]=0;c[8450]=21928;if(!((c[8836]|0)==-1)){c[s>>2]=35344;c[s+4>>2]=16;c[s+8>>2]=0;mm(35344,s,114)}Pr(b,33800,(c[8837]|0)-1|0);c[8449]=0;c[8448]=21864;if(!((c[8834]|0)==-1)){c[r>>2]=35336;c[r+4>>2]=16;c[r+8>>2]=0;mm(35336,r,114)}Pr(b,33792,(c[8835]|0)-1|0);c[8447]=0;c[8446]=21800;if(!((c[8832]|0)==-1)){c[q>>2]=35328;c[q+4>>2]=16;c[q+8>>2]=0;mm(35328,q,114)}Pr(b,33784,(c[8833]|0)-1|0);c[8445]=0;c[8444]=21736;if(!((c[8830]|0)==-1)){c[p>>2]=35320;c[p+4>>2]=16;c[p+8>>2]=0;mm(35320,p,114)}Pr(b,33776,(c[8831]|0)-1|0);c[8341]=0;c[8340]=19752;if(!((c[8608]|0)==-1)){c[o>>2]=34432;c[o+4>>2]=16;c[o+8>>2]=0;mm(34432,o,114)}Pr(b,33360,(c[8609]|0)-1|0);c[8339]=0;c[8338]=19712;if(!((c[8606]|0)==-1)){c[n>>2]=34424;c[n+4>>2]=16;c[n+8>>2]=0;mm(34424,n,114)}Pr(b,33352,(c[8607]|0)-1|0);c[8337]=0;c[8336]=19672;if(!((c[8604]|0)==-1)){c[m>>2]=34416;c[m+4>>2]=16;c[m+8>>2]=0;mm(34416,m,114)}Pr(b,33344,(c[8605]|0)-1|0);c[8335]=0;c[8334]=19632;if(!((c[8602]|0)==-1)){c[l>>2]=34408;c[l+4>>2]=16;c[l+8>>2]=0;mm(34408,l,114)}Pr(b,33336,(c[8603]|0)-1|0);c[8355]=0;c[8354]=19952;c[8356]=2e4;if(!((c[8616]|0)==-1)){c[k>>2]=34464;c[k+4>>2]=16;c[k+8>>2]=0;mm(34464,k,114)}Pr(b,33416,(c[8617]|0)-1|0);c[8351]=0;c[8350]=19856;c[8352]=19904;if(!((c[8614]|0)==-1)){c[j>>2]=34456;c[j+4>>2]=16;c[j+8>>2]=0;mm(34456,j,114)}Pr(b,33400,(c[8615]|0)-1|0);c[8347]=0;c[8346]=20856;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}K=Xa(2147483647,14472,0)|0;c[8330]=K}}while(0);c[8348]=c[8330];c[8346]=19824;if(!((c[8612]|0)==-1)){c[g>>2]=34448;c[g+4>>2]=16;c[g+8>>2]=0;mm(34448,g,114)}Pr(b,33384,(c[8613]|0)-1|0);c[8343]=0;c[8342]=20856;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}K=Xa(2147483647,14472,0)|0;c[8330]=K}}while(0);c[8344]=c[8330];c[8342]=19792;if(!((c[8610]|0)==-1)){c[x>>2]=34440;c[x+4>>2]=16;c[x+8>>2]=0;mm(34440,x,114)}Pr(b,33368,(c[8611]|0)-1|0);c[8375]=0;c[8374]=20184;if(!((c[8624]|0)==-1)){c[f>>2]=34496;c[f+4>>2]=16;c[f+8>>2]=0;mm(34496,f,114)}Pr(b,33496,(c[8625]|0)-1|0);c[8373]=0;c[8372]=20144;if(!((c[8622]|0)==-1)){c[h>>2]=34488;c[h+4>>2]=16;c[h+8>>2]=0;mm(34488,h,114)}Pr(b,33488,(c[8623]|0)-1|0);i=C;return}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;Tl(b|0);f=a+8|0;e=a+12|0;g=c[e>>2]|0;a=f|0;h=c[a>>2]|0;i=g-h>>2;do{if(!(i>>>0>d>>>0)){j=d+1|0;if(i>>>0<j>>>0){Tt(f,j-i|0);h=c[a>>2]|0;break}if(!(i>>>0>j>>>0)){break}f=h+(j<<2)|0;if((g|0)==(f|0)){break}c[e>>2]=g+(~((g-4+(-f|0)|0)>>>2)<<2)}}while(0);e=c[h+(d<<2)>>2]|0;if((e|0)==0){j=h;j=j+(d<<2)|0;c[j>>2]=b;return}Ul(e|0)|0;j=c[a>>2]|0;j=j+(d<<2)|0;c[j>>2]=b;return}function Qr(a){a=a|0;Rr(a);Pu(a);return}function Rr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=20888;d=b+12|0;h=c[d>>2]|0;e=b+8|0;g=c[e>>2]|0;if((h|0)!=(g|0)){f=0;do{i=c[g+(f<<2)>>2]|0;if((i|0)!=0){Ul(i|0)|0;h=c[d>>2]|0;g=c[e>>2]|0}f=f+1|0;}while(f>>>0<h-g>>2>>>0)}rm(b+144|0);e=c[e>>2]|0;if((e|0)==0){i=b|0;Sl(i);return}f=c[d>>2]|0;if((f|0)!=(e|0)){c[d>>2]=f+(~((f-4+(-e|0)|0)>>>2)<<2)}if((b+24|0)==(e|0)){a[b+136|0]=0;i=b|0;Sl(i);return}else{Pu(e);i=b|0;Sl(i);return}}function Sr(){var b=0;if((a[51792]|0)!=0){b=c[8322]|0;return b|0}if((ub(51792)|0)==0){b=c[8322]|0;return b|0}do{if((a[51800]|0)==0){if((ub(51800)|0)==0){break}Or(33592,1);c[8326]=33592;c[8324]=33304}}while(0);b=c[c[8324]>>2]|0;c[8328]=b;Tl(b|0);c[8322]=33312;b=c[8322]|0;return b|0}function Tr(a){a=a|0;var b=0;b=Sr()|0;b=c[b>>2]|0;c[a>>2]=b;Tl(b|0);return}function Ur(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;Tl(b|0);return}function Vr(a){a=a|0;Ul(c[a>>2]|0)|0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d|0;a=c[a>>2]|0;f=b|0;if(!((c[f>>2]|0)==-1)){c[e>>2]=b;c[e+4>>2]=16;c[e+8>>2]=0;mm(f,e,114)}e=(c[b+4>>2]|0)-1|0;b=c[a+8>>2]|0;if(!((c[a+12>>2]|0)-b>>2>>>0>e>>>0)){f=pc(4)|0;e=f;lu(e);Fb(f|0,25544,156)}a=c[b+(e<<2)>>2]|0;if((a|0)==0){f=pc(4)|0;e=f;lu(e);Fb(f|0,25544,156)}else{i=d;return a|0}return 0}function Xr(a){a=a|0;Sl(a|0);Pu(a);return}function Yr(a){a=a|0;if((a|0)==0){return}Dc[c[(c[a>>2]|0)+4>>2]&511](a);return}function Zr(a){a=a|0;c[a+4>>2]=(I=c[8646]|0,c[8646]=I+1,I)+1;return}function _r(a){a=a|0;Sl(a|0);Pu(a);return}function $r(a,d,e){a=a|0;d=d|0;e=e|0;if(!(e>>>0<128>>>0)){a=0;return a|0}a=ob()|0;a=(b[(c[a>>2]|0)+(e<<1)>>1]&d)<<16>>16!=0;return a|0}function as(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;if((d|0)==(e|0)){a=d;return a|0}while(1){a=c[d>>2]|0;if(a>>>0<128>>>0){g=ob()|0;a=b[(c[g>>2]|0)+(a<<1)>>1]|0}else{a=0}b[f>>1]=a;d=d+4|0;if((d|0)==(e|0)){break}else{f=f+2|0}}return e|0}function bs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;if((e|0)==(f|0)){a=e;return a|0}while(1){a=c[e>>2]|0;if(a>>>0<128>>>0){g=ob()|0;if(!((b[(c[g>>2]|0)+(a<<1)>>1]&d)<<16>>16==0)){f=e;d=7;break}}e=e+4|0;if((e|0)==(f|0)){d=7;break}}if((d|0)==7){return f|0}return 0}function cs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if((e|0)==(f|0)){g=e;return g|0}while(1){a=c[e>>2]|0;if(!(a>>>0<128>>>0)){f=e;d=7;break}h=ob()|0;g=e+4|0;if((b[(c[h>>2]|0)+(a<<1)>>1]&d)<<16>>16==0){f=e;d=7;break}if((g|0)==(f|0)){d=7;break}else{e=g}}if((d|0)==7){return f|0}return 0}function ds(a,b){a=a|0;b=b|0;if(!(b>>>0<128>>>0)){a=b;return a|0}a=tc()|0;a=c[(c[a>>2]|0)+(b<<2)>>2]|0;return a|0}function es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0)){a=b;return a|0}do{a=c[b>>2]|0;if(a>>>0<128>>>0){e=tc()|0;a=c[(c[e>>2]|0)+(a<<2)>>2]|0}c[b>>2]=a;b=b+4|0;}while((b|0)!=(d|0));return d|0}function fs(a,b){a=a|0;b=b|0;if(!(b>>>0<128>>>0)){a=b;return a|0}a=uc()|0;a=c[(c[a>>2]|0)+(b<<2)>>2]|0;return a|0}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0)){a=b;return a|0}do{a=c[b>>2]|0;if(a>>>0<128>>>0){e=uc()|0;a=c[(c[e>>2]|0)+(a<<2)>>2]|0}c[b>>2]=a;b=b+4|0;}while((b|0)!=(d|0));return d|0}function hs(a,b){a=a|0;b=b|0;return b<<24>>24|0}function is(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)==(e|0)){b=d;return b|0}while(1){c[f>>2]=a[d]|0;d=d+1|0;if((d|0)==(e|0)){break}else{f=f+4|0}}return e|0}function js(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128>>>0?b&255:c)|0}function ks(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;if((d|0)==(e|0)){i=d;return i|0}b=((e-4+(-d|0)|0)>>>2)+1|0;h=d;while(1){i=c[h>>2]|0;a[g]=i>>>0<128>>>0?i&255:f;h=h+4|0;if((h|0)==(e|0)){break}else{g=g+1|0}}i=d+(b<<2)|0;return i|0}function ls(b){b=b|0;var d=0;c[b>>2]=21e3;d=c[b+8>>2]|0;do{if((d|0)!=0){if((a[b+12|0]|0)==0){break}Qu(d)}}while(0);Sl(b|0);Pu(b);return}function ms(b){b=b|0;var d=0;c[b>>2]=21e3;d=c[b+8>>2]|0;do{if((d|0)!=0){if((a[b+12|0]|0)==0){break}Qu(d)}}while(0);Sl(b|0);return}function ns(a,b){a=a|0;b=b|0;if(!(b<<24>>24>-1)){a=b;return a|0}a=tc()|0;a=c[(c[a>>2]|0)+((b&255)<<2)>>2]&255;return a|0}function os(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((d|0)==(e|0)){b=d;return b|0}do{b=a[d]|0;if(b<<24>>24>-1){f=tc()|0;b=c[(c[f>>2]|0)+(b<<24>>24<<2)>>2]&255}a[d]=b;d=d+1|0;}while((d|0)!=(e|0));return e|0}function ps(a,b){a=a|0;b=b|0;if(!(b<<24>>24>-1)){a=b;return a|0}a=uc()|0;a=c[(c[a>>2]|0)+(b<<24>>24<<2)>>2]&255;return a|0}function qs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((d|0)==(e|0)){b=d;return b|0}do{b=a[d]|0;if(b<<24>>24>-1){f=uc()|0;b=c[(c[f>>2]|0)+(b<<24>>24<<2)>>2]&255}a[d]=b;d=d+1|0;}while((d|0)!=(e|0));return e|0}function rs(a,b){a=a|0;b=b|0;return b|0}function ss(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)==(d|0)){b=c;return b|0}while(1){a[e]=a[c]|0;c=c+1|0;if((c|0)==(d|0)){break}else{e=e+1|0}}return d|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function us(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)==(d|0)){b=c;return b|0}while(1){b=a[c]|0;a[f]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0)){break}else{f=f+1|0}}return d|0}function vs(a){a=a|0;Sl(a|0);Pu(a);return}function ws(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function xs(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function ys(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function zs(a){a=a|0;return 1}function As(a){a=a|0;return 1}function Bs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;c=d-c|0;return(c>>>0<e>>>0?c:e)|0}function Cs(a){a=a|0;return 1}function Ds(a){a=a|0;Mr(a);Pu(a);return}function Es(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+8|0;n=l|0;m=n;q=i;i=i+4|0;i=i+7&-8;o=(e|0)==(f|0);a:do{if(o){c[k>>2]=h;c[g>>2]=e}else{r=e;while(1){p=r+4|0;if((c[r>>2]|0)==0){break}if((p|0)==(f|0)){r=f;break}else{r=p}}c[k>>2]=h;c[g>>2]=e;if(o|(h|0)==(j|0)){break}o=d;p=j;b=b+8|0;q=q|0;while(1){s=c[o+4>>2]|0;c[n>>2]=c[o>>2];c[n+4>>2]=s;s=bc(c[b>>2]|0)|0;t=eu(h,g,r-e>>2,p-h|0,d)|0;if((s|0)!=0){bc(s|0)|0}if((t|0)==(-1|0)){d=16;break}else if((t|0)==0){g=1;d=51;break}h=(c[k>>2]|0)+t|0;c[k>>2]=h;if((h|0)==(j|0)){d=49;break}if((r|0)==(f|0)){r=f;e=c[g>>2]|0}else{h=bc(c[b>>2]|0)|0;e=du(q,0,d)|0;if((h|0)!=0){bc(h|0)|0}if((e|0)==-1){g=2;d=51;break}r=c[k>>2]|0;if(e>>>0>(p-r|0)>>>0){g=1;d=51;break}b:do{if((e|0)!=0){h=q;while(1){t=a[h]|0;c[k>>2]=r+1;a[r]=t;e=e-1|0;if((e|0)==0){break b}h=h+1|0;r=c[k>>2]|0}}}while(0);e=(c[g>>2]|0)+4|0;c[g>>2]=e;c:do{if((e|0)==(f|0)){r=f}else{r=e;while(1){h=r+4|0;if((c[r>>2]|0)==0){break c}if((h|0)==(f|0)){r=f;break}else{r=h}}}}while(0);h=c[k>>2]|0}if((e|0)==(f|0)|(h|0)==(j|0)){break a}}if((d|0)==16){c[k>>2]=h;d:do{if((e|0)!=(c[g>>2]|0)){do{d=c[e>>2]|0;f=bc(c[b>>2]|0)|0;d=du(h,d,m)|0;if((f|0)!=0){bc(f|0)|0}if((d|0)==-1){break d}h=(c[k>>2]|0)+d|0;c[k>>2]=h;e=e+4|0;}while((e|0)!=(c[g>>2]|0))}}while(0);c[g>>2]=e;t=2;i=l;return t|0}else if((d|0)==49){e=c[g>>2]|0;break}else if((d|0)==51){i=l;return g|0}}}while(0);t=(e|0)!=(f|0)|0;i=l;return t|0}function Fs(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+8|0;n=l|0;m=n;o=(e|0)==(f|0);a:do{if(o){c[k>>2]=h;c[g>>2]=e}else{r=e;while(1){p=r+1|0;if((a[r]|0)==0){break}if((p|0)==(f|0)){r=f;break}else{r=p}}c[k>>2]=h;c[g>>2]=e;if(o|(h|0)==(j|0)){break}p=d;o=j;b=b+8|0;while(1){q=c[p+4>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=q;q=r;t=bc(c[b>>2]|0)|0;s=au(h,g,q-e|0,o-h>>2,d)|0;if((t|0)!=0){bc(t|0)|0}if((s|0)==(-1|0)){n=16;break}else if((s|0)==0){f=2;n=50;break}h=(c[k>>2]|0)+(s<<2)|0;c[k>>2]=h;if((h|0)==(j|0)){n=48;break}e=c[g>>2]|0;if((r|0)==(f|0)){r=f}else{q=bc(c[b>>2]|0)|0;h=$t(h,e,1,d)|0;if((q|0)!=0){bc(q|0)|0}if((h|0)!=0){f=2;n=50;break}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;b:do{if((e|0)==(f|0)){r=f}else{r=e;while(1){q=r+1|0;if((a[r]|0)==0){break b}if((q|0)==(f|0)){r=f;break}else{r=q}}}}while(0);h=c[k>>2]|0}if((e|0)==(f|0)|(h|0)==(j|0)){break a}}if((n|0)==16){c[k>>2]=h;c:do{if((e|0)!=(c[g>>2]|0)){while(1){n=bc(c[b>>2]|0)|0;j=$t(h,e,q-e|0,m)|0;if((n|0)!=0){bc(n|0)|0}if((j|0)==0){e=e+1|0}else if((j|0)==(-1|0)){n=27;break}else if((j|0)==(-2|0)){n=28;break}else{e=e+j|0}h=(c[k>>2]|0)+4|0;c[k>>2]=h;if((e|0)==(c[g>>2]|0)){break c}}if((n|0)==27){c[g>>2]=e;t=2;i=l;return t|0}else if((n|0)==28){c[g>>2]=e;t=1;i=l;return t|0}}}while(0);c[g>>2]=e;t=(e|0)!=(f|0)|0;i=l;return t|0}else if((n|0)==48){e=c[g>>2]|0;break}else if((n|0)==50){i=l;return f|0}}}while(0);t=(e|0)!=(f|0)|0;i=l;return t|0}function Gs(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;i=i+8|0;c[g>>2]=e;e=h|0;b=bc(c[b+8>>2]|0)|0;d=du(e,0,d)|0;if((b|0)!=0){bc(b|0)|0}if((d|0)==(-1|0)|(d|0)==0){b=2;i=h;return b|0}b=d-1|0;d=c[g>>2]|0;if(b>>>0>(f-d|0)>>>0){b=1;i=h;return b|0}if((b|0)==0){b=0;i=h;return b|0}else{f=b}while(1){b=a[e]|0;c[g>>2]=d+1;a[d]=b;f=f-1|0;if((f|0)==0){g=0;break}e=e+1|0;d=c[g>>2]|0}i=h;return g|0}function Hs(a){a=a|0;var b=0,d=0;a=a+8|0;d=bc(c[a>>2]|0)|0;b=cu(0,0,4)|0;if((d|0)!=0){bc(d|0)|0}if((b|0)!=0){d=-1;return d|0}a=c[a>>2]|0;if((a|0)==0){d=1;return d|0}a=bc(a|0)|0;if((a|0)==0){d=0;return d|0}bc(a|0)|0;d=0;return d|0}function Is(a){a=a|0;return 0}function Js(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((f|0)==0|(d|0)==(e|0)){k=0;return k|0}g=e;a=a+8|0;i=0;h=0;while(1){k=bc(c[a>>2]|0)|0;j=_t(d,g-d|0,b)|0;if((k|0)!=0){bc(k|0)|0}if((j|0)==0){k=1;d=d+1|0}else if((j|0)==(-1|0)|(j|0)==(-2|0)){f=15;break}else{k=j;d=d+j|0}i=k+i|0;h=h+1|0;if(h>>>0>=f>>>0|(d|0)==(e|0)){f=15;break}}if((f|0)==15){return i|0}return 0}function Ks(a){a=a|0;a=c[a+8>>2]|0;if((a|0)==0){a=1;return a|0}a=bc(a|0)|0;if((a|0)==0){a=4;return a|0}bc(a|0)|0;a=4;return a|0}function Ls(a){a=a|0;Sl(a|0);Pu(a);return}function Ms(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;a=i;i=i+16|0;l=a|0;k=a+8|0;c[l>>2]=d;c[k>>2]=g;b=Ns(d,e,l,g,h,k,1114111,0)|0;c[f>>2]=d+((c[l>>2]|0)-d>>1<<1);c[j>>2]=g+((c[k>>2]|0)-g);i=a;return b|0}function Ns(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;do{if((l&2|0)!=0){if((i-h|0)<3){n=1;return n|0}else{c[j>>2]=h+1;a[h]=-17;n=c[j>>2]|0;c[j>>2]=n+1;a[n]=-69;n=c[j>>2]|0;c[j>>2]=n+1;a[n]=-65;break}}}while(0);h=f;m=c[g>>2]|0;if(!(m>>>0<f>>>0)){n=0;return n|0}a:while(1){d=b[m>>1]|0;l=d&65535;if(l>>>0>k>>>0){f=2;k=26;break}do{if((d&65535)>>>0<128>>>0){l=c[j>>2]|0;if((i-l|0)<1){f=1;k=26;break a}c[j>>2]=l+1;a[l]=d}else{if((d&65535)>>>0<2048>>>0){d=c[j>>2]|0;if((i-d|0)<2){f=1;k=26;break a}c[j>>2]=d+1;a[d]=l>>>6|192;n=c[j>>2]|0;c[j>>2]=n+1;a[n]=l&63|128;break}if((d&65535)>>>0<55296>>>0){d=c[j>>2]|0;if((i-d|0)<3){f=1;k=26;break a}c[j>>2]=d+1;a[d]=l>>>12|224;n=c[j>>2]|0;c[j>>2]=n+1;a[n]=l>>>6&63|128;n=c[j>>2]|0;c[j>>2]=n+1;a[n]=l&63|128;break}if(!((d&65535)>>>0<56320>>>0)){if((d&65535)>>>0<57344>>>0){f=2;k=26;break a}d=c[j>>2]|0;if((i-d|0)<3){f=1;k=26;break a}c[j>>2]=d+1;a[d]=l>>>12|224;n=c[j>>2]|0;c[j>>2]=n+1;a[n]=l>>>6&63|128;n=c[j>>2]|0;c[j>>2]=n+1;a[n]=l&63|128;break}if((h-m|0)<4){f=1;k=26;break a}d=m+2|0;n=e[d>>1]|0;if((n&64512|0)!=56320){f=2;k=26;break a}if((i-(c[j>>2]|0)|0)<4){f=1;k=26;break a}m=l&960;if(((m<<10)+65536|l<<10&64512|n&1023)>>>0>k>>>0){f=2;k=26;break a}c[g>>2]=d;d=(m>>>6)+1|0;m=c[j>>2]|0;c[j>>2]=m+1;a[m]=d>>>2|240;m=c[j>>2]|0;c[j>>2]=m+1;a[m]=l>>>2&15|d<<4&48|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m]=l<<4&48|n>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m]=n&63|128}}while(0);m=(c[g>>2]|0)+2|0;c[g>>2]=m;if(!(m>>>0<f>>>0)){f=0;k=26;break}}if((k|0)==26){return f|0}return 0}function Os(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;a=i;i=i+16|0;l=a|0;k=a+8|0;c[l>>2]=d;c[k>>2]=g;b=Ps(d,e,l,g,h,k,1114111,0)|0;c[f>>2]=d+((c[l>>2]|0)-d);c[j>>2]=g+((c[k>>2]|0)-g>>1<<1);i=a;return b|0}function Ps(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;c[g>>2]=e;c[j>>2]=h;n=c[g>>2]|0;do{if((l&4|0)!=0){if((f-n|0)<=2){break}if(!((a[n]|0)==-17)){break}if(!((a[n+1|0]|0)==-69)){break}if(!((a[n+2|0]|0)==-65)){break}n=n+3|0;c[g>>2]=n}}while(0);a:do{if(n>>>0<f>>>0){e=f;l=i;h=c[j>>2]|0;b:while(1){if(!(h>>>0<i>>>0)){break a}o=a[n]|0;m=o&255;if(m>>>0>k>>>0){f=2;k=41;break}do{if(o<<24>>24>-1){b[h>>1]=o&255;c[g>>2]=n+1}else{if((o&255)>>>0<194>>>0){f=2;k=41;break b}if((o&255)>>>0<224>>>0){if((e-n|0)<2){f=1;k=41;break b}o=d[n+1|0]|0;if((o&192|0)!=128){f=2;k=41;break b}m=o&63|m<<6&1984;if(m>>>0>k>>>0){f=2;k=41;break b}b[h>>1]=m;c[g>>2]=n+2;break}if((o&255)>>>0<240>>>0){if((e-n|0)<3){f=1;k=41;break b}o=a[n+1|0]|0;p=a[n+2|0]|0;if((m|0)==224){if(!((o&-32)<<24>>24==-96)){f=2;k=41;break b}}else if((m|0)==237){if(!((o&-32)<<24>>24==-128)){f=2;k=41;break b}}else{if(!((o&-64)<<24>>24==-128)){f=2;k=41;break b}}p=p&255;if((p&192|0)!=128){f=2;k=41;break b}m=(o&255)<<6&4032|m<<12|p&63;if((m&65535)>>>0>k>>>0){f=2;k=41;break b}b[h>>1]=m;c[g>>2]=n+3;break}if(!((o&255)>>>0<245>>>0)){f=2;k=41;break b}if((e-n|0)<4){f=1;k=41;break b}o=a[n+1|0]|0;p=a[n+2|0]|0;q=a[n+3|0]|0;if((m|0)==240){if(!((o+112&255)>>>0<48>>>0)){f=2;k=41;break b}}else if((m|0)==244){if(!((o&-16)<<24>>24==-128)){f=2;k=41;break b}}else{if(!((o&-64)<<24>>24==-128)){f=2;k=41;break b}}n=p&255;if((n&192|0)!=128){f=2;k=41;break b}p=q&255;if((p&192|0)!=128){f=2;k=41;break b}if((l-h|0)<4){f=1;k=41;break b}m=m&7;q=o&255;o=n<<6;p=p&63;if((q<<12&258048|m<<18|o&4032|p)>>>0>k>>>0){f=2;k=41;break b}b[h>>1]=q<<2&60|n>>>4&3|((q>>>4&3|m<<2)<<6)+16320|55296;q=h+2|0;c[j>>2]=q;b[q>>1]=p|o&960|56320;c[g>>2]=(c[g>>2]|0)+4}}while(0);h=(c[j>>2]|0)+2|0;c[j>>2]=h;n=c[g>>2]|0;if(!(n>>>0<f>>>0)){break a}}if((k|0)==41){return f|0}}}while(0);q=n>>>0<f>>>0|0;return q|0}function Qs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Rs(a){a=a|0;return 0}function Ss(a){a=a|0;return 0}function Ts(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Us(c,d,e,1114111,0)|0}function Us(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do{if((g&4|0)==0){i=b}else{if((c-b|0)<=2){i=b;break}if(!((a[b]|0)==-17)){i=b;break}if(!((a[b+1|0]|0)==-69)){i=b;break}i=(a[b+2|0]|0)==-65?b+3|0:b}}while(0);a:do{if(i>>>0<c>>>0&(e|0)!=0){g=c;h=0;b:while(1){k=a[i]|0;j=k&255;if(j>>>0>f>>>0){break a}do{if(k<<24>>24>-1){i=i+1|0}else{if((k&255)>>>0<194>>>0){break a}if((k&255)>>>0<224>>>0){if((g-i|0)<2){break a}k=d[i+1|0]|0;if((k&192|0)!=128){break a}if((k&63|j<<6&1984)>>>0>f>>>0){break a}i=i+2|0;break}if((k&255)>>>0<240>>>0){l=i;if((g-l|0)<3){break a}k=a[i+1|0]|0;m=a[i+2|0]|0;if((j|0)==237){if(!((k&-32)<<24>>24==-128)){f=23;break b}}else if((j|0)==224){if(!((k&-32)<<24>>24==-96)){f=21;break b}}else{if(!((k&-64)<<24>>24==-128)){f=25;break b}}l=m&255;if((l&192|0)!=128){break a}if(((k&255)<<6&4032|j<<12&61440|l&63)>>>0>f>>>0){break a}i=i+3|0;break}if(!((k&255)>>>0<245>>>0)){break a}m=i;if((g-m|0)<4){break a}if((e-h|0)>>>0<2>>>0){break a}k=a[i+1|0]|0;n=a[i+2|0]|0;l=a[i+3|0]|0;if((j|0)==240){if(!((k+112&255)>>>0<48>>>0)){f=34;break b}}else if((j|0)==244){if(!((k&-16)<<24>>24==-128)){f=36;break b}}else{if(!((k&-64)<<24>>24==-128)){f=38;break b}}m=n&255;if((m&192|0)!=128){break a}l=l&255;if((l&192|0)!=128){break a}if(((k&255)<<12&258048|j<<18&1835008|m<<6&4032|l&63)>>>0>f>>>0){break a}i=i+4|0;h=h+1|0}}while(0);h=h+1|0;if(!(i>>>0<c>>>0&h>>>0<e>>>0)){break a}}if((f|0)==21){n=l-b|0;return n|0}else if((f|0)==23){n=l-b|0;return n|0}else if((f|0)==25){n=l-b|0;return n|0}else if((f|0)==34){n=m-b|0;return n|0}else if((f|0)==36){n=m-b|0;return n|0}else if((f|0)==38){n=m-b|0;return n|0}}}while(0);n=i-b|0;return n|0}function Vs(a){a=a|0;return 4}function Ws(a){a=a|0;Sl(a|0);Pu(a);return}function Xs(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;a=i;i=i+16|0;l=a|0;k=a+8|0;c[l>>2]=d;c[k>>2]=g;b=Ys(d,e,l,g,h,k,1114111,0)|0;c[f>>2]=d+((c[l>>2]|0)-d>>2<<2);c[j>>2]=g+((c[k>>2]|0)-g);i=a;return b|0}
-
-
-
-function _o(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+40|0;h=g|0;k=g+16|0;j=g+32|0;Lm(j,b);b=j|0;j=c[b>>2]|0;if(!((c[8714]|0)==-1)){c[k>>2]=34856;c[k+4>>2]=16;c[k+8>>2]=0;mm(34856,k,114)}k=(c[8715]|0)-1|0;l=c[j+8>>2]|0;do{if((c[j+12>>2]|0)-l>>2>>>0>k>>>0){j=c[l+(k<<2)>>2]|0;if((j|0)==0){break}Sc[c[(c[j>>2]|0)+48>>2]&15](j,27208,27240,d)|0;d=c[b>>2]|0;if(!((c[8618]|0)==-1)){c[h>>2]=34472;c[h+4>>2]=16;c[h+8>>2]=0;mm(34472,h,114)}h=(c[8619]|0)-1|0;j=c[d+8>>2]|0;do{if((c[d+12>>2]|0)-j>>2>>>0>h>>>0){h=c[j+(h<<2)>>2]|0;if((h|0)==0){break}l=h;k=h;j=Fc[c[(c[k>>2]|0)+12>>2]&255](l)|0;c[e>>2]=j;k=Fc[c[(c[k>>2]|0)+16>>2]&255](l)|0;c[f>>2]=k;Ec[c[(c[h>>2]|0)+20>>2]&127](a,l);Ul(c[b>>2]|0)|0;i=g;return}}while(0);l=pc(4)|0;lu(l);Fb(l|0,25544,156)}}while(0);l=pc(4)|0;lu(l);Fb(l|0,25544,156)}function $o(b,d,e,f,g,h,i,j,k,l,m,n){b=b|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;l=l|0;m=m|0;n=n|0;var o=0;if((b|0)==(h|0)){if((a[d]|0)==0){o=-1;return o|0}a[d]=0;o=c[g>>2]|0;c[g>>2]=o+1;a[o]=46;g=a[j]|0;if((g&1)==0){g=(g&255)>>>1}else{g=c[j+4>>2]|0}if((g|0)==0){o=0;return o|0}g=c[l>>2]|0;if((g-k|0)>=160){o=0;return o|0}o=c[m>>2]|0;c[l>>2]=g+4;c[g>>2]=o;o=0;return o|0}do{if((b|0)==(i|0)){h=a[j]|0;if((h&1)==0){h=(h&255)>>>1}else{h=c[j+4>>2]|0}if((h|0)==0){break}if((a[d]|0)==0){o=-1;return o|0}g=c[l>>2]|0;if((g-k|0)>=160){o=0;return o|0}o=c[m>>2]|0;c[l>>2]=g+4;c[g>>2]=o;c[m>>2]=0;o=0;return o|0}}while(0);i=n+128|0;o=n;while(1){h=o+4|0;if((c[o>>2]|0)==(b|0)){i=o;break}if((h|0)==(i|0)){break}else{o=h}}b=i-n|0;h=b>>2;if((b|0)>124){o=-1;return o|0}n=a[27208+h|0]|0;do{if((h|0)==25|(h|0)==24){m=c[g>>2]|0;do{if((m|0)!=(f|0)){if((a[m-1|0]&95|0)==(a[e]&127|0)){break}else{m=-1}return m|0}}while(0);c[g>>2]=m+1;a[m]=n;o=0;return o|0}else if((h|0)==22|(h|0)==23){a[e]=80}else{f=a[e]|0;if((n&95|0)!=(f<<24>>24|0)){break}a[e]=f|-128;if((a[d]|0)==0){break}a[d]=0;e=a[j]|0;if((e&1)==0){j=(e&255)>>>1}else{j=c[j+4>>2]|0}if((j|0)==0){break}j=c[l>>2]|0;if((j-k|0)>=160){break}o=c[m>>2]|0;c[l>>2]=j+4;c[j>>2]=o}}while(0);o=c[g>>2]|0;c[g>>2]=o+1;a[o]=n;if((b|0)>84){o=0;return o|0}c[m>>2]=(c[m>>2]|0)+1;o=0;return o|0}function ap(a){a=a|0;Sl(a|0);Pu(a);return}function bp(a){a=a|0;Sl(a|0);return}function cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+48|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=j|0;m=j+16|0;n=j+24|0;k=j+32|0;if((c[f+4>>2]&1|0)==0){p=c[(c[d>>2]|0)+24>>2]|0;c[m>>2]=c[e>>2];Kc[p&63](b,d,m,f,g,h&1);i=j;return}Lm(n,f);f=n|0;d=c[f>>2]|0;if(!((c[8620]|0)==-1)){c[l>>2]=34480;c[l+4>>2]=16;c[l+8>>2]=0;mm(34480,l,114)}l=(c[8621]|0)-1|0;m=c[d+8>>2]|0;do{if((c[d+12>>2]|0)-m>>2>>>0>l>>>0){d=c[m+(l<<2)>>2]|0;if((d|0)==0){break}l=d;Ul(c[f>>2]|0)|0;f=c[d>>2]|0;if(h){Ec[c[f+24>>2]&127](k,l)}else{Ec[c[f+28>>2]&127](k,l)}f=k;g=a[f]|0;if((g&1)==0){l=k+1|0;m=l;h=k+8|0}else{h=k+8|0;m=c[h>>2]|0;l=k+1|0}d=e|0;e=k+4|0;while(1){if((g&1)==0){n=(g&255)>>>1;g=l}else{n=c[e>>2]|0;g=c[h>>2]|0}if((m|0)==(g+n|0)){break}g=a[m]|0;p=c[d>>2]|0;do{if((p|0)!=0){o=p+24|0;n=c[o>>2]|0;if((n|0)!=(c[p+28>>2]|0)){c[o>>2]=n+1;a[n]=g;break}if(!((Qc[c[(c[p>>2]|0)+52>>2]&63](p,g&255)|0)==-1)){break}c[d>>2]=0}}while(0);m=m+1|0;g=a[f]|0}c[b>>2]=c[d>>2];rm(k);i=j;return}}while(0);p=pc(4)|0;lu(p);Fb(p|0,25544,156)}function dp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=i;i=i+80|0;u=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[u>>2];u=m|0;p=m+8|0;o=m+24|0;n=m+48|0;k=m+56|0;d=m+64|0;l=m+72|0;r=u|0;a[r]=a[19432]|0;a[r+1|0]=a[19433]|0;a[r+2|0]=a[19434]|0;a[r+3|0]=a[19435]|0;a[r+4|0]=a[19436]|0;a[r+5|0]=a[19437]|0;t=u+1|0;q=f+4|0;s=c[q>>2]|0;if((s&2048|0)!=0){a[t]=43;t=u+2|0}if((s&512|0)!=0){a[t]=35;t=t+1|0}a[t]=108;t=t+1|0;u=s&74;do{if((u|0)==64){a[t]=111}else if((u|0)==8){if((s&16384|0)==0){a[t]=120;break}else{a[t]=88;break}}else{a[t]=100}}while(0);s=p|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}u=Xa(2147483647,14472,0)|0;c[8330]=u}}while(0);r=ep(s,12,c[8330]|0,r,(u=i,i=i+8|0,c[u>>2]=h,u)|0)|0;i=u;h=p+r|0;q=c[q>>2]&176;do{if((q|0)==32){p=h}else if((q|0)==16){q=a[s]|0;if((q<<24>>24|0)==45|(q<<24>>24|0)==43){p=p+1|0;break}if(!((r|0)>1&q<<24>>24==48)){j=22;break}u=a[p+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){j=22;break}p=p+2|0}else{j=22}}while(0);if((j|0)==22){p=s}u=o|0;Lm(d,f);fp(s,p,h,u,n,k,d);Ul(c[d>>2]|0)|0;c[l>>2]=c[e>>2];Bd(b,l,u,c[n>>2]|0,c[k>>2]|0,f,g);i=m;return}function ep(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g|0;j=h;c[j>>2]=f;c[j+4>>2]=0;d=bc(d|0)|0;e=cc(a|0,b|0,e|0,h|0)|0;if((d|0)==0){i=g;return e|0}bc(d|0)|0;i=g;return e|0}function fp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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;l=i;i=i+48|0;m=l|0;o=l+16|0;k=l+32|0;n=j|0;j=c[n>>2]|0;if(!((c[8716]|0)==-1)){c[o>>2]=34864;c[o+4>>2]=16;c[o+8>>2]=0;mm(34864,o,114)}p=(c[8717]|0)-1|0;o=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-o>>2>>>0>p>>>0)){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}o=c[o+(p<<2)>>2]|0;if((o|0)==0){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}j=o;n=c[n>>2]|0;if(!((c[8620]|0)==-1)){c[m>>2]=34480;c[m+4>>2]=16;c[m+8>>2]=0;mm(34480,m,114)}m=(c[8621]|0)-1|0;p=c[n+8>>2]|0;if(!((c[n+12>>2]|0)-p>>2>>>0>m>>>0)){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}q=c[p+(m<<2)>>2]|0;if((q|0)==0){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}p=q;Ec[c[(c[q>>2]|0)+20>>2]&127](k,p);m=k;n=a[m]|0;if((n&1)==0){n=(n&255)>>>1}else{n=c[k+4>>2]|0}do{if((n|0)==0){Sc[c[(c[o>>2]|0)+32>>2]&15](j,b,e,f)|0;c[h>>2]=f+(e-b)}else{c[h>>2]=f;n=a[b]|0;if((n<<24>>24|0)==45|(n<<24>>24|0)==43){w=Qc[c[(c[o>>2]|0)+28>>2]&63](j,n)|0;n=c[h>>2]|0;c[h>>2]=n+1;a[n]=w;n=b+1|0}else{n=b}do{if((e-n|0)>1){if((a[n]|0)!=48){break}r=n+1|0;w=a[r]|0;if(!((w<<24>>24|0)==120|(w<<24>>24|0)==88)){break}v=o;u=Qc[c[(c[v>>2]|0)+28>>2]&63](j,48)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w]=u;v=Qc[c[(c[v>>2]|0)+28>>2]&63](j,a[r]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w]=v;n=n+2|0}}while(0);do{if((n|0)!=(e|0)){s=e-1|0;if(s>>>0>n>>>0){r=n}else{break}do{w=a[r]|0;a[r]=a[s]|0;a[s]=w;r=r+1|0;s=s-1|0;}while(r>>>0<s>>>0)}}while(0);q=Fc[c[(c[q>>2]|0)+16>>2]&255](p)|0;if(n>>>0<e>>>0){p=k+1|0;r=k+4|0;s=k+8|0;v=0;u=0;t=n;while(1){w=(a[m]&1)==0;do{if((a[(w?p:c[s>>2]|0)+u|0]|0)!=0){if((v|0)!=(a[(w?p:c[s>>2]|0)+u|0]|0)){break}v=c[h>>2]|0;c[h>>2]=v+1;a[v]=q;v=a[m]|0;if((v&1)==0){v=(v&255)>>>1}else{v=c[r>>2]|0}u=(u>>>0<(v-1|0)>>>0)+u|0;v=0}}while(0);x=Qc[c[(c[o>>2]|0)+28>>2]&63](j,a[t]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w]=x;t=t+1|0;if(t>>>0<e>>>0){v=v+1|0}else{break}}}j=f+(n-b)|0;m=c[h>>2]|0;if((j|0)==(m|0)){break}m=m-1|0;if(!(m>>>0>j>>>0)){break}do{x=a[j]|0;a[j]=a[m]|0;a[m]=x;j=j+1|0;m=m-1|0;}while(j>>>0<m>>>0)}}while(0);if((d|0)==(e|0)){x=c[h>>2]|0;c[g>>2]=x;rm(k);i=l;return}else{x=f+(d-b)|0;c[g>>2]=x;rm(k);i=l;return}}function gp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=i;i=i+112|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=n|0;q=n+8|0;p=n+32|0;o=n+80|0;l=n+88|0;d=n+96|0;m=n+104|0;c[s>>2]=37;c[s+4>>2]=0;u=s+1|0;r=f+4|0;t=c[r>>2]|0;if((t&2048|0)!=0){a[u]=43;u=s+2|0}if((t&512|0)!=0){a[u]=35;u=u+1|0}a[u]=108;a[u+1|0]=108;u=u+2|0;v=t&74;do{if((v|0)==64){a[u]=111}else if((v|0)==8){if((t&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=100}}while(0);t=q|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}v=Xa(2147483647,14472,0)|0;c[8330]=v}}while(0);j=ep(t,22,c[8330]|0,s,(v=i,i=i+16|0,c[v>>2]=h,c[v+8>>2]=j,v)|0)|0;i=v;h=q+j|0;r=c[r>>2]&176;do{if((r|0)==32){q=h}else if((r|0)==16){r=a[t]|0;if((r<<24>>24|0)==45|(r<<24>>24|0)==43){q=q+1|0;break}if(!((j|0)>1&r<<24>>24==48)){k=22;break}v=a[q+1|0]|0;if(!((v<<24>>24|0)==120|(v<<24>>24|0)==88)){k=22;break}q=q+2|0}else{k=22}}while(0);if((k|0)==22){q=t}v=p|0;Lm(d,f);fp(t,q,h,v,o,l,d);Ul(c[d>>2]|0)|0;c[m>>2]=c[e>>2];Bd(b,m,v,c[o>>2]|0,c[l>>2]|0,f,g);i=n;return}function hp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=i;i=i+80|0;t=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[t>>2];t=m|0;p=m+8|0;o=m+24|0;n=m+48|0;k=m+56|0;d=m+64|0;l=m+72|0;r=t|0;a[r]=a[19432]|0;a[r+1|0]=a[19433]|0;a[r+2|0]=a[19434]|0;a[r+3|0]=a[19435]|0;a[r+4|0]=a[19436]|0;a[r+5|0]=a[19437]|0;u=t+1|0;q=f+4|0;s=c[q>>2]|0;if((s&2048|0)!=0){a[u]=43;u=t+2|0}if((s&512|0)!=0){a[u]=35;u=u+1|0}a[u]=108;u=u+1|0;t=s&74;do{if((t|0)==64){a[u]=111}else if((t|0)==8){if((s&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=117}}while(0);s=p|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}u=Xa(2147483647,14472,0)|0;c[8330]=u}}while(0);r=ep(s,12,c[8330]|0,r,(u=i,i=i+8|0,c[u>>2]=h,u)|0)|0;i=u;h=p+r|0;q=c[q>>2]&176;do{if((q|0)==16){q=a[s]|0;if((q<<24>>24|0)==45|(q<<24>>24|0)==43){p=p+1|0;break}if(!((r|0)>1&q<<24>>24==48)){j=22;break}u=a[p+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){j=22;break}p=p+2|0}else if((q|0)==32){p=h}else{j=22}}while(0);if((j|0)==22){p=s}u=o|0;Lm(d,f);fp(s,p,h,u,n,k,d);Ul(c[d>>2]|0)|0;c[l>>2]=c[e>>2];Bd(b,l,u,c[n>>2]|0,c[k>>2]|0,f,g);i=m;return}function ip(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=i;i=i+112|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=n|0;q=n+8|0;p=n+32|0;o=n+80|0;l=n+88|0;d=n+96|0;m=n+104|0;c[s>>2]=37;c[s+4>>2]=0;u=s+1|0;r=f+4|0;t=c[r>>2]|0;if((t&2048|0)!=0){a[u]=43;u=s+2|0}if((t&512|0)!=0){a[u]=35;u=u+1|0}a[u]=108;a[u+1|0]=108;v=u+2|0;u=t&74;do{if((u|0)==64){a[v]=111}else if((u|0)==8){if((t&16384|0)==0){a[v]=120;break}else{a[v]=88;break}}else{a[v]=117}}while(0);t=q|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}v=Xa(2147483647,14472,0)|0;c[8330]=v}}while(0);j=ep(t,23,c[8330]|0,s,(v=i,i=i+16|0,c[v>>2]=h,c[v+8>>2]=j,v)|0)|0;i=v;h=q+j|0;r=c[r>>2]&176;do{if((r|0)==16){r=a[t]|0;if((r<<24>>24|0)==45|(r<<24>>24|0)==43){q=q+1|0;break}if(!((j|0)>1&r<<24>>24==48)){k=22;break}v=a[q+1|0]|0;if(!((v<<24>>24|0)==120|(v<<24>>24|0)==88)){k=22;break}q=q+2|0}else if((r|0)==32){q=h}else{k=22}}while(0);if((k|0)==22){q=t}v=p|0;Lm(d,f);fp(t,q,h,v,o,l,d);Ul(c[d>>2]|0)|0;c[m>>2]=c[e>>2];Bd(b,m,v,c[o>>2]|0,c[l>>2]|0,f,g);i=n;return}function jp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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;k=i;i=i+152|0;u=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[u>>2];u=k|0;t=k+8|0;p=k+40|0;r=k+48|0;n=k+112|0;d=k+120|0;m=k+128|0;l=k+136|0;o=k+144|0;c[u>>2]=37;c[u+4>>2]=0;w=u+1|0;s=f+4|0;x=c[s>>2]|0;if((x&2048|0)!=0){a[w]=43;w=u+2|0}if((x&1024|0)!=0){a[w]=35;w=w+1|0}v=x&260;y=x>>>14;do{if((v|0)==260){if((y&1|0)==0){a[w]=97;v=0;break}else{a[w]=65;v=0;break}}else{a[w]=46;x=w+2|0;a[w+1|0]=42;if((v|0)==4){if((y&1|0)==0){a[x]=102;v=1;break}else{a[x]=70;v=1;break}}else if((v|0)==256){if((y&1|0)==0){a[x]=101;v=1;break}else{a[x]=69;v=1;break}}else{if((y&1|0)==0){a[x]=103;v=1;break}else{a[x]=71;v=1;break}}}}while(0);t=t|0;c[p>>2]=t;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}y=Xa(2147483647,14472,0)|0;c[8330]=y}}while(0);w=c[8330]|0;if(v){x=ep(t,30,w,u,(y=i,i=i+16|0,c[y>>2]=c[f+8>>2],h[y+8>>3]=j,y)|0)|0;i=y}else{x=ep(t,30,w,u,(y=i,i=i+8|0,h[y>>3]=j,y)|0)|0;i=y}do{if((x|0)>29){w=(a[51808]|0)==0;if(v){do{if(w){if((ub(51808)|0)==0){break}y=Xa(2147483647,14472,0)|0;c[8330]=y}}while(0);x=kp(p,c[8330]|0,u,(y=i,i=i+16|0,c[y>>2]=c[f+8>>2],h[y+8>>3]=j,y)|0)|0;i=y}else{do{if(w){if((ub(51808)|0)==0){break}y=Xa(2147483647,14472,0)|0;c[8330]=y}}while(0);x=kp(p,c[8330]|0,u,(y=i,i=i+16|0,c[y>>2]=c[f+8>>2],h[y+8>>3]=j,y)|0)|0;i=y}v=c[p>>2]|0;if((v|0)!=0){u=v;w=v;break}Uu();w=c[p>>2]|0;u=w}else{u=0;w=c[p>>2]|0}}while(0);v=w+x|0;s=c[s>>2]&176;do{if((s|0)==32){s=v}else if((s|0)==16){s=a[w]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){s=w+1|0;break}if(!((x|0)>1&s<<24>>24==48)){q=53;break}y=a[w+1|0]|0;if(!((y<<24>>24|0)==120|(y<<24>>24|0)==88)){q=53;break}s=w+2|0}else{q=53}}while(0);if((q|0)==53){s=w}do{if((w|0)==(t|0)){q=r|0;r=0}else{r=Gu(x<<1)|0;if((r|0)!=0){q=r;t=w;break}Uu();q=0;r=0;t=c[p>>2]|0}}while(0);Lm(m,f);lp(t,s,v,q,n,d,m);Ul(c[m>>2]|0)|0;x=e|0;c[o>>2]=c[x>>2];Bd(l,o,q,c[n>>2]|0,c[d>>2]|0,f,g);y=c[l>>2]|0;c[x>>2]=y;c[b>>2]=y;if((r|0)!=0){Hu(r)}if((u|0)==0){i=k;return}Hu(u);i=k;return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f|0;h=g;c[h>>2]=e;c[h+4>>2]=0;b=bc(b|0)|0;d=rc(a|0,d|0,g|0)|0;if((b|0)==0){i=f;return d|0}bc(b|0)|0;i=f;return d|0}function lp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0;l=i;i=i+48|0;n=l|0;m=l+16|0;k=l+32|0;o=j|0;j=c[o>>2]|0;if(!((c[8716]|0)==-1)){c[m>>2]=34864;c[m+4>>2]=16;c[m+8>>2]=0;mm(34864,m,114)}p=(c[8717]|0)-1|0;m=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-m>>2>>>0>p>>>0)){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}m=c[m+(p<<2)>>2]|0;if((m|0)==0){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}j=m;o=c[o>>2]|0;if(!((c[8620]|0)==-1)){c[n>>2]=34480;c[n+4>>2]=16;c[n+8>>2]=0;mm(34480,n,114)}n=(c[8621]|0)-1|0;p=c[o+8>>2]|0;if(!((c[o+12>>2]|0)-p>>2>>>0>n>>>0)){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}p=c[p+(n<<2)>>2]|0;if((p|0)==0){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}o=p;Ec[c[(c[p>>2]|0)+20>>2]&127](k,o);c[h>>2]=f;n=a[b]|0;if((n<<24>>24|0)==45|(n<<24>>24|0)==43){B=Qc[c[(c[m>>2]|0)+28>>2]&63](j,n)|0;t=c[h>>2]|0;c[h>>2]=t+1;a[t]=B;t=b+1|0}else{t=b}n=e;a:do{if((n-t|0)>1){if((a[t]|0)!=48){s=21;break}q=t+1|0;B=a[q]|0;if(!((B<<24>>24|0)==120|(B<<24>>24|0)==88)){s=21;break}A=m;z=Qc[c[(c[A>>2]|0)+28>>2]&63](j,48)|0;B=c[h>>2]|0;c[h>>2]=B+1;a[B]=z;t=t+2|0;A=Qc[c[(c[A>>2]|0)+28>>2]&63](j,a[q]|0)|0;B=c[h>>2]|0;c[h>>2]=B+1;a[B]=A;if(t>>>0<e>>>0){q=t}else{r=t;q=t;break}while(1){r=a[q]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}B=Xa(2147483647,14472,0)|0;c[8330]=B}}while(0);u=q+1|0;if((Ua(r<<24>>24|0,c[8330]|0)|0)==0){r=t;break a}if(u>>>0<e>>>0){q=u}else{r=t;q=u;break}}}else{s=21}}while(0);b:do{if((s|0)==21){if(t>>>0<e>>>0){q=t}else{r=t;q=t;break}while(1){r=a[q]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}B=Xa(2147483647,14472,0)|0;c[8330]=B}}while(0);s=q+1|0;if((ib(r<<24>>24|0,c[8330]|0)|0)==0){r=t;break b}if(s>>>0<e>>>0){q=s}else{r=t;q=s;break}}}}while(0);s=k;t=a[s]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[k+4>>2]|0}do{if((t|0)==0){Sc[c[(c[m>>2]|0)+32>>2]&15](j,r,q,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(q-r)}else{do{if((r|0)!=(q|0)){u=q-1|0;if(u>>>0>r>>>0){t=r}else{break}do{B=a[t]|0;a[t]=a[u]|0;a[u]=B;t=t+1|0;u=u-1|0;}while(t>>>0<u>>>0)}}while(0);t=Fc[c[(c[p>>2]|0)+16>>2]&255](o)|0;if(r>>>0<q>>>0){w=k+1|0;v=k+4|0;x=k+8|0;u=m;A=0;z=0;y=r;while(1){B=(a[s]&1)==0;do{if((a[(B?w:c[x>>2]|0)+z|0]|0)>0){if((A|0)!=(a[(B?w:c[x>>2]|0)+z|0]|0)){break}A=c[h>>2]|0;c[h>>2]=A+1;a[A]=t;A=a[s]|0;if((A&1)==0){A=(A&255)>>>1}else{A=c[v>>2]|0}z=(z>>>0<(A-1|0)>>>0)+z|0;A=0}}while(0);C=Qc[c[(c[u>>2]|0)+28>>2]&63](j,a[y]|0)|0;B=c[h>>2]|0;c[h>>2]=B+1;a[B]=C;y=y+1|0;if(y>>>0<q>>>0){A=A+1|0}else{break}}}s=f+(r-b)|0;r=c[h>>2]|0;if((s|0)==(r|0)){break}r=r-1|0;if(!(r>>>0>s>>>0)){break}do{C=a[s]|0;a[s]=a[r]|0;a[r]=C;s=s+1|0;r=r-1|0;}while(s>>>0<r>>>0)}}while(0);c:do{if(q>>>0<e>>>0){r=m;while(1){s=a[q]|0;if(s<<24>>24==46){break}B=Qc[c[(c[r>>2]|0)+28>>2]&63](j,s)|0;C=c[h>>2]|0;c[h>>2]=C+1;a[C]=B;q=q+1|0;if(!(q>>>0<e>>>0)){break c}}B=Fc[c[(c[p>>2]|0)+12>>2]&255](o)|0;C=c[h>>2]|0;c[h>>2]=C+1;a[C]=B;q=q+1|0}}while(0);Sc[c[(c[m>>2]|0)+32>>2]&15](j,q,e,c[h>>2]|0)|0;j=(c[h>>2]|0)+(n-q)|0;c[h>>2]=j;if((d|0)==(e|0)){C=j;c[g>>2]=C;rm(k);i=l;return}C=f+(d-b)|0;c[g>>2]=C;rm(k);i=l;return}function mp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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;m=i;i=i+152|0;u=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[u>>2];u=m|0;t=m+8|0;p=m+40|0;r=m+48|0;o=m+112|0;d=m+120|0;n=m+128|0;l=m+136|0;k=m+144|0;c[u>>2]=37;c[u+4>>2]=0;x=u+1|0;s=f+4|0;w=c[s>>2]|0;if((w&2048|0)!=0){a[x]=43;x=u+2|0}if((w&1024|0)!=0){a[x]=35;x=x+1|0}v=w&260;w=w>>>14;do{if((v|0)==260){a[x]=76;v=x+1|0;if((w&1|0)==0){a[v]=97;v=0;break}else{a[v]=65;v=0;break}}else{a[x]=46;a[x+1|0]=42;a[x+2|0]=76;x=x+3|0;if((v|0)==4){if((w&1|0)==0){a[x]=102;v=1;break}else{a[x]=70;v=1;break}}else if((v|0)==256){if((w&1|0)==0){a[x]=101;v=1;break}else{a[x]=69;v=1;break}}else{if((w&1|0)==0){a[x]=103;v=1;break}else{a[x]=71;v=1;break}}}}while(0);t=t|0;c[p>>2]=t;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}x=Xa(2147483647,14472,0)|0;c[8330]=x}}while(0);w=c[8330]|0;if(v){x=ep(t,30,w,u,(w=i,i=i+16|0,c[w>>2]=c[f+8>>2],h[w+8>>3]=j,w)|0)|0;i=w}else{x=ep(t,30,w,u,(w=i,i=i+8|0,h[w>>3]=j,w)|0)|0;i=w}do{if((x|0)>29){w=(a[51808]|0)==0;if(v){do{if(w){if((ub(51808)|0)==0){break}x=Xa(2147483647,14472,0)|0;c[8330]=x}}while(0);x=kp(p,c[8330]|0,u,(w=i,i=i+16|0,c[w>>2]=c[f+8>>2],h[w+8>>3]=j,w)|0)|0;i=w}else{do{if(w){if((ub(51808)|0)==0){break}x=Xa(2147483647,14472,0)|0;c[8330]=x}}while(0);x=kp(p,c[8330]|0,u,(w=i,i=i+8|0,h[w>>3]=j,w)|0)|0;i=w}v=c[p>>2]|0;if((v|0)!=0){u=v;w=v;break}Uu();w=c[p>>2]|0;u=w}else{u=0;w=c[p>>2]|0}}while(0);v=w+x|0;s=c[s>>2]&176;do{if((s|0)==16){s=a[w]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){s=w+1|0;break}if(!((x|0)>1&s<<24>>24==48)){q=53;break}s=a[w+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){q=53;break}s=w+2|0}else if((s|0)==32){s=v}else{q=53}}while(0);if((q|0)==53){s=w}do{if((w|0)==(t|0)){q=r|0;r=0}else{r=Gu(x<<1)|0;if((r|0)!=0){q=r;t=w;break}Uu();q=0;r=0;t=c[p>>2]|0}}while(0);Lm(n,f);lp(t,s,v,q,o,d,n);Ul(c[n>>2]|0)|0;w=e|0;c[k>>2]=c[w>>2];Bd(l,k,q,c[o>>2]|0,c[d>>2]|0,f,g);x=c[l>>2]|0;c[w>>2]=x;c[b>>2]=x;if((r|0)!=0){Hu(r)}if((u|0)==0){i=m;return}Hu(u);i=m;return}function np(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;i=i+104|0;p=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[p>>2];p=j|0;l=j+24|0;k=j+48|0;r=j+88|0;d=j+96|0;n=j+16|0;a[n]=a[19440]|0;a[n+1|0]=a[19441]|0;a[n+2|0]=a[19442]|0;a[n+3|0]=a[19443]|0;a[n+4|0]=a[19444]|0;a[n+5|0]=a[19445]|0;m=l|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}t=Xa(2147483647,14472,0)|0;c[8330]=t}}while(0);n=ep(m,20,c[8330]|0,n,(o=i,i=i+8|0,c[o>>2]=h,o)|0)|0;i=o;h=l+n|0;o=c[f+4>>2]&176;do{if((o|0)==16){o=a[m]|0;if((o<<24>>24|0)==45|(o<<24>>24|0)==43){o=l+1|0;break}if(!((n|0)>1&o<<24>>24==48)){q=12;break}t=a[l+1|0]|0;if(!((t<<24>>24|0)==120|(t<<24>>24|0)==88)){q=12;break}o=l+2|0}else if((o|0)==32){o=h}else{q=12}}while(0);if((q|0)==12){o=m}q=k|0;Lm(r,f);r=r|0;s=c[r>>2]|0;if(!((c[8716]|0)==-1)){c[p>>2]=34864;c[p+4>>2]=16;c[p+8>>2]=0;mm(34864,p,114)}p=(c[8717]|0)-1|0;t=c[s+8>>2]|0;do{if((c[s+12>>2]|0)-t>>2>>>0>p>>>0){p=c[t+(p<<2)>>2]|0;if((p|0)==0){break}Ul(c[r>>2]|0)|0;Sc[c[(c[p>>2]|0)+32>>2]&15](p,m,h,q)|0;m=k+n|0;if((o|0)==(h|0)){t=m;r=e|0;r=c[r>>2]|0;s=d|0;c[s>>2]=r;Bd(b,d,q,t,m,f,g);i=j;return}t=k+(o-l)|0;r=e|0;r=c[r>>2]|0;s=d|0;c[s>>2]=r;Bd(b,d,q,t,m,f,g);i=j;return}}while(0);t=pc(4)|0;lu(t);Fb(t|0,25544,156)}function op(a){a=a|0;Sl(a|0);Pu(a);return}function pp(a){a=a|0;Sl(a|0);return}function qp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+48|0;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];l=j|0;m=j+16|0;n=j+24|0;k=j+32|0;if((c[f+4>>2]&1|0)==0){o=c[(c[d>>2]|0)+24>>2]|0;c[m>>2]=c[e>>2];Kc[o&63](b,d,m,f,g,h&1);i=j;return}Lm(n,f);m=n|0;n=c[m>>2]|0;if(!((c[8618]|0)==-1)){c[l>>2]=34472;c[l+4>>2]=16;c[l+8>>2]=0;mm(34472,l,114)}l=(c[8619]|0)-1|0;d=c[n+8>>2]|0;do{if((c[n+12>>2]|0)-d>>2>>>0>l>>>0){n=c[d+(l<<2)>>2]|0;if((n|0)==0){break}l=n;Ul(c[m>>2]|0)|0;m=c[n>>2]|0;if(h){Ec[c[m+24>>2]&127](k,l)}else{Ec[c[m+28>>2]&127](k,l)}m=k;d=a[m]|0;if((d&1)==0){l=k+4|0;n=l;h=k+8|0}else{h=k+8|0;n=c[h>>2]|0;l=k+4|0}e=e|0;while(1){if((d&1)==0){d=(d&255)>>>1;f=l}else{d=c[l>>2]|0;f=c[h>>2]|0}if((n|0)==(f+(d<<2)|0)){break}d=c[n>>2]|0;f=c[e>>2]|0;do{if((f|0)!=0){g=f+24|0;o=c[g>>2]|0;if((o|0)==(c[f+28>>2]|0)){d=Qc[c[(c[f>>2]|0)+52>>2]&63](f,d)|0}else{c[g>>2]=o+4;c[o>>2]=d}if(!((d|0)==-1)){break}c[e>>2]=0}}while(0);n=n+4|0;d=a[m]|0}c[b>>2]=c[e>>2];Cm(k);i=j;return}}while(0);o=pc(4)|0;lu(o);Fb(o|0,25544,156)}function rp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=i;i=i+144|0;t=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[t>>2];t=m|0;p=m+8|0;o=m+24|0;n=m+112|0;k=m+120|0;d=m+128|0;l=m+136|0;r=t|0;a[r]=a[19432]|0;a[r+1|0]=a[19433]|0;a[r+2|0]=a[19434]|0;a[r+3|0]=a[19435]|0;a[r+4|0]=a[19436]|0;a[r+5|0]=a[19437]|0;u=t+1|0;q=f+4|0;s=c[q>>2]|0;if((s&2048|0)!=0){a[u]=43;u=t+2|0}if((s&512|0)!=0){a[u]=35;u=u+1|0}a[u]=108;u=u+1|0;t=s&74;do{if((t|0)==64){a[u]=111}else if((t|0)==8){if((s&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=100}}while(0);s=p|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}u=Xa(2147483647,14472,0)|0;c[8330]=u}}while(0);r=ep(s,12,c[8330]|0,r,(u=i,i=i+8|0,c[u>>2]=h,u)|0)|0;i=u;h=p+r|0;q=c[q>>2]&176;do{if((q|0)==16){q=a[s]|0;if((q<<24>>24|0)==45|(q<<24>>24|0)==43){p=p+1|0;break}if(!((r|0)>1&q<<24>>24==48)){j=22;break}u=a[p+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){j=22;break}p=p+2|0}else if((q|0)==32){p=h}else{j=22}}while(0);if((j|0)==22){p=s}u=o|0;Lm(d,f);sp(s,p,h,u,n,k,d);Ul(c[d>>2]|0)|0;c[l>>2]=c[e>>2];tp(b,l,u,c[n>>2]|0,c[k>>2]|0,f,g);i=m;return}function sp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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;l=i;i=i+48|0;m=l|0;o=l+16|0;k=l+32|0;n=j|0;j=c[n>>2]|0;if(!((c[8714]|0)==-1)){c[o>>2]=34856;c[o+4>>2]=16;c[o+8>>2]=0;mm(34856,o,114)}p=(c[8715]|0)-1|0;o=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-o>>2>>>0>p>>>0)){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}o=c[o+(p<<2)>>2]|0;if((o|0)==0){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}j=o;n=c[n>>2]|0;if(!((c[8618]|0)==-1)){c[m>>2]=34472;c[m+4>>2]=16;c[m+8>>2]=0;mm(34472,m,114)}p=(c[8619]|0)-1|0;m=c[n+8>>2]|0;if(!((c[n+12>>2]|0)-m>>2>>>0>p>>>0)){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}p=c[m+(p<<2)>>2]|0;if((p|0)==0){w=pc(4)|0;v=w;lu(v);Fb(w|0,25544,156)}q=p;Ec[c[(c[p>>2]|0)+20>>2]&127](k,q);m=k;n=a[m]|0;if((n&1)==0){n=(n&255)>>>1}else{n=c[k+4>>2]|0}do{if((n|0)==0){Sc[c[(c[o>>2]|0)+48>>2]&15](j,b,e,f)|0;w=f+(e-b<<2)|0;c[h>>2]=w}else{c[h>>2]=f;n=a[b]|0;if((n<<24>>24|0)==45|(n<<24>>24|0)==43){w=Qc[c[(c[o>>2]|0)+44>>2]&63](j,n)|0;n=c[h>>2]|0;c[h>>2]=n+4;c[n>>2]=w;n=b+1|0}else{n=b}do{if((e-n|0)>1){if((a[n]|0)!=48){break}r=n+1|0;w=a[r]|0;if(!((w<<24>>24|0)==120|(w<<24>>24|0)==88)){break}v=o;u=Qc[c[(c[v>>2]|0)+44>>2]&63](j,48)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=u;v=Qc[c[(c[v>>2]|0)+44>>2]&63](j,a[r]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=v;n=n+2|0}}while(0);do{if((n|0)!=(e|0)){s=e-1|0;if(s>>>0>n>>>0){r=n}else{break}do{w=a[r]|0;a[r]=a[s]|0;a[s]=w;r=r+1|0;s=s-1|0;}while(r>>>0<s>>>0)}}while(0);p=Fc[c[(c[p>>2]|0)+16>>2]&255](q)|0;if(n>>>0<e>>>0){q=k+1|0;s=k+4|0;r=k+8|0;v=0;u=0;t=n;while(1){w=(a[m]&1)==0;do{if((a[(w?q:c[r>>2]|0)+u|0]|0)!=0){if((v|0)!=(a[(w?q:c[r>>2]|0)+u|0]|0)){break}v=c[h>>2]|0;c[h>>2]=v+4;c[v>>2]=p;v=a[m]|0;if((v&1)==0){v=(v&255)>>>1}else{v=c[s>>2]|0}u=(u>>>0<(v-1|0)>>>0)+u|0;v=0}}while(0);y=Qc[c[(c[o>>2]|0)+44>>2]&63](j,a[t]|0)|0;x=c[h>>2]|0;w=x+4|0;c[h>>2]=w;c[x>>2]=y;t=t+1|0;if(t>>>0<e>>>0){v=v+1|0}else{break}}}else{w=c[h>>2]|0}h=f+(n-b<<2)|0;if((h|0)==(w|0)){break}j=w-4|0;if(!(j>>>0>h>>>0)){break}do{y=c[h>>2]|0;c[h>>2]=c[j>>2];c[j>>2]=y;h=h+4|0;j=j-4|0;}while(h>>>0<j>>>0)}}while(0);if((d|0)==(e|0)){y=w;c[g>>2]=y;rm(k);i=l;return}y=f+(d-b<<2)|0;c[g>>2]=y;rm(k);i=l;return}function tp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=i;i=i+16|0;m=d;l=i;i=i+4|0;i=i+7&-8;c[l>>2]=c[m>>2];m=k|0;l=l|0;d=c[l>>2]|0;if((d|0)==0){c[b>>2]=0;i=k;return}n=e;o=g-n>>2;h=h+12|0;p=c[h>>2]|0;p=(p|0)>(o|0)?p-o|0:0;o=f;q=o-n|0;n=q>>2;do{if((q|0)>0){if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,e,n)|0)==(n|0)){break}c[l>>2]=0;c[b>>2]=0;i=k;return}}while(0);do{if((p|0)>0){Bm(m,p,j);if((a[m]&1)==0){j=m+4|0}else{j=c[m+8>>2]|0}if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,j,p)|0)==(p|0)){Cm(m);break}c[l>>2]=0;c[b>>2]=0;Cm(m);i=k;return}}while(0);q=g-o|0;j=q>>2;do{if((q|0)>0){if((Hc[c[(c[d>>2]|0)+48>>2]&63](d,f,j)|0)==(j|0)){break}c[l>>2]=0;c[b>>2]=0;i=k;return}}while(0);c[h>>2]=0;c[b>>2]=d;i=k;return}function up(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=i;i=i+232|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=n|0;q=n+8|0;p=n+32|0;o=n+200|0;l=n+208|0;d=n+216|0;m=n+224|0;c[s>>2]=37;c[s+4>>2]=0;u=s+1|0;r=f+4|0;t=c[r>>2]|0;if((t&2048|0)!=0){a[u]=43;u=s+2|0}if((t&512|0)!=0){a[u]=35;u=u+1|0}a[u]=108;a[u+1|0]=108;v=u+2|0;u=t&74;do{if((u|0)==64){a[v]=111}else if((u|0)==8){if((t&16384|0)==0){a[v]=120;break}else{a[v]=88;break}}else{a[v]=100}}while(0);t=q|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}v=Xa(2147483647,14472,0)|0;c[8330]=v}}while(0);j=ep(t,22,c[8330]|0,s,(v=i,i=i+16|0,c[v>>2]=h,c[v+8>>2]=j,v)|0)|0;i=v;h=q+j|0;r=c[r>>2]&176;do{if((r|0)==16){r=a[t]|0;if((r<<24>>24|0)==45|(r<<24>>24|0)==43){q=q+1|0;break}if(!((j|0)>1&r<<24>>24==48)){k=22;break}v=a[q+1|0]|0;if(!((v<<24>>24|0)==120|(v<<24>>24|0)==88)){k=22;break}q=q+2|0}else if((r|0)==32){q=h}else{k=22}}while(0);if((k|0)==22){q=t}v=p|0;Lm(d,f);sp(t,q,h,v,o,l,d);Ul(c[d>>2]|0)|0;c[m>>2]=c[e>>2];tp(b,m,v,c[o>>2]|0,c[l>>2]|0,f,g);i=n;return}function vp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=i;i=i+144|0;t=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[t>>2];t=m|0;p=m+8|0;o=m+24|0;n=m+112|0;k=m+120|0;d=m+128|0;l=m+136|0;r=t|0;a[r]=a[19432]|0;a[r+1|0]=a[19433]|0;a[r+2|0]=a[19434]|0;a[r+3|0]=a[19435]|0;a[r+4|0]=a[19436]|0;a[r+5|0]=a[19437]|0;u=t+1|0;q=f+4|0;s=c[q>>2]|0;if((s&2048|0)!=0){a[u]=43;u=t+2|0}if((s&512|0)!=0){a[u]=35;u=u+1|0}a[u]=108;u=u+1|0;t=s&74;do{if((t|0)==64){a[u]=111}else if((t|0)==8){if((s&16384|0)==0){a[u]=120;break}else{a[u]=88;break}}else{a[u]=117}}while(0);s=p|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}u=Xa(2147483647,14472,0)|0;c[8330]=u}}while(0);r=ep(s,12,c[8330]|0,r,(u=i,i=i+8|0,c[u>>2]=h,u)|0)|0;i=u;h=p+r|0;q=c[q>>2]&176;do{if((q|0)==16){q=a[s]|0;if((q<<24>>24|0)==45|(q<<24>>24|0)==43){p=p+1|0;break}if(!((r|0)>1&q<<24>>24==48)){j=22;break}u=a[p+1|0]|0;if(!((u<<24>>24|0)==120|(u<<24>>24|0)==88)){j=22;break}p=p+2|0}else if((q|0)==32){p=h}else{j=22}}while(0);if((j|0)==22){p=s}u=o|0;Lm(d,f);sp(s,p,h,u,n,k,d);Ul(c[d>>2]|0)|0;c[l>>2]=c[e>>2];tp(b,l,u,c[n>>2]|0,c[k>>2]|0,f,g);i=m;return}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=i;i=i+240|0;s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=n|0;q=n+8|0;p=n+32|0;o=n+208|0;l=n+216|0;d=n+224|0;m=n+232|0;c[s>>2]=37;c[s+4>>2]=0;u=s+1|0;r=f+4|0;t=c[r>>2]|0;if((t&2048|0)!=0){a[u]=43;u=s+2|0}if((t&512|0)!=0){a[u]=35;u=u+1|0}a[u]=108;a[u+1|0]=108;v=u+2|0;u=t&74;do{if((u|0)==64){a[v]=111}else if((u|0)==8){if((t&16384|0)==0){a[v]=120;break}else{a[v]=88;break}}else{a[v]=117}}while(0);t=q|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}v=Xa(2147483647,14472,0)|0;c[8330]=v}}while(0);j=ep(t,23,c[8330]|0,s,(v=i,i=i+16|0,c[v>>2]=h,c[v+8>>2]=j,v)|0)|0;i=v;h=q+j|0;r=c[r>>2]&176;do{if((r|0)==16){r=a[t]|0;if((r<<24>>24|0)==45|(r<<24>>24|0)==43){q=q+1|0;break}if(!((j|0)>1&r<<24>>24==48)){k=22;break}v=a[q+1|0]|0;if(!((v<<24>>24|0)==120|(v<<24>>24|0)==88)){k=22;break}q=q+2|0}else if((r|0)==32){q=h}else{k=22}}while(0);if((k|0)==22){q=t}v=p|0;Lm(d,f);sp(t,q,h,v,o,l,d);Ul(c[d>>2]|0)|0;c[m>>2]=c[e>>2];tp(b,m,v,c[o>>2]|0,c[l>>2]|0,f,g);i=n;return}function xp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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;k=i;i=i+320|0;u=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[u>>2];u=k|0;t=k+8|0;p=k+40|0;r=k+48|0;n=k+280|0;d=k+288|0;m=k+296|0;l=k+304|0;o=k+312|0;c[u>>2]=37;c[u+4>>2]=0;w=u+1|0;s=f+4|0;x=c[s>>2]|0;if((x&2048|0)!=0){a[w]=43;w=u+2|0}if((x&1024|0)!=0){a[w]=35;w=w+1|0}v=x&260;y=x>>>14;do{if((v|0)==260){if((y&1|0)==0){a[w]=97;v=0;break}else{a[w]=65;v=0;break}}else{a[w]=46;x=w+2|0;a[w+1|0]=42;if((v|0)==4){if((y&1|0)==0){a[x]=102;v=1;break}else{a[x]=70;v=1;break}}else if((v|0)==256){if((y&1|0)==0){a[x]=101;v=1;break}else{a[x]=69;v=1;break}}else{if((y&1|0)==0){a[x]=103;v=1;break}else{a[x]=71;v=1;break}}}}while(0);t=t|0;c[p>>2]=t;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}y=Xa(2147483647,14472,0)|0;c[8330]=y}}while(0);w=c[8330]|0;if(v){x=ep(t,30,w,u,(y=i,i=i+16|0,c[y>>2]=c[f+8>>2],h[y+8>>3]=j,y)|0)|0;i=y}else{x=ep(t,30,w,u,(y=i,i=i+8|0,h[y>>3]=j,y)|0)|0;i=y}do{if((x|0)>29){w=(a[51808]|0)==0;if(v){do{if(w){if((ub(51808)|0)==0){break}y=Xa(2147483647,14472,0)|0;c[8330]=y}}while(0);x=kp(p,c[8330]|0,u,(y=i,i=i+16|0,c[y>>2]=c[f+8>>2],h[y+8>>3]=j,y)|0)|0;i=y}else{do{if(w){if((ub(51808)|0)==0){break}y=Xa(2147483647,14472,0)|0;c[8330]=y}}while(0);x=kp(p,c[8330]|0,u,(y=i,i=i+16|0,c[y>>2]=c[f+8>>2],h[y+8>>3]=j,y)|0)|0;i=y}v=c[p>>2]|0;if((v|0)!=0){u=v;w=v;break}Uu();w=c[p>>2]|0;u=w}else{u=0;w=c[p>>2]|0}}while(0);v=w+x|0;s=c[s>>2]&176;do{if((s|0)==32){s=v}else if((s|0)==16){s=a[w]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){s=w+1|0;break}if(!((x|0)>1&s<<24>>24==48)){q=53;break}y=a[w+1|0]|0;if(!((y<<24>>24|0)==120|(y<<24>>24|0)==88)){q=53;break}s=w+2|0}else{q=53}}while(0);if((q|0)==53){s=w}do{if((w|0)==(t|0)){q=r|0;r=0}else{y=Gu(x<<3)|0;r=y;if((y|0)!=0){q=r;t=w;break}Uu();q=r;t=c[p>>2]|0}}while(0);Lm(m,f);yp(t,s,v,q,n,d,m);Ul(c[m>>2]|0)|0;x=e|0;c[o>>2]=c[x>>2];tp(l,o,q,c[n>>2]|0,c[d>>2]|0,f,g);y=c[l>>2]|0;c[x>>2]=y;c[b>>2]=y;if((r|0)!=0){Hu(r)}if((u|0)==0){i=k;return}Hu(u);i=k;return}function yp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,A=0,B=0,C=0,D=0;l=i;i=i+48|0;n=l|0;m=l+16|0;k=l+32|0;o=j|0;j=c[o>>2]|0;if(!((c[8714]|0)==-1)){c[m>>2]=34856;c[m+4>>2]=16;c[m+8>>2]=0;mm(34856,m,114)}p=(c[8715]|0)-1|0;m=c[j+8>>2]|0;if(!((c[j+12>>2]|0)-m>>2>>>0>p>>>0)){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}m=c[m+(p<<2)>>2]|0;if((m|0)==0){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}j=m;o=c[o>>2]|0;if(!((c[8618]|0)==-1)){c[n>>2]=34472;c[n+4>>2]=16;c[n+8>>2]=0;mm(34472,n,114)}p=(c[8619]|0)-1|0;n=c[o+8>>2]|0;if(!((c[o+12>>2]|0)-n>>2>>>0>p>>>0)){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}o=c[n+(p<<2)>>2]|0;if((o|0)==0){B=pc(4)|0;A=B;lu(A);Fb(B|0,25544,156)}p=o;Ec[c[(c[o>>2]|0)+20>>2]&127](k,p);c[h>>2]=f;n=a[b]|0;if((n<<24>>24|0)==45|(n<<24>>24|0)==43){B=Qc[c[(c[m>>2]|0)+44>>2]&63](j,n)|0;t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=B;t=b+1|0}else{t=b}n=e;a:do{if((n-t|0)>1){if((a[t]|0)!=48){s=21;break}q=t+1|0;B=a[q]|0;if(!((B<<24>>24|0)==120|(B<<24>>24|0)==88)){s=21;break}A=m;z=Qc[c[(c[A>>2]|0)+44>>2]&63](j,48)|0;B=c[h>>2]|0;c[h>>2]=B+4;c[B>>2]=z;t=t+2|0;A=Qc[c[(c[A>>2]|0)+44>>2]&63](j,a[q]|0)|0;B=c[h>>2]|0;c[h>>2]=B+4;c[B>>2]=A;if(t>>>0<e>>>0){q=t}else{r=t;q=t;break}while(1){r=a[q]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}B=Xa(2147483647,14472,0)|0;c[8330]=B}}while(0);u=q+1|0;if((Ua(r<<24>>24|0,c[8330]|0)|0)==0){r=t;break a}if(u>>>0<e>>>0){q=u}else{r=t;q=u;break}}}else{s=21}}while(0);b:do{if((s|0)==21){if(t>>>0<e>>>0){q=t}else{r=t;q=t;break}while(1){r=a[q]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}B=Xa(2147483647,14472,0)|0;c[8330]=B}}while(0);s=q+1|0;if((ib(r<<24>>24|0,c[8330]|0)|0)==0){r=t;break b}if(s>>>0<e>>>0){q=s}else{r=t;q=s;break}}}}while(0);s=k;t=a[s]|0;if((t&1)==0){t=(t&255)>>>1}else{t=c[k+4>>2]|0}do{if((t|0)==0){Sc[c[(c[m>>2]|0)+48>>2]&15](j,r,q,c[h>>2]|0)|0;B=(c[h>>2]|0)+(q-r<<2)|0;c[h>>2]=B}else{do{if((r|0)!=(q|0)){u=q-1|0;if(u>>>0>r>>>0){t=r}else{break}do{B=a[t]|0;a[t]=a[u]|0;a[u]=B;t=t+1|0;u=u-1|0;}while(t>>>0<u>>>0)}}while(0);w=Fc[c[(c[o>>2]|0)+16>>2]&255](p)|0;if(r>>>0<q>>>0){t=k+1|0;x=k+4|0;u=k+8|0;v=m;A=0;z=0;y=r;while(1){B=(a[s]&1)==0;do{if((a[(B?t:c[u>>2]|0)+z|0]|0)>0){if((A|0)!=(a[(B?t:c[u>>2]|0)+z|0]|0)){break}A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=w;A=a[s]|0;if((A&1)==0){A=(A&255)>>>1}else{A=c[x>>2]|0}z=(z>>>0<(A-1|0)>>>0)+z|0;A=0}}while(0);D=Qc[c[(c[v>>2]|0)+44>>2]&63](j,a[y]|0)|0;C=c[h>>2]|0;B=C+4|0;c[h>>2]=B;c[C>>2]=D;y=y+1|0;if(y>>>0<q>>>0){A=A+1|0}else{break}}}else{B=c[h>>2]|0}r=f+(r-b<<2)|0;if((r|0)==(B|0)){break}s=B-4|0;if(!(s>>>0>r>>>0)){break}do{D=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=D;r=r+4|0;s=s-4|0;}while(r>>>0<s>>>0)}}while(0);c:do{if(q>>>0<e>>>0){r=m;while(1){s=a[q]|0;if(s<<24>>24==46){break}C=Qc[c[(c[r>>2]|0)+44>>2]&63](j,s)|0;D=c[h>>2]|0;B=D+4|0;c[h>>2]=B;c[D>>2]=C;q=q+1|0;if(!(q>>>0<e>>>0)){break c}}C=Fc[c[(c[o>>2]|0)+12>>2]&255](p)|0;D=c[h>>2]|0;B=D+4|0;c[h>>2]=B;c[D>>2]=C;q=q+1|0}}while(0);Sc[c[(c[m>>2]|0)+48>>2]&15](j,q,e,B)|0;j=(c[h>>2]|0)+(n-q<<2)|0;c[h>>2]=j;if((d|0)==(e|0)){D=j;c[g>>2]=D;rm(k);i=l;return}D=f+(d-b<<2)|0;c[g>>2]=D;rm(k);i=l;return}function zp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var 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;m=i;i=i+320|0;u=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[u>>2];u=m|0;t=m+8|0;p=m+40|0;r=m+48|0;o=m+280|0;d=m+288|0;n=m+296|0;l=m+304|0;k=m+312|0;c[u>>2]=37;c[u+4>>2]=0;x=u+1|0;s=f+4|0;w=c[s>>2]|0;if((w&2048|0)!=0){a[x]=43;x=u+2|0}if((w&1024|0)!=0){a[x]=35;x=x+1|0}v=w&260;w=w>>>14;do{if((v|0)==260){a[x]=76;v=x+1|0;if((w&1|0)==0){a[v]=97;v=0;break}else{a[v]=65;v=0;break}}else{a[x]=46;a[x+1|0]=42;a[x+2|0]=76;x=x+3|0;if((v|0)==256){if((w&1|0)==0){a[x]=101;v=1;break}else{a[x]=69;v=1;break}}else if((v|0)==4){if((w&1|0)==0){a[x]=102;v=1;break}else{a[x]=70;v=1;break}}else{if((w&1|0)==0){a[x]=103;v=1;break}else{a[x]=71;v=1;break}}}}while(0);t=t|0;c[p>>2]=t;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}x=Xa(2147483647,14472,0)|0;c[8330]=x}}while(0);w=c[8330]|0;if(v){x=ep(t,30,w,u,(w=i,i=i+16|0,c[w>>2]=c[f+8>>2],h[w+8>>3]=j,w)|0)|0;i=w}else{x=ep(t,30,w,u,(w=i,i=i+8|0,h[w>>3]=j,w)|0)|0;i=w}do{if((x|0)>29){w=(a[51808]|0)==0;if(v){do{if(w){if((ub(51808)|0)==0){break}x=Xa(2147483647,14472,0)|0;c[8330]=x}}while(0);x=kp(p,c[8330]|0,u,(w=i,i=i+16|0,c[w>>2]=c[f+8>>2],h[w+8>>3]=j,w)|0)|0;i=w}else{do{if(w){if((ub(51808)|0)==0){break}x=Xa(2147483647,14472,0)|0;c[8330]=x}}while(0);x=kp(p,c[8330]|0,u,(w=i,i=i+8|0,h[w>>3]=j,w)|0)|0;i=w}v=c[p>>2]|0;if((v|0)!=0){u=v;w=v;break}Uu();w=c[p>>2]|0;u=w}else{u=0;w=c[p>>2]|0}}while(0);v=w+x|0;s=c[s>>2]&176;do{if((s|0)==16){s=a[w]|0;if((s<<24>>24|0)==45|(s<<24>>24|0)==43){s=w+1|0;break}if(!((x|0)>1&s<<24>>24==48)){q=53;break}s=a[w+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){q=53;break}s=w+2|0}else if((s|0)==32){s=v}else{q=53}}while(0);if((q|0)==53){s=w}do{if((w|0)==(t|0)){q=r|0;r=0}else{x=Gu(x<<3)|0;r=x;if((x|0)!=0){q=r;t=w;break}Uu();q=r;t=c[p>>2]|0}}while(0);Lm(n,f);yp(t,s,v,q,o,d,n);Ul(c[n>>2]|0)|0;w=e|0;c[k>>2]=c[w>>2];tp(l,k,q,c[o>>2]|0,c[d>>2]|0,f,g);x=c[l>>2]|0;c[w>>2]=x;c[b>>2]=x;if((r|0)!=0){Hu(r)}if((u|0)==0){i=m;return}Hu(u);i=m;return}function Ap(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+216|0;p=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[p>>2];p=j|0;l=j+24|0;k=j+48|0;r=j+200|0;d=j+208|0;n=j+16|0;a[n]=a[19440]|0;a[n+1|0]=a[19441]|0;a[n+2|0]=a[19442]|0;a[n+3|0]=a[19443]|0;a[n+4|0]=a[19444]|0;a[n+5|0]=a[19445]|0;m=l|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}s=Xa(2147483647,14472,0)|0;c[8330]=s}}while(0);n=ep(m,20,c[8330]|0,n,(o=i,i=i+8|0,c[o>>2]=h,o)|0)|0;i=o;h=l+n|0;o=c[f+4>>2]&176;do{if((o|0)==16){o=a[m]|0;if((o<<24>>24|0)==45|(o<<24>>24|0)==43){o=l+1|0;break}if(!((n|0)>1&o<<24>>24==48)){q=12;break}s=a[l+1|0]|0;if(!((s<<24>>24|0)==120|(s<<24>>24|0)==88)){q=12;break}o=l+2|0}else if((o|0)==32){o=h}else{q=12}}while(0);if((q|0)==12){o=m}Lm(r,f);q=r|0;r=c[q>>2]|0;if(!((c[8714]|0)==-1)){c[p>>2]=34856;c[p+4>>2]=16;c[p+8>>2]=0;mm(34856,p,114)}p=(c[8715]|0)-1|0;s=c[r+8>>2]|0;do{if((c[r+12>>2]|0)-s>>2>>>0>p>>>0){r=c[s+(p<<2)>>2]|0;if((r|0)==0){break}Ul(c[q>>2]|0)|0;p=k|0;Sc[c[(c[r>>2]|0)+48>>2]&15](r,m,h,p)|0;m=k+(n<<2)|0;if((o|0)==(h|0)){s=m;q=e|0;q=c[q>>2]|0;r=d|0;c[r>>2]=q;tp(b,d,p,s,m,f,g);i=j;return}s=k+(o-l<<2)|0;q=e|0;q=c[q>>2]|0;r=d|0;c[r>>2]=q;tp(b,d,p,s,m,f,g);i=j;return}}while(0);s=pc(4)|0;lu(s);Fb(s|0,25544,156)}function Bp(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;n=i;i=i+48|0;u=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[u>>2];u=g;g=i;i=i+4|0;i=i+7&-8;c[g>>2]=c[u>>2];u=n|0;t=n+16|0;q=n+24|0;p=n+32|0;r=n+40|0;Lm(t,h);t=t|0;s=c[t>>2]|0;if(!((c[8716]|0)==-1)){c[u>>2]=34864;c[u+4>>2]=16;c[u+8>>2]=0;mm(34864,u,114)}v=(c[8717]|0)-1|0;u=c[s+8>>2]|0;do{if((c[s+12>>2]|0)-u>>2>>>0>v>>>0){x=c[u+(v<<2)>>2]|0;if((x|0)==0){break}s=x;Ul(c[t>>2]|0)|0;c[j>>2]=0;v=f|0;a:do{if((l|0)==(m|0)){o=67}else{t=g|0;u=x;w=x+8|0;B=x;z=e;A=p|0;y=r|0;x=q|0;C=0;b:while(1){while(1){if((C|0)!=0){o=67;break a}C=c[v>>2]|0;do{if((C|0)==0){C=0}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){break}if(!((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1)){break}c[v>>2]=0;C=0}}while(0);E=(C|0)==0;D=c[t>>2]|0;c:do{if((D|0)==0){o=20}else{do{if((c[D+12>>2]|0)==(c[D+16>>2]|0)){if(!((Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0)==-1)){break}c[t>>2]=0;o=20;break c}}while(0);if(!E){o=21;break b}}}while(0);if((o|0)==20){o=0;if(E){o=21;break b}else{D=0}}if((Hc[c[(c[u>>2]|0)+36>>2]&63](s,a[l]|0,0)|0)<<24>>24==37){o=24;break}F=a[l]|0;if(F<<24>>24>-1){E=c[w>>2]|0;if(!((b[E+(F<<24>>24<<1)>>1]&8192)==0)){o=35;break}}D=C+12|0;F=c[D>>2]|0;E=C+16|0;if((F|0)==(c[E>>2]|0)){F=(Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)&255}else{F=a[F]|0}H=Qc[c[(c[B>>2]|0)+12>>2]&63](s,F)|0;if(H<<24>>24==(Qc[c[(c[B>>2]|0)+12>>2]&63](s,a[l]|0)|0)<<24>>24){o=62;break}c[j>>2]=4;C=4}d:do{if((o|0)==24){o=0;F=l+1|0;if((F|0)==(m|0)){o=25;break b}E=Hc[c[(c[u>>2]|0)+36>>2]&63](s,a[F]|0,0)|0;if((E<<24>>24|0)==69|(E<<24>>24|0)==48){F=l+2|0;if((F|0)==(m|0)){o=28;break b}l=E;E=Hc[c[(c[u>>2]|0)+36>>2]&63](s,a[F]|0,0)|0}else{l=0}H=c[(c[z>>2]|0)+36>>2]|0;c[A>>2]=C;c[y>>2]=D;Oc[H&15](q,e,p,r,h,j,k,E,l);c[v>>2]=c[x>>2];l=F+1|0}else if((o|0)==35){while(1){o=0;l=l+1|0;if((l|0)==(m|0)){l=m;break}F=a[l]|0;if(!(F<<24>>24>-1)){break}if((b[E+(F<<24>>24<<1)>>1]&8192)==0){break}else{o=35}}F=D;E=D;while(1){do{if((C|0)==0){C=0}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){break}if(!((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1)){break}c[v>>2]=0;C=0}}while(0);D=(C|0)==0;do{if((F|0)==0){o=48}else{if((c[F+12>>2]|0)!=(c[F+16>>2]|0)){if(D){D=F;break}else{break d}}if((Fc[c[(c[F>>2]|0)+36>>2]&255](F)|0)==-1){c[t>>2]=0;E=0;o=48;break}else{if(D^(E|0)==0){D=E;break}else{break d}}}}while(0);if((o|0)==48){o=0;if(D){break d}else{D=0}}F=C+12|0;H=c[F>>2]|0;G=C+16|0;if((H|0)==(c[G>>2]|0)){H=(Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)&255}else{H=a[H]|0}if(!(H<<24>>24>-1)){break d}if((b[(c[w>>2]|0)+(H<<24>>24<<1)>>1]&8192)==0){break d}H=c[F>>2]|0;if((H|0)==(c[G>>2]|0)){Fc[c[(c[C>>2]|0)+40>>2]&255](C)|0;F=D;continue}else{c[F>>2]=H+1;F=D;continue}}}else if((o|0)==62){o=0;F=c[D>>2]|0;if((F|0)==(c[E>>2]|0)){Fc[c[(c[C>>2]|0)+40>>2]&255](C)|0}else{c[D>>2]=F+1}l=l+1|0}}while(0);if((l|0)==(m|0)){o=67;break a}C=c[j>>2]|0}if((o|0)==21){c[j>>2]=4;break}else if((o|0)==25){c[j>>2]=4;break}else if((o|0)==28){c[j>>2]=4;break}}}while(0);if((o|0)==67){C=c[v>>2]|0}f=f|0;do{if((C|0)==0){C=0}else{if((c[C+12>>2]|0)!=(c[C+16>>2]|0)){break}if(!((Fc[c[(c[C>>2]|0)+36>>2]&255](C)|0)==-1)){break}c[f>>2]=0;C=0}}while(0);f=(C|0)==0;g=g|0;m=c[g>>2]|0;e:do{if((m|0)==0){o=77}else{do{if((c[m+12>>2]|0)==(c[m+16>>2]|0)){if(!((Fc[c[(c[m>>2]|0)+36>>2]&255](m)|0)==-1)){break}c[g>>2]=0;o=77;break e}}while(0);if(!f){break}H=d|0;c[H>>2]=C;i=n;return}}while(0);do{if((o|0)==77){if(f){break}H=d|0;c[H>>2]=C;i=n;return}}while(0);c[j>>2]=c[j>>2]|2;H=d|0;c[H>>2]=C;i=n;return}}while(0);H=pc(4)|0;lu(H);Fb(H|0,25544,156)}function Cp(a){a=a|0;Sl(a|0);Pu(a);return}function Dp(a){a=a|0;Sl(a|0);return}function Ep(a){a=a|0;return 2}function Fp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;m=d;l=i;i=i+4|0;i=i+7&-8;c[l>>2]=c[m>>2];m=e;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[m>>2];e=j|0;d=j+8|0;c[e>>2]=c[l>>2];c[d>>2]=c[k>>2];Bp(a,b,e,d,f,g,h,19424,19432);i=j;return}function Gp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0;k=i;i=i+16|0;l=e;n=i;i=i+4|0;i=i+7&-8;c[n>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=k|0;m=k+8|0;e=d+8|0;e=Fc[c[(c[e>>2]|0)+20>>2]&255](e)|0;c[l>>2]=c[n>>2];c[m>>2]=c[f>>2];f=a[e]|0;if((f&1)==0){n=(f&255)>>>1;f=e+1|0;e=e+1|0;n=e+n|0;Bp(b,d,l,m,g,h,j,f,n);i=k;return}else{f=c[e+8>>2]|0;n=c[e+4>>2]|0;e=f;n=f+n|0;Bp(b,d,l,m,g,h,j,e,n);i=k;return}}function Hp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;m=j+8|0;l=j+24|0;Lm(l,f);f=l|0;l=c[f>>2]|0;if(!((c[8716]|0)==-1)){c[m>>2]=34864;c[m+4>>2]=16;c[m+8>>2]=0;mm(34864,m,114)}m=(c[8717]|0)-1|0;n=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-n>>2>>>0>m>>>0){l=c[n+(m<<2)>>2]|0;if((l|0)==0){break}Ul(c[f>>2]|0)|0;n=c[e>>2]|0;e=b+8|0;e=Fc[c[c[e>>2]>>2]&255](e)|0;c[k>>2]=n;e=(bo(d,k,e,e+168|0,l,g,0)|0)-e|0;if((e|0)>=168){m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}c[h+24>>2]=((e|0)/12|0|0)%7|0;m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}}while(0);n=pc(4)|0;lu(n);Fb(n|0,25544,156)}function Ip(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;m=j+8|0;l=j+24|0;Lm(l,f);f=l|0;l=c[f>>2]|0;if(!((c[8716]|0)==-1)){c[m>>2]=34864;c[m+4>>2]=16;c[m+8>>2]=0;mm(34864,m,114)}m=(c[8717]|0)-1|0;n=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-n>>2>>>0>m>>>0){l=c[n+(m<<2)>>2]|0;if((l|0)==0){break}Ul(c[f>>2]|0)|0;n=c[e>>2]|0;e=b+8|0;e=Fc[c[(c[e>>2]|0)+4>>2]&255](e)|0;c[k>>2]=n;e=(bo(d,k,e,e+288|0,l,g,0)|0)-e|0;if((e|0)>=288){m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}c[h+16>>2]=((e|0)/12|0|0)%12|0;m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}}while(0);n=pc(4)|0;lu(n);Fb(n|0,25544,156)}function Jp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;b=i;i=i+32|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;l=b+8|0;k=b+24|0;Lm(k,f);f=k|0;k=c[f>>2]|0;if(!((c[8716]|0)==-1)){c[l>>2]=34864;c[l+4>>2]=16;c[l+8>>2]=0;mm(34864,l,114)}m=(c[8717]|0)-1|0;l=c[k+8>>2]|0;do{if((c[k+12>>2]|0)-l>>2>>>0>m>>>0){k=c[l+(m<<2)>>2]|0;if((k|0)==0){break}Ul(c[f>>2]|0)|0;c[j>>2]=c[e>>2];e=Op(d,j,g,k,4)|0;if((c[g>>2]&4|0)!=0){l=d|0;l=c[l>>2]|0;m=a|0;c[m>>2]=l;i=b;return}if((e|0)<69){g=e+2e3|0}else{g=(e-69|0)>>>0<31>>>0?e+1900|0:e}c[h+20>>2]=g-1900;l=d|0;l=c[l>>2]|0;m=a|0;c[m>>2]=l;i=b;return}}while(0);m=pc(4)|0;lu(m);Fb(m|0,25544,156)}function Kp(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;l=i;i=i+328|0;v=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[v>>2];v=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[v>>2];v=l|0;u=l+8|0;G=l+16|0;X=l+24|0;L=l+32|0;M=l+40|0;C=l+48|0;s=l+56|0;K=l+64|0;t=l+72|0;N=l+80|0;S=l+88|0;_=l+96|0;R=l+112|0;n=l+120|0;p=l+128|0;q=l+136|0;Y=l+144|0;W=l+152|0;A=l+160|0;J=l+168|0;H=l+176|0;I=l+184|0;w=l+192|0;x=l+200|0;Q=l+208|0;O=l+216|0;P=l+224|0;V=l+232|0;T=l+240|0;U=l+248|0;F=l+256|0;D=l+264|0;E=l+272|0;y=l+280|0;z=l+288|0;o=l+296|0;r=l+304|0;m=l+312|0;B=l+320|0;c[h>>2]=0;Lm(R,g);R=R|0;Z=c[R>>2]|0;if(!((c[8716]|0)==-1)){c[_>>2]=34864;c[_+4>>2]=16;c[_+8>>2]=0;mm(34864,_,114)}_=(c[8717]|0)-1|0;$=c[Z+8>>2]|0;do{if((c[Z+12>>2]|0)-$>>2>>>0>_>>>0){Z=c[$+(_<<2)>>2]|0;if((Z|0)==0){break}Ul(c[R>>2]|0)|0;a:do{switch(k<<24>>24|0){case 97:case 65:{_=c[f>>2]|0;$=d+8|0;$=Fc[c[c[$>>2]>>2]&255]($)|0;c[S>>2]=_;h=(bo(e,S,$,$+168|0,Z,h,0)|0)-$|0;if((h|0)>=168){break a}c[j+24>>2]=((h|0)/12|0|0)%7|0;break};case 68:{$=e|0;c[W>>2]=c[$>>2];c[A>>2]=c[f>>2];Bp(Y,d,W,A,g,h,j,19416,19424);c[$>>2]=c[Y>>2];break};case 73:{j=j+8|0;c[s>>2]=c[f>>2];g=Op(e,s,h,Z,2)|0;d=c[h>>2]|0;do{if((d&4|0)==0){if(!((g-1|0)>>>0<12>>>0)){break}c[j>>2]=g;break a}}while(0);c[h>>2]=d|4;break};case 37:{c[B>>2]=c[f>>2];Np(0,e,B,h,Z);break};case 106:{c[C>>2]=c[f>>2];g=Op(e,C,h,Z,3)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<366){c[j+28>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 109:{c[M>>2]=c[f>>2];d=Op(e,M,h,Z,2)|0;g=c[h>>2]|0;if((g&4|0)==0&(d|0)<13){c[j+16>>2]=d-1;break a}else{c[h>>2]=g|4;break a}};case 114:{$=e|0;c[O>>2]=c[$>>2];c[P>>2]=c[f>>2];Bp(Q,d,O,P,g,h,j,19392,19403);c[$>>2]=c[Q>>2];break};case 82:{$=e|0;c[T>>2]=c[$>>2];c[U>>2]=c[f>>2];Bp(V,d,T,U,g,h,j,19384,19389);c[$>>2]=c[V>>2];break};case 83:{c[X>>2]=c[f>>2];g=Op(e,X,h,Z,2)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<61){c[j>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 121:{c[u>>2]=c[f>>2];g=Op(e,u,h,Z,4)|0;if((c[h>>2]&4|0)!=0){break a}if((g|0)<69){h=g+2e3|0}else{h=(g-69|0)>>>0<31>>>0?g+1900|0:g}c[j+20>>2]=h-1900;break};case 89:{c[v>>2]=c[f>>2];g=Op(e,v,h,Z,4)|0;if((c[h>>2]&4|0)!=0){break a}c[j+20>>2]=g-1900;break};case 110:case 116:{c[w>>2]=c[f>>2];Lp(0,e,w,h,Z);break};case 112:{c[x>>2]=c[f>>2];Mp(d,j+8|0,e,x,h,Z);break};case 120:{$=c[(c[d>>2]|0)+20>>2]|0;c[y>>2]=c[e>>2];c[z>>2]=c[f>>2];Mc[$&127](b,d,y,z,g,h,j);i=l;return};case 88:{p=d+8|0;p=Fc[c[(c[p>>2]|0)+24>>2]&255](p)|0;n=e|0;c[r>>2]=c[n>>2];c[m>>2]=c[f>>2];f=a[p]|0;if((f&1)==0){q=(f&255)>>>1;f=p+1|0;p=p+1|0}else{$=c[p+8>>2]|0;q=c[p+4>>2]|0;f=$;p=$}Bp(o,d,r,m,g,h,j,f,p+q|0);c[n>>2]=c[o>>2];break};case 84:{$=e|0;c[D>>2]=c[$>>2];c[E>>2]=c[f>>2];Bp(F,d,D,E,g,h,j,19376,19384);c[$>>2]=c[F>>2];break};case 119:{c[G>>2]=c[f>>2];g=Op(e,G,h,Z,1)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<7){c[j+24>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 70:{$=e|0;c[H>>2]=c[$>>2];c[I>>2]=c[f>>2];Bp(J,d,H,I,g,h,j,19408,19416);c[$>>2]=c[J>>2];break};case 72:{c[K>>2]=c[f>>2];g=Op(e,K,h,Z,2)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<24){c[j+8>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 77:{c[L>>2]=c[f>>2];g=Op(e,L,h,Z,2)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<60){c[j+4>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 100:case 101:{j=j+12|0;c[t>>2]=c[f>>2];g=Op(e,t,h,Z,2)|0;d=c[h>>2]|0;do{if((d&4|0)==0){if(!((g-1|0)>>>0<31>>>0)){break}c[j>>2]=g;break a}}while(0);c[h>>2]=d|4;break};case 98:case 66:case 104:{_=c[f>>2]|0;$=d+8|0;$=Fc[c[(c[$>>2]|0)+4>>2]&255]($)|0;c[N>>2]=_;h=(bo(e,N,$,$+288|0,Z,h,0)|0)-$|0;if((h|0)>=288){break a}c[j+16>>2]=((h|0)/12|0|0)%12|0;break};case 99:{o=d+8|0;o=Fc[c[(c[o>>2]|0)+12>>2]&255](o)|0;m=e|0;c[p>>2]=c[m>>2];c[q>>2]=c[f>>2];f=a[o]|0;if((f&1)==0){f=(f&255)>>>1;r=o+1|0;o=o+1|0}else{$=c[o+8>>2]|0;f=c[o+4>>2]|0;r=$;o=$}Bp(n,d,p,q,g,h,j,r,o+f|0);c[m>>2]=c[n>>2];break};default:{c[h>>2]=c[h>>2]|4}}}while(0);c[b>>2]=c[e>>2];i=l;return}}while(0);$=pc(4)|0;lu($);Fb($|0,25544,156)}function Lp(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;d=i;m=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[m>>2];e=e|0;f=f|0;h=h+8|0;a:while(1){k=c[e>>2]|0;do{if((k|0)==0){k=0}else{if((c[k+12>>2]|0)!=(c[k+16>>2]|0)){break}if((Fc[c[(c[k>>2]|0)+36>>2]&255](k)|0)==-1){c[e>>2]=0;k=0;break}else{k=c[e>>2]|0;break}}}while(0);l=(k|0)==0;k=c[f>>2]|0;do{if((k|0)==0){j=12}else{if((c[k+12>>2]|0)!=(c[k+16>>2]|0)){if(l){break}else{break a}}if((Fc[c[(c[k>>2]|0)+36>>2]&255](k)|0)==-1){c[f>>2]=0;j=12;break}else{if(l){break}else{break a}}}}while(0);if((j|0)==12){j=0;if(l){k=0;break}else{k=0}}m=c[e>>2]|0;l=c[m+12>>2]|0;if((l|0)==(c[m+16>>2]|0)){l=(Fc[c[(c[m>>2]|0)+36>>2]&255](m)|0)&255}else{l=a[l]|0}if(!(l<<24>>24>-1)){break}if((b[(c[h>>2]|0)+(l<<24>>24<<1)>>1]&8192)==0){break}m=c[e>>2]|0;l=m+12|0;k=c[l>>2]|0;if((k|0)==(c[m+16>>2]|0)){Fc[c[(c[m>>2]|0)+40>>2]&255](m)|0;continue}else{c[l>>2]=k+1;continue}}h=c[e>>2]|0;do{if((h|0)==0){h=0}else{if((c[h+12>>2]|0)!=(c[h+16>>2]|0)){break}if((Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}}while(0);e=(h|0)==0;b:do{if((k|0)==0){j=32}else{do{if((c[k+12>>2]|0)==(c[k+16>>2]|0)){if(!((Fc[c[(c[k>>2]|0)+36>>2]&255](k)|0)==-1)){break}c[f>>2]=0;j=32;break b}}while(0);if(!e){break}i=d;return}}while(0);do{if((j|0)==32){if(e){break}i=d;return}}while(0);c[g>>2]=c[g>>2]|2;i=d;return}function Mp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+8|0;k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=j|0;b=b+8|0;b=Fc[c[(c[b>>2]|0)+8>>2]&255](b)|0;l=a[b]|0;if((l&1)==0){l=(l&255)>>>1}else{l=c[b+4>>2]|0}m=a[b+12|0]|0;if((m&1)==0){m=(m&255)>>>1}else{m=c[b+16>>2]|0}if((l|0)==(-m|0)){c[g>>2]=c[g>>2]|4;i=j;return}c[k>>2]=c[f>>2];m=bo(e,k,b,b+24|0,h,g,0)|0;h=m-b|0;do{if((m|0)==(b|0)){if((c[d>>2]|0)!=12){break}c[d>>2]=0;i=j;return}}while(0);if((h|0)!=12){i=j;return}h=c[d>>2]|0;if((h|0)>=12){i=j;return}c[d>>2]=h+12;i=j;return}function Np(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;b=i;j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];d=d|0;j=c[d>>2]|0;do{if((j|0)==0){j=0}else{if((c[j+12>>2]|0)!=(c[j+16>>2]|0)){break}if((Fc[c[(c[j>>2]|0)+36>>2]&255](j)|0)==-1){c[d>>2]=0;j=0;break}else{j=c[d>>2]|0;break}}}while(0);k=(j|0)==0;e=e|0;j=c[e>>2]|0;a:do{if((j|0)==0){h=11}else{do{if((c[j+12>>2]|0)==(c[j+16>>2]|0)){if(!((Fc[c[(c[j>>2]|0)+36>>2]&255](j)|0)==-1)){break}c[e>>2]=0;h=11;break a}}while(0);if(!k){h=12}}}while(0);if((h|0)==11){if(k){h=12}else{j=0}}if((h|0)==12){c[f>>2]=c[f>>2]|6;i=b;return}l=c[d>>2]|0;k=c[l+12>>2]|0;if((k|0)==(c[l+16>>2]|0)){k=(Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0)&255}else{k=a[k]|0}if(!((Hc[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24==37)){c[f>>2]=c[f>>2]|4;i=b;return}l=c[d>>2]|0;g=l+12|0;k=c[g>>2]|0;if((k|0)==(c[l+16>>2]|0)){Fc[c[(c[l>>2]|0)+40>>2]&255](l)|0}else{c[g>>2]=k+1}g=c[d>>2]|0;do{if((g|0)==0){g=0}else{if((c[g+12>>2]|0)!=(c[g+16>>2]|0)){break}if((Fc[c[(c[g>>2]|0)+36>>2]&255](g)|0)==-1){c[d>>2]=0;g=0;break}else{g=c[d>>2]|0;break}}}while(0);d=(g|0)==0;b:do{if((j|0)==0){h=31}else{do{if((c[j+12>>2]|0)==(c[j+16>>2]|0)){if(!((Fc[c[(c[j>>2]|0)+36>>2]&255](j)|0)==-1)){break}c[e>>2]=0;h=31;break b}}while(0);if(!d){break}i=b;return}}while(0);do{if((h|0)==31){if(d){break}i=b;return}}while(0);c[f>>2]=c[f>>2]|2;i=b;return}function Op(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;l=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[l>>2];d=d|0;l=c[d>>2]|0;do{if((l|0)==0){l=0}else{if((c[l+12>>2]|0)!=(c[l+16>>2]|0)){break}if((Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0)==-1){c[d>>2]=0;l=0;break}else{l=c[d>>2]|0;break}}}while(0);l=(l|0)==0;e=e|0;m=c[e>>2]|0;a:do{if((m|0)==0){k=11}else{do{if((c[m+12>>2]|0)==(c[m+16>>2]|0)){if(!((Fc[c[(c[m>>2]|0)+36>>2]&255](m)|0)==-1)){break}c[e>>2]=0;k=11;break a}}while(0);if(!l){k=12}}}while(0);if((k|0)==11){if(l){k=12}else{m=0}}if((k|0)==12){c[f>>2]=c[f>>2]|6;r=0;i=j;return r|0}l=c[d>>2]|0;k=c[l+12>>2]|0;if((k|0)==(c[l+16>>2]|0)){n=(Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0)&255}else{n=a[k]|0}do{if(n<<24>>24>-1){l=g+8|0;if((b[(c[l>>2]|0)+(n<<24>>24<<1)>>1]&2048)==0){break}k=g;n=(Hc[c[(c[k>>2]|0)+36>>2]&63](g,n,0)|0)<<24>>24;o=c[d>>2]|0;p=o+12|0;q=c[p>>2]|0;if((q|0)==(c[o+16>>2]|0)){Fc[c[(c[o>>2]|0)+40>>2]&255](o)|0;o=m}else{c[p>>2]=q+1;o=m}while(1){n=n-48|0;h=h-1|0;p=c[d>>2]|0;do{if((p|0)==0){p=0}else{if((c[p+12>>2]|0)!=(c[p+16>>2]|0)){break}if((Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0)==-1){c[d>>2]=0;p=0;break}else{p=c[d>>2]|0;break}}}while(0);p=(p|0)==0;do{if((o|0)==0){o=0}else{if((c[o+12>>2]|0)!=(c[o+16>>2]|0)){break}if(!((Fc[c[(c[o>>2]|0)+36>>2]&255](o)|0)==-1)){o=m;break}c[e>>2]=0;o=0;m=0}}while(0);q=c[d>>2]|0;if(!((p^(o|0)==0)&(h|0)>0)){k=40;break}p=c[q+12>>2]|0;if((p|0)==(c[q+16>>2]|0)){p=(Fc[c[(c[q>>2]|0)+36>>2]&255](q)|0)&255}else{p=a[p]|0}if(!(p<<24>>24>-1)){k=52;break}if((b[(c[l>>2]|0)+(p<<24>>24<<1)>>1]&2048)==0){k=52;break}n=((Hc[c[(c[k>>2]|0)+36>>2]&63](g,p,0)|0)<<24>>24)+(n*10|0)|0;r=c[d>>2]|0;q=r+12|0;p=c[q>>2]|0;if((p|0)==(c[r+16>>2]|0)){Fc[c[(c[r>>2]|0)+40>>2]&255](r)|0;continue}else{c[q>>2]=p+1;continue}}if((k|0)==40){do{if((q|0)==0){q=0}else{if((c[q+12>>2]|0)!=(c[q+16>>2]|0)){break}if((Fc[c[(c[q>>2]|0)+36>>2]&255](q)|0)==-1){c[d>>2]=0;q=0;break}else{q=c[d>>2]|0;break}}}while(0);g=(q|0)==0;b:do{if((m|0)==0){k=50}else{do{if((c[m+12>>2]|0)==(c[m+16>>2]|0)){if(!((Fc[c[(c[m>>2]|0)+36>>2]&255](m)|0)==-1)){break}c[e>>2]=0;k=50;break b}}while(0);if(!g){break}i=j;return n|0}}while(0);do{if((k|0)==50){if(g){break}i=j;return n|0}}while(0);c[f>>2]=c[f>>2]|2;r=n;i=j;return r|0}else if((k|0)==52){i=j;return n|0}}}while(0);c[f>>2]=c[f>>2]|4;r=0;i=j;return r|0}function Pp(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0;m=i;i=i+48|0;s=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[s>>2];s=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[s>>2];s=m|0;r=m+16|0;p=m+24|0;n=m+32|0;o=m+40|0;Lm(r,f);r=r|0;q=c[r>>2]|0;if(!((c[8714]|0)==-1)){c[s>>2]=34856;c[s+4>>2]=16;c[s+8>>2]=0;mm(34856,s,114)}s=(c[8715]|0)-1|0;t=c[q+8>>2]|0;do{if((c[q+12>>2]|0)-t>>2>>>0>s>>>0){v=c[t+(s<<2)>>2]|0;if((v|0)==0){break}q=v;Ul(c[r>>2]|0)|0;c[g>>2]=0;s=d|0;a:do{if((j|0)==(k|0)){l=71}else{u=e|0;r=v;t=v;z=v;y=b;w=n|0;x=o|0;v=p|0;A=0;b:while(1){while(1){if((A|0)!=0){l=71;break a}A=c[s>>2]|0;do{if((A|0)==0){C=1;A=0}else{B=c[A+12>>2]|0;if((B|0)==(c[A+16>>2]|0)){B=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{B=c[B>>2]|0}if(!((B|0)==-1)){C=0;break}c[s>>2]=0;C=1;A=0}}while(0);B=c[u>>2]|0;do{if((B|0)==0){l=23}else{D=c[B+12>>2]|0;if((D|0)==(c[B+16>>2]|0)){D=Fc[c[(c[B>>2]|0)+36>>2]&255](B)|0}else{D=c[D>>2]|0}if((D|0)==-1){c[u>>2]=0;l=23;break}else{if(C){break}else{l=25;break b}}}}while(0);if((l|0)==23){l=0;if(C){l=25;break b}else{B=0}}if((Hc[c[(c[r>>2]|0)+52>>2]&63](q,c[j>>2]|0,0)|0)<<24>>24==37){l=28;break}if(Hc[c[(c[t>>2]|0)+12>>2]&63](q,8192,c[j>>2]|0)|0){l=38;break}C=A+12|0;D=c[C>>2]|0;B=A+16|0;if((D|0)==(c[B>>2]|0)){D=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{D=c[D>>2]|0}F=Qc[c[(c[z>>2]|0)+28>>2]&63](q,D)|0;if((F|0)==(Qc[c[(c[z>>2]|0)+28>>2]&63](q,c[j>>2]|0)|0)){l=66;break}c[g>>2]=4;A=4}c:do{if((l|0)==28){l=0;C=j+4|0;if((C|0)==(k|0)){l=29;break b}D=Hc[c[(c[r>>2]|0)+52>>2]&63](q,c[C>>2]|0,0)|0;if((D<<24>>24|0)==69|(D<<24>>24|0)==48){C=j+8|0;if((C|0)==(k|0)){l=32;break b}j=D;D=Hc[c[(c[r>>2]|0)+52>>2]&63](q,c[C>>2]|0,0)|0}else{j=0}F=c[(c[y>>2]|0)+36>>2]|0;c[w>>2]=A;c[x>>2]=B;Oc[F&15](p,b,n,o,f,g,h,D,j);c[s>>2]=c[v>>2];j=C+4|0}else if((l|0)==38){while(1){l=0;j=j+4|0;if((j|0)==(k|0)){j=k;break}if(Hc[c[(c[t>>2]|0)+12>>2]&63](q,8192,c[j>>2]|0)|0){l=38}else{break}}D=B;C=B;while(1){do{if((A|0)==0){B=1;A=0}else{B=c[A+12>>2]|0;if((B|0)==(c[A+16>>2]|0)){B=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{B=c[B>>2]|0}if(!((B|0)==-1)){B=0;break}c[s>>2]=0;B=1;A=0}}while(0);do{if((D|0)==0){l=53}else{E=c[D+12>>2]|0;if((E|0)==(c[D+16>>2]|0)){D=Fc[c[(c[D>>2]|0)+36>>2]&255](D)|0}else{D=c[E>>2]|0}if((D|0)==-1){c[u>>2]=0;C=0;l=53;break}else{if(B^(C|0)==0){B=C;break}else{break c}}}}while(0);if((l|0)==53){l=0;if(B){break c}else{B=0}}E=A+12|0;F=c[E>>2]|0;D=A+16|0;if((F|0)==(c[D>>2]|0)){F=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{F=c[F>>2]|0}if(!(Hc[c[(c[t>>2]|0)+12>>2]&63](q,8192,F)|0)){break c}F=c[E>>2]|0;if((F|0)==(c[D>>2]|0)){Fc[c[(c[A>>2]|0)+40>>2]&255](A)|0;D=B;continue}else{c[E>>2]=F+4;D=B;continue}}}else if((l|0)==66){l=0;D=c[C>>2]|0;if((D|0)==(c[B>>2]|0)){Fc[c[(c[A>>2]|0)+40>>2]&255](A)|0}else{c[C>>2]=D+4}j=j+4|0}}while(0);if((j|0)==(k|0)){l=71;break a}A=c[g>>2]|0}if((l|0)==25){c[g>>2]=4;break}else if((l|0)==29){c[g>>2]=4;break}else if((l|0)==32){c[g>>2]=4;break}}}while(0);if((l|0)==71){A=c[s>>2]|0}d=d|0;do{if((A|0)==0){d=1;A=0}else{b=c[A+12>>2]|0;if((b|0)==(c[A+16>>2]|0)){b=Fc[c[(c[A>>2]|0)+36>>2]&255](A)|0}else{b=c[b>>2]|0}if(!((b|0)==-1)){d=0;break}c[d>>2]=0;d=1;A=0}}while(0);e=e|0;b=c[e>>2]|0;do{if((b|0)==0){l=84}else{f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0)){b=Fc[c[(c[b>>2]|0)+36>>2]&255](b)|0}else{b=c[f>>2]|0}if((b|0)==-1){c[e>>2]=0;l=84;break}if(!d){break}F=a|0;c[F>>2]=A;i=m;return}}while(0);do{if((l|0)==84){if(d){break}F=a|0;c[F>>2]=A;i=m;return}}while(0);c[g>>2]=c[g>>2]|2;F=a|0;c[F>>2]=A;i=m;return}}while(0);F=pc(4)|0;lu(F);Fb(F|0,25544,156)}function Qp(a){a=a|0;Sl(a|0);Pu(a);return}function Rp(a){a=a|0;Sl(a|0);return}function Sp(a){a=a|0;return 2}function Tp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;m=d;l=i;i=i+4|0;i=i+7&-8;c[l>>2]=c[m>>2];m=e;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[m>>2];e=j|0;d=j+8|0;c[e>>2]=c[l>>2];c[d>>2]=c[k>>2];Pp(a,b,e,d,f,g,h,19344,19376);i=j;return}function Up(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0;k=i;i=i+16|0;l=e;n=i;i=i+4|0;i=i+7&-8;c[n>>2]=c[l>>2];l=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[l>>2];l=k|0;m=k+8|0;e=d+8|0;e=Fc[c[(c[e>>2]|0)+20>>2]&255](e)|0;c[l>>2]=c[n>>2];c[m>>2]=c[f>>2];f=a[e]|0;if((f&1)==0){n=(f&255)>>>1;f=e+4|0;e=e+4|0;n=e+(n<<2)|0;Pp(b,d,l,m,g,h,j,f,n);i=k;return}else{f=c[e+8>>2]|0;n=c[e+4>>2]|0;e=f;n=f+(n<<2)|0;Pp(b,d,l,m,g,h,j,e,n);i=k;return}}function Vp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;m=j+8|0;l=j+24|0;Lm(l,f);f=l|0;l=c[f>>2]|0;if(!((c[8714]|0)==-1)){c[m>>2]=34856;c[m+4>>2]=16;c[m+8>>2]=0;mm(34856,m,114)}m=(c[8715]|0)-1|0;n=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-n>>2>>>0>m>>>0){l=c[n+(m<<2)>>2]|0;if((l|0)==0){break}Ul(c[f>>2]|0)|0;n=c[e>>2]|0;e=b+8|0;e=Fc[c[c[e>>2]>>2]&255](e)|0;c[k>>2]=n;e=(Bo(d,k,e,e+168|0,l,g,0)|0)-e|0;if((e|0)>=168){m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}c[h+24>>2]=((e|0)/12|0|0)%7|0;m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}}while(0);n=pc(4)|0;lu(n);Fb(n|0,25544,156)}function Wp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;k=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[k>>2];k=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[k>>2];k=j|0;m=j+8|0;l=j+24|0;Lm(l,f);f=l|0;l=c[f>>2]|0;if(!((c[8714]|0)==-1)){c[m>>2]=34856;c[m+4>>2]=16;c[m+8>>2]=0;mm(34856,m,114)}m=(c[8715]|0)-1|0;n=c[l+8>>2]|0;do{if((c[l+12>>2]|0)-n>>2>>>0>m>>>0){l=c[n+(m<<2)>>2]|0;if((l|0)==0){break}Ul(c[f>>2]|0)|0;n=c[e>>2]|0;e=b+8|0;e=Fc[c[(c[e>>2]|0)+4>>2]&255](e)|0;c[k>>2]=n;e=(Bo(d,k,e,e+288|0,l,g,0)|0)-e|0;if((e|0)>=288){m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}c[h+16>>2]=((e|0)/12|0|0)%12|0;m=d|0;m=c[m>>2]|0;n=a|0;c[n>>2]=m;i=j;return}}while(0);n=pc(4)|0;lu(n);Fb(n|0,25544,156)}function Xp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;b=i;i=i+32|0;j=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[j>>2];j=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[j>>2];j=b|0;l=b+8|0;k=b+24|0;Lm(k,f);f=k|0;k=c[f>>2]|0;if(!((c[8714]|0)==-1)){c[l>>2]=34856;c[l+4>>2]=16;c[l+8>>2]=0;mm(34856,l,114)}m=(c[8715]|0)-1|0;l=c[k+8>>2]|0;do{if((c[k+12>>2]|0)-l>>2>>>0>m>>>0){k=c[l+(m<<2)>>2]|0;if((k|0)==0){break}Ul(c[f>>2]|0)|0;c[j>>2]=c[e>>2];e=aq(d,j,g,k,4)|0;if((c[g>>2]&4|0)!=0){l=d|0;l=c[l>>2]|0;m=a|0;c[m>>2]=l;i=b;return}if((e|0)<69){g=e+2e3|0}else{g=(e-69|0)>>>0<31>>>0?e+1900|0:e}c[h+20>>2]=g-1900;l=d|0;l=c[l>>2]|0;m=a|0;c[m>>2]=l;i=b;return}}while(0);m=pc(4)|0;lu(m);Fb(m|0,25544,156)}function Yp(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var 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,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;l=i;i=i+328|0;U=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[U>>2];U=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[U>>2];U=l|0;Q=l+8|0;G=l+16|0;u=l+24|0;K=l+32|0;V=l+40|0;L=l+48|0;t=l+56|0;W=l+64|0;s=l+72|0;T=l+80|0;X=l+88|0;_=l+96|0;R=l+112|0;p=l+120|0;q=l+128|0;r=l+136|0;J=l+144|0;H=l+152|0;I=l+160|0;O=l+168|0;M=l+176|0;N=l+184|0;v=l+192|0;w=l+200|0;z=l+208|0;x=l+216|0;y=l+224|0;Y=l+232|0;P=l+240|0;S=l+248|0;F=l+256|0;D=l+264|0;E=l+272|0;B=l+280|0;C=l+288|0;m=l+296|0;n=l+304|0;o=l+312|0;A=l+320|0;c[h>>2]=0;Lm(R,g);R=R|0;Z=c[R>>2]|0;if(!((c[8714]|0)==-1)){c[_>>2]=34856;c[_+4>>2]=16;c[_+8>>2]=0;mm(34856,_,114)}_=(c[8715]|0)-1|0;$=c[Z+8>>2]|0;do{if((c[Z+12>>2]|0)-$>>2>>>0>_>>>0){Z=c[$+(_<<2)>>2]|0;if((Z|0)==0){break}Ul(c[R>>2]|0)|0;a:do{switch(k<<24>>24|0){case 73:{j=j+8|0;c[t>>2]=c[f>>2];g=aq(e,t,h,Z,2)|0;d=c[h>>2]|0;do{if((d&4|0)==0){if(!((g-1|0)>>>0<12>>>0)){break}c[j>>2]=g;break a}}while(0);c[h>>2]=d|4;break};case 97:case 65:{_=c[f>>2]|0;$=d+8|0;$=Fc[c[c[$>>2]>>2]&255]($)|0;c[X>>2]=_;h=(Bo(e,X,$,$+168|0,Z,h,0)|0)-$|0;if((h|0)>=168){break a}c[j+24>>2]=((h|0)/12|0|0)%7|0;break};case 72:{c[W>>2]=c[f>>2];g=aq(e,W,h,Z,2)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<24){c[j+8>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 109:{c[V>>2]=c[f>>2];g=aq(e,V,h,Z,2)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<13){c[j+16>>2]=g-1;break a}else{c[h>>2]=d|4;break a}};case 89:{c[U>>2]=c[f>>2];g=aq(e,U,h,Z,4)|0;if((c[h>>2]&4|0)!=0){break a}c[j+20>>2]=g-1900;break};case 37:{c[A>>2]=c[f>>2];$p(0,e,A,h,Z);break};case 98:case 66:case 104:{_=c[f>>2]|0;$=d+8|0;$=Fc[c[(c[$>>2]|0)+4>>2]&255]($)|0;c[T>>2]=_;h=(Bo(e,T,$,$+288|0,Z,h,0)|0)-$|0;if((h|0)>=288){break a}c[j+16>>2]=((h|0)/12|0|0)%12|0;break};case 120:{$=c[(c[d>>2]|0)+20>>2]|0;c[B>>2]=c[e>>2];c[C>>2]=c[f>>2];Mc[$&127](b,d,B,C,g,h,j);i=l;return};case 88:{q=d+8|0;q=Fc[c[(c[q>>2]|0)+24>>2]&255](q)|0;p=e|0;c[n>>2]=c[p>>2];c[o>>2]=c[f>>2];f=a[q]|0;if((f&1)==0){f=(f&255)>>>1;r=q+4|0;q=q+4|0}else{$=c[q+8>>2]|0;f=c[q+4>>2]|0;r=$;q=$}Pp(m,d,n,o,g,h,j,r,q+(f<<2)|0);c[p>>2]=c[m>>2];break};case 82:{$=e|0;c[P>>2]=c[$>>2];c[S>>2]=c[f>>2];Pp(Y,d,P,S,g,h,j,19240,19260);c[$>>2]=c[Y>>2];break};case 83:{c[u>>2]=c[f>>2];d=aq(e,u,h,Z,2)|0;g=c[h>>2]|0;if((g&4|0)==0&(d|0)<61){c[j>>2]=d;break a}else{c[h>>2]=g|4;break a}};case 110:case 116:{c[v>>2]=c[f>>2];Zp(0,e,v,h,Z);break};case 112:{c[w>>2]=c[f>>2];_p(d,j+8|0,e,w,h,Z);break};case 114:{$=e|0;c[x>>2]=c[$>>2];c[y>>2]=c[f>>2];Pp(z,d,x,y,g,h,j,19264,19308);c[$>>2]=c[z>>2];break};case 99:{n=d+8|0;n=Fc[c[(c[n>>2]|0)+12>>2]&255](n)|0;m=e|0;c[q>>2]=c[m>>2];c[r>>2]=c[f>>2];f=a[n]|0;if((f&1)==0){o=(f&255)>>>1;f=n+4|0;n=n+4|0}else{$=c[n+8>>2]|0;o=c[n+4>>2]|0;f=$;n=$}Pp(p,d,q,r,g,h,j,f,n+(o<<2)|0);c[m>>2]=c[p>>2];break};case 84:{$=e|0;c[D>>2]=c[$>>2];c[E>>2]=c[f>>2];Pp(F,d,D,E,g,h,j,19208,19240);c[$>>2]=c[F>>2];break};case 119:{c[G>>2]=c[f>>2];g=aq(e,G,h,Z,1)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<7){c[j+24>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 68:{$=e|0;c[H>>2]=c[$>>2];c[I>>2]=c[f>>2];Pp(J,d,H,I,g,h,j,19312,19344);c[$>>2]=c[J>>2];break};case 77:{c[K>>2]=c[f>>2];g=aq(e,K,h,Z,2)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<60){c[j+4>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 106:{c[L>>2]=c[f>>2];g=aq(e,L,h,Z,3)|0;d=c[h>>2]|0;if((d&4|0)==0&(g|0)<366){c[j+28>>2]=g;break a}else{c[h>>2]=d|4;break a}};case 70:{$=e|0;c[M>>2]=c[$>>2];c[N>>2]=c[f>>2];Pp(O,d,M,N,g,h,j,19176,19208);c[$>>2]=c[O>>2];break};case 100:case 101:{j=j+12|0;c[s>>2]=c[f>>2];d=aq(e,s,h,Z,2)|0;g=c[h>>2]|0;do{if((g&4|0)==0){if(!((d-1|0)>>>0<31>>>0)){break}c[j>>2]=d;break a}}while(0);c[h>>2]=g|4;break};case 121:{c[Q>>2]=c[f>>2];g=aq(e,Q,h,Z,4)|0;if((c[h>>2]&4|0)!=0){break a}if((g|0)<69){h=g+2e3|0}else{h=(g-69|0)>>>0<31>>>0?g+1900|0:g}c[j+20>>2]=h-1900;break};default:{c[h>>2]=c[h>>2]|4}}}while(0);c[b>>2]=c[e>>2];i=l;return}}while(0);$=pc(4)|0;lu($);Fb($|0,25544,156)}function Zp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;a=i;h=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[h>>2];b=b|0;d=d|0;h=f;a:while(1){k=c[b>>2]|0;do{if((k|0)==0){j=1}else{j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0)){j=Fc[c[(c[k>>2]|0)+36>>2]&255](k)|0}else{j=c[j>>2]|0}if((j|0)==-1){c[b>>2]=0;j=1;break}else{j=(c[b>>2]|0)==0;break}}}while(0);k=c[d>>2]|0;do{if((k|0)==0){g=15}else{l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0)){l=Fc[c[(c[k>>2]|0)+36>>2]&255](k)|0}else{l=c[l>>2]|0}if((l|0)==-1){c[d>>2]=0;g=15;break}else{if(j){j=k;break}else{f=k;break a}}}}while(0);if((g|0)==15){g=0;if(j){f=0;break}else{j=0}}l=c[b>>2]|0;k=c[l+12>>2]|0;if((k|0)==(c[l+16>>2]|0)){k=Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0}else{k=c[k>>2]|0}if(!(Hc[c[(c[h>>2]|0)+12>>2]&63](f,8192,k)|0)){f=j;break}j=c[b>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Fc[c[(c[j>>2]|0)+40>>2]&255](j)|0;continue}else{c[k>>2]=l+4;continue}}h=c[b>>2]|0;do{if((h|0)==0){b=1}else{j=c[h+12>>2]|0;if((j|0)==(c[h+16>>2]|0)){h=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{h=c[j>>2]|0}if((h|0)==-1){c[b>>2]=0;b=1;break}else{b=(c[b>>2]|0)==0;break}}}while(0);do{if((f|0)==0){g=37}else{h=c[f+12>>2]|0;if((h|0)==(c[f+16>>2]|0)){f=Fc[c[(c[f>>2]|0)+36>>2]&255](f)|0}else{f=c[h>>2]|0}if((f|0)==-1){c[d>>2]=0;g=37;break}if(!b){break}i=a;return}}while(0);do{if((g|0)==37){if(b){break}i=a;return}}while(0);c[e>>2]=c[e>>2]|2;i=a;return}function _p(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+8|0;k=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[k>>2];k=j|0;b=b+8|0;b=Fc[c[(c[b>>2]|0)+8>>2]&255](b)|0;l=a[b]|0;if((l&1)==0){l=(l&255)>>>1}else{l=c[b+4>>2]|0}m=a[b+12|0]|0;if((m&1)==0){m=(m&255)>>>1}else{m=c[b+16>>2]|0}if((l|0)==(-m|0)){c[g>>2]=c[g>>2]|4;i=j;return}c[k>>2]=c[f>>2];m=Bo(e,k,b,b+24|0,h,g,0)|0;h=m-b|0;do{if((m|0)==(b|0)){if((c[d>>2]|0)!=12){break}c[d>>2]=0;i=j;return}}while(0);if((h|0)!=12){i=j;return}h=c[d>>2]|0;if((h|0)>=12){i=j;return}c[d>>2]=h+12;i=j;return}function $p(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;a=i;h=d;d=i;i=i+4|0;i=i+7&-8;c[d>>2]=c[h>>2];b=b|0;h=c[b>>2]|0;do{if((h|0)==0){j=1}else{j=c[h+12>>2]|0;if((j|0)==(c[h+16>>2]|0)){h=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{h=c[j>>2]|0}if((h|0)==-1){c[b>>2]=0;j=1;break}else{j=(c[b>>2]|0)==0;break}}}while(0);d=d|0;h=c[d>>2]|0;do{if((h|0)==0){g=14}else{k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0)){k=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{k=c[k>>2]|0}if((k|0)==-1){c[d>>2]=0;g=14;break}else{if(j){break}else{g=16;break}}}}while(0);if((g|0)==14){if(j){g=16}else{h=0}}if((g|0)==16){c[e>>2]=c[e>>2]|6;i=a;return}k=c[b>>2]|0;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0)){j=Fc[c[(c[k>>2]|0)+36>>2]&255](k)|0}else{j=c[j>>2]|0}if(!((Hc[c[(c[f>>2]|0)+52>>2]&63](f,j,0)|0)<<24>>24==37)){c[e>>2]=c[e>>2]|4;i=a;return}k=c[b>>2]|0;j=k+12|0;f=c[j>>2]|0;if((f|0)==(c[k+16>>2]|0)){Fc[c[(c[k>>2]|0)+40>>2]&255](k)|0}else{c[j>>2]=f+4}f=c[b>>2]|0;do{if((f|0)==0){b=1}else{j=c[f+12>>2]|0;if((j|0)==(c[f+16>>2]|0)){f=Fc[c[(c[f>>2]|0)+36>>2]&255](f)|0}else{f=c[j>>2]|0}if((f|0)==-1){c[b>>2]=0;b=1;break}else{b=(c[b>>2]|0)==0;break}}}while(0);do{if((h|0)==0){g=38}else{f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){f=Fc[c[(c[h>>2]|0)+36>>2]&255](h)|0}else{f=c[f>>2]|0}if((f|0)==-1){c[d>>2]=0;g=38;break}if(!b){break}i=a;return}}while(0);do{if((g|0)==38){if(b){break}i=a;return}}while(0);c[e>>2]=c[e>>2]|2;i=a;return}function aq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;j=b;b=i;i=i+4|0;i=i+7&-8;c[b>>2]=c[j>>2];a=a|0;j=c[a>>2]|0;do{if((j|0)==0){j=1}else{k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0)){j=Fc[c[(c[j>>2]|0)+36>>2]&255](j)|0}else{j=c[k>>2]|0}if((j|0)==-1){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}}while(0);b=b|0;l=c[b>>2]|0;do{if((l|0)==0){h=14}else{k=c[l+12>>2]|0;if((k|0)==(c[l+16>>2]|0)){k=Fc[c[(c[l>>2]|0)+36>>2]&255](l)|0}else{k=c[k>>2]|0}if((k|0)==-1){c[b>>2]=0;h=14;break}else{if(j){break}else{h=16;break}}}}while(0);if((h|0)==14){if(j){h=16}else{l=0}}if((h|0)==16){c[d>>2]=c[d>>2]|6;q=0;i=g;return q|0}j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0)){m=Fc[c[(c[j>>2]|0)+36>>2]&255](j)|0}else{m=c[k>>2]|0}k=e;if(!(Hc[c[(c[k>>2]|0)+12>>2]&63](e,2048,m)|0)){c[d>>2]=c[d>>2]|4;q=0;i=g;return q|0}j=e;o=(Hc[c[(c[j>>2]|0)+52>>2]&63](e,m,0)|0)<<24>>24;p=c[a>>2]|0;n=p+12|0;m=c[n>>2]|0;if((m|0)==(c[p+16>>2]|0)){Fc[c[(c[p>>2]|0)+40>>2]&255](p)|0;n=l;m=l}else{c[n>>2]=m+4;n=l;m=l}while(1){l=o-48|0;f=f-1|0;o=c[a>>2]|0;do{if((o|0)==0){o=1}else{p=c[o+12>>2]|0;if((p|0)==(c[o+16>>2]|0)){o=Fc[c[(c[o>>2]|0)+36>>2]&255](o)|0}else{o=c[p>>2]|0}if((o|0)==-1){c[a>>2]=0;o=1;break}else{o=(c[a>>2]|0)==0;break}}}while(0);do{if((n|0)==0){q=1;n=0}else{p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){n=Fc[c[(c[n>>2]|0)+36>>2]&255](n)|0}else{n=c[p>>2]|0}if((n|0)==-1){c[b>>2]=0;q=1;n=0;m=0;break}else{q=(m|0)==0;n=m;break}}}while(0);p=c[a>>2]|0;if(!((o^q)&(f|0)>0)){break}o=c[p+12>>2]|0;if((o|0)==(c[p+16>>2]|0)){o=Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0}else{o=c[o>>2]|0}if(!(Hc[c[(c[k>>2]|0)+12>>2]&63](e,2048,o)|0)){h=63;break}o=((Hc[c[(c[j>>2]|0)+52>>2]&63](e,o,0)|0)<<24>>24)+(l*10|0)|0;p=c[a>>2]|0;l=p+12|0;q=c[l>>2]|0;if((q|0)==(c[p+16>>2]|0)){Fc[c[(c[p>>2]|0)+40>>2]&255](p)|0;continue}else{c[l>>2]=q+4;continue}}if((h|0)==63){i=g;return l|0}do{if((p|0)==0){a=1}else{e=c[p+12>>2]|0;if((e|0)==(c[p+16>>2]|0)){e=Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0}else{e=c[e>>2]|0}if((e|0)==-1){c[a>>2]=0;a=1;break}else{a=(c[a>>2]|0)==0;break}}}while(0);do{if((m|0)==0){h=60}else{e=c[m+12>>2]|0;if((e|0)==(c[m+16>>2]|0)){e=Fc[c[(c[m>>2]|0)+36>>2]&255](m)|0}else{e=c[e>>2]|0}if((e|0)==-1){c[b>>2]=0;h=60;break}if(!a){break}i=g;return l|0}}while(0);do{if((h|0)==60){if(a){break}i=g;return l|0}}while(0);c[d>>2]=c[d>>2]|2;q=l;i=g;return q|0}function bq(b){b=b|0;var d=0,e=0,f=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){f=b|0;Sl(f);f=b;Pu(f);return}pb(c[d>>2]|0);f=b|0;Sl(f);f=b;Pu(f);return}function cq(b){b=b|0;var d=0,e=0,f=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){f=b|0;Sl(f);return}pb(c[d>>2]|0);f=b|0;Sl(f);return}function dq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;f=i;i=i+112|0;p=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[p>>2];p=f|0;l=f+8|0;g=l|0;n=p|0;a[n]=37;m=p+1|0;a[m]=j;o=p+2|0;a[o]=k;a[p+3|0]=0;if(!(k<<24>>24==0)){a[m]=k;a[o]=j}p=gc(g|0,100,n|0,h|0,c[d+8>>2]|0)|0;d=l+p|0;k=c[e>>2]|0;if((p|0)==0){o=k;p=b|0;c[p>>2]=o;i=f;return}else{e=k}do{j=a[g]|0;do{if((e|0)==0){e=0}else{l=e+24|0;h=c[l>>2]|0;if((h|0)==(c[e+28>>2]|0)){j=(Qc[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=j?0:e;k=j?0:k;break}else{c[l>>2]=h+1;a[h]=j;break}}}while(0);g=g+1|0;}while((g|0)!=(d|0));p=b|0;c[p>>2]=k;i=f;return}function eq(b){b=b|0;var d=0,e=0,f=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){f=b|0;Sl(f);f=b;Pu(f);return}pb(c[d>>2]|0);f=b|0;Sl(f);f=b;Pu(f);return}function fq(b){b=b|0;var d=0,e=0,f=0;d=b+8|0;e=c[d>>2]|0;do{if((a[51808]|0)==0){if((ub(51808)|0)==0){break}f=Xa(2147483647,14472,0)|0;c[8330]=f}}while(0);if((e|0)==(c[8330]|0)){f=b|0;Sl(f);return}pb(c[d>>2]|0);f=b|0;Sl(f);return}function gq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;f=i;i=i+408|0;l=d;k=i;i=i+4|0;i=i+7&-8;c[k>>2]=c[l>>2];l=f|0;e=f+400|0;d=l|0;c[e>>2]=l+400;hq(b+8|0,d,e,g,h,j);h=c[e>>2]|0;b=c[k>>2]|0;if((d|0)==(h|0)){k=b;l=a|0;c[l>>2]=k;i=f;return}else{g=b}do{k=c[d>>2]|0;if((g|0)==0){g=0}else{j=g+24|0;e=c[j>>2]|0;if((e|0)==(c[g+28>>2]|0)){k=Qc[c[(c[g>>2]|0)+52>>2]&63](g,k)|0}else{c[j>>2]=e+4;c[e>>2]=k}j=(k|0)==-1;g=j?0:g;b=j?0:b}d=d+4|0;}while((d|0)!=(h|0));l=a|0;c[l>>2]=b;i=f;return}function hq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+120|0;q=j|0;k=j+112|0;l=i;i=i+4|0;i=i+7&-8;m=j+8|0;o=q|0;a[o]=37;p=q+1|0;a[p]=g;n=q+2|0;a[n]=h;a[q+3|0]=0;if(!(h<<24>>24==0)){a[p]=h;a[n]=g}g=b|0;gc(m|0,100,o|0,f|0,c[g>>2]|0)|0;c[k>>2]=0;c[k+4>>2]=0;c[l>>2]=m;q=(c[e>>2]|0)-d>>2;m=bc(c[g>>2]|0)|0;k=bu(d,l,q,k)|0;if((m|0)!=0){bc(m|0)|0}if((k|0)==-1){dr(8296)}else{c[e>>2]=d+(k<<2);i=j;return}}function iq(a){a=a|0;Sl(a|0);Pu(a);return}function jq(a){a=a|0;Sl(a|0);return}function kq(a){a=a|0;return 127}function lq(a){a=a|0;return 127}function mq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function nq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function oq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function pq(a,b){a=a|0;b=b|0;qm(a,1,45);return}function qq(a){a=a|0;return 0}function rq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function sq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function tq(a){a=a|0;Sl(a|0);Pu(a);return}function uq(a){a=a|0;Sl(a|0);return}function vq(a){a=a|0;return 127}function wq(a){a=a|0;return 127}function xq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function yq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function zq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Aq(a,b){a=a|0;b=b|0;qm(a,1,45);return}function Bq(a){a=a|0;return 0}function Cq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Dq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Eq(a){a=a|0;Sl(a|0);Pu(a);return}function Fq(a){a=a|0;Sl(a|0);return}function Gq(a){a=a|0;return 2147483647}function Hq(a){a=a|0;return 2147483647}function Iq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Jq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Kq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Lq(a,b){a=a|0;b=b|0;Bm(a,1,45);return}function Mq(a){a=a|0;return 0}function Nq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Oq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Pq(a){a=a|0;Sl(a|0);Pu(a);return}function Qq(a){a=a|0;Sl(a|0);return}function Rq(a){a=a|0;return 2147483647}function Sq(a){a=a|0;return 2147483647}function Tq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Uq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Vq(a,b){a=a|0;b=b|0;dv(a|0,0,12)|0;return}function Wq(a,b){a=a|0;b=b|0;Bm(a,1,45);return}function Xq(a){a=a|0;return 0}function Yq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function Zq(b,c){b=b|0;c=c|0;c=b;C=67109634;a[c]=C;C=C>>8;a[c+1|0]=C;C=C>>8;a[c+2|0]=C;C=C>>8;a[c+3|0]=C;return}function _q(a){a=a|0;Sl(a|0);Pu(a);return}function $q(a){a=a|0;Sl(a|0);return}function ar(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var 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;l=i;i=i+280|0;y=e;e=i;i=i+4|0;i=i+7&-8;c[e>>2]=c[y>>2];y=f;f=i;i=i+4|0;i=i+7&-8;c[f>>2]=c[y>>2];y=l|0;v=l+16|0;t=l+120|0;p=l+128|0;w=l+136|0;r=l+144|0;u=l+152|0;q=l+160|0;s=l+176|0;d=t|0;c[d>>2]=v;m=t+4|0;c[m>>2]=194;v=v+100|0;Lm(w,h);o=w|0;x=c[o>>2]|0;if(!((c[8716]|0)==-1)){c[y>>2]=34864;c[y+4>>2]=16;c[y+8>>2]=0;mm(34864,y,114)}z=(c[8717]|0)-1|0;y=c[x+8>>2]|0;do{if((c[x+12>>2]|0)-y>>2>>>0>z>>>0){y=c[y+(z<<2)>>2]|0;if((y|0)==0){break}x=y;a[r]=0;f=f|0;c[u>>2]=c[f>>2];do{if(cr(e,u,g,w,c[h+4>>2]|0,j,r,x,t,p,v)|0){h=q|0;Sc[c[(c[y>>2]|0)+32>>2]&15](x,19160,19170,h)|0;s=s|0;v=c[p>>2]|0;t=c[d>>2]|0;g=v-t|0;do{if((g|0)>98){g=Gu(g+2|0)|0;if((g|0)!=0){u=g;break}Uu();u=0;g=0}else{u=s;g=0}}while(0);if((a[r]|0)!=0){a[u]=45;u=u+1|0}if(t>>>0<v>>>0){r=q+10|0;do{v=a[t]|0;x=h;while(1){w=x+1|0;if((a[x]|0)==v<<24>>24){break}if((w|0)==(r|0)){x=r;break}else{x=w}}a[u]=a[19160+(x-q)|0]|0;t=t+1|0;u=u+1|0;}while(t>>>0<(c[p>>2]|0)>>>0)}a[u]=0;z=dc(s|0,15784,(y=i,i=i+8|0,c[y>>2]=k,y)|0)|0;i=y;if((z|0)==1){if((g|0)==0){break}Hu(g);break}z=pc(8)|0;_l(z,15400);Fb(z|0,25560,30)}}while(0);k=e|0;e=c[k>>2]|0;do{if((e|0)==0){e=0}else{if((c[e+12>>2]|0)!=(c[e+16>>2]|0)){break}if(!((Fc[c[(c[e>>2]|0)+36>>2]&255](e)|0)==-1)){break}c[k>>2]=0;e=0}}while(0);k=(e|0)==0;p=c[f>>2]|0;do{if((p|0)==0){n=45}else{if((c[p+12>>2]|0)!=(c[p+16>>2]|0)){if(k){break}else{n=47;break}}if((Fc[c[(c[p>>2]|0)+36>>2]&255](p)|0)==-1){c[f>>2]=0;n=45;break}else{if(k){break}else{n=47;break}}}}while(0);if((n|0)==45){if(k){n=47}}if((n|0)==47){c[j>>2]=c[j>>2]|2}c[b>>2]=e;Ul(c[o>>2]|0)|0;b=c[d>>2]|0;c[d>>2]=0;if((b|0)==0){i=l;return}Dc[c[m>>2]&511](b);i=l;return}}while(0);z=pc(4)|0;lu(z);Fb(z|0,25544,156)}function br(a){a=a|0;return}
-
-
-
-
-// EMSCRIPTEN_END_FUNCS
-var Cc=[Rv,Rv,Vf,Rv,Nf,Rv,Bu,Rv,Cu,Rv,Qf,Rv,Au,Rv,Mf,Rv,Wf,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv,Rv];var Dc=[Sv,Sv,Hr,Sv,_n,Sv,pp,Sv,cm,Sv,jk,Sv,Om,Sv,Mr,Sv,Zr,Sv,Kl,Sv,Rh,Sv,xl,Sv,ap,Sv,Wl,Sv,Ls,Sv,am,Sv,yo,Sv,Ti,Sv,Qn,Sv,Mn,Sv,Xl,Sv,Xr,Sv,ls,Sv,Rp,Sv,zo,Sv,lu,Sv,En,Sv,Dr,Sv,Yr,Sv,qn,Sv,$n,Sv,Eq,Sv,Rr,Sv,yj,Sv,it,Sv,qu,Sv,ht,Sv,Kn,Sv,am,Sv,Wn,Sv,fk,Sv,jq,Sv,kt,Sv,_r,Sv,Hu,Sv,wr,Sv,gt,Sv,On,Sv,jj,Sv,un,Sv,wl,Sv,th,Sv,ck,Sv,Vn,Sv,eq,Sv,Xl,Sv,Ed,Sv,St,Sv,bp,Sv,Ws,Sv,rf,Sv,Fq,Sv,pn,Sv,Bn,Sv,bq,Sv,Qp,Sv,Nn,Sv,tq,Sv,Bk,Sv,Ru,Sv,Nm,Sv,Le,Sv,Vt,Sv,Wt,Sv,Fn,Sv,an,Sv,Si,Sv,vs,Sv,nu,Sv,rn,Sv,Ln,Sv,_q,Sv,ol,Sv,Pq,Sv,Gn,Sv,Vr,Sv,tu,Sv,Su,Sv,Yt,Sv,ru,Sv,Dl,Sv,Qr,Sv,vj,Sv,cq,Sv,jr,Sv,mu,Sv,ft,Sv,br,Sv,Oh,Sv,Xt,Sv,iq,Sv,op,Sv,Pn,Sv,El,Sv,Ut,Sv,Rn,Sv,wn,Sv,km,Sv,ql,Sv,Ds,Sv,qr,Sv,ir,Sv,sh,Sv,jt,Sv,xr,Sv,Cm,Sv,kj,Sv,Cd,Sv,nu,Sv,uu,Sv,An,Sv,Me,Sv,lm,Sv,bk,Sv,on,Sv,pu,Sv,ik,Sv,qf,Sv,Be,Sv,Dn,Sv,gk,Sv,Cr,Sv,hk,Sv,Km,Sv,zn,Sv,Ll,Sv,Tr,Sv,Qq,Sv,Cp,Sv,uq,Sv,Ne,Sv,Fe,Sv,vn,Sv,$m,Sv,yn,Sv,xj,Sv,Dp,Sv,su,Sv,Ir,Sv,pl,Sv,tn,Sv,ek,Sv,fq,Sv,Ee,Sv,Ck,Sv,rr,Sv,$q,Sv,rm,Sv,ms,Sv,$l,Sv,kl,Sv,Zt,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv,Sv];var Ec=[Tv,Tv,tt,Tv,Vq,Tv,xq,Tv,qt,Tv,Oq,Tv,pt,Tv,Dq,Tv,zj,Tv,rl,Tv,ak,Tv,Gr,Tv,Jq,Tv,pq,Tv,Yq,Tv,Lq,Tv,oq,Tv,Tq,Tv,mq,Tv,Wq,Tv,Ur,Tv,Fl,Tv,yl,Tv,Zq,Tv,Dd,Tv,st,Tv,Yf,Tv,yq,Tv,_l,Tv,ut,Tv,Nq,Tv,Aq,Tv,rt,Tv,Cq,Tv,Pm,Tv,Ml,Tv,Lr,Tv,Iq,Tv,$j,Tv,sq,Tv,rq,Tv,nq,Tv,bn,Tv,Kq,Tv,Ge,Tv,Uq,Tv,zq,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv,Tv];var Fc=[Uv,Uv,It,Uv,Hq,Uv,Wm,Uv,As,Uv,yt,Uv,Xm,Uv,bt,Uv,Gt,Uv,vq,Uv,Ep,Uv,wt,Uv,Ol,Uv,kn,Uv,jn,Uv,at,Uv,Ct,Uv,At,Uv,ou,Uv,bm,Uv,lt,Uv,Bt,Uv,Ft,Uv,mt,Uv,Tm,Uv,zs,Uv,Xq,Uv,Dt,Uv,sl,Uv,wq,Uv,Ss,Uv,Rq,Uv,vt,Uv,zl,Uv,Tu,Uv,In,Uv,qq,Uv,Al,Uv,nt,Uv,Um,Uv,fn,Uv,Gl,Uv,Cs,Uv,Bq,Uv,Ht,Uv,Nl,Uv,Rs,Uv,Is,Uv,gn,Uv,kq,Uv,xt,Uv,lq,Uv,Yl,Uv,Ik,Uv,Gq,Uv,Ks,Uv,Mq,Uv,zt,Uv,Sq,Uv,Hs,Uv,Sp,Uv,ot,Uv,Et,Uv,Vs,Uv,et,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv,Uv];var Gc=[Vv,Vv,ks,Vv,Qs,Vv,Xn,Vv,ct,Vv,Ts,Vv,us,Vv,Gs,Vv,Sn,Vv,ys,Vv,Bs,Vv,$s,Vv,Js,Vv,Vv,Vv,Vv,Vv,Vv,Vv];var Hc=[Wv,Wv,Un,Wv,os,Wv,gs,Wv,vu,Wv,js,Wv,Zn,Wv,fm,Wv,Zm,Wv,Vm,Wv,$r,Wv,cn,Wv,Jr,Wv,ts,Wv,es,Wv,tl,Wv,gm,Wv,hn,Wv,qs,Wv,Er,Wv,Qm,Wv,Hl,Wv,mn,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv,Wv];var Ic=[Xv,Xv,zp,Xv,xp,Xv,mp,Xv,jp,Xv,Xv,Xv,Xv,Xv,Xv,Xv];var Jc=[Yv,Yv,gh,Yv,qh,Yv,ch,Yv,Hg,Yv,gq,Yv,fh,Yv,ph,Yv,dq,Yv,eh,Yv,mh,Yv,oh,Yv,ih,Yv,hh,Yv,ar,Yv,kr,Yv,jh,Yv,lh,Yv,nh,Yv,er,Yv,kh,Yv,Ng,Yv,rh,Yv,mr,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv,Yv];var Kc=[Zv,Zv,Du,Zv,vp,Zv,rp,Zv,qp,Zv,Eu,Zv,Ap,Zv,Fr,Zv,dn,Zv,np,Zv,Ag,Zv,cp,Zv,hp,Zv,dp,Zv,Fu,Zv,Rm,Zv,Kr,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv,Zv];var Lc=[_v,_v,Gg,_v];var Mc=[$v,$v,Jp,$v,Tp,$v,Tg,$v,_g,$v,Vp,$v,Br,$v,Wg,$v,wp,$v,up,$v,vr,$v,$g,$v,Fp,$v,Mg,$v,Og,$v,Dg,$v,ah,$v,Ip,$v,Ug,$v,Wp,$v,Eg,$v,ip,$v,Rg,$v,Oo,$v,Yg,$v,Uo,$v,Qg,$v,Hp,$v,Vg,$v,Io,$v,Up,$v,gp,$v,Xg,$v,Mo,$v,Eo,$v,Go,$v,vo,$v,Ko,$v,Co,$v,Ao,$v,So,$v,Qo,$v,bh,$v,Sg,$v,Xp,$v,jo,$v,Gp,$v,no,$v,fo,$v,ho,$v,lo,$v,co,$v,to,$v,ro,$v,po,$v,ao,$v,Zg,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v];var Nc=[aw,aw,yr,aw,sr,aw,aw,aw];var Oc=[bw,bw,Bg,bw,Yp,bw,Ig,bw,Kp,bw,bw,bw,bw,bw,bw,bw];var Pc=[cw,cw,Jg,cw,Lg,cw,Fg,cw,Kg,cw,cw,cw,cw,cw,cw,cw];var Qc=[dw,dw,ps,dw,Pl,dw,hs,dw,ln,dw,rs,dw,of,dw,ns,dw,Bl,dw,Il,dw,ds,dw,pf,dw,nn,dw,fs,dw,_m,dw,Ym,dw,ul,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw,dw];var Rc=[ew,ew,Cg,ew];var Sc=[fw,fw,as,fw,Mh,fw,bs,fw,ss,fw,is,fw,cs,fw,fw,fw];var Tc=[gw,gw,yg,gw,Xf,gw,xg,gw,qg,gw,Uf,gw,gg,gw,tg,gw,jg,gw,wg,gw,ug,gw,Of,gw,$f,gw,zg,gw,Zf,gw,kg,gw,sg,gw,em,gw,Jn,gw,ig,gw,Tf,gw,Nh,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw];var Uc=[hw,hw,vv,hw];var Vc=[iw,iw,Es,iw,Os,iw,Ms,iw,Zs,iw,Fs,iw,Xs,iw,ws,iw,xs,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw,iw];var Wc=[jw,jw,eg,jw,cg,jw,xu,jw,yu,jw,ag,jw,lg,jw,dg,jw,Pf,jw,ng,jw,Sf,jw,wu,jw,og,jw,pg,jw,fg,jw,Sm,jw,Yn,jw,en,jw,Rf,jw,Tn,jw,_f,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw,jw];return{_de265_get_error_text:Nd,_strlen:ev,_de265_get_image_plane_user_data:pe,_de265_release_next_picture:_d,_de265_push_end_of_NAL:Vd,_de265_get_highest_TID:$d,_de265_free_decoder:Qd,_de265_set_limit_TID:be,_de265_get_image_plane:oe,_de265_get_parameter_bool:he,_de265_get_version:Ld,_de265_change_framerate:de,_de265_get_image_width:ke,_de265_set_parameter_int:ge,_de265_get_current_TID:ae,_memset:dv,_de265_isOK:Od,_de265_push_end_of_frame:Wd,_memcpy:cv,_de265_set_framerate_ratio:ce,_de265_get_bits_per_pixel:me,_de265_get_chroma_format:ne,_de265_get_image_user_data:re,_de265_get_version_number:Md,_de265_get_image_PTS:qe,_de265_get_number_of_input_bytes_pending:ie,_de265_flush_data:Sd,_realloc:Iu,_de265_new_decoder:Pd,_de265_get_number_of_NAL_units_pending:je,_de265_get_next_picture:Yd,_de265_peek_next_picture:Zd,_de265_decode:Td,_de265_set_parameter_bool:fe,_de265_push_NAL:Ud,_free:Hu,_memmove:fv,__GLOBAL__I_a:Rl,_de265_set_verbosity:Xk,_de265_get_image_height:le,_de265_reset:Xd,_malloc:Gu,_emscripten_replace_memory:gv,_de265_get_warning:ee,_de265_push_data:Rd,_de265_set_image_user_data:se,runPostSets:ld,stackAlloc:Xc,stackSave:Yc,stackRestore:Zc,setThrew:_c,setTempRet0:bd,setTempRet1:cd,setTempRet2:dd,setTempRet3:ed,setTempRet4:fd,setTempRet5:gd,setTempRet6:hd,setTempRet7:id,setTempRet8:jd,setTempRet9:kd,dynCall_viiiii:wv,dynCall_vi:xv,dynCall_vii:yv,dynCall_ii:zv,dynCall_iiiiii:Av,dynCall_iiii:Bv,dynCall_viiiiid:Cv,dynCall_viiiiiiii:Dv,dynCall_viiiiii:Ev,dynCall_viiiiiiiiiiiii:Fv,dynCall_viiiiiii:Gv,dynCall_viiiiiid:Hv,dynCall_viiiiiiiii:Iv,dynCall_viiiiiiiiii:Jv,dynCall_iii:Kv,dynCall_viiiiiiiiiiii:Lv,dynCall_iiiii:Mv,dynCall_viii:Nv,dynCall_v:Ov,dynCall_iiiiiiiii:Pv,dynCall_viiii:Qv}
-// EMSCRIPTEN_END_ASM
-
-})({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array},{abort:ga,assert:K,asmPrintInt:function(a,b){e.print("int "+a+","+b)},asmPrintFloat:function(a,b){e.print("float "+a+","+b)},min:Ka,invoke_viiiii:function(a,b,c,d,i,h){try{e.dynCall_viiiii(a,b,c,d,i,h)}catch(g){"number"!==typeof g&&"longjmp"!==g&&l(g),k.setThrew(1,
-0)}},invoke_vi:function(a,b){try{e.dynCall_vi(a,b)}catch(c){"number"!==typeof c&&"longjmp"!==c&&l(c),k.setThrew(1,0)}},invoke_vii:function(a,b,c){try{e.dynCall_vii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&l(d),k.setThrew(1,0)}},invoke_ii:function(a,b){try{return e.dynCall_ii(a,b)}catch(c){"number"!==typeof c&&"longjmp"!==c&&l(c),k.setThrew(1,0)}},invoke_iiiiii:function(a,b,c,d,i,h){try{return e.dynCall_iiiiii(a,b,c,d,i,h)}catch(g){"number"!==typeof g&&"longjmp"!==g&&l(g),k.setThrew(1,0)}},
-invoke_iiii:function(a,b,c,d){try{return e.dynCall_iiii(a,b,c,d)}catch(i){"number"!==typeof i&&"longjmp"!==i&&l(i),k.setThrew(1,0)}},invoke_viiiiid:function(a,b,c,d,i,h,g){try{e.dynCall_viiiiid(a,b,c,d,i,h,g)}catch(j){"number"!==typeof j&&"longjmp"!==j&&l(j),k.setThrew(1,0)}},invoke_viiiiiiii:function(a,b,c,d,i,h,g,j,n){try{e.dynCall_viiiiiiii(a,b,c,d,i,h,g,j,n)}catch(r){"number"!==typeof r&&"longjmp"!==r&&l(r),k.setThrew(1,0)}},invoke_viiiiii:function(a,b,c,d,i,h,g){try{e.dynCall_viiiiii(a,b,c,d,
-i,h,g)}catch(j){"number"!==typeof j&&"longjmp"!==j&&l(j),k.setThrew(1,0)}},invoke_viiiiiiiiiiiii:function(a,b,c,d,i,h,g,j,n,r,m,q,w,B){try{e.dynCall_viiiiiiiiiiiii(a,b,c,d,i,h,g,j,n,r,m,q,w,B)}catch(C){"number"!==typeof C&&"longjmp"!==C&&l(C),k.setThrew(1,0)}},invoke_viiiiiii:function(a,b,c,d,i,h,g,j){try{e.dynCall_viiiiiii(a,b,c,d,i,h,g,j)}catch(n){"number"!==typeof n&&"longjmp"!==n&&l(n),k.setThrew(1,0)}},invoke_viiiiiid:function(a,b,c,d,i,h,g,j){try{e.dynCall_viiiiiid(a,b,c,d,i,h,g,j)}catch(n){"number"!==
-typeof n&&"longjmp"!==n&&l(n),k.setThrew(1,0)}},invoke_viiiiiiiii:function(a,b,c,d,i,h,g,j,n,r){try{e.dynCall_viiiiiiiii(a,b,c,d,i,h,g,j,n,r)}catch(m){"number"!==typeof m&&"longjmp"!==m&&l(m),k.setThrew(1,0)}},invoke_viiiiiiiiii:function(a,b,c,d,i,h,g,j,n,r,m){try{e.dynCall_viiiiiiiiii(a,b,c,d,i,h,g,j,n,r,m)}catch(q){"number"!==typeof q&&"longjmp"!==q&&l(q),k.setThrew(1,0)}},invoke_iii:function(a,b,c){try{return e.dynCall_iii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&l(d),k.setThrew(1,0)}},
-invoke_viiiiiiiiiiii:function(a,b,c,d,i,h,g,j,n,r,m,q,w){try{e.dynCall_viiiiiiiiiiii(a,b,c,d,i,h,g,j,n,r,m,q,w)}catch(B){"number"!==typeof B&&"longjmp"!==B&&l(B),k.setThrew(1,0)}},invoke_iiiii:function(a,b,c,d,i){try{return e.dynCall_iiiii(a,b,c,d,i)}catch(h){"number"!==typeof h&&"longjmp"!==h&&l(h),k.setThrew(1,0)}},invoke_viii:function(a,b,c,d){try{e.dynCall_viii(a,b,c,d)}catch(i){"number"!==typeof i&&"longjmp"!==i&&l(i),k.setThrew(1,0)}},invoke_v:function(a){try{e.dynCall_v(a)}catch(b){"number"!==
-typeof b&&"longjmp"!==b&&l(b),k.setThrew(1,0)}},invoke_iiiiiiiii:function(a,b,c,d,i,h,g,j,n){try{return e.dynCall_iiiiiiiii(a,b,c,d,i,h,g,j,n)}catch(r){"number"!==typeof r&&"longjmp"!==r&&l(r),k.setThrew(1,0)}},invoke_viiii:function(a,b,c,d,i){try{e.dynCall_viiii(a,b,c,d,i)}catch(h){"number"!==typeof h&&"longjmp"!==h&&l(h),k.setThrew(1,0)}},_llvm_lifetime_end:H(),__scanString:S,_pthread_mutex_lock:H(),___cxa_end_catch:Pa,_strtoull:jc,_fflush:H(),__isLeapYear:Ea,_fwrite:Vb,_send:function(a,b,c){return!L.Yd(a)?
-(P(i.S),-1):pb(a,b,c)},_pthread_mutex_init:H(),_llvm_umul_with_overflow_i32:function(a,b){a>>>=0;b>>>=0;return(k.setTempRet0(4294967295<a*b),a*b>>>0)|0},_isspace:ic,_read:vb,_isxdigit_l:function(a){return ac(a)},_fileno:Ub,___cxa_guard_abort:H(),_newlocale:function(){return W(4)},___gxx_personality_v0:H(),_pthread_cond_wait:U(0),___cxa_rethrow:function(){Pa.se=s;l(tb.pop()+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")},
-_fmod:function(a,b){return a%b},___resumeException:function(a){ya||(ya=a);l(a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")},_llvm_va_end:H(),_vsscanf:function(a,b,c){return dc(a,b,u[c>>2])},_snprintf:ub,_fgetc:Qa,__getFloat:cc,_pthread_cond_signal:function(){l("TODO: "+aborter)},___cxa_free_exception:Sb,_isdigit_l:function(a){return bc(a)},___setErrNo:P,_isxdigit:ac,_exit:function(a){sb(a)},
-_sprintf:Yb,_asprintf:lc,___ctype_b_loc:ec,_freelocale:function(a){Ma(a)},_catgets:function(a,b,c,d){return d},___cxa_is_number_type:lb,_llvm_uadd_with_overflow_i32:function(a,b){a>>>=0;b>>>=0;return(k.setTempRet0(4294967295<a+b),a+b>>>0)|0},___cxa_does_inherit:La,___cxa_guard_acquire:function(a){return!x[a]?x[a]=1:0},___cxa_begin_catch:function(a){wa.kd--;tb.push(ya);return a},_emscripten_memcpy_big:function(a,b,c){N.set(N.subarray(b,b+c),a);return a},_recv:function(a,b,c){return!L.Yd(a)?(P(i.S),
--1):vb(a,b,c)},__parseInt64:wb,__ZSt18uncaught_exceptionv:wa,__ZNSt9exceptionD2Ev:H(),_mkport:Tb,_copysign:function(a,b){return Oa(a)===Oa(b)?a:-a},__exit:sb,_strftime:hc,___cxa_throw:mb,_printf:function(a,b){return rb(u[Aa>>2],a,b)},_pread:function(a,b,c,e){a=d.Aa(a);if(!a)return P(i.S),-1;try{return d.O(a,x,b,c,e)}catch(k){return d.bc(k),-1}},_strtoull_l:function(a,b,c){return jc(a,b,c)},__arraySum:Sa,_sysconf:function(a){switch(a){case 30:return 4096;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 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46: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:return 1}P(i.C);return-1},_strtoll_l:function(a,b,c){return kc(a,b,c)},___cxa_find_matching_catch:function(a,
-b){-1==a&&(a=ya);header=a-xa;-1==b&&(b=u[header>>2]);var c=Array.prototype.slice.call(arguments,2);0!=b&&!lb(b)&&0==u[u[b>>2]-8>>2]&&(a=u[a>>2]);for(var d=0;d<c.length;d++)if(La(c[d],b,a))return(k.setTempRet0(c[d]),a)|0;return(k.setTempRet0(b),a)|0},__formatString:qb,_pthread_cond_broadcast:U(0),__ZSt9terminatev:function(){sb(-1234)},_vfprintf:function(a,b,c){return rb(a,b,u[c>>2])},_pthread_mutex_unlock:H(),___cxa_call_unexpected:function(a){e.Ca("Unexpected exception thrown, this is not properly supported - aborting");
-qa=s;l(a)},_sbrk:mc,_atexit:function(a,b){Ga.unshift({qa:a,Mb:b})},___errno_location:function(){return Na},_strerror:Da,_pthread_mutex_destroy:H(),_catclose:U(0),_llvm_lifetime_start:H(),___cxa_guard_release:H(),_ungetc:function(a,b){b=d.ub(b);if(!b)return-1;if(-1===a)return a;a=ib(a&255);b.qc.push(a);b.Rd=G;return a},_pthread_cond_destroy:H(),_uselocale:U(0),_vsnprintf:function(a,b,c,d){return ub(a,b,c,u[d>>2])},_sscanf:dc,___assert_fail:function(a,b,c,d){qa=s;l("Assertion failed: "+Y(a)+", at: "+
-[b?Y(b):"unknown filename",c,d?Y(d):"unknown function"]+" at "+gb())},_fread:Zb,_strftime_l:function(a,b,c,d){return hc(a,b,c,d)},_abort:function(){e.abort()},_fprintf:rb,_isdigit:bc,_strtoll:kc,__addDays:Fa,_fabs:Dc,__reallyNegative:Oa,_write:pb,___cxa_allocate_exception:function(a){return W(a+xa)+xa},___cxa_pure_virtual:function(){qa=s;l("Pure virtual function called!")},_vasprintf:function(a,b,c){return lc(a,b,u[c>>2])},_catopen:U(-1),___ctype_toupper_loc:gc,___ctype_tolower_loc:fc,_pthread_join:function(){l("TODO: "+
-aborter)},_pthread_cond_init:H(),_pwrite:function(a,b,c,e){a=d.Aa(a);if(!a)return P(i.S),-1;try{return d.write(a,x,b,c,e)}catch(k){return d.bc(k),-1}},_strerror_r:$b,_pthread_create:function(){e.printErr("missing function: pthread_create");ga(-1)},_time:function(a){var b=Math.floor(Date.now()/1E3);a&&(u[a>>2]=b);return b},STACKTOP:aa,STACK_MAX:Cb,tempDoublePtr:ja,ABORT:qa,cttz_i8:Fc,ctlz_i8:Ec,NaN:NaN,Infinity:Infinity,_stdin:Ha,__ZTVN10__cxxabiv117__class_type_infoE:nb,_stderr:Ia,__ZTISt9exception:Eb,
-__ZTVN10__cxxabiv120__si_class_type_infoE:ob,_stdout:Aa,___dso_handle:Db},da);e._de265_get_error_text=k._de265_get_error_text;var Wb=e._strlen=k._strlen;e._de265_get_image_plane_user_data=k._de265_get_image_plane_user_data;e._de265_release_next_picture=k._de265_release_next_picture;e._de265_push_end_of_NAL=k._de265_push_end_of_NAL;e._de265_get_highest_TID=k._de265_get_highest_TID;e._de265_free_decoder=k._de265_free_decoder;e._de265_set_limit_TID=k._de265_set_limit_TID;e._de265_get_image_plane=k._de265_get_image_plane;
-e._de265_get_parameter_bool=k._de265_get_parameter_bool;e._de265_get_version=k._de265_get_version;e._de265_change_framerate=k._de265_change_framerate;e._de265_get_image_width=k._de265_get_image_width;e._de265_set_parameter_int=k._de265_set_parameter_int;e._de265_get_current_TID=k._de265_get_current_TID;var Bc=e._memset=k._memset;e._de265_isOK=k._de265_isOK;e._de265_push_end_of_frame=k._de265_push_end_of_frame;var Ac=e._memcpy=k._memcpy;e._de265_set_framerate_ratio=k._de265_set_framerate_ratio;e._de265_get_bits_per_pixel=
-k._de265_get_bits_per_pixel;e._de265_get_chroma_format=k._de265_get_chroma_format;e._de265_get_image_user_data=k._de265_get_image_user_data;e._de265_get_version_number=k._de265_get_version_number;e._de265_get_image_PTS=k._de265_get_image_PTS;e._de265_get_number_of_input_bytes_pending=k._de265_get_number_of_input_bytes_pending;e._de265_flush_data=k._de265_flush_data;e._realloc=k._realloc;e._de265_new_decoder=k._de265_new_decoder;e._de265_get_number_of_NAL_units_pending=k._de265_get_number_of_NAL_units_pending;
-e._de265_get_next_picture=k._de265_get_next_picture;e._de265_peek_next_picture=k._de265_peek_next_picture;e._de265_decode=k._de265_decode;e._de265_set_parameter_bool=k._de265_set_parameter_bool;e._de265_push_NAL=k._de265_push_NAL;var Ma=e._free=k._free,Cc=e._memmove=k._memmove,zc=e.__GLOBAL__I_a=k.__GLOBAL__I_a;e._de265_set_verbosity=k._de265_set_verbosity;e._de265_get_image_height=k._de265_get_image_height;e._de265_reset=k._de265_reset;var W=e._malloc=k._malloc,rc=e._emscripten_replace_memory=k._emscripten_replace_memory;
-e._de265_get_warning=k._de265_get_warning;e._de265_push_data=k._de265_push_data;e._de265_set_image_user_data=k._de265_set_image_user_data;var yc=e.runPostSets=k.runPostSets;e.dynCall_viiiii=k.dynCall_viiiii;e.dynCall_vi=k.dynCall_vi;e.dynCall_vii=k.dynCall_vii;e.dynCall_ii=k.dynCall_ii;e.dynCall_iiiiii=k.dynCall_iiiiii;e.dynCall_iiii=k.dynCall_iiii;e.dynCall_viiiiid=k.dynCall_viiiiid;e.dynCall_viiiiiiii=k.dynCall_viiiiiiii;e.dynCall_viiiiii=k.dynCall_viiiiii;e.dynCall_viiiiiiiiiiiii=k.dynCall_viiiiiiiiiiiii;
-e.dynCall_viiiiiii=k.dynCall_viiiiiii;e.dynCall_viiiiiid=k.dynCall_viiiiiid;e.dynCall_viiiiiiiii=k.dynCall_viiiiiiiii;e.dynCall_viiiiiiiiii=k.dynCall_viiiiiiiiii;e.dynCall_iii=k.dynCall_iii;e.dynCall_viiiiiiiiiiii=k.dynCall_viiiiiiiiiiii;e.dynCall_iiiii=k.dynCall_iiiii;e.dynCall_viii=k.dynCall_viii;e.dynCall_v=k.dynCall_v;e.dynCall_iiiiiiiii=k.dynCall_iiiiiiiii;e.dynCall_viiii=k.dynCall_viiii;t.ed=function(a){return k.stackAlloc(a)};t.gd=function(){return k.stackSave()};t.fd=function(a){k.stackRestore(a)};
-var za=function(){function a(a,b){this.D=a|0;this.J=b|0}function b(a,b){a!=v&&("number"==typeof a?this.Y(a):b==v&&"string"!=typeof a?this.N(a,256):this.N(a,b))}function c(){return new b(v)}function d(a,b){var c=h[a.charCodeAt(b)];return c==v?-1:c}function e(a){var b=c();b.wa(a);return b}a.ud={};a.wa=function(b){if(-128<=b&&128>b){var c=a.ud[b];if(c)return c}c=new a(b|0,0>b?-1:0);-128<=b&&128>b&&(a.ud[b]=c);return c};a.Y=function(b){return isNaN(b)||!isFinite(b)?a.ZERO:b<=-a.xd?a.MIN_VALUE:b+1>=a.xd?
-a.MAX_VALUE:0>b?a.Y(-b).G():new a(b%a.ta|0,b/a.ta|0)};a.pa=function(b,c){return new a(b,c)};a.N=function(b,c){0==b.length&&l(Error("number format error: empty string"));var d=c||10;(2>d||36<d)&&l(Error("radix out of range: "+d));if("-"==b.charAt(0))return a.N(b.substring(1),d).G();0<=b.indexOf("-")&&l(Error('number format error: interior "-" character: '+b));for(var e=a.Y(Math.pow(d,8)),f=a.ZERO,g=0;g<b.length;g+=8){var h=Math.min(8,b.length-g),i=parseInt(b.substring(g,g+h),d);8>h?(h=a.Y(Math.pow(d,
-h)),f=f.multiply(h).add(a.Y(i))):(f=f.multiply(e),f=f.add(a.Y(i)))}return f};a.wc=65536;a.Xh=16777216;a.ta=a.wc*a.wc;a.Yh=a.ta/2;a.Zh=a.ta*a.wc;a.Qe=a.ta*a.ta;a.xd=a.Qe/2;a.ZERO=a.wa(0);a.ONE=a.wa(1);a.vd=a.wa(-1);a.MAX_VALUE=a.pa(-1,2147483647);a.MIN_VALUE=a.pa(0,-2147483648);a.wd=a.wa(16777216);a.prototype.pc=function(){return this.J*a.ta+this.zf()};a.prototype.toString=function(b){b=b||10;(2>b||36<b)&&l(Error("radix out of range: "+b));if(this.La())return"0";if(this.T()){if(this.X(a.MIN_VALUE)){var c=
-a.Y(b),d=this.Ia(c),c=d.multiply(c).Cb(this);return d.toString(b)+c.D.toString(b)}return"-"+this.G().toString(b)}for(var d=a.Y(Math.pow(b,6)),c=this,e="";;){var f=c.Ia(d),g=c.Cb(f.multiply(d)).D.toString(b),c=f;if(c.La())return g+e;for(;6>g.length;)g="0"+g;e=""+g+e}};a.prototype.zf=function(){return 0<=this.D?this.D:a.ta+this.D};a.prototype.La=function(){return 0==this.J&&0==this.D};a.prototype.T=function(){return 0>this.J};a.prototype.fe=function(){return 1==(this.D&1)};a.prototype.X=function(a){return this.J==
-a.J&&this.D==a.D};a.prototype.he=function(a){return 0>this.Cc(a)};a.prototype.Bf=function(a){return 0<this.Cc(a)};a.prototype.Cf=function(a){return 0<=this.Cc(a)};a.prototype.Cc=function(a){if(this.X(a))return 0;var b=this.T(),c=a.T();return b&&!c?-1:!b&&c?1:this.Cb(a).T()?-1:1};a.prototype.G=function(){return this.X(a.MIN_VALUE)?a.MIN_VALUE:this.Uf().add(a.ONE)};a.prototype.add=function(b){var c=this.J>>>16,d=this.J&65535,e=this.D>>>16,f=b.J>>>16,g=b.J&65535,h=b.D>>>16,i;i=0+((this.D&65535)+(b.D&
-65535));b=0+(i>>>16);b+=e+h;e=0+(b>>>16);e+=d+g;d=0+(e>>>16);d=d+(c+f)&65535;return a.pa((b&65535)<<16|i&65535,d<<16|e&65535)};a.prototype.Cb=function(a){return this.add(a.G())};a.prototype.multiply=function(b){if(this.La()||b.La())return a.ZERO;if(this.X(a.MIN_VALUE))return b.fe()?a.MIN_VALUE:a.ZERO;if(b.X(a.MIN_VALUE))return this.fe()?a.MIN_VALUE:a.ZERO;if(this.T())return b.T()?this.G().multiply(b.G()):this.G().multiply(b).G();if(b.T())return this.multiply(b.G()).G();if(this.he(a.wd)&&b.he(a.wd))return a.Y(this.pc()*
-b.pc());var c=this.J>>>16,d=this.J&65535,e=this.D>>>16,f=this.D&65535,g=b.J>>>16,h=b.J&65535,i=b.D>>>16,b=b.D&65535,j,k,n,t;t=0+f*b;n=0+(t>>>16);n+=e*b;k=0+(n>>>16);n=(n&65535)+f*i;k+=n>>>16;n&=65535;k+=d*b;j=0+(k>>>16);k=(k&65535)+e*i;j+=k>>>16;k&=65535;k+=f*h;j+=k>>>16;k&=65535;j=j+(c*b+d*i+e*h+f*g)&65535;return a.pa(n<<16|t&65535,j<<16|k)};a.prototype.Ia=function(b){b.La()&&l(Error("division by zero"));if(this.La())return a.ZERO;if(this.X(a.MIN_VALUE)){if(b.X(a.ONE)||b.X(a.vd))return a.MIN_VALUE;
-if(b.X(a.MIN_VALUE))return a.ONE;var c=this.dg().Ia(b).shiftLeft(1);if(c.X(a.ZERO))return b.T()?a.ONE:a.vd;var d=this.Cb(b.multiply(c));return c.add(d.Ia(b))}if(b.X(a.MIN_VALUE))return a.ZERO;if(this.T())return b.T()?this.G().Ia(b.G()):this.G().Ia(b).G();if(b.T())return this.Ia(b.G()).G();for(var e=a.ZERO,d=this;d.Cf(b);){for(var c=Math.max(1,Math.floor(d.pc()/b.pc())),f=Math.ceil(Math.log(c)/Math.LN2),f=48>=f?1:Math.pow(2,f-48),g=a.Y(c),h=g.multiply(b);h.T()||h.Bf(d);)c-=f,g=a.Y(c),h=g.multiply(b);
-g.La()&&(g=a.ONE);e=e.add(g);d=d.Cb(h)}return e};a.prototype.Uf=function(){return a.pa(~this.D,~this.J)};a.prototype.shiftLeft=function(b){b&=63;if(0==b)return this;var c=this.D;return 32>b?a.pa(c<<b,this.J<<b|c>>>32-b):a.pa(0,c<<b-32)};a.prototype.dg=function(){var b;b=1;if(0==b)return this;var c=this.J;return 32>b?a.pa(this.D>>>b|c<<32-b,c>>b):a.pa(c>>b-32,0<=c?0:-1)};b.prototype.zc=function(a,b,c,d){for(var e=0,f=0;0<=--d;){var g=a*this[e++]+b[c]+f,f=Math.floor(g/67108864);b[c++]=g&67108863}return f};
-b.prototype.B=26;b.prototype.la=67108863;b.prototype.mb=67108864;b.prototype.Ne=Math.pow(2,52);b.prototype.sd=26;b.prototype.td=0;var h=[],g,j;g=48;for(j=0;9>=j;++j)h[g++]=j;g=97;for(j=10;36>j;++j)h[g++]=j;g=65;for(j=10;36>j;++j)h[g++]=j;b.prototype.copyTo=function(a){for(var b=this.g-1;0<=b;--b)a[b]=this[b];a.g=this.g;a.p=this.p};b.prototype.wa=function(a){this.g=1;this.p=0>a?-1:0;0<a?this[0]=a:-1>a?this[0]=a+DV:this.g=0};b.prototype.N=function(a,c){var e;if(16==c)e=4;else if(8==c)e=3;else if(256==
-c)e=8;else if(2==c)e=1;else if(32==c)e=5;else if(4==c)e=2;else{this.wf(a,c);return}this.p=this.g=0;for(var g=a.length,h=G,i=0;0<=--g;){var j=8==e?a[g]&255:d(a,g);0>j?"-"==a.charAt(g)&&(h=s):(h=G,0==i?this[this.g++]=j:i+e>this.B?(this[this.g-1]|=(j&(1<<this.B-i)-1)<<i,this[this.g++]=j>>this.B-i):this[this.g-1]|=j<<i,i+=e,i>=this.B&&(i-=this.B))}8==e&&0!=(a[0]&128)&&(this.p=-1,0<i&&(this[this.g-1]|=(1<<this.B-i)-1<<i));this.va();h&&b.ZERO.ja(this,this)};b.prototype.va=function(){for(var a=this.p&this.la;0<
-this.g&&this[this.g-1]==a;)--this.g};b.prototype.Gc=function(a,b){var c;for(c=this.g-1;0<=c;--c)b[c+a]=this[c];for(c=a-1;0<=c;--c)b[c]=0;b.g=this.g+a;b.p=this.p};b.prototype.qf=function(a,b){for(var c=a;c<this.g;++c)b[c-a]=this[c];b.g=Math.max(this.g-a,0);b.p=this.p};b.prototype.ge=function(a,b){var c=a%this.B,d=this.B-c,e=(1<<d)-1,f=Math.floor(a/this.B),g=this.p<<c&this.la,h;for(h=this.g-1;0<=h;--h)b[h+f+1]=this[h]>>d|g,g=(this[h]&e)<<c;for(h=f-1;0<=h;--h)b[h]=0;b[f]=g;b.g=this.g+f+1;b.p=this.p;
-b.va()};b.prototype.$f=function(a,b){b.p=this.p;var c=Math.floor(a/this.B);if(c>=this.g)b.g=0;else{var d=a%this.B,e=this.B-d,f=(1<<d)-1;b[0]=this[c]>>d;for(var g=c+1;g<this.g;++g)b[g-c-1]|=(this[g]&f)<<e,b[g-c]=this[g]>>d;0<d&&(b[this.g-c-1]|=(this.p&f)<<e);b.g=this.g-c;b.va()}};b.prototype.ja=function(a,b){for(var c=0,d=0,e=Math.min(a.g,this.g);c<e;)d+=this[c]-a[c],b[c++]=d&this.la,d>>=this.B;if(a.g<this.g){for(d-=a.p;c<this.g;)d+=this[c],b[c++]=d&this.la,d>>=this.B;d+=this.p}else{for(d+=this.p;c<
-a.g;)d-=a[c],b[c++]=d&this.la,d>>=this.B;d-=a.p}b.p=0>d?-1:0;-1>d?b[c++]=this.mb+d:0<d&&(b[c++]=d);b.g=c;b.va()};b.prototype.Rf=function(a,c){var d=this.abs(),e=a.abs(),f=d.g;for(c.g=f+e.g;0<=--f;)c[f]=0;for(f=0;f<e.g;++f)c[f+d.g]=d.zc(e[f],c,f,d.g);c.p=0;c.va();this.p!=a.p&&b.ZERO.ja(c,c)};b.prototype.Od=function(a,d,e){var f=a.abs();if(!(0>=f.g)){var g=this.abs();if(g.g<f.g)d!=v&&d.wa(0),e!=v&&this.copyTo(e);else{e==v&&(e=c());var h=c(),i=this.p,a=a.p,j=f[f.g-1],k=1,n;if(0!=(n=j>>>16))j=n,k+=16;
-if(0!=(n=j>>8))j=n,k+=8;if(0!=(n=j>>4))j=n,k+=4;if(0!=(n=j>>2))j=n,k+=2;0!=j>>1&&(k+=1);j=this.B-k;0<j?(f.ge(j,h),g.ge(j,e)):(f.copyTo(h),g.copyTo(e));f=h.g;g=h[f-1];if(0!=g){n=g*(1<<this.sd)+(1<f?h[f-2]>>this.td:0);k=this.Ne/n;n=(1<<this.sd)/n;var t=1<<this.td,u=e.g,z=u-f,x=d==v?c():d;h.Gc(z,x);0<=e.Rb(x)&&(e[e.g++]=1,e.ja(x,e));b.ONE.Gc(f,x);for(x.ja(h,h);h.g<f;)h[h.g++]=0;for(;0<=--z;){var A=e[--u]==g?this.la:Math.floor(e[u]*k+(e[u-1]+t)*n);if((e[u]+=h.zc(A,e,z,f))<A){h.Gc(z,x);for(e.ja(x,e);e[u]<
---A;)e.ja(x,e)}}d!=v&&(e.qf(f,d),i!=a&&b.ZERO.ja(d,d));e.g=f;e.va();0<j&&e.$f(j,e);0>i&&b.ZERO.ja(e,e)}}}};b.prototype.toString=function(a){if(0>this.p)return"-"+this.G().toString(a);if(16==a)a=4;else if(8==a)a=3;else if(2==a)a=1;else if(32==a)a=5;else if(4==a)a=2;else return this.gg(a);var b=(1<<a)-1,c,d=G,e="",f=this.g,g=this.B-f*this.B%a;if(0<f--){if(g<this.B&&0<(c=this[f]>>g))d=s,e="0123456789abcdefghijklmnopqrstuvwxyz".charAt(c);for(;0<=f;)g<a?(c=(this[f]&(1<<g)-1)<<a-g,c|=this[--f]>>(g+=this.B-
-a)):(c=this[f]>>(g-=a)&b,0>=g&&(g+=this.B,--f)),0<c&&(d=s),d&&(e+="0123456789abcdefghijklmnopqrstuvwxyz".charAt(c))}return d?e:"0"};b.prototype.G=function(){var a=c();b.ZERO.ja(this,a);return a};b.prototype.abs=function(){return 0>this.p?this.G():this};b.prototype.Rb=function(a){var b=this.p-a.p;if(0!=b)return b;var c=this.g,b=c-a.g;if(0!=b)return 0>this.p?-b:b;for(;0<=--c;)if(0!=(b=this[c]-a[c]))return b;return 0};b.ZERO=e(0);b.ONE=e(1);b.prototype.wf=function(a,c){this.wa(0);c==v&&(c=10);for(var e=
-this.Pb(c),g=Math.pow(c,e),h=G,i=0,j=0,k=0;k<a.length;++k){var n=d(a,k);0>n?"-"==a.charAt(k)&&0==this.dd()&&(h=s):(j=c*j+n,++i>=e&&(this.Kd(g),this.Jd(j),j=i=0))}0<i&&(this.Kd(Math.pow(c,i)),this.Jd(j));h&&b.ZERO.ja(this,this)};b.prototype.Pb=function(a){return Math.floor(Math.LN2*this.B/Math.log(a))};b.prototype.dd=function(){return 0>this.p?-1:0>=this.g||1==this.g&&0>=this[0]?0:1};b.prototype.Kd=function(a){this[this.g]=this.zc(a-1,this,0,this.g);++this.g;this.va()};b.prototype.Jd=function(a){var b=
-0;if(0!=a){for(;this.g<=b;)this[this.g++]=0;for(this[b]+=a;this[b]>=this.mb;)this[b]-=this.mb,++b>=this.g&&(this[this.g++]=0),++this[b]}};b.prototype.gg=function(a){a==v&&(a=10);if(0==this.dd()||2>a||36<a)return"0";var b=this.Pb(a),b=Math.pow(a,b),d=e(b),f=c(),g=c(),h="";for(this.Od(d,f,g);0<f.dd();)h=(b+g.ee()).toString(a).substr(1)+h,f.Od(d,f,g);return g.ee().toString(a)+h};b.prototype.ee=function(){if(0>this.p){if(1==this.g)return this[0]-this.mb;if(0==this.g)return-1}else{if(1==this.g)return this[0];
-if(0==this.g)return 0}return(this[1]&(1<<32-this.B)-1)<<this.B|this[0]};b.prototype.yc=function(a,b){for(var c=0,d=0,e=Math.min(a.g,this.g);c<e;)d+=this[c]+a[c],b[c++]=d&this.la,d>>=this.B;if(a.g<this.g){for(d+=a.p;c<this.g;)d+=this[c],b[c++]=d&this.la,d>>=this.B;d+=this.p}else{for(d+=this.p;c<a.g;)d+=a[c],b[c++]=d&this.la,d>>=this.B;d+=a.p}b.p=0>d?-1:0;0<d?b[c++]=d:-1>d&&(b[c++]=this.mb+d);b.g=c;b.va()};var i={abs:function(b,c){var d=new a(b,c),d=d.T()?d.G():d;u[ja>>2]=d.D;u[ja+4>>2]=d.J},Qd:function(){i.rf||
-(i.rf=s,i.Ae=new b,i.Ae.N("4294967296",10),i.jd=new b,i.jd.N("18446744073709551616",10),i.hj=new b,i.ij=new b)},Li:function(a,c){var d=new b;d.N(c.toString(),10);var e=new b;d.Rf(i.Ae,e);d=new b;d.N(a.toString(),10);var f=new b;d.yc(e,f);return f},stringify:function(c,d,e){c=(new a(c,d)).toString();e&&"-"==c[0]&&(i.Qd(),e=new b,e.N(c,10),c=new b,i.jd.yc(e,c),c=c.toString(10));return c},N:function(c,d,e,f,g){i.Qd();var h=new b;h.N(c,d);c=new b;c.N(e,10);e=new b;e.N(f,10);g&&0>h.Rb(b.ZERO)&&(f=new b,
-h.yc(i.jd,f),h=f);f=G;0>h.Rb(c)?(h=c,f=s):0<h.Rb(e)&&(h=e,f=s);h=a.N(h.toString());u[ja>>2]=h.D;u[ja+4>>2]=h.J;f&&l("range error")}};return i}();xb.prototype=Error();var oc,Wa=v,Ca=function b(){!e.calledRun&&Ab&&yb();e.calledRun||(Ca=b)};e.callMain=e.mi=function(b){function c(){for(var b=0;3>b;b++)i.push(0)}K(0==ia,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");K(0==hb.length,"cannot call main when preRun functions remain to be called");b=b||[];Ya&&Wa!==v&&e.Ca("preload time: "+
-(Date.now()-Wa)+" ms");Va||(Va=s,va(pa));var d=b.length+1,i=[I(X("/bin/this.program"),"i8",oa)];c();for(var h=0;h<d-1;h+=1)i.push(I(X(b[h]),"i8",oa)),c();i.push(0);i=I(i,"i32",oa);oc=aa;try{var g=e._main(d,i,0);e.noExitRuntime||nc(g)}catch(j){j instanceof xb||("SimulateInfiniteLoop"==j?e.noExitRuntime=s:(j&&("object"===typeof j&&j.stack)&&e.Ca("exception thrown: "+[j,j.stack]),l(j)))}finally{}};e.run=e.cj=yb;e.exit=e.ri=nc;e.abort=e.abort=ga;if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=
-[e.preInit]);0<e.preInit.length;)e.preInit.pop()();var Ab=G;e.noInitialRun&&(Ab=G);e.noExitRuntime=s;yb();delete this.Module;var F={DE265_OK:0,DE265_ERROR_NO_SUCH_FILE:1,DE265_ERROR_EOF:3,DE265_ERROR_COEFFICIENT_OUT_OF_IMAGE_BOUNDS:4,DE265_ERROR_CHECKSUM_MISMATCH:5,DE265_ERROR_CTB_OUTSIDE_IMAGE_AREA:6,DE265_ERROR_OUT_OF_MEMORY:7,DE265_ERROR_CODED_PARAMETER_OUT_OF_RANGE:8,DE265_ERROR_IMAGE_BUFFER_FULL:9,DE265_ERROR_CANNOT_START_THREADPOOL:10,DE265_ERROR_LIBRARY_INITIALIZATION_FAILED:11,DE265_ERROR_LIBRARY_NOT_INITIALIZED:12,
-DE265_ERROR_WAITING_FOR_INPUT_DATA:13,DE265_ERROR_CANNOT_PROCESS_SEI:14,DE265_ERROR_PARAMETER_PARSING:15,DE265_ERROR_NO_INITIAL_SLICE_HEADER:16,DE265_ERROR_PREMATURE_END_OF_SLICE:17,DE265_ERROR_UNSPECIFIED_DECODING_ERROR:18,DE265_ERROR_MAX_THREAD_CONTEXTS_EXCEEDED:500,DE265_ERROR_MAX_NUMBER_OF_SLICES_EXCEEDED:501,DE265_ERROR_NOT_IMPLEMENTED_YET:502,DE265_WARNING_NO_WPP_CANNOT_USE_MULTITHREADING:1E3,DE265_WARNING_WARNING_BUFFER_FULL:1001,DE265_WARNING_PREMATURE_END_OF_SLICE_SEGMENT:1002,DE265_WARNING_INCORRECT_ENTRY_POINT_OFFSET:1003,
-DE265_WARNING_CTB_OUTSIDE_IMAGE_AREA:1004,DE265_WARNING_SPS_HEADER_INVALID:1005,DE265_WARNING_PPS_HEADER_INVALID:1006,DE265_WARNING_SLICEHEADER_INVALID:1007,DE265_WARNING_INCORRECT_MOTION_VECTOR_SCALING:1008,DE265_WARNING_NONEXISTING_PPS_REFERENCED:1009,DE265_WARNING_NONEXISTING_SPS_REFERENCED:1010,DE265_WARNING_BOTH_PREDFLAGS_ZERO:1011,DE265_WARNING_NONEXISTING_REFERENCE_PICTURE_ACCESSED:1012,DE265_WARNING_NUMMVP_NOT_EQUAL_TO_NUMMVQ:1013,DE265_WARNING_NUMBER_OF_SHORT_TERM_REF_PIC_SETS_OUT_OF_RANGE:1014,
-DE265_WARNING_SHORT_TERM_REF_PIC_SET_OUT_OF_RANGE:1015,DE265_WARNING_FAULTY_REFERENCE_PICTURE_LIST:1016,DE265_WARNING_EOSS_BIT_NOT_SET:1017,DE265_WARNING_MAX_NUM_REF_PICS_EXCEEDED:1018,DE265_WARNING_INVALID_CHROMA_FORMAT:1019,DE265_WARNING_SLICE_SEGMENT_ADDRESS_INVALID:1020,DE265_WARNING_DEPENDENT_SLICE_WITH_ADDRESS_ZERO:1021,DE265_WARNING_NUMBER_OF_THREADS_LIMITED_TO_MAXIMUM:1022,DE265_NON_EXISTING_LT_REFERENCE_CANDIDATE_IN_SLICE_HEADER:1023,DE265_WARNING_CANNOT_APPLY_SAO_OUT_OF_MEMORY:1024,DE265_WARNING_SPS_MISSING_CANNOT_DECODE_SEI:1025,
-DE265_WARNING_COLLOCATED_MOTION_VECTOR_OUTSIDE_IMAGE_AREA:1026,de265_get_version:E("de265_get_version","string"),de265_get_version_number:E("de265_get_version_number","number"),de265_get_error_text:E("de265_get_error_text","string",["number"]),de265_isOK:E("de265_isOK","number",["number"]),de265_set_verbosity:E("de265_set_verbosity","number",["number"]),de265_chroma_mono:0,de265_chroma_420:1,de265_chroma_422:2,de265_chroma_444:3,de265_get_image_width:E("de265_get_image_width","number",["number","number"]),
-de265_get_image_height:E("de265_get_image_height","number",["number","number"]),de265_get_chroma_format:E("de265_get_chroma_format","number",["number"]),de265_get_bits_per_pixel:E("de265_get_bits_per_pixel","number",["number","number"]),de265_get_image_plane:E("de265_get_image_plane","number",["number","number","number"]),de265_get_image_plane_user_data:E("de265_get_image_plane_user_data","number",["number","number"]),de265_get_image_PTS:E("de265_get_image_PTS","number",["number"]),de265_get_image_user_data:E("de265_get_image_user_data",
-"number",["number"]),de265_set_image_user_data:E("de265_set_image_user_data","number",["number","number"]),de265_new_decoder:E("de265_new_decoder","number"),de265_free_decoder:E("de265_free_decoder","number",["number"]),de265_push_data:E("de265_push_data","number",["number","array","number","number","number"]),de265_push_end_of_NAL:E("de265_push_end_of_NAL","number",["number"]),de265_push_end_of_frame:E("de265_push_end_of_frame","number",["number"]),de265_push_NAL:E("de265_push_NAL","number",["number",
-"array","number","number","number"]),de265_flush_data:E("de265_flush_data","number",["number"]),de265_get_number_of_input_bytes_pending:E("de265_get_number_of_input_bytes_pending","number",["number"]),de265_get_number_of_NAL_units_pending:E("de265_get_number_of_NAL_units_pending","number",["number"]),de265_decode:E("de265_decode","number",["number","number"]),de265_reset:E("de265_reset","number",["number"]),de265_peek_next_picture:E("de265_peek_next_picture","number",["number"]),de265_get_next_picture:E("de265_get_next_picture",
-"number",["number"]),de265_release_next_picture:E("de265_release_next_picture","number",["number"]),de265_get_warning:E("de265_get_warning","number",["number"]),de265_get_highest_TID:E("de265_get_highest_TID","number",["number"]),de265_get_current_TID:E("de265_get_current_TID","number",["number"]),de265_set_limit_TID:E("de265_set_limit_TID","number",["number","number"]),de265_set_framerate_ratio:E("de265_set_framerate_ratio","number",["number","number"]),de265_change_framerate:E("de265_change_framerate",
-"number",["number","number"]),DE265_DECODER_PARAM_BOOL_SEI_CHECK_HASH:0,DE265_DECODER_PARAM_DUMP_SPS_HEADERS:1,DE265_DECODER_PARAM_DUMP_VPS_HEADERS:2,DE265_DECODER_PARAM_DUMP_PPS_HEADERS:3,DE265_DECODER_PARAM_DUMP_SLICE_HEADERS:4,DE265_DECODER_PARAM_ACCELERATION_CODE:5,DE265_DECODER_PARAM_SUPPRESS_FAULTY_PICTURES:6,DE265_DECODER_PARAM_DISABLE_DEBLOCKING:7,DE265_DECODER_PARAM_DISABLE_SAO:8,de265_acceleration_SCALAR:0,de265_acceleration_MMX:10,de265_acceleration_SSE:20,de265_acceleration_SSE2:30,de265_acceleration_SSE4:40,
-de265_acceleration_AVX:50,de265_acceleration_AVX2:60,de265_acceleration_ARM:70,de265_acceleration_NEON:80,de265_acceleration_AUTO:1E4,de265_set_parameter_bool:E("de265_set_parameter_bool","number",["number","number","number"]),de265_set_parameter_int:E("de265_set_parameter_int","number",["number","number","number"]),de265_get_parameter_bool:E("de265_get_parameter_bool","number",["number","number"])};Ba.prototype.free=H();Ba.prototype.get_width=function(){this.width===v&&(this.width=F.de265_get_image_width(this.ra,
-0));return this.width};Ba.prototype.get_height=function(){this.height===v&&(this.height=F.de265_get_image_height(this.ra,0));return this.height};Ba.prototype.display=function(b,c){var d=this.get_width(),e=this.get_height(),h=F.de265_get_chroma_format(this.ra),g=W(4),i=F.de265_get_image_plane(this.ra,0,g),k=ta(g,"i32"),r=F.de265_get_bits_per_pixel(this.ra,0),m=F.de265_get_image_plane(this.ra,1,g),q=ta(g,"i32"),t=F.de265_get_bits_per_pixel(this.ra,1),u=F.de265_get_image_plane(this.ra,2,g),x=ta(g,"i32"),
-z=F.de265_get_bits_per_pixel(this.ra,2);Ma(g);this.mf.af(h,i,m,u,d,e,k,q,x,r,t,z,b,c)};var cb=v;ab.prototype.Ld=function(){this.kb&&(this.kb.postMessage({cmd:"stop"}),this.kb=v)};ab.prototype.Ed=function(b,c,d,e,h,g,i,k,r,m,q,t,u,x){b={cmd:"convert",data:{chroma:b,y:new Uint8Array(c),u:new Uint8Array(d),v:new Uint8Array(e),w:h,h:g,stridey:i,strideu:k,stridev:r,bppy:m,bppu:q,bppv:t}};this.tb.push(function(b){if(u.data.set)u.data.set(b);else for(var c=u.data,d=c.length,e=0;e<d;e++)c[e]=b[e];x(u)});
-this.kb.postMessage(b)};bb.prototype.Ld=H();bb.prototype.Ed=function(b,c,d,e,h,g,i,k,r,m,q,t,u,x){db(b,c,d,e,h,g,i,k,r,m,q,t,u.data);x(u)};T.prototype.free=function(){this.Tb&&(this.Tb.Ld(),this.Tb=v);F.de265_free_decoder(this.Q);this.Q=v;Ma(this.Na);this.Na=v};T.prototype.set_image_callback=la("Sc");T.prototype.reset=function(){F.de265_reset(this.Q)};T.prototype.push_data=function(b,c){return F.de265_push_data(this.Q,b,b.length,c||0,0)};T.prototype.flush=function(){this.stop=s;return F.de265_flush_data(this.Q)};
-T.prototype.has_more=function(){return!this.stop||0!==ta(this.Na,"i16")};T.prototype.set_framerate_ratio=function(b){F.de265_set_framerate_ratio(this.Q,b)};T.prototype.disable_filters=function(b){F.de265_set_parameter_bool(this.Q,F.DE265_DECODER_PARAM_DISABLE_DEBLOCKING,!!b);F.de265_set_parameter_bool(this.Q,F.DE265_DECODER_PARAM_DISABLE_SAO,!!b)};T.prototype.decode=function(b){var c;for(Ja(this.Na,1,"i16");0!==ta(this.Na,"i16");){c=F.de265_decode(this.Q,this.Na);if(!F.de265_isOK(c)){Ja(this.Na,0,
-"i16");break}var d=F.de265_get_next_picture(this.Q);if(d){this.Sc&&this.Sc(new Ba(this,d));break}}b(c)};T.prototype.af=function(b,c,d,e,h,g,i,k,r,m,q,t,u,x){c=N.subarray(c,c+g*i);d=N.subarray(d,d+g*k);e=N.subarray(e,e+g*r);this.Tb.Ed(b,c,d,e,h,g,i,k,r,m,q,t,u,x)};F.Decoder=T;M.prototype.xc=function(){this.start=v;this.frames=0;this.cc=v;this.te=G;this.jc=v};M.prototype.set_status_callback=la("nc");M.prototype.qb=function(){this.nc&&this.nc.apply(this.nc,arguments)};M.prototype.set_error_callback=
-la("Ic");M.prototype.yd=function(b,c){this.Ic&&this.Ic(b,c)};M.prototype.Se=function(b){if(this.start){this.frames+=1;var c=new Date-this.start;1E3<c&&this.qb("fps",this.frames/(0.001*c))}else this.start=new Date,this.qb("playing");var c=b.get_width(),d=b.get_height();if(c!=this.canvas.width||d!=this.canvas.height||!this.cc){this.canvas.width=c;this.canvas.height=d;this.cc=this.Q.createImageData(c,d);for(var e=this.cc.data,h=0;h<c*d;h++)e[4*h+3]=255}var g=this;b.display(this.cc,function(b){window.requestAnimationFrame?
-(g.jc=b,window.requestAnimationFrame(function(){g.jc&&(g.Q.putImageData(g.jc,0,0),g.jc=v)})):g.Q.putImageData(b,0,0)})};M.prototype.Te=function(b){function c(){if(d.te){var b;if(0===i)b=e.flush();else{var q=4096;q>i&&(q=i);b=new Uint8Array(h,g,q);b=e.push_data(b);g+=q;i-=q}F.de265_isOK(b)?(d.mc!==k&&(e.set_framerate_ratio(d.mc),k=d.mc),d.Zb!==r&&(e.disable_filters(d.Zb),r=d.Zb),e.decode(function(b){switch(b){case F.DE265_ERROR_WAITING_FOR_INPUT_DATA:setTimeout(c,0);return;default:if(!F.de265_isOK(b)){d.yd(b,
-F.de265_get_error_text(b));return}}0<i||e.has_more()?setTimeout(c,0):(e.free(),d.stop())})):d.yd(b,F.de265_get_error_text(b))}}var d=this;this.qb("initializing");var e=new T;e.set_image_callback(function(b){d.Se(b);b.free()});var h=b.response,g=0,i=h.byteLength,k=v,r=G;setTimeout(c,0)};M.prototype.playback=function(b){this.xc();var c=new XMLHttpRequest;c.open("get",b,s);c.responseType="arraybuffer";var d=this;c.onload=function(){d.Te(c)};this.qb("loading");this.te=s;c.send()};M.prototype.stop=function(){this.qb("stopped");
-this.xc()};M.prototype.set_framerate_ratio=la("mc");M.prototype.disable_filters=la("Zb");F.RawPlayer=M;"undefined"!==typeof exports?("undefined"!==typeof module&&module.tf&&(exports=module.tf=F),exports.libde265=F):this.libde265=F;"function"===typeof define&&define.ji&&define([],function(){return F})}).call(this);
-
-- 
GitLab