From 11257e669e7634a619a9eab149f1345c215a3e86 Mon Sep 17 00:00:00 2001 From: Samir Date: Fri, 27 Oct 2017 00:30:05 +0600 Subject: [PATCH] started --- .babelrc | 13 + .eslintrc.json | 33 + .gitignore | 66 ++ .npmignore | 3 + LICENSE | 221 ++++++ README.md | 8 + index.html | 1476 ++++++++++++++++++++++++++++++++++++++ index_old.html | 34 + libopus/opus.min.js | 7 + opus.min.js | 7 + package.json | 39 + pcm-player.js | 57 ++ rollup.config.js | 31 + src/libopus/opus.min.js | 7 + src/opus-to-pcm.js | 35 + src/utils/ogg.js | 149 ++++ src/utils/opus-worker.js | 35 + src/utils/utils.js | 6 + 18 files changed, 2227 insertions(+) create mode 100644 .babelrc create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .npmignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 index.html create mode 100644 index_old.html create mode 100644 libopus/opus.min.js create mode 100644 opus.min.js create mode 100644 package.json create mode 100644 pcm-player.js create mode 100644 rollup.config.js create mode 100644 src/libopus/opus.min.js create mode 100644 src/opus-to-pcm.js create mode 100644 src/utils/ogg.js create mode 100644 src/utils/opus-worker.js create mode 100644 src/utils/utils.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..fb890d2 --- /dev/null +++ b/.babelrc @@ -0,0 +1,13 @@ +{ + "presets": [ + [ + "es2015", + { + "modules": false + } + ] + ], + "plugins": [ + "external-helpers" + ] +} \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..a801900 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,33 @@ +{ + "env": { + "browser": true, + "es6": true + }, + "globals": { + "ENV": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "sourceType": "module" + }, + "rules": { + "indent": [ + "error", + 4, + { "SwitchCase": 1 } + ], + "no-unused-vars": "off", + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "single" + ], + "semi": [ + "error", + "always" + ] + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dcc5837 --- /dev/null +++ b/.gitignore @@ -0,0 +1,66 @@ +# Created by https://www.gitignore.io/api/node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + + +# End of https://www.gitignore.io/api/node + +dist/ diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..bf3b013 --- /dev/null +++ b/.npmignore @@ -0,0 +1,3 @@ +dist +node_modules +example/player.js \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0c9304e --- /dev/null +++ b/LICENSE @@ -0,0 +1,221 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015 + Gornostaev Alexey + Victor Grenke + Igor Shakirov + SpecForge + Streamedian + + 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. + +src/iso-bmff/mp4-generator.js src/h264/exp-golomb.js implementation in this project +are derived from the hls.js library (https://github.com/dailymotion/hls.js) + + That work is also covered by the Apache 2 License, following copyright: + Copyright (c) 2013-2015 Brightcove + + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..503fe7d --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +git clone git@gitlab.ipvisionsoft.com:ipvision-web/liveplayer.git + + +cd liveplayer + +npm run build + +npm run start \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..2123d5c --- /dev/null +++ b/index.html @@ -0,0 +1,1476 @@ + + + ringID Live + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+
+
+

${uname}

+
+
+ + + + + + + + +
+
+ + + +
+ +
+ TAB TO UNMUTE +
+ + +
+ + For enjoying more better and smoother live experience along with other exciting features, + app version. +
+
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

Camera Off

+
+ +
+ + + + + + + + + + +
+ + + + + +
+ + + +
+
+ +
Say hello....
+
+
+ +
+
+ + + + +
+
+ +
+
+ +
+
+ + + + Open In App + + +
+
GET APP
+
+

ringID! More than a Social network

+
    +
  • +
  • +
  • +
  • +
  • +
+
+
+ + +
+ +
+ + +
+ + + + + + + + + + + diff --git a/index_old.html b/index_old.html new file mode 100644 index 0000000..5d32d90 --- /dev/null +++ b/index_old.html @@ -0,0 +1,34 @@ + + + + + live player + + +
+
+ + + + diff --git a/libopus/opus.min.js b/libopus/opus.min.js new file mode 100644 index 0000000..7478d83 --- /dev/null +++ b/libopus/opus.min.js @@ -0,0 +1,7 @@ +!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var i=r();for(var t in i)("object"==typeof exports?exports:e)[t]=i[t]}}(this,function(){return function(e){function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var i={};return r.m=e,r.c=i,r.i=function(e){return e},r.d=function(e,i,t){r.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:t})},r.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(i,"a",i),i},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="",r(r.s=39)}([function(e,r){function i(){throw new Error("setTimeout has not been defined")}function t(){throw new Error("clearTimeout has not been defined")}function n(e){if(u===setTimeout)return setTimeout(e,0);if((u===i||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(r){try{return u.call(null,e,0)}catch(r){return u.call(this,e,0)}}}function f(e){if(h===clearTimeout)return clearTimeout(e);if((h===t||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(r){try{return h.call(null,e)}catch(r){return h.call(this,e)}}}function a(){k&&b&&(k=!1,b.length?w=b.concat(w):d=-1,w.length&&o())}function o(){if(!k){var e=n(a);k=!0;for(var r=w.length;r;){for(b=w,w=[];++d1)for(var i=1;i=t())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+t().toString(16)+" bytes");return 0|e}function k(e){return+e!=e&&(e=0),f.alloc(+e)}function d(e,r){if(f.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var i=e.length;if(0===i)return 0;for(var t=!1;;)switch(r){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return V(e).length;default:if(t)return q(e).length;r=(""+r).toLowerCase(),t=!0}}function p(e,r,i){var t=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,r>>>=0,i<=r)return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,r,i);case"utf8":case"utf-8":return M(this,r,i);case"ascii":return O(this,r,i);case"latin1":case"binary":return L(this,r,i);case"base64":return T(this,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,r,i);default:if(t)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),t=!0}}function v(e,r,i){var t=e[r];e[r]=e[i],e[i]=t}function g(e,r,i,t,n){if(0===e.length)return-1;if("string"==typeof i?(t=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=n?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(n)return-1;i=e.length-1}else if(i<0){if(!n)return-1;i=0}if("string"==typeof r&&(r=f.from(r,t)),f.isBuffer(r))return 0===r.length?-1:y(e,r,i,t,n);if("number"==typeof r)return r&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,r,i):Uint8Array.prototype.lastIndexOf.call(e,r,i):y(e,[r],i,t,n);throw new TypeError("val must be string, number or Buffer")}function y(e,r,i,t,n){function f(e,r){return 1===a?e[r]:e.readUInt16BE(r*a)}var a=1,o=e.length,l=r.length;if(void 0!==t&&("ucs2"===(t=String(t).toLowerCase())||"ucs-2"===t||"utf16le"===t||"utf-16le"===t)){if(e.length<2||r.length<2)return-1;a=2,o/=2,l/=2,i/=2}var s;if(n){var u=-1;for(s=i;so&&(i=o-l),s=i;s>=0;s--){for(var h=!0,c=0;cn&&(t=n):t=n;var f=r.length;if(f%2!=0)throw new TypeError("Invalid hex string");t>f/2&&(t=f/2);for(var a=0;a239?4:f>223?3:f>191?2:1;if(n+o<=i){var l,s,u,h;switch(o){case 1:f<128&&(a=f);break;case 2:l=e[n+1],128==(192&l)&&(h=(31&f)<<6|63&l)>127&&(a=h);break;case 3:l=e[n+1],s=e[n+2],128==(192&l)&&128==(192&s)&&(h=(15&f)<<12|(63&l)<<6|63&s)>2047&&(h<55296||h>57343)&&(a=h);break;case 4:l=e[n+1],s=e[n+2],u=e[n+3],128==(192&l)&&128==(192&s)&&128==(192&u)&&(h=(15&f)<<18|(63&l)<<12|(63&s)<<6|63&u)>65535&&h<1114112&&(a=h)}}null===a?(a=65533,o=1):a>65535&&(a-=65536,t.push(a>>>10&1023|55296),a=56320|1023&a),t.push(a),n+=o}return x(t)}function x(e){var r=e.length;if(r<=Q)return String.fromCharCode.apply(String,e);for(var i="",t=0;tt)&&(i=t);for(var n="",f=r;fi)throw new RangeError("Trying to access beyond buffer length")}function U(e,r,i,t,n,a){if(!f.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>n||re.length)throw new RangeError("Index out of range")}function B(e,r,i,t){r<0&&(r=65535+r+1);for(var n=0,f=Math.min(e.length-i,2);n>>8*(t?n:1-n)}function j(e,r,i,t){r<0&&(r=4294967295+r+1);for(var n=0,f=Math.min(e.length-i,4);n>>8*(t?n:3-n)&255}function D(e,r,i,t,n,f){if(i+t>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function N(e,r,i,t,n){return n||D(e,r,i,4,3.4028234663852886e38,-3.4028234663852886e38),X.write(e,r,i,t,23,4),i+4}function F(e,r,i,t,n){return n||D(e,r,i,8,1.7976931348623157e308,-1.7976931348623157e308),X.write(e,r,i,t,52,8),i+8}function z(e){if(e=Y(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function Y(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function H(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,r){r=r||1/0;for(var i,t=e.length,n=null,f=[],a=0;a55295&&i<57344){if(!n){if(i>56319){(r-=3)>-1&&f.push(239,191,189);continue}if(a+1===t){(r-=3)>-1&&f.push(239,191,189);continue}n=i;continue}if(i<56320){(r-=3)>-1&&f.push(239,191,189),n=i;continue}i=65536+(n-55296<<10|i-56320)}else n&&(r-=3)>-1&&f.push(239,191,189);if(n=null,i<128){if((r-=1)<0)break;f.push(i)}else if(i<2048){if((r-=2)<0)break;f.push(i>>6|192,63&i|128)}else if(i<65536){if((r-=3)<0)break;f.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;f.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return f}function W(e){for(var r=[],i=0;i>8,n=i%256,f.push(n),f.push(t);return f}function V(e){return K.toByteArray(z(e))}function J(e,r,i,t){for(var n=0;n=r.length||n>=e.length);++n)r[n+i]=e[n];return n}function G(e){return e!==e}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var K=i(23),X=i(24),$=i(13);r.Buffer=f,r.SlowBuffer=k,r.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),r.kMaxLength=t(),f.poolSize=8192,f._augment=function(e){return e.__proto__=f.prototype,e},f.from=function(e,r,i){return a(null,e,r,i)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(e,r,i){return l(null,e,r,i)},f.allocUnsafe=function(e){return s(null,e)},f.allocUnsafeSlow=function(e){return s(null,e)},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.compare=function(e,r){if(!f.isBuffer(e)||!f.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var i=e.length,t=r.length,n=0,a=Math.min(i,t);n0&&(e=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(e+=" ... ")),""},f.prototype.compare=function(e,r,i,t,n){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===i&&(i=e?e.length:0),void 0===t&&(t=0),void 0===n&&(n=this.length),r<0||i>e.length||t<0||n>this.length)throw new RangeError("out of range index");if(t>=n&&r>=i)return 0;if(t>=n)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,t>>>=0,n>>>=0,this===e)return 0;for(var a=n-t,o=i-r,l=Math.min(a,o),s=this.slice(t,n),u=e.slice(r,i),h=0;hn)&&(i=n),e.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");t||(t="utf8");for(var f=!1;;)switch(t){case"hex":return _(this,e,r,i);case"utf8":case"utf-8":return m(this,e,r,i);case"ascii":return E(this,e,r,i);case"latin1":case"binary":return A(this,e,r,i);case"base64":return S(this,e,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r,i);default:if(f)throw new TypeError("Unknown encoding: "+t);t=(""+t).toLowerCase(),f=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;f.prototype.slice=function(e,r){var i=this.length;e=~~e,r=void 0===r?i:~~r,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),r<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(n*=256);)t+=this[e+--r]*n;return t},f.prototype.readUInt8=function(e,r){return r||C(e,1,this.length),this[e]},f.prototype.readUInt16LE=function(e,r){return r||C(e,2,this.length),this[e]|this[e+1]<<8},f.prototype.readUInt16BE=function(e,r){return r||C(e,2,this.length),this[e]<<8|this[e+1]},f.prototype.readUInt32LE=function(e,r){return r||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},f.prototype.readUInt32BE=function(e,r){return r||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},f.prototype.readIntLE=function(e,r,i){e|=0,r|=0,i||C(e,r,this.length);for(var t=this[e],n=1,f=0;++f=n&&(t-=Math.pow(2,8*r)),t},f.prototype.readIntBE=function(e,r,i){e|=0,r|=0,i||C(e,r,this.length);for(var t=r,n=1,f=this[e+--t];t>0&&(n*=256);)f+=this[e+--t]*n;return n*=128,f>=n&&(f-=Math.pow(2,8*r)),f},f.prototype.readInt8=function(e,r){return r||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,r){r||C(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},f.prototype.readInt16BE=function(e,r){r||C(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},f.prototype.readInt32LE=function(e,r){return r||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},f.prototype.readInt32BE=function(e,r){return r||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},f.prototype.readFloatLE=function(e,r){return r||C(e,4,this.length),X.read(this,e,!0,23,4)},f.prototype.readFloatBE=function(e,r){return r||C(e,4,this.length),X.read(this,e,!1,23,4)},f.prototype.readDoubleLE=function(e,r){return r||C(e,8,this.length),X.read(this,e,!0,52,8)},f.prototype.readDoubleBE=function(e,r){return r||C(e,8,this.length),X.read(this,e,!1,52,8)},f.prototype.writeUIntLE=function(e,r,i,t){if(e=+e,r|=0,i|=0,!t){U(this,e,r,i,Math.pow(2,8*i)-1,0)}var n=1,f=0;for(this[r]=255&e;++f=0&&(f*=256);)this[r+n]=e/f&255;return r+i},f.prototype.writeUInt8=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,1,255,0),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},f.prototype.writeUInt16LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},f.prototype.writeUInt16BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},f.prototype.writeUInt32LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):j(this,e,r,!0),r+4},f.prototype.writeUInt32BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):j(this,e,r,!1),r+4},f.prototype.writeIntLE=function(e,r,i,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*i-1);U(this,e,r,i,n-1,-n)}var f=0,a=1,o=0;for(this[r]=255&e;++f>0)-o&255;return r+i},f.prototype.writeIntBE=function(e,r,i,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*i-1);U(this,e,r,i,n-1,-n)}var f=i-1,a=1,o=0;for(this[r+f]=255&e;--f>=0&&(a*=256);)e<0&&0===o&&0!==this[r+f+1]&&(o=1),this[r+f]=(e/a>>0)-o&255;return r+i},f.prototype.writeInt8=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,1,127,-128),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},f.prototype.writeInt16LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},f.prototype.writeInt16BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},f.prototype.writeInt32LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):j(this,e,r,!0),r+4},f.prototype.writeInt32BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):j(this,e,r,!1),r+4},f.prototype.writeFloatLE=function(e,r,i){return N(this,e,r,!0,i)},f.prototype.writeFloatBE=function(e,r,i){return N(this,e,r,!1,i)},f.prototype.writeDoubleLE=function(e,r,i){return F(this,e,r,!0,i)},f.prototype.writeDoubleBE=function(e,r,i){return F(this,e,r,!1,i)},f.prototype.copy=function(e,r,i,t){if(i||(i=0),t||0===t||(t=this.length),r>=e.length&&(r=e.length),r||(r=0),t>0&&t=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-r=0;--n)e[n+r]=this[n+i];else if(a<1e3||!f.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,i=void 0===i?this.length:i>>>0,e||(e=0);var a;if("number"==typeof e)for(a=r;a>0]=r;break;case"i16":L[e>>1]=r;break;case"i32":M[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,1<=+ha(tempDouble)?0>>0:~~+ka((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M[e>>2]=tempI64[0],M[e+4>>2]=tempI64[1];break;case"float":N[e>>2]=r;break;case"double":la[e>>3]=r;break;default:G("invalid type for setValue: "+i)}}function ma(e,r){switch(r=r||"i8","*"===r.charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return J[e>>0];case"i16":return L[e>>1];case"i32":case"i64":return M[e>>2];case"float":return N[e>>2];case"double":return la[e>>3];default:G("invalid type for setValue: "+r)}return null}function O(e,r,i,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a="string"==typeof r?r:null;if(i=4==i?t:["function"==typeof Q?Q:y.o,y.f,y.o,y.b][void 0===i?2:i](Math.max(f,a?1:r.length)),n){for(t=i,assert(0==(3&i)),e=i+(-4&f);t>2]=0;for(e=i+f;t>0]=0;return i}if("i8"===a)return e.subarray||e.slice?R.set(e,i):R.set(new Uint8Array(e),i),i;t=0;for(var o,l;t>0],t|=i,0!=i||r)&&(n++,!r||n!=r););if(r||(r=n),i="",128>t){for(;0i?l+=String.fromCharCode(i):(i-=65536,l+=String.fromCharCode(55296|i>>10,56320|1023&i)))):l+=String.fromCharCode(i)}}function ra(e,r,i,t){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f)),127>=a){if(i>=t)break;r[i++]=a}else{if(2047>=a){if(i+1>=t)break;r[i++]=192|a>>6}else{if(65535>=a){if(i+2>=t)break;r[i++]=224|a>>12}else{if(2097151>=a){if(i+3>=t)break;r[i++]=240|a>>18}else{if(67108863>=a){if(i+4>=t)break;r[i++]=248|a>>24}else{if(i+5>=t)break;r[i++]=252|a>>30,r[i++]=128|a>>24&63}r[i++]=128|a>>18&63}r[i++]=128|a>>12&63}r[i++]=128|a>>6&63}r[i++]=128|63&a}}return r[i]=0,i-n}function sa(e){for(var r=0,i=0;i=t&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++i)),127>=t?++r:r=2047>=t?r+2:65535>=t?r+3:2097151>=t?r+4:67108863>=t?r+5:r+6}return r}function ta(){return ua().replace(/__Z[\w\d_]+/g,function(e){var r;e:{if(b.___cxa_demangle)try{var i=Q(e.length);fa(e.substr(1),i);var t=Q(4),n=b.___cxa_demangle(i,0,0,t);if(0===ma(t,"i32")&&n){r=I(n);break e}}catch(i){r=e;break e}finally{i&&va(i),t&&va(t),n&&va(n)}y.d("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),r=e}return e===r?e:e+" ["+r+"]"})}function ua(){var e=Error();if(!e.stack){try{throw Error(0)}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function wa(){var e=E;return 0>0]=e[i],i+=1}function ea(e,r){for(var i=0;i>0]=e[i]}function pa(e,r,i){for(var t=0;t>0]=e.charCodeAt(t);i||(J[r>>0]=0)}function Oa(e){return b.___errno_location&&(M[b.___errno_location()>>2]=e),e}function S(e){S.a||(E=wa(),S.a=!0,assert(y.b),S.u=y.b,y.b=function(){G("cannot dynamically allocate, sbrk now has control")});var r=E;return 0==e||S.u(e)?r:4294967295}function Y(){return Y.a||(Y.a=[]),Y.a.push(y.g()),Y.a.length-1}function w(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ya(e){function r(){if(!b.calledRun&&(b.calledRun=!0,!H)){if(T||(T=!0,V(Ea)),V(Fa),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b._main&&$a&&b.callMain(e),b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;)Ja(b.postRun.shift());V(Ha)}}if(e=e||b.arguments,null===Wa&&(Wa=Date.now()),!(0 0) var gc = undefined");else{if(!p&&!q)throw"Unknown runtime environment. Where are we?";b.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},b.readAsync=function(e,r,i){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?r(t.response):i()},t.onerror=i,t.send(null)},void 0!==arguments&&(b.arguments=arguments),"undefined"!=typeof console?(b.print||(b.print=function(e){console.log(e)}),b.printErr||(b.printErr=function(e){console.warn(e)})):b.print||(b.print=function(){}),q&&(b.load=importScripts),void 0===b.setWindowTitle&&(b.setWindowTitle=function(e){document.title=e})}!b.load&&b.read&&(b.load=function(e){aa(b.read(e))}),b.print||(b.print=function(){}),b.printErr||(b.printErr=b.print),b.arguments||(b.arguments=[]),b.thisProgram||(b.thisProgram="./this.program"),b.print=b.print,b.m=b.printErr,b.preRun=[],b.postRun=[];for(l in f)f.hasOwnProperty(l)&&(b[l]=f[l]);var f=void 0,y={B:function(e){tempRet0=e},w:function(){return tempRet0},g:function(){return x},c:function(e){x=e},q:function(e){switch(e){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"*"===e[e.length-1]?y.i:"i"===e[0]?(e=parseInt(e.substr(1)),assert(0==e%8),e/8):0}},v:function(e){return Math.max(y.q(e),y.i)},C:16,Q:function(e,r){return"double"===r||"i64"===r?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},K:function(e,r,i){return i||"i64"!=e&&"double"!=e?e?Math.min(r||(e?y.v(e):0),y.i):Math.min(r,8):8},k:function(e,r,i){return i&&i.length?(i.splice||(i=Array.prototype.slice.call(i)),i.splice(0,0,r),b["dynCall_"+e].apply(null,i)):b["dynCall_"+e].call(null,r)},e:[],r:function(e){for(var r=0;r=F)&&(G("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+F+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),e=!0),e?(E=r,0):r},p:function(e,r){return Math.ceil(e/(r||16))*(r||16)},P:function(e,r,i){return i?+(e>>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},h:8,i:4,D:0};b.Runtime=y,y.addFunction=y.r,y.removeFunction=y.A;var H=!1,ca,da;!function(){function a(e){return e=e.toString().match(g).slice(1),{arguments:e[0],body:e[1],returnValue:e[2]}}function c(){if(!k){k={};for(var e in d)d.hasOwnProperty(e)&&(k[e]=a(d[e]))}}var d={stackSave:function(){y.g()},stackRestore:function(){y.c()},arrayToC:function(e){var r=y.f(e.length);return ea(e,r),r},stringToC:function(e){var r=0;return null!==e&&void 0!==e&&0!==e&&(r=y.f(1+(e.length<<2)),fa(e,r)),r}},e={string:d.stringToC,array:d.arrayToC};da=function(r,i,t,n,f){r=ba(r);var a=[],o=0;if(n)for(var l=0;l>0];if(!i)return r;r+=String.fromCharCode(i)}},b.stringToAscii=function(e,r){return pa(e,r,!1)},b.UTF8ArrayToString=qa,b.UTF8ToString=function(e){return qa(R,e)},b.stringToUTF8Array=ra,b.stringToUTF8=function(e,r,i){return ra(e,R,r,i)},b.lengthBytesUTF8=sa,b.stackTrace=function(){return ta()};for(var buffer,J,R,L,xa,M,ya,N,la,za=0,z=0,na=!1,Aa=0,x=0,Ba=0,E=0,Ca=b.TOTAL_STACK||5242880,F=b.TOTAL_MEMORY||16777216,U=65536;UU?2*U:U+16777216;if(U!==F&&(F=U),buffer=b.buffer?b.buffer:new ArrayBuffer(F),b.HEAP8=J=new Int8Array(buffer),b.HEAP16=L=new Int16Array(buffer),b.HEAP32=M=new Int32Array(buffer),b.HEAPU8=R=new Uint8Array(buffer),b.HEAPU16=xa=new Uint16Array(buffer),b.HEAPU32=ya=new Uint32Array(buffer),b.HEAPF32=N=new Float32Array(buffer),b.HEAPF64=la=new Float64Array(buffer),M[0]=255,255!==R[0]||0!==R[3])throw"Typed arrays 2 must be run on a little-endian system";b.HEAP=void 0,b.buffer=buffer,b.HEAP8=J,b.HEAP16=L,b.HEAP32=M,b.HEAPU8=R,b.HEAPU16=xa,b.HEAPU32=ya,b.HEAPF32=N,b.HEAPF64=la;var Da=[],Ea=[],Fa=[],Ga=[],Ha=[],T=!1;b.addOnPreRun=Ia,b.addOnInit=function(e){Ea.unshift(e)},b.addOnPreMain=function(e){Fa.unshift(e)},b.addOnExit=function(e){Ga.unshift(e)},b.addOnPostRun=Ja,b.intArrayFromString=Ka,b.intArrayToString=function(e){for(var r=[],i=0;i>>16)*t+i*(r>>>16)<<16)|0}),Math.O=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;32>r;r++)if(e&1<<31-r)return r;return 32}),Math.H=Math.clz32;var ha=Math.abs,ka=Math.ceil,ja=Math.floor,La=Math.pow,ia=Math.min,W=0,Ma=null,X=null;b.addRunDependency=function(){W++,b.monitorRunDependencies&&b.monitorRunDependencies(W)},b.removeRunDependency=function(){if(W--,b.monitorRunDependencies&&b.monitorRunDependencies(W),0==W&&(null!==Ma&&(clearInterval(Ma),Ma=null),X)){var e=X;X=null,e()}},b.preloadedImages={},b.preloadedAudios={},za=8,z=za+31072,Ea.push(),O([1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,190,98,0,0,198,98,0,0,215,98,0,0,232,98,0,0,247,98,0,0,8,99,0,0,32,99,0,0,46,99,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,168,1,0,0,104,4,0,0,36,7,0,0,220,9,0,0,144,12,0,0,64,15,0,0,236,17,0,0,84,19,0,0,16,20,0,0,132,20,0,0,208,20,0,0,8,21,0,0,40,21,0,0,64,21,0,0,76,21,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160,0,0,33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,172,21,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,72,87,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,249,99,0,0,116,87,0,0,24,22,0,0,128,7,0,0,3,0,0,0,248,23,0,0,48,39,0,0,104,39,0,0,160,39,0,0,216,39,0,0,136,1,0,0,166,94,0,0,224,100,0,0,104,102,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,158,87,0,0,48,24,0,0,0,0,0,0,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,91,0,0,48,24,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,93,0,0,48,24,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,94,0,0,48,24,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63],"i8",4,y.h),O([107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63,123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,191,104,0,0,199,104,0,0,215,104,0,0,247,104,0,0,255,104,0,0,15,105,0,0,47,105,0,0,87,105,0,0,167,105,0,0,71,106,0,0,79,106,0,0,95,106,0,0,32,0,10,0,20,46,100,1,130,106,0,0,194,107,0,0,2,108,0,0,20,108,0,0,180,108,0,0,252,108,0,0,134,95,0,0,32,0,16,0,102,38,171,1,68,109,0,0,68,111,0,0,132,111,0,0,162,111,0,0,162,112,0,0,234,112,0,0,156,95,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,77,113,0,0,80,113,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,0,250,0,0,128,62,0,0,160,140,0,0,128,62,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,8,82,0,0,208,7,0,0,96,109,0,0,208,7,0,0,224,46,0,0,232,3,0,0,80,70,0,0,208,7,0,0,8,82,0,0,208,7,0,0,48,117,0,0,208,7,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,104,66,0,0,232,3,0,0,8,82,0,0,208,7,0,0,224,46,0,0,232,3,0,0,152,58,0,0,232,3,0,0,80,70,0,0,208,7,0,0,240,85,0,0,208,7,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63],"i8",4,y.h+10240),O([206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,3,0,0,0,148,80,0,0,160,80,0,0,25,0,0,0,15,0,0,0,2,0,0,0,14,190,192,189,172,31,155,190,149,130,26,191,150,149,70,190,84,114,62,190,146,3,26,191,6,152,62,189,2,160,234,189,182,43,212,189,185,114,30,191,106,190,162,190,28,7,46,190,107,243,143,189,90,158,23,62,33,173,209,62,10,102,12,63,125,60,188,62,20,33,253,190,143,169,67,63,8,119,235,191,10,243,46,62,117,147,76,65,80,83,139,191,108,236,162,191,181,21,130,193,28,107,193,65,162,98,178,192,255,231,48,190,47,79,39,190,158,206,101,190,255,87,194,189,155,60,149,189,203,248,135,190,44,97,205,189,203,33,83,189,64,166,21,190,238,35,247,189,160,253,56,190,219,167,3,62,233,95,226,62,213,202,252,190,29,203,43,62,231,168,83,62,1,79,74,190,247,3,214,62,71,119,192,63,173,249,69,191,64,164,32,193,43,194,205,62,192,178,62,64,201,118,115,65,100,204,241,191,39,165,152,191,23,204,233,60,134,193,132,187,201,232,144,61,84,72,7,60,154,231,189,189,103,71,42,188,59,137,140,187,159,122,160,187,88,90,145,189,85,196,39,187,169,11,34,61,177,219,103,62,241,54,5,61,52,17,38,62,170,10,205,189,86,185,248,62,108,4,2,62,86,102,146,62,228,254,126,60,106,251,215,61,159,142,67,64,136,70,147,63,57,40,129,191,71,90,234,191,139,84,84,64,210,53,91,192,13,253,243,189,232,39,38,189,25,31,226,59,241,90,147,60,171,170,28,189,237,238,195,59,5,106,150,188,246,141,249,58,37,201,19,190,106,115,50,189,210,214,129,58,161,100,98,62,158,210,17,62,128,215,247,62,221,12,207,62,124,15,3,63,250,242,114,190,55,139,119,62,47,110,179,62,183,13,51,191,136,99,38,65,18,165,41,64,83,208,27,192,53,7,134,192,125,150,135,63,60,247,218,63,12,212,218,59,186,186,147,189,191,192,34,189,69,144,20,61,38,112,235,189,208,37,193,188,210,156,6,60,124,58,104,188,114,11,7,189,31,26,17,189,171,204,53,59,154,208,148,190,218,230,146,191,140,104,163,190,89,193,47,191,163,233,188,62,64,50,245,62,253,245,58,62,163,119,210,190,8,144,97,63,39,107,147,192,33,31,188,63,224,243,171,62,161,214,232,191,245,91,241,193,8,172,177,64,252,177,255,58,106,21,253,189,37,245,148,189,41,102,131,189,252,233,90,189,35,134,221,189,20,249,191,189,43,237,142,189,75,171,225,188,167,236,68,190,122,110,225,189,172,28,146,62,105,170,207,190,7,203,189,61,35,101,147,190,201,231,89,191,252,194,203,189,212,95,111,190,111,129,164,191,13,108,145,63,155,201,71,64,187,39,143,189,66,91,238,191,113,201,41,64,120,238,233,192,26,168,28,64,135,138,146,186,54,152,129,189,127,33,26,189,138,114,25,190,229,100,18,62,247,202,60,62,113,202,252,61,117,220,154,61,70,65,240,61,200,40,191,61,71,193,141,61,22,144,172,61,175,81,144,61,27,166,113,61,173,246,192,61,61,209,229,190,92,47,215,60,148,107,138,62,106,78,134,190,98,186,48,62,49,37,0,64,133,9,35,190,99,96,29,61,26,81,35,65,182,248,132,64,7,206,21,192,120,99,97,189,79,18,30,60,98,186,16,190,8,223,224,60,187,222,12,61,136,166,71,189,97,152,194,61,35,245,253,187,158,146,24,189,185,155,179,187,187,236,135,189,45,182,196,61,230,206,76,190,12,24,41,189,251,87,22,63,48,68,83,61,142,172,172,62,218,226,90,63,93,26,43,63,202,82,235,189,178,75,104,192,37,89,239,190,177,164,92,190,57,98,39,64,145,238,207,62,180,142,174,191,203,61,46,61,20,5,250,61,210,98,191,61,67,4,252,61,160,165,11,61,155,226,17,190,245,130,15,61,15,250,72,189,55,41,150,61,113,52,108,61,83,235,253,61,185,215,83,189,147,139,129,190,69,47,23,63,113,89,21,62,238,95,161,62,207,217,98,62,177,168,24,190,79,89,93,62,127,251,178,190,253,135,196,65,161,131,126,191,11,66,29,63,242,82,150,193,27,76,53,192,69,128,55,191,84,196,177,190,253,130,245,62,128,238,123,190,215,96,155,61,137,150,12,62,211,19,54,190,185,51,243,61,46,253,141,186,175,7,115,190,129,34,182,62,33,7,5,190,218,78,96,189,101,28,163,190,21,171,166,190,107,211,56,62,171,31,128,189,183,155,16,62,40,41,176,62,24,207,192,62,95,126,23,191,102,247,186,64,170,241,194,190,46,56,99,62,239,172,181,191,48,108,229,201,122,170,171,63,218,31,232,60,27,113,55,189,162,59,173,188,127,121,210,188,9,192,100,60,236,86,170,60,101,102,48,188,198,207,53,60,202,13,112,61,62,180,207,188,178,134,6,189,121,35,243,61,78,38,94,190,247,62,21,62,230,93,245,61,106,111,187,189,198,21,247,189,41,83,161,189,106,23,19,190,134,89,24,191,188,116,147,191,198,109,160,191,181,224,149,191,42,227,138,64,64,26,110,201,249,102,175,191,204,76,36,189,13,168,87,62,141,239,11,190,159,57,11,62,64,87,86,189,28,28,54,61,199,207,107,60,239,56,135,59,170,27,158,188,226,177,95,62,162,178,225,189,236,163,1,192,165,17,107,63,28,8,29,192,134,3,153,63,184,86,123,189,48,18,246,191,186,192,157,62,172,202,254,62,42,144,105,63,102,75,86,62,147,24,22,192,95,94,12,64,39,20,207,192,144,78,217,63,169,161,57,191,112,218,66,60,77,206,26,61,109,235,98,61,109,130,185,60,243,67,144,189,93,3,246,188,182,124,73,60,72,233,136,187,62,158,140,189,125,64,0,61,219,50,32,61,194,108,186,62,242,165,193,189,126,80,188,60,194,81,50,190,228,218,168,62,44,239,234,61,112,182,153,62,62,33,219,61,18,136,7,62,8,148,185,64,125,118,104,63,80,195,103,191,88,202,86,192,248,56,67,62,207,161,60,62,50,116,44,191,208,94,109,62,213,29,112,189,65,74,108,62,216,101,224,190,240,193,123,62,23,72,48,190,182,123,179,61,121,115,56,191,85,106,38,62,85,187,139,60,143,114,208,61,117,230,198,62,213,38,170,63,2,241,138,63,108,177,111,191,51,167,23,192,66,9,215,192,144,102,92,192,241,215,8,64,116,181,99,65,82,68,157,64,20,203,69,192,16,18,27,193,252,170,68,191,164,228,229,63,75,35,97,61,17,82,39,62,16,59,163,61,253,223,12,61,211,175,99,189,237,178,165,187,217,102,153,60,110,201,5,61,34,162,189,60,175,119,31,62,154,15,67,61,75,120,130,190,151,255,204,63,210,28,77,191,119,132,35,64,65,213,60,63,19,102,174,191,221,9,50,191,71,90,28,192,62,174,221,191,131,250,124,64,205,1,242,63,101,224,248,62,75,89,53,193,128,147,112,74,249,75,195,190,126,29,248,61,94,44,104,191,249,20,60,64,51,196,209,63,231,255,97,63,2,213,95,63,45,207,155,63,46,226,95,191,166,182,164,62,93,249,72,63,160,81,114,63,134,55,19,191,62,203,93,192,34,137,98,63,173,62,189,61,144,131,30,193,116,93,200,62,10,242,35,62,170,43,3,192,240,167,132,64,210,22,140,61,58,60,20,190,123,16,146,190,69,44,194,62,116,70,148,191,167,29,227,188,154,153,29,193,16,93,154,192,51,167,109,64,139,224,119,64,26,163,97,64,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,184,126,154,121,154,121,102,102,184,126,51,115,16,48,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,30,161,36,42,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,210,6,138,58,171,152,198,26,169,100,246,216,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,19,245,149,230,89,18,243,41,31,6,84,32,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,117,110,107,110,111,119,110,32,101,114,114,111,114,0,115,117,99,99,101,115,115,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,0,99,111,114,114,117,112,116,101,100,32,115,116,114,101,97,109,0,114,101,113,117,101,115,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,0,108,105,98,111,112,117,115,32,49,46,49,46,50,0,2,1,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,2,1,0,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,8,16,32,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,203,150,0,215,195,166,125,110,82,0,120,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,8,10,12,16,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231,209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,255,255],"i8",4,y.h+20480);var Na=z,z=z+16;b._i64Add=Pa,b._bitshift64Ashr=Qa,b._memset=Ra,b._memcpy=Sa;var Ta=ha;b._memmove=Ua;var Aa=x=y.p(z),na=!0,Ba=Aa+Ca,E=y.p(Ba),Va=O([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);b.s={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},b.t={abort:G,assert:assert,invoke_viiiiiii:function(e,r,i,t,n,f,a,o){try{b.dynCall_viiiiiii(e,r,i,t,n,f,a,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Z.setThrew(1,0)}},_llvm_pow_f64:La,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Oa,_llvm_stacksave:Y,_sbrk:S,_time:function(e){var r=Date.now()/1e3|0;return e&&(M[e>>2]=r),r},_llvm_fabs_f64:Ta,_emscripten_memcpy_big:function(e,r,i){return R.set(R.subarray(r,r+i),e),e},_llvm_stackrestore:function(e){var r=Y.a[e];Y.a.splice(e,1),y.c(r)},_sysconf:function(e){switch(e){case 30:return 4096;case 85:return U/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 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 79:return 0;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"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return Oa(22),-1},STACKTOP:x,STACK_MAX:Ba,tempDoublePtr:Na,ABORT:H,cttz_i8:Va};var Z=function(e,r,i){"use asm";var t=new e.Int8Array(i);var n=new e.Int16Array(i);var f=new e.Int32Array(i);var a=new e.Uint8Array(i);var o=new e.Uint16Array(i);var l=new e.Uint32Array(i);var s=new e.Float32Array(i);var u=new e.Float64Array(i);var h=r.STACKTOP|0;var c=r.STACK_MAX|0;var b=r.tempDoublePtr|0;var w=r.ABORT|0;var k=r.cttz_i8|0;var d=0;var p=0;var v=0;var g=0;var y=e.NaN,_=e.Infinity;var m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;var L=0;var P=0;var I=0;var C=0;var U=0;var B=0;var j=0;var D=0;var N=0;var F=0;var z=e.Math.floor;var Y=e.Math.abs;var H=e.Math.sqrt;var q=e.Math.pow;var W=e.Math.cos;var Z=e.Math.sin;var V=e.Math.tan;var J=e.Math.acos;var G=e.Math.asin;var K=e.Math.atan;var X=e.Math.atan2;var $=e.Math.exp;var Q=e.Math.log;var ee=e.Math.ceil;var re=e.Math.imul;var ie=e.Math.min;var te=e.Math.clz32;var ne=r.abort;var fe=r.assert;var ae=r.invoke_viiiiiii;var oe=r._llvm_pow_f64;var le=r._pthread_self;var se=r._abort;var ue=r.___setErrNo;var he=r._llvm_stacksave;var ce=r._sbrk;var be=r._time;var we=r._llvm_fabs_f64;var ke=r._emscripten_memcpy_big;var de=r._llvm_stackrestore;var pe=r._sysconf;var ve=0;function ge(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,me=0;ge=h;h=h+304|0;G=ge+288|0;K=ge+284|0;u=ge+280|0;X=ge+276|0;$=ge+272|0;Q=ge+268|0;ee=ge+264|0;ie=ge+260|0;oe=ge+256|0;se=ge+252|0;ae=ge+248|0;D=ge+244|0;T=ge+240|0;b=ge+192|0;M=ge+184|0;pe=ge+176|0;me=ge+168|0;be=ge+164|0;we=ge+160|0;ke=ge+156|0;V=ge+152|0;B=ge+148|0;Y=ge+144|0;d=ge+140|0;fe=ge+136|0;F=ge+132|0;z=ge+128|0;ve=ge+124|0;le=ge+120|0;C=ge+116|0;P=ge+112|0;R=ge+108|0;W=ge+104|0;q=ge+100|0;U=ge+96|0;I=ge+92|0;S=ge+88|0;L=ge+84|0;A=ge+80|0;v=ge+76|0;Z=ge+72|0;O=ge+68|0;x=ge+64|0;j=ge+60|0;N=ge+56|0;ue=ge+52|0;ce=ge+48|0;H=ge+44|0;y=ge+40|0;k=ge+36|0;w=ge+32|0;te=ge+28|0;E=ge+24|0;m=ge+20|0;g=ge+16|0;p=ge+12|0;_=ge+8|0;J=ge+4|0;ne=ge;f[K>>2]=e;f[u>>2]=r;f[X>>2]=i;f[$>>2]=t;f[Q>>2]=a;f[ee>>2]=o;f[ie>>2]=l;f[fe>>2]=f[(f[K>>2]|0)+8>>2];f[U>>2]=0;f[I>>2]=0;f[x>>2]=0;f[N>>2]=f[(f[K>>2]|0)+12>>2];f[ue>>2]=f[f[K>>2]>>2];f[ce>>2]=f[(f[ue>>2]|0)+8>>2];f[H>>2]=f[(f[ue>>2]|0)+4>>2];f[y>>2]=f[(f[ue>>2]|0)+32>>2];f[ve>>2]=f[(f[K>>2]|0)+20>>2];f[le>>2]=f[(f[K>>2]|0)+24>>2];f[Q>>2]=re(f[Q>>2]|0,f[(f[K>>2]|0)+16>>2]|0)|0;f[me>>2]=(f[K>>2]|0)+84+((re(2048+(f[H>>2]|0)|0,f[fe>>2]|0)|0)<<2);f[be>>2]=(f[me>>2]|0)+((f[fe>>2]|0)*24<<2);f[we>>2]=(f[be>>2]|0)+(f[ce>>2]<<1<<2);f[ke>>2]=(f[we>>2]|0)+(f[ce>>2]<<1<<2);f[V>>2]=(f[ke>>2]|0)+(f[ce>>2]<<1<<2);f[F>>2]=0;while(1){if((f[F>>2]|0)>(f[(f[ue>>2]|0)+36>>2]|0))break;if((f[(f[ue>>2]|0)+44>>2]<>2]|0)==(f[Q>>2]|0))break;f[F>>2]=(f[F>>2]|0)+1}if((f[F>>2]|0)>(f[(f[ue>>2]|0)+36>>2]|0)){f[G>>2]=-1;me=f[G>>2]|0;h=ge;return me|0}f[z>>2]=1<>2];if((f[X>>2]|0)<0|(f[X>>2]|0)>1275|(f[$>>2]|0)==0){f[G>>2]=-1;me=f[G>>2]|0;h=ge;return me|0}f[ae>>2]=re(f[z>>2]|0,f[(f[ue>>2]|0)+44>>2]|0)|0;f[oe>>2]=0;do{me=(f[K>>2]|0)+84+((re(f[oe>>2]|0,2048+(f[H>>2]|0)|0)|0)<<2)|0;f[M+(f[oe>>2]<<2)>>2]=me;f[pe+(f[oe>>2]<<2)>>2]=(f[M+(f[oe>>2]<<2)>>2]|0)+8192+(0-(f[ae>>2]|0)<<2);me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));f[C>>2]=f[le>>2];if((f[C>>2]|0)>(f[(f[ue>>2]|0)+12>>2]|0))f[C>>2]=f[(f[ue>>2]|0)+12>>2];if((f[u>>2]|0)==0|(f[X>>2]|0)<=1){ye(f[K>>2]|0,f[ae>>2]|0,f[F>>2]|0);Ee(pe,f[$>>2]|0,f[ae>>2]|0,f[fe>>2]|0,f[(f[K>>2]|0)+16>>2]|0,(f[ue>>2]|0)+16|0,(f[K>>2]|0)+76|0,f[ie>>2]|0);f[G>>2]=(f[Q>>2]|0)/(f[(f[K>>2]|0)+16>>2]|0)|0;me=f[G>>2]|0;h=ge;return me|0}if(!(f[ee>>2]|0)){Pe(b,f[u>>2]|0,f[X>>2]|0);f[ee>>2]=b}e:do{if((f[N>>2]|0)==1){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]|0))break e;if(+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]>+s[(f[be>>2]|0)+((f[ce>>2]|0)+(f[se>>2]|0)<<2)>>2])c=+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2];else c=+s[(f[be>>2]|0)+((f[ce>>2]|0)+(f[se>>2]|0)<<2)>>2];s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}}while(0);f[S>>2]=f[X>>2]<<3;f[A>>2]=Ae(f[ee>>2]|0)|0;do{if((f[A>>2]|0)<(f[S>>2]|0))if((f[A>>2]|0)==1){f[j>>2]=Ne(f[ee>>2]|0,15)|0;break}else{f[j>>2]=0;break}else f[j>>2]=1}while(0);if(f[j>>2]|0){f[A>>2]=f[X>>2]<<3;e=f[A>>2]|0;e=e-(Ae(f[ee>>2]|0)|0)|0;me=(f[ee>>2]|0)+20|0;f[me>>2]=(f[me>>2]|0)+e}s[q>>2]=0;f[W>>2]=0;f[Z>>2]=0;if((f[ve>>2]|0)==0?((f[A>>2]|0)+16|0)<=(f[S>>2]|0):0){if(Ne(f[ee>>2]|0,1)|0){f[w>>2]=ze(f[ee>>2]|0,6)|0;me=16<>2];f[W>>2]=me+(Ye(f[ee>>2]|0,4+(f[w>>2]|0)|0)|0)-1;f[k>>2]=Ye(f[ee>>2]|0,3)|0;me=(Ae(f[ee>>2]|0)|0)+2|0;if((me|0)<=(f[S>>2]|0))f[Z>>2]=Fe(f[ee>>2]|0,25575,2)|0;s[q>>2]=+((f[k>>2]|0)+1|0)*.09375}f[A>>2]=Ae(f[ee>>2]|0)|0}if((f[F>>2]|0)>0?((f[A>>2]|0)+3|0)<=(f[S>>2]|0):0){f[Y>>2]=Ne(f[ee>>2]|0,3)|0;f[A>>2]=Ae(f[ee>>2]|0)|0}else f[Y>>2]=0;if(f[Y>>2]|0)f[B>>2]=f[z>>2];else f[B>>2]=0;if(((f[A>>2]|0)+3|0)<=(f[S>>2]|0))u=Ne(f[ee>>2]|0,3)|0;else u=0;f[d>>2]=u;zr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,f[d>>2]|0,f[ee>>2]|0,f[N>>2]|0,f[F>>2]|0);me=f[ce>>2]|0;f[te>>2]=he()|0;i=h;h=h+((1*(me<<2)|0)+15&-16)|0;Se(f[ve>>2]|0,f[le>>2]|0,f[Y>>2]|0,i,f[F>>2]|0,f[ee>>2]|0);f[A>>2]=Ae(f[ee>>2]|0)|0;f[D>>2]=2;if(((f[A>>2]|0)+4|0)<=(f[S>>2]|0))f[D>>2]=Fe(f[ee>>2]|0,25578,5)|0;b=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;jn(f[ue>>2]|0,b,f[F>>2]|0,f[N>>2]|0);a=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;f[v>>2]=6;f[S>>2]=f[S>>2]<<3;f[A>>2]=Le(f[ee>>2]|0)|0;f[se>>2]=f[ve>>2];while(1){if((f[se>>2]|0)>=(f[le>>2]|0))break;u=re(f[N>>2]|0,(n[(f[y>>2]|0)+((f[se>>2]|0)+1<<1)>>1]|0)-(n[(f[y>>2]|0)+(f[se>>2]<<1)>>1]|0)|0)|0;f[E>>2]=u<>2];u=f[E>>2]|0;if((f[E>>2]<<3|0)<((48>(f[E>>2]|0)?48:f[E>>2]|0)|0))u=u<<3;else u=48>(u|0)?48:f[E>>2]|0;f[m>>2]=u;f[g>>2]=f[v>>2];f[p>>2]=0;while(1){if(((f[A>>2]|0)+(f[g>>2]<<3)|0)>=(f[S>>2]|0))break;if((f[p>>2]|0)>=(f[b+(f[se>>2]<<2)>>2]|0))break;f[_>>2]=Ne(f[ee>>2]|0,f[g>>2]|0)|0;f[A>>2]=Le(f[ee>>2]|0)|0;if(!(f[_>>2]|0))break;f[p>>2]=(f[p>>2]|0)+(f[m>>2]|0);f[S>>2]=(f[S>>2]|0)-(f[m>>2]|0);f[g>>2]=1}f[a+(f[se>>2]<<2)>>2]=f[p>>2];if((f[p>>2]|0)>0)f[v>>2]=2>((f[v>>2]|0)-1|0)?2:(f[v>>2]|0)-1|0;f[se>>2]=(f[se>>2]|0)+1}o=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;if(((f[A>>2]|0)+48|0)<=(f[S>>2]|0))u=Fe(f[ee>>2]|0,25582,7)|0;else u=5;f[R>>2]=u;me=f[X>>2]<<3<<3;f[T>>2]=me-(Le(f[ee>>2]|0)|0)-1;if((f[Y>>2]|0)!=0&(f[F>>2]|0)>=2)u=(f[T>>2]|0)>=((f[F>>2]|0)+2<<3|0);else u=0;f[O>>2]=u?8:0;f[T>>2]=(f[T>>2]|0)-(f[O>>2]|0);l=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;f[P>>2]=Wr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,a,b,f[R>>2]|0,U,I,f[T>>2]|0,L,l,o,r,f[N>>2]|0,f[F>>2]|0,f[ee>>2]|0,0,0,0)|0;Yr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,o,f[ee>>2]|0,f[N>>2]|0);f[oe>>2]=0;do{ys(f[M+(f[oe>>2]<<2)>>2]|0,(f[M+(f[oe>>2]<<2)>>2]|0)+(f[ae>>2]<<2)|0,(2048-(f[ae>>2]|0)+((f[H>>2]|0)/2|0)<<2)+0|0)|0;me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));me=re(f[N>>2]|0,f[ce>>2]|0)|0;u=h;h=h+((1*me|0)+15&-16)|0;me=(re(f[N>>2]|0,f[ae>>2]|0)|0)<<2;b=h;h=h+((1*me|0)+15&-16)|0;kn(0,f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,b,(f[N>>2]|0)==2?b+(f[ae>>2]<<2)|0:0,u,0,l,f[B>>2]|0,f[D>>2]|0,f[I>>2]|0,f[U>>2]|0,i,(f[X>>2]<<6)-(f[O>>2]|0)|0,f[L>>2]|0,f[ee>>2]|0,f[F>>2]|0,f[P>>2]|0,(f[K>>2]|0)+36|0,f[(f[K>>2]|0)+32>>2]|0);if((f[O>>2]|0)>0)f[x>>2]=Ye(f[ee>>2]|0,1)|0;I=f[ue>>2]|0;U=f[ve>>2]|0;B=f[le>>2]|0;D=f[be>>2]|0;me=f[X>>2]<<3;me=me-(Ae(f[ee>>2]|0)|0)|0;Hr(I,U,B,D,o,r,me,f[ee>>2]|0,f[N>>2]|0);if(f[x>>2]|0)hn(f[ue>>2]|0,b,u,f[F>>2]|0,f[N>>2]|0,f[ae>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,f[we>>2]|0,f[ke>>2]|0,l,f[(f[K>>2]|0)+36>>2]|0,f[(f[K>>2]|0)+32>>2]|0);e:do{if(f[j>>2]|0){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(re(f[N>>2]|0,f[ce>>2]|0)|0))break e;s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}}}while(0);_e(f[ue>>2]|0,b,pe,f[be>>2]|0,f[ve>>2]|0,f[C>>2]|0,f[N>>2]|0,f[fe>>2]|0,f[Y>>2]|0,f[F>>2]|0,f[(f[K>>2]|0)+16>>2]|0,f[j>>2]|0,f[(f[K>>2]|0)+32>>2]|0);f[oe>>2]=0;do{if((f[(f[K>>2]|0)+52>>2]|0)>15)u=f[(f[K>>2]|0)+52>>2]|0;else u=15;f[(f[K>>2]|0)+52>>2]=u;if((f[(f[K>>2]|0)+56>>2]|0)>15)u=f[(f[K>>2]|0)+56>>2]|0;else u=15;f[(f[K>>2]|0)+56>>2]=u;Un(f[pe+(f[oe>>2]<<2)>>2]|0,f[pe+(f[oe>>2]<<2)>>2]|0,f[(f[K>>2]|0)+56>>2]|0,f[(f[K>>2]|0)+52>>2]|0,f[(f[ue>>2]|0)+44>>2]|0,+s[(f[K>>2]|0)+64>>2],+s[(f[K>>2]|0)+60>>2],f[(f[K>>2]|0)+72>>2]|0,f[(f[K>>2]|0)+68>>2]|0,f[(f[ue>>2]|0)+60>>2]|0,f[H>>2]|0,f[(f[K>>2]|0)+32>>2]|0);if(f[F>>2]|0)Un((f[pe+(f[oe>>2]<<2)>>2]|0)+(f[(f[ue>>2]|0)+44>>2]<<2)|0,(f[pe+(f[oe>>2]<<2)>>2]|0)+(f[(f[ue>>2]|0)+44>>2]<<2)|0,f[(f[K>>2]|0)+52>>2]|0,f[W>>2]|0,(f[ae>>2]|0)-(f[(f[ue>>2]|0)+44>>2]|0)|0,+s[(f[K>>2]|0)+60>>2],+s[q>>2],f[(f[K>>2]|0)+68>>2]|0,f[Z>>2]|0,f[(f[ue>>2]|0)+60>>2]|0,f[H>>2]|0,f[(f[K>>2]|0)+32>>2]|0);me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));f[(f[K>>2]|0)+56>>2]=f[(f[K>>2]|0)+52>>2];s[(f[K>>2]|0)+64>>2]=+s[(f[K>>2]|0)+60>>2];f[(f[K>>2]|0)+72>>2]=f[(f[K>>2]|0)+68>>2];f[(f[K>>2]|0)+52>>2]=f[W>>2];s[(f[K>>2]|0)+60>>2]=+s[q>>2];f[(f[K>>2]|0)+68>>2]=f[Z>>2];if(f[F>>2]|0){f[(f[K>>2]|0)+56>>2]=f[(f[K>>2]|0)+52>>2];s[(f[K>>2]|0)+64>>2]=+s[(f[K>>2]|0)+60>>2];f[(f[K>>2]|0)+72>>2]=f[(f[K>>2]|0)+68>>2]}if((f[N>>2]|0)==1)gs((f[be>>2]|0)+(f[ce>>2]<<2)|0,f[be>>2]|0,(f[ce>>2]<<2)+0|0)|0;e:do{if(f[Y>>2]|0){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]<<1|0))break e;u=f[se>>2]|0;if(+s[(f[we>>2]|0)+(f[se>>2]<<2)>>2]<+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2])c=+s[(f[we>>2]|0)+(u<<2)>>2];else c=+s[(f[be>>2]|0)+(u<<2)>>2];s[(f[we>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}else{gs(f[ke>>2]|0,f[we>>2]|0,(f[ce>>2]<<1<<2)+0|0)|0;gs(f[we>>2]|0,f[be>>2]|0,(f[ce>>2]<<1<<2)+0|0)|0;if((f[(f[K>>2]|0)+48>>2]|0)<10)s[J>>2]=+(f[z>>2]|0)*.0010000000474974513;else s[J>>2]=1;f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]<<1|0))break e;u=f[se>>2]|0;if(+s[(f[V>>2]|0)+(f[se>>2]<<2)>>2]+ +s[J>>2]<+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2])c=+s[(f[V>>2]|0)+(u<<2)>>2]+ +s[J>>2];else c=+s[(f[be>>2]|0)+(u<<2)>>2];s[(f[V>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}}while(0);f[oe>>2]=0;do{f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ve>>2]|0))break;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[be>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=0;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[ke>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[we>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}f[se>>2]=f[le>>2];while(1){u=f[oe>>2]|0;if((f[se>>2]|0)>=(f[ce>>2]|0))break;me=re(u,f[ce>>2]|0)|0;s[(f[be>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=0;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[ke>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[we>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}me=u+1|0;f[oe>>2]=me}while((me|0)<2);f[(f[K>>2]|0)+36>>2]=f[(f[ee>>2]|0)+28>>2];Ee(pe,f[$>>2]|0,f[ae>>2]|0,f[fe>>2]|0,f[(f[K>>2]|0)+16>>2]|0,(f[ue>>2]|0)+16|0,(f[K>>2]|0)+76|0,f[ie>>2]|0);f[(f[K>>2]|0)+48>>2]=0;me=Ae(f[ee>>2]|0)|0;if((me|0)>(f[X>>2]<<3|0)){f[G>>2]=-3;f[ne>>2]=1}else{if(Re(f[ee>>2]|0)|0)f[(f[K>>2]|0)+40>>2]=1;f[G>>2]=(f[Q>>2]|0)/(f[(f[K>>2]|0)+16>>2]|0)|0;f[ne>>2]=1}de(f[te>>2]|0);me=f[G>>2]|0;h=ge;return me|0}function ye(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0;se=h;h=h+4608|0;Q=se+4596|0;ee=se+4592|0;j=se+4588|0;te=se+4584|0;fe=se+4580|0;ie=se+4576|0;ne=se+4568|0;K=se+4560|0;M=se+4556|0;G=se+4552|0;o=se+4548|0;l=se+4544|0;N=se+4540|0;oe=se+4536|0;J=se+4532|0;le=se+4528|0;$=se+4524|0;ae=se+4520|0;a=se+4516|0;q=se+4512|0;X=se+4508|0;Z=se+4504|0;W=se+4500|0;Y=se+4496|0;D=se+4492|0;V=se+4488|0;z=se+4484|0;F=se+4480|0;B=se+4476|0;R=se+4472|0;L=se+4468|0;u=se+4464|0;m=se+368|0;g=se+360|0;p=se+356|0;w=se+352|0;v=se+348|0;S=se+344|0;A=se+340|0;E=se+336|0;T=se+332|0;d=se+232|0;x=se+136|0;c=se+128|0;b=se+124|0;y=se+120|0;_=se+116|0;I=se+112|0;O=se+16|0;k=se+12|0;C=se+8|0;P=se+4|0;U=se;f[Q>>2]=e;f[ee>>2]=r;f[j>>2]=i;f[ie>>2]=f[(f[Q>>2]|0)+8>>2];f[oe>>2]=f[f[Q>>2]>>2];f[J>>2]=f[(f[oe>>2]|0)+8>>2];f[le>>2]=f[(f[oe>>2]|0)+4>>2];f[q>>2]=f[(f[oe>>2]|0)+32>>2];f[te>>2]=0;do{e=(f[Q>>2]|0)+84+((re(f[te>>2]|0,2048+(f[le>>2]|0)|0)|0)<<2)|0;f[ne+(f[te>>2]<<2)>>2]=e;f[K+(f[te>>2]<<2)>>2]=(f[ne+(f[te>>2]<<2)>>2]|0)+8192+(0-(f[ee>>2]|0)<<2);e=(f[te>>2]|0)+1|0;f[te>>2]=e}while((e|0)<(f[ie>>2]|0));f[M>>2]=(f[Q>>2]|0)+84+((re(2048+(f[le>>2]|0)|0,f[ie>>2]|0)|0)<<2);f[G>>2]=(f[M>>2]|0)+((f[ie>>2]|0)*24<<2);f[o>>2]=(f[G>>2]|0)+(f[J>>2]<<1<<2);f[l>>2]=(f[o>>2]|0)+(f[J>>2]<<1<<2);f[N>>2]=(f[l>>2]|0)+(f[J>>2]<<1<<2);f[ae>>2]=f[(f[Q>>2]|0)+48>>2];f[$>>2]=f[(f[Q>>2]|0)+20>>2];f[a>>2]=((f[ae>>2]|0)>=5?1:(f[$>>2]|0)!=0)&1;if(f[a>>2]|0){f[Z>>2]=f[(f[Q>>2]|0)+24>>2];if((f[Z>>2]|0)<(f[(f[oe>>2]|0)+12>>2]|0))i=f[Z>>2]|0;else i=f[(f[oe>>2]|0)+12>>2]|0;do{if((f[$>>2]|0)<=(i|0))if((f[Z>>2]|0)<(f[(f[oe>>2]|0)+12>>2]|0)){i=f[Z>>2]|0;break}else{i=f[(f[oe>>2]|0)+12>>2]|0;break}else i=f[$>>2]|0}while(0);f[W>>2]=i;B=re(f[ie>>2]|0,f[ee>>2]|0)|0;f[D>>2]=he()|0;r=h;h=h+((1*(B<<2)|0)+15&-16)|0;s[Y>>2]=(f[ae>>2]|0)==0?1.5:.5;f[te>>2]=0;do{f[fe>>2]=f[$>>2];while(1){i=f[te>>2]|0;if((f[fe>>2]|0)>=(f[Z>>2]|0))break;U=re(i,f[J>>2]|0)|0;B=re(f[te>>2]|0,f[J>>2]|0)|0;i=re(f[te>>2]|0,f[J>>2]|0)|0;i=i+(f[fe>>2]|0)|0;if(+s[(f[N>>2]|0)+(U+(f[fe>>2]|0)<<2)>>2]>+s[(f[G>>2]|0)+(B+(f[fe>>2]|0)<<2)>>2]-+s[Y>>2])t=+s[(f[N>>2]|0)+(i<<2)>>2];else t=+s[(f[G>>2]|0)+(i<<2)>>2]-+s[Y>>2];B=re(f[te>>2]|0,f[J>>2]|0)|0;s[(f[G>>2]|0)+(B+(f[fe>>2]|0)<<2)>>2]=t;f[fe>>2]=(f[fe>>2]|0)+1}B=i+1|0;f[te>>2]=B}while((B|0)<(f[ie>>2]|0));f[X>>2]=f[(f[Q>>2]|0)+36>>2];f[te>>2]=0;while(1){if((f[te>>2]|0)>=(f[ie>>2]|0))break;f[fe>>2]=f[$>>2];while(1){if((f[fe>>2]|0)>=(f[W>>2]|0))break;J=re(f[ee>>2]|0,f[te>>2]|0)|0;f[z>>2]=J+(n[(f[q>>2]|0)+(f[fe>>2]<<1)>>1]<>2]);f[F>>2]=(n[(f[q>>2]|0)+((f[fe>>2]|0)+1<<1)>>1]|0)-(n[(f[q>>2]|0)+(f[fe>>2]<<1)>>1]|0)<>2];f[V>>2]=0;while(1){if((f[V>>2]|0)>=(f[F>>2]|0))break;f[X>>2]=an(f[X>>2]|0)|0;s[r+((f[z>>2]|0)+(f[V>>2]|0)<<2)>>2]=+(f[X>>2]>>20|0);f[V>>2]=(f[V>>2]|0)+1}ri(r+(f[z>>2]<<2)|0,f[F>>2]|0,1,f[(f[Q>>2]|0)+32>>2]|0);f[fe>>2]=(f[fe>>2]|0)+1}f[te>>2]=(f[te>>2]|0)+1}f[(f[Q>>2]|0)+36>>2]=f[X>>2];f[te>>2]=0;do{ys(f[ne+(f[te>>2]<<2)>>2]|0,(f[ne+(f[te>>2]<<2)>>2]|0)+(f[ee>>2]<<2)|0,(2048-(f[ee>>2]|0)+(f[le>>2]>>1)<<2)+0|0)|0;fe=(f[te>>2]|0)+1|0;f[te>>2]=fe}while((fe|0)<(f[ie>>2]|0));_e(f[oe>>2]|0,r,K,f[G>>2]|0,f[$>>2]|0,f[W>>2]|0,f[ie>>2]|0,f[ie>>2]|0,0,f[j>>2]|0,f[(f[Q>>2]|0)+16>>2]|0,0,f[(f[Q>>2]|0)+32>>2]|0);de(f[D>>2]|0);oe=f[ae>>2]|0;oe=oe+1|0;le=f[Q>>2]|0;le=le+48|0;f[le>>2]=oe;h=se;return}s[R>>2]=1;if(!(f[ae>>2]|0)){$=me(ne,f[ie>>2]|0,f[(f[Q>>2]|0)+32>>2]|0)|0;f[L>>2]=$;f[(f[Q>>2]|0)+44>>2]=$}else{f[L>>2]=f[(f[Q>>2]|0)+44>>2];s[R>>2]=.800000011920929}$=f[le>>2]|0;f[u>>2]=he()|0;i=h;h=h+((1*($<<2)|0)+15&-16)|0;f[B>>2]=f[(f[oe>>2]|0)+60>>2];f[te>>2]=0;do{s[w>>2]=0;f[v>>2]=f[ne+(f[te>>2]<<2)>>2];f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=1024)break;s[m+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(1024+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}if(!(f[ae>>2]|0)){Pr(m,d,f[B>>2]|0,f[le>>2]|0,24,1024,f[(f[Q>>2]|0)+32>>2]|0)|0;s[d>>2]=+s[d>>2]*1.000100016593933;f[fe>>2]=1;while(1){if((f[fe>>2]|0)>24)break;oe=d+(f[fe>>2]<<2)|0;s[oe>>2]=+s[oe>>2]-+s[d+(f[fe>>2]<<2)>>2]*6400000711437315e-20*+(f[fe>>2]|0)*+(f[fe>>2]|0);f[fe>>2]=(f[fe>>2]|0)+1}Mr((f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,d,24)}f[E>>2]=(f[L>>2]<<1|0)<1024?f[L>>2]<<1:1024;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=24)break;s[x+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(2048-(f[E>>2]|0)-1-(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}xr(m+4096+(0-(f[E>>2]|0)<<2)|0,(f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,m+4096+(0-(f[E>>2]|0)<<2)|0,f[E>>2]|0,24,x,f[(f[Q>>2]|0)+32>>2]|0);s[c>>2]=1;s[b>>2]=1;f[y>>2]=f[E>>2]>>1;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[y>>2]|0))break;s[_>>2]=+s[m+(1024-(f[y>>2]|0)+(f[fe>>2]|0)<<2)>>2];s[c>>2]=+s[c>>2]+ +s[_>>2]*+s[_>>2];s[_>>2]=+s[m+(1024-(f[y>>2]<<1)+(f[fe>>2]|0)<<2)>>2];s[b>>2]=+s[b>>2]+ +s[_>>2]*+s[_>>2];f[fe>>2]=(f[fe>>2]|0)+1}s[c>>2]=+s[c>>2]<+s[b>>2]?+s[c>>2]:+s[b>>2];s[g>>2]=+H(+(+s[c>>2]/+s[b>>2]));ys(f[v>>2]|0,(f[v>>2]|0)+(f[ee>>2]<<2)|0,(2048-(f[ee>>2]|0)<<2)+0|0)|0;f[S>>2]=1024-(f[L>>2]|0);f[A>>2]=(f[ee>>2]|0)+(f[le>>2]|0);s[p>>2]=+s[R>>2]*+s[g>>2];f[T>>2]=0;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break;if((f[T>>2]|0)>=(f[L>>2]|0)){f[T>>2]=(f[T>>2]|0)-(f[L>>2]|0);s[p>>2]=+s[p>>2]*+s[g>>2]}s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[p>>2]*+s[m+((f[S>>2]|0)+(f[T>>2]|0)<<2)>>2];s[I>>2]=+s[(f[v>>2]|0)+(1024-(f[ee>>2]|0)+(f[S>>2]|0)+(f[T>>2]|0)<<2)>>2];s[w>>2]=+s[w>>2]+ +s[I>>2]*+s[I>>2];f[fe>>2]=(f[fe>>2]|0)+1;f[T>>2]=(f[T>>2]|0)+1}f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=24)break;s[O+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)-1-(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}Lr((f[v>>2]|0)+8192+(0-(f[ee>>2]|0)<<2)|0,(f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,(f[v>>2]|0)+8192+(0-(f[ee>>2]|0)<<2)|0,f[A>>2]|0,24,O,f[(f[Q>>2]|0)+32>>2]|0);s[k>>2]=0;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break;s[C>>2]=+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];s[k>>2]=+s[k>>2]+ +s[C>>2]*+s[C>>2];f[fe>>2]=(f[fe>>2]|0)+1}e:do{if(+s[w>>2]>+s[k>>2]*.20000000298023224){if(+s[w>>2]<+s[k>>2]){s[P>>2]=+H(+((+s[w>>2]+1)/(+s[k>>2]+1)));f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[le>>2]|0))break;s[U>>2]=1-+s[(f[B>>2]|0)+(f[fe>>2]<<2)>>2]*(1-+s[P>>2]);s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[U>>2]*+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}f[fe>>2]=f[le>>2];while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break e;s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[P>>2]*+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}}}else{f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break e;s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=0;f[fe>>2]=(f[fe>>2]|0)+1}}}while(0);Un(i,(f[v>>2]|0)+8192|0,f[(f[Q>>2]|0)+52>>2]|0,f[(f[Q>>2]|0)+52>>2]|0,f[le>>2]|0,-+s[(f[Q>>2]|0)+60>>2],-+s[(f[Q>>2]|0)+60>>2],f[(f[Q>>2]|0)+68>>2]|0,f[(f[Q>>2]|0)+68>>2]|0,0,0,f[(f[Q>>2]|0)+32>>2]|0);f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=((f[le>>2]|0)/2|0|0))break;s[(f[v>>2]|0)+(2048+(f[fe>>2]|0)<<2)>>2]=+s[(f[B>>2]|0)+(f[fe>>2]<<2)>>2]*+s[i+((f[le>>2]|0)-1-(f[fe>>2]|0)<<2)>>2]+ +s[(f[B>>2]|0)+((f[le>>2]|0)-(f[fe>>2]|0)-1<<2)>>2]*+s[i+(f[fe>>2]<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}oe=(f[te>>2]|0)+1|0;f[te>>2]=oe}while((oe|0)<(f[ie>>2]|0));de(f[u>>2]|0);oe=f[ae>>2]|0;oe=oe+1|0;le=f[Q>>2]|0;le=le+48|0;f[le>>2]=oe;h=se;return}function _e(e,r,i,t,n,a,o,l,u,c,b,w,k){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0;z=h;h=h+112|0;d=z+100|0;p=z+96|0;m=z+92|0;E=z+88|0;A=z+84|0;S=z+80|0;R=z+76|0;T=z+72|0;Y=z+68|0;M=z+64|0;v=z+60|0;g=z+56|0;y=z+52|0;C=z+48|0;j=z+44|0;O=z+40|0;I=z+36|0;x=z+32|0;L=z+28|0;P=z+24|0;F=z+20|0;D=z+16|0;N=z+12|0;_=z+8|0;U=z+4|0;B=z;f[d>>2]=e;f[p>>2]=r;f[m>>2]=i;f[E>>2]=t;f[A>>2]=n;f[S>>2]=a;f[R>>2]=o;f[T>>2]=l;f[Y>>2]=u;f[M>>2]=c;f[v>>2]=b;f[g>>2]=w;f[y>>2]=k;f[N>>2]=f[(f[d>>2]|0)+4>>2];f[D>>2]=f[(f[d>>2]|0)+8>>2];f[L>>2]=f[(f[d>>2]|0)+44>>2]<>2];n=f[L>>2]|0;f[_>>2]=he()|0;o=h;h=h+((1*(n<<2)|0)+15&-16)|0;f[O>>2]=1<>2];if(f[Y>>2]|0){f[x>>2]=f[O>>2];f[P>>2]=f[(f[d>>2]|0)+44>>2];f[F>>2]=f[(f[d>>2]|0)+36>>2]}else{f[x>>2]=1;f[P>>2]=f[(f[d>>2]|0)+44>>2]<>2];f[F>>2]=(f[(f[d>>2]|0)+36>>2]|0)-(f[M>>2]|0)}if((f[T>>2]|0)==2&(f[R>>2]|0)==1){un(f[d>>2]|0,f[p>>2]|0,o,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[U>>2]=(f[(f[m>>2]|0)+4>>2]|0)+(((f[N>>2]|0)/2|0)<<2);gs(f[U>>2]|0,o|0,(f[L>>2]<<2)+0|0)|0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[f[m>>2]>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,(f[U>>2]|0)+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[(f[m>>2]|0)+4>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=f[_>>2]|0;de(Y|0);h=z;return}if(!((f[T>>2]|0)==1&(f[R>>2]|0)==2)){f[C>>2]=0;do{j=(f[p>>2]|0)+((re(f[C>>2]|0,f[L>>2]|0)|0)<<2)|0;Y=(f[E>>2]|0)+((re(f[C>>2]|0,f[D>>2]|0)|0)<<2)|0;un(f[d>>2]|0,j,o,Y,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[(f[m>>2]|0)+(f[C>>2]<<2)>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=(f[C>>2]|0)+1|0;f[C>>2]=Y}while((Y|0)<(f[T>>2]|0));Y=f[_>>2]|0;de(Y|0);h=z;return}f[B>>2]=(f[f[m>>2]>>2]|0)+(((f[N>>2]|0)/2|0)<<2);un(f[d>>2]|0,f[p>>2]|0,o,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);un(f[d>>2]|0,(f[p>>2]|0)+(f[L>>2]<<2)|0,f[B>>2]|0,(f[E>>2]|0)+(f[D>>2]<<2)|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[L>>2]|0))break;s[o+(f[j>>2]<<2)>>2]=(+s[o+(f[j>>2]<<2)>>2]+ +s[(f[B>>2]|0)+(f[j>>2]<<2)>>2])*.5;f[j>>2]=(f[j>>2]|0)+1}f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[f[m>>2]>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=f[_>>2]|0;de(Y|0);h=z;return}function me(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;n=h;h=h+4112|0;s=n+4108|0;l=n+4104|0;a=n+4100|0;t=n+4096|0;o=n;f[s>>2]=e;f[l>>2]=r;f[a>>2]=i;vr(f[s>>2]|0,o,2048,f[l>>2]|0,f[a>>2]|0);Er(o+1440|0,o,1328,620,t,f[a>>2]|0);f[t>>2]=720-(f[t>>2]|0);h=n;return f[t>>2]|0}function Ee(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;M=h;h=h+80|0;u=M+72|0;c=M+68|0;b=M+64|0;w=M+60|0;k=M+56|0;x=M+52|0;d=M+48|0;y=M+40|0;v=M+36|0;g=M+32|0;_=M+28|0;p=M+24|0;m=M+20|0;R=M+16|0;T=M+12|0;E=M+8|0;A=M+4|0;S=M;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=n;f[x>>2]=a;f[d>>2]=o;f[M+44>>2]=l;f[g>>2]=0;r=f[b>>2]|0;f[p>>2]=he()|0;t=h;h=h+((1*(r<<2)|0)+15&-16)|0;s[_>>2]=+s[f[x>>2]>>2];f[v>>2]=(f[b>>2]|0)/(f[k>>2]|0)|0;f[y>>2]=0;do{s[E>>2]=+s[(f[d>>2]|0)+(f[y>>2]<<2)>>2];f[R>>2]=f[(f[u>>2]|0)+(f[y>>2]<<2)>>2];f[T>>2]=(f[c>>2]|0)+(f[y>>2]<<2);x=(f[k>>2]|0)>1;f[m>>2]=0;e:do{if(x){while(1){if((f[m>>2]|0)>=(f[b>>2]|0))break;s[A>>2]=+s[(f[R>>2]|0)+(f[m>>2]<<2)>>2]+ +s[E>>2]+1.0000000031710769e-30;s[E>>2]=+s[_>>2]*+s[A>>2];s[t+(f[m>>2]<<2)>>2]=+s[A>>2];f[m>>2]=(f[m>>2]|0)+1}f[g>>2]=1}else while(1){if((f[m>>2]|0)>=(f[b>>2]|0))break e;s[S>>2]=+s[(f[R>>2]|0)+(f[m>>2]<<2)>>2]+ +s[E>>2]+1.0000000031710769e-30;s[E>>2]=+s[_>>2]*+s[S>>2];x=re(f[m>>2]|0,f[w>>2]|0)|0;s[(f[T>>2]|0)+(x<<2)>>2]=+s[S>>2]*30517578125e-15;f[m>>2]=(f[m>>2]|0)+1}}while(0);s[(f[d>>2]|0)+(f[y>>2]<<2)>>2]=+s[E>>2];e:do{if(f[g>>2]|0){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[v>>2]|0))break e;O=+s[t+((re(f[m>>2]|0,f[k>>2]|0)|0)<<2)>>2]*30517578125e-15;x=re(f[m>>2]|0,f[w>>2]|0)|0;s[(f[T>>2]|0)+(x<<2)>>2]=O;f[m>>2]=(f[m>>2]|0)+1}}}while(0);x=(f[y>>2]|0)+1|0;f[y>>2]=x}while((x|0)<(f[w>>2]|0));de(f[p>>2]|0);h=M;return}function Ae(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Se(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+64|0;l=E+52|0;s=E+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;p=E+28|0;d=E+24|0;_=E+20|0;m=E+16|0;y=E+12|0;v=E+8|0;k=E+4|0;g=E;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=n;f[b>>2]=a;f[w>>2]=o;f[k>>2]=f[(f[w>>2]|0)+4>>2]<<3;f[g>>2]=Ae(f[w>>2]|0)|0;f[v>>2]=f[u>>2]|0?2:4;if((f[b>>2]|0)>0)a=((f[g>>2]|0)+(f[v>>2]|0)+1|0)>>>0<=(f[k>>2]|0)>>>0;else a=0;f[m>>2]=a&1;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);f[d>>2]=0;f[y>>2]=0;f[p>>2]=f[l>>2];while(1){if((f[p>>2]|0)>=(f[s>>2]|0))break;if(((f[g>>2]|0)+(f[v>>2]|0)|0)>>>0<=(f[k>>2]|0)>>>0){n=Ne(f[w>>2]|0,f[v>>2]|0)|0;f[d>>2]=f[d>>2]^n;f[g>>2]=Ae(f[w>>2]|0)|0;f[y>>2]=f[y>>2]|f[d>>2]}f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=f[d>>2];f[v>>2]=f[u>>2]|0?4:5;f[p>>2]=(f[p>>2]|0)+1}f[_>>2]=0;if(f[m>>2]|0?(t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+0+(f[y>>2]|0))>>0]|0)!=(t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+2+(f[y>>2]|0))>>0]|0):0)f[_>>2]=Ne(f[w>>2]|0,1)|0;f[p>>2]=f[l>>2];while(1){if((f[p>>2]|0)>=(f[s>>2]|0))break;f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+(f[_>>2]<<1)+(f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]|0))>>0];f[p>>2]=(f[p>>2]|0)+1}h=E;return}function Re(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+44>>2]|0}function Te(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0;n=h;h=h+16|0;l=n+12|0;o=n+8|0;a=n+4|0;s=n;f[l>>2]=e;f[o>>2]=r;f[a>>2]=i;f[s>>2]=t;r=f[s>>2]|0;e=Me(f[o>>2]|0,f[l>>2]|0)|0;Qe(r,e,(f[(f[364+(((f[o>>2]|0)<(f[a>>2]|0)?f[o>>2]|0:f[a>>2]|0)<<2)>>2]|0)+(((f[o>>2]|0)>(f[a>>2]|0)?f[o>>2]|0:f[a>>2]|0)<<2)>>2]|0)+(f[(f[364+(((f[o>>2]|0)<((f[a>>2]|0)+1|0)?f[o>>2]|0:(f[a>>2]|0)+1|0)<<2)>>2]|0)+(((f[o>>2]|0)>((f[a>>2]|0)+1|0)?f[o>>2]|0:(f[a>>2]|0)+1|0)<<2)>>2]|0)|0);h=n;return}function Me(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[i>>2]=e;f[t>>2]=r;f[a>>2]=(f[i>>2]|0)-1;f[n>>2]=(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)<0&1;f[o>>2]=Y(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)|0;do{f[a>>2]=(f[a>>2]|0)+-1;if(((f[i>>2]|0)-(f[a>>2]|0)|0)>(f[o>>2]|0))r=(f[i>>2]|0)-(f[a>>2]|0)|0;else r=f[o>>2]|0;if(((f[i>>2]|0)-(f[a>>2]|0)|0)<(f[o>>2]|0))e=(f[i>>2]|0)-(f[a>>2]|0)|0;else e=f[o>>2]|0;f[n>>2]=(f[n>>2]|0)+(f[(f[364+(e<<2)>>2]|0)+(r<<2)>>2]|0);r=Y(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+r;if((f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)<0){if(((f[i>>2]|0)-(f[a>>2]|0)|0)>((f[o>>2]|0)+1|0))r=(f[i>>2]|0)-(f[a>>2]|0)|0;else r=(f[o>>2]|0)+1|0;if(((f[i>>2]|0)-(f[a>>2]|0)|0)<((f[o>>2]|0)+1|0))e=(f[i>>2]|0)-(f[a>>2]|0)|0;else e=(f[o>>2]|0)+1|0;f[n>>2]=(f[n>>2]|0)+(f[(f[364+(e<<2)>>2]|0)+(r<<2)>>2]|0)}}while((f[a>>2]|0)>0);h=l;return f[n>>2]|0}function xe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;a=h;h=h+16|0;o=a+12|0;s=a+8|0;l=a+4|0;u=a;f[o>>2]=e;f[s>>2]=r;f[l>>2]=i;f[u>>2]=t;i=f[s>>2]|0;r=f[l>>2]|0;e=ze(f[u>>2]|0,(f[(f[364+(((f[s>>2]|0)<(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0)<<2)>>2]|0)+(((f[s>>2]|0)>(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0)<<2)>>2]|0)+(f[(f[364+(((f[s>>2]|0)<((f[l>>2]|0)+1|0)?f[s>>2]|0:(f[l>>2]|0)+1|0)<<2)>>2]|0)+(((f[s>>2]|0)>((f[l>>2]|0)+1|0)?f[s>>2]|0:(f[l>>2]|0)+1|0)<<2)>>2]|0)|0)|0;n=+Oe(i,r,e,f[o>>2]|0);h=a;return+n}function Oe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;g=h;h=h+48|0;a=g+36|0;o=g+32|0;l=g+28|0;u=g+24|0;b=g+20|0;d=g+16|0;c=g+12|0;p=g+40|0;v=g+8|0;w=g+4|0;k=g;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;s[v>>2]=0;while(1){i=f[o>>2]|0;if((f[a>>2]|0)<=2)break;r=f[a>>2]|0;do{if((i|0)>=(f[a>>2]|0)){f[k>>2]=f[364+(r<<2)>>2];f[b>>2]=f[(f[k>>2]|0)+((f[o>>2]|0)+1<<2)>>2];f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[b>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[b>>2]&f[d>>2]);f[c>>2]=f[o>>2];f[w>>2]=f[(f[k>>2]|0)+(f[a>>2]<<2)>>2];e:do{if((f[w>>2]|0)>>>0>(f[l>>2]|0)>>>0){f[o>>2]=f[a>>2];do{t=f[a>>2]|0;e=(f[o>>2]|0)+-1|0;f[o>>2]=e;f[b>>2]=f[(f[364+(e<<2)>>2]|0)+(t<<2)>>2]}while((f[b>>2]|0)>>>0>(f[l>>2]|0)>>>0)}else{f[b>>2]=f[(f[k>>2]|0)+(f[o>>2]<<2)>>2];while(1){if((f[b>>2]|0)>>>0<=(f[l>>2]|0)>>>0)break e;f[o>>2]=(f[o>>2]|0)+-1;f[b>>2]=f[(f[k>>2]|0)+(f[o>>2]<<2)>>2]}}}while(0);f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);n[p>>1]=(f[c>>2]|0)-(f[o>>2]|0)+(f[d>>2]|0)^f[d>>2];e=n[p>>1]|0;t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=e;s[v>>2]=+s[v>>2]+ +(n[p>>1]|0)*+(n[p>>1]|0)}else{f[b>>2]=f[(f[364+(f[o>>2]<<2)>>2]|0)+(r<<2)>>2];f[w>>2]=f[(f[364+((f[o>>2]|0)+1<<2)>>2]|0)+(f[a>>2]<<2)>>2];if((f[b>>2]|0)>>>0<=(f[l>>2]|0)>>>0?(f[l>>2]|0)>>>0<(f[w>>2]|0)>>>0:0){f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=0;break}f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[w>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[w>>2]&f[d>>2]);f[c>>2]=f[o>>2];do{t=f[a>>2]|0;e=(f[o>>2]|0)+-1|0;f[o>>2]=e;f[b>>2]=f[(f[364+(e<<2)>>2]|0)+(t<<2)>>2]}while((f[b>>2]|0)>>>0>(f[l>>2]|0)>>>0);f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);n[p>>1]=(f[c>>2]|0)-(f[o>>2]|0)+(f[d>>2]|0)^f[d>>2];e=n[p>>1]|0;t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=e;s[v>>2]=+s[v>>2]+ +(n[p>>1]|0)*+(n[p>>1]|0)}}while(0);f[a>>2]=(f[a>>2]|0)+-1}f[b>>2]=(i<<1)+1;f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[b>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[b>>2]&f[d>>2]);f[c>>2]=f[o>>2];f[o>>2]=((f[l>>2]|0)+1|0)>>>1;if(!(f[o>>2]|0)){k=f[c>>2]|0;w=f[o>>2]|0;w=k-w|0;k=f[d>>2]|0;k=w+k|0;w=f[d>>2]|0;w=k^w;w=w&65535;n[p>>1]=w;w=n[p>>1]|0;w=w<<16>>16;k=f[u>>2]|0;b=k+4|0;f[u>>2]=b;f[k>>2]=w;m=+s[v>>2];k=n[p>>1]|0;y=+(k<<16>>16);k=n[p>>1]|0;_=+(k<<16>>16);_=y*_;_=m+_;s[v>>2]=_;k=f[l>>2]|0;k=0-k|0;f[d>>2]=k;k=f[o>>2]|0;w=f[d>>2]|0;w=k+w|0;k=f[d>>2]|0;k=w^k;k=k&65535;n[p>>1]=k;k=n[p>>1]|0;k=k<<16>>16;d=f[u>>2]|0;f[d>>2]=k;_=+s[v>>2];d=n[p>>1]|0;m=+(d<<16>>16);p=n[p>>1]|0;y=+(p<<16>>16);y=m*y;y=_+y;s[v>>2]=y;y=+s[v>>2];h=g;return+y}f[l>>2]=(f[l>>2]|0)-((f[o>>2]<<1)-1);k=f[c>>2]|0;w=f[o>>2]|0;w=k-w|0;k=f[d>>2]|0;k=w+k|0;w=f[d>>2]|0;w=k^w;w=w&65535;n[p>>1]=w;w=n[p>>1]|0;w=w<<16>>16;k=f[u>>2]|0;b=k+4|0;f[u>>2]=b;f[k>>2]=w;y=+s[v>>2];k=n[p>>1]|0;m=+(k<<16>>16);k=n[p>>1]|0;_=+(k<<16>>16);_=m*_;_=y+_;s[v>>2]=_;k=f[l>>2]|0;k=0-k|0;f[d>>2]=k;k=f[o>>2]|0;w=f[d>>2]|0;w=k+w|0;k=f[d>>2]|0;k=w^k;k=k&65535;n[p>>1]=k;k=n[p>>1]|0;k=k<<16>>16;d=f[u>>2]|0;f[d>>2]=k;_=+s[v>>2];d=n[p>>1]|0;y=+(d<<16>>16);p=n[p>>1]|0;m=+(p<<16>>16);m=y*m;m=_+m;s[v>>2]=m;m=+s[v>>2];h=g;return+m}function Le(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;t=h;h=h+32|0;o=t+16|0;i=t+12|0;a=t+8|0;r=t+4|0;n=t;f[o>>2]=e;f[i>>2]=f[(f[o>>2]|0)+20>>2]<<3;f[r>>2]=32-(te(f[(f[o>>2]|0)+28>>2]|0)|0);f[a>>2]=(f[(f[o>>2]|0)+28>>2]|0)>>>((f[r>>2]|0)-16|0);f[n>>2]=((f[a>>2]|0)>>>12)-8;f[n>>2]=(f[n>>2]|0)+((f[a>>2]|0)>>>0>(f[5512+(f[n>>2]<<2)>>2]|0)>>>0&1);f[r>>2]=(f[r>>2]<<3)+(f[n>>2]|0);h=t;return(f[i>>2]|0)-(f[r>>2]|0)|0}function Pe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;f[f[n>>2]>>2]=f[o>>2];f[(f[n>>2]|0)+4>>2]=f[a>>2];f[(f[n>>2]|0)+8>>2]=0;f[(f[n>>2]|0)+12>>2]=0;f[(f[n>>2]|0)+16>>2]=0;f[(f[n>>2]|0)+20>>2]=9;f[(f[n>>2]|0)+24>>2]=0;f[(f[n>>2]|0)+28>>2]=128;e=Ie(f[n>>2]|0)|0;f[(f[n>>2]|0)+40>>2]=e;f[(f[n>>2]|0)+32>>2]=(f[(f[n>>2]|0)+28>>2]|0)-1-(f[(f[n>>2]|0)+40>>2]>>1);f[(f[n>>2]|0)+44>>2]=0;Ce(f[n>>2]|0);h=t;return}function Ie(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if((f[(f[r>>2]|0)+24>>2]|0)>>>0>=(f[(f[r>>2]|0)+4>>2]|0)>>>0){e=0;h=i;return e|0}t=(f[r>>2]|0)+24|0;e=f[t>>2]|0;f[t>>2]=e+1;e=a[(f[f[r>>2]>>2]|0)+e>>0]|0;h=i;return e|0}function Ce(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[r>>2]=e;while(1){if((f[(f[r>>2]|0)+28>>2]|0)>>>0>8388608)break;e=(f[r>>2]|0)+20|0;f[e>>2]=(f[e>>2]|0)+8;e=(f[r>>2]|0)+28|0;f[e>>2]=f[e>>2]<<8;f[i>>2]=f[(f[r>>2]|0)+40>>2];e=Ie(f[r>>2]|0)|0;f[(f[r>>2]|0)+40>>2]=e;f[i>>2]=(f[i>>2]<<8|f[(f[r>>2]|0)+40>>2])>>1;f[(f[r>>2]|0)+32>>2]=(f[(f[r>>2]|0)+32>>2]<<8)+(255&~f[i>>2])&2147483647}h=t;return}function Ue(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;n=h;h=h+16|0;a=n+8|0;t=n+4|0;i=n;f[a>>2]=e;f[t>>2]=r;e=Be(f[(f[a>>2]|0)+28>>2]|0,f[t>>2]|0)|0;f[(f[a>>2]|0)+36>>2]=e;f[i>>2]=((f[(f[a>>2]|0)+32>>2]|0)>>>0)/((f[(f[a>>2]|0)+36>>2]|0)>>>0)|0;h=n;return(f[t>>2]|0)-((f[i>>2]|0)+1+((f[t>>2]|0)-((f[i>>2]|0)+1)&0-((f[t>>2]|0)>>>0<((f[i>>2]|0)+1|0)>>>0&1)))|0}function Be(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function je(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;n=h;h=h+16|0;a=n+8|0;t=n+4|0;i=n;f[a>>2]=e;f[t>>2]=r;f[(f[a>>2]|0)+36>>2]=(f[(f[a>>2]|0)+28>>2]|0)>>>(f[t>>2]|0);f[i>>2]=((f[(f[a>>2]|0)+32>>2]|0)>>>0)/((f[(f[a>>2]|0)+36>>2]|0)>>>0)|0;h=n;return(1<>2])-((f[i>>2]|0)+1+((1<>2])-((f[i>>2]|0)+1)&0-(1<>2]>>>0<((f[i>>2]|0)+1|0)>>>0&1)))|0}function De(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;n=s+16|0;a=s+12|0;o=s+8|0;u=s+4|0;l=s;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[u>>2]=t;f[l>>2]=re(f[(f[n>>2]|0)+36>>2]|0,(f[u>>2]|0)-(f[o>>2]|0)|0)|0;i=(f[n>>2]|0)+32|0;f[i>>2]=(f[i>>2]|0)-(f[l>>2]|0);i=f[n>>2]|0;if((f[a>>2]|0)>>>0>0){l=re(f[i+36>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;u=f[n>>2]|0;u=u+28|0;f[u>>2]=l;u=f[n>>2]|0;Ce(u);h=s;return}else{l=(f[i+28>>2]|0)-(f[l>>2]|0)|0;u=f[n>>2]|0;u=u+28|0;f[u>>2]=l;u=f[n>>2]|0;Ce(u);h=s;return}}function Ne(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;l=h;h=h+32|0;i=l+20|0;s=l+16|0;n=l+12|0;t=l+8|0;o=l+4|0;a=l;f[i>>2]=e;f[s>>2]=r;f[n>>2]=f[(f[i>>2]|0)+28>>2];f[t>>2]=f[(f[i>>2]|0)+32>>2];f[o>>2]=(f[n>>2]|0)>>>(f[s>>2]|0);f[a>>2]=(f[t>>2]|0)>>>0<(f[o>>2]|0)>>>0&1;if(!(f[a>>2]|0))f[(f[i>>2]|0)+32>>2]=(f[t>>2]|0)-(f[o>>2]|0);if(f[a>>2]|0){o=f[o>>2]|0;s=f[i>>2]|0;s=s+28|0;f[s>>2]=o;s=f[i>>2]|0;Ce(s);s=f[a>>2]|0;h=l;return s|0}else{o=(f[n>>2]|0)-(f[o>>2]|0)|0;s=f[i>>2]|0;s=s+28|0;f[s>>2]=o;s=f[i>>2]|0;Ce(s);s=f[a>>2]|0;h=l;return s|0}return 0}function Fe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;b=h;h=h+32|0;t=b+28|0;n=b+24|0;w=b+20|0;l=b+16|0;o=b+12|0;u=b+8|0;c=b+4|0;s=b;f[t>>2]=e;f[n>>2]=r;f[w>>2]=i;f[u>>2]=f[(f[t>>2]|0)+28>>2];f[o>>2]=f[(f[t>>2]|0)+32>>2];f[l>>2]=(f[u>>2]|0)>>>(f[w>>2]|0);f[s>>2]=-1;do{f[c>>2]=f[u>>2];e=f[l>>2]|0;w=(f[s>>2]|0)+1|0;f[s>>2]=w;f[u>>2]=re(e,a[(f[n>>2]|0)+w>>0]|0)|0}while((f[o>>2]|0)>>>0<(f[u>>2]|0)>>>0);f[(f[t>>2]|0)+32>>2]=(f[o>>2]|0)-(f[u>>2]|0);f[(f[t>>2]|0)+28>>2]=(f[c>>2]|0)-(f[u>>2]|0);Ce(f[t>>2]|0);h=b;return f[s>>2]|0}function ze(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;i=u+24|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[n>>2]=(f[n>>2]|0)+-1;f[o>>2]=32-(te(f[n>>2]|0)|0);if((f[o>>2]|0)<=8){f[n>>2]=(f[n>>2]|0)+1;f[l>>2]=Ue(f[t>>2]|0,f[n>>2]|0)|0;De(f[t>>2]|0,f[l>>2]|0,(f[l>>2]|0)+1|0,f[n>>2]|0);f[i>>2]=f[l>>2];s=f[i>>2]|0;h=u;return s|0}f[o>>2]=(f[o>>2]|0)-8;f[a>>2]=((f[n>>2]|0)>>>(f[o>>2]|0))+1;f[l>>2]=Ue(f[t>>2]|0,f[a>>2]|0)|0;De(f[t>>2]|0,f[l>>2]|0,(f[l>>2]|0)+1|0,f[a>>2]|0);l=f[l>>2]<>2];f[s>>2]=l|(Ye(f[t>>2]|0,f[o>>2]|0)|0);if((f[s>>2]|0)>>>0<=(f[n>>2]|0)>>>0){f[i>>2]=f[s>>2];s=f[i>>2]|0;h=u;return s|0}else{f[(f[t>>2]|0)+44>>2]=1;f[i>>2]=f[n>>2];s=f[i>>2]|0;h=u;return s|0}return 0}function Ye(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+16|0;t=l+12|0;o=l+8|0;n=l+4|0;a=l;f[i>>2]=e;f[t>>2]=r;f[o>>2]=f[(f[i>>2]|0)+12>>2];f[n>>2]=f[(f[i>>2]|0)+16>>2];if((f[n>>2]|0)>>>0<(f[t>>2]|0)>>>0)do{e=He(f[i>>2]|0)|0;f[o>>2]=f[o>>2]|e<>2];f[n>>2]=(f[n>>2]|0)+8}while((f[n>>2]|0)<=24);f[a>>2]=f[o>>2]&(1<>2])-1;f[o>>2]=(f[o>>2]|0)>>>(f[t>>2]|0);f[n>>2]=(f[n>>2]|0)-(f[t>>2]|0);f[(f[i>>2]|0)+12>>2]=f[o>>2];f[(f[i>>2]|0)+16>>2]=f[n>>2];o=(f[i>>2]|0)+20|0;f[o>>2]=(f[o>>2]|0)+(f[t>>2]|0);h=l;return f[a>>2]|0}function He(e){e=e|0;var r=0,i=0,t=0,n=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if((f[(f[r>>2]|0)+8>>2]|0)>>>0>=(f[(f[r>>2]|0)+4>>2]|0)>>>0){e=0;h=i;return e|0}t=f[(f[r>>2]|0)+4>>2]|0;n=(f[r>>2]|0)+8|0;e=(f[n>>2]|0)+1|0;f[n>>2]=e;e=a[(f[f[r>>2]>>2]|0)+(t-e)>>0]|0;h=i;return e|0}function qe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;f[f[n>>2]>>2]=f[o>>2];f[(f[n>>2]|0)+8>>2]=0;f[(f[n>>2]|0)+12>>2]=0;f[(f[n>>2]|0)+16>>2]=0;f[(f[n>>2]|0)+20>>2]=33;f[(f[n>>2]|0)+24>>2]=0;f[(f[n>>2]|0)+28>>2]=-2147483648;f[(f[n>>2]|0)+40>>2]=-1;f[(f[n>>2]|0)+32>>2]=0;f[(f[n>>2]|0)+36>>2]=0;f[(f[n>>2]|0)+4>>2]=f[a>>2];f[(f[n>>2]|0)+44>>2]=0;h=t;return}function We(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=Ze(f[(f[n>>2]|0)+28>>2]|0,f[l>>2]|0)|0;if((f[a>>2]|0)>>>0>0){t=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,(f[l>>2]|0)-(f[a>>2]|0)|0)|0)|0;e=(f[n>>2]|0)+32|0;f[e>>2]=(f[e>>2]|0)+t;s=re(f[s>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=s;s=f[n>>2]|0;Ve(s);h=u;return}else{e=re(f[s>>2]|0,(f[l>>2]|0)-(f[o>>2]|0)|0)|0;s=(f[n>>2]|0)+28|0;f[s>>2]=(f[s>>2]|0)-e;s=f[n>>2]|0;Ve(s);h=u;return}}function Ze(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Ve(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;while(1){if((f[(f[r>>2]|0)+28>>2]|0)>>>0>8388608)break;Je(f[r>>2]|0,(f[(f[r>>2]|0)+32>>2]|0)>>>23);f[(f[r>>2]|0)+32>>2]=f[(f[r>>2]|0)+32>>2]<<8&2147483647;e=(f[r>>2]|0)+28|0;f[e>>2]=f[e>>2]<<8;e=(f[r>>2]|0)+20|0;f[e>>2]=(f[e>>2]|0)+8}h=i;return}function Je(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[t>>2]=r;if((f[t>>2]|0)==255){a=(f[i>>2]|0)+36|0;f[a>>2]=(f[a>>2]|0)+1;h=o;return}f[n>>2]=f[t>>2]>>8;if((f[(f[i>>2]|0)+40>>2]|0)>=0){r=Ge(f[i>>2]|0,(f[(f[i>>2]|0)+40>>2]|0)+(f[n>>2]|0)|0)|0;e=(f[i>>2]|0)+44|0;f[e>>2]=f[e>>2]|r}if((f[(f[i>>2]|0)+36>>2]|0)>>>0>0){f[a>>2]=255+(f[n>>2]|0)&255;do{n=Ge(f[i>>2]|0,f[a>>2]|0)|0;e=(f[i>>2]|0)+44|0;f[e>>2]=f[e>>2]|n;e=(f[i>>2]|0)+36|0;n=(f[e>>2]|0)+-1|0;f[e>>2]=n}while(n>>>0>0)}f[(f[i>>2]|0)+40>>2]=f[t>>2]&255;h=o;return}function Ge(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[n>>2]=e;f[a>>2]=r;if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[i>>2]=-1;r=f[i>>2]|0;h=o;return r|0}else{e=f[a>>2]&255;a=(f[n>>2]|0)+24|0;r=f[a>>2]|0;f[a>>2]=r+1;t[(f[f[n>>2]>>2]|0)+r>>0]=e;f[i>>2]=0;r=f[i>>2]|0;h=o;return r|0}return 0}function Ke(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+28>>2]|0)>>>(f[l>>2]|0);if((f[a>>2]|0)>>>0>0){r=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,(1<>2])-(f[a>>2]|0)|0)|0)|0;e=(f[n>>2]|0)+32|0;f[e>>2]=(f[e>>2]|0)+r;s=re(f[s>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=s;s=f[n>>2]|0;Ve(s);h=u;return}else{e=re(f[s>>2]|0,(1<>2])-(f[o>>2]|0)|0)|0;s=(f[n>>2]|0)+28|0;f[s>>2]=(f[s>>2]|0)-e;s=f[n>>2]|0;Ve(s);h=u;return}}function Xe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;t=s+20|0;n=s+16|0;u=s+12|0;o=s+8|0;l=s+4|0;a=s;f[t>>2]=e;f[n>>2]=r;f[u>>2]=i;f[o>>2]=f[(f[t>>2]|0)+28>>2];f[a>>2]=f[(f[t>>2]|0)+32>>2];f[l>>2]=(f[o>>2]|0)>>>(f[u>>2]|0);f[o>>2]=(f[o>>2]|0)-(f[l>>2]|0);if(f[n>>2]|0)f[(f[t>>2]|0)+32>>2]=(f[a>>2]|0)+(f[o>>2]|0);f[(f[t>>2]|0)+28>>2]=f[n>>2]|0?f[l>>2]|0:f[o>>2]|0;Ve(f[t>>2]|0);h=s;return}function $e(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,l=0,s=0,u=0,c=0;u=h;h=h+32|0;n=u+16|0;o=u+12|0;l=u+8|0;c=u+4|0;s=u;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[c>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+28>>2]|0)>>>(f[c>>2]|0);if((f[o>>2]|0)>0){e=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,a[(f[l>>2]|0)+((f[o>>2]|0)-1)>>0]|0)|0)|0;c=(f[n>>2]|0)+32|0;f[c>>2]=(f[c>>2]|0)+e;c=re(f[s>>2]|0,(a[(f[l>>2]|0)+((f[o>>2]|0)-1)>>0]|0)-(a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=c;c=f[n>>2]|0;Ve(c);h=u;return}else{s=re(f[s>>2]|0,a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)|0;c=(f[n>>2]|0)+28|0;f[c>>2]=(f[c>>2]|0)-s;c=f[n>>2]|0;Ve(c);h=u;return}}function Qe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[a>>2]=(f[a>>2]|0)+-1;f[s>>2]=32-(te(f[a>>2]|0)|0);if((f[s>>2]|0)>8){f[s>>2]=(f[s>>2]|0)-8;f[l>>2]=((f[a>>2]|0)>>>(f[s>>2]|0))+1;f[o>>2]=(f[n>>2]|0)>>>(f[s>>2]|0);We(f[t>>2]|0,f[o>>2]|0,(f[o>>2]|0)+1|0,f[l>>2]|0);er(f[t>>2]|0,f[n>>2]&(1<>2])-1,f[s>>2]|0);h=u;return}else{We(f[t>>2]|0,f[n>>2]|0,(f[n>>2]|0)+1|0,(f[a>>2]|0)+1|0);h=u;return}}function er(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+16|0;n=s+12|0;a=s+8|0;l=s+4|0;o=s;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=f[(f[t>>2]|0)+12>>2];f[o>>2]=f[(f[t>>2]|0)+16>>2];if(((f[o>>2]|0)+(f[a>>2]|0)|0)>>>0>32)do{r=rr(f[t>>2]|0,f[l>>2]&255)|0;e=(f[t>>2]|0)+44|0;f[e>>2]=f[e>>2]|r;f[l>>2]=(f[l>>2]|0)>>>8;f[o>>2]=(f[o>>2]|0)-8}while((f[o>>2]|0)>=8);f[l>>2]=f[l>>2]|f[n>>2]<>2];f[o>>2]=(f[o>>2]|0)+(f[a>>2]|0);f[(f[t>>2]|0)+12>>2]=f[l>>2];f[(f[t>>2]|0)+16>>2]=f[o>>2];l=(f[t>>2]|0)+20|0;f[l>>2]=(f[l>>2]|0)+(f[a>>2]|0);h=s;return}function rr(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0,l=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[n>>2]=e;f[a>>2]=r;if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[i>>2]=-1;r=f[i>>2]|0;h=o;return r|0}else{a=f[a>>2]&255;e=f[(f[n>>2]|0)+4>>2]|0;l=(f[n>>2]|0)+8|0;r=(f[l>>2]|0)+1|0;f[l>>2]=r;t[(f[f[n>>2]>>2]|0)+(e-r)>>0]=a;f[i>>2]=0;r=f[i>>2]|0;h=o;return r|0}return 0}function ir(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;o=c+12|0;l=c+8|0;u=c+4|0;s=c;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=8-(f[l>>2]|0);f[s>>2]=(1<>2])-1<>2];i=f[n>>2]|0;if((f[(f[n>>2]|0)+24>>2]|0)>>>0>0){t[f[f[n>>2]>>2]>>0]=(a[f[i>>2]>>0]|0)&~f[s>>2]|f[o>>2]<>2];h=c;return}e=f[n>>2]|0;if((f[i+40>>2]|0)>=0){f[(f[n>>2]|0)+40>>2]=f[e+40>>2]&~f[s>>2]|f[o>>2]<>2];h=c;return}i=f[n>>2]|0;if((f[e+28>>2]|0)>>>0<=-2147483648>>>(f[l>>2]|0)>>>0){f[(f[n>>2]|0)+32>>2]=f[i+32>>2]&~(f[s>>2]<<23)|f[o>>2]<<23+(f[u>>2]|0);h=c;return}else{f[i+44>>2]=-1;h=c;return}}function tr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;i=h;h=h+16|0;t=i+4|0;n=i;f[t>>2]=e;f[n>>2]=r;ys((f[f[t>>2]>>2]|0)+(f[n>>2]|0)+(0-(f[(f[t>>2]|0)+8>>2]|0))|0,(f[f[t>>2]>>2]|0)+(f[(f[t>>2]|0)+4>>2]|0)+(0-(f[(f[t>>2]|0)+8>>2]|0))|0,(f[(f[t>>2]|0)+8>>2]|0)+0|0)|0;f[(f[t>>2]|0)+4>>2]=f[n>>2];h=i;return}function nr(e){e=e|0;var r=0,i=0,n=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+20|0;s=u+16|0;l=u+12|0;r=u+8|0;i=u+4|0;o=u;f[n>>2]=e;f[o>>2]=32-(32-(te(f[(f[n>>2]|0)+28>>2]|0)|0));f[r>>2]=2147483647>>>(f[o>>2]|0);f[i>>2]=(f[(f[n>>2]|0)+32>>2]|0)+(f[r>>2]|0)&~f[r>>2];if((f[i>>2]|f[r>>2])>>>0>=((f[(f[n>>2]|0)+32>>2]|0)+(f[(f[n>>2]|0)+28>>2]|0)|0)>>>0){f[o>>2]=(f[o>>2]|0)+1;f[r>>2]=(f[r>>2]|0)>>>1;f[i>>2]=(f[(f[n>>2]|0)+32>>2]|0)+(f[r>>2]|0)&~f[r>>2]}while(1){e=f[n>>2]|0;if((f[o>>2]|0)<=0)break;Je(e,(f[i>>2]|0)>>>23);f[i>>2]=f[i>>2]<<8&2147483647;f[o>>2]=(f[o>>2]|0)-8}if(!((f[e+40>>2]|0)<0?(f[(f[n>>2]|0)+36>>2]|0)>>>0<=0:0))Je(f[n>>2]|0,0);f[s>>2]=f[(f[n>>2]|0)+12>>2];f[l>>2]=f[(f[n>>2]|0)+16>>2];while(1){e=f[n>>2]|0;if((f[l>>2]|0)<8)break;r=rr(e,f[s>>2]&255)|0;i=(f[n>>2]|0)+44|0;f[i>>2]=f[i>>2]|r;f[s>>2]=(f[s>>2]|0)>>>8;f[l>>2]=(f[l>>2]|0)-8}if(f[e+44>>2]|0){h=u;return}vs((f[f[n>>2]>>2]|0)+(f[(f[n>>2]|0)+24>>2]|0)|0,0,(f[(f[n>>2]|0)+4>>2]|0)-(f[(f[n>>2]|0)+24>>2]|0)-(f[(f[n>>2]|0)+8>>2]|0)|0)|0;if((f[l>>2]|0)<=0){h=u;return}if((f[(f[n>>2]|0)+8>>2]|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[(f[n>>2]|0)+44>>2]=-1;h=u;return}f[o>>2]=0-(f[o>>2]|0);if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0?(f[o>>2]|0)<(f[l>>2]|0):0){f[s>>2]=f[s>>2]&(1<>2])-1;f[(f[n>>2]|0)+44>>2]=-1}l=(f[f[n>>2]>>2]|0)+((f[(f[n>>2]|0)+4>>2]|0)-(f[(f[n>>2]|0)+8>>2]|0)-1)|0;t[l>>0]=a[l>>0]|0|f[s>>2]&255;h=u;return}function fr(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+64|0;i=w+60|0;t=w+56|0;u=w+52|0;s=w+48|0;c=w+44|0;a=w+40|0;o=w+8|0;l=w+4|0;b=w;f[i>>2]=e;f[t>>2]=r;if((f[(f[i>>2]|0)+8>>2]|0)>0)r=f[(f[i>>2]|0)+8>>2]|0;else r=0;f[b>>2]=r;f[o>>2]=1;f[a>>2]=0;do{f[c>>2]=n[(f[i>>2]|0)+12+(f[a>>2]<<1<<1)>>1];f[s>>2]=n[(f[i>>2]|0)+12+((f[a>>2]<<1)+1<<1)>>1];e=re(f[o+(f[a>>2]<<2)>>2]|0,f[c>>2]|0)|0;f[o+((f[a>>2]|0)+1<<2)>>2]=e;f[a>>2]=(f[a>>2]|0)+1}while((f[s>>2]|0)!=1);f[s>>2]=n[(f[i>>2]|0)+12+((f[a>>2]<<1)-1<<1)>>1];f[l>>2]=(f[a>>2]|0)-1;while(1){if((f[l>>2]|0)<0)break;if(f[l>>2]|0)f[u>>2]=n[(f[i>>2]|0)+12+((f[l>>2]<<1)-1<<1)>>1];else f[u>>2]=1;switch(n[(f[i>>2]|0)+12+(f[l>>2]<<1<<1)>>1]|0){case 2:{ar(f[t>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0);break}case 4:{or(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}case 3:{lr(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}case 5:{sr(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}default:{}}f[s>>2]=f[u>>2];f[l>>2]=(f[l>>2]|0)+-1}h=w;return}function ar(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;t=c+28|0;n=c+20|0;a=c+16|0;o=c+12|0;u=c+8|0;l=c;f[t>>2]=e;f[c+24>>2]=r;f[n>>2]=i;s[u>>2]=.7071067690849304;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;f[a>>2]=(f[t>>2]|0)+32;r=f[a>>2]|0;f[l>>2]=f[r>>2];f[l+4>>2]=f[r+4>>2];s[f[a>>2]>>2]=+s[f[t>>2]>>2]-+s[l>>2];s[(f[a>>2]|0)+4>>2]=+s[(f[t>>2]|0)+4>>2]-+s[l+4>>2];r=f[t>>2]|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=(+s[(f[a>>2]|0)+8>>2]+ +s[(f[a>>2]|0)+8+4>>2])*+s[u>>2];s[l+4>>2]=(+s[(f[a>>2]|0)+8+4>>2]-+s[(f[a>>2]|0)+8>>2])*+s[u>>2];s[(f[a>>2]|0)+8>>2]=+s[(f[t>>2]|0)+8>>2]-+s[l>>2];s[(f[a>>2]|0)+8+4>>2]=+s[(f[t>>2]|0)+8+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+8|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+8+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=+s[(f[a>>2]|0)+16+4>>2];s[l+4>>2]=-+s[(f[a>>2]|0)+16>>2];s[(f[a>>2]|0)+16>>2]=+s[(f[t>>2]|0)+16>>2]-+s[l>>2];s[(f[a>>2]|0)+16+4>>2]=+s[(f[t>>2]|0)+16+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+16|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+16+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=(+s[(f[a>>2]|0)+24+4>>2]-+s[(f[a>>2]|0)+24>>2])*+s[u>>2];s[l+4>>2]=(-+s[(f[a>>2]|0)+24+4>>2]-+s[(f[a>>2]|0)+24>>2])*+s[u>>2];s[(f[a>>2]|0)+24>>2]=+s[(f[t>>2]|0)+24>>2]-+s[l>>2];s[(f[a>>2]|0)+24+4>>2]=+s[(f[t>>2]|0)+24+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+24|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+24+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];f[t>>2]=(f[t>>2]|0)+64;f[o>>2]=(f[o>>2]|0)+1}h=c;return}function or(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+128|0;o=R+120|0;l=R+116|0;u=R+112|0;c=R+108|0;b=R+104|0;w=R+100|0;d=R+96|0;_=R+88|0;m=R+80|0;p=R+72|0;y=R+24|0;E=R+20|0;A=R+16|0;S=R+12|0;v=R+8|0;g=R+4|0;k=R;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;if((f[c>>2]|0)==1){f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;s[_>>2]=+s[f[o>>2]>>2]-+s[(f[o>>2]|0)+16>>2];s[_+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[(f[o>>2]|0)+16+4>>2];S=f[o>>2]|0;s[S>>2]=+s[S>>2]+ +s[(f[o>>2]|0)+16>>2];S=(f[o>>2]|0)+4|0;s[S>>2]=+s[S>>2]+ +s[(f[o>>2]|0)+16+4>>2];s[m>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[(f[o>>2]|0)+24>>2];s[m+4>>2]=+s[(f[o>>2]|0)+8+4>>2]+ +s[(f[o>>2]|0)+24+4>>2];s[(f[o>>2]|0)+16>>2]=+s[f[o>>2]>>2]-+s[m>>2];s[(f[o>>2]|0)+16+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[m+4>>2];S=f[o>>2]|0;s[S>>2]=+s[S>>2]+ +s[m>>2];S=(f[o>>2]|0)+4|0;s[S>>2]=+s[S>>2]+ +s[m+4>>2];s[m>>2]=+s[(f[o>>2]|0)+8>>2]-+s[(f[o>>2]|0)+24>>2];s[m+4>>2]=+s[(f[o>>2]|0)+8+4>>2]-+s[(f[o>>2]|0)+24+4>>2];s[(f[o>>2]|0)+8>>2]=+s[_>>2]+ +s[m+4>>2];s[(f[o>>2]|0)+8+4>>2]=+s[_+4>>2]-+s[m>>2];s[(f[o>>2]|0)+24>>2]=+s[_>>2]-+s[m+4>>2];s[(f[o>>2]|0)+24+4>>2]=+s[_+4>>2]+ +s[m>>2];f[o>>2]=(f[o>>2]|0)+32;f[d>>2]=(f[d>>2]|0)+1}h=R;return}f[v>>2]=f[c>>2]<<1;f[g>>2]=(f[c>>2]|0)*3;f[k>>2]=f[o>>2];f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[o>>2]=(f[k>>2]|0)+((re(f[d>>2]|0,f[w>>2]|0)|0)<<3);i=f[(f[u>>2]|0)+48>>2]|0;f[E>>2]=i;f[A>>2]=i;f[S>>2]=i;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[c>>2]|0))break;s[y>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[f[E>>2]>>2]-+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[(f[E>>2]|0)+4>>2];s[y+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[(f[E>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[f[E>>2]>>2];s[y+8>>2]=+s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]*+s[f[A>>2]>>2]-+s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]*+s[(f[A>>2]|0)+4>>2];s[y+8+4>>2]=+s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]*+s[(f[A>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]*+s[f[A>>2]>>2];s[y+16>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[f[S>>2]>>2]-+s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[(f[S>>2]|0)+4>>2];s[y+16+4>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[(f[S>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[f[S>>2]>>2];s[y+40>>2]=+s[f[o>>2]>>2]-+s[y+8>>2];s[y+40+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+8+4>>2];i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+8>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+8+4>>2];s[y+24>>2]=+s[y>>2]+ +s[y+16>>2];s[y+24+4>>2]=+s[y+4>>2]+ +s[y+16+4>>2];s[y+32>>2]=+s[y>>2]-+s[y+16>>2];s[y+32+4>>2]=+s[y+4>>2]-+s[y+16+4>>2];s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]=+s[f[o>>2]>>2]-+s[y+24>>2];s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+24+4>>2];f[E>>2]=(f[E>>2]|0)+(f[l>>2]<<3);f[A>>2]=(f[A>>2]|0)+(f[l>>2]<<1<<3);f[S>>2]=(f[S>>2]|0)+((f[l>>2]|0)*3<<3);i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+24>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+24+4>>2];s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]=+s[y+40>>2]+ +s[y+32+4>>2];s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]=+s[y+40+4>>2]-+s[y+32>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]=+s[y+40>>2]-+s[y+32+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]=+s[y+40+4>>2]+ +s[y+32>>2];f[o>>2]=(f[o>>2]|0)+8;f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}h=R;return}function lr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+112|0;o=E+96|0;l=E+92|0;u=E+88|0;c=E+84|0;b=E+80|0;w=E+76|0;p=E+72|0;v=E+68|0;g=E+64|0;_=E+60|0;m=E+56|0;y=E+16|0;d=E+8|0;k=E;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[g>>2]=f[c>>2]<<1;f[k>>2]=f[o>>2];i=re(f[l>>2]|0,f[c>>2]|0)|0;i=(f[(f[u>>2]|0)+48>>2]|0)+(i<<3)|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;f[o>>2]=(f[k>>2]|0)+((re(f[p>>2]|0,f[w>>2]|0)|0)<<3);i=f[(f[u>>2]|0)+48>>2]|0;f[m>>2]=i;f[_>>2]=i;f[v>>2]=f[c>>2];do{s[y+8>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[f[_>>2]>>2]-+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[(f[_>>2]|0)+4>>2];s[y+8+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[(f[_>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[f[_>>2]>>2];s[y+16>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[f[m>>2]>>2]-+s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[(f[m>>2]|0)+4>>2];s[y+16+4>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[(f[m>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[f[m>>2]>>2];s[y+24>>2]=+s[y+8>>2]+ +s[y+16>>2];s[y+24+4>>2]=+s[y+8+4>>2]+ +s[y+16+4>>2];s[y>>2]=+s[y+8>>2]-+s[y+16>>2];s[y+4>>2]=+s[y+8+4>>2]-+s[y+16+4>>2];f[_>>2]=(f[_>>2]|0)+(f[l>>2]<<3);f[m>>2]=(f[m>>2]|0)+(f[l>>2]<<1<<3);s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]=+s[f[o>>2]>>2]-+s[y+24>>2]*.5;s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+24+4>>2]*.5;s[y>>2]=+s[y>>2]*+s[d+4>>2];i=y+4|0;s[i>>2]=+s[i>>2]*+s[d+4>>2];i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+24>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+24+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]+ +s[y+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]-+s[y>>2];i=(f[o>>2]|0)+(f[c>>2]<<3)|0;s[i>>2]=+s[i>>2]-+s[y+4>>2];i=(f[o>>2]|0)+(f[c>>2]<<3)+4|0;s[i>>2]=+s[i>>2]+ +s[y>>2];f[o>>2]=(f[o>>2]|0)+8;i=(f[v>>2]|0)+-1|0;f[v>>2]=i}while((i|0)!=0);f[p>>2]=(f[p>>2]|0)+1}h=E;return}function sr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0;R=h;h=h+192|0;o=R+184|0;l=R+180|0;T=R+176|0;u=R+172|0;c=R+168|0;b=R+164|0;w=R+160|0;k=R+156|0;d=R+152|0;p=R+148|0;v=R+144|0;y=R+140|0;E=R+136|0;_=R+32|0;m=R+24|0;A=R+16|0;S=R+8|0;g=R;f[o>>2]=e;f[l>>2]=r;f[T>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[g>>2]=f[o>>2];i=re(f[l>>2]|0,f[u>>2]|0)|0;i=(f[(f[T>>2]|0)+48>>2]|0)+(i<<3)|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];i=re(f[l>>2]<<1,f[u>>2]|0)|0;i=(f[(f[T>>2]|0)+48>>2]|0)+(i<<3)|0;f[S>>2]=f[i>>2];f[S+4>>2]=f[i+4>>2];f[m>>2]=f[(f[T>>2]|0)+48>>2];f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[c>>2]|0))break;f[o>>2]=(f[g>>2]|0)+((re(f[y>>2]|0,f[b>>2]|0)|0)<<3);f[w>>2]=f[o>>2];f[k>>2]=(f[w>>2]|0)+(f[u>>2]<<3);f[d>>2]=(f[w>>2]|0)+(f[u>>2]<<1<<3);f[p>>2]=(f[w>>2]|0)+((f[u>>2]|0)*3<<3);f[v>>2]=(f[w>>2]|0)+(f[u>>2]<<2<<3);f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[u>>2]|0))break;T=f[w>>2]|0;f[_>>2]=f[T>>2];f[_+4>>2]=f[T+4>>2];T=re(f[E>>2]|0,f[l>>2]|0)|0;i=re(f[E>>2]|0,f[l>>2]|0)|0;s[_+8>>2]=+s[f[k>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[k>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]|0,f[l>>2]|0)|0;T=re(f[E>>2]|0,f[l>>2]|0)|0;s[_+8+4>>2]=+s[f[k>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[k>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re(f[E>>2]<<1,f[l>>2]|0)|0;i=re(f[E>>2]<<1,f[l>>2]|0)|0;s[_+16>>2]=+s[f[d>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[d>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]<<1,f[l>>2]|0)|0;T=re(f[E>>2]<<1,f[l>>2]|0)|0;s[_+16+4>>2]=+s[f[d>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[d>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;i=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;s[_+24>>2]=+s[f[p>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[p>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;T=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;s[_+24+4>>2]=+s[f[p>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[p>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re(f[E>>2]<<2,f[l>>2]|0)|0;i=re(f[E>>2]<<2,f[l>>2]|0)|0;s[_+32>>2]=+s[f[v>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[v>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]<<2,f[l>>2]|0)|0;T=re(f[E>>2]<<2,f[l>>2]|0)|0;s[_+32+4>>2]=+s[f[v>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[v>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];s[_+56>>2]=+s[_+8>>2]+ +s[_+32>>2];s[_+56+4>>2]=+s[_+8+4>>2]+ +s[_+32+4>>2];s[_+80>>2]=+s[_+8>>2]-+s[_+32>>2];s[_+80+4>>2]=+s[_+8+4>>2]-+s[_+32+4>>2];s[_+64>>2]=+s[_+16>>2]+ +s[_+24>>2];s[_+64+4>>2]=+s[_+16+4>>2]+ +s[_+24+4>>2];s[_+72>>2]=+s[_+16>>2]-+s[_+24>>2];s[_+72+4>>2]=+s[_+16+4>>2]-+s[_+24+4>>2];T=f[w>>2]|0;s[T>>2]=+s[T>>2]+(+s[_+56>>2]+ +s[_+64>>2]);T=(f[w>>2]|0)+4|0;s[T>>2]=+s[T>>2]+(+s[_+56+4>>2]+ +s[_+64+4>>2]);s[_+40>>2]=+s[_>>2]+ +s[_+56>>2]*+s[A>>2]+ +s[_+64>>2]*+s[S>>2];s[_+40+4>>2]=+s[_+4>>2]+ +s[_+56+4>>2]*+s[A>>2]+ +s[_+64+4>>2]*+s[S>>2];s[_+48>>2]=+s[_+80+4>>2]*+s[A+4>>2]+ +s[_+72+4>>2]*+s[S+4>>2];s[_+48+4>>2]=-(+s[_+80>>2]*+s[A+4>>2])-+s[_+72>>2]*+s[S+4>>2];s[f[k>>2]>>2]=+s[_+40>>2]-+s[_+48>>2];s[(f[k>>2]|0)+4>>2]=+s[_+40+4>>2]-+s[_+48+4>>2];s[f[v>>2]>>2]=+s[_+40>>2]+ +s[_+48>>2];s[(f[v>>2]|0)+4>>2]=+s[_+40+4>>2]+ +s[_+48+4>>2];s[_+88>>2]=+s[_>>2]+ +s[_+56>>2]*+s[S>>2]+ +s[_+64>>2]*+s[A>>2];s[_+88+4>>2]=+s[_+4>>2]+ +s[_+56+4>>2]*+s[S>>2]+ +s[_+64+4>>2]*+s[A>>2];s[_+96>>2]=-(+s[_+80+4>>2]*+s[S+4>>2])+ +s[_+72+4>>2]*+s[A+4>>2];s[_+96+4>>2]=+s[_+80>>2]*+s[S+4>>2]-+s[_+72>>2]*+s[A+4>>2];s[f[d>>2]>>2]=+s[_+88>>2]+ +s[_+96>>2];s[(f[d>>2]|0)+4>>2]=+s[_+88+4>>2]+ +s[_+96+4>>2];s[f[p>>2]>>2]=+s[_+88>>2]-+s[_+96>>2];s[(f[p>>2]|0)+4>>2]=+s[_+88+4>>2]-+s[_+96+4>>2];f[w>>2]=(f[w>>2]|0)+8;f[k>>2]=(f[k>>2]|0)+8;f[d>>2]=(f[d>>2]|0)+8;f[p>>2]=(f[p>>2]|0)+8;f[v>>2]=(f[v>>2]|0)+8;f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=(f[y>>2]|0)+1}h=R;return}function ur(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;a=b+20|0;o=b+16|0;l=b+12|0;u=b+8|0;c=b;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=+s[(f[t>>2]|0)+4>>2];f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[f[t>>2]>>2]|0))break;e=(f[a>>2]|0)+(f[l>>2]<<3)|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];s[(f[o>>2]|0)+(n[(f[(f[t>>2]|0)+44>>2]|0)+(f[l>>2]<<1)>>1]<<3)>>2]=+s[u>>2]*+s[c>>2];s[(f[o>>2]|0)+(n[(f[(f[t>>2]|0)+44>>2]|0)+(f[l>>2]<<1)>>1]<<3)+4>>2]=+s[u>>2]*+s[c+4>>2];f[l>>2]=(f[l>>2]|0)+1}fr(f[t>>2]|0,f[o>>2]|0);h=b;return}function hr(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;l=d+36|0;s=d+32|0;u=d+28|0;n=d+24|0;b=d+20|0;o=d+16|0;k=d+12|0;w=d+8|0;c=d+4|0;a=d;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[n>>2]=t;f[o>>2]=f[f[s>>2]>>2];f[b>>2]=0;if(!(f[o>>2]|0)){c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}f[k>>2]=0-((f[o>>2]|0)<0&1);f[o>>2]=(f[o>>2]|0)+(f[k>>2]|0)^f[k>>2];f[b>>2]=f[u>>2];f[u>>2]=cr(f[u>>2]|0,f[n>>2]|0)|0;f[w>>2]=1;while(1){if((f[u>>2]|0)>>>0>0)e=(f[w>>2]|0)<(f[o>>2]|0);else e=0;t=f[u>>2]|0;if(!e)break;f[u>>2]=t<<1;f[b>>2]=(f[b>>2]|0)+((f[u>>2]|0)+2);f[u>>2]=(re(f[u>>2]|0,f[n>>2]|0)|0)>>>15;f[w>>2]=(f[w>>2]|0)+1}if(t|0){f[u>>2]=(f[u>>2]|0)+1;f[b>>2]=(f[b>>2]|0)+(f[u>>2]&~f[k>>2]);c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}f[a>>2]=(32768-(f[b>>2]|0)+1-1|0)>>>0;f[a>>2]=(f[a>>2]|0)-(f[k>>2]|0)>>1;if(((f[o>>2]|0)-(f[w>>2]|0)|0)<((f[a>>2]|0)-1|0))t=(f[o>>2]|0)-(f[w>>2]|0)|0;else t=(f[a>>2]|0)-1|0;f[c>>2]=t;f[b>>2]=(f[b>>2]|0)+((f[c>>2]<<1)+1+(f[k>>2]|0));f[u>>2]=1<(32768-(f[b>>2]|0)|0)>>>0?1:32768-(f[b>>2]|0)|0;f[f[s>>2]>>2]=(f[w>>2]|0)+(f[c>>2]|0)+(f[k>>2]|0)^f[k>>2];c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}function cr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;i=h;h=h+16|0;a=i+8|0;t=i+4|0;n=i;f[a>>2]=e;f[t>>2]=r;f[n>>2]=32736-(f[a>>2]|0);e=(re(f[n>>2]|0,16384-(f[t>>2]|0)|0)|0)>>>15;h=i;return e|0}function br(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;t=c+24|0;l=c+20|0;n=c+16|0;u=c+12|0;s=c+8|0;o=c+4|0;a=c;f[t>>2]=e;f[l>>2]=r;f[n>>2]=i;f[u>>2]=0;f[o>>2]=je(f[t>>2]|0,15)|0;f[s>>2]=0;do{if((f[o>>2]|0)>>>0>=(f[l>>2]|0)>>>0){f[u>>2]=(f[u>>2]|0)+1;f[s>>2]=f[l>>2];f[l>>2]=(cr(f[l>>2]|0,f[n>>2]|0)|0)+1;while(1){if((f[l>>2]|0)>>>0>1)i=(f[o>>2]|0)>>>0>=((f[s>>2]|0)+(f[l>>2]<<1)|0)>>>0;else i=0;e=f[l>>2]|0;if(!i)break;f[l>>2]=e<<1;f[s>>2]=(f[s>>2]|0)+(f[l>>2]|0);f[l>>2]=(re((f[l>>2]|0)-2|0,f[n>>2]|0)|0)>>>15;f[l>>2]=(f[l>>2]|0)+1;f[u>>2]=(f[u>>2]|0)+1}if(e>>>0<=1){f[a>>2]=((f[o>>2]|0)-(f[s>>2]|0)|0)>>>1;f[u>>2]=(f[u>>2]|0)+(f[a>>2]|0);f[s>>2]=(f[s>>2]|0)+(f[a>>2]<<1)}if((f[o>>2]|0)>>>0<((f[s>>2]|0)+(f[l>>2]|0)|0)>>>0){f[u>>2]=0-(f[u>>2]|0);break}else{f[s>>2]=(f[s>>2]|0)+(f[l>>2]|0);break}}}while(0);e=f[t>>2]|0;i=f[s>>2]|0;if(((f[s>>2]|0)+(f[l>>2]|0)|0)>>>0>=32768){s=32768;De(e,i,s,32768);u=f[u>>2]|0;h=c;return u|0}s=(f[s>>2]|0)+(f[l>>2]|0)|0;De(e,i,s,32768);u=f[u>>2]|0;h=c;return u|0}function wr(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;n=o+8|0;t=o+4|0;a=o;f[r>>2]=e;f[n>>2]=0;f[t>>2]=32-(te(f[r>>2]|0)|0)-1>>1;f[i>>2]=1<>2];do{f[a>>2]=(f[n>>2]<<1)+(f[i>>2]|0)<>2];if((f[a>>2]|0)>>>0<=(f[r>>2]|0)>>>0){f[n>>2]=(f[n>>2]|0)+(f[i>>2]|0);f[r>>2]=(f[r>>2]|0)-(f[a>>2]|0)}f[i>>2]=(f[i>>2]|0)>>>1;f[t>>2]=(f[t>>2]|0)+-1}while((f[t>>2]|0)>=0);h=o;return f[n>>2]|0}function kr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0;Z=h;h=h+160|0;V=Z+144|0;w=Z+140|0;k=Z+136|0;d=Z+132|0;p=Z+128|0;c=Z+124|0;v=Z+120|0;E=Z+112|0;b=Z+108|0;y=Z+104|0;_=Z+100|0;T=Z+96|0;P=Z+92|0;R=Z+88|0;g=Z+84|0;U=Z+80|0;B=Z+76|0;F=Z+72|0;I=Z+68|0;C=Z+64|0;z=Z+60|0;M=Z+56|0;j=Z+48|0;x=Z+44|0;O=Z+40|0;S=Z+36|0;A=Z+32|0;q=Z+28|0;D=Z+24|0;m=Z+20|0;Y=Z+16|0;H=Z+12|0;L=Z+8|0;W=Z+4|0;N=Z;f[V>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[c>>2]=o;f[v>>2]=l;f[Z+116>>2]=u;f[T>>2]=f[(f[V>>2]|0)+8+(f[c>>2]<<2)>>2];s[R>>2]=+s[(f[T>>2]|0)+4>>2];f[b>>2]=f[f[V>>2]>>2];f[P>>2]=f[(f[V>>2]|0)+24>>2];f[E>>2]=0;while(1){u=f[b>>2]>>1;if((f[E>>2]|0)>=(f[c>>2]|0))break;f[b>>2]=u;f[P>>2]=(f[P>>2]|0)+(f[b>>2]<<2);f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=u;f[_>>2]=f[b>>2]>>2;r=f[y>>2]|0;f[g>>2]=he()|0;u=h;h=h+((1*(r<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[_>>2]<<3)|0)+15&-16)|0;f[U>>2]=(f[w>>2]|0)+(f[p>>2]>>1<<2);f[B>>2]=(f[w>>2]|0)+(f[y>>2]<<2)+-4+(f[p>>2]>>1<<2);f[F>>2]=u;f[I>>2]=(f[d>>2]|0)+(f[p>>2]>>1<<2);f[C>>2]=(f[d>>2]|0)+(f[p>>2]>>1<<2)+-4;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[p>>2]|0)+3>>2|0))break;J=+s[f[C>>2]>>2]*+s[(f[U>>2]|0)+(f[y>>2]<<2)>>2]+ +s[f[I>>2]>>2]*+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[I>>2]>>2]*+s[f[U>>2]>>2]-+s[f[C>>2]>>2]*+s[(f[B>>2]|0)+(0-(f[y>>2]|0)<<2)>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[I>>2]=(f[I>>2]|0)+8;f[C>>2]=(f[C>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[I>>2]=f[d>>2];f[C>>2]=(f[d>>2]|0)+(f[p>>2]<<2)+-4;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-((f[p>>2]|0)+3>>2)|0))break;J=+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[U>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;J=-(+s[f[I>>2]>>2]*+s[(f[U>>2]|0)+(0-(f[y>>2]|0)<<2)>>2])+ +s[f[C>>2]>>2]*+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[C>>2]>>2]*+s[f[U>>2]>>2]+ +s[f[I>>2]>>2]*+s[(f[B>>2]|0)+(f[y>>2]<<2)>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[I>>2]=(f[I>>2]|0)+8;f[C>>2]=(f[C>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[z>>2]=u;f[M>>2]=f[P>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;s[x>>2]=+s[(f[M>>2]|0)+(f[E>>2]<<2)>>2];s[O>>2]=+s[(f[M>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];V=f[z>>2]|0;f[z>>2]=V+4;s[S>>2]=+s[V>>2];V=f[z>>2]|0;f[z>>2]=V+4;s[A>>2]=+s[V>>2];s[q>>2]=+s[S>>2]*+s[x>>2]-+s[A>>2]*+s[O>>2];s[D>>2]=+s[A>>2]*+s[x>>2]+ +s[S>>2]*+s[O>>2];s[j>>2]=+s[q>>2];s[j+4>>2]=+s[D>>2];s[j>>2]=+s[R>>2]*+s[j>>2];s[j+4>>2]=+s[R>>2]*+s[j+4>>2];V=r+(n[(f[(f[T>>2]|0)+44>>2]|0)+(f[E>>2]<<1)>>1]<<3)|0;f[V>>2]=f[j>>2];f[V+4>>2]=f[j+4>>2];f[E>>2]=(f[E>>2]|0)+1}fr(f[T>>2]|0,r);f[m>>2]=r;f[Y>>2]=f[k>>2];f[H>>2]=(f[k>>2]|0)+((re(f[v>>2]|0,(f[y>>2]|0)-1|0)|0)<<2);f[L>>2]=f[P>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;s[W>>2]=+s[(f[m>>2]|0)+4>>2]*+s[(f[L>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2]-+s[f[m>>2]>>2]*+s[(f[L>>2]|0)+(f[E>>2]<<2)>>2];s[N>>2]=+s[f[m>>2]>>2]*+s[(f[L>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2]+ +s[(f[m>>2]|0)+4>>2]*+s[(f[L>>2]|0)+(f[E>>2]<<2)>>2];s[f[Y>>2]>>2]=+s[W>>2];s[f[H>>2]>>2]=+s[N>>2];f[m>>2]=(f[m>>2]|0)+8;f[Y>>2]=(f[Y>>2]|0)+(f[v>>2]<<1<<2);f[H>>2]=(f[H>>2]|0)+(0-(f[v>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+1}de(f[g>>2]|0);h=Z;return}function dr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0;V=h;h=h+144|0;c=V+140|0;b=V+136|0;w=V+132|0;k=V+128|0;d=V+124|0;p=V+120|0;v=V+116|0;E=V+108|0;g=V+104|0;y=V+100|0;_=V+96|0;L=V+92|0;B=V+88|0;D=V+84|0;z=V+80|0;T=V+76|0;m=V+72|0;R=V+68|0;W=V+64|0;N=V+60|0;Y=V+56|0;H=V+52|0;x=V+48|0;S=V+44|0;A=V+40|0;Z=V+36|0;F=V+32|0;M=V+28|0;O=V+24|0;j=V+20|0;q=V+16|0;P=V+12|0;I=V+8|0;C=V+4|0;U=V;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[V+112>>2]=u;f[g>>2]=f[f[c>>2]>>2];f[L>>2]=f[(f[c>>2]|0)+24>>2];f[E>>2]=0;while(1){u=f[g>>2]>>1;if((f[E>>2]|0)>=(f[p>>2]|0))break;f[g>>2]=u;f[L>>2]=(f[L>>2]|0)+(f[g>>2]<<2);f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=u;f[_>>2]=f[g>>2]>>2;f[B>>2]=f[b>>2];f[D>>2]=(f[b>>2]|0)+((re(f[v>>2]|0,(f[y>>2]|0)-1|0)|0)<<2);f[z>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2);f[T>>2]=f[L>>2];f[m>>2]=f[(f[(f[c>>2]|0)+8+(f[p>>2]<<2)>>2]|0)+44>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;g=f[m>>2]|0;f[m>>2]=g+2;f[R>>2]=n[g>>1];s[W>>2]=+s[f[D>>2]>>2]*+s[(f[T>>2]|0)+(f[E>>2]<<2)>>2]+ +s[f[B>>2]>>2]*+s[(f[T>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[N>>2]=+s[f[B>>2]>>2]*+s[(f[T>>2]|0)+(f[E>>2]<<2)>>2]-+s[f[D>>2]>>2]*+s[(f[T>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[(f[z>>2]|0)+((f[R>>2]<<1)+1<<2)>>2]=+s[W>>2];s[(f[z>>2]|0)+(f[R>>2]<<1<<2)>>2]=+s[N>>2];f[B>>2]=(f[B>>2]|0)+(f[v>>2]<<1<<2);f[D>>2]=(f[D>>2]|0)+(0-(f[v>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+1}fr(f[(f[c>>2]|0)+8+(f[p>>2]<<2)>>2]|0,(f[w>>2]|0)+(f[d>>2]>>1<<2)|0);f[Y>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2);f[H>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2)+(f[y>>2]<<2)+-8;f[x>>2]=f[L>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)+1>>1|0))break;s[S>>2]=+s[(f[Y>>2]|0)+4>>2];s[A>>2]=+s[f[Y>>2]>>2];s[M>>2]=+s[(f[x>>2]|0)+(f[E>>2]<<2)>>2];s[O>>2]=+s[(f[x>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[Z>>2]=+s[S>>2]*+s[M>>2]+ +s[A>>2]*+s[O>>2];s[F>>2]=+s[S>>2]*+s[O>>2]-+s[A>>2]*+s[M>>2];s[S>>2]=+s[(f[H>>2]|0)+4>>2];s[A>>2]=+s[f[H>>2]>>2];s[f[Y>>2]>>2]=+s[Z>>2];s[(f[H>>2]|0)+4>>2]=+s[F>>2];s[M>>2]=+s[(f[x>>2]|0)+((f[_>>2]|0)-(f[E>>2]|0)-1<<2)>>2];s[O>>2]=+s[(f[x>>2]|0)+((f[y>>2]|0)-(f[E>>2]|0)-1<<2)>>2];s[Z>>2]=+s[S>>2]*+s[M>>2]+ +s[A>>2]*+s[O>>2];s[F>>2]=+s[S>>2]*+s[O>>2]-+s[A>>2]*+s[M>>2];s[f[H>>2]>>2]=+s[Z>>2];s[(f[Y>>2]|0)+4>>2]=+s[F>>2];f[Y>>2]=(f[Y>>2]|0)+8;f[H>>2]=(f[H>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[j>>2]=(f[w>>2]|0)+(f[d>>2]<<2)+-4;f[q>>2]=f[w>>2];f[P>>2]=f[k>>2];f[I>>2]=(f[k>>2]|0)+(f[d>>2]<<2)+-4;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[d>>2]|0)/2|0|0))break;s[C>>2]=+s[f[j>>2]>>2];s[U>>2]=+s[f[q>>2]>>2];J=+s[f[I>>2]>>2]*+s[U>>2]-+s[f[P>>2]>>2]*+s[C>>2];Z=f[q>>2]|0;f[q>>2]=Z+4;s[Z>>2]=J;J=+s[f[P>>2]>>2]*+s[U>>2]+ +s[f[I>>2]>>2]*+s[C>>2];Z=f[j>>2]|0;f[j>>2]=Z+-4;s[Z>>2]=J;f[P>>2]=(f[P>>2]|0)+4;f[I>>2]=(f[I>>2]|0)+-4;f[E>>2]=(f[E>>2]|0)+1}h=V;return}function pr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;o=u+20|0;t=u+16|0;n=u+12|0;l=u+8|0;s=u+4|0;a=u;f[t>>2]=e;f[n>>2]=r;f[l>>2]=i;f[s>>2]=0;e:while(1){if((f[s>>2]|0)>=1){t=12;break}f[a>>2]=0;while(1){if((f[a>>2]|0)>=4)break;if((f[t>>2]|0)==(f[f[5544+(f[s>>2]<<2)>>2]>>2]|0)?(f[n>>2]<>2]|0)==(re(f[(f[5544+(f[s>>2]<<2)>>2]|0)+44>>2]|0,f[(f[5544+(f[s>>2]<<2)>>2]|0)+40>>2]|0)|0):0){t=7;break e}f[a>>2]=(f[a>>2]|0)+1}f[s>>2]=(f[s>>2]|0)+1}if((t|0)==7){if(f[l>>2]|0)f[f[l>>2]>>2]=0;f[o>>2]=f[5544+(f[s>>2]<<2)>>2];s=f[o>>2]|0;h=u;return s|0}else if((t|0)==12){if(f[l>>2]|0)f[f[l>>2]>>2]=-1;f[o>>2]=0;s=f[o>>2]|0;h=u;return s|0}return 0}function vr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+112|0;a=y+108|0;o=y+104|0;l=y+100|0;u=y+96|0;c=y+92|0;k=y+88|0;b=y+68|0;g=y+64|0;d=y+48|0;v=y+24|0;p=y+4|0;w=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;s[g>>2]=1;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;s[w>>2]=.800000011920929;f[k>>2]=1;while(1){if((f[k>>2]|0)>=(f[l>>2]>>1|0))break;s[(f[o>>2]|0)+(f[k>>2]<<2)>>2]=((+s[(f[f[a>>2]>>2]|0)+((f[k>>2]<<1)-1<<2)>>2]+ +s[(f[f[a>>2]>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])*.5+ +s[(f[f[a>>2]>>2]|0)+(f[k>>2]<<1<<2)>>2])*.5;f[k>>2]=(f[k>>2]|0)+1}s[f[o>>2]>>2]=(+s[(f[f[a>>2]>>2]|0)+4>>2]*.5+ +s[f[f[a>>2]>>2]>>2])*.5;if((f[u>>2]|0)==2){f[k>>2]=1;while(1){if((f[k>>2]|0)>=(f[l>>2]>>1|0))break;r=(f[o>>2]|0)+(f[k>>2]<<2)|0;s[r>>2]=+s[r>>2]+((+s[(f[(f[a>>2]|0)+4>>2]|0)+((f[k>>2]<<1)-1<<2)>>2]+ +s[(f[(f[a>>2]|0)+4>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])*.5+ +s[(f[(f[a>>2]|0)+4>>2]|0)+(f[k>>2]<<1<<2)>>2])*.5;f[k>>2]=(f[k>>2]|0)+1}r=f[o>>2]|0;s[r>>2]=+s[r>>2]+(+s[(f[(f[a>>2]|0)+4>>2]|0)+4>>2]*.5+ +s[f[(f[a>>2]|0)+4>>2]>>2])*.5}Pr(f[o>>2]|0,b,0,0,4,f[l>>2]>>1,f[c>>2]|0)|0;s[b>>2]=+s[b>>2]*1.000100016593933;f[k>>2]=1;while(1){if((f[k>>2]|0)>4)break;r=b+(f[k>>2]<<2)|0;s[r>>2]=+s[r>>2]-+s[b+(f[k>>2]<<2)>>2]*(+(f[k>>2]|0)*.00800000037997961)*(+(f[k>>2]|0)*.00800000037997961);f[k>>2]=(f[k>>2]|0)+1}Mr(d,b,4);f[k>>2]=0;while(1){if((f[k>>2]|0)>=4)break;s[g>>2]=+s[g>>2]*.8999999761581421;s[d+(f[k>>2]<<2)>>2]=+s[d+(f[k>>2]<<2)>>2]*+s[g>>2];f[k>>2]=(f[k>>2]|0)+1}s[p>>2]=+s[d>>2]+.800000011920929;s[p+4>>2]=+s[d+4>>2]+ +s[w>>2]*+s[d>>2];s[p+8>>2]=+s[d+8>>2]+ +s[w>>2]*+s[d+4>>2];s[p+12>>2]=+s[d+12>>2]+ +s[w>>2]*+s[d+8>>2];s[p+16>>2]=+s[w>>2]*+s[d+12>>2];gr(f[o>>2]|0,p,f[o>>2]|0,f[l>>2]>>1,v);h=y;return}function gr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+80|0;a=A+64|0;S=A+60|0;o=A+56|0;l=A+52|0;u=A+48|0;c=A+44|0;v=A+40|0;g=A+36|0;y=A+32|0;_=A+28|0;m=A+24|0;b=A+20|0;w=A+16|0;k=A+12|0;d=A+8|0;p=A+4|0;E=A;f[a>>2]=e;f[S>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=n;s[v>>2]=+s[f[S>>2]>>2];s[g>>2]=+s[(f[S>>2]|0)+4>>2];s[y>>2]=+s[(f[S>>2]|0)+8>>2];s[_>>2]=+s[(f[S>>2]|0)+12>>2];s[m>>2]=+s[(f[S>>2]|0)+16>>2];s[b>>2]=+s[f[u>>2]>>2];s[w>>2]=+s[(f[u>>2]|0)+4>>2];s[k>>2]=+s[(f[u>>2]|0)+8>>2];s[d>>2]=+s[(f[u>>2]|0)+12>>2];s[p>>2]=+s[(f[u>>2]|0)+16>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[E>>2]=+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];s[E>>2]=+s[E>>2]+ +s[v>>2]*+s[b>>2];s[E>>2]=+s[E>>2]+ +s[g>>2]*+s[w>>2];s[E>>2]=+s[E>>2]+ +s[y>>2]*+s[k>>2];s[E>>2]=+s[E>>2]+ +s[_>>2]*+s[d>>2];s[E>>2]=+s[E>>2]+ +s[m>>2]*+s[p>>2];s[p>>2]=+s[d>>2];s[d>>2]=+s[k>>2];s[k>>2]=+s[w>>2];s[w>>2]=+s[b>>2];s[b>>2]=+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]=+s[E>>2];f[c>>2]=(f[c>>2]|0)+1}s[f[u>>2]>>2]=+s[b>>2];s[(f[u>>2]|0)+4>>2]=+s[w>>2];s[(f[u>>2]|0)+8>>2]=+s[k>>2];s[(f[u>>2]|0)+12>>2]=+s[d>>2];s[(f[u>>2]|0)+16>>2]=+s[p>>2];h=A;return}function yr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+64|0;o=p+48|0;l=p+44|0;u=p+40|0;c=p+36|0;b=p+32|0;w=p+24|0;k=p+8|0;d=p;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[p+28>>2]=a;f[w>>2]=0;while(1){if((f[w>>2]|0)>=((f[b>>2]|0)-3|0))break;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;_r(f[o>>2]|0,(f[l>>2]|0)+(f[w>>2]<<2)|0,k,f[c>>2]|0);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=+s[k>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+1<<2)>>2]=+s[k+4>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+2<<2)>>2]=+s[k+8>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+3<<2)>>2]=+s[k+12>>2];f[w>>2]=(f[w>>2]|0)+4}while(1){if((f[w>>2]|0)>=(f[b>>2]|0))break;s[d>>2]=+mr(f[o>>2]|0,(f[l>>2]|0)+(f[w>>2]<<2)|0,f[c>>2]|0);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=+s[d>>2];f[w>>2]=(f[w>>2]|0)+1}h=p;return}function _r(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;n=y+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;d=y+28|0;p=y+24|0;v=y+20|0;g=y+16|0;c=y+12|0;b=y+8|0;w=y+4|0;k=y;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;s[g>>2]=0;r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=((f[l>>2]|0)-3|0))break;r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[g>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[d>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[p>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[v>>2];f[u>>2]=(f[u>>2]|0)+4}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[b>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[b>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[b>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[b>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[b>>2]*+s[g>>2]}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[w>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[w>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[w>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[w>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[w>>2]*+s[d>>2]}if((f[u>>2]|0)>=(f[l>>2]|0)){h=y;return}r=f[n>>2]|0;f[n>>2]=r+4;s[k>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[k>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[k>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[k>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[k>>2]*+s[p>>2];h=y;return}function mr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function Er(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+80|0;o=S+64|0;l=S+60|0;u=S+56|0;c=S+52|0;b=S+48|0;w=S+44|0;y=S+40|0;_=S+36|0;m=S+32|0;v=S+24|0;E=S+20|0;k=S+16|0;A=S+12|0;d=S+8|0;p=S+4|0;g=S;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[v>>2]=0;f[v+4>>2]=0;f[m>>2]=(f[u>>2]|0)+(f[c>>2]|0);i=f[u>>2]>>2;f[k>>2]=he()|0;a=h;h=h+((1*(i<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[m>>2]>>2<<2)|0)+15&-16)|0;t=h;h=h+((1*(f[c>>2]>>1<<2)|0)+15&-16)|0;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[u>>2]>>2|0))break;s[a+(f[_>>2]<<2)>>2]=+s[(f[o>>2]|0)+(f[_>>2]<<1<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[m>>2]>>2|0))break;s[i+(f[_>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[_>>2]<<1<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}yr(a,i,t,f[u>>2]>>2,f[c>>2]>>2,f[w>>2]|0);Ar(t,i,f[u>>2]>>2,f[c>>2]>>2,v);f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[c>>2]>>1|0))break;s[t+(f[y>>2]<<2)>>2]=0;if(!((Y((f[y>>2]|0)-(f[v>>2]<<1)|0)|0)>2?(Y((f[y>>2]|0)-(f[v+4>>2]<<1)|0)|0)>2:0)){s[A>>2]=+mr(f[o>>2]|0,(f[l>>2]|0)+(f[y>>2]<<2)|0,f[u>>2]>>1);s[t+(f[y>>2]<<2)>>2]=-1>+s[A>>2]?-1:+s[A>>2]}f[y>>2]=(f[y>>2]|0)+1}Ar(t,f[l>>2]|0,f[u>>2]>>1,f[c>>2]>>1,v);if((f[v>>2]|0)>0?(f[v>>2]|0)<((f[c>>2]>>1)-1|0):0){s[d>>2]=+s[t+((f[v>>2]|0)-1<<2)>>2];s[p>>2]=+s[t+(f[v>>2]<<2)>>2];s[g>>2]=+s[t+((f[v>>2]|0)+1<<2)>>2];if(+s[g>>2]-+s[d>>2]>(+s[p>>2]-+s[d>>2])*.699999988079071){f[E>>2]=1;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}if(+s[d>>2]-+s[g>>2]>(+s[p>>2]-+s[g>>2])*.699999988079071){f[E>>2]=-1;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}else{f[E>>2]=0;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}}f[E>>2]=0;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}function Ar(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;a=y+52|0;o=y+48|0;l=y+44|0;u=y+40|0;c=y+36|0;d=y+32|0;p=y+28|0;b=y+24|0;k=y+16|0;w=y+8|0;v=y+4|0;g=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;s[b>>2]=1;s[k>>2]=-1;s[k+4>>2]=-1;s[w>>2]=0;s[w+4>>2]=0;f[f[c>>2]>>2]=0;f[(f[c>>2]|0)+4>>2]=1;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[l>>2]|0))break;s[b>>2]=+s[b>>2]+ +s[(f[o>>2]|0)+(f[p>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[u>>2]|0))break;do{if(+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2]>0?(s[g>>2]=+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2],s[g>>2]=+s[g>>2]*9.999999960041972e-13,s[v>>2]=+s[g>>2]*+s[g>>2],+s[v>>2]*+s[w+4>>2]>+s[k+4>>2]*+s[b>>2]):0)if(+s[v>>2]*+s[w>>2]>+s[k>>2]*+s[b>>2]){s[k+4>>2]=+s[k>>2];s[w+4>>2]=+s[w>>2];f[(f[c>>2]|0)+4>>2]=f[f[c>>2]>>2];s[k>>2]=+s[v>>2];s[w>>2]=+s[b>>2];f[f[c>>2]>>2]=f[d>>2];break}else{s[k+4>>2]=+s[v>>2];s[w+4>>2]=+s[b>>2];f[(f[c>>2]|0)+4>>2]=f[d>>2];break}}while(0);s[b>>2]=+s[b>>2]+(+s[(f[o>>2]|0)+((f[d>>2]|0)+(f[l>>2]|0)<<2)>>2]*+s[(f[o>>2]|0)+((f[d>>2]|0)+(f[l>>2]|0)<<2)>>2]-+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]);s[b>>2]=1>+s[b>>2]?1:+s[b>>2];f[d>>2]=(f[d>>2]|0)+1}h=y;return}function Sr(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=+o;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;F=h;h=h+128|0;c=F+124|0;b=F+120|0;w=F+116|0;k=F+112|0;d=F+108|0;p=F+104|0;v=F+100|0;O=F+92|0;u=F+88|0;y=F+84|0;_=F+80|0;T=F+76|0;M=F+72|0;I=F+68|0;j=F+64|0;B=F+60|0;N=F+56|0;D=F+52|0;U=F+40|0;A=F+36|0;S=F+32|0;P=F+28|0;L=F+24|0;g=F+20|0;m=F+16|0;E=F+12|0;x=F+8|0;R=F+4|0;C=F;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;s[v>>2]=o;f[F+96>>2]=l;f[L>>2]=f[w>>2];f[b>>2]=(f[b>>2]|0)/2|0;f[w>>2]=(f[w>>2]|0)/2|0;e=f[d>>2]|0;f[e>>2]=(f[e>>2]|0)/2|0;f[p>>2]=(f[p>>2]|0)/2|0;f[k>>2]=(f[k>>2]|0)/2|0;f[c>>2]=(f[c>>2]|0)+(f[b>>2]<<2);if((f[f[d>>2]>>2]|0)>=(f[b>>2]|0))f[f[d>>2]>>2]=(f[b>>2]|0)-1;e=f[f[d>>2]>>2]|0;f[_>>2]=e;f[y>>2]=e;e=(f[b>>2]|0)+1|0;f[g>>2]=he()|0;n=h;h=h+((1*(e<<2)|0)+15&-16)|0;Rr(f[c>>2]|0,f[c>>2]|0,(f[c>>2]|0)+(0-(f[_>>2]|0)<<2)|0,f[k>>2]|0,B,j);s[n>>2]=+s[B>>2];s[N>>2]=+s[B>>2];f[u>>2]=1;while(1){if((f[u>>2]|0)>(f[b>>2]|0))break;s[N>>2]=+s[N>>2]+ +s[(f[c>>2]|0)+(0-(f[u>>2]|0)<<2)>>2]*+s[(f[c>>2]|0)+(0-(f[u>>2]|0)<<2)>>2]-+s[(f[c>>2]|0)+((f[k>>2]|0)-(f[u>>2]|0)<<2)>>2]*+s[(f[c>>2]|0)+((f[k>>2]|0)-(f[u>>2]|0)<<2)>>2];s[n+(f[u>>2]<<2)>>2]=0>+s[N>>2]?0:+s[N>>2];f[u>>2]=(f[u>>2]|0)+1}s[N>>2]=+s[n+(f[_>>2]<<2)>>2];s[A>>2]=+s[j>>2];s[S>>2]=+s[N>>2];o=+s[j>>2]/+H(+(+s[B>>2]*+s[N>>2]+1));s[M>>2]=o;s[T>>2]=o;f[O>>2]=2;while(1){if((f[O>>2]|0)>15)break;s[R>>2]=0;f[m>>2]=Tr((f[_>>2]<<1)+(f[O>>2]|0)|0,f[O>>2]<<1)|0;if((f[m>>2]|0)<(f[w>>2]|0))break;do{if((f[O>>2]|0)==2){t=f[_>>2]|0;if(((f[m>>2]|0)+(f[_>>2]|0)|0)>(f[b>>2]|0)){f[E>>2]=t;break}else{f[E>>2]=t+(f[m>>2]|0);break}}else{u=re(f[17400+(f[O>>2]<<2)>>2]<<1,f[_>>2]|0)|0;f[E>>2]=Tr(u+(f[O>>2]|0)|0,f[O>>2]<<1)|0}}while(0);Rr(f[c>>2]|0,(f[c>>2]|0)+(0-(f[m>>2]|0)<<2)|0,(f[c>>2]|0)+(0-(f[E>>2]|0)<<2)|0,f[k>>2]|0,j,D);s[j>>2]=+s[j>>2]+ +s[D>>2];s[N>>2]=+s[n+(f[m>>2]<<2)>>2]+ +s[n+(f[E>>2]<<2)>>2];s[x>>2]=+s[j>>2]/+H(+(+s[B>>2]*2*1*+s[N>>2]+1));do{if((Y((f[m>>2]|0)-(f[p>>2]|0)|0)|0)<=1)s[R>>2]=+s[v>>2];else{if((Y((f[m>>2]|0)-(f[p>>2]|0)|0)|0)<=2?(u=re((f[O>>2]|0)*5|0,f[O>>2]|0)|0,(u|0)<(f[_>>2]|0)):0){s[R>>2]=+s[v>>2]*.5;break}s[R>>2]=0}}while(0);if(.30000001192092896>+s[M>>2]*.699999988079071-+s[R>>2])o=.30000001192092896;else o=+s[M>>2]*.699999988079071-+s[R>>2];s[C>>2]=o;if((f[m>>2]|0)>=((f[w>>2]|0)*3|0)){if((f[m>>2]|0)<(f[w>>2]<<1|0)){if(.5>+s[M>>2]*.8999999761581421-+s[R>>2])o=.5;else o=+s[M>>2]*.8999999761581421-+s[R>>2];s[C>>2]=o}}else{if(.4000000059604645>+s[M>>2]*.8500000238418579-+s[R>>2])o=.4000000059604645;else o=+s[M>>2]*.8500000238418579-+s[R>>2];s[C>>2]=o}if(+s[x>>2]>+s[C>>2]){s[A>>2]=+s[j>>2];s[S>>2]=+s[N>>2];f[y>>2]=f[m>>2];s[T>>2]=+s[x>>2]}f[O>>2]=(f[O>>2]|0)+1}s[A>>2]=0>+s[A>>2]?0:+s[A>>2];if(+s[S>>2]<=+s[A>>2])s[I>>2]=1;else s[I>>2]=+s[A>>2]/(+s[S>>2]+1);f[O>>2]=0;while(1){if((f[O>>2]|0)>=3)break;o=+mr(f[c>>2]|0,(f[c>>2]|0)+(0-((f[y>>2]|0)+(f[O>>2]|0)-1)<<2)|0,f[k>>2]|0);s[U+(f[O>>2]<<2)>>2]=o;f[O>>2]=(f[O>>2]|0)+1}do{if(!(+s[U+8>>2]-+s[U>>2]>(+s[U+4>>2]-+s[U>>2])*.699999988079071))if(+s[U>>2]-+s[U+8>>2]>(+s[U+4>>2]-+s[U+8>>2])*.699999988079071){f[P>>2]=-1;break}else{f[P>>2]=0;break}else f[P>>2]=1}while(0);if(+s[I>>2]>+s[T>>2])s[I>>2]=+s[T>>2];f[f[d>>2]>>2]=(f[y>>2]<<1)+(f[P>>2]|0);if((f[f[d>>2]>>2]|0)>=(f[L>>2]|0)){o=+s[I>>2];N=f[g>>2]|0;de(N|0);h=F;return+o}f[f[d>>2]>>2]=f[L>>2];o=+s[I>>2];N=f[g>>2]|0;de(N|0);h=F;return+o}function Rr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;d=g+8|0;p=g+4|0;v=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[p>>2]=0;s[v>>2]=0;f[d>>2]=0;while(1){o=+s[p>>2];if((f[d>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=o+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[u>>2]|0)+(f[d>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[f[w>>2]>>2]=o;s[f[k>>2]>>2]=+s[v>>2];h=g;return}function Tr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Mr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;d=h;h=h+48|0;p=d+40|0;t=d+36|0;n=d+32|0;o=d+28|0;l=d+24|0;c=d+20|0;a=d+16|0;u=d+12|0;b=d+8|0;w=d+4|0;k=d;f[p>>2]=e;f[t>>2]=r;f[n>>2]=i;s[a>>2]=+s[f[t>>2]>>2];f[u>>2]=f[p>>2];f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;s[(f[u>>2]|0)+(f[o>>2]<<2)>>2]=0;f[o>>2]=(f[o>>2]|0)+1}if(!(+s[f[t>>2]>>2]!=0)){h=d;return}f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0)){t=15;break}s[b>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;s[b>>2]=+s[b>>2]+ +s[(f[u>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[t>>2]|0)+((f[o>>2]|0)-(f[l>>2]|0)<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}s[b>>2]=+s[b>>2]+ +s[(f[t>>2]|0)+((f[o>>2]|0)+1<<2)>>2];s[c>>2]=-(+s[b>>2]/+s[a>>2]);s[(f[u>>2]|0)+(f[o>>2]<<2)>>2]=+s[c>>2];f[l>>2]=0;while(1){if((f[l>>2]|0)>=((f[o>>2]|0)+1>>1|0))break;s[w>>2]=+s[(f[u>>2]|0)+(f[l>>2]<<2)>>2];s[k>>2]=+s[(f[u>>2]|0)+((f[o>>2]|0)-1-(f[l>>2]|0)<<2)>>2];s[(f[u>>2]|0)+(f[l>>2]<<2)>>2]=+s[w>>2]+ +s[c>>2]*+s[k>>2];s[(f[u>>2]|0)+((f[o>>2]|0)-1-(f[l>>2]|0)<<2)>>2]=+s[k>>2]+ +s[c>>2]*+s[w>>2];f[l>>2]=(f[l>>2]|0)+1}s[a>>2]=+s[a>>2]-+s[c>>2]*+s[c>>2]*+s[a>>2];if(+s[a>>2]<+s[f[t>>2]>>2]*.0010000000474974513){t=15;break}f[o>>2]=(f[o>>2]|0)+1}if((t|0)==15){h=d;return}}function xr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;l=_+60|0;u=_+56|0;c=_+52|0;b=_+48|0;w=_+44|0;k=_+40|0;p=_+32|0;v=_+28|0;d=_+24|0;g=_+8|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_+36>>2]=o;e=f[w>>2]|0;f[d>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;e=h;h=h+((1*((f[b>>2]|0)+(f[w>>2]|0)<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[t+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[e+(f[p>>2]<<2)>>2]=+s[(f[k>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[(f[k>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+((f[b>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=((f[b>>2]|0)-3|0))break;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Or(t,e+(f[p>>2]<<2)|0,g,f[w>>2]|0);s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]+ +s[g>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+1<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+1<<2)>>2]+ +s[g+4>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+2<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+2<<2)>>2]+ +s[g+8>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+3<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+3<<2)>>2]+ +s[g+12>>2];f[p>>2]=(f[p>>2]|0)+4}while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[y>>2]=0;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[w>>2]|0))break;s[y>>2]=+s[y>>2]+ +s[t+(f[v>>2]<<2)>>2]*+s[e+((f[p>>2]|0)+(f[v>>2]|0)<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]+ +s[y>>2];f[p>>2]=(f[p>>2]|0)+1}de(f[d>>2]|0);h=_;return}function Or(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;n=y+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;d=y+28|0;p=y+24|0;v=y+20|0;g=y+16|0;c=y+12|0;b=y+8|0;w=y+4|0;k=y;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;s[g>>2]=0;r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=((f[l>>2]|0)-3|0))break;r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[g>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[d>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[p>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[v>>2];f[u>>2]=(f[u>>2]|0)+4}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[b>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[b>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[b>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[b>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[b>>2]*+s[g>>2]}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[w>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[w>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[w>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[w>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[w>>2]*+s[d>>2]}if((f[u>>2]|0)>=(f[l>>2]|0)){h=y;return}r=f[n>>2]|0;f[n>>2]=r+4;s[k>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[k>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[k>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[k>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[k>>2]*+s[p>>2];h=y;return}function Lr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;l=_+60|0;u=_+56|0;c=_+52|0;b=_+48|0;w=_+44|0;k=_+40|0;p=_+32|0;v=_+28|0;d=_+24|0;g=_+8|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_+36>>2]=o;e=f[w>>2]|0;f[d>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;e=h;h=h+((1*((f[b>>2]|0)+(f[w>>2]|0)<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[t+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[e+(f[p>>2]<<2)>>2]=-+s[(f[k>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}while(1){if((f[p>>2]|0)>=((f[b>>2]|0)+(f[w>>2]|0)|0))break;s[e+(f[p>>2]<<2)>>2]=0;f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=((f[b>>2]|0)-3|0))break;s[g>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];s[g+4>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+1<<2)>>2];s[g+8>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+2<<2)>>2];s[g+12>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+3<<2)>>2];Or(t,e+(f[p>>2]<<2)|0,g,f[w>>2]|0);s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=-+s[g>>2];s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[g>>2];s[g+4>>2]=+s[g+4>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[f[u>>2]>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]=-+s[g+4>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+1<<2)>>2]=+s[g+4>>2];s[g+8>>2]=+s[g+8>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]*+s[f[u>>2]>>2];s[g+8>>2]=+s[g+8>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[(f[u>>2]|0)+4>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+2<<2)>>2]=-+s[g+8>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+2<<2)>>2]=+s[g+8>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+2<<2)>>2]*+s[f[u>>2]>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]*+s[(f[u>>2]|0)+4>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[(f[u>>2]|0)+8>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+3<<2)>>2]=-+s[g+12>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+3<<2)>>2]=+s[g+12>>2];f[p>>2]=(f[p>>2]|0)+4}while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[y>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[w>>2]|0))break;s[y>>2]=+s[y>>2]-+s[t+(f[v>>2]<<2)>>2]*+s[e+((f[p>>2]|0)+(f[v>>2]|0)<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=+s[y>>2];s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[y>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[(f[k>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[c>>2]|0)+((f[b>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}de(f[d>>2]|0);h=_;return}function Pr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+64|0;u=S+52|0;k=S+48|0;c=S+44|0;b=S+40|0;d=S+36|0;p=S+32|0;w=S+28|0;g=S+24|0;_=S+20|0;m=S+16|0;y=S+12|0;E=S+8|0;A=S+4|0;v=S;f[u>>2]=e;f[k>>2]=r;f[c>>2]=i;f[b>>2]=t;f[d>>2]=n;f[p>>2]=a;f[w>>2]=o;f[y>>2]=(f[p>>2]|0)-(f[d>>2]|0);e=f[p>>2]|0;f[v>>2]=he()|0;r=h;h=h+((1*(e<<2)|0)+15&-16)|0;if(!(f[b>>2]|0))f[A>>2]=f[u>>2];else{f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[p>>2]|0))break;s[r+(f[_>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[_>>2]<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[b>>2]|0))break;s[r+(f[_>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[_>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[_>>2]<<2)>>2];s[r+((f[p>>2]|0)-(f[_>>2]|0)-1<<2)>>2]=+s[(f[u>>2]|0)+((f[p>>2]|0)-(f[_>>2]|0)-1<<2)>>2]*+s[(f[c>>2]|0)+(f[_>>2]<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[A>>2]=r}f[E>>2]=0;yr(f[A>>2]|0,f[A>>2]|0,f[k>>2]|0,f[y>>2]|0,(f[d>>2]|0)+1|0,f[w>>2]|0);f[m>>2]=0;while(1){if((f[m>>2]|0)>(f[d>>2]|0))break;f[_>>2]=(f[m>>2]|0)+(f[y>>2]|0);s[g>>2]=0;while(1){l=+s[g>>2];if((f[_>>2]|0)>=(f[p>>2]|0))break;s[g>>2]=l+ +s[(f[A>>2]|0)+(f[_>>2]<<2)>>2]*+s[(f[A>>2]|0)+((f[_>>2]|0)-(f[m>>2]|0)<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}w=(f[k>>2]|0)+(f[m>>2]<<2)|0;s[w>>2]=+s[w>>2]+l;f[m>>2]=(f[m>>2]|0)+1}A=f[E>>2]|0;de(f[v>>2]|0);h=S;return A|0}function Ir(e,r,i,t,n,a,o,l,u,c,b,w,k,d,p,v,g){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;var y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0;Q=h;h=h+224|0;S=Q+216|0;R=Q+212|0;I=Q+208|0;E=Q+204|0;C=Q+200|0;U=Q+196|0;B=Q+192|0;j=Q+188|0;D=Q+184|0;N=Q+180|0;T=Q+176|0;_=Q+172|0;ee=Q+168|0;M=Q+164|0;x=Q+160|0;m=Q+156|0;O=Q+152|0;q=Q+148|0;V=Q+144|0;H=Q+96|0;X=Q+92|0;F=Q+88|0;W=Q+84|0;J=Q+80|0;L=Q+76|0;Z=Q+72|0;Y=Q+24|0;$=Q+20|0;K=Q+16|0;G=Q+12|0;A=Q+8|0;z=Q+4|0;P=Q;f[S>>2]=e;f[R>>2]=r;f[I>>2]=i;f[E>>2]=t;f[C>>2]=n;f[U>>2]=a;f[B>>2]=o;f[j>>2]=l;f[D>>2]=u;f[N>>2]=c;f[T>>2]=b;f[_>>2]=w;f[ee>>2]=k;f[M>>2]=d;f[x>>2]=p;f[m>>2]=v;f[O>>2]=g;f[F>>2]=0;if(!(f[ee>>2]|0))if(!(f[x>>2]|0)?+s[f[M>>2]>>2]>+(re(f[N>>2]<<1,(f[I>>2]|0)-(f[R>>2]|0)|0)|0):0)c=(f[_>>2]|0)>(re((f[I>>2]|0)-(f[R>>2]|0)|0,f[N>>2]|0)|0);else c=0;else c=1;f[q>>2]=c&1;f[W>>2]=~~(+((f[B>>2]|0)>>>0)*+s[f[M>>2]>>2]*+(f[m>>2]|0)/+(f[N>>2]<<9|0));s[J>>2]=+Cr(f[C>>2]|0,f[U>>2]|0,f[R>>2]|0,f[E>>2]|0,f[(f[S>>2]|0)+8>>2]|0,f[N>>2]|0);f[X>>2]=Ur(f[D>>2]|0)|0;if(((f[X>>2]|0)+3|0)>>>0>(f[B>>2]|0)>>>0){f[q>>2]=0;f[x>>2]=0}s[V>>2]=16;if(((f[I>>2]|0)-(f[R>>2]|0)|0)>10){if(+s[V>>2]<+(f[_>>2]|0)*.125)y=+s[V>>2];else y=+(f[_>>2]|0)*.125;s[V>>2]=y}if(f[O>>2]|0)s[V>>2]=3;d=H;n=f[D>>2]|0;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));ee=re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[L>>2]=he()|0;b=h;h=h+((1*(ee<<2)|0)+15&-16)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;o=h;h=h+((1*ee|0)+15&-16)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(b|0,f[U>>2]|0,ee+0|0)|0;if((f[x>>2]|0)!=0|(f[q>>2]|0)!=0)f[F>>2]=Br(f[S>>2]|0,f[R>>2]|0,f[I>>2]|0,f[C>>2]|0,b,f[B>>2]|0,f[X>>2]|0,26384+((f[T>>2]|0)*84|0)+42|0,o,f[D>>2]|0,f[N>>2]|0,f[T>>2]|0,1,+s[V>>2],f[O>>2]|0)|0;if(f[q>>2]|0){ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[U>>2]|0,b|0,ee+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[j>>2]|0,o|0,ee+0|0)|0}else{f[$>>2]=Le(f[D>>2]|0)|0;d=Y;n=f[D>>2]|0;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));f[K>>2]=jr(H)|0;f[G>>2]=jr(Y)|0;d=Dr(Y)|0;f[Z>>2]=d+(f[K>>2]|0);d=(f[G>>2]|0)-(f[K>>2]|0)|0;f[A>>2]=d;f[A>>2]=(f[A>>2]|0)==0?1:d;d=f[A>>2]|0;f[P>>2]=he()|0;c=h;h=h+((1*d|0)+15&-16)|0;gs(c|0,f[Z>>2]|0,(f[G>>2]|0)-(f[K>>2]|0)+0|0)|0;d=f[D>>2]|0;n=H;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));f[z>>2]=Br(f[S>>2]|0,f[R>>2]|0,f[I>>2]|0,f[C>>2]|0,f[U>>2]|0,f[B>>2]|0,f[X>>2]|0,26384+((f[T>>2]|0)*84|0)+((f[q>>2]|0)*42|0)|0,f[j>>2]|0,f[D>>2]|0,f[N>>2]|0,f[T>>2]|0,0,+s[V>>2],f[O>>2]|0)|0;do{if(f[x>>2]|0){if((f[F>>2]|0)>=(f[z>>2]|0)){if((f[F>>2]|0)!=(f[z>>2]|0))break;ee=Le(f[D>>2]|0)|0;if((ee+(f[W>>2]|0)|0)<=(f[$>>2]|0))break}d=f[D>>2]|0;n=Y;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));gs(f[Z>>2]|0,c|0,(f[G>>2]|0)-(f[K>>2]|0)+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[U>>2]|0,b|0,ee+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[j>>2]|0,o|0,ee+0|0)|0;f[q>>2]=1}}while(0);de(f[P>>2]|0)}if(f[q>>2]|0){s[f[M>>2]>>2]=+s[J>>2];ee=f[L>>2]|0;de(ee|0);h=Q;return}else{s[f[M>>2]>>2]=+s[17580+(f[T>>2]<<2)>>2]*+s[17580+(f[T>>2]<<2)>>2]*+s[f[M>>2]>>2]+ +s[J>>2];ee=f[L>>2]|0;de(ee|0);h=Q;return}}function Cr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;o=g+36|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;v=g+8|0;p=g+4|0;d=g;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;s[p>>2]=0;f[k>>2]=0;do{f[v>>2]=f[u>>2];while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;r=(f[v>>2]|0)+(re(f[k>>2]|0,f[b>>2]|0)|0)|0;i=(f[v>>2]|0)+(re(f[k>>2]|0,f[b>>2]|0)|0)|0;s[d>>2]=+s[(f[o>>2]|0)+(r<<2)>>2]-+s[(f[l>>2]|0)+(i<<2)>>2];s[p>>2]=+s[p>>2]+ +s[d>>2]*+s[d>>2];f[v>>2]=(f[v>>2]|0)+1}i=(f[k>>2]|0)+1|0;f[k>>2]=i}while((i|0)<(f[w>>2]|0));h=g;return+(200<+s[p>>2]?200:+s[p>>2])}function Ur(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Br(e,r,i,t,n,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=+p;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0;$=h;h=h+128|0;_=$+124|0;m=$+120|0;R=$+116|0;T=$+112|0;M=$+108|0;x=$+104|0;O=$+100|0;L=$+96|0;P=$+92|0;I=$+88|0;E=$+84|0;g=$+80|0;y=$+76|0;A=$+72|0;S=$+68|0;H=$+64|0;j=$+60|0;C=$+56|0;Z=$+48|0;D=$+44|0;U=$+40|0;B=$+36|0;J=$+32|0;G=$+28|0;V=$+24|0;X=$+20|0;F=$+16|0;K=$+12|0;q=$+8|0;N=$+4|0;W=$;f[_>>2]=e;f[m>>2]=r;f[R>>2]=i;f[T>>2]=t;f[M>>2]=n;f[x>>2]=o;f[O>>2]=l;f[L>>2]=u;f[P>>2]=c;f[I>>2]=b;f[E>>2]=w;f[g>>2]=k;f[y>>2]=d;s[A>>2]=p;f[S>>2]=v;f[C>>2]=0;f[Z>>2]=0;f[Z+4>>2]=0;if(((f[O>>2]|0)+3|0)<=(f[x>>2]|0))Xe(f[I>>2]|0,f[y>>2]|0,3);if(f[y>>2]|0){s[D>>2]=0;s[U>>2]=.149993896484375}else{s[U>>2]=+s[17564+(f[g>>2]<<2)>>2];s[D>>2]=+s[17580+(f[g>>2]<<2)>>2]}f[H>>2]=f[m>>2];while(1){if((f[H>>2]|0)>=(f[R>>2]|0))break;f[j>>2]=0;do{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[X>>2]=+s[(f[T>>2]|0)+(l<<2)>>2];l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;if(-9>+s[(f[M>>2]|0)+(l<<2)>>2])p=-9;else{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;p=+s[(f[M>>2]|0)+(l<<2)>>2]}s[q>>2]=p;s[F>>2]=+s[X>>2]-+s[D>>2]*+s[q>>2]-+s[Z+(f[j>>2]<<2)>>2];f[J>>2]=~~+z(+(+s[F>>2]+.5));l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;if(-28>+s[(f[M>>2]|0)+(l<<2)>>2])p=-28;else{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;p=+s[(f[M>>2]|0)+(l<<2)>>2]}s[N>>2]=p-+s[A>>2];if((f[J>>2]|0)<0?+s[X>>2]<+s[N>>2]:0){l=(f[J>>2]|0)+~~(+s[N>>2]-+s[X>>2])|0;f[J>>2]=l;f[J>>2]=(f[J>>2]|0)>0?0:l}f[G>>2]=f[J>>2];f[O>>2]=Ur(f[I>>2]|0)|0;f[B>>2]=(f[x>>2]|0)-(f[O>>2]|0)-(re((f[E>>2]|0)*3|0,(f[R>>2]|0)-(f[H>>2]|0)|0)|0);if((f[B>>2]|0)<30?(f[H>>2]|0)!=(f[m>>2]|0):0){if((f[B>>2]|0)<24)f[J>>2]=1<(f[J>>2]|0)?1:f[J>>2]|0;if((f[B>>2]|0)<16)f[J>>2]=-1>(f[J>>2]|0)?-1:f[J>>2]|0}if((f[S>>2]|0)!=0&(f[H>>2]|0)>=2)f[J>>2]=(f[J>>2]|0)<0?f[J>>2]|0:0;do{if(((f[x>>2]|0)-(f[O>>2]|0)|0)<15)if(((f[x>>2]|0)-(f[O>>2]|0)|0)<2)if(((f[x>>2]|0)-(f[O>>2]|0)|0)>=1){f[J>>2]=0<(f[J>>2]|0)?0:f[J>>2]|0;Xe(f[I>>2]|0,0-(f[J>>2]|0)|0,1);break}else{f[J>>2]=-1;break}else{if(-1>(((f[J>>2]|0)<1?f[J>>2]|0:1)|0))g=-1;else g=(f[J>>2]|0)<1?f[J>>2]|0:1;f[J>>2]=g;$e(f[I>>2]|0,f[J>>2]<<1^0-((f[J>>2]|0)<0&1),26720,2);break}else{f[W>>2]=((f[H>>2]|0)<20?f[H>>2]|0:20)<<1;hr(f[I>>2]|0,J,(a[(f[L>>2]|0)+(f[W>>2]|0)>>0]|0)<<7,(a[(f[L>>2]|0)+((f[W>>2]|0)+1)>>0]|0)<<6)}}while(0);l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[(f[P>>2]|0)+(l<<2)>>2]=+s[F>>2]-+(f[J>>2]|0);l=Y((f[G>>2]|0)-(f[J>>2]|0)|0)|0;f[C>>2]=(f[C>>2]|0)+l;s[V>>2]=+(f[J>>2]|0);s[K>>2]=+s[D>>2]*+s[q>>2]+ +s[Z+(f[j>>2]<<2)>>2]+ +s[V>>2];l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[(f[M>>2]|0)+(l<<2)>>2]=+s[K>>2];s[Z+(f[j>>2]<<2)>>2]=+s[Z+(f[j>>2]<<2)>>2]+ +s[V>>2]-+s[U>>2]*+s[V>>2];l=(f[j>>2]|0)+1|0;f[j>>2]=l}while((l|0)<(f[E>>2]|0));f[H>>2]=(f[H>>2]|0)+1}h=$;return(f[S>>2]|0?0:f[C>>2]|0)|0}function jr(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+24>>2]|0}function Dr(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[f[r>>2]>>2]|0}function Nr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+64|0;c=A+44|0;S=A+40|0;b=A+36|0;w=A+32|0;k=A+28|0;d=A+24|0;p=A+20|0;v=A+16|0;_=A+12|0;g=A+8|0;y=A+48|0;E=A+4|0;m=A;f[c>>2]=e;f[S>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[v>>2]=u;f[_>>2]=f[S>>2];while(1){if((f[_>>2]|0)>=(f[b>>2]|0))break;n[y>>1]=1<>2]|0)+(f[_>>2]<<2)>>2];if((f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0)>0){f[g>>2]=0;do{S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;f[E>>2]=~~+z(+((+s[(f[k>>2]|0)+(S<<2)>>2]+.5)*+(n[y>>1]|0)));if((f[E>>2]|0)>((n[y>>1]|0)-1|0))f[E>>2]=(n[y>>1]|0)-1;if((f[E>>2]|0)<0)f[E>>2]=0;er(f[p>>2]|0,f[E>>2]|0,f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0);s[m>>2]=(+(f[E>>2]|0)+.5)*+(1<<14-(f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0)|0)*6103515625e-14-.5;S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;S=(f[w>>2]|0)+(S<<2)|0;s[S>>2]=+s[S>>2]+ +s[m>>2];S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;S=(f[k>>2]|0)+(S<<2)|0;s[S>>2]=+s[S>>2]-+s[m>>2];S=(f[g>>2]|0)+1|0;f[g>>2]=S}while((S|0)<(f[v>>2]|0))}f[_>>2]=(f[_>>2]|0)+1}h=A;return}function Fr(e,r,i,t,n,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+64|0;b=M+56|0;w=M+52|0;k=M+48|0;d=M+44|0;p=M+40|0;v=M+36|0;g=M+32|0;y=M+28|0;_=M+24|0;m=M+20|0;A=M+16|0;R=M+12|0;E=M+8|0;T=M+4|0;S=M;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=n;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[_>>2]=u;f[m>>2]=c;f[R>>2]=0;while(1){if((f[R>>2]|0)>=2)break;f[A>>2]=f[w>>2];while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;if((f[y>>2]|0)<(f[m>>2]|0))break;if((f[(f[v>>2]|0)+(f[A>>2]<<2)>>2]|0)<8?(f[(f[g>>2]|0)+(f[A>>2]<<2)>>2]|0)==(f[R>>2]|0):0){f[E>>2]=0;do{r=(f[A>>2]|0)+(re(f[E>>2]|0,f[(f[b>>2]|0)+8>>2]|0)|0)|0;f[T>>2]=+s[(f[p>>2]|0)+(r<<2)>>2]<0?0:1;er(f[_>>2]|0,f[T>>2]|0,1);s[S>>2]=(+(f[T>>2]|0)-.5)*+(1<<14-(f[(f[v>>2]|0)+(f[A>>2]<<2)>>2]|0)-1|0)*6103515625e-14;r=(f[A>>2]|0)+(re(f[E>>2]|0,f[(f[b>>2]|0)+8>>2]|0)|0)|0;r=(f[d>>2]|0)+(r<<2)|0;s[r>>2]=+s[r>>2]+ +s[S>>2];f[y>>2]=(f[y>>2]|0)+-1;r=(f[E>>2]|0)+1|0;f[E>>2]=r}while((r|0)<(f[m>>2]|0))}f[A>>2]=(f[A>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}h=M;return}function zr(e,r,i,t,n,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;P=h;h=h+96|0;k=P+80|0;b=P+76|0;d=P+72|0;p=P+68|0;I=P+64|0;v=P+60|0;g=P+56|0;w=P+52|0;T=P+48|0;A=P+44|0;m=P+40|0;R=P+32|0;E=P+28|0;y=P+24|0;_=P+20|0;O=P+16|0;x=P+12|0;M=P+8|0;L=P+4|0;S=P;f[k>>2]=e;f[b>>2]=r;f[d>>2]=i;f[p>>2]=t;f[I>>2]=n;f[v>>2]=o;f[g>>2]=l;f[w>>2]=u;f[T>>2]=26384+((f[w>>2]|0)*84|0)+((f[I>>2]|0)*42|0);f[R>>2]=0;f[R+4>>2]=0;if(f[I>>2]|0){s[E>>2]=0;s[y>>2]=.149993896484375}else{s[y>>2]=+s[17564+(f[w>>2]<<2)>>2];s[E>>2]=+s[17580+(f[w>>2]<<2)>>2]}f[_>>2]=f[(f[v>>2]|0)+4>>2]<<3;f[A>>2]=f[b>>2];while(1){if((f[A>>2]|0)>=(f[d>>2]|0))break;f[m>>2]=0;do{f[O>>2]=Ur(f[v>>2]|0)|0;do{if(((f[_>>2]|0)-(f[O>>2]|0)|0)<15){if(((f[_>>2]|0)-(f[O>>2]|0)|0)>=2){f[x>>2]=Fe(f[v>>2]|0,26720,2)|0;f[x>>2]=f[x>>2]>>1^0-(f[x>>2]&1);break}if(((f[_>>2]|0)-(f[O>>2]|0)|0)>=1){f[x>>2]=0-(Ne(f[v>>2]|0,1)|0);break}else{f[x>>2]=-1;break}}else{f[S>>2]=((f[A>>2]|0)<20?f[A>>2]|0:20)<<1;f[x>>2]=br(f[v>>2]|0,(a[(f[T>>2]|0)+(f[S>>2]|0)>>0]|0)<<7,(a[(f[T>>2]|0)+((f[S>>2]|0)+1)>>0]|0)<<6)|0}}while(0);s[M>>2]=+(f[x>>2]|0);I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;if(-9>+s[(f[p>>2]|0)+(I<<2)>>2])c=-9;else{I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;c=+s[(f[p>>2]|0)+(I<<2)>>2]}I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[(f[p>>2]|0)+(I<<2)>>2]=c;I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[L>>2]=+s[E>>2]*+s[(f[p>>2]|0)+(I<<2)>>2]+ +s[R+(f[m>>2]<<2)>>2]+ +s[M>>2];I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[(f[p>>2]|0)+(I<<2)>>2]=+s[L>>2];s[R+(f[m>>2]<<2)>>2]=+s[R+(f[m>>2]<<2)>>2]+ +s[M>>2]-+s[y>>2]*+s[M>>2];I=(f[m>>2]|0)+1|0;f[m>>2]=I}while((I|0)<(f[g>>2]|0));f[A>>2]=(f[A>>2]|0)+1}h=P;return}function Yr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;l=y+40|0;_=y+36|0;u=y+32|0;c=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;p=y+12|0;d=y+8|0;g=y+4|0;v=y;f[l>>2]=e;f[_>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[p>>2]=f[_>>2];while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;if((f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)>0){f[d>>2]=0;do{f[g>>2]=Ye(f[w>>2]|0,f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)|0;s[v>>2]=(+(f[g>>2]|0)+.5)*+(1<<14-(f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)|0)*6103515625e-14-.5;_=(f[p>>2]|0)+(re(f[d>>2]|0,f[(f[l>>2]|0)+8>>2]|0)|0)|0;_=(f[c>>2]|0)+(_<<2)|0;s[_>>2]=+s[_>>2]+ +s[v>>2];_=(f[d>>2]|0)+1|0;f[d>>2]=_}while((_|0)<(f[k>>2]|0))}f[p>>2]=(f[p>>2]|0)+1}h=y;return}function Hr(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+64|0;c=R+52|0;b=R+48|0;w=R+44|0;k=R+40|0;d=R+36|0;p=R+32|0;v=R+28|0;g=R+24|0;y=R+20|0;m=R+16|0;A=R+12|0;_=R+8|0;S=R+4|0;E=R;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[A>>2]=0;while(1){if((f[A>>2]|0)>=2)break;f[m>>2]=f[b>>2];while(1){if((f[m>>2]|0)>=(f[w>>2]|0))break;if((f[v>>2]|0)<(f[y>>2]|0))break;if((f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]|0)<8?(f[(f[p>>2]|0)+(f[m>>2]<<2)>>2]|0)==(f[A>>2]|0):0){f[_>>2]=0;do{f[S>>2]=Ye(f[g>>2]|0,1)|0;s[E>>2]=(+(f[S>>2]|0)-.5)*+(1<<14-(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]|0)-1|0)*6103515625e-14;r=(f[m>>2]|0)+(re(f[_>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;r=(f[k>>2]|0)+(r<<2)|0;s[r>>2]=+s[r>>2]+ +s[E>>2];f[v>>2]=(f[v>>2]|0)+-1;r=(f[_>>2]|0)+1|0;f[_>>2]=r}while((r|0)<(f[y>>2]|0))}f[m>>2]=(f[m>>2]|0)+1}f[A>>2]=(f[A>>2]|0)+1}h=R;return}function qr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+32|0;o=p+28|0;l=p+24|0;u=p+20|0;c=p+16|0;b=p+12|0;w=p+8|0;k=p+4|0;d=p;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=0;do{f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[l>>2]|0))break;e=(f[d>>2]|0)+(re(f[k>>2]|0,f[(f[o>>2]|0)+8>>2]|0)|0)|0;v=+Q(+ +s[(f[c>>2]|0)+(e<<2)>>2])*1.4426950408889634;e=(f[d>>2]|0)+(re(f[k>>2]|0,f[(f[o>>2]|0)+8>>2]|0)|0)|0;s[(f[b>>2]|0)+(e<<2)>>2]=v-+s[17464+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}f[d>>2]=f[l>>2];while(1){a=f[k>>2]|0;if((f[d>>2]|0)>=(f[u>>2]|0))break;e=re(a,f[(f[o>>2]|0)+8>>2]|0)|0;s[(f[b>>2]|0)+(e+(f[d>>2]|0)<<2)>>2]=-14;f[d>>2]=(f[d>>2]|0)+1}e=a+1|0;f[k>>2]=e}while((e|0)<(f[w>>2]|0));h=p;return}function Wr(e,r,i,t,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0;oe=h;h=h+160|0;x=oe+144|0;O=oe+140|0;z=oe+136|0;Y=oe+132|0;H=oe+128|0;E=oe+124|0;q=oe+120|0;W=oe+116|0;Z=oe+112|0;V=oe+108|0;L=oe+104|0;P=oe+100|0;I=oe+96|0;C=oe+92|0;U=oe+88|0;B=oe+84|0;j=oe+80|0;D=oe+76|0;N=oe+72|0;ne=oe+68|0;Q=oe+64|0;te=oe+60|0;ie=oe+56|0;X=oe+52|0;ae=oe+48|0;fe=oe+44|0;ee=oe+40|0;$=oe+36|0;F=oe+32|0;R=oe+28|0;M=oe+24|0;T=oe+20|0;S=oe+16|0;A=oe+12|0;G=oe+8|0;K=oe+4|0;J=oe;f[x>>2]=e;f[O>>2]=r;f[z>>2]=i;f[Y>>2]=t;f[H>>2]=o;f[E>>2]=l;f[q>>2]=s;f[W>>2]=u;f[Z>>2]=c;f[V>>2]=b;f[L>>2]=w;f[P>>2]=k;f[I>>2]=d;f[C>>2]=p;f[U>>2]=v;f[B>>2]=g;f[j>>2]=y;f[D>>2]=_;f[N>>2]=m;f[Z>>2]=(f[Z>>2]|0)>0?f[Z>>2]|0:0;f[te>>2]=f[(f[x>>2]|0)+8>>2];f[ae>>2]=f[O>>2];f[fe>>2]=(f[Z>>2]|0)>=8?8:0;f[Z>>2]=(f[Z>>2]|0)-(f[fe>>2]|0);f[$>>2]=0;f[ee>>2]=0;do{if((f[C>>2]|0)==2){f[ee>>2]=a[26723+((f[z>>2]|0)-(f[O>>2]|0))>>0];if((f[ee>>2]|0)>(f[Z>>2]|0)){f[ee>>2]=0;break}else{f[Z>>2]=(f[Z>>2]|0)-(f[ee>>2]|0);f[$>>2]=(f[Z>>2]|0)>=8?8:0;f[Z>>2]=(f[Z>>2]|0)-(f[$>>2]|0);break}}}while(0);l=f[te>>2]|0;f[F>>2]=he()|0;v=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;b=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;o=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;f[ie>>2]=f[O>>2];while(1){if((f[ie>>2]|0)>=(f[z>>2]|0))break;if((f[C>>2]<<3|0)>(((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4|0))p=f[C>>2]<<3;else p=((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4;f[b+(f[ie>>2]<<2)>>2]=p;c=re(f[C>>2]|0,(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)|0;c=re(c,(f[E>>2]|0)-5-(f[U>>2]|0)|0)|0;c=re(c,(f[z>>2]|0)-(f[ie>>2]|0)-1|0)|0;c=(re(c,1<<(f[U>>2]|0)+3)|0)>>6;f[o+(f[ie>>2]<<2)>>2]=c;if(((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)<>2]|0)==1){c=o+(f[ie>>2]<<2)|0;f[c>>2]=(f[c>>2]|0)-(f[C>>2]<<3)}f[ie>>2]=(f[ie>>2]|0)+1}f[ne>>2]=1;f[Q>>2]=(f[(f[x>>2]|0)+48>>2]|0)-1;do{f[R>>2]=0;f[M>>2]=0;f[T>>2]=(f[ne>>2]|0)+(f[Q>>2]|0)>>1;f[ie>>2]=f[z>>2];while(1){E=f[ie>>2]|0;f[ie>>2]=E+-1;if((E|0)<=(f[O>>2]|0))break;f[A>>2]=(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0);c=re(f[C>>2]|0,f[A>>2]|0)|0;E=re(f[T>>2]|0,f[te>>2]|0)|0;E=re(c,a[(f[(f[x>>2]|0)+52>>2]|0)+(E+(f[ie>>2]|0))>>0]|0)|0;f[S>>2]=E<>2]>>2;if((f[S>>2]|0)>0){if(0>((f[S>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[S>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[S>>2]=p}f[S>>2]=(f[S>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);if(!(f[R>>2]|0?1:(f[S>>2]|0)>=(f[b+(f[ie>>2]<<2)>>2]|0))){if((f[S>>2]|0)<(f[C>>2]<<3|0))continue;f[M>>2]=(f[M>>2]|0)+(f[C>>2]<<3);continue}f[R>>2]=1;if((f[S>>2]|0)<(f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0))p=f[S>>2]|0;else p=f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0;f[M>>2]=(f[M>>2]|0)+p}p=f[T>>2]|0;if((f[M>>2]|0)>(f[Z>>2]|0))f[Q>>2]=p-1;else f[ne>>2]=p+1}while((f[ne>>2]|0)<=(f[Q>>2]|0));M=f[ne>>2]|0;f[ne>>2]=M+-1;f[Q>>2]=M;f[ie>>2]=f[O>>2];while(1){if((f[ie>>2]|0)>=(f[z>>2]|0))break;f[J>>2]=(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0);T=re(f[C>>2]|0,f[J>>2]|0)|0;M=re(f[ne>>2]|0,f[te>>2]|0)|0;M=re(T,a[(f[(f[x>>2]|0)+52>>2]|0)+(M+(f[ie>>2]|0))>>0]|0)|0;f[G>>2]=M<>2]>>2;if((f[Q>>2]|0)>=(f[(f[x>>2]|0)+48>>2]|0))p=f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0;else{M=re(f[C>>2]|0,f[J>>2]|0)|0;p=re(f[Q>>2]|0,f[te>>2]|0)|0;p=re(M,a[(f[(f[x>>2]|0)+52>>2]|0)+(p+(f[ie>>2]|0))>>0]|0)|0;p=p<>2]>>2}f[K>>2]=p;if((f[G>>2]|0)>0){if(0>((f[G>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[G>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[G>>2]=p}if((f[K>>2]|0)>0){if(0>((f[K>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[K>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[K>>2]=p}if((f[ne>>2]|0)>0)f[G>>2]=(f[G>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);f[K>>2]=(f[K>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);if((f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0)>0)f[ae>>2]=f[ie>>2];if(0>((f[K>>2]|0)-(f[G>>2]|0)|0))p=0;else p=(f[K>>2]|0)-(f[G>>2]|0)|0;f[K>>2]=p;f[v+(f[ie>>2]<<2)>>2]=f[G>>2];f[l+(f[ie>>2]<<2)>>2]=f[K>>2];f[ie>>2]=(f[ie>>2]|0)+1}f[X>>2]=Zr(f[x>>2]|0,f[O>>2]|0,f[z>>2]|0,f[ae>>2]|0,v,l,b,f[H>>2]|0,f[Z>>2]|0,f[V>>2]|0,f[fe>>2]|0,f[q>>2]|0,f[ee>>2]|0,f[W>>2]|0,f[$>>2]|0,f[L>>2]|0,f[P>>2]|0,f[I>>2]|0,f[C>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,f[N>>2]|0)|0;ae=f[X>>2]|0;de(f[F>>2]|0);h=oe;return ae|0}function Zr(e,r,i,t,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R,T){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;T=T|0;var M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0;xe=h;h=h+224|0;ne=xe+208|0;ee=xe+204|0;ce=xe+200|0;z=xe+196|0;P=xe+192|0;I=xe+188|0;Y=xe+184|0;be=xe+180|0;X=xe+176|0;we=xe+172|0;j=xe+168|0;fe=xe+164|0;D=xe+160|0;ae=xe+156|0;J=xe+152|0;oe=xe+148|0;le=xe+144|0;se=xe+140|0;ue=xe+136|0;he=xe+132|0;G=xe+128|0;K=xe+124|0;N=xe+120|0;F=xe+116|0;Q=xe+112|0;U=xe+108|0;M=xe+104|0;x=xe+100|0;Se=xe+96|0;Re=xe+92|0;Me=xe+88|0;ye=xe+84|0;H=xe+80|0;ie=xe+76|0;$=xe+72|0;C=xe+68|0;ve=xe+64|0;O=xe+60|0;L=xe+56|0;B=xe+52|0;W=xe+48|0;q=xe+44|0;Z=xe+40|0;te=xe+36|0;de=xe+32|0;ke=xe+28|0;_e=xe+24|0;Te=xe+20|0;pe=xe+16|0;me=xe+12|0;ge=xe+8|0;Ae=xe+4|0;Ee=xe;f[ne>>2]=e;f[ee>>2]=r;f[ce>>2]=i;f[z>>2]=t;f[P>>2]=o;f[I>>2]=l;f[Y>>2]=s;f[be>>2]=u;f[X>>2]=c;f[we>>2]=b;f[j>>2]=w;f[fe>>2]=k;f[D>>2]=d;f[ae>>2]=p;f[J>>2]=v;f[oe>>2]=g;f[le>>2]=y;f[se>>2]=_;f[ue>>2]=m;f[he>>2]=E;f[G>>2]=A;f[K>>2]=S;f[N>>2]=R;f[F>>2]=T;f[ye>>2]=-1;f[H>>2]=f[ue>>2]<<3;f[Me>>2]=(f[ue>>2]|0)>1&1;f[Re>>2]=f[he>>2]<<3;f[U>>2]=0;f[M>>2]=64;f[x>>2]=0;while(1){if((f[x>>2]|0)>=6)break;f[O>>2]=(f[U>>2]|0)+(f[M>>2]|0)>>1;f[Q>>2]=0;f[C>>2]=0;f[Se>>2]=f[ce>>2];while(1){c=f[Se>>2]|0;f[Se>>2]=c+-1;if((c|0)<=(f[ee>>2]|0))break;f[L>>2]=(f[(f[P>>2]|0)+(f[Se>>2]<<2)>>2]|0)+((re(f[O>>2]|0,f[(f[I>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>>6);if(!(f[C>>2]|0?1:(f[L>>2]|0)>=(f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0))){if((f[L>>2]|0)<(f[H>>2]|0))continue;f[Q>>2]=(f[Q>>2]|0)+(f[H>>2]|0);continue}f[C>>2]=1;if((f[L>>2]|0)<(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0))m=f[L>>2]|0;else m=f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0;f[Q>>2]=(f[Q>>2]|0)+m}m=f[O>>2]|0;if((f[Q>>2]|0)>(f[X>>2]|0))f[M>>2]=m;else f[U>>2]=m;f[x>>2]=(f[x>>2]|0)+1}f[Q>>2]=0;f[C>>2]=0;f[Se>>2]=f[ce>>2];while(1){L=f[Se>>2]|0;f[Se>>2]=L+-1;if((L|0)<=(f[ee>>2]|0))break;f[B>>2]=(f[(f[P>>2]|0)+(f[Se>>2]<<2)>>2]|0)+((re(f[U>>2]|0,f[(f[I>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>>6);do{if(!(f[C>>2]|0?1:(f[B>>2]|0)>=(f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0)))if((f[B>>2]|0)>=(f[H>>2]|0)){f[B>>2]=f[H>>2];break}else{f[B>>2]=0;break}else f[C>>2]=1}while(0);if((f[B>>2]|0)<(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0))m=f[B>>2]|0;else m=f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0;f[B>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=f[B>>2];f[Q>>2]=(f[Q>>2]|0)+(f[B>>2]|0)}f[ye>>2]=f[ce>>2];while(1){f[Se>>2]=(f[ye>>2]|0)-1;if((f[Se>>2]|0)<=(f[z>>2]|0)){V=29;break}f[ie>>2]=(f[X>>2]|0)-(f[Q>>2]|0);f[$>>2]=Vr(f[ie>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0)|0;B=re((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0,f[$>>2]|0)|0;f[ie>>2]=(f[ie>>2]|0)-B;if(((f[ie>>2]|0)-((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0))|0)>0)m=(f[ie>>2]|0)-((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0))|0;else m=0;f[Z>>2]=m;f[W>>2]=(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0);B=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(re(f[$>>2]|0,f[W>>2]|0)|0)|0;f[q>>2]=B+(f[Z>>2]|0);if((f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0)>((f[H>>2]|0)+8|0))m=f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0;else m=(f[H>>2]|0)+8|0;if((f[q>>2]|0)>=(m|0)){if(!(f[K>>2]|0)){if(Ne(f[G>>2]|0,1)|0)break}else{if((f[ye>>2]|0)<=((f[ee>>2]|0)+2|0)){V=40;break}B=re((f[Se>>2]|0)<(f[N>>2]|0)?7:9,f[W>>2]|0)|0;if((f[q>>2]|0)>(B<>2]<<3>>4|0)?(f[Se>>2]|0)<=(f[F>>2]|0):0){V=40;break}Xe(f[G>>2]|0,0,1)}f[Q>>2]=(f[Q>>2]|0)+8;f[q>>2]=(f[q>>2]|0)-8}f[Q>>2]=(f[Q>>2]|0)-((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[D>>2]|0));if((f[D>>2]|0)>0)f[D>>2]=a[26723+((f[Se>>2]|0)-(f[ee>>2]|0))>>0];f[Q>>2]=(f[Q>>2]|0)+(f[D>>2]|0);if((f[q>>2]|0)>=(f[H>>2]|0)){f[Q>>2]=(f[Q>>2]|0)+(f[H>>2]|0);f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=f[H>>2]}else f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[ye>>2]=(f[ye>>2]|0)+-1}if((V|0)==29)f[X>>2]=(f[X>>2]|0)+(f[j>>2]|0);else if((V|0)==40)Xe(f[G>>2]|0,1,1);do{if((f[D>>2]|0)>0){if(!(f[K>>2]|0)){V=f[ee>>2]|0;V=V+(ze(f[G>>2]|0,(f[ye>>2]|0)+1-(f[ee>>2]|0)|0)|0)|0;f[f[fe>>2]>>2]=V;break}if((f[f[fe>>2]>>2]|0)<(f[ye>>2]|0))m=f[f[fe>>2]>>2]|0;else m=f[ye>>2]|0;f[f[fe>>2]>>2]=m;Qe(f[G>>2]|0,(f[f[fe>>2]>>2]|0)-(f[ee>>2]|0)|0,(f[ye>>2]|0)+1-(f[ee>>2]|0)|0)}else f[f[fe>>2]>>2]=0}while(0);if((f[f[fe>>2]>>2]|0)<=(f[ee>>2]|0)){f[X>>2]=(f[X>>2]|0)+(f[J>>2]|0);f[J>>2]=0}do{if((f[J>>2]|0)>0){m=f[G>>2]|0;if(f[K>>2]|0){Xe(m,f[f[ae>>2]>>2]|0,1);break}else{K=Ne(m,1)|0;f[f[ae>>2]>>2]=K;break}}else f[f[ae>>2]>>2]=0}while(0);f[ie>>2]=(f[X>>2]|0)-(f[Q>>2]|0);f[$>>2]=Vr(f[ie>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0)|0;Q=re((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0,f[$>>2]|0)|0;f[ie>>2]=(f[ie>>2]|0)-Q;f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;X=re(f[$>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0)|0;Q=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[Q>>2]=(f[Q>>2]|0)+X;f[Se>>2]=(f[Se>>2]|0)+1}f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;if((f[ie>>2]|0)<((n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0))m=f[ie>>2]|0;else m=(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0;f[te>>2]=m;Q=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(f[te>>2]|0);f[ie>>2]=(f[ie>>2]|0)-(f[te>>2]|0);f[Se>>2]=(f[Se>>2]|0)+1}f[ve>>2]=0;f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;f[de>>2]=(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0);f[ke>>2]=f[de>>2]<>2];f[ge>>2]=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[ve>>2]|0);m=f[ge>>2]|0;if((f[ke>>2]|0)>1){if((m-(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>0)m=(f[ge>>2]|0)-(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;else m=0;f[me>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=(f[ge>>2]|0)-(f[me>>2]|0);m=re(f[ue>>2]|0,f[ke>>2]|0)|0;if((f[ue>>2]|0)==2&(f[ke>>2]|0)>2?!(f[f[ae>>2]>>2]|0):0)E=(f[Se>>2]|0)<(f[f[fe>>2]>>2]|0);else E=0;f[_e>>2]=m+(E?1:0);f[pe>>2]=re(f[_e>>2]|0,(n[(f[(f[ne>>2]|0)+56>>2]|0)+(f[Se>>2]<<1)>>1]|0)+(f[Re>>2]|0)|0)|0;f[Te>>2]=(f[pe>>2]>>1)-((f[_e>>2]|0)*21|0);if((f[ke>>2]|0)==2)f[Te>>2]=(f[Te>>2]|0)+(f[_e>>2]<<3>>2);if(((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)>=(f[_e>>2]<<1<<3|0)){if(((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)<((f[_e>>2]|0)*3<<3|0))f[Te>>2]=(f[Te>>2]|0)+(f[pe>>2]>>3)}else f[Te>>2]=(f[Te>>2]|0)+(f[pe>>2]>>2);if(0>((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)+(f[_e>>2]<<2)|0))m=0;else m=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)+(f[_e>>2]<<2)|0;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=m;te=(Vr(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0,f[_e>>2]|0)|0)>>>3;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=te;te=re(f[ue>>2]|0,f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;if((te|0)>(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>3|0))f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>f[Me>>2]>>3;if((f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)<8)m=f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0;else m=8;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=m;ie=re(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0,f[_e>>2]<<3)|0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(ie|0)>=((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)&1;ie=(re(f[ue>>2]|0,f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)<<3;te=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[te>>2]=(f[te>>2]|0)-ie}else{if(0>(m-(f[ue>>2]<<3)|0))m=0;else m=(f[ge>>2]|0)-(f[ue>>2]<<3)|0;f[me>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=(f[ge>>2]|0)-(f[me>>2]|0);f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=1}if((f[me>>2]|0)>0){if((f[me>>2]>>(f[Me>>2]|0)+3|0)<(8-(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0))m=f[me>>2]>>(f[Me>>2]|0)+3;else m=8-(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;f[Ae>>2]=m;te=(f[le>>2]|0)+(f[Se>>2]<<2)|0;f[te>>2]=(f[te>>2]|0)+(f[Ae>>2]|0);f[Ee>>2]=(re(f[Ae>>2]|0,f[ue>>2]|0)|0)<<3;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(f[Ee>>2]|0)>=((f[me>>2]|0)-(f[ve>>2]|0)|0)&1;f[me>>2]=(f[me>>2]|0)-(f[Ee>>2]|0)}f[ve>>2]=f[me>>2];f[Se>>2]=(f[Se>>2]|0)+1}f[f[we>>2]>>2]=f[ve>>2];while(1){if((f[Se>>2]|0)>=(f[ce>>2]|0))break;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>f[Me>>2]>>3;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)<1&1;f[Se>>2]=(f[Se>>2]|0)+1}h=xe;return f[ye>>2]|0}function Vr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Jr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;O=h;h=h+96|0;o=O+84|0;l=O+80|0;u=O+76|0;L=O+72|0;c=O+68|0;b=O+64|0;_=O+60|0;m=O+56|0;S=O+52|0;E=O+48|0;R=O+44|0;M=O+40|0;x=O+36|0;y=O+32|0;w=O+28|0;A=O+24|0;T=O+20|0;v=O+16|0;g=O+12|0;p=O+8|0;k=O+4|0;d=O;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[L>>2]=t;f[c>>2]=n;f[b>>2]=a;n=f[l>>2]|0;f[w>>2]=he()|0;e=h;h=h+((1*(n<<2)|0)+15&-16)|0;n=h;h=h+((1*(f[l>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[l>>2]<<2)|0)+15&-16)|0;Gr(f[o>>2]|0,f[l>>2]|0,1,f[c>>2]|0,f[u>>2]|0,f[L>>2]|0);s[R>>2]=0;f[m>>2]=0;do{r=i+(f[m>>2]<<2)|0;if(+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]>0)s[r>>2]=1;else{s[r>>2]=-1;s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=-+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]}f[n+(f[m>>2]<<2)>>2]=0;s[e+(f[m>>2]<<2)>>2]=0;L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[x>>2]=0;s[M>>2]=0;f[E>>2]=f[u>>2];if((f[u>>2]|0)>(f[l>>2]>>1|0)){f[m>>2]=0;do{s[R>>2]=+s[R>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));if(!(+s[R>>2]>1.0000000036274937e-15&+s[R>>2]<64)){s[f[o>>2]>>2]=1;f[m>>2]=1;do{s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=0;L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[R>>2]=1}s[A>>2]=+((f[u>>2]|0)-1|0)*(1/+s[R>>2]);f[m>>2]=0;do{L=~~+z(+(+s[A>>2]*+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]));f[n+(f[m>>2]<<2)>>2]=L;s[e+(f[m>>2]<<2)>>2]=+(f[n+(f[m>>2]<<2)>>2]|0);s[x>>2]=+s[x>>2]+ +s[e+(f[m>>2]<<2)>>2]*+s[e+(f[m>>2]<<2)>>2];s[M>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]*+s[e+(f[m>>2]<<2)>>2];L=e+(f[m>>2]<<2)|0;s[L>>2]=+s[L>>2]*2;f[E>>2]=(f[E>>2]|0)-(f[n+(f[m>>2]<<2)>>2]|0);L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0))}if((f[E>>2]|0)>((f[l>>2]|0)+3|0)){s[T>>2]=+(f[E>>2]|0);s[x>>2]=+s[x>>2]+ +s[T>>2]*+s[T>>2];s[x>>2]=+s[x>>2]+ +s[T>>2]*+s[e>>2];f[n>>2]=(f[n>>2]|0)+(f[E>>2]|0);f[E>>2]=0}s[S>>2]=1;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[E>>2]|0))break;s[g>>2]=-999999986991104;s[p>>2]=0;f[v>>2]=0;s[x>>2]=+s[x>>2]+1;f[m>>2]=0;do{s[k>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];s[d>>2]=+s[x>>2]+ +s[e+(f[m>>2]<<2)>>2];s[k>>2]=+s[k>>2]*+s[k>>2];if(+s[p>>2]*+s[k>>2]>+s[d>>2]*+s[g>>2]){s[p>>2]=+s[d>>2];s[g>>2]=+s[k>>2];f[v>>2]=f[m>>2]}L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[M>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[v>>2]<<2)>>2];s[x>>2]=+s[x>>2]+ +s[e+(f[v>>2]<<2)>>2];L=e+(f[v>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +s[S>>2]*2;L=n+(f[v>>2]<<2)|0;f[L>>2]=(f[L>>2]|0)+1;f[_>>2]=(f[_>>2]|0)+1}f[m>>2]=0;do{s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=+s[i+(f[m>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];if(+s[i+(f[m>>2]<<2)>>2]<0)f[n+(f[m>>2]<<2)>>2]=0-(f[n+(f[m>>2]<<2)>>2]|0);L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));Te(n,f[l>>2]|0,f[u>>2]|0,f[b>>2]|0);f[y>>2]=$r(n,f[l>>2]|0,f[c>>2]|0)|0;L=f[y>>2]|0;de(f[w>>2]|0);h=O;return L|0}function Gr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+64|0;o=m+48|0;l=m+44|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;v=m+24|0;k=m+20|0;g=m+16|0;p=m+12|0;_=m+8|0;y=m+4|0;d=m;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[y>>2]=0;if((f[w>>2]|0)==0?1:(f[b>>2]<<1|0)>=(f[l>>2]|0)){h=m;return}f[d>>2]=f[17596+((f[w>>2]|0)-1<<2)>>2];s[p>>2]=+(f[l>>2]|0)*1/+((f[l>>2]|0)+(re(f[d>>2]|0,f[b>>2]|0)|0)|0);s[_>>2]=+s[p>>2]*+s[p>>2]*.5;s[k>>2]=+W(+(+s[_>>2]*1.5707963705062866));s[g>>2]=+W(+((1-+s[_>>2])*1.5707963705062866));e:do{if((f[l>>2]|0)>=(f[c>>2]<<3|0)){f[y>>2]=1;while(1){_=re(f[y>>2]|0,f[y>>2]|0)|0;_=re(_+(f[y>>2]|0)|0,f[c>>2]|0)|0;if((_+(f[c>>2]>>2)|0)>=(f[l>>2]|0))break e;f[y>>2]=(f[y>>2]|0)+1}}}while(0);f[l>>2]=Kr(f[l>>2]|0,f[c>>2]|0)|0;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;if((f[u>>2]|0)>=0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,1,+s[k>>2],-+s[g>>2]);if(f[y>>2]|0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,f[y>>2]|0,+s[g>>2],-+s[k>>2])}}else{if(f[y>>2]|0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,f[y>>2]|0,+s[g>>2],+s[k>>2])}_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,1,+s[k>>2],+s[g>>2])}f[v>>2]=(f[v>>2]|0)+1}h=m;return}function Kr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Xr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;w=y+24|0;k=y+20|0;b=y+16|0;d=y+12|0;v=y+8|0;p=y+4|0;g=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[u>>2]=t;s[c>>2]=n;f[b>>2]=f[a>>2];s[k>>2]=-+s[c>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=((f[o>>2]|0)-(f[l>>2]|0)|0))break;s[d>>2]=+s[f[b>>2]>>2];s[v>>2]=+s[(f[b>>2]|0)+(f[l>>2]<<2)>>2];s[(f[b>>2]|0)+(f[l>>2]<<2)>>2]=+s[u>>2]*+s[v>>2]+ +s[c>>2]*+s[d>>2];n=+s[u>>2]*+s[d>>2]+ +s[k>>2]*+s[v>>2];i=f[b>>2]|0;f[b>>2]=i+4;s[i>>2]=n;f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=(f[a>>2]|0)+((f[o>>2]|0)-(f[l>>2]<<1)-1<<2);f[w>>2]=(f[o>>2]|0)-(f[l>>2]<<1)-1;while(1){if((f[w>>2]|0)<0)break;s[p>>2]=+s[f[b>>2]>>2];s[g>>2]=+s[(f[b>>2]|0)+(f[l>>2]<<2)>>2];s[(f[b>>2]|0)+(f[l>>2]<<2)>>2]=+s[u>>2]*+s[g>>2]+ +s[c>>2]*+s[p>>2];n=+s[u>>2]*+s[p>>2]+ +s[k>>2]*+s[g>>2];v=f[b>>2]|0;f[b>>2]=v+-4;s[v>>2]=n;f[w>>2]=(f[w>>2]|0)+-1}h=y;return}function $r(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+48|0;t=w+32|0;n=w+28|0;a=w+24|0;o=w+20|0;s=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[o>>2]|0)<=1){f[t>>2]=1;b=f[t>>2]|0;h=w;return b|0}f[l>>2]=Kr(f[a>>2]|0,f[o>>2]|0)|0;f[s>>2]=0;f[u>>2]=0;do{f[b>>2]=0;f[c>>2]=0;do{e=re(f[u>>2]|0,f[l>>2]|0)|0;f[b>>2]=f[b>>2]|f[(f[n>>2]|0)+(e+(f[c>>2]|0)<<2)>>2];e=(f[c>>2]|0)+1|0;f[c>>2]=e}while((e|0)<(f[l>>2]|0));f[s>>2]=f[s>>2]|((f[b>>2]|0)!=0&1)<>2];e=(f[u>>2]|0)+1|0;f[u>>2]=e}while((e|0)<(f[o>>2]|0));f[t>>2]=f[s>>2];b=f[t>>2]|0;h=w;return b|0}function Qr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=+o;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;l=h;h=h+48|0;p=l+36|0;w=l+32|0;d=l+28|0;k=l+24|0;b=l+20|0;y=l+16|0;v=l+12|0;g=l+8|0;c=l+4|0;u=l;f[p>>2]=e;f[w>>2]=r;f[d>>2]=i;f[k>>2]=t;f[b>>2]=n;f[y>>2]=a;s[v>>2]=o;a=f[w>>2]|0;f[u>>2]=he()|0;t=h;h=h+((1*(a<<2)|0)+15&-16)|0;s[g>>2]=+xe(t,f[w>>2]|0,f[d>>2]|0,f[y>>2]|0);ei(t,f[p>>2]|0,f[w>>2]|0,+s[g>>2],+s[v>>2]);Gr(f[p>>2]|0,f[w>>2]|0,-1,f[b>>2]|0,f[d>>2]|0,f[k>>2]|0);f[c>>2]=$r(t,f[w>>2]|0,f[b>>2]|0)|0;t=f[c>>2]|0;de(f[u>>2]|0);h=l;return t|0}function ei(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;b=h;h=h+32|0;a=b+28|0;o=b+24|0;l=b+20|0;d=b+16|0;w=b+12|0;c=b+8|0;k=b+4|0;u=b;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[d>>2]=t;s[w>>2]=n;s[k>>2]=+s[d>>2];n=1/+H(+ +s[k>>2]);s[u>>2]=n*+s[w>>2];f[c>>2]=0;do{s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]=+s[u>>2]*+(f[(f[a>>2]|0)+(f[c>>2]<<2)>>2]|0);d=(f[c>>2]|0)+1|0;f[c>>2]=d}while((d|0)<(f[l>>2]|0));h=b;return}function ri(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;u=h;h=h+48|0;c=u+32|0;n=u+28|0;b=u+24|0;o=u+16|0;k=u+12|0;a=u+8|0;w=u+4|0;l=u;f[c>>2]=e;f[n>>2]=r;s[b>>2]=i;f[u+20>>2]=t;s[k>>2]=+ii(f[c>>2]|0,f[c>>2]|0,f[n>>2]|0)+1.0000000036274937e-15;s[w>>2]=+s[k>>2];i=1/+H(+ +s[w>>2]);s[a>>2]=i*+s[b>>2];f[l>>2]=f[c>>2];f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;s[f[l>>2]>>2]=+s[a>>2]*+s[f[l>>2]>>2];f[l>>2]=(f[l>>2]|0)+4;f[o>>2]=(f[o>>2]|0)+1}h=u;return}function ii(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function ti(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+64|0;a=g+48|0;o=g+44|0;y=g+40|0;l=g+36|0;b=g+28|0;w=g+24|0;d=g+20|0;v=g+16|0;u=g+12|0;c=g+8|0;k=g+4|0;p=g;f[a>>2]=e;f[o>>2]=r;f[y>>2]=i;f[l>>2]=t;f[g+32>>2]=n;s[c>>2]=1.0000000036274937e-15;s[u>>2]=1.0000000036274937e-15;e:do{if(f[y>>2]|0){f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break e;s[k>>2]=+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]+ +s[(f[o>>2]|0)+(f[b>>2]<<2)>>2];s[p>>2]=+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]-+s[(f[o>>2]|0)+(f[b>>2]<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[p>>2]*+s[p>>2];f[b>>2]=(f[b>>2]|0)+1}}else{_=+ii(f[a>>2]|0,f[a>>2]|0,f[l>>2]|0);s[u>>2]=+s[u>>2]+_;_=+ii(f[o>>2]|0,f[o>>2]|0,f[l>>2]|0);s[c>>2]=+s[c>>2]+_}}while(0);s[d>>2]=+H(+ +s[u>>2]);s[v>>2]=+H(+ +s[c>>2]);f[w>>2]=~~+z(+(+X(+ +s[v>>2],+ +s[d>>2])*10430.3818359375+.5));h=g;return f[w>>2]|0}function ni(e){e=e|0;var r=0,i=0,t=0,a=0,o=0;o=h;h=h+16|0;r=o+12|0;a=o+8|0;t=o+4|0;i=o;f[r>>2]=e;f[t>>2]=32767/((f[(f[r>>2]|0)+2340>>2]|0)+1|0)|0;f[i>>2]=0;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[(f[r>>2]|0)+2340>>2]|0))break;f[i>>2]=(f[i>>2]|0)+(f[t>>2]|0);n[(f[r>>2]|0)+2772+1280+(f[a>>2]<<1)>>1]=f[i>>2];f[a>>2]=(f[a>>2]|0)+1}f[(f[r>>2]|0)+2772+1376>>2]=0;f[(f[r>>2]|0)+2772+1380>>2]=3176576;h=o;return}function fi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;t=g+40|0;a=g+36|0;o=g+32|0;c=g+28|0;l=g+24|0;b=g+20|0;w=g+16|0;s=g+44|0;u=g+12|0;p=g+8|0;d=g+4|0;k=g;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=20)break;f[p>>2]=(n[f[t>>2]>>1]|0)-(n[f[a>>2]>>1]|0);f[l>>2]=0;f[c>>2]=1;while(1){if((f[c>>2]|0)>((f[o>>2]|0)-1|0))break;f[u>>2]=(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0)-((n[(f[t>>2]|0)+((f[c>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[c>>2]<<1)>>1]|0));if((f[u>>2]|0)<(f[p>>2]|0)){f[p>>2]=f[u>>2];f[l>>2]=f[c>>2]}f[c>>2]=(f[c>>2]|0)+1}f[u>>2]=32768-((n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0));if((f[u>>2]|0)<(f[p>>2]|0)){f[p>>2]=f[u>>2];f[l>>2]=f[o>>2]}if((f[p>>2]|0)>=0){v=41;break}do{if(!(f[l>>2]|0))n[f[t>>2]>>1]=n[f[a>>2]>>1]|0;else{if((f[l>>2]|0)==(f[o>>2]|0)){n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=32768-(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);break}f[d>>2]=0;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[d>>2]=(f[d>>2]|0)+(n[(f[a>>2]|0)+(f[b>>2]<<1)>>1]|0);f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);f[k>>2]=32768;f[b>>2]=f[o>>2];while(1){if((f[b>>2]|0)<=(f[l>>2]|0))break;f[k>>2]=(f[k>>2]|0)-(n[(f[a>>2]|0)+(f[b>>2]<<1)>>1]|0);f[b>>2]=(f[b>>2]|0)+-1}f[k>>2]=(f[k>>2]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;do{if((f[d>>2]|0)>(f[k>>2]|0)){if((i|0)>(f[d>>2]|0)){i=f[d>>2]|0;break}if((((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0)<(f[k>>2]|0)){i=f[k>>2]|0;break}else{i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;break}}else{if((i|0)>(f[k>>2]|0)){i=f[k>>2]|0;break}if((((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0)<(f[d>>2]|0)){i=f[d>>2]|0;break}else{i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;break}}}while(0);n[s>>1]=i;n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]=(n[s>>1]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]=(n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]|0)}}while(0);f[w>>2]=(f[w>>2]|0)+1}if((v|0)==41){h=g;return}if((f[w>>2]|0)!=20){h=g;return}Ai(f[t>>2]|0,f[o>>2]|0);v=(ai(n[f[t>>2]>>1]|0,n[f[a>>2]>>1]|0)|0)&65535;n[f[t>>2]>>1]=v;f[c>>2]=1;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;v=(ai(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0,(n[(f[t>>2]|0)+((f[c>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[c>>2]<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]=v;f[c>>2]=(f[c>>2]|0)+1}v=(oi(n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0,32768-(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=v;f[c>>2]=(f[o>>2]|0)-2;while(1){if((f[c>>2]|0)<0)break;v=(oi(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0,(n[(f[t>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)-(n[(f[a>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]=v;f[c>>2]=(f[c>>2]|0)+-1}h=g;return}function ai(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function oi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function li(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;t=c+20|0;a=c+16|0;o=c+12|0;l=c+8|0;s=c+4|0;u=c;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[s>>2]=si(n[f[a>>2]>>1]|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;f[u>>2]=si((n[(f[a>>2]|0)+2>>1]|0)-(n[f[a>>2]>>1]|0)|0,1)|0;f[u>>2]=131072/(f[u>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[f[t>>2]>>1]=r;f[l>>2]=1;while(1){if((f[l>>2]|0)>=((f[o>>2]|0)-1|0))break;f[s>>2]=si((n[(f[a>>2]|0)+((f[l>>2]|0)+1<<1)>>1]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]|0)|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]=r;f[u>>2]=si((n[(f[a>>2]|0)+((f[l>>2]|0)+2<<1)>>1]|0)-(n[(f[a>>2]|0)+((f[l>>2]|0)+1<<1)>>1]|0)|0,1)|0;f[u>>2]=131072/(f[u>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+((f[l>>2]|0)+1<<1)>>1]=r;f[l>>2]=(f[l>>2]|0)+2}f[s>>2]=si(32768-(n[(f[a>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0)|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;u=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=u;h=c;return}function si(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function ui(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function hi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0;c=h;h=h+32|0;a=c+20|0;o=c+16|0;l=c+12|0;s=c+8|0;b=c+4|0;u=c;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[b>>2]=n;vs(f[o>>2]|0,0,300)|0;r=(f[l>>2]|0)!=8e3&(f[l>>2]|0)!=12e3&(f[l>>2]|0)!=16e3;do{if(f[b>>2]|0){if(!(r&(f[l>>2]|0)!=24e3&(f[l>>2]|0)!=48e3)?!((f[s>>2]|0)!=8e3&(f[s>>2]|0)!=12e3&(f[s>>2]|0)!=16e3):0){f[(f[o>>2]|0)+292>>2]=t[30493+((((f[l>>2]>>12)-((f[l>>2]|0)>16e3&1)>>((f[l>>2]|0)>24e3&1))-1|0)*3|0)+(((f[s>>2]>>12)-((f[s>>2]|0)>16e3&1)>>((f[s>>2]|0)>24e3&1))-1)>>0];break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}else{if(!r?!((f[s>>2]|0)!=8e3&(f[s>>2]|0)!=12e3&(f[s>>2]|0)!=16e3&(f[s>>2]|0)!=24e3&(f[s>>2]|0)!=48e3):0){f[(f[o>>2]|0)+292>>2]=t[30508+((((f[l>>2]>>12)-((f[l>>2]|0)>16e3&1)>>((f[l>>2]|0)>24e3&1))-1|0)*5|0)+(((f[s>>2]>>12)-((f[s>>2]|0)>16e3&1)>>((f[s>>2]|0)>24e3&1))-1)>>0];break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}}while(0);f[(f[o>>2]|0)+284>>2]=(f[l>>2]|0)/1e3|0;f[(f[o>>2]|0)+288>>2]=(f[s>>2]|0)/1e3|0;f[(f[o>>2]|0)+268>>2]=(f[(f[o>>2]|0)+284>>2]|0)*10;f[u>>2]=0;i=f[s>>2]|0;e=f[l>>2]|0;do{if((f[s>>2]|0)>(f[l>>2]|0)){r=(f[o>>2]|0)+264|0;if((i|0)==(e<<1|0)){f[r>>2]=1;break}else{f[r>>2]=2;f[u>>2]=1;break}}else{r=(f[o>>2]|0)+264|0;if((i|0)>=(e|0)){f[r>>2]=0;break}f[r>>2]=3;if((f[s>>2]<<2|0)==((f[l>>2]|0)*3|0)){f[(f[o>>2]|0)+280>>2]=3;f[(f[o>>2]|0)+276>>2]=18;f[(f[o>>2]|0)+296>>2]=24846;break}if(((f[s>>2]|0)*3|0)==(f[l>>2]<<1|0)){f[(f[o>>2]|0)+280>>2]=2;f[(f[o>>2]|0)+276>>2]=18;f[(f[o>>2]|0)+296>>2]=24904;break}if((f[s>>2]<<1|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=24;f[(f[o>>2]|0)+296>>2]=24944;break}if(((f[s>>2]|0)*3|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=24972;break}if((f[s>>2]<<2|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=25012;break}if(((f[s>>2]|0)*6|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=25052;break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}}while(0);f[(f[o>>2]|0)+272>>2]=((f[l>>2]<<14+(f[u>>2]|0)|0)/(f[s>>2]|0)|0)<<2;while(1){b=re(f[(f[o>>2]|0)+272>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;b=b+((re(f[(f[o>>2]|0)+272>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[(f[o>>2]|0)+272>>2]|0,(f[s>>2]>>15)+1>>1)|0)|0;if((b|0)>=(f[l>>2]<>2]|0))break;b=(f[o>>2]|0)+272|0;f[b>>2]=(f[b>>2]|0)+1}f[a>>2]=0;b=f[a>>2]|0;h=c;return b|0}function ci(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+284>>2]|0)-(f[(f[n>>2]|0)+292>>2]|0);gs((f[n>>2]|0)+168+(f[(f[n>>2]|0)+292>>2]<<1)|0,f[o>>2]|0,f[s>>2]<<1|0)|0;switch(f[(f[n>>2]|0)+264>>2]|0){case 1:{_i(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);_i(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}case 2:{vi(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);vi(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}case 3:{di(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);di(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}default:{gs(f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]<<1|0)|0;gs((f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)<<1|0)|0}}gs((f[n>>2]|0)+168|0,(f[o>>2]|0)+((f[l>>2]|0)-(f[(f[n>>2]|0)+292>>2]|0)<<1)|0,f[(f[n>>2]|0)+292>>2]<<1|0)|0;h=u;return 0}function bi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+1968|0;a=d+1964|0;o=d+1960|0;l=d+1956|0;s=d+1952|0;w=d+1948|0;b=d+1944|0;k=d+1940|0;c=d+1936|0;u=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;r=f[a>>2]|0;f[u>>2]=f[r>>2];f[u+4>>2]=f[r+4>>2];f[u+8>>2]=f[r+8>>2];f[u+12>>2]=f[r+12>>2];while(1){f[w>>2]=(f[s>>2]|0)<480?f[s>>2]|0:480;ki((f[a>>2]|0)+16|0,u+16|0,f[l>>2]|0,25092,f[w>>2]|0);f[c>>2]=u;f[b>>2]=f[w>>2];while(1){if((f[b>>2]|0)<=2)break;r=re(f[f[c>>2]>>2]>>16,n[12548]|0)|0;f[k>>2]=r+((re(f[f[c>>2]>>2]&65535,n[12548]|0)|0)>>16);r=re(f[(f[c>>2]|0)+4>>2]>>16,n[12549]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+4>>2]&65535,n[12549]|0)|0)>>16));r=re(f[(f[c>>2]|0)+8>>2]>>16,n[12551]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+8>>2]&65535,n[12551]|0)|0)>>16));r=re(f[(f[c>>2]|0)+12>>2]>>16,n[12550]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+12>>2]&65535,n[12550]|0)|0)>>16));if(((f[k>>2]>>5)+1>>1|0)<=32767)if(((f[k>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>5)+1>>1;else e=32767;r=f[o>>2]|0;f[o>>2]=r+2;n[r>>1]=e;r=re(f[(f[c>>2]|0)+4>>2]>>16,n[12550]|0)|0;f[k>>2]=r+((re(f[(f[c>>2]|0)+4>>2]&65535,n[12550]|0)|0)>>16);r=re(f[(f[c>>2]|0)+8>>2]>>16,n[12551]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+8>>2]&65535,n[12551]|0)|0)>>16));r=re(f[(f[c>>2]|0)+12>>2]>>16,n[12549]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+12>>2]&65535,n[12549]|0)|0)>>16));r=re(f[(f[c>>2]|0)+16>>2]>>16,n[12548]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+16>>2]&65535,n[12548]|0)|0)>>16));if(((f[k>>2]>>5)+1>>1|0)<=32767)if(((f[k>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>5)+1>>1;else e=32767;r=f[o>>2]|0;f[o>>2]=r+2;n[r>>1]=e;f[c>>2]=(f[c>>2]|0)+12;f[b>>2]=(f[b>>2]|0)-3}f[l>>2]=(f[l>>2]|0)+(f[w>>2]<<1);f[s>>2]=(f[s>>2]|0)-(f[w>>2]|0);if((f[s>>2]|0)<=0)break;r=u+(f[w>>2]<<2)|0;f[u>>2]=f[r>>2];f[u+4>>2]=f[r+4>>2];f[u+8>>2]=f[r+8>>2];f[u+12>>2]=f[r+12>>2]}k=f[a>>2]|0;w=u+(f[w>>2]<<2)|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2];f[k+8>>2]=f[w+8>>2];f[k+12>>2]=f[w+12>>2];h=d;return}function wi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;d=h;h=h+48|0;a=d+36|0;o=d+32|0;l=d+28|0;p=d+24|0;b=d+20|0;w=d+16|0;c=d+12|0;k=d+8|0;u=d+4|0;s=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[p>>2]=t;f[w>>2]=f[p>>2]>>1;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[w>>2]|0))break;f[c>>2]=n[(f[l>>2]|0)+(f[b>>2]<<1<<1)>>1]<<10;f[u>>2]=(f[c>>2]|0)-(f[f[a>>2]>>2]|0);p=re(f[u>>2]>>16,-25727)|0;f[s>>2]=(f[u>>2]|0)+(p+((re(f[u>>2]&65535,-25727)|0)>>16));f[k>>2]=(f[f[a>>2]>>2]|0)+(f[s>>2]|0);f[f[a>>2]>>2]=(f[c>>2]|0)+(f[s>>2]|0);f[c>>2]=n[(f[l>>2]|0)+((f[b>>2]<<1)+1<<1)>>1]<<10;f[u>>2]=(f[c>>2]|0)-(f[(f[a>>2]|0)+4>>2]|0);f[s>>2]=((f[u>>2]>>16)*9872|0)+((f[u>>2]&65535)*9872>>16);f[k>>2]=(f[k>>2]|0)+(f[(f[a>>2]|0)+4>>2]|0);f[k>>2]=(f[k>>2]|0)+(f[s>>2]|0);f[(f[a>>2]|0)+4>>2]=(f[c>>2]|0)+(f[s>>2]|0);if(((f[k>>2]>>10)+1>>1|0)<=32767)if(((f[k>>2]>>10)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>10)+1>>1;else e=32767;n[(f[o>>2]|0)+(f[b>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+1}h=d;return}function ki(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;b=k+4|0;w=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;f[w>>2]=(f[f[o>>2]>>2]|0)+(n[(f[s>>2]|0)+(f[b>>2]<<1)>>1]<<8);f[(f[l>>2]|0)+(f[b>>2]<<2)>>2]=f[w>>2];f[w>>2]=f[w>>2]<<2;r=re(f[w>>2]>>16,n[f[u>>2]>>1]|0)|0;r=(f[(f[o>>2]|0)+4>>2]|0)+(r+((re(f[w>>2]&65535,n[f[u>>2]>>1]|0)|0)>>16))|0;f[f[o>>2]>>2]=r;r=re(f[w>>2]>>16,n[(f[u>>2]|0)+2>>1]|0)|0;r=r+((re(f[w>>2]&65535,n[(f[u>>2]|0)+2>>1]|0)|0)>>16)|0;f[(f[o>>2]|0)+4>>2]=r;f[b>>2]=(f[b>>2]|0)+1}h=k;return}function di(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;d=k+36|0;n=k+32|0;a=k+28|0;o=k+24|0;u=k+20|0;w=k+16|0;b=k+12|0;c=k+8|0;s=k+4|0;l=k;f[d>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=t;f[u>>2]=f[d>>2];r=(f[(f[u>>2]|0)+268>>2]|0)+(f[(f[u>>2]|0)+276>>2]|0)|0;f[l>>2]=he()|0;e=h;h=h+((1*(r<<2)|0)+15&-16)|0;gs(e|0,(f[u>>2]|0)+24|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0;f[s>>2]=(f[(f[u>>2]|0)+296>>2]|0)+4;f[c>>2]=f[(f[u>>2]|0)+272>>2];while(1){if((f[o>>2]|0)<(f[(f[u>>2]|0)+268>>2]|0))i=f[o>>2]|0;else i=f[(f[u>>2]|0)+268>>2]|0;f[w>>2]=i;ki(f[u>>2]|0,e+(f[(f[u>>2]|0)+276>>2]<<2)|0,f[a>>2]|0,f[(f[u>>2]|0)+296>>2]|0,f[w>>2]|0);f[b>>2]=f[w>>2]<<16;f[n>>2]=pi(f[n>>2]|0,e,f[s>>2]|0,f[(f[u>>2]|0)+276>>2]|0,f[(f[u>>2]|0)+280>>2]|0,f[b>>2]|0,f[c>>2]|0)|0;f[a>>2]=(f[a>>2]|0)+(f[w>>2]<<1);f[o>>2]=(f[o>>2]|0)-(f[w>>2]|0);if((f[o>>2]|0)<=1)break;gs(e|0,e+(f[w>>2]<<2)|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0}gs((f[u>>2]|0)+24|0,e+(f[w>>2]<<2)|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0;de(f[l>>2]|0);h=k;return}function pi(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;b=_+44|0;w=_+40|0;k=_+36|0;m=_+32|0;s=_+28|0;d=_+24|0;p=_+20|0;g=_+16|0;y=_+12|0;v=_+8|0;u=_+4|0;c=_;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[m>>2]=t;f[s>>2]=a;f[d>>2]=o;f[p>>2]=l;switch(f[m>>2]|0){case 18:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[g>>2]&65535)>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=m+((re(f[g>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16);f[c>>2]=(f[k>>2]|0)+((f[u>>2]|0)*9<<1);m=re(f[f[v>>2]>>2]>>16,n[f[c>>2]>>1]|0)|0;f[y>>2]=m+((re(f[f[v>>2]>>2]&65535,n[f[c>>2]>>1]|0)|0)>>16);m=re(f[(f[v>>2]|0)+4>>2]>>16,n[(f[c>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+4>>2]&65535,n[(f[c>>2]|0)+2>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+8>>2]>>16,n[(f[c>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+8>>2]&65535,n[(f[c>>2]|0)+4>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+12>>2]>>16,n[(f[c>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+12>>2]&65535,n[(f[c>>2]|0)+6>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+16>>2]>>16,n[(f[c>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+16>>2]&65535,n[(f[c>>2]|0)+8>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+20>>2]>>16,n[(f[c>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+20>>2]&65535,n[(f[c>>2]|0)+10>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+24>>2]>>16,n[(f[c>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+24>>2]&65535,n[(f[c>>2]|0)+12>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+28>>2]>>16,n[(f[c>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+28>>2]&65535,n[(f[c>>2]|0)+14>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+32>>2]>>16,n[(f[c>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+32>>2]&65535,n[(f[c>>2]|0)+16>>1]|0)|0)>>16));f[c>>2]=(f[k>>2]|0)+(((f[s>>2]|0)-1-(f[u>>2]|0)|0)*9<<1);m=re(f[(f[v>>2]|0)+68>>2]>>16,n[f[c>>2]>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+68>>2]&65535,n[f[c>>2]>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+64>>2]>>16,n[(f[c>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+64>>2]&65535,n[(f[c>>2]|0)+2>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+60>>2]>>16,n[(f[c>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+60>>2]&65535,n[(f[c>>2]|0)+4>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+56>>2]>>16,n[(f[c>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+56>>2]&65535,n[(f[c>>2]|0)+6>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+52>>2]>>16,n[(f[c>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+52>>2]&65535,n[(f[c>>2]|0)+8>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+48>>2]>>16,n[(f[c>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+48>>2]&65535,n[(f[c>>2]|0)+10>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+44>>2]>>16,n[(f[c>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+44>>2]&65535,n[(f[c>>2]|0)+12>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+40>>2]>>16,n[(f[c>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+40>>2]&65535,n[(f[c>>2]|0)+14>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+36>>2]>>16,n[(f[c>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+36>>2]&65535,n[(f[c>>2]|0)+16>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}case 24:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)>>16,n[f[k>>2]>>1]|0)|0;f[y>>2]=m+((re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)&65535,n[f[k>>2]>>1]|0)|0)>>16);m=re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)>>16,n[(f[k>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)&65535,n[(f[k>>2]|0)+2>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)>>16,n[(f[k>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)&65535,n[(f[k>>2]|0)+4>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)>>16,n[(f[k>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)&65535,n[(f[k>>2]|0)+6>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)>>16,n[(f[k>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)&65535,n[(f[k>>2]|0)+8>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)>>16,n[(f[k>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)&65535,n[(f[k>>2]|0)+10>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+68>>2]|0)>>16,n[(f[k>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+68>>2]|0)&65535,n[(f[k>>2]|0)+12>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+64>>2]|0)>>16,n[(f[k>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+64>>2]|0)&65535,n[(f[k>>2]|0)+14>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+60>>2]|0)>>16,n[(f[k>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+60>>2]|0)&65535,n[(f[k>>2]|0)+16>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+56>>2]|0)>>16,n[(f[k>>2]|0)+18>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+56>>2]|0)&65535,n[(f[k>>2]|0)+18>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+52>>2]|0)>>16,n[(f[k>>2]|0)+20>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+52>>2]|0)&65535,n[(f[k>>2]|0)+20>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+48>>2]|0)>>16,n[(f[k>>2]|0)+22>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+48>>2]|0)&65535,n[(f[k>>2]|0)+22>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}case 36:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+140>>2]|0)>>16,n[f[k>>2]>>1]|0)|0;f[y>>2]=m+((re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+140>>2]|0)&65535,n[f[k>>2]>>1]|0)|0)>>16);m=re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+136>>2]|0)>>16,n[(f[k>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+136>>2]|0)&65535,n[(f[k>>2]|0)+2>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+132>>2]|0)>>16,n[(f[k>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+132>>2]|0)&65535,n[(f[k>>2]|0)+4>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+128>>2]|0)>>16,n[(f[k>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+128>>2]|0)&65535,n[(f[k>>2]|0)+6>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+124>>2]|0)>>16,n[(f[k>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+124>>2]|0)&65535,n[(f[k>>2]|0)+8>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+120>>2]|0)>>16,n[(f[k>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+120>>2]|0)&65535,n[(f[k>>2]|0)+10>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+116>>2]|0)>>16,n[(f[k>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+116>>2]|0)&65535,n[(f[k>>2]|0)+12>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+112>>2]|0)>>16,n[(f[k>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+112>>2]|0)&65535,n[(f[k>>2]|0)+14>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+108>>2]|0)>>16,n[(f[k>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+108>>2]|0)&65535,n[(f[k>>2]|0)+16>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+104>>2]|0)>>16,n[(f[k>>2]|0)+18>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+104>>2]|0)&65535,n[(f[k>>2]|0)+18>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+100>>2]|0)>>16,n[(f[k>>2]|0)+20>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+100>>2]|0)&65535,n[(f[k>>2]|0)+20>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+96>>2]|0)>>16,n[(f[k>>2]|0)+22>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+96>>2]|0)&65535,n[(f[k>>2]|0)+22>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+48>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)>>16,n[(f[k>>2]|0)+24>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+48>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)&65535,n[(f[k>>2]|0)+24>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+52>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)>>16,n[(f[k>>2]|0)+26>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+52>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)&65535,n[(f[k>>2]|0)+26>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+56>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)>>16,n[(f[k>>2]|0)+28>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+56>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)&65535,n[(f[k>>2]|0)+28>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+60>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)>>16,n[(f[k>>2]|0)+30>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+60>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)&65535,n[(f[k>>2]|0)+30>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+64>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)>>16,n[(f[k>>2]|0)+32>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+64>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)&65535,n[(f[k>>2]|0)+32>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+68>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)>>16,n[(f[k>>2]|0)+34>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+68>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)&65535,n[(f[k>>2]|0)+34>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}default:{m=f[b>>2]|0;h=_;return m|0}}return 0}function vi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;d=k+32|0;a=k+28|0;o=k+24|0;l=k+20|0;u=k+16|0;w=k+12|0;b=k+8|0;c=k+4|0;s=k;f[d>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=f[d>>2];r=(f[(f[u>>2]|0)+268>>2]<<1)+8|0;f[s>>2]=he()|0;e=h;h=h+((1*(r<<1)|0)+15&-16)|0;r=(f[u>>2]|0)+24|0;n[e>>1]=n[r>>1]|0;n[e+2>>1]=n[r+2>>1]|0;n[e+4>>1]=n[r+4>>1]|0;n[e+6>>1]=n[r+6>>1]|0;n[e+8>>1]=n[r+8>>1]|0;n[e+10>>1]=n[r+10>>1]|0;n[e+12>>1]=n[r+12>>1]|0;n[e+14>>1]=n[r+14>>1]|0;f[c>>2]=f[(f[u>>2]|0)+272>>2];while(1){if((f[l>>2]|0)<(f[(f[u>>2]|0)+268>>2]|0))i=f[l>>2]|0;else i=f[(f[u>>2]|0)+268>>2]|0;f[w>>2]=i;yi(f[u>>2]|0,e+16|0,f[o>>2]|0,f[w>>2]|0);f[b>>2]=f[w>>2]<<17;f[a>>2]=gi(f[a>>2]|0,e,f[b>>2]|0,f[c>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[w>>2]<<1);f[l>>2]=(f[l>>2]|0)-(f[w>>2]|0);if((f[l>>2]|0)<=0)break;d=e+(f[w>>2]<<1<<1)|0;n[e>>1]=n[d>>1]|0;n[e+2>>1]=n[d+2>>1]|0;n[e+4>>1]=n[d+4>>1]|0;n[e+6>>1]=n[d+6>>1]|0;n[e+8>>1]=n[d+8>>1]|0;n[e+10>>1]=n[d+10>>1]|0;n[e+12>>1]=n[d+12>>1]|0;n[e+14>>1]=n[d+14>>1]|0}d=(f[u>>2]|0)+24|0;w=e+(f[w>>2]<<1<<1)|0;n[d>>1]=n[w>>1]|0;n[d+2>>1]=n[w+2>>1]|0;n[d+4>>1]=n[w+4>>1]|0;n[d+6>>1]=n[w+6>>1]|0;n[d+8>>1]=n[w+8>>1]|0;n[d+10>>1]=n[w+10>>1]|0;n[d+12>>1]=n[w+12>>1]|0;n[d+14>>1]=n[w+14>>1]|0;de(f[s>>2]|0);h=k;return}function gi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;a=k+28|0;o=k+24|0;l=k+20|0;s=k+16|0;c=k+12|0;b=k+8|0;u=k+4|0;w=k;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=(((f[c>>2]&65535)>>16)*12|0)+((f[c>>2]&65535)*12>>16);f[u>>2]=(f[o>>2]|0)+(f[c>>2]>>16<<1);f[b>>2]=re(n[f[u>>2]>>1]|0,n[25104+(f[w>>2]<<3)>>1]|0)|0;f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+2>>1]|0,n[25104+(f[w>>2]<<3)+2>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+4>>1]|0,n[25104+(f[w>>2]<<3)+4>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+6>>1]|0,n[25104+(f[w>>2]<<3)+6>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+8>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+6>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+10>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+4>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+12>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+2>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+14>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)>>1]|0)|0);if(((f[b>>2]>>14)+1>>1|0)<=32767)if(((f[b>>2]>>14)+1>>1|0)<-32768)r=-32768;else r=(f[b>>2]>>14)+1>>1;else r=32767;e=f[a>>2]|0;f[a>>2]=e+2;n[e>>1]=r;f[c>>2]=(f[c>>2]|0)+(f[s>>2]|0)}h=k;return f[a>>2]|0}function yi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;a=p+36|0;o=p+32|0;l=p+28|0;s=p+24|0;w=p+20|0;b=p+16|0;k=p+12|0;d=p+8|0;c=p+4|0;u=p;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[s>>2]|0))break;f[b>>2]=n[(f[l>>2]|0)+(f[w>>2]<<1)>>1]<<10;f[c>>2]=(f[b>>2]|0)-(f[f[a>>2]>>2]|0);r=re(f[c>>2]>>16,n[12417]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12417]|0)|0)>>16);f[k>>2]=(f[f[a>>2]>>2]|0)+(f[u>>2]|0);f[f[a>>2]>>2]=(f[b>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[k>>2]|0)-(f[(f[a>>2]|0)+4>>2]|0);r=re(f[c>>2]>>16,n[12418]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12418]|0)|0)>>16);f[d>>2]=(f[(f[a>>2]|0)+4>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+4>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[d>>2]|0)-(f[(f[a>>2]|0)+8>>2]|0);r=re(f[c>>2]>>16,n[12419]|0)|0;f[u>>2]=(f[c>>2]|0)+(r+((re(f[c>>2]&65535,n[12419]|0)|0)>>16));f[k>>2]=(f[(f[a>>2]|0)+8>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+8>>2]=(f[d>>2]|0)+(f[u>>2]|0);if(((f[k>>2]>>9)+1>>1|0)<=32767)if(((f[k>>2]>>9)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>9)+1>>1;else e=32767;n[(f[o>>2]|0)+(f[w>>2]<<1<<1)>>1]=e;f[c>>2]=(f[b>>2]|0)-(f[(f[a>>2]|0)+12>>2]|0);r=re(f[c>>2]>>16,n[12420]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12420]|0)|0)>>16);f[k>>2]=(f[(f[a>>2]|0)+12>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+12>>2]=(f[b>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[k>>2]|0)-(f[(f[a>>2]|0)+16>>2]|0);r=re(f[c>>2]>>16,n[12421]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12421]|0)|0)>>16);f[d>>2]=(f[(f[a>>2]|0)+16>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+16>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[d>>2]|0)-(f[(f[a>>2]|0)+20>>2]|0);r=re(f[c>>2]>>16,n[12422]|0)|0;f[u>>2]=(f[c>>2]|0)+(r+((re(f[c>>2]&65535,n[12422]|0)|0)>>16));f[k>>2]=(f[(f[a>>2]|0)+20>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+20>>2]=(f[d>>2]|0)+(f[u>>2]|0);if(((f[k>>2]>>9)+1>>1|0)<=32767)if(((f[k>>2]>>9)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>9)+1>>1;else e=32767;n[(f[o>>2]|0)+((f[w>>2]<<1)+1<<1)>>1]=e;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function _i(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;n=h;h=h+32|0;u=n+16|0;l=n+12|0;o=n+8|0;a=n+4|0;s=n;f[u>>2]=e;f[l>>2]=r;f[o>>2]=i;f[a>>2]=t;f[s>>2]=f[u>>2];yi(f[s>>2]|0,f[l>>2]|0,f[o>>2]|0,f[a>>2]|0);h=n;return}function mi(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+8|0;i=n+4|0;t=n;f[i>>2]=e;e=f[i>>2]|0;if((f[i>>2]|0)<0){f[i>>2]=0-e;if((f[i>>2]|0)>=192){f[r>>2]=0;t=f[r>>2]|0;h=n;return t|0}else{f[t>>2]=f[i>>2]>>5;f[r>>2]=(f[17960+(f[t>>2]<<2)>>2]|0)-(re((f[17984+(f[t>>2]<<2)>>2]&65535)<<16>>16,(f[i>>2]&31)<<16>>16)|0);t=f[r>>2]|0;h=n;return t|0}}else if((e|0)>=192){f[r>>2]=32767;t=f[r>>2]|0;h=n;return t|0}else{f[t>>2]=f[i>>2]>>5;f[r>>2]=(f[18008+(f[t>>2]<<2)>>2]|0)+(re((f[17984+(f[t>>2]<<2)>>2]&65535)<<16>>16,(f[i>>2]&31)<<16>>16)|0);t=f[r>>2]|0;h=n;return t|0}return 0}function Ei(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+24|0;a=b+20|0;o=b+16|0;l=b+12|0;c=b+8|0;s=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=0;while(1){if((f[s>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=1;while(1){if((f[s>>2]|0)>=(f[l>>2]|0))break;f[c>>2]=f[(f[n>>2]|0)+(f[s>>2]<<2)>>2];f[u>>2]=(f[s>>2]|0)-1;while(1){if((f[u>>2]|0)<0)break;if((f[c>>2]|0)>=(f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]|0))break;f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+-1}f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[c>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=f[l>>2];while(1){if((f[s>>2]|0)>=(f[o>>2]|0))break;f[c>>2]=f[(f[n>>2]|0)+(f[s>>2]<<2)>>2];if((f[c>>2]|0)<(f[(f[n>>2]|0)+((f[l>>2]|0)-1<<2)>>2]|0)){f[u>>2]=(f[l>>2]|0)-2;while(1){if((f[u>>2]|0)<0)break;if((f[c>>2]|0)>=(f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]|0))break;f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+-1}f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[c>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[s>>2]}f[s>>2]=(f[s>>2]|0)+1}h=b;return}function Ai(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;i=s+16|0;t=s+12|0;l=s+8|0;a=s+4|0;o=s;f[i>>2]=e;f[t>>2]=r;f[a>>2]=1;while(1){if((f[a>>2]|0)>=(f[t>>2]|0))break;f[l>>2]=n[(f[i>>2]|0)+(f[a>>2]<<1)>>1];f[o>>2]=(f[a>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((f[l>>2]|0)>=(n[(f[i>>2]|0)+(f[o>>2]<<1)>>1]|0))break;n[(f[i>>2]|0)+((f[o>>2]|0)+1<<1)>>1]=n[(f[i>>2]|0)+(f[o>>2]<<1)>>1]|0;f[o>>2]=(f[o>>2]|0)+-1}n[(f[i>>2]|0)+((f[o>>2]|0)+1<<1)>>1]=f[l>>2];f[a>>2]=(f[a>>2]|0)+1}h=s;return}function Si(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;c=d+12|0;k=d+8|0;w=d+4|0;b=d;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[b>>2]=0;f[k>>2]=0;f[u>>2]=(f[u>>2]|0)+-1;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;f[b>>2]=(f[b>>2]|0)+(re(n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0,n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0);if((f[b>>2]|0)<0){a=4;break}f[c>>2]=(f[c>>2]|0)+2}if((a|0)==4){f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=2;f[c>>2]=(f[c>>2]|0)+2}while(1){e=f[c>>2]|0;if((f[c>>2]|0)>=(f[u>>2]|0))break;f[w>>2]=re(n[(f[s>>2]|0)+(e<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(re(n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0,n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+((f[w>>2]|0)>>>(f[k>>2]|0));if((f[b>>2]|0)<0){f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=(f[k>>2]|0)+2}f[c>>2]=(f[c>>2]|0)+2}if((e|0)==(f[u>>2]|0)){f[w>>2]=re(n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[w>>2]>>f[k>>2])}if(!(f[b>>2]&-1073741824)){k=f[k>>2]|0;w=f[l>>2]|0;f[w>>2]=k;w=f[b>>2]|0;k=f[o>>2]|0;f[k>>2]=w;h=d;return}f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=(f[k>>2]|0)+2;k=f[k>>2]|0;w=f[l>>2]|0;f[w>>2]=k;w=f[b>>2]|0;k=f[o>>2]|0;f[k>>2]=w;h=d;return}function Ri(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+48|0;i=u+40|0;t=u+36|0;l=u+32|0;a=u+8|0;o=u+4|0;s=u;f[i>>2]=e;f[t>>2]=r;f[l>>2]=Fe(f[i>>2]|0,28978,8)|0;f[a+8>>2]=(f[l>>2]|0)/5|0;f[a+12+8>>2]=(f[l>>2]|0)-((f[a+8>>2]|0)*5|0);f[l>>2]=0;while(1){if((f[l>>2]|0)>=2)break;e=Fe(f[i>>2]|0,29031,8)|0;f[a+((f[l>>2]|0)*12|0)>>2]=e;e=Fe(f[i>>2]|0,29038,8)|0;f[a+((f[l>>2]|0)*12|0)+4>>2]=e;f[l>>2]=(f[l>>2]|0)+1}f[l>>2]=0;while(1){if((f[l>>2]|0)>=2)break;e=a+((f[l>>2]|0)*12|0)|0;f[e>>2]=(f[e>>2]|0)+((f[a+((f[l>>2]|0)*12|0)+8>>2]|0)*3|0);f[o>>2]=n[24526+(f[a+((f[l>>2]|0)*12|0)>>2]<<1)>>1];f[s>>2]=(((n[24526+((f[a+((f[l>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(f[o>>2]|0)>>16)*6554|0)+(((n[24526+((f[a+((f[l>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(f[o>>2]|0)&65535)*6554>>16);e=(f[o>>2]|0)+(re((f[s>>2]&65535)<<16>>16,((f[a+((f[l>>2]|0)*12|0)+4>>2]<<1)+1&65535)<<16>>16)|0)|0;f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=e;f[l>>2]=(f[l>>2]|0)+1}s=f[t>>2]|0;f[s>>2]=(f[s>>2]|0)-(f[(f[t>>2]|0)+4>>2]|0);h=u;return}function Ti(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;i=h;h=h+16|0;n=i+4|0;t=i;f[n>>2]=e;f[t>>2]=r;e=Fe(f[n>>2]|0,29003,8)|0;f[f[t>>2]>>2]=e;h=i;return}function Mi(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[n>>2]=r;f[a>>2]=((t[(f[n>>2]|0)+2>>0]|0)*5|0)+(t[(f[n>>2]|0)+3+2>>0]|0);$e(f[i>>2]|0,f[a>>2]|0,28978,8);f[a>>2]=0;while(1){if((f[a>>2]|0)>=2)break;$e(f[i>>2]|0,t[(f[n>>2]|0)+((f[a>>2]|0)*3|0)>>0]|0,29031,8);$e(f[i>>2]|0,t[(f[n>>2]|0)+((f[a>>2]|0)*3|0)+1>>0]|0,29038,8);f[a>>2]=(f[a>>2]|0)+1}h=o;return}function xi(e,r){e=e|0;r=r|0;var i=0,n=0,a=0;i=h;h=h+16|0;a=i;n=i+4|0;f[a>>2]=e;t[n>>0]=r;$e(f[a>>2]|0,t[n>>0]|0,29003,8);h=i;return}function Oi(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;p=h;h=h+64|0;w=p+52|0;y=p+48|0;g=p+44|0;k=p+40|0;v=p+36|0;o=p+32|0;b=p+28|0;_=p+24|0;m=p+20|0;s=p+16|0;u=p+12|0;l=p+8|0;d=p+4|0;c=p;f[w>>2]=e;f[y>>2]=r;f[g>>2]=i;f[k>>2]=t;f[v>>2]=n;f[o>>2]=a;Si(s,_,f[y>>2]|0,f[v>>2]|0);Si(u,m,f[g>>2]|0,f[v>>2]|0);f[b>>2]=Li(f[_>>2]|0,f[m>>2]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[b>>2]&1);f[u>>2]=f[u>>2]>>(f[b>>2]|0)-(f[m>>2]|0);f[s>>2]=f[s>>2]>>(f[b>>2]|0)-(f[_>>2]|0);f[s>>2]=Li(f[s>>2]|0,1)|0;f[l>>2]=Ua(f[y>>2]|0,f[g>>2]|0,f[b>>2]|0,f[v>>2]|0)|0;f[d>>2]=Pi(f[l>>2]|0,f[s>>2]|0,13)|0;if((f[d>>2]|0)>16384)n=16384;else n=(f[d>>2]|0)<-16384?-16384:f[d>>2]|0;f[d>>2]=n;m=re(f[d>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;f[c>>2]=m+((re(f[d>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16);m=f[c>>2]|0;f[o>>2]=Li(f[o>>2]|0,(f[c>>2]|0)>0?m:0-m|0)|0;f[b>>2]=f[b>>2]>>1;m=f[f[k>>2]>>2]|0;_=Ci(f[s>>2]|0)|0;_=re((_<>2])-(f[f[k>>2]>>2]|0)>>16,(f[o>>2]&65535)<<16>>16)|0;y=Ci(f[s>>2]|0)|0;y=m+(_+((re((y<>2])-(f[f[k>>2]>>2]|0)&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[f[k>>2]>>2]=y;y=re(f[l>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;f[u>>2]=(f[u>>2]|0)-(y+((re(f[l>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16)<<4);y=re(f[s>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[u>>2]=(f[u>>2]|0)+(y+((re(f[s>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16)<<6);y=f[(f[k>>2]|0)+4>>2]|0;_=Ci(f[u>>2]|0)|0;_=re((_<>2])-(f[(f[k>>2]|0)+4>>2]|0)>>16,(f[o>>2]&65535)<<16>>16)|0;m=Ci(f[u>>2]|0)|0;m=y+(_+((re((m<>2])-(f[(f[k>>2]|0)+4>>2]|0)&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[k>>2]|0)+4>>2]=m;if((f[f[k>>2]>>2]|0)>1)n=f[f[k>>2]>>2]|0;else n=1;m=Pi(f[(f[k>>2]|0)+4>>2]|0,n,14)|0;f[f[w>>2]>>2]=m;if((f[f[w>>2]>>2]|0)>32767){_=32767;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}if((f[f[w>>2]>>2]|0)<0){_=0;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}_=f[f[w>>2]>>2]|0;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}function Li(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Pi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(Ii((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(Ii((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ii(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Ci(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Ui(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Ui(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Ii(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Bi(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Bi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function ji(e,r){e=e|0;r=r|0;var i=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;i=p+40|0;a=p+36|0;s=p+32|0;u=p+28|0;w=p+24|0;c=p+20|0;d=p+16|0;b=p+12|0;l=p+8|0;o=p+4|0;k=p;f[i>>2]=e;f[a>>2]=r;f[k>>2]=0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=2)break;f[l>>2]=2147483647;f[s>>2]=0;e:while(1){if((f[s>>2]|0)>=15)break;f[c>>2]=n[24526+(f[s>>2]<<1)>>1];f[d>>2]=(((n[24526+((f[s>>2]|0)+1<<1)>>1]|0)-(f[c>>2]|0)>>16)*6554|0)+(((n[24526+((f[s>>2]|0)+1<<1)>>1]|0)-(f[c>>2]|0)&65535)*6554>>16);f[u>>2]=0;while(1){if((f[u>>2]|0)>=5)break;f[b>>2]=(f[c>>2]|0)+(re((f[d>>2]&65535)<<16>>16,((f[u>>2]<<1)+1&65535)<<16>>16)|0);e=(f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]|0)-(f[b>>2]|0)|0;f[o>>2]=((f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]|0)-(f[b>>2]|0)|0)>0?e:0-e|0;if((f[o>>2]|0)>=(f[l>>2]|0))break e;f[l>>2]=f[o>>2];f[k>>2]=f[b>>2];t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)>>0]=f[s>>2];t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+1>>0]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=(f[s>>2]|0)+1}t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+2>>0]=(t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)>>0]|0)/3|0;e=(f[a>>2]|0)+((f[w>>2]|0)*3|0)|0;t[e>>0]=(t[e>>0]|0)-((t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+2>>0]|0)*3|0);f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]=f[k>>2];f[w>>2]=(f[w>>2]|0)+1}d=f[i>>2]|0;f[d>>2]=(f[d>>2]|0)-(f[(f[i>>2]|0)+4>>2]|0);h=p;return}function Di(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;n=k+32|0;a=k+28|0;d=k+24|0;o=k+20|0;w=k+16|0;b=k+12|0;c=k+8|0;l=k+4|0;u=k;f[n>>2]=e;f[a>>2]=r;f[d>>2]=i;f[o>>2]=t;s[b>>2]=3.1415927410125732/+((f[o>>2]|0)+1|0);s[c>>2]=2-+s[b>>2]*+s[b>>2];if((f[d>>2]|0)<2){s[l>>2]=0;s[u>>2]=+s[b>>2]}else{s[l>>2]=1;s[u>>2]=+s[c>>2]*.5}f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break;s[(f[n>>2]|0)+((f[w>>2]|0)+0<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+0<<2)>>2]*.5*(+s[l>>2]+ +s[u>>2]);s[(f[n>>2]|0)+((f[w>>2]|0)+1<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+1<<2)>>2]*+s[u>>2];s[l>>2]=+s[c>>2]*+s[u>>2]-+s[l>>2];s[(f[n>>2]|0)+((f[w>>2]|0)+2<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+2<<2)>>2]*.5*(+s[u>>2]+ +s[l>>2]);s[(f[n>>2]|0)+((f[w>>2]|0)+3<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+3<<2)>>2]*+s[l>>2];s[u>>2]=+s[c>>2]*+s[l>>2]-+s[u>>2];f[w>>2]=(f[w>>2]|0)+4}h=k;return}function Ni(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;w=h;h=h+32|0;k=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;f[k>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=n;f[b>>2]=(f[k>>2]|0)+((f[l>>2]|0)-1<<2);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;d=+Bt(f[b>>2]|0,f[a>>2]|0,f[o>>2]|0);s[(f[u>>2]|0)+(f[c>>2]<<2)>>2]=d;f[b>>2]=(f[b>>2]|0)+-4;f[c>>2]=(f[c>>2]|0)+1}h=w;return}function Fi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;n=p+36|0;a=p+32|0;o=p+28|0;l=p+24|0;b=p+20|0;w=p+16|0;c=p;k=p+12|0;d=p+8|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[k>>2]=(f[n>>2]|0)+((f[o>>2]|0)-1<<2);u[c>>3]=+Ut(f[k>>2]|0,f[a>>2]|0);s[(f[l>>2]|0)+(0<<2)>>2]=+u[c>>3];f[b>>2]=1;while(1){if((f[b>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+u[c>>3]+(+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]*+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]-+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]*+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]);e=re(f[b>>2]|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+(f[b>>2]|0)<<2)>>2]=+u[c>>3];f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[n>>2]|0)+((f[o>>2]|0)-2<<2);f[w>>2]=1;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+Bt(f[k>>2]|0,f[d>>2]|0,f[a>>2]|0);s[(f[l>>2]|0)+((re(f[w>>2]|0,f[o>>2]|0)|0)+0<<2)>>2]=+u[c>>3];s[(f[l>>2]|0)+(0+(f[w>>2]|0)<<2)>>2]=+u[c>>3];f[b>>2]=1;while(1){if((f[b>>2]|0)>=((f[o>>2]|0)-(f[w>>2]|0)|0))break;u[c>>3]=+u[c>>3]+(+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]*+s[(f[d>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]-+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]*+s[(f[d>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]);e=re((f[w>>2]|0)+(f[b>>2]|0)|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+(f[b>>2]|0)<<2)>>2]=+u[c>>3];e=re(f[b>>2]|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+((f[w>>2]|0)+(f[b>>2]|0))<<2)>>2]=+u[c>>3];f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+-4;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function zi(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;zf(f[r>>2]|0,(f[r>>2]|0)+5128+2|0)|0;e=f[r>>2]|0;if((f[(f[r>>2]|0)+4556>>2]|0)>=13){f[e+6116>>2]=0;f[(f[r>>2]|0)+6112>>2]=0;t[(f[r>>2]|0)+4768+29>>0]=1;t[(f[r>>2]|0)+4752+(f[(f[r>>2]|0)+5780>>2]|0)>>0]=1;h=i;return}t[e+4768+29>>0]=0;e=(f[r>>2]|0)+6116|0;f[e>>2]=(f[e>>2]|0)+1;e=f[r>>2]|0;if((f[(f[r>>2]|0)+6116>>2]|0)>=10){if((f[e+6116>>2]|0)>30){f[(f[r>>2]|0)+6116>>2]=10;f[(f[r>>2]|0)+6112>>2]=0}}else f[e+6112>>2]=0;t[(f[r>>2]|0)+4752+(f[(f[r>>2]|0)+5780>>2]|0)>>0]=0;h=i;return}function Yi(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;G=h;h=h+15152|0;w=G+13856|0;k=G+13852|0;d=G+13848|0;p=G+13844|0;v=G+13840|0;g=G+13836|0;y=G+13832|0;Y=G+12920|0;C=G+12916|0;U=G+12912|0;B=G+12908|0;R=G+12904|0;S=G+12900|0;z=G+12896|0;b=G+12892|0;c=G+12888|0;J=G+11608|0;u=G+8920|0;W=G+8872|0;Z=G+8824|0;H=G+4444|0;q=G+64|0;V=G+60|0;j=G+56|0;D=G+52|0;N=G+48|0;M=G+44|0;x=G+40|0;L=G+36|0;P=G+32|0;I=G+28|0;T=G+13862|0;E=G+13860|0;A=G+24|0;_=G+15139|0;F=G+8|0;m=G+13864|0;O=G;f[k>>2]=e;f[d>>2]=r;f[p>>2]=i;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[z>>2]=0;f[x>>2]=0;f[M>>2]=0;f[N>>2]=0;f[D>>2]=0;t[_>>0]=0;i=(f[k>>2]|0)+4644|0;l=f[i>>2]|0;f[i>>2]=l+1;t[(f[k>>2]|0)+4768+34>>0]=l&3;f[b>>2]=(f[k>>2]|0)+9356+(f[(f[k>>2]|0)+4616>>2]<<2);f[c>>2]=u+(f[(f[k>>2]|0)+4616>>2]<<2);Oo((f[k>>2]|0)+16|0,(f[k>>2]|0)+5128+2|0,f[(f[k>>2]|0)+4608>>2]|0);Hi((f[b>>2]|0)+((f[(f[k>>2]|0)+4600>>2]|0)*5<<2)|0,(f[k>>2]|0)+5128+2|0,f[(f[k>>2]|0)+4608>>2]|0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=8)break;l=((f[(f[k>>2]|0)+4600>>2]|0)*5|0)+(re(f[C>>2]|0,f[(f[k>>2]|0)+4608>>2]>>3)|0)|0;l=(f[b>>2]|0)+(l<<2)|0;s[l>>2]=+s[l>>2]+ +(1-(f[C>>2]&2)|0)*9.999999974752427e-7;f[C>>2]=(f[C>>2]|0)+1}e:do{if(!(f[(f[k>>2]|0)+4712>>2]|0)){$i(f[k>>2]|0,Y,u,f[b>>2]|0,f[(f[k>>2]|0)+5124>>2]|0);lt(f[k>>2]|0,Y,f[c>>2]|0,f[b>>2]|0);Qi(f[k>>2]|0,Y,u,f[b>>2]|0,f[v>>2]|0);dt(f[k>>2]|0,Y,f[v>>2]|0);bt(f[k>>2]|0,Y,J,f[b>>2]|0);qi(f[k>>2]|0,Y,J,f[v>>2]|0);f[B>>2]=6;n[T>>1]=256;f[S>>2]=0;f[R>>2]=0;f[L>>2]=Mo((f[k>>2]|0)+4768|0,f[(f[k>>2]|0)+4604>>2]|0)|0;f[P>>2]=-1;f[I>>2]=-1;a=W;o=f[p>>2]|0;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(H|0,(f[k>>2]|0)+144|0,4380)|0;f[V>>2]=t[(f[k>>2]|0)+4768+34>>0];n[E>>1]=n[(f[k>>2]|0)+5804>>1]|0;f[A>>2]=f[(f[k>>2]|0)+5800>>2];f[U>>2]=0;while(1){do{if((f[L>>2]|0)!=(f[P>>2]|0)){if((f[L>>2]|0)==(f[I>>2]|0)){f[j>>2]=f[N>>2];break}if((f[U>>2]|0)>0){a=f[p>>2]|0;o=W;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs((f[k>>2]|0)+144|0,H|0,4380)|0;t[(f[k>>2]|0)+4768+34>>0]=f[V>>2];n[(f[k>>2]|0)+5804>>1]=n[E>>1]|0;f[(f[k>>2]|0)+5800>>2]=f[A>>2]}Ot(f[k>>2]|0,Y,(f[k>>2]|0)+4768|0,(f[k>>2]|0)+144|0,(f[k>>2]|0)+4804|0,J);_o(f[k>>2]|0,f[p>>2]|0,f[(f[k>>2]|0)+5780>>2]|0,0,f[v>>2]|0);mo(f[p>>2]|0,t[(f[k>>2]|0)+4768+29>>0]|0,t[(f[k>>2]|0)+4768+30>>0]|0,(f[k>>2]|0)+4804|0,f[(f[k>>2]|0)+4608>>2]|0);f[j>>2]=Zi(f[p>>2]|0)|0;if((f[y>>2]|0)==0&(f[U>>2]|0)==0?(f[j>>2]|0)<=(f[g>>2]|0):0)break e}else f[j>>2]=f[D>>2]}while(0);if((f[U>>2]|0)==(f[B>>2]|0))break;do{if((f[j>>2]|0)>(f[g>>2]|0))if((f[S>>2]|0)==0&(f[U>>2]|0)>=2){b=Y+852|0;s[b>>2]=+s[b>>2]*1.5;f[R>>2]=0;f[I>>2]=-1;break}else{f[R>>2]=1;f[N>>2]=f[j>>2];f[x>>2]=n[T>>1];f[I>>2]=f[L>>2];break}else{if((f[j>>2]|0)>=((f[g>>2]|0)-5|0))break e;f[S>>2]=1;f[D>>2]=f[j>>2];f[M>>2]=n[T>>1];if((f[L>>2]|0)!=(f[P>>2]|0)){f[P>>2]=f[L>>2];a=Z;o=f[p>>2]|0;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(m|0,f[f[p>>2]>>2]|0,f[(f[p>>2]|0)+24>>2]|0)|0;gs(q|0,(f[k>>2]|0)+144|0,4380)|0;t[_>>0]=t[(f[k>>2]|0)+7200>>0]|0}}}while(0);do{if(f[S>>2]&f[R>>2]){b=re((f[x>>2]|0)-(f[M>>2]|0)|0,(f[g>>2]|0)-(f[D>>2]|0)|0)|0;n[T>>1]=(f[M>>2]|0)+((b|0)/((f[N>>2]|0)-(f[D>>2]|0)|0)|0);if((n[T>>1]|0)>((f[M>>2]|0)+((f[x>>2]|0)-(f[M>>2]|0)>>2)|0)){n[T>>1]=(f[M>>2]|0)+((f[x>>2]|0)-(f[M>>2]|0)>>2);break}if((n[T>>1]|0)<((f[x>>2]|0)-((f[x>>2]|0)-(f[M>>2]|0)>>2)|0))n[T>>1]=(f[x>>2]|0)-((f[x>>2]|0)-(f[M>>2]|0)>>2)}else{f[O>>2]=Fa((((f[j>>2]|0)-(f[g>>2]|0)<<7|0)/(f[(f[k>>2]|0)+4608>>2]|0)|0)+2048|0)|0;f[O>>2]=Vi(f[O>>2]|0,131072)|0;if((f[j>>2]|0)>(f[g>>2]|0))f[O>>2]=Ji(f[O>>2]|0,85197)|0;b=re(f[O>>2]>>16,n[T>>1]|0)|0;n[T>>1]=b+((re(f[O>>2]&65535,n[T>>1]|0)|0)>>16)}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;b=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;if((b+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0)<=8388607){b=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;if((b+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0)<-8388608)a=-8388608;else{a=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;a=a+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0}}else a=8388607;f[F+(f[C>>2]<<2)>>2]=a<<8;f[C>>2]=(f[C>>2]|0)+1}t[(f[k>>2]|0)+7200>>0]=t[Y+908>>0]|0;Ao((f[k>>2]|0)+4768|0,F,(f[k>>2]|0)+7200|0,(f[v>>2]|0)==2&1,f[(f[k>>2]|0)+4604>>2]|0);f[L>>2]=Mo((f[k>>2]|0)+4768|0,f[(f[k>>2]|0)+4604>>2]|0)|0;f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[Y+(f[C>>2]<<2)>>2]=+(f[F+(f[C>>2]<<2)>>2]|0)/65536;f[C>>2]=(f[C>>2]|0)+1}f[U>>2]=(f[U>>2]|0)+1}if(f[S>>2]|0){if((f[L>>2]|0)!=(f[P>>2]|0)?(f[j>>2]|0)<=(f[g>>2]|0):0)break;a=f[p>>2]|0;o=Z;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(f[f[p>>2]>>2]|0,m|0,f[Z+24>>2]|0)|0;gs((f[k>>2]|0)+144|0,q|0,4380)|0;t[(f[k>>2]|0)+7200>>0]=t[_>>0]|0}}}while(0);ys((f[k>>2]|0)+9356|0,(f[k>>2]|0)+9356+(f[(f[k>>2]|0)+4608>>2]<<2)|0,(f[(f[k>>2]|0)+4616>>2]|0)+((f[(f[k>>2]|0)+4600>>2]|0)*5|0)<<2|0)|0;if(f[(f[k>>2]|0)+4712>>2]|0){f[f[d>>2]>>2]=0;f[w>>2]=f[z>>2];J=f[w>>2]|0;h=G;return J|0}else{f[(f[k>>2]|0)+4568>>2]=f[Y+228+((f[(f[k>>2]|0)+4604>>2]|0)-1<<2)>>2];t[(f[k>>2]|0)+4565>>0]=t[(f[k>>2]|0)+4768+29>>0]|0;f[(f[k>>2]|0)+4696>>2]=0;J=(Zi(f[p>>2]|0)|0)+7>>3;f[f[d>>2]>>2]=J;f[w>>2]=f[z>>2];J=f[w>>2]|0;h=G;return J|0}return 0}function Hi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function qi(e,r,i,a){e=e|0;r=r|0;i=i|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;v=h;h=h+4448|0;o=v+4432|0;l=v+4428|0;u=v+4424|0;c=v+4420|0;k=v+4416|0;b=v+4400|0;w=v+4384|0;d=v+4380|0;p=v;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=a;f[d>>2]=(f[o>>2]|0)+6132+((f[(f[o>>2]|0)+5780>>2]|0)*36|0);if(!(f[(f[o>>2]|0)+6124>>2]|0)){h=v;return}if((f[(f[o>>2]|0)+4556>>2]|0)<=77){h=v;return}f[(f[o>>2]|0)+4756+(f[(f[o>>2]|0)+5780>>2]<<2)>>2]=1;gs(p|0,(f[o>>2]|0)+144|0,4380)|0;a=f[d>>2]|0;e=(f[o>>2]|0)+4768|0;r=a+36|0;do{n[a>>1]=n[e>>1]|0;a=a+2|0;e=e+2|0}while((a|0)<(r|0));gs(w|0,f[l>>2]|0,f[(f[o>>2]|0)+4604>>2]<<2|0)|0;if(!((f[(f[o>>2]|0)+5780>>2]|0)!=0?(f[(f[o>>2]|0)+4756+((f[(f[o>>2]|0)+5780>>2]|0)-1<<2)>>2]|0)!=0:0)){t[(f[o>>2]|0)+4564>>0]=t[(f[o>>2]|0)+7200>>0]|0;i=f[d>>2]|0;t[i>>0]=(t[i>>0]|0)+(f[(f[o>>2]|0)+6128>>2]|0);i=(Wi(t[f[d>>2]>>0]|0,63)|0)&255;t[f[d>>2]>>0]=i}Ro(b,f[d>>2]|0,(f[o>>2]|0)+4564|0,(f[c>>2]|0)==2&1,f[(f[o>>2]|0)+4604>>2]|0);f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[(f[o>>2]|0)+4604>>2]|0))break;s[(f[l>>2]|0)+(f[k>>2]<<2)>>2]=+(f[b+(f[k>>2]<<2)>>2]|0)*152587890625e-16;f[k>>2]=(f[k>>2]|0)+1}Ot(f[o>>2]|0,f[l>>2]|0,f[d>>2]|0,p,(f[o>>2]|0)+6240+((f[(f[o>>2]|0)+5780>>2]|0)*320|0)|0,f[u>>2]|0);gs(f[l>>2]|0,w|0,f[(f[o>>2]|0)+4604>>2]<<2|0)|0;h=v;return}function Wi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zi(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Vi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ji(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Gi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+1744|0;o=_+1700|0;l=_+1696|0;u=_+1692|0;a=_+1688|0;d=_+1684|0;y=_+1680|0;w=_+1616|0;p=_+1608|0;v=_+1604|0;g=_+1600|0;b=_+1704|0;k=_+1536|0;c=_;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;s[a>>2]=n;f[y>>2]=(f[(f[o>>2]|0)+4612>>2]|0)+(f[(f[o>>2]|0)+4664>>2]|0);t[(f[o>>2]|0)+4768+31>>0]=4;s[p>>2]=+It(w,f[u>>2]|0,+s[a>>2],f[y>>2]|0,f[(f[o>>2]|0)+4604>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);e:do{if((f[(f[o>>2]|0)+4656>>2]|0?(f[(f[o>>2]|0)+4696>>2]|0)==0:0)?(f[(f[o>>2]|0)+4604>>2]|0)==4:0){n=+It(k,(f[u>>2]|0)+(f[y>>2]<<1<<2)|0,+s[a>>2],f[y>>2]|0,2,f[(f[o>>2]|0)+4664>>2]|0);s[p>>2]=+s[p>>2]-n;Rt(f[l>>2]|0,k,f[(f[o>>2]|0)+4664>>2]|0);s[v>>2]=3.4028234663852886e38;f[d>>2]=3;while(1){if((f[d>>2]|0)<0)break e;xo(b,(f[o>>2]|0)+4524|0,f[l>>2]|0,f[d>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);Mt(k,b,f[(f[o>>2]|0)+4664>>2]|0);et(c,k,f[u>>2]|0,f[y>>2]<<1,f[(f[o>>2]|0)+4664>>2]|0);n=+Ut(c+(f[(f[o>>2]|0)+4664>>2]<<2)|0,(f[y>>2]|0)-(f[(f[o>>2]|0)+4664>>2]|0)|0);s[g>>2]=n+ +Ut(c+(f[(f[o>>2]|0)+4664>>2]<<2)+(f[y>>2]<<2)|0,(f[y>>2]|0)-(f[(f[o>>2]|0)+4664>>2]|0)|0);n=+s[g>>2];if(!(+s[g>>2]<+s[p>>2])){if(n>+s[v>>2])break e}else{s[p>>2]=n;t[(f[o>>2]|0)+4768+31>>0]=f[d>>2]}s[v>>2]=+s[g>>2];f[d>>2]=(f[d>>2]|0)+-1}}}while(0);if((t[(f[o>>2]|0)+4768+31>>0]|0)!=4){h=_;return}Rt(f[l>>2]|0,w,f[(f[o>>2]|0)+4664>>2]|0);h=_;return}function Ki(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;j=h;h=h+192|0;b=j+188|0;F=j+184|0;w=j+180|0;N=j+176|0;k=j+172|0;d=j+168|0;p=j+164|0;T=j+160|0;D=j+156|0;P=j+152|0;I=j+148|0;M=j+144|0;U=j+140|0;_=j+136|0;g=j+132|0;v=j+128|0;x=j+112|0;C=j+104|0;L=j+100|0;O=j+80|0;B=j+64|0;E=j+48|0;S=j+44|0;y=j+24|0;R=j+8|0;A=j+4|0;m=j;f[b>>2]=e;f[F>>2]=r;f[w>>2]=i;f[N>>2]=t;f[k>>2]=n;f[d>>2]=a;f[p>>2]=o;f[T>>2]=l;f[D>>2]=u;f[M>>2]=f[b>>2];f[_>>2]=f[F>>2];f[A>>2]=(f[N>>2]|0)+(f[D>>2]<<2);f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;f[m>>2]=(f[A>>2]|0)+(0-((f[(f[k>>2]|0)+(f[I>>2]<<2)>>2]|0)+2)<<2);Fi(f[m>>2]|0,f[p>>2]|0,5,f[_>>2]|0);Ni(f[m>>2]|0,f[A>>2]|0,f[p>>2]|0,5,y);c=+Ut(f[A>>2]|0,f[p>>2]|0);s[R+(f[I>>2]<<2)>>2]=c;s[S>>2]=+s[R+(f[I>>2]<<2)>>2]+1+ +s[f[_>>2]>>2]+ +s[(f[_>>2]|0)+96>>2];s[S>>2]=+s[S>>2]*.01666666753590107;vt(f[_>>2]|0,R+(f[I>>2]<<2)|0,+s[S>>2],5);_t(f[_>>2]|0,5,y,f[M>>2]|0);c=+gt(f[M>>2]|0,f[_>>2]|0,y,+s[R+(f[I>>2]<<2)>>2],5);s[E+(f[I>>2]<<2)>>2]=c;s[U>>2]=+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]/(+s[E+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]+ +(f[p>>2]|0)*.009999999776482582);Ko(f[_>>2]|0,+s[U>>2],25);s[B+(f[I>>2]<<2)>>2]=+s[(f[_>>2]|0)+48>>2];f[A>>2]=(f[A>>2]|0)+(f[p>>2]<<2);f[M>>2]=(f[M>>2]|0)+20;f[_>>2]=(f[_>>2]|0)+100;f[I>>2]=(f[I>>2]|0)+1}if(f[w>>2]|0){s[v>>2]=9.999999974752427e-7;s[g>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[g>>2]=+s[g>>2]+ +s[R+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[E+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}c=+Xi(+s[g>>2]/+s[v>>2])*3;s[f[w>>2]>>2]=c}f[M>>2]=f[b>>2];f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[x+(f[I>>2]<<2)>>2]=0;f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;F=x+(f[I>>2]<<2)|0;s[F>>2]=+s[F>>2]+ +s[(f[M>>2]|0)+(f[P>>2]<<2)>>2];f[P>>2]=(f[P>>2]|0)+1}f[M>>2]=(f[M>>2]|0)+20;f[I>>2]=(f[I>>2]|0)+1}s[U>>2]=.0010000000474974513;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[U>>2]=+s[U>>2]+ +s[B+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}s[C>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[C>>2]=+s[C>>2]+ +s[x+(f[I>>2]<<2)>>2]*+s[B+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}s[C>>2]=+s[C>>2]/+s[U>>2];f[M>>2]=f[b>>2];f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[L>>2]=.10000000149011612/(+s[B+(f[I>>2]<<2)>>2]+.10000000149011612)*(+s[C>>2]-+s[x+(f[I>>2]<<2)>>2]);s[U>>2]=0;f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;if(+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]>.10000000149011612)c=+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2];else c=.10000000149011612;s[O+(f[P>>2]<<2)>>2]=c;s[U>>2]=+s[U>>2]+ +s[O+(f[P>>2]<<2)>>2];f[P>>2]=(f[P>>2]|0)+1}s[U>>2]=+s[L>>2]/+s[U>>2];f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]=+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]+ +s[O+(f[P>>2]<<2)>>2]*+s[U>>2];f[P>>2]=(f[P>>2]|0)+1}f[M>>2]=(f[M>>2]|0)+20;f[I>>2]=(f[I>>2]|0)+1}h=j;return}function Xi(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function $i(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;k=h;h=h+1792|0;l=k+1776|0;u=k+1772|0;c=k+1768|0;S=k+1764|0;b=k+1760|0;d=k+1756|0;w=k+1752|0;y=k+1748|0;E=k+1744|0;p=k+1740|0;_=k+1672|0;v=k+1608|0;g=k+1544|0;m=k+8|0;A=k;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[S>>2]=a;f[b>>2]=o;f[d>>2]=(f[(f[l>>2]|0)+4620>>2]|0)+(f[(f[l>>2]|0)+4608>>2]|0)+(f[(f[l>>2]|0)+4616>>2]|0);f[p>>2]=(f[S>>2]|0)+(0-(f[(f[l>>2]|0)+4616>>2]|0)<<2);f[E>>2]=(f[p>>2]|0)+(f[d>>2]<<2)+(0-(f[(f[l>>2]|0)+4572>>2]|0)<<2);f[A>>2]=m;Di(f[A>>2]|0,f[E>>2]|0,1,f[(f[l>>2]|0)+4620>>2]|0);f[A>>2]=(f[A>>2]|0)+(f[(f[l>>2]|0)+4620>>2]<<2);f[E>>2]=(f[E>>2]|0)+(f[(f[l>>2]|0)+4620>>2]<<2);gs(f[A>>2]|0,f[E>>2]|0,(f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2|0)|0;f[A>>2]=(f[A>>2]|0)+((f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+((f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2);Di(f[A>>2]|0,f[E>>2]|0,2,f[(f[l>>2]|0)+4620>>2]|0);Pt(_,m,f[(f[l>>2]|0)+4572>>2]|0,(f[(f[l>>2]|0)+4672>>2]|0)+1|0);s[_>>2]=+s[_>>2]+(+s[_>>2]*.0010000000474974513+1);s[y>>2]=+Xo(g,_,f[(f[l>>2]|0)+4672>>2]|0);s[(f[u>>2]|0)+868>>2]=+s[_>>2]/(+s[y>>2]>1?+s[y>>2]:1);jt(v,g,f[(f[l>>2]|0)+4672>>2]|0);Ct(v,f[(f[l>>2]|0)+4672>>2]|0,.9900000095367432);et(f[c>>2]|0,v,f[p>>2]|0,f[d>>2]|0,f[(f[l>>2]|0)+4672>>2]|0);if(t[(f[l>>2]|0)+4768+29>>0]|0?(f[(f[l>>2]|0)+4696>>2]|0)==0:0){s[w>>2]=.6000000238418579;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4672>>2]|0)*.004000000189989805;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4556>>2]|0)*.10000000149011612*.00390625;s[w>>2]=+s[w>>2]-+(t[(f[l>>2]|0)+4565>>0]>>1|0)*.15000000596046448;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4744>>2]|0)*.10000000149011612*30517578125e-15;S=(Ft(f[c>>2]|0,(f[u>>2]|0)+228|0,(f[l>>2]|0)+4768+26|0,(f[l>>2]|0)+4768+28|0,(f[l>>2]|0)+12236|0,f[(f[l>>2]|0)+4568>>2]|0,+(f[(f[l>>2]|0)+4676>>2]|0)/65536,+s[w>>2],f[(f[l>>2]|0)+4600>>2]|0,f[(f[l>>2]|0)+4668>>2]|0,f[(f[l>>2]|0)+4604>>2]|0,f[b>>2]|0)|0)==0;l=(f[l>>2]|0)+4768+29|0;if(S){t[l>>0]=2;h=k;return}else{t[l>>0]=1;h=k;return}}S=(f[u>>2]|0)+228|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[(f[l>>2]|0)+4768+26>>1]=0;t[(f[l>>2]|0)+4768+28>>0]=0;s[(f[l>>2]|0)+12236>>2]=0;h=k;return}function Qi(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+2048|0;u=A+2004|0;c=A+2e3|0;b=A+1996|0;w=A+1992|0;k=A+1988|0;g=A+1984|0;p=A+1584|0;y=A+1568|0;v=A+1552|0;l=A+2008|0;E=A+1548|0;m=A+1544|0;d=A+8|0;_=A;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=a;f[k>>2]=o;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;s[y+(f[g>>2]<<2)>>2]=1/+s[(f[c>>2]|0)+(f[g>>2]<<2)>>2];s[v+(f[g>>2]<<2)>>2]=+s[y+(f[g>>2]<<2)>>2]*+s[y+(f[g>>2]<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}if((t[(f[u>>2]|0)+4768+29>>0]|0)==2){Ki((f[c>>2]|0)+144|0,p,(f[c>>2]|0)+872|0,f[b>>2]|0,(f[c>>2]|0)+228|0,v,f[(f[u>>2]|0)+4612>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+4616>>2]|0);Lt((f[c>>2]|0)+144|0,(f[u>>2]|0)+4768+4|0,(f[u>>2]|0)+4768+32|0,(f[u>>2]|0)+4688|0,p,f[(f[u>>2]|0)+4684>>2]|0,f[(f[u>>2]|0)+4680>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+5124>>2]|0);ot(f[u>>2]|0,f[c>>2]|0,f[k>>2]|0);at(d,(f[w>>2]|0)+(0-(f[(f[u>>2]|0)+4664>>2]|0)<<2)|0,(f[c>>2]|0)+144|0,(f[c>>2]|0)+228|0,y,f[(f[u>>2]|0)+4612>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+4664>>2]|0)}else{f[E>>2]=(f[w>>2]|0)+(0-(f[(f[u>>2]|0)+4664>>2]|0)<<2);f[m>>2]=d;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;Jt(f[m>>2]|0,f[E>>2]|0,+s[y+(f[g>>2]<<2)>>2],(f[(f[u>>2]|0)+4612>>2]|0)+(f[(f[u>>2]|0)+4664>>2]|0)|0);f[m>>2]=(f[m>>2]|0)+((f[(f[u>>2]|0)+4612>>2]|0)+(f[(f[u>>2]|0)+4664>>2]|0)<<2);f[E>>2]=(f[E>>2]|0)+(f[(f[u>>2]|0)+4612>>2]<<2);f[g>>2]=(f[g>>2]|0)+1}vs((f[c>>2]|0)+144|0,0,(f[(f[u>>2]|0)+4604>>2]|0)*5<<2|0)|0;s[(f[c>>2]|0)+872>>2]=0;f[(f[u>>2]|0)+4688>>2]=0}if(f[(f[u>>2]|0)+4696>>2]|0){s[_>>2]=.009999999776482582;a=f[u>>2]|0;S=+s[_>>2];Gi(a,l,d,S);a=f[u>>2]|0;i=f[c>>2]|0;i=i+16|0;r=f[u>>2]|0;r=r+4524|0;xt(a,i,l,r);r=f[c>>2]|0;r=r+876|0;i=f[c>>2]|0;i=i+16|0;a=f[c>>2]|0;m=f[u>>2]|0;m=m+4612|0;m=f[m>>2]|0;E=f[u>>2]|0;E=E+4604|0;E=f[E>>2]|0;c=f[u>>2]|0;c=c+4664|0;c=f[c>>2]|0;yt(r,d,i,a,m,E,c);c=f[u>>2]|0;c=c+4524|0;u=c+32|0;do{n[c>>1]=n[l>>1]|0;c=c+2|0;l=l+2|0}while((c|0)<(u|0));h=A;return}else{s[_>>2]=+q(2,+(+s[(f[c>>2]|0)+872>>2]/3))/1e4;s[_>>2]=+s[_>>2]/(+s[(f[c>>2]|0)+860>>2]*.75+.25);a=f[u>>2]|0;S=+s[_>>2];Gi(a,l,d,S);a=f[u>>2]|0;i=f[c>>2]|0;i=i+16|0;r=f[u>>2]|0;r=r+4524|0;xt(a,i,l,r);r=f[c>>2]|0;r=r+876|0;i=f[c>>2]|0;i=i+16|0;a=f[c>>2]|0;m=f[u>>2]|0;m=m+4612|0;m=f[m>>2]|0;E=f[u>>2]|0;E=E+4604|0;E=f[E>>2]|0;c=f[u>>2]|0;c=c+4664|0;c=f[c>>2]|0;yt(r,d,i,a,m,E,c);c=f[u>>2]|0;c=c+4524|0;u=c+32|0;do{n[c>>1]=n[l>>1]|0;c=c+2|0;l=l+2|0}while((c|0)<(u|0));h=A;return}}function et(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;a=c+16|0;o=c+12|0;l=c+8|0;s=c+4|0;u=c;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;switch(f[u>>2]|0){case 6:{rt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 8:{it(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 10:{tt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 12:{nt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 16:{ft(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}default:{}}vs(f[a>>2]|0,0,f[u>>2]<<2|0)|0;h=c;return}function rt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=6;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function it(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=8;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function tt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=10;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function nt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=12;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2]+ +s[(f[b>>2]|0)+-40>>2]*+s[(f[a>>2]|0)+40>>2]+ +s[(f[b>>2]|0)+-44>>2]*+s[(f[a>>2]|0)+44>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function ft(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=16;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2]+ +s[(f[b>>2]|0)+-40>>2]*+s[(f[a>>2]|0)+40>>2]+ +s[(f[b>>2]|0)+-44>>2]*+s[(f[a>>2]|0)+44>>2]+ +s[(f[b>>2]|0)+-48>>2]*+s[(f[a>>2]|0)+48>>2]+ +s[(f[b>>2]|0)+-52>>2]*+s[(f[a>>2]|0)+52>>2]+ +s[(f[b>>2]|0)+-56>>2]*+s[(f[a>>2]|0)+56>>2]+ +s[(f[b>>2]|0)+-60>>2]*+s[(f[a>>2]|0)+60>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function at(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0;S=h;h=h+80|0;R=S+76|0;T=S+72|0;u=S+68|0;c=S+64|0;b=S+60|0;w=S+56|0;k=S+52|0;d=S+48|0;A=S+44|0;E=S+40|0;p=S+20|0;v=S+16|0;y=S+12|0;m=S+8|0;g=S+4|0;_=S;f[R>>2]=e;f[T>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[A>>2]=f[T>>2];f[v>>2]=f[R>>2];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[k>>2]|0))break;f[E>>2]=(f[A>>2]|0)+(0-(f[(f[c>>2]|0)+(f[m>>2]<<2)>>2]|0)<<2);s[y>>2]=+s[(f[b>>2]|0)+(f[m>>2]<<2)>>2];f[g>>2]=0;while(1){if((f[g>>2]|0)>=5)break;s[p+(f[g>>2]<<2)>>2]=+s[(f[u>>2]|0)+(((f[m>>2]|0)*5|0)+(f[g>>2]|0)<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}f[g>>2]=0;while(1){if((f[g>>2]|0)>=((f[w>>2]|0)+(f[d>>2]|0)|0))break;s[(f[v>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[A>>2]|0)+(f[g>>2]<<2)>>2];f[_>>2]=0;while(1){if((f[_>>2]|0)>=5)break;T=(f[v>>2]|0)+(f[g>>2]<<2)|0;s[T>>2]=+s[T>>2]-+s[p+(f[_>>2]<<2)>>2]*+s[(f[E>>2]|0)+(2-(f[_>>2]|0)<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}T=(f[v>>2]|0)+(f[g>>2]<<2)|0;s[T>>2]=+s[T>>2]*+s[y>>2];f[E>>2]=(f[E>>2]|0)+4;f[g>>2]=(f[g>>2]|0)+1}f[v>>2]=(f[v>>2]|0)+((f[w>>2]|0)+(f[d>>2]|0)<<2);f[A>>2]=(f[A>>2]|0)+(f[w>>2]<<2);f[m>>2]=(f[m>>2]|0)+1}h=S;return}function ot(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,u=0,c=0,b=0;c=h;h=h+16|0;l=c+12|0;u=c+8|0;b=c+4|0;o=c;f[l>>2]=e;f[u>>2]=r;f[b>>2]=i;i=f[l>>2]|0;if(!(f[b>>2]|0)){f[o>>2]=(f[i+4640>>2]|0)+(f[(f[l>>2]|0)+5776>>2]|0);if(!(+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612>2))if(+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612<0)a=0;else a=+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612;else a=2;t[(f[l>>2]|0)+4768+33>>0]=~~a}else t[i+4768+33>>0]=0;s[(f[u>>2]|0)+224>>2]=+(n[24566+(t[(f[l>>2]|0)+4768+33>>0]<<1)>>1]|0)/16384;h=c;return}function lt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;D=h;h=h+1152|0;x=D+1140|0;O=D+1136|0;a=D+1132|0;F=D+1128|0;B=D+1124|0;U=D+1120|0;c=D+1116|0;d=D+1112|0;L=D+1108|0;P=D+1104|0;I=D+1100|0;m=D+1096|0;E=D+1092|0;l=D+1088|0;u=D+1084|0;o=D+1080|0;v=D+1076|0;w=D+1072|0;k=D+1068|0;_=D+1064|0;y=D+1060|0;j=D+1056|0;C=D+1052|0;R=D+1048|0;M=D+88|0;p=D+20|0;T=D+16|0;b=D+12|0;A=D+8|0;S=D+4|0;g=D;f[x>>2]=e;f[O>>2]=r;f[a>>2]=i;f[F>>2]=n;f[B>>2]=(f[x>>2]|0)+7200;f[T>>2]=(f[F>>2]|0)+(0-(f[(f[x>>2]|0)+4624>>2]|0)<<2);s[d>>2]=+(f[(f[x>>2]|0)+4748>>2]|0)*.0078125;s[(f[O>>2]|0)+856>>2]=+((f[(f[x>>2]|0)+4728>>2]|0)+(f[(f[x>>2]|0)+4728+4>>2]|0)|0)*.5*30517578125e-15;N=+st((+s[d>>2]-20)*.25);s[(f[O>>2]|0)+860>>2]=N;if(!(f[(f[x>>2]|0)+4708>>2]|0)){s[C>>2]=1-+(f[(f[x>>2]|0)+4556>>2]|0)*.00390625;s[d>>2]=+s[d>>2]-+s[(f[O>>2]|0)+860>>2]*2*(+s[(f[O>>2]|0)+856>>2]*.5+.5)*+s[C>>2]*+s[C>>2]}i=f[x>>2]|0;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2)s[d>>2]=+s[d>>2]+ +s[i+12236>>2]*2;else s[d>>2]=+s[d>>2]+(+(f[i+4748>>2]|0)*-.4000000059604645*.0078125+6)*(1-+s[(f[O>>2]|0)+856>>2]);i=f[x>>2]|0;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){t[i+4768+30>>0]=0;s[(f[O>>2]|0)+864>>2]=0}else{f[c>>2]=f[i+4600>>2]<<1;s[o>>2]=0;s[u>>2]=0;f[b>>2]=f[a>>2];f[U>>2]=0;while(1){if((f[U>>2]|0)>=((((f[(f[x>>2]|0)+4604>>2]&65535)<<16>>16)*5|0)/2|0|0))break;N=+(f[c>>2]|0);s[m>>2]=N+ +Ut(f[b>>2]|0,f[c>>2]|0);s[l>>2]=+ut(+s[m>>2]);if((f[U>>2]|0)>0){N=+Y(+(+s[l>>2]-+s[u>>2]));s[o>>2]=+s[o>>2]+N}s[u>>2]=+s[l>>2];f[b>>2]=(f[b>>2]|0)+(f[c>>2]<<2);f[U>>2]=(f[U>>2]|0)+1}N=+st((+s[o>>2]-5)*.4000000059604645);s[(f[O>>2]|0)+864>>2]=N;i=(f[x>>2]|0)+4768+30|0;if(+s[(f[O>>2]|0)+864>>2]>.75)t[i>>0]=0;else t[i>>0]=1;s[d>>2]=+s[d>>2]+(+s[(f[O>>2]|0)+864>>2]-.5)*2}s[j>>2]=+s[(f[O>>2]|0)+868>>2]*.0010000000474974513;N=.949999988079071/(+s[j>>2]*+s[j>>2]+1);s[k>>2]=N;s[w>>2]=N;s[v>>2]=(1-+s[(f[O>>2]|0)+860>>2]*.75)*.009999999776482582;s[w>>2]=+s[w>>2]-+s[v>>2];s[k>>2]=+s[k>>2]+ +s[v>>2];s[w>>2]=+s[w>>2]/+s[k>>2];if((f[(f[x>>2]|0)+4704>>2]|0)>0)s[R>>2]=+(f[(f[x>>2]|0)+4704>>2]|0)/65536+ +s[(f[O>>2]|0)+860>>2]*.009999999776482582;else s[R>>2]=0;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;f[g>>2]=(f[(f[x>>2]|0)+4600>>2]|0)*3;f[S>>2]=((f[(f[x>>2]|0)+4628>>2]|0)-(f[g>>2]|0)|0)/2|0;Di(M,f[T>>2]|0,1,f[S>>2]|0);f[A>>2]=f[S>>2];gs(M+(f[A>>2]<<2)|0,(f[T>>2]|0)+(f[A>>2]<<2)|0,f[g>>2]<<2|0)|0;f[A>>2]=(f[A>>2]|0)+(f[g>>2]|0);Di(M+(f[A>>2]<<2)|0,(f[T>>2]|0)+(f[A>>2]<<2)|0,2,f[S>>2]|0);f[T>>2]=(f[T>>2]|0)+(f[(f[x>>2]|0)+4612>>2]<<2);if((f[(f[x>>2]|0)+4704>>2]|0)>0)St(p,M,+s[R>>2],f[(f[x>>2]|0)+4628>>2]|0,f[(f[x>>2]|0)+4660>>2]|0);else Pt(p,M,f[(f[x>>2]|0)+4628>>2]|0,(f[(f[x>>2]|0)+4660>>2]|0)+1|0);s[p>>2]=+s[p>>2]+ +s[p>>2]*4999999873689376e-20;s[m>>2]=+Dt((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,p,f[(f[x>>2]|0)+4660>>2]|0);N=+H(+ +s[m>>2]);s[(f[O>>2]|0)+(f[U>>2]<<2)>>2]=N;if((f[(f[x>>2]|0)+4704>>2]|0)>0){N=+ht((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,+s[R>>2],f[(f[x>>2]|0)+4660>>2]|0);F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*N}Ct((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0,+s[k>>2]);gs((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,(f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]<<2|0)|0;Ct((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0,+s[w>>2]);s[E>>2]=+Nt((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0);s[m>>2]=+Nt((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0);s[(f[O>>2]|0)+788+(f[U>>2]<<2)>>2]=1-(1-+s[E>>2]/+s[m>>2])*.699999988079071;ct((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,(f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,+s[R>>2],3.999000072479248,f[(f[x>>2]|0)+4660>>2]|0);f[U>>2]=(f[U>>2]|0)+1}s[_>>2]=+q(2,+(+s[d>>2]*-.1599999964237213));s[y>>2]=+q(2,.3199999928474426);f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*+s[_>>2];F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]+ +s[y>>2];f[U>>2]=(f[U>>2]|0)+1}s[_>>2]=+s[(f[O>>2]|0)+860>>2]*.10000000149011612+1.0499999523162842;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[O>>2]|0)+788+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*+s[_>>2];f[U>>2]=(f[U>>2]|0)+1}s[j>>2]=((+(f[(f[x>>2]|0)+4728>>2]|0)*30517578125e-15-1)*.5+1)*4;s[j>>2]=+s[j>>2]*(+(f[(f[x>>2]|0)+4556>>2]|0)*.00390625);if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){f[U>>2]=0;while(1){i=f[x>>2]|0;if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;s[C>>2]=.20000000298023224/+(f[i+4600>>2]|0)+3/+(f[(f[O>>2]|0)+228+(f[U>>2]<<2)>>2]|0);s[(f[O>>2]|0)+756+(f[U>>2]<<2)>>2]=+s[C>>2]+-1;s[(f[O>>2]|0)+772+(f[U>>2]<<2)>>2]=1-+s[C>>2]-+s[C>>2]*+s[j>>2];f[U>>2]=(f[U>>2]|0)+1}s[I>>2]=-.25-+(f[i+4556>>2]|0)*.26249998807907104*.00390625}else{s[C>>2]=1.2999999523162842/+(f[(f[x>>2]|0)+4600>>2]|0);s[(f[O>>2]|0)+756>>2]=+s[C>>2]+-1;s[(f[O>>2]|0)+772>>2]=1-+s[C>>2]-+s[C>>2]*+s[j>>2]*.6000000238418579;f[U>>2]=1;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;s[(f[O>>2]|0)+756+(f[U>>2]<<2)>>2]=+s[(f[O>>2]|0)+756>>2];s[(f[O>>2]|0)+772+(f[U>>2]<<2)>>2]=+s[(f[O>>2]|0)+772>>2];f[U>>2]=(f[U>>2]|0)+1}s[I>>2]=-.25}s[L>>2]=(1-+s[(f[O>>2]|0)+860>>2])*.10000000149011612*+s[(f[x>>2]|0)+12236>>2];s[L>>2]=+s[L>>2]+(1-+s[(f[O>>2]|0)+856>>2])*.10000000149011612;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){s[P>>2]=.30000001192092896;s[P>>2]=+s[P>>2]+(1-(1-+s[(f[O>>2]|0)+860>>2])*+s[(f[O>>2]|0)+856>>2])*.20000000298023224;N=+H(+ +s[(f[x>>2]|0)+12236>>2]);s[P>>2]=+s[P>>2]*N}else s[P>>2]=0;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[B>>2]|0)+4|0;s[F>>2]=+s[F>>2]+(+s[L>>2]-+s[(f[B>>2]|0)+4>>2])*.4000000059604645;s[(f[O>>2]|0)+804+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+4>>2];F=(f[B>>2]|0)+8|0;s[F>>2]=+s[F>>2]+(+s[P>>2]-+s[(f[B>>2]|0)+8>>2])*.4000000059604645;s[(f[O>>2]|0)+836+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+8>>2];F=(f[B>>2]|0)+12|0;s[F>>2]=+s[F>>2]+(+s[I>>2]-+s[(f[B>>2]|0)+12>>2])*.4000000059604645;s[(f[O>>2]|0)+820+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+12>>2];f[U>>2]=(f[U>>2]|0)+1}h=D;return}function st(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;s[i>>2]=e;e=1/(+$(+-+s[i>>2])+1);h=r;return+e}function ut(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function ht(e,r,i){e=e|0;r=+r;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;u=l+8|0;o=l+4|0;a=l;f[t>>2]=e;s[n>>2]=r;f[u>>2]=i;s[n>>2]=-+s[n>>2];s[a>>2]=+s[(f[t>>2]|0)+((f[u>>2]|0)-1<<2)>>2];f[o>>2]=(f[u>>2]|0)-2;while(1){r=+s[n>>2]*+s[a>>2];if((f[o>>2]|0)<0)break;s[a>>2]=r+ +s[(f[t>>2]|0)+(f[o>>2]<<2)>>2];f[o>>2]=(f[o>>2]|0)+-1}h=l;return+(1/(1-r))}function ct(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=+t;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;a=_+48|0;o=_+44|0;l=_+40|0;u=_+36|0;c=_+32|0;d=_+28|0;v=_+24|0;p=_+20|0;y=_+16|0;g=_+12|0;b=_+8|0;k=_+4|0;w=_;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;s[u>>2]=t;f[c>>2]=n;f[p>>2]=0;f[d>>2]=(f[c>>2]|0)-1;while(1){i=+s[l>>2];if((f[d>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-i*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-+s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+-1}s[k>>2]=(1-i*+s[l>>2])/(+s[l>>2]*+s[f[a>>2]>>2]+1);s[w>>2]=(1-+s[l>>2]*+s[l>>2])/(+s[l>>2]*+s[f[o>>2]>>2]+1);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}f[v>>2]=0;while(1){if((f[v>>2]|0)>=10){r=31;break}s[g>>2]=-1;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;t=+Y(+ +s[(f[a>>2]|0)+(f[d>>2]<<2)>>2]);n=t>+Y(+ +s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]);r=f[d>>2]|0;if(n)i=+s[(f[a>>2]|0)+(r<<2)>>2];else i=+s[(f[o>>2]|0)+(r<<2)>>2];s[y>>2]=+Y(+i);if(+s[y>>2]>+s[g>>2]){s[g>>2]=+s[y>>2];f[p>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}if(+s[g>>2]<=+s[u>>2]){r=31;break}f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]+ +s[l>>2]*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]+ +s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[k>>2]=1/+s[k>>2];s[w>>2]=1/+s[w>>2];f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}s[b>>2]=.9900000095367432-(+(f[v>>2]|0)*.10000000149011612+.800000011920929)*(+s[g>>2]-+s[u>>2])/(+s[g>>2]*+((f[p>>2]|0)+1|0));Ct(f[a>>2]|0,f[c>>2]|0,+s[b>>2]);Ct(f[o>>2]|0,f[c>>2]|0,+s[b>>2]);f[d>>2]=(f[c>>2]|0)-1;while(1){i=+s[l>>2];if((f[d>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-i*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-+s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+-1}s[k>>2]=(1-i*+s[l>>2])/(+s[l>>2]*+s[f[a>>2]>>2]+1);s[w>>2]=(1-+s[l>>2]*+s[l>>2])/(+s[l>>2]*+s[f[o>>2]>>2]+1);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}f[v>>2]=(f[v>>2]|0)+1}if((r|0)==31){h=_;return}}function bt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;A=h;h=h+464|0;a=A+460|0;o=A+456|0;S=A+452|0;R=A+448|0;d=A+444|0;v=A+440|0;g=A+436|0;y=A+432|0;b=A+428|0;p=A+424|0;k=A+420|0;w=A+416|0;u=A+408|0;l=A+404|0;_=A+400|0;m=A+396|0;c=A+384|0;E=A;f[a>>2]=e;f[o>>2]=r;f[S>>2]=i;f[R>>2]=n;f[d>>2]=(f[a>>2]|0)+7216;f[_>>2]=f[R>>2];f[m>>2]=f[S>>2];f[y>>2]=f[(f[d>>2]|0)+2136>>2];f[g>>2]=0;while(1){e=f[a>>2]|0;if((f[g>>2]|0)>=(f[(f[a>>2]|0)+4604>>2]|0))break;if((t[e+4768+29>>0]|0)==2)f[y>>2]=f[(f[o>>2]|0)+228+(f[g>>2]<<2)>>2];s[b>>2]=+s[(f[o>>2]|0)+836+(f[g>>2]<<2)>>2]*(1-+s[(f[o>>2]|0)+804+(f[g>>2]<<2)>>2]);s[c>>2]=+s[b>>2]*.25;s[c+4>>2]=+s[b>>2]*.4999847412109375;s[c+8>>2]=+s[b>>2]*.25;s[p>>2]=+s[(f[o>>2]|0)+820+(f[g>>2]<<2)>>2];s[k>>2]=+s[(f[o>>2]|0)+756+(f[g>>2]<<2)>>2];s[w>>2]=+s[(f[o>>2]|0)+772+(f[g>>2]<<2)>>2];f[l>>2]=(f[o>>2]|0)+244+(f[g>>2]<<4<<2);wt((f[d>>2]|0)+2048|0,E,f[l>>2]|0,f[_>>2]|0,+(f[(f[a>>2]|0)+4704>>2]|0)/65536,f[(f[a>>2]|0)+4612>>2]|0,f[(f[a>>2]|0)+4660>>2]|0);s[u>>2]=+s[(f[o>>2]|0)+788+(f[g>>2]<<2)>>2];s[u+4>>2]=-+s[(f[o>>2]|0)+788+(f[g>>2]<<2)>>2]*(+s[(f[o>>2]|0)+804+(f[g>>2]<<2)>>2]*+s[b>>2]+.05000000074505806+ +s[(f[o>>2]|0)+860>>2]*.10000000149011612);s[f[m>>2]>>2]=+s[u>>2]*+s[E>>2]+ +s[u+4>>2]*+s[(f[d>>2]|0)+2128>>2];f[v>>2]=1;while(1){if((f[v>>2]|0)>=(f[(f[a>>2]|0)+4612>>2]|0))break;s[(f[m>>2]|0)+(f[v>>2]<<2)>>2]=+s[u>>2]*+s[E+(f[v>>2]<<2)>>2]+ +s[u+4>>2]*+s[E+((f[v>>2]|0)-1<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[(f[d>>2]|0)+2128>>2]=+s[E+((f[(f[a>>2]|0)+4612>>2]|0)-1<<2)>>2];kt(f[d>>2]|0,f[m>>2]|0,f[m>>2]|0,c,+s[p>>2],+s[k>>2],+s[w>>2],f[y>>2]|0,f[(f[a>>2]|0)+4612>>2]|0);f[_>>2]=(f[_>>2]|0)+(f[(f[a>>2]|0)+4612>>2]<<2);f[m>>2]=(f[m>>2]|0)+(f[(f[a>>2]|0)+4612>>2]<<2);f[g>>2]=(f[g>>2]|0)+1}f[(f[d>>2]|0)+2136>>2]=f[(f[o>>2]|0)+228+((f[e+4604>>2]|0)-1<<2)>>2];h=A;return}function wt(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+48|0;l=m+44|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;k=m+24|0;d=m+20|0;g=m+16|0;v=m+12|0;p=m+8|0;y=m+4|0;_=m;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;s[w>>2]=n;f[k>>2]=a;f[d>>2]=o;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[k>>2]|0))break;s[_>>2]=+s[f[l>>2]>>2]+ +s[w>>2]*+s[(f[l>>2]|0)+4>>2];s[f[l>>2]>>2]=+s[(f[b>>2]|0)+(f[g>>2]<<2)>>2];s[y>>2]=+s[(f[l>>2]|0)+4>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+8>>2]-+s[_>>2]);s[(f[l>>2]|0)+4>>2]=+s[_>>2];s[p>>2]=+s[f[c>>2]>>2]*+s[_>>2];f[v>>2]=2;while(1){if((f[v>>2]|0)>=(f[d>>2]|0))break;s[_>>2]=+s[(f[l>>2]|0)+(f[v>>2]<<2)>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]-+s[y>>2]);s[(f[l>>2]|0)+(f[v>>2]<<2)>>2]=+s[y>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+((f[v>>2]|0)-1<<2)>>2]*+s[y>>2];s[y>>2]=+s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+((f[v>>2]|0)+2<<2)>>2]-+s[_>>2]);s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]=+s[_>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+(f[v>>2]<<2)>>2]*+s[_>>2];f[v>>2]=(f[v>>2]|0)+2}s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]=+s[y>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+((f[d>>2]|0)-1<<2)>>2]*+s[y>>2];s[(f[u>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[b>>2]|0)+(f[g>>2]<<2)>>2]-+s[p>>2];f[g>>2]=(f[g>>2]|0)+1}h=m;return}function kt(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=+a;o=+o;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;O=h;h=h+80|0;c=O+68|0;b=O+64|0;w=O+60|0;k=O+56|0;d=O+52|0;p=O+48|0;v=O+44|0;g=O+40|0;y=O+36|0;E=O+32|0;A=O+28|0;m=O+24|0;T=O+20|0;S=O+16|0;R=O+12|0;M=O+8|0;x=O+4|0;_=O;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;s[d>>2]=n;s[p>>2]=a;s[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=f[c>>2];f[m>>2]=f[(f[c>>2]|0)+2116>>2];s[M>>2]=+s[(f[c>>2]|0)+2120>>2];s[x>>2]=+s[(f[c>>2]|0)+2124>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[y>>2]|0))break;if((f[g>>2]|0)>0){f[A>>2]=(f[g>>2]|0)+(f[m>>2]|0);s[R>>2]=+s[(f[_>>2]|0)+(((f[A>>2]|0)-1-1&511)<<2)>>2]*+s[f[k>>2]>>2];s[R>>2]=+s[R>>2]+ +s[(f[_>>2]|0)+(((f[A>>2]|0)-1&511)<<2)>>2]*+s[(f[k>>2]|0)+4>>2];s[R>>2]=+s[R>>2]+ +s[(f[_>>2]|0)+(((f[A>>2]|0)-1+1&511)<<2)>>2]*+s[(f[k>>2]|0)+8>>2]}else s[R>>2]=0;s[T>>2]=+s[M>>2]*+s[d>>2];s[S>>2]=+s[M>>2]*+s[v>>2]+ +s[x>>2]*+s[p>>2];s[M>>2]=+s[(f[b>>2]|0)+(f[E>>2]<<2)>>2]-+s[T>>2];s[x>>2]=+s[M>>2]-+s[S>>2];f[m>>2]=(f[m>>2]|0)-1&511;s[(f[_>>2]|0)+(f[m>>2]<<2)>>2]=+s[x>>2];s[(f[w>>2]|0)+(f[E>>2]<<2)>>2]=+s[x>>2]-+s[R>>2];f[E>>2]=(f[E>>2]|0)+1}s[(f[c>>2]|0)+2120>>2]=+s[M>>2];s[(f[c>>2]|0)+2124>>2]=+s[x>>2];f[(f[c>>2]|0)+2116>>2]=f[m>>2];h=O;return}function dt(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;v=h;h=h+64|0;k=v+48|0;d=v+44|0;a=v+40|0;b=v+36|0;u=v+32|0;c=v+16|0;w=v+12|0;o=v+8|0;l=v+4|0;p=v;f[k>>2]=e;f[d>>2]=r;f[a>>2]=i;f[b>>2]=(f[k>>2]|0)+7200;e:do{if((t[(f[k>>2]|0)+4768+29>>0]|0)==2){s[w>>2]=1-+pt((+s[(f[d>>2]|0)+872>>2]-12)*.25)*.5;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break e;r=(f[d>>2]|0)+(f[u>>2]<<2)|0;s[r>>2]=+s[r>>2]*+s[w>>2];f[u>>2]=(f[u>>2]|0)+1}}}while(0);g=+q(2,+((21-+(f[(f[k>>2]|0)+4748>>2]|0)*.0078125)*.33000001311302185));s[o>>2]=g/+(f[(f[k>>2]|0)+4612>>2]|0);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[l>>2]=+s[(f[d>>2]|0)+(f[u>>2]<<2)>>2];s[l>>2]=+H(+(+s[l>>2]*+s[l>>2]+ +s[(f[d>>2]|0)+876+(f[u>>2]<<2)>>2]*+s[o>>2]));s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]=+s[l>>2]<32767?+s[l>>2]:32767;f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;f[c+(f[u>>2]<<2)>>2]=~~(+s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]*65536);f[u>>2]=(f[u>>2]|0)+1}gs((f[d>>2]|0)+892|0,c|0,f[(f[k>>2]|0)+4604>>2]<<2|0)|0;t[(f[d>>2]|0)+908>>0]=t[f[b>>2]>>0]|0;Ao((f[k>>2]|0)+4768|0,c,f[b>>2]|0,(f[a>>2]|0)==2&1,f[(f[k>>2]|0)+4604>>2]|0);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]=+(f[c+(f[u>>2]<<2)>>2]|0)/65536;f[u>>2]=(f[u>>2]|0)+1}do{if((t[(f[k>>2]|0)+4768+29>>0]|0)==2){a=(f[k>>2]|0)+4768+30|0;if(+s[(f[d>>2]|0)+872>>2]+ +(f[(f[k>>2]|0)+4744>>2]|0)*30517578125e-15>1){t[a>>0]=0;break}else{t[a>>0]=1;break}}}while(0);s[p>>2]=+(n[24558+(t[(f[k>>2]|0)+4768+29>>0]>>1<<2)+(t[(f[k>>2]|0)+4768+30>>0]<<1)>>1]|0)/1024;s[(f[d>>2]|0)+852>>2]=+(f[(f[k>>2]|0)+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(f[(f[k>>2]|0)+4556>>2]|0)*-.20000000298023224*.00390625+ +s[(f[d>>2]|0)+856>>2]*-.10000000149011612+ +s[(f[d>>2]|0)+860>>2]*-.20000000298023224+ +s[p>>2]*.800000011920929;h=v;return}function pt(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;s[i>>2]=e;e=1/(+$(+-+s[i>>2])+1);h=r;return+e}function vt(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;s[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){i=+s[o>>2];if((f[u>>2]|0)>=(f[l>>2]|0))break;r=re(f[u>>2]|0,f[l>>2]|0)|0;r=(f[n>>2]|0)+(r+(f[u>>2]|0)<<2)|0;s[r>>2]=+s[r>>2]+i;f[u>>2]=(f[u>>2]|0)+1}u=f[a>>2]|0;s[u>>2]=+s[u>>2]+i;h=c;return}function gt(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;a=g+40|0;o=g+36|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;v=g+8|0;d=g+4|0;p=g;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[u>>2]=t;f[c>>2]=n;s[d>>2]=0;i=(re(f[c>>2]|0,f[c>>2]|0)|0)-1|0;s[p>>2]=(+s[f[o>>2]>>2]+ +s[(f[o>>2]|0)+(i<<2)>>2])*9.99999993922529e-9;f[k>>2]=0;while(1){if((f[k>>2]|0)>=10)break;s[d>>2]=+s[u>>2];s[v>>2]=0;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[b>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}s[d>>2]=+s[d>>2]-+s[v>>2]*2;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[v>>2]=0;f[w>>2]=(f[b>>2]|0)+1;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;t=+s[(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[w>>2]|0)|0)<<2)>>2];s[v>>2]=+s[v>>2]+t*+s[(f[a>>2]|0)+(f[w>>2]<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}t=+s[(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[b>>2]|0)|0)<<2)>>2];s[d>>2]=+s[d>>2]+ +s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]*(+s[v>>2]*2+t*+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]);f[b>>2]=(f[b>>2]|0)+1}if(+s[d>>2]>0)break;f[b>>2]=0;while(1){t=+s[p>>2];if((f[b>>2]|0)>=(f[c>>2]|0))break;i=(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[b>>2]|0)|0)<<2)|0;s[i>>2]=+s[i>>2]+t;f[b>>2]=(f[b>>2]|0)+1}s[p>>2]=t*2;f[k>>2]=(f[k>>2]|0)+1}if((f[k>>2]|0)!=10){t=+s[d>>2];h=g;return+t}s[d>>2]=1;t=+s[d>>2];h=g;return+t}function yt(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+816|0;l=g+800|0;u=g+796|0;c=g+792|0;b=g+788|0;w=g+784|0;y=g+780|0;k=g+776|0;v=g+772|0;p=g+768|0;d=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[y>>2]=a;f[k>>2]=o;f[p>>2]=d+(f[k>>2]<<2);f[v>>2]=(f[k>>2]|0)+(f[w>>2]|0);et(d,f[c>>2]|0,(f[u>>2]|0)+(0<<2)|0,f[v>>2]<<1,f[k>>2]|0);_=+s[f[b>>2]>>2]*+s[f[b>>2]>>2];_=_*+Ut((f[p>>2]|0)+(0<<2)|0,f[w>>2]|0);s[f[l>>2]>>2]=_;_=+s[(f[b>>2]|0)+4>>2]*+s[(f[b>>2]|0)+4>>2];_=_*+Ut((f[p>>2]|0)+(f[v>>2]<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+4>>2]=_;if((f[y>>2]|0)!=4){h=g;return}et(d,(f[c>>2]|0)+64|0,(f[u>>2]|0)+(f[v>>2]<<1<<2)|0,f[v>>2]<<1,f[k>>2]|0);_=+s[(f[b>>2]|0)+8>>2]*+s[(f[b>>2]|0)+8>>2];_=_*+Ut((f[p>>2]|0)+(0<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+8>>2]=_;_=+s[(f[b>>2]|0)+12>>2]*+s[(f[b>>2]|0)+12>>2];_=_*+Ut((f[p>>2]|0)+(f[v>>2]<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+12>>2]=_;h=g;return}function _t(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;b=h;h=h+1184|0;k=b+1168|0;n=b+1164|0;w=b+1160|0;a=b+1156|0;c=b+1152|0;l=b+128|0;u=b+64|0;o=b;f[k>>2]=e;f[n>>2]=r;f[w>>2]=i;f[a>>2]=t;mt(f[k>>2]|0,f[n>>2]|0,l,o);Et(l,f[n>>2]|0,f[w>>2]|0,u);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[n>>2]|0))break;s[u+(f[c>>2]<<2)>>2]=+s[u+(f[c>>2]<<2)>>2]*+s[o+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}At(l,f[n>>2]|0,u,f[a>>2]|0);h=b;return}function mt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+192|0;n=A+184|0;a=A+180|0;o=A+176|0;l=A+172|0;k=A+168|0;d=A+164|0;p=A+160|0;v=A+156|0;w=A+152|0;g=A+148|0;y=A+144|0;_=A+8|0;b=A;m=A+80|0;c=A+16|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[w>>2]=1;r=(re(f[a>>2]|0,f[a>>2]|0)|0)-1|0;u[b>>3]=(+s[f[n>>2]>>2]+ +s[(f[n>>2]|0)+(r<<2)>>2])*4999999873689376e-21;f[v>>2]=0;while(1){if(!((f[v>>2]|0)<(f[a>>2]|0)?(f[w>>2]|0)==1:0))break;f[w>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[a>>2]|0))break;f[g>>2]=(f[o>>2]|0)+((re(f[d>>2]|0,f[a>>2]|0)|0)+0<<2);r=re(f[d>>2]|0,f[a>>2]|0)|0;u[_>>3]=+s[(f[n>>2]|0)+(r+(f[d>>2]|0)<<2)>>2];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[d>>2]|0))break;s[m+(f[k>>2]<<2)>>2]=+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]*+s[c+(f[k>>2]<<2)>>2];u[_>>3]=+u[_>>3]-+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]*+s[m+(f[k>>2]<<2)>>2];f[k>>2]=(f[k>>2]|0)+1}if(+u[_>>3]<+u[b>>3]){E=9;break}s[c+(f[d>>2]<<2)>>2]=+u[_>>3];s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]=1/+u[_>>3];r=re(f[d>>2]|0,f[a>>2]|0)|0;s[(f[o>>2]|0)+(r+(f[d>>2]|0)<<2)>>2]=1;f[g>>2]=(f[n>>2]|0)+((re(f[d>>2]|0,f[a>>2]|0)|0)+0<<2);f[y>>2]=(f[o>>2]|0)+((re((f[d>>2]|0)+1|0,f[a>>2]|0)|0)+0<<2);f[k>>2]=(f[d>>2]|0)+1;while(1){if((f[k>>2]|0)>=(f[a>>2]|0))break;u[_>>3]=0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break;u[_>>3]=+u[_>>3]+ +s[(f[y>>2]|0)+(f[p>>2]<<2)>>2]*+s[m+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}r=re(f[k>>2]|0,f[a>>2]|0)|0;s[(f[o>>2]|0)+(r+(f[d>>2]|0)<<2)>>2]=(+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]-+u[_>>3])*+s[(f[l>>2]|0)+(f[d>>2]<<2)>>2];f[y>>2]=(f[y>>2]|0)+(f[a>>2]<<2);f[k>>2]=(f[k>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}if((E|0)==9){E=0;u[_>>3]=+((f[v>>2]|0)+1|0)*+u[b>>3]-+u[_>>3];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[a>>2]|0))break;r=re(f[k>>2]|0,f[a>>2]|0)|0;r=(f[n>>2]|0)+(r+(f[k>>2]|0)<<2)|0;s[r>>2]=+s[r>>2]+ +u[_>>3];f[k>>2]=(f[k>>2]|0)+1}f[w>>2]=1}f[v>>2]=(f[v>>2]|0)+1}h=A;return}function Et(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;n=k+28|0;a=k+24|0;o=k+20|0;l=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[a>>2]|0))break;f[b>>2]=(f[n>>2]|0)+((re(f[u>>2]|0,f[a>>2]|0)|0)+0<<2);s[w>>2]=0;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;s[w>>2]=+s[w>>2]+ +s[(f[b>>2]|0)+(f[c>>2]<<2)>>2]*+s[(f[l>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}s[w>>2]=+s[(f[o>>2]|0)+(f[u>>2]<<2)>>2]-+s[w>>2];s[(f[l>>2]|0)+(f[u>>2]<<2)>>2]=+s[w>>2];f[u>>2]=(f[u>>2]|0)+1}h=k;return}function At(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;n=k+28|0;a=k+24|0;o=k+20|0;l=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=(f[a>>2]|0)-1;while(1){if((f[u>>2]|0)<0)break;f[b>>2]=(f[n>>2]|0)+(0+(f[u>>2]|0)<<2);s[w>>2]=0;f[c>>2]=(f[a>>2]|0)-1;while(1){if((f[c>>2]|0)<=(f[u>>2]|0))break;t=re(f[c>>2]|0,f[a>>2]|0)|0;s[w>>2]=+s[w>>2]+ +s[(f[b>>2]|0)+(t<<2)>>2]*+s[(f[l>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[w>>2]=+s[(f[o>>2]|0)+(f[u>>2]<<2)>>2]-+s[w>>2];s[(f[l>>2]|0)+(f[u>>2]<<2)>>2]=+s[w>>2];f[u>>2]=(f[u>>2]|0)+-1}h=k;return}function St(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;var a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+320|0;a=y+312|0;o=y+308|0;l=y+304|0;c=y+300|0;b=y+296|0;d=y+292|0;k=y+288|0;v=y+280|0;g=y+272|0;p=y+136|0;w=y;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;f[c>>2]=t;f[b>>2]=n;vs(p|0,0,136)|0;vs(w|0,0,136)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;u[v>>3]=+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[b>>2]|0))break;u[g>>3]=+u[p+(f[k>>2]<<3)>>3]+ +s[l>>2]*(+u[p+((f[k>>2]|0)+1<<3)>>3]-+u[v>>3]);u[p+(f[k>>2]<<3)>>3]=+u[v>>3];n=w+(f[k>>2]<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[v>>3];u[v>>3]=+u[p+((f[k>>2]|0)+1<<3)>>3]+ +s[l>>2]*(+u[p+((f[k>>2]|0)+2<<3)>>3]-+u[g>>3]);u[p+((f[k>>2]|0)+1<<3)>>3]=+u[g>>3];n=w+((f[k>>2]|0)+1<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[g>>3];f[k>>2]=(f[k>>2]|0)+2}u[p+(f[b>>2]<<3)>>3]=+u[v>>3];n=w+(f[b>>2]<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[v>>3];f[d>>2]=(f[d>>2]|0)+1}f[k>>2]=0;while(1){if((f[k>>2]|0)>=((f[b>>2]|0)+1|0))break;s[(f[a>>2]|0)+(f[k>>2]<<2)>>2]=+u[w+(f[k>>2]<<3)>>3];f[k>>2]=(f[k>>2]|0)+1}h=y;return}function Rt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+80|0;t=u+76|0;n=u+72|0;a=u+68|0;l=u+64|0;o=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;r=Tt(+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*65536)|0;f[o+(f[l>>2]<<2)>>2]=r;f[l>>2]=(f[l>>2]|0)+1}Sa(f[t>>2]|0,o,f[a>>2]|0);h=u;return}function Tt(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;r=cs(+s[r>>2])|0;h=i;return r|0}function Mt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0;u=h;h=h+48|0;t=u+12|0;c=u+8|0;a=u+4|0;l=u;o=u+16|0;f[t>>2]=e;f[c>>2]=r;f[a>>2]=i;Za(o,f[c>>2]|0,f[a>>2]|0);f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=+(n[o+(f[l>>2]<<1)>>1]|0)*.000244140625;f[l>>2]=(f[l>>2]|0)+1}h=u;return}function xt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;b=h;h=h+96|0;a=b+20|0;o=b+16|0;k=b+12|0;w=b+8|0;u=b+4|0;c=b;l=b+24|0;f[a>>2]=e;f[o>>2]=r;f[k>>2]=i;f[w>>2]=t;oa(f[a>>2]|0,l,f[k>>2]|0,f[w>>2]|0);f[c>>2]=0;while(1){if((f[c>>2]|0)>=2)break;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[a>>2]|0)+4664>>2]|0))break;s[(f[o>>2]|0)+(f[c>>2]<<6)+(f[u>>2]<<2)>>2]=+(n[l+(f[c>>2]<<5)+(f[u>>2]<<1)>>1]|0)*.000244140625;f[u>>2]=(f[u>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}h=b;return}function Ot(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+1632|0;u=x+1388|0;c=x+1384|0;b=x+1380|0;w=x+1376|0;k=x+1372|0;d=x+1368|0;R=x+1364|0;T=x+1360|0;M=x+80|0;v=x+64|0;A=x+1560|0;_=x+1520|0;m=x+56|0;p=x+1392|0;y=x+40|0;E=x+32|0;S=x+16|0;g=x;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;f[T>>2]=0;while(1){e=f[R>>2]|0;if((f[T>>2]|0)>=(f[(f[u>>2]|0)+4660>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+500+((e<<4)+(f[T>>2]|0)<<2)>>2]*8192)|0)&65535;n[p+((f[R>>2]<<4)+(f[T>>2]|0)<<1)>>1]=l;f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=e+1}f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+772+(f[R>>2]<<2)>>2]*16384)|0)<<16;l=l|(Tt(+s[(f[c>>2]|0)+756+(f[R>>2]<<2)>>2]*16384)|0)&65535;f[y+(f[R>>2]<<2)>>2]=l;l=Tt(+s[(f[c>>2]|0)+820+(f[R>>2]<<2)>>2]*16384)|0;f[S+(f[R>>2]<<2)>>2]=l;l=Tt(+s[(f[c>>2]|0)+836+(f[R>>2]<<2)>>2]*16384)|0;f[g+(f[R>>2]<<2)>>2]=l;f[R>>2]=(f[R>>2]|0)+1}f[E>>2]=Tt(+s[(f[c>>2]|0)+852>>2]*1024)|0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=((f[(f[u>>2]|0)+4604>>2]|0)*5|0))break;l=(Tt(+s[(f[c>>2]|0)+144+(f[R>>2]<<2)>>2]*16384)|0)&65535;n[_+(f[R>>2]<<1)>>1]=l;f[R>>2]=(f[R>>2]|0)+1}f[T>>2]=0;while(1){l=(f[T>>2]|0)<2;f[R>>2]=0;if(!l)break;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4664>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+16+(f[T>>2]<<6)+(f[R>>2]<<2)>>2]*4096)|0)&65535;n[A+(f[T>>2]<<5)+(f[R>>2]<<1)>>1]=l;f[R>>2]=(f[R>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;T=Tt(+s[(f[c>>2]|0)+(f[R>>2]<<2)>>2]*65536)|0;f[v+(f[R>>2]<<2)>>2]=T;f[R>>2]=(f[R>>2]|0)+1}if((t[(f[b>>2]|0)+29>>0]|0)==2)f[m>>2]=n[24566+(t[(f[b>>2]|0)+33>>0]<<1)>>1];else f[m>>2]=0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4608>>2]|0))break;T=Tt(+s[(f[d>>2]|0)+(f[R>>2]<<2)>>2]*8)|0;f[M+(f[R>>2]<<2)>>2]=T;f[R>>2]=(f[R>>2]|0)+1}if((f[(f[u>>2]|0)+4652>>2]|0)<=1?(f[(f[u>>2]|0)+4704>>2]|0)<=0:0){Do(f[u>>2]|0,f[w>>2]|0,f[b>>2]|0,M,f[k>>2]|0,A,_,p,g,S,y,v,(f[c>>2]|0)+228|0,f[E>>2]|0,f[m>>2]|0);h=x;return}qo(f[u>>2]|0,f[w>>2]|0,f[b>>2]|0,M,f[k>>2]|0,A,_,p,g,S,y,v,(f[c>>2]|0)+228|0,f[E>>2]|0,f[m>>2]|0);h=x;return}function Lt(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+480|0;b=S+436|0;w=S+432|0;k=S+428|0;d=S+424|0;p=S+420|0;v=S+416|0;g=S+412|0;y=S+408|0;_=S+404|0;A=S+400|0;m=S+440|0;E=S;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=c;f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[y>>2]|0)*5|0))break;t=(Tt(+s[(f[b>>2]|0)+(f[A>>2]<<2)>>2]*16384)|0)&65535;n[m+(f[A>>2]<<1)>>1]=t;f[A>>2]=(f[A>>2]|0)+1}f[A>>2]=0;while(1){if((f[A>>2]|0)>=(((f[y>>2]|0)*5|0)*5|0))break;t=Tt(+s[(f[p>>2]|0)+(f[A>>2]<<2)>>2]*262144)|0;f[E+(f[A>>2]<<2)>>2]=t;f[A>>2]=(f[A>>2]|0)+1}Kf(m,f[w>>2]|0,f[k>>2]|0,f[d>>2]|0,E,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0,f[_>>2]|0);f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[y>>2]|0)*5|0))break;s[(f[b>>2]|0)+(f[A>>2]<<2)>>2]=+(n[m+(f[A>>2]<<1)>>1]|0)*6103515625e-14;f[A>>2]=(f[A>>2]|0)+1}h=S;return}function Pt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;if((f[l>>2]|0)>(f[o>>2]|0))f[l>>2]=f[o>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;b=+Bt(f[a>>2]|0,(f[a>>2]|0)+(f[u>>2]<<2)|0,(f[o>>2]|0)-(f[u>>2]|0)|0);s[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=b;f[u>>2]=(f[u>>2]|0)+1}h=c;return}function It(e,r,i,t,n,a){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;a=a|0;var o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0;B=h;h=h+784|0;o=B+768|0;l=B+764|0;c=B+760|0;b=B+756|0;w=B+752|0;k=B+748|0;A=B+744|0;S=B+740|0;L=B+736|0;O=B+732|0;v=B+720|0;E=B+712|0;M=B+704|0;T=B+696|0;R=B+688|0;x=B+680|0;p=B+672|0;P=B+664|0;I=B+656|0;C=B+728|0;_=B+528|0;m=B+400|0;y=B+264|0;g=B+128|0;d=B;f[o>>2]=e;f[l>>2]=r;s[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;u[v>>3]=+Ut(f[l>>2]|0,re(f[w>>2]|0,f[b>>2]|0)|0);e=_;n=e+128|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(n|0));f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;f[C>>2]=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2);f[S>>2]=1;while(1){if((f[S>>2]|0)>=((f[k>>2]|0)+1|0))break;i=+Bt(f[C>>2]|0,(f[C>>2]|0)+(f[S>>2]<<2)|0,(f[b>>2]|0)-(f[S>>2]|0)|0);r=_+((f[S>>2]|0)-1<<3)|0;u[r>>3]=+u[r>>3]+i;f[S>>2]=(f[S>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}e=m;a=_;n=e+128|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(n|0));i=+u[v>>3]+ +u[v>>3]*9999999747378752e-21+9.999999717180685e-10;u[y>>3]=i;u[g>>3]=i;u[E>>3]=1;f[O>>2]=0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[k>>2]|0))break;f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;f[C>>2]=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2);u[P>>3]=+s[(f[C>>2]|0)+(f[S>>2]<<2)>>2];u[I>>3]=+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)-1<<2)>>2];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;r=_+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+s[(f[C>>2]|0)+(f[S>>2]<<2)>>2]*+s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)-1<<2)>>2];r=m+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)-1<<2)>>2]*+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)<<2)>>2];u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[P>>3]=+u[P>>3]+ +s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)-1<<2)>>2]*+u[p>>3];u[I>>3]=+u[I>>3]+ +s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)<<2)>>2]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}f[A>>2]=0;while(1){if((f[A>>2]|0)>(f[S>>2]|0))break;r=y+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+u[P>>3]*+s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)<<2)>>2];r=g+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+u[I>>3]*+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)-1<<2)>>2];f[A>>2]=(f[A>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}u[P>>3]=+u[_+(f[S>>2]<<3)>>3];u[I>>3]=+u[m+(f[S>>2]<<3)>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[P>>3]=+u[P>>3]+ +u[m+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]*+u[p>>3];u[I>>3]=+u[I>>3]+ +u[_+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[y+((f[S>>2]|0)+1<<3)>>3]=+u[P>>3];u[g+((f[S>>2]|0)+1<<3)>>3]=+u[I>>3];u[M>>3]=+u[g+((f[S>>2]|0)+1<<3)>>3];u[R>>3]=+u[g>>3];u[T>>3]=+u[y>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[M>>3]=+u[M>>3]+ +u[g+((f[S>>2]|0)-(f[A>>2]|0)<<3)>>3]*+u[p>>3];u[R>>3]=+u[R>>3]+ +u[g+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];u[T>>3]=+u[T>>3]+ +u[y+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[x>>3]=+u[M>>3]*-2/(+u[T>>3]+ +u[R>>3]);u[P>>3]=+u[E>>3]*(1-+u[x>>3]*+u[x>>3]);if(+u[P>>3]<=+s[c>>2]){u[x>>3]=+H(+(1-+s[c>>2]/+u[E>>3]));if(+u[M>>3]>0)u[x>>3]=-+u[x>>3];u[E>>3]=+s[c>>2];f[O>>2]=1}else u[E>>3]=+u[P>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[S>>2]|0)+1>>1|0))break;u[P>>3]=+u[d+(f[A>>2]<<3)>>3];u[I>>3]=+u[d+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3];u[d+(f[A>>2]<<3)>>3]=+u[P>>3]+ +u[x>>3]*+u[I>>3];u[d+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]=+u[I>>3]+ +u[x>>3]*+u[P>>3];f[A>>2]=(f[A>>2]|0)+1}u[d+(f[S>>2]<<3)>>3]=+u[x>>3];if(f[O>>2]|0){U=33;break}f[A>>2]=0;while(1){if((f[A>>2]|0)>((f[S>>2]|0)+1|0))break;u[P>>3]=+u[y+(f[A>>2]<<3)>>3];r=y+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]+ +u[x>>3]*+u[g+((f[S>>2]|0)-(f[A>>2]|0)+1<<3)>>3];r=g+((f[S>>2]|0)-(f[A>>2]|0)+1<<3)|0;u[r>>3]=+u[r>>3]+ +u[x>>3]*+u[P>>3];f[A>>2]=(f[A>>2]|0)+1}f[S>>2]=(f[S>>2]|0)+1}e:do{if((U|0)==33){f[A>>2]=(f[S>>2]|0)+1;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break e;u[d+(f[A>>2]<<3)>>3]=0;f[A>>2]=(f[A>>2]|0)+1}}}while(0);if(!(f[O>>2]|0)){u[T>>3]=+u[y>>3];u[P>>3]=1;f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[T>>3]=+u[T>>3]+ +u[y+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];u[P>>3]=+u[P>>3]+ +u[p>>3]*+u[p>>3];s[(f[o>>2]|0)+(f[A>>2]<<2)>>2]=-+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[T>>3]=+u[T>>3]-+u[v>>3]*9999999747378752e-21*+u[P>>3];i=+u[T>>3];h=B;return+i}f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;s[(f[o>>2]|0)+(f[A>>2]<<2)>>2]=-+u[d+(f[A>>2]<<3)>>3];f[A>>2]=(f[A>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;U=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2)|0;i=+Ut(U,f[k>>2]|0);u[v>>3]=+u[v>>3]-i;f[L>>2]=(f[L>>2]|0)+1}u[T>>3]=+u[v>>3]*+u[E>>3];i=+u[T>>3];h=B;return+i}function Ct(e,r,i){e=e|0;r=r|0;i=+i;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;l=u+4|0;o=u;f[t>>2]=e;f[n>>2]=r;s[a>>2]=i;s[o>>2]=+s[a>>2];f[l>>2]=0;while(1){i=+s[o>>2];if((f[l>>2]|0)>=((f[n>>2]|0)-1|0))break;r=(f[t>>2]|0)+(f[l>>2]<<2)|0;s[r>>2]=+s[r>>2]*i;s[o>>2]=+s[o>>2]*+s[a>>2];f[l>>2]=(f[l>>2]|0)+1}l=(f[t>>2]|0)+((f[n>>2]|0)-1<<2)|0;s[l>>2]=+s[l>>2]*i;h=u;return}function Ut(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+20|0;t=l+16|0;a=l+12|0;n=l+8|0;o=l;f[i>>2]=e;f[t>>2]=r;u[o>>3]=0;f[n>>2]=f[t>>2]&65532;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[n>>2]|0))break;u[o>>3]=+u[o>>3]+(+s[(f[i>>2]|0)+((f[a>>2]|0)+0<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+0<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+1<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+1<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+2<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+2<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+3<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+3<<2)>>2]);f[a>>2]=(f[a>>2]|0)+4}while(1){if((f[a>>2]|0)>=(f[t>>2]|0))break;u[o>>3]=+u[o>>3]+ +s[(f[i>>2]|0)+(f[a>>2]<<2)>>2]*+s[(f[i>>2]|0)+(f[a>>2]<<2)>>2];f[a>>2]=(f[a>>2]|0)+1}h=l;return+ +u[o>>3]}function Bt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;n=b+20|0;a=b+16|0;l=b+12|0;o=b+8|0;c=b;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;u[c>>3]=0;f[o>>2]=f[a>>2]&65532;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+u[c>>3]+(+s[(f[t>>2]|0)+((f[l>>2]|0)+0<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+0<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+1<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+1<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+2<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+2<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+3<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+3<<2)>>2]);f[l>>2]=(f[l>>2]|0)+4}while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;u[c>>3]=+u[c>>3]+ +s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=b;return+ +u[c>>3]}function jt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+96|0;t=c+80|0;n=c+76|0;a=c+72|0;l=c+68|0;u=c+64|0;o=c;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;s[o+(f[u>>2]<<2)>>2]=+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=0;while(1){e=f[l>>2]|0;if((f[u>>2]|0)>=(f[l>>2]|0))break;r=(f[t>>2]|0)+(f[u>>2]<<2)|0;s[r>>2]=+s[r>>2]+ +s[o+(e-(f[u>>2]|0)-1<<2)>>2]*+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=-+s[(f[n>>2]|0)+(e<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return}function Dt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;v=h;h=h+48|0;t=v+44|0;n=v+40|0;a=v+36|0;u=v+32|0;w=v+28|0;b=v+24|0;k=v+20|0;d=v+16|0;p=v+12|0;c=v+8|0;o=v+4|0;l=v;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;s[k>>2]=+s[f[n>>2]>>2]*9.999999960041972e-13+9.999999717180685e-10;s[d>>2]=+s[f[n>>2]>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];s[f[t>>2]>>2]=+s[(f[n>>2]|0)+4>>2]/+s[d>>2];s[d>>2]=+s[d>>2]-+s[f[t>>2]>>2]*+s[(f[n>>2]|0)+4>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];f[b>>2]=1;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;s[p>>2]=+s[(f[n>>2]|0)+((f[b>>2]|0)+1<<2)>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=+s[p>>2]-+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2]*+s[(f[n>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[c>>2]=+s[p>>2]/+s[d>>2];s[d>>2]=+s[d>>2]-+s[c>>2]*+s[p>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];f[w>>2]=f[b>>2]>>1;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[w>>2]|0))break;s[o>>2]=+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2];s[l>>2]=+s[(f[t>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)-1<<2)>>2];i=(f[t>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)-1<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[o>>2];i=(f[t>>2]|0)+(f[u>>2]<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[l>>2];f[u>>2]=(f[u>>2]|0)+1}if(f[b>>2]&1|0){i=(f[t>>2]|0)+(f[w>>2]<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[(f[t>>2]|0)+(f[w>>2]<<2)>>2]}s[(f[t>>2]|0)+(f[b>>2]<<2)>>2]=+s[c>>2];f[b>>2]=(f[b>>2]|0)+1}h=v;return+ +s[d>>2]}function Nt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;p=h;h=h+192|0;i=p+184|0;g=p+180|0;v=p+176|0;l=p+172|0;c=p+168|0;o=p+24|0;b=p+16|0;w=p+8|0;k=p;a=p+40|0;n=p+36|0;t=p+32|0;f[g>>2]=e;f[v>>2]=r;f[t>>2]=a+((f[v>>2]&1)<<6);gs(f[t>>2]|0,f[g>>2]|0,f[v>>2]<<2|0)|0;u[o>>3]=1;f[l>>2]=(f[v>>2]|0)-1;while(1){if((f[l>>2]|0)<=0)break;u[b>>3]=-+s[(f[t>>2]|0)+(f[l>>2]<<2)>>2];if(+u[b>>3]>.9998999834060669|+u[b>>3]<-.9998999834060669){d=4;break}u[w>>3]=1-+u[b>>3]*+u[b>>3];u[k>>3]=1/+u[w>>3];u[o>>3]=+u[o>>3]*+u[w>>3];f[n>>2]=f[t>>2];f[t>>2]=a+((f[l>>2]&1)<<6);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[(f[t>>2]|0)+(f[c>>2]<<2)>>2]=(+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]-+s[(f[n>>2]|0)+((f[l>>2]|0)-(f[c>>2]|0)-1<<2)>>2]*+u[b>>3])*+u[k>>3];f[c>>2]=(f[c>>2]|0)+1}f[l>>2]=(f[l>>2]|0)+-1}if((d|0)==4){s[i>>2]=0;y=+s[i>>2];h=p;return+y}u[b>>3]=-+s[f[t>>2]>>2];if(+u[b>>3]>.9998999834060669|+u[b>>3]<-.9998999834060669){s[i>>2]=0;y=+s[i>>2];h=p;return+y}else{u[w>>3]=1-+u[b>>3]*+u[b>>3];u[o>>3]=+u[o>>3]*+u[w>>3];s[i>>2]=+u[o>>3];y=+s[i>>2];h=p;return+y}return 0}function Ft(e,r,i,a,o,l,c,b,w,k,d,p){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;c=+c;b=+b;w=w|0;k=k|0;d=d|0;p=p|0;var v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0;je=h;h=h+13936|0;Me=je+10416|0;te=je+10412|0;Oe=je+10408|0;Le=je+10404|0;Pe=je+10400|0;I=je+10396|0;C=je+10392|0;v=je+10388|0;U=je+10384|0;Ae=je+10380|0;ne=je+10376|0;xe=je+10372|0;fe=je+10368|0;Z=je+10364|0;Be=je+10360|0;he=je+10356|0;de=je+10352|0;W=je+9072|0;A=je+8432|0;S=je+13288|0;E=je+12968|0;y=je+8408|0;ee=je+8404|0;le=je+8400|0;B=je+6016|0;P=je+5756|0;D=je+5712|0;Ee=je+5708|0;z=je+5704|0;se=je+24|0;O=je+16|0;we=je+8|0;ke=je;H=je+5608|0;Y=je+12664|0;G=je+5600|0;J=je+5596|0;g=je+5592|0;ae=je+5588|0;N=je+5584|0;F=je+5580|0;oe=je+5576|0;Ie=je+5572|0;j=je+5568|0;Se=je+5564|0;me=je+5560|0;ce=je+5556|0;Re=je+5552|0;Ue=je+5548|0;V=je+5544|0;$=je+5540|0;q=je+5536|0;be=je+2816|0;ue=je+96|0;pe=je+88|0;R=je+84|0;M=je+80|0;T=je+76|0;_e=je+72|0;Q=je+68|0;L=je+64|0;Te=je+60|0;ge=je+56|0;X=je+52|0;ve=je+48|0;K=je+44|0;x=je+40|0;ye=je+36|0;Ce=je+32|0;m=je+11384|0;_=je+10424|0;f[te>>2]=e;f[Oe>>2]=r;f[Le>>2]=i;f[Pe>>2]=a;f[I>>2]=o;f[C>>2]=l;s[v>>2]=c;s[U>>2]=b;f[Ae>>2]=w;f[ne>>2]=k;f[xe>>2]=d;f[fe>>2]=p;f[R>>2]=re(20+((f[xe>>2]|0)*5|0)|0,f[Ae>>2]|0)|0;f[T>>2]=20+((f[xe>>2]|0)*5|0)<<2;f[M>>2]=20+((f[xe>>2]|0)*5|0)<<3;f[_e>>2]=(f[Ae>>2]|0)*5;f[L>>2]=20;f[Q>>2]=40;f[Te>>2]=f[Ae>>2]<<1;f[X>>2]=8;f[ge>>2]=16;f[ve>>2]=((f[Ae>>2]|0)*18|0)-1;f[x>>2]=72;f[K>>2]=143;do{if((f[Ae>>2]|0)!=16)if((f[Ae>>2]|0)==12){zt(_,f[te>>2]|0,f[R>>2]|0);f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;bi(y,S,_,f[R>>2]|0);Yt(W,S,f[M>>2]|0);break}else{zt(S,f[te>>2]|0,f[M>>2]|0);break}else{zt(m,f[te>>2]|0,f[R>>2]|0);f[y>>2]=0;f[y+4>>2]=0;wi(y,S,m,f[R>>2]|0);Yt(W,S,f[M>>2]|0)}}while(0);f[y>>2]=0;f[y+4>>2]=0;wi(y,E,S,f[M>>2]|0);Yt(A,E,f[T>>2]|0);f[Z>>2]=(f[T>>2]|0)-1;while(1){if((f[Z>>2]|0)<=0)break;l=A+(f[Z>>2]<<2)|0;s[l>>2]=+s[l>>2]+ +s[A+((f[Z>>2]|0)-1<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+-1}vs(B|0,0,(f[xe>>2]<<2)*149|0)|0;f[Ee>>2]=A+(f[L>>2]<<2<<2);f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]>>1|0))break;f[z>>2]=(f[Ee>>2]|0)+(0-(f[X>>2]|0)<<2);yr(f[Ee>>2]|0,(f[Ee>>2]|0)+(0-(f[x>>2]|0)<<2)|0,P,f[Q>>2]|0,(f[x>>2]|0)-(f[X>>2]|0)+1|0,f[fe>>2]|0);u[se>>3]=+s[P+((f[x>>2]|0)-(f[X>>2]|0)<<2)>>2];b=+Ut(f[Ee>>2]|0,f[Q>>2]|0);b=b+ +Ut(f[z>>2]|0,f[Q>>2]|0);u[O>>3]=b+ +(f[Q>>2]|0)*4e3;L=B+(f[X>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +u[se>>3]*2/+u[O>>3];f[he>>2]=(f[X>>2]|0)+1;while(1){if((f[he>>2]|0)>(f[x>>2]|0))break;f[z>>2]=(f[z>>2]|0)+-4;u[se>>3]=+s[P+((f[x>>2]|0)-(f[he>>2]|0)<<2)>>2];u[O>>3]=+u[O>>3]+(+s[f[z>>2]>>2]*+s[f[z>>2]>>2]-+s[(f[z>>2]|0)+(f[Q>>2]<<2)>>2]*+s[(f[z>>2]|0)+(f[Q>>2]<<2)>>2]);L=B+(f[he>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +u[se>>3]*2/+u[O>>3];f[he>>2]=(f[he>>2]|0)+1}f[Ee>>2]=(f[Ee>>2]|0)+(f[Q>>2]<<2);f[Be>>2]=(f[Be>>2]|0)+1}f[Z>>2]=f[x>>2];while(1){if((f[Z>>2]|0)<(f[X>>2]|0))break;P=B+(f[Z>>2]<<2)|0;s[P>>2]=+s[P>>2]-+s[B+(f[Z>>2]<<2)>>2]*+(f[Z>>2]|0)/4096;f[Z>>2]=(f[Z>>2]|0)+-1}f[G>>2]=4+(f[ne>>2]<<1);$o(B+(f[X>>2]<<2)|0,H,(f[x>>2]|0)-(f[X>>2]|0)+1|0,f[G>>2]|0);s[g>>2]=+s[B+(f[X>>2]<<2)>>2];if(+s[g>>2]<.20000000298023224){vs(f[Oe>>2]|0,0,f[xe>>2]<<2|0)|0;s[f[I>>2]>>2]=0;n[f[Le>>2]>>1]=0;t[f[Pe>>2]>>0]=0;f[Me>>2]=1;Be=f[Me>>2]|0;h=je;return Be|0}s[ee>>2]=+s[v>>2]*+s[g>>2];f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[G>>2]|0))break;v=f[Z>>2]|0;if(!(+s[B+((f[X>>2]|0)+(f[Z>>2]|0)<<2)>>2]>+s[ee>>2])){ie=24;break}f[H+(f[Z>>2]<<2)>>2]=(f[H+(v<<2)>>2]|0)+(f[X>>2]|0)<<1;f[Z>>2]=(f[Z>>2]|0)+1}if((ie|0)==24)f[G>>2]=v;f[Z>>2]=(f[ge>>2]|0)-5;while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+5|0))break;n[Y+(f[Z>>2]<<1)>>1]=0;f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[G>>2]|0))break;n[Y+(f[H+(f[Z>>2]<<2)>>2]<<1)>>1]=1;f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=(f[K>>2]|0)+3;while(1){if((f[Z>>2]|0)<(f[ge>>2]|0))break;ie=Y+(f[Z>>2]<<1)|0;n[ie>>1]=(n[ie>>1]|0)+((n[Y+((f[Z>>2]|0)-1<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-2<<1)>>1]|0));f[Z>>2]=(f[Z>>2]|0)+-1}f[G>>2]=0;f[Z>>2]=f[ge>>2];while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+1|0))break;if((n[Y+((f[Z>>2]|0)+1<<1)>>1]|0)>0){f[H+(f[G>>2]<<2)>>2]=f[Z>>2];f[G>>2]=(f[G>>2]|0)+1}f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=(f[K>>2]|0)+3;while(1){if((f[Z>>2]|0)<(f[ge>>2]|0))break;ie=Y+(f[Z>>2]<<1)|0;n[ie>>1]=(n[ie>>1]|0)+((n[Y+((f[Z>>2]|0)-1<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-2<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-3<<1)>>1]|0));f[Z>>2]=(f[Z>>2]|0)+-1}f[J>>2]=0;f[Z>>2]=f[ge>>2];while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+4|0))break;if((n[Y+(f[Z>>2]<<1)>>1]|0)>0){n[Y+(f[J>>2]<<1)>>1]=(f[Z>>2]|0)-2;f[J>>2]=(f[J>>2]|0)+1}f[Z>>2]=(f[Z>>2]|0)+1}vs(B|0,0,2384)|0;if((f[Ae>>2]|0)==8)f[Ee>>2]=(f[te>>2]|0)+640;else f[Ee>>2]=W+640;f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]|0))break;u[ke>>3]=+Ut(f[Ee>>2]|0,f[Q>>2]|0)+1;f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[J>>2]|0))break;f[he>>2]=n[Y+(f[de>>2]<<1)>>1];f[z>>2]=(f[Ee>>2]|0)+(0-(f[he>>2]|0)<<2);u[se>>3]=+Bt(f[z>>2]|0,f[Ee>>2]|0,f[Q>>2]|0);if(+u[se>>3]>0){u[we>>3]=+Ut(f[z>>2]|0,f[Q>>2]|0);s[B+((f[Be>>2]|0)*596|0)+(f[he>>2]<<2)>>2]=+u[se>>3]*2/(+u[we>>3]+ +u[ke>>3])}else s[B+((f[Be>>2]|0)*596|0)+(f[he>>2]<<2)>>2]=0;f[de>>2]=(f[de>>2]|0)+1}f[Ee>>2]=(f[Ee>>2]|0)+(f[Q>>2]<<2);f[Be>>2]=(f[Be>>2]|0)+1}s[ae>>2]=0;s[N>>2]=-1e3;f[Ie>>2]=0;f[Se>>2]=-1;if((f[C>>2]|0)>0){if((f[Ae>>2]|0)!=12){if((f[Ae>>2]|0)==16)f[C>>2]=f[C>>2]>>1}else f[C>>2]=(f[C>>2]<<1|0)/3|0;s[$>>2]=+Ht(+(f[C>>2]|0))}else s[$>>2]=0;do{if((f[xe>>2]|0)==4){f[Ue>>2]=11;f[Ce>>2]=30286;if((f[Ae>>2]|0)==8&(f[ne>>2]|0)>0){f[ye>>2]=11;break}else{f[ye>>2]=3;break}}else{f[Ue>>2]=3;f[Ce>>2]=30252;f[ye>>2]=3}}while(0);f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[G>>2]|0))break;f[he>>2]=f[H+(f[Be>>2]<<2)>>2];f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[ye>>2]|0))break;s[D+(f[de>>2]<<2)>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[xe>>2]|0))break;ee=re(f[Z>>2]|0,f[Ue>>2]|0)|0;ie=D+(f[de>>2]<<2)|0;s[ie>>2]=+s[ie>>2]+ +s[B+((f[Z>>2]|0)*596|0)+((f[he>>2]|0)+(t[(f[Ce>>2]|0)+(ee+(f[de>>2]|0))>>0]|0)<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+1}f[de>>2]=(f[de>>2]|0)+1}s[oe>>2]=-1e3;f[j>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[ye>>2]|0))break;if(+s[D+(f[Z>>2]<<2)>>2]>+s[oe>>2]){s[oe>>2]=+s[D+(f[Z>>2]<<2)>>2];f[j>>2]=f[Z>>2]}f[Z>>2]=(f[Z>>2]|0)+1}s[V>>2]=+Ht(+(f[he>>2]|0));s[F>>2]=+s[oe>>2]-+(f[xe>>2]|0)*.20000000298023224*+s[V>>2];if((f[C>>2]|0)>0){s[q>>2]=+s[V>>2]-+s[$>>2];s[q>>2]=+s[q>>2]*+s[q>>2];s[F>>2]=+s[F>>2]-+(f[xe>>2]|0)*.20000000298023224*+s[f[I>>2]>>2]*+s[q>>2]/(+s[q>>2]+.5)}if(+s[F>>2]>+s[N>>2]?+s[oe>>2]>+(f[xe>>2]|0)*+s[U>>2]:0){s[N>>2]=+s[F>>2];s[ae>>2]=+s[oe>>2];f[Se>>2]=f[he>>2];f[Ie>>2]=f[j>>2]}f[Be>>2]=(f[Be>>2]|0)+1}if((f[Se>>2]|0)==-1){Be=f[Oe>>2]|0;f[Be>>2]=0;f[Be+4>>2]=0;f[Be+8>>2]=0;f[Be+12>>2]=0;s[f[I>>2]>>2]=0;n[f[Le>>2]>>1]=0;t[f[Pe>>2]>>0]=0;f[Me>>2]=1;Be=f[Me>>2]|0;h=je;return Be|0}s[f[I>>2]>>2]=+s[ae>>2]/+(f[xe>>2]|0);if((f[Ae>>2]|0)>8){v=f[Se>>2]|0;if((f[Ae>>2]|0)==12)f[Se>>2]=(((v&65535)<<16>>16)*3>>1)+(((f[Se>>2]&65535)<<16>>16)*3&1);else f[Se>>2]=v<<1;v=f[Se>>2]|0;do{if((f[Te>>2]|0)>(f[ve>>2]|0))if((v|0)>(f[Te>>2]|0)){v=f[Te>>2]|0;break}else{v=(f[Se>>2]|0)<(f[ve>>2]|0)?f[ve>>2]|0:f[Se>>2]|0;break}else if((v|0)>(f[ve>>2]|0)){v=f[ve>>2]|0;break}else{v=(f[Se>>2]|0)<(f[Te>>2]|0)?f[Te>>2]|0:f[Se>>2]|0;break}}while(0);f[Se>>2]=v;f[me>>2]=qt((f[Se>>2]|0)-2|0,f[Te>>2]|0)|0;f[ce>>2]=Wt((f[Se>>2]|0)+2|0,f[ve>>2]|0)|0;f[Re>>2]=f[Se>>2];f[Ie>>2]=0;s[ae>>2]=-1e3;Zt(ue,f[te>>2]|0,f[me>>2]|0,f[_e>>2]|0,f[xe>>2]|0,f[ne>>2]|0,f[fe>>2]|0);Vt(be,f[te>>2]|0,f[me>>2]|0,f[_e>>2]|0,f[xe>>2]|0,f[ne>>2]|0);f[pe>>2]=0;s[le>>2]=.05000000074505806/+(f[Se>>2]|0);if((f[xe>>2]|0)==4){f[ye>>2]=t[30490+(f[ne>>2]|0)>>0];f[Ue>>2]=34;f[Ce>>2]=30330}else{f[ye>>2]=12;f[Ue>>2]=12;f[Ce>>2]=30258}f[Ee>>2]=(f[te>>2]|0)+((f[Ae>>2]|0)*20<<2);u[ke>>3]=+Ut(f[Ee>>2]|0,re(f[xe>>2]|0,f[_e>>2]|0)|0)+1;f[he>>2]=f[me>>2];while(1){if((f[he>>2]|0)>(f[ce>>2]|0))break;f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[ye>>2]|0))break;u[se>>3]=0;u[we>>3]=+u[ke>>3];f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]|0))break;u[se>>3]=+u[se>>3]+ +s[ue+((f[Be>>2]|0)*680|0)+((f[de>>2]|0)*20|0)+(f[pe>>2]<<2)>>2];u[we>>3]=+u[we>>3]+ +s[be+((f[Be>>2]|0)*680|0)+((f[de>>2]|0)*20|0)+(f[pe>>2]<<2)>>2];f[Be>>2]=(f[Be>>2]|0)+1}if(+u[se>>3]>0){s[oe>>2]=+u[se>>3]*2/+u[we>>3];s[oe>>2]=+s[oe>>2]*(1-+s[le>>2]*+(f[de>>2]|0))}else s[oe>>2]=0;if(+s[oe>>2]>+s[ae>>2]?((f[he>>2]|0)+(t[30330+(f[de>>2]|0)>>0]|0)|0)<=(f[ve>>2]|0):0){s[ae>>2]=+s[oe>>2];f[Re>>2]=f[he>>2];f[Ie>>2]=f[de>>2]}f[de>>2]=(f[de>>2]|0)+1}f[pe>>2]=(f[pe>>2]|0)+1;f[he>>2]=(f[he>>2]|0)+1}f[Be>>2]=0;while(1){v=f[Re>>2]|0;if((f[Be>>2]|0)>=(f[xe>>2]|0))break;Se=re(f[Be>>2]|0,f[Ue>>2]|0)|0;f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v+(t[(f[Ce>>2]|0)+(Se+(f[Ie>>2]|0))>>0]|0);v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;do{if((f[Te>>2]|0)>((f[Ae>>2]|0)*18|0)){if((v|0)>(f[Te>>2]|0)){v=f[Te>>2]|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<((f[Ae>>2]|0)*18|0)){v=(f[Ae>>2]|0)*18|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}}else{if((v|0)>((f[Ae>>2]|0)*18|0)){v=(f[Ae>>2]|0)*18|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<(f[Te>>2]|0)){v=f[Te>>2]|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}}}while(0);f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v;f[Be>>2]=(f[Be>>2]|0)+1}n[f[Le>>2]>>1]=v-(f[Te>>2]|0);t[f[Pe>>2]>>0]=f[Ie>>2]}else{f[Be>>2]=0;while(1){v=f[Se>>2]|0;if((f[Be>>2]|0)>=(f[xe>>2]|0))break;Te=re(f[Be>>2]|0,f[Ue>>2]|0)|0;f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v+(t[(f[Ce>>2]|0)+(Te+(f[Ie>>2]|0))>>0]|0);v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;do{if((f[ge>>2]|0)>144){if((v|0)>(f[ge>>2]|0)){v=f[ge>>2]|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<144)v=144;else v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0}else if((v|0)<=144)if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<(f[ge>>2]|0)){v=f[ge>>2]|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}else v=144}while(0);f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v;f[Be>>2]=(f[Be>>2]|0)+1}n[f[Le>>2]>>1]=v-(f[ge>>2]|0);t[f[Pe>>2]>>0]=f[Ie>>2]}f[Me>>2]=0;Be=f[Me>>2]|0;h=je;return Be|0}function zt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<=32767)if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<-32768)r=-32768;else r=cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0;else r=32767;n[(f[t>>2]|0)+(f[o>>2]<<1)>>1]=r;f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function Yt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function Ht(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function qt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Wt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zt(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;I=h;h=h+256|0;u=I+252|0;c=I+248|0;b=I+244|0;w=I+240|0;k=I+236|0;d=I+232|0;p=I+228|0;L=I+224|0;m=I+220|0;A=I+216|0;S=I+212|0;R=I+208|0;M=I+204|0;T=I+200|0;x=I+196|0;_=I+192|0;E=I+188|0;y=I+184|0;O=I+96|0;P=I+8|0;g=I+4|0;v=I;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=n;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;if((f[k>>2]|0)==4){f[g>>2]=30466+(f[d>>2]<<3);f[v>>2]=30330;f[x>>2]=t[30490+(f[d>>2]|0)>>0];f[y>>2]=34}else{f[g>>2]=30282;f[v>>2]=30258;f[x>>2]=12;f[y>>2]=12}f[L>>2]=(f[c>>2]|0)+(f[w>>2]<<2<<2);f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[k>>2]|0))break;f[R>>2]=0;f[M>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+0)>>0];f[T>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+1)>>0];yr(f[L>>2]|0,(f[L>>2]|0)+(0-(f[b>>2]|0)<<2)+(0-(f[T>>2]|0)<<2)|0,P,f[w>>2]|0,(f[T>>2]|0)-(f[M>>2]|0)+1|0,f[p>>2]|0);f[A>>2]=f[M>>2];while(1){if((f[A>>2]|0)>(f[T>>2]|0))break;s[O+(f[R>>2]<<2)>>2]=+s[P+((f[T>>2]|0)-(f[A>>2]|0)<<2)>>2];f[R>>2]=(f[R>>2]|0)+1;f[A>>2]=(f[A>>2]|0)+1}f[_>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+0)>>0];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[x>>2]|0))break;i=re(f[S>>2]|0,f[y>>2]|0)|0;f[E>>2]=(t[(f[v>>2]|0)+(i+(f[m>>2]|0))>>0]|0)-(f[_>>2]|0);f[A>>2]=0;while(1){if((f[A>>2]|0)>=5)break;s[(f[u>>2]|0)+((f[S>>2]|0)*680|0)+((f[m>>2]|0)*20|0)+(f[A>>2]<<2)>>2]=+s[O+((f[E>>2]|0)+(f[A>>2]|0)<<2)>>2];f[A>>2]=(f[A>>2]|0)+1}f[m>>2]=(f[m>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+(f[w>>2]<<2);f[S>>2]=(f[S>>2]|0)+1}h=I;return}function Vt(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;P=h;h=h+176|0;l=P+168|0;c=P+164|0;b=P+160|0;w=P+156|0;k=P+152|0;d=P+148|0;L=P+144|0;g=P+140|0;m=P;R=P+136|0;E=P+132|0;S=P+128|0;T=P+124|0;x=P+120|0;_=P+116|0;A=P+112|0;y=P+108|0;M=P+104|0;O=P+16|0;v=P+12|0;p=P+8|0;f[l>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=n;f[k>>2]=a;f[d>>2]=o;if((f[k>>2]|0)==4){f[v>>2]=30466+(f[d>>2]<<3);f[p>>2]=30330;f[x>>2]=t[30490+(f[d>>2]|0)>>0];f[y>>2]=34}else{f[v>>2]=30282;f[p>>2]=30258;f[x>>2]=12;f[y>>2]=12}f[L>>2]=(f[c>>2]|0)+(f[w>>2]<<2<<2);f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[k>>2]|0))break;f[T>>2]=0;f[g>>2]=(f[L>>2]|0)+(0-((f[b>>2]|0)+(t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0]|0))<<2);u[m>>3]=+Ut(f[g>>2]|0,f[w>>2]|0)+.001;s[O+(f[T>>2]<<2)>>2]=+u[m>>3];f[T>>2]=(f[T>>2]|0)+1;f[M>>2]=(t[(f[v>>2]|0)+((f[R>>2]<<1)+1)>>0]|0)-(t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0]|0)+1;f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[M>>2]|0))break;u[m>>3]=+u[m>>3]-+s[(f[g>>2]|0)+((f[w>>2]|0)-(f[E>>2]|0)<<2)>>2]*+s[(f[g>>2]|0)+((f[w>>2]|0)-(f[E>>2]|0)<<2)>>2];u[m>>3]=+u[m>>3]+ +s[(f[g>>2]|0)+(0-(f[E>>2]|0)<<2)>>2]*+s[(f[g>>2]|0)+(0-(f[E>>2]|0)<<2)>>2];s[O+(f[T>>2]<<2)>>2]=+u[m>>3];f[T>>2]=(f[T>>2]|0)+1;f[E>>2]=(f[E>>2]|0)+1}f[_>>2]=t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[x>>2]|0))break;i=re(f[R>>2]|0,f[y>>2]|0)|0;f[A>>2]=(t[(f[p>>2]|0)+(i+(f[E>>2]|0))>>0]|0)-(f[_>>2]|0);f[S>>2]=0;while(1){if((f[S>>2]|0)>=5)break;s[(f[l>>2]|0)+((f[R>>2]|0)*680|0)+((f[E>>2]|0)*20|0)+(f[S>>2]<<2)>>2]=+s[O+((f[A>>2]|0)+(f[S>>2]|0)<<2)>>2];f[S>>2]=(f[S>>2]|0)+1}f[E>>2]=(f[E>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+(f[w>>2]<<2);f[R>>2]=(f[R>>2]|0)+1}h=P;return}function Jt(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;c=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;s[o>>2]=i;f[l>>2]=t;f[u>>2]=f[l>>2]&65532;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;s[(f[n>>2]|0)+((f[c>>2]|0)+0<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+0<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+2<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+2<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+3<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+3<<2)>>2];f[c>>2]=(f[c>>2]|0)+4}while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}h=b;return}function Gt(e){e=e|0;var r=0;r=h;h=h+e|0;h=h+15&-16;return r|0}function Kt(){return h|0}function Xt(e){e=e|0;h=e}function $t(e,r){e=e|0;r=r|0;h=e;c=r}function Qt(e,r){e=e|0;r=r|0;if(!d){d=e;p=r}}function en(e){e=e|0;t[b>>0]=t[e>>0];t[b+1>>0]=t[e+1>>0];t[b+2>>0]=t[e+2>>0];t[b+3>>0]=t[e+3>>0]}function rn(e){e=e|0;t[b>>0]=t[e>>0];t[b+1>>0]=t[e+1>>0];t[b+2>>0]=t[e+2>>0];t[b+3>>0]=t[e+3>>0];t[b+4>>0]=t[e+4>>0];t[b+5>>0]=t[e+5>>0];t[b+6>>0]=t[e+6>>0];t[b+7>>0]=t[e+7>>0]}function tn(e){e=e|0;L=e}function nn(){return L|0}function fn(e,r,i,t,n){e=+e;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;a=w+20|0;o=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;s[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[u>>2]|0))break;if(+s[a>>2]<+s[(f[o>>2]|0)+(f[b>>2]<<2)>>2])break;f[b>>2]=(f[b>>2]|0)+1}if((f[b>>2]|0)>(f[c>>2]|0)?+s[a>>2]<+s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]+ +s[(f[l>>2]|0)+(f[c>>2]<<2)>>2]:0)f[b>>2]=f[c>>2];if((f[b>>2]|0)>=(f[c>>2]|0)){r=f[b>>2]|0;h=w;return r|0}if(!(+s[a>>2]>+s[(f[o>>2]|0)+((f[c>>2]|0)-1<<2)>>2]-+s[(f[l>>2]|0)+((f[c>>2]|0)-1<<2)>>2])){r=f[b>>2]|0;h=w;return r|0}f[b>>2]=f[c>>2];r=f[b>>2]|0;h=w;return r|0}function an(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(re(1664525,f[i>>2]|0)|0)+1013904223|0;h=r;return e|0}function on(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;l=_+40|0;u=_+36|0;c=_+32|0;b=_+28|0;w=_+24|0;k=_+20|0;g=_+16|0;p=_+12|0;d=_+8|0;v=_+4|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[k>>2]=o;f[v>>2]=f[(f[l>>2]|0)+32>>2];f[d>>2]=f[(f[l>>2]|0)+44>>2]<>2];f[p>>2]=0;do{f[g>>2]=0;while(1){a=f[p>>2]|0;if((f[g>>2]|0)>=(f[b>>2]|0))break;t=re(a,f[d>>2]|0)|0;e=re(f[p>>2]|0,f[d>>2]|0)|0;s[y>>2]=+ln((f[u>>2]|0)+(t+(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]<>2])<<2)|0,(f[u>>2]|0)+(e+(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]<>2])<<2)|0,(n[(f[v>>2]|0)+((f[g>>2]|0)+1<<1)>>1]|0)-(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]|0)<>2])+1.0000000272452012e-27;m=+H(+ +s[y>>2]);e=(f[g>>2]|0)+(re(f[p>>2]|0,f[(f[l>>2]|0)+8>>2]|0)|0)|0;s[(f[c>>2]|0)+(e<<2)>>2]=m;f[g>>2]=(f[g>>2]|0)+1}e=a+1|0;f[p>>2]=e}while((e|0)<(f[w>>2]|0));h=_;return}function ln(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function sn(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+64|0;u=A+48|0;c=A+44|0;b=A+40|0;w=A+36|0;k=A+32|0;d=A+28|0;p=A+24|0;m=A+20|0;g=A+16|0;v=A+12|0;y=A+8|0;E=A+4|0;_=A;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[y>>2]=f[(f[u>>2]|0)+32>>2];f[v>>2]=re(f[p>>2]|0,f[(f[u>>2]|0)+44>>2]|0)|0;f[g>>2]=0;do{f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[k>>2]|0))break;e=(f[m>>2]|0)+(re(f[g>>2]|0,f[(f[u>>2]|0)+8>>2]|0)|0)|0;s[_>>2]=1/(+s[(f[w>>2]|0)+(e<<2)>>2]+1.0000000272452012e-27);f[E>>2]=re(f[p>>2]|0,n[(f[y>>2]|0)+(f[m>>2]<<1)>>1]|0)|0;while(1){if((f[E>>2]|0)>=(re(f[p>>2]|0,n[(f[y>>2]|0)+((f[m>>2]|0)+1<<1)>>1]|0)|0))break;r=(f[E>>2]|0)+(re(f[g>>2]|0,f[v>>2]|0)|0)|0;e=(f[E>>2]|0)+(re(f[g>>2]|0,f[v>>2]|0)|0)|0;s[(f[b>>2]|0)+(e<<2)>>2]=+s[(f[c>>2]|0)+(r<<2)>>2]*+s[_>>2];f[E>>2]=(f[E>>2]|0)+1}f[m>>2]=(f[m>>2]|0)+1}e=(f[g>>2]|0)+1|0;f[g>>2]=e}while((e|0)<(f[d>>2]|0));h=A;return}function un(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;L=h;h=h+80|0;P=L+72|0;w=L+68|0;k=L+64|0;d=L+60|0;p=L+56|0;v=L+52|0;g=L+48|0;b=L+44|0;y=L+40|0;T=L+36|0;_=L+32|0;E=L+28|0;S=L+24|0;O=L+20|0;A=L+16|0;M=L+12|0;m=L+8|0;R=L+4|0;x=L;f[P>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[b>>2]=u;f[y>>2]=c;f[A>>2]=f[(f[P>>2]|0)+32>>2];f[_>>2]=re(f[g>>2]|0,f[(f[P>>2]|0)+44>>2]|0)|0;f[E>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+(f[v>>2]<<1)>>1]|0)|0;if((f[b>>2]|0)!=1){if((f[E>>2]|0)<((f[_>>2]|0)/(f[b>>2]|0)|0|0))b=f[E>>2]|0;else b=(f[_>>2]|0)/(f[b>>2]|0)|0;f[E>>2]=b}if(f[y>>2]|0){f[E>>2]=0;f[v>>2]=0;f[p>>2]=0}f[S>>2]=f[k>>2];f[O>>2]=(f[w>>2]|0)+((re(f[g>>2]|0,n[(f[A>>2]|0)+(f[p>>2]<<1)>>1]|0)|0)<<2);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(re(f[g>>2]|0,n[(f[A>>2]|0)+(f[p>>2]<<1)>>1]|0)|0))break;P=f[S>>2]|0;f[S>>2]=P+4;s[P>>2]=0;f[T>>2]=(f[T>>2]|0)+1}f[T>>2]=f[p>>2];while(1){if((f[T>>2]|0)>=(f[v>>2]|0))break;f[M>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+(f[T>>2]<<1)>>1]|0)|0;f[m>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+((f[T>>2]|0)+1<<1)>>1]|0)|0;s[x>>2]=+s[(f[d>>2]|0)+(f[T>>2]<<2)>>2]+ +s[17464+(f[T>>2]<<2)>>2];s[R>>2]=+$(+(+s[x>>2]*.6931471805599453));do{P=f[O>>2]|0;f[O>>2]=P+4;I=+s[P>>2]*+s[R>>2];P=f[S>>2]|0;f[S>>2]=P+4;s[P>>2]=I;P=(f[M>>2]|0)+1|0;f[M>>2]=P}while((P|0)<(f[m>>2]|0));f[T>>2]=(f[T>>2]|0)+1}vs((f[k>>2]|0)+(f[E>>2]<<2)|0,0,(f[_>>2]|0)-(f[E>>2]|0)<<2|0)|0;h=L;return}function hn(e,r,i,t,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,q=0,W=0,Z=0,V=0,J=0,G=0;J=h;h=h+112|0;y=J+108|0;_=J+104|0;R=J+100|0;T=J+96|0;M=J+92|0;x=J+88|0;G=J+84|0;O=J+80|0;L=J+76|0;P=J+72|0;m=J+68|0;E=J+64|0;A=J+60|0;S=J+56|0;B=J+52|0;D=J+48|0;N=J+44|0;F=J+40|0;C=J+36|0;V=J+32|0;Z=J+28|0;j=J+24|0;U=J+20|0;z=J+16|0;Y=J+12|0;I=J+8|0;q=J+4|0;W=J;f[y>>2]=e;f[_>>2]=r;f[R>>2]=i;f[T>>2]=t;f[M>>2]=o;f[x>>2]=l;f[G>>2]=u;f[O>>2]=c;f[L>>2]=b;f[P>>2]=w;f[m>>2]=k;f[E>>2]=d;f[A>>2]=p;f[S>>2]=v;f[D>>2]=f[G>>2];while(1){if((f[D>>2]|0)>=(f[O>>2]|0))break;f[C>>2]=(n[(f[(f[y>>2]|0)+32>>2]|0)+((f[D>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]|0);G=cn(1+(f[(f[E>>2]|0)+(f[D>>2]<<2)>>2]|0)|0,(n[(f[(f[y>>2]|0)+32>>2]|0)+((f[D>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]|0)|0)|0;f[j>>2]=G>>>(f[T>>2]|0);s[V>>2]=+$(+(+(f[j>>2]|0)*-.125*.6931471805599453))*.5;s[Z>>2]=1/+H(+ +(f[C>>2]<>2]|0));f[B>>2]=0;do{f[W>>2]=0;G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[z>>2]=+s[(f[P>>2]|0)+(G+(f[D>>2]|0)<<2)>>2];G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[Y>>2]=+s[(f[m>>2]|0)+(G+(f[D>>2]|0)<<2)>>2];if((f[M>>2]|0)==1){if(+s[z>>2]>+s[(f[P>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2])g=+s[z>>2];else g=+s[(f[P>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2];s[z>>2]=g;if(+s[Y>>2]>+s[(f[m>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2])g=+s[Y>>2];else g=+s[(f[m>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2];s[Y>>2]=g}G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[I>>2]=+s[(f[L>>2]|0)+(G+(f[D>>2]|0)<<2)>>2]-(+s[z>>2]<+s[Y>>2]?+s[z>>2]:+s[Y>>2]);s[I>>2]=0>+s[I>>2]?0:+s[I>>2];s[q>>2]=+$(+(-+s[I>>2]*.6931471805599453))*2;if((f[T>>2]|0)==3)s[q>>2]=+s[q>>2]*1.4142135381698608;s[q>>2]=+s[V>>2]<+s[q>>2]?+s[V>>2]:+s[q>>2];s[q>>2]=+s[q>>2]*+s[Z>>2];G=(f[_>>2]|0)+((re(f[B>>2]|0,f[x>>2]|0)|0)<<2)|0;f[U>>2]=G+(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]<>2]<<2);f[F>>2]=0;while(1){if((f[F>>2]|0)>=(1<>2]|0))break;G=re(f[D>>2]|0,f[M>>2]|0)|0;if(!(a[(f[R>>2]|0)+(G+(f[B>>2]|0))>>0]&1<>2])){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(f[C>>2]|0))break;f[A>>2]=an(f[A>>2]|0)|0;g=+s[q>>2];s[(f[U>>2]|0)+((f[N>>2]<>2])+(f[F>>2]|0)<<2)>>2]=f[A>>2]&32768|0?g:-g;f[N>>2]=(f[N>>2]|0)+1}f[W>>2]=1}f[F>>2]=(f[F>>2]|0)+1}if(f[W>>2]|0)ri(f[U>>2]|0,f[C>>2]<>2],1,f[S>>2]|0);G=(f[B>>2]|0)+1|0;f[B>>2]=G}while((G|0)<(f[M>>2]|0));f[D>>2]=(f[D>>2]|0)+1}h=J;return}function cn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function bn(e,r,i,t,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+112|0;P=N+104|0;w=N+100|0;d=N+96|0;I=N+92|0;C=N+88|0;p=N+84|0;v=N+80|0;g=N+76|0;y=N+72|0;_=N+68|0;k=N+64|0;R=N+60|0;A=N+56|0;E=N+52|0;D=N+48|0;j=N+44|0;S=N+40|0;U=N+36|0;B=N+32|0;T=N+28|0;m=N+24|0;x=N+20|0;M=N+8|0;O=N+4|0;L=N;f[w>>2]=e;f[d>>2]=r;f[I>>2]=i;f[C>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=c;f[k>>2]=b;f[D>>2]=0;f[j>>2]=0;f[S>>2]=f[(f[w>>2]|0)+32>>2];f[B>>2]=0;f[E>>2]=re(f[k>>2]|0,f[(f[w>>2]|0)+44>>2]|0)|0;if((re(f[k>>2]|0,(n[(f[S>>2]|0)+(f[y>>2]<<1)>>1]|0)-(n[(f[S>>2]|0)+((f[y>>2]|0)-1<<1)>>1]|0)|0)|0)<=8){f[P>>2]=0;D=f[P>>2]|0;h=N;return D|0}f[A>>2]=0;do{f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[y>>2]|0))break;f[x>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;l=(f[d>>2]|0)+((re(f[k>>2]|0,n[(f[S>>2]|0)+(f[R>>2]<<1)>>1]|0)|0)<<2)|0;f[O>>2]=l+((re(f[A>>2]|0,f[E>>2]|0)|0)<<2);f[m>>2]=re(f[k>>2]|0,(n[(f[S>>2]|0)+((f[R>>2]|0)+1<<1)>>1]|0)-(n[(f[S>>2]|0)+(f[R>>2]<<1)>>1]|0)|0)|0;if((f[m>>2]|0)>8){f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[m>>2]|0))break;s[L>>2]=+s[(f[O>>2]|0)+(f[T>>2]<<2)>>2]*+s[(f[O>>2]|0)+(f[T>>2]<<2)>>2]*+(f[m>>2]|0);if(+s[L>>2]<.25)f[M>>2]=(f[M>>2]|0)+1;if(+s[L>>2]<.0625){l=M+4|0;f[l>>2]=(f[l>>2]|0)+1}if(+s[L>>2]<.015625){l=M+8|0;f[l>>2]=(f[l>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}if((f[R>>2]|0)>((f[(f[w>>2]|0)+8>>2]|0)-4|0)){l=cn((f[M+4>>2]|0)+(f[M>>2]|0)<<5,f[m>>2]|0)|0;f[B>>2]=(f[B>>2]|0)+l}f[x>>2]=((f[M+8>>2]<<1|0)>=(f[m>>2]|0)&1)+((f[M+4>>2]<<1|0)>=(f[m>>2]|0)&1)+((f[M>>2]<<1|0)>=(f[m>>2]|0)&1);f[D>>2]=(f[D>>2]|0)+(f[x>>2]<<8);f[j>>2]=(f[j>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}l=(f[A>>2]|0)+1|0;f[A>>2]=l}while((l|0)<(f[_>>2]|0));do{if(f[g>>2]|0){if(f[B>>2]|0)f[B>>2]=cn(f[B>>2]|0,re(f[_>>2]|0,4-(f[(f[w>>2]|0)+8>>2]|0)+(f[y>>2]|0)|0)|0)|0;f[f[p>>2]>>2]=(f[f[p>>2]>>2]|0)+(f[B>>2]|0)>>1;f[B>>2]=f[f[p>>2]>>2];if((f[f[v>>2]>>2]|0)!=2){if(!(f[f[v>>2]>>2]|0))f[B>>2]=(f[B>>2]|0)-4}else f[B>>2]=(f[B>>2]|0)+4;if((f[B>>2]|0)>22){f[f[v>>2]>>2]=2;break}w=f[v>>2]|0;if((f[B>>2]|0)>18){f[w>>2]=1;break}else{f[w>>2]=0;break}}}while(0);f[D>>2]=cn(f[D>>2]|0,f[j>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+(f[f[I>>2]>>2]|0)>>1;f[f[I>>2]>>2]=f[D>>2];f[D>>2]=((f[D>>2]|0)*3|0)+((3-(f[C>>2]|0)<<7)+64)+2>>2;do{if((f[D>>2]|0)>=80){if((f[D>>2]|0)<256){f[U>>2]=2;break}if((f[D>>2]|0)<384){f[U>>2]=1;break}else{f[U>>2]=0;break}}else f[U>>2]=3}while(0);f[P>>2]=f[U>>2];D=f[P>>2]|0;h=N;return D|0}function wn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;u=b+4|0;c=b;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[n>>2]=f[n>>2]>>1;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[n>>2]|0))break;i=re(f[a>>2]<<1,f[l>>2]|0)|0;s[u>>2]=+s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]*.7071067690849304;i=re(f[a>>2]|0,(f[l>>2]<<1)+1|0)|0;s[c>>2]=+s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]*.7071067690849304;i=re(f[a>>2]<<1,f[l>>2]|0)|0;s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]=+s[u>>2]+ +s[c>>2];i=re(f[a>>2]|0,(f[l>>2]<<1)+1|0)|0;s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]=+s[u>>2]-+s[c>>2];f[l>>2]=(f[l>>2]|0)+1}f[o>>2]=(f[o>>2]|0)+1}h=b;return}function kn(e,r,i,o,l,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;var T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0;Ee=h;h=h+256|0;Se=Ee+240|0;T=Ee+236|0;D=Ee+232|0;F=Ee+228|0;z=Ee+224|0;Y=Ee+220|0;H=Ee+216|0;Re=Ee+212|0;q=Ee+208|0;Te=Ee+204|0;M=Ee+200|0;x=Ee+196|0;O=Ee+192|0;L=Ee+188|0;P=Ee+184|0;I=Ee+180|0;C=Ee+176|0;U=Ee+172|0;B=Ee+168|0;j=Ee+164|0;Ae=Ee+160|0;ae=Ee+156|0;ke=Ee+152|0;ee=Ee+148|0;ce=Ee+144|0;be=Ee+140|0;ue=Ee+136|0;W=Ee+132|0;V=Ee+128|0;se=Ee+124|0;ye=Ee+120|0;Z=Ee+116|0;we=Ee+112|0;pe=Ee+108|0;$=Ee+64|0;N=Ee+60|0;ve=Ee+56|0;X=Ee+52|0;J=Ee+48|0;Q=Ee+44|0;ie=Ee+40|0;G=Ee+36|0;K=Ee+32|0;ge=Ee+28|0;_e=Ee+24|0;me=Ee+20|0;le=Ee+16|0;fe=Ee+12|0;te=Ee+8|0;ne=Ee+4|0;oe=Ee;f[Se>>2]=e;f[T>>2]=r;f[D>>2]=i;f[F>>2]=o;f[z>>2]=l;f[Y>>2]=u;f[H>>2]=c;f[Re>>2]=b;f[q>>2]=w;f[Te>>2]=k;f[M>>2]=d;f[x>>2]=p;f[O>>2]=v;f[L>>2]=g;f[P>>2]=y;f[I>>2]=_;f[C>>2]=m;f[U>>2]=E;f[B>>2]=A;f[j>>2]=S;f[Ae>>2]=R;f[ee>>2]=f[(f[T>>2]|0)+32>>2];f[ye>>2]=1;f[Z>>2]=f[Y>>2]|0?2:1;f[pe>>2]=((f[Se>>2]|0)!=0^1)&1;f[V>>2]=1<>2];f[W>>2]=f[Te>>2]|0?f[V>>2]|0:1;f[we>>2]=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[D>>2]<<1)>>1]|0)|0;g=re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0;g=re(f[Z>>2]|0,g-(f[we>>2]|0)|0)|0;f[N>>2]=he()|0;y=h;h=h+((1*(g<<2)|0)+15&-16)|0;f[ce>>2]=y;y=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2)|0;f[be>>2]=y+(0-(f[we>>2]|0)<<2);f[ue>>2]=(f[z>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2);f[se>>2]=0;f[$+32>>2]=f[Re>>2];f[$+24>>2]=f[C>>2];f[$>>2]=f[Se>>2];f[$+12>>2]=f[O>>2];f[$+4>>2]=f[T>>2];f[$+36>>2]=f[f[j>>2]>>2];f[$+16>>2]=f[M>>2];f[$+40>>2]=f[Ae>>2];f[ae>>2]=f[D>>2];while(1){if((f[ae>>2]|0)>=(f[F>>2]|0))break;f[ie>>2]=-1;f[ge>>2]=0;f[$+8>>2]=f[ae>>2];f[le>>2]=(f[ae>>2]|0)==((f[F>>2]|0)-1|0)&1;f[G>>2]=(f[z>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2);if(f[Y>>2]|0)f[K>>2]=(f[Y>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2);else f[K>>2]=0;Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[ae>>2]|0)+1<<1)>>1]|0)|0;f[J>>2]=Te-(re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0);f[ve>>2]=Le(f[C>>2]|0)|0;if((f[ae>>2]|0)!=(f[D>>2]|0))f[I>>2]=(f[I>>2]|0)-(f[ve>>2]|0);f[ke>>2]=(f[P>>2]|0)-(f[ve>>2]|0)-1;f[$+28>>2]=f[ke>>2];if((f[ae>>2]|0)<=((f[B>>2]|0)-1|0)){if(3<((f[B>>2]|0)-(f[ae>>2]|0)|0))E=3;else E=(f[B>>2]|0)-(f[ae>>2]|0)|0;f[Q>>2]=dn(f[I>>2]|0,E)|0;if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0))E=(f[ke>>2]|0)+1|0;else E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;do{if(16383>=(E|0))if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0)){E=(f[ke>>2]|0)+1|0;break}else{E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;break}else E=16383}while(0);do{if(0<=(E|0)){if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0))E=(f[ke>>2]|0)+1|0;else E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;if(16383>=(E|0))if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0)){E=(f[ke>>2]|0)+1|0;break}else{E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;break}else E=16383}else E=0}while(0);f[X>>2]=E}else f[X>>2]=0;if((f[pe>>2]|0?(Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0,(Te-(f[J>>2]|0)|0)>=(re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[D>>2]<<1)>>1]|0)|0)):0)?(f[ye>>2]|0)!=0|(f[se>>2]|0)==0:0)f[se>>2]=f[ae>>2];f[ge>>2]=f[(f[L>>2]|0)+(f[ae>>2]<<2)>>2];f[$+20>>2]=f[ge>>2];if((f[ae>>2]|0)>=(f[(f[T>>2]|0)+12>>2]|0)){f[G>>2]=f[ce>>2];if(f[Y>>2]|0)f[K>>2]=f[ce>>2];f[ue>>2]=0}if((f[ae>>2]|0)==((f[F>>2]|0)-1|0))f[ue>>2]=0;if(f[se>>2]|0?(f[M>>2]|0)!=3|(f[W>>2]|0)>1|(f[ge>>2]|0)<0:0){Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[se>>2]<<1)>>1]|0)|0;if(0>(Te-(f[we>>2]|0)-(f[J>>2]|0)|0))E=0;else{E=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[se>>2]<<1)>>1]|0)|0;E=E-(f[we>>2]|0)-(f[J>>2]|0)|0}f[ie>>2]=E;f[fe>>2]=f[se>>2];do{Re=f[V>>2]|0;Te=(f[fe>>2]|0)+-1|0;f[fe>>2]=Te;Te=re(Re,n[(f[ee>>2]|0)+(Te<<1)>>1]|0)|0}while((Te|0)>((f[ie>>2]|0)+(f[we>>2]|0)|0));f[te>>2]=(f[se>>2]|0)-1;do{Re=f[V>>2]|0;Te=(f[te>>2]|0)+1|0;f[te>>2]=Te;Te=re(Re,n[(f[ee>>2]|0)+(Te<<1)>>1]|0)|0}while((Te|0)<((f[ie>>2]|0)+(f[we>>2]|0)+(f[J>>2]|0)|0));f[me>>2]=0;f[_e>>2]=0;f[ne>>2]=f[fe>>2];do{Te=(re(f[ne>>2]|0,f[Z>>2]|0)|0)+0|0;f[_e>>2]=f[_e>>2]|a[(f[H>>2]|0)+Te>>0];Te=re(f[ne>>2]|0,f[Z>>2]|0)|0;f[me>>2]=f[me>>2]|a[(f[H>>2]|0)+(Te+(f[Z>>2]|0)-1)>>0];Te=(f[ne>>2]|0)+1|0;f[ne>>2]=Te}while((Te|0)<(f[te>>2]|0))}else{Te=(1<>2])-1|0;f[me>>2]=Te;f[_e>>2]=Te}e:do{if((f[x>>2]|0?(f[ae>>2]|0)==(f[O>>2]|0):0)?(f[x>>2]=0,f[pe>>2]|0):0){f[oe>>2]=0;while(1){Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0;if((f[oe>>2]|0)>=(Te-(f[we>>2]|0)|0))break e;s[(f[ce>>2]|0)+(f[oe>>2]<<2)>>2]=(+s[(f[ce>>2]|0)+(f[oe>>2]<<2)>>2]+ +s[(f[be>>2]|0)+(f[oe>>2]<<2)>>2])*.5;f[oe>>2]=(f[oe>>2]|0)+1}}}while(0);if(f[x>>2]|0){if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=pn($,f[G>>2]|0,f[J>>2]|0,(f[X>>2]|0)/2|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[_e>>2]|0)|0;if((f[ie>>2]|0)!=-1)E=(f[be>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[be>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[me>>2]=pn($,f[K>>2]|0,f[J>>2]|0,(f[X>>2]|0)/2|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[me>>2]|0)|0}else{u=f[G>>2]|0;if(f[K>>2]|0){if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=vn($,u,f[K>>2]|0,f[J>>2]|0,f[X>>2]|0,f[W>>2]|0,E,f[U>>2]|0,l,f[ue>>2]|0,f[_e>>2]|f[me>>2])|0}else{if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=pn($,u,f[J>>2]|0,f[X>>2]|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[_e>>2]|f[me>>2])|0}f[me>>2]=f[_e>>2]}Te=(re(f[ae>>2]|0,f[Z>>2]|0)|0)+0|0;t[(f[H>>2]|0)+Te>>0]=f[_e>>2];Te=re(f[ae>>2]|0,f[Z>>2]|0)|0;t[(f[H>>2]|0)+(Te+(f[Z>>2]|0)-1)>>0]=f[me>>2];f[I>>2]=(f[I>>2]|0)+((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[ve>>2]|0));f[ye>>2]=(f[X>>2]|0)>(f[J>>2]<<3|0)&1;f[ae>>2]=(f[ae>>2]|0)+1}f[f[j>>2]>>2]=f[$+36>>2];de(f[N>>2]|0);h=Ee;return}function dn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return(f[t>>2]|0)/(f[i>>2]|0)|0|0}function pn(e,r,i,t,n,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;c=+c;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0;z=h;h=h+112|0;k=z+100|0;d=z+96|0;g=z+92|0;y=z+88|0;_=z+84|0;m=z+80|0;E=z+76|0;A=z+72|0;S=z+68|0;R=z+64|0;p=z+60|0;v=z+56|0;M=z+52|0;x=z+48|0;O=z+44|0;T=z+40|0;F=z+36|0;j=z+32|0;U=z+28|0;L=z+24|0;D=z+20|0;C=z+16|0;P=z+12|0;N=z+8|0;I=z+4|0;B=z;f[d>>2]=e;f[g>>2]=r;f[y>>2]=i;f[_>>2]=t;f[m>>2]=n;f[E>>2]=o;f[A>>2]=l;f[S>>2]=u;s[R>>2]=c;f[p>>2]=b;f[v>>2]=w;f[M>>2]=f[y>>2];f[x>>2]=f[y>>2];f[T>>2]=f[m>>2];f[F>>2]=0;f[j>>2]=0;f[L>>2]=0;f[D>>2]=((f[f[d>>2]>>2]|0)!=0^1)&1;f[P>>2]=f[f[d>>2]>>2];f[N>>2]=f[(f[d>>2]|0)+20>>2];f[U>>2]=(f[T>>2]|0)==1&1;f[x>>2]=cn(f[x>>2]|0,f[m>>2]|0)|0;if((f[y>>2]|0)==1){f[k>>2]=gn(f[d>>2]|0,f[g>>2]|0,0,f[_>>2]|0,f[S>>2]|0)|0;F=f[k>>2]|0;h=z;return F|0}if((f[N>>2]|0)>0)f[j>>2]=f[N>>2];do{if((f[p>>2]|0)!=0&(f[E>>2]|0)!=0){if((f[j>>2]|0)==0?!((f[x>>2]&1|0)==0&(f[N>>2]|0)<0|(f[T>>2]|0)>1):0)break;gs(f[p>>2]|0,f[E>>2]|0,(f[y>>2]<<2)+0|0)|0;f[E>>2]=f[p>>2]}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[j>>2]|0))break;if(f[P>>2]|0)wn(f[g>>2]|0,f[y>>2]>>f[C>>2],1<>2]);if(f[E>>2]|0)wn(f[E>>2]|0,f[y>>2]>>f[C>>2],1<>2]);f[v>>2]=a[25200+(f[v>>2]&15)>>0]|0|(a[25200+(f[v>>2]>>4)>>0]|0)<<2;f[C>>2]=(f[C>>2]|0)+1}f[m>>2]=f[m>>2]>>f[j>>2];f[x>>2]=f[x>>2]<>2];while(1){if(!((f[x>>2]&1|0)==0?(f[N>>2]|0)<0:0))break;if(f[P>>2]|0)wn(f[g>>2]|0,f[x>>2]|0,f[m>>2]|0);if(f[E>>2]|0)wn(f[E>>2]|0,f[x>>2]|0,f[m>>2]|0);f[v>>2]=f[v>>2]|f[v>>2]<>2];f[m>>2]=f[m>>2]<<1;f[x>>2]=f[x>>2]>>1;f[F>>2]=(f[F>>2]|0)+1;f[N>>2]=(f[N>>2]|0)+1}f[T>>2]=f[m>>2];f[O>>2]=f[x>>2];if((f[T>>2]|0)>1){if(f[P>>2]|0)yn(f[g>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0);if(f[E>>2]|0)yn(f[E>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0)}f[L>>2]=_n(f[d>>2]|0,f[g>>2]|0,f[y>>2]|0,f[_>>2]|0,f[m>>2]|0,f[E>>2]|0,f[A>>2]|0,+s[R>>2],f[v>>2]|0)|0;if(f[D>>2]|0){if((f[T>>2]|0)>1)mn(f[g>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0);f[x>>2]=f[O>>2];f[m>>2]=f[T>>2];f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[F>>2]|0))break;f[m>>2]=f[m>>2]>>1;f[x>>2]=f[x>>2]<<1;f[L>>2]=f[L>>2]|(f[L>>2]|0)>>>(f[m>>2]|0);wn(f[g>>2]|0,f[x>>2]|0,f[m>>2]|0);f[C>>2]=(f[C>>2]|0)+1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[j>>2]|0))break;f[L>>2]=a[25216+(f[L>>2]|0)>>0];wn(f[g>>2]|0,f[M>>2]>>f[C>>2],1<>2]);f[C>>2]=(f[C>>2]|0)+1}f[m>>2]=f[m>>2]<>2];e:do{if(f[S>>2]|0){s[B>>2]=+H(+ +(f[M>>2]|0));f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[M>>2]|0))break e;s[(f[S>>2]|0)+(f[I>>2]<<2)>>2]=+s[B>>2]*+s[(f[g>>2]|0)+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}}}while(0);f[L>>2]=f[L>>2]&(1<>2])-1}f[k>>2]=f[L>>2];F=f[k>>2]|0;h=z;return F|0}function vn(e,r,i,t,n,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;G=h;h=h+160|0;M=G+156|0;x=G+152|0;P=G+148|0;I=G+144|0;C=G+140|0;R=G+136|0;U=G+132|0;B=G+128|0;j=G+124|0;D=G+120|0;O=G+116|0;L=G+112|0;p=G+108|0;v=G+104|0;F=G+100|0;q=G+96|0;J=G+92|0;N=G+88|0;Z=G+84|0;H=G+80|0;V=G+76|0;S=G+72|0;z=G+68|0;T=G+64|0;y=G+40|0;g=G+36|0;d=G+32|0;k=G+28|0;w=G+24|0;_=G+20|0;E=G+16|0;A=G+12|0;m=G+8|0;W=G+4|0;Y=G;f[x>>2]=e;f[P>>2]=r;f[I>>2]=i;f[C>>2]=t;f[R>>2]=n;f[U>>2]=a;f[B>>2]=o;f[j>>2]=l;f[D>>2]=u;f[O>>2]=c;f[L>>2]=b;f[p>>2]=0;f[v>>2]=0;f[F>>2]=0;s[q>>2]=0;s[J>>2]=0;f[N>>2]=0;f[Z>>2]=((f[f[x>>2]>>2]|0)!=0^1)&1;f[d>>2]=f[f[x>>2]>>2];f[k>>2]=f[(f[x>>2]|0)+24>>2];if((f[C>>2]|0)==1){f[M>>2]=gn(f[x>>2]|0,f[P>>2]|0,f[I>>2]|0,f[R>>2]|0,f[D>>2]|0)|0;J=f[M>>2]|0;h=G;return J|0}f[g>>2]=f[L>>2];En(f[x>>2]|0,y,f[P>>2]|0,f[I>>2]|0,f[C>>2]|0,R,f[U>>2]|0,f[U>>2]|0,f[j>>2]|0,1,L);f[F>>2]=f[y>>2];f[p>>2]=f[y+4>>2];f[v>>2]=f[y+8>>2];f[S>>2]=f[y+12>>2];f[z>>2]=f[y+16>>2];f[T>>2]=f[y+20>>2];s[q>>2]=+(f[p>>2]|0)*30517578125e-15;s[J>>2]=+(f[v>>2]|0)*30517578125e-15;do{if((f[C>>2]|0)==2){f[_>>2]=0;f[H>>2]=f[R>>2];f[V>>2]=0;f[V>>2]=(f[z>>2]|0)!=0&(f[z>>2]|0)!=16384?8:0;f[H>>2]=(f[H>>2]|0)-(f[V>>2]|0);f[w>>2]=(f[z>>2]|0)>8192&1;W=(f[x>>2]|0)+28|0;f[W>>2]=(f[W>>2]|0)-((f[T>>2]|0)+(f[V>>2]|0));f[E>>2]=f[w>>2]|0?f[I>>2]|0:f[P>>2]|0;f[A>>2]=f[w>>2]|0?f[P>>2]|0:f[I>>2]|0;do{if(f[V>>2]|0)if(f[d>>2]|0){f[_>>2]=+s[f[E>>2]>>2]*+s[(f[A>>2]|0)+4>>2]-+s[(f[E>>2]|0)+4>>2]*+s[f[A>>2]>>2]<0&1;er(f[k>>2]|0,f[_>>2]|0,1);break}else{f[_>>2]=Ye(f[k>>2]|0,1)|0;break}}while(0);f[_>>2]=1-(f[_>>2]<<1);f[N>>2]=pn(f[x>>2]|0,f[E>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[g>>2]|0)|0;s[f[A>>2]>>2]=+(0-(f[_>>2]|0)|0)*+s[(f[E>>2]|0)+4>>2];s[(f[A>>2]|0)+4>>2]=+(f[_>>2]|0)*+s[f[E>>2]>>2];if(f[Z>>2]|0){s[f[P>>2]>>2]=+s[q>>2]*+s[f[P>>2]>>2];s[(f[P>>2]|0)+4>>2]=+s[q>>2]*+s[(f[P>>2]|0)+4>>2];s[f[I>>2]>>2]=+s[J>>2]*+s[f[I>>2]>>2];s[(f[I>>2]|0)+4>>2]=+s[J>>2]*+s[(f[I>>2]|0)+4>>2];s[m>>2]=+s[f[P>>2]>>2];s[f[P>>2]>>2]=+s[m>>2]-+s[f[I>>2]>>2];s[f[I>>2]>>2]=+s[m>>2]+ +s[f[I>>2]>>2];s[m>>2]=+s[(f[P>>2]|0)+4>>2];s[(f[P>>2]|0)+4>>2]=+s[m>>2]-+s[(f[I>>2]|0)+4>>2];s[(f[I>>2]|0)+4>>2]=+s[m>>2]+ +s[(f[I>>2]|0)+4>>2]}}else{a=f[R>>2]|0;if((f[R>>2]|0)>=(((f[R>>2]|0)-(f[S>>2]|0)|0)/2|0|0))a=(a-(f[S>>2]|0)|0)/2|0;if(0<=(a|0)){a=f[R>>2]|0;if((f[R>>2]|0)>=(((f[R>>2]|0)-(f[S>>2]|0)|0)/2|0|0))a=(a-(f[S>>2]|0)|0)/2|0}else a=0;f[H>>2]=a;f[V>>2]=(f[R>>2]|0)-(f[H>>2]|0);a=(f[x>>2]|0)+28|0;f[a>>2]=(f[a>>2]|0)-(f[T>>2]|0);f[W>>2]=f[(f[x>>2]|0)+28>>2];a=f[x>>2]|0;if((f[H>>2]|0)>=(f[V>>2]|0)){f[N>>2]=pn(a,f[P>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[L>>2]|0)|0;f[W>>2]=(f[H>>2]|0)-((f[W>>2]|0)-(f[(f[x>>2]|0)+28>>2]|0));if((f[W>>2]|0)>24&(f[z>>2]|0)!=0)f[V>>2]=(f[V>>2]|0)+((f[W>>2]|0)-24);J=pn(f[x>>2]|0,f[I>>2]|0,f[C>>2]|0,f[V>>2]|0,f[U>>2]|0,0,f[j>>2]|0,0,+s[J>>2],0,f[L>>2]>>f[U>>2])|0;f[N>>2]=f[N>>2]|J;break}else{f[N>>2]=pn(a,f[I>>2]|0,f[C>>2]|0,f[V>>2]|0,f[U>>2]|0,0,f[j>>2]|0,0,+s[J>>2],0,f[L>>2]>>f[U>>2])|0;f[W>>2]=(f[V>>2]|0)-((f[W>>2]|0)-(f[(f[x>>2]|0)+28>>2]|0));if((f[W>>2]|0)>24&(f[z>>2]|0)!=16384)f[H>>2]=(f[H>>2]|0)+((f[W>>2]|0)-24);J=pn(f[x>>2]|0,f[P>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[L>>2]|0)|0;f[N>>2]=f[N>>2]|J;break}}}while(0);e:do{if(f[Z>>2]|0){if((f[C>>2]|0)!=2)Pn(f[P>>2]|0,f[I>>2]|0,+s[q>>2],f[C>>2]|0,f[(f[x>>2]|0)+40>>2]|0);if(f[F>>2]|0){f[Y>>2]=0;while(1){if((f[Y>>2]|0)>=(f[C>>2]|0))break e;s[(f[I>>2]|0)+(f[Y>>2]<<2)>>2]=-+s[(f[I>>2]|0)+(f[Y>>2]<<2)>>2];f[Y>>2]=(f[Y>>2]|0)+1}}}}while(0);f[M>>2]=f[N>>2];J=f[M>>2]|0;h=G;return J|0}function gn(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;d=y+24|0;b=y+20|0;v=y+16|0;g=y+12|0;k=y+8|0;w=y+4|0;p=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;f[d>>2]=((f[f[a>>2]>>2]|0)!=0^1)&1;f[g>>2]=f[o>>2];f[k>>2]=f[f[a>>2]>>2];f[w>>2]=f[(f[a>>2]|0)+24>>2];f[v>>2]=(f[l>>2]|0)!=0&1;f[b>>2]=0;do{f[p>>2]=0;if((f[(f[a>>2]|0)+28>>2]|0)>=8){if(f[k>>2]|0){f[p>>2]=+s[f[g>>2]>>2]<0&1;er(f[w>>2]|0,f[p>>2]|0,1)}else f[p>>2]=Ye(f[w>>2]|0,1)|0;n=(f[a>>2]|0)+28|0;f[n>>2]=(f[n>>2]|0)-8;f[u>>2]=(f[u>>2]|0)-8}if(f[d>>2]|0)s[f[g>>2]>>2]=f[p>>2]|0?-1:1;f[g>>2]=f[l>>2];n=(f[b>>2]|0)+1|0;f[b>>2]=n}while((n|0)<(1+(f[v>>2]|0)|0));if(!(f[c>>2]|0)){h=y;return 1}s[f[c>>2]>>2]=+s[f[o>>2]>>2];h=y;return 1}function yn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;n=k+32|0;a=k+28|0;o=k+24|0;d=k+20|0;c=k+16|0;b=k+12|0;u=k+8|0;l=k+4|0;w=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[d>>2]=t;f[u>>2]=re(f[a>>2]|0,f[o>>2]|0)|0;i=f[u>>2]|0;f[l>>2]=he()|0;r=h;h=h+((1*(i<<2)|0)+15&-16)|0;if(f[d>>2]|0){f[w>>2]=8+(f[o>>2]<<2)+-8;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;i=re(f[b>>2]|0,f[o>>2]|0)|0;d=re(f[(f[w>>2]|0)+(f[c>>2]<<2)>>2]|0,f[a>>2]|0)|0;s[r+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[n>>2]|0)+(i+(f[c>>2]|0)<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}w=f[n>>2]|0;b=f[u>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,r|0,d|0)|0;d=f[l>>2]|0;de(d|0);h=k;return}else{f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;w=re(f[b>>2]|0,f[o>>2]|0)|0;d=re(f[c>>2]|0,f[a>>2]|0)|0;s[r+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[n>>2]|0)+(w+(f[c>>2]|0)<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}w=f[n>>2]|0;b=f[u>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,r|0,d|0)|0;d=f[l>>2]|0;de(d|0);h=k;return}}function _n(e,r,i,t,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;u=u|0;c=+c;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0;K=h;h=h+176|0;P=K+164|0;I=K+160|0;Z=K+156|0;x=K+152|0;V=K+148|0;C=K+144|0;U=K+140|0;J=K+136|0;B=K+132|0;X=K+128|0;_=K+124|0;k=K+120|0;p=K+116|0;v=K+112|0;j=K+108|0;z=K+104|0;W=K+100|0;G=K+96|0;m=K+92|0;D=K+88|0;O=K+84|0;y=K+80|0;d=K+76|0;R=K+72|0;M=K+68|0;F=K+64|0;q=K+60|0;T=K+56|0;N=K+52|0;L=K+48|0;E=K+24|0;Y=K+20|0;H=K+16|0;S=K+12|0;g=K+8|0;w=K+4|0;A=K;f[P>>2]=e;f[I>>2]=r;f[Z>>2]=i;f[x>>2]=t;f[V>>2]=o;f[C>>2]=l;f[U>>2]=u;s[J>>2]=c;f[B>>2]=b;f[p>>2]=0;f[v>>2]=0;f[j>>2]=f[V>>2];s[z>>2]=0;s[W>>2]=0;f[G>>2]=0;f[m>>2]=((f[f[P>>2]>>2]|0)!=0^1)&1;f[D>>2]=0;f[O>>2]=f[f[P>>2]>>2];f[y>>2]=f[(f[P>>2]|0)+4>>2];f[d>>2]=f[(f[P>>2]|0)+8>>2];f[R>>2]=f[(f[P>>2]|0)+16>>2];f[M>>2]=f[(f[P>>2]|0)+24>>2];l=re((f[U>>2]|0)+1|0,f[(f[y>>2]|0)+8>>2]|0)|0;f[X>>2]=(f[(f[y>>2]|0)+92+8>>2]|0)+(n[(f[(f[y>>2]|0)+92+4>>2]|0)+(l+(f[d>>2]|0)<<1)>>1]|0);if((f[U>>2]|0)!=-1?(f[Z>>2]|0)>2?(f[x>>2]|0)>((a[(f[X>>2]|0)+(a[f[X>>2]>>0]|0)>>0]|0)+12|0):0:0){f[Y>>2]=0;f[Z>>2]=f[Z>>2]>>1;f[D>>2]=(f[I>>2]|0)+(f[Z>>2]<<2);f[U>>2]=(f[U>>2]|0)-1;if((f[V>>2]|0)==1)f[B>>2]=f[B>>2]&1|f[B>>2]<<1;f[V>>2]=(f[V>>2]|0)+1>>1;En(f[P>>2]|0,E,f[I>>2]|0,f[D>>2]|0,f[Z>>2]|0,x,f[V>>2]|0,f[j>>2]|0,f[U>>2]|0,0,B);f[p>>2]=f[E+4>>2];f[v>>2]=f[E+8>>2];f[T>>2]=f[E+12>>2];f[N>>2]=f[E+16>>2];f[L>>2]=f[E+20>>2];s[z>>2]=+(f[p>>2]|0)*30517578125e-15;s[W>>2]=+(f[v>>2]|0)*30517578125e-15;do{if((f[j>>2]|0)>1?f[N>>2]&16383|0:0){o=f[T>>2]|0;if((f[N>>2]|0)>8192){f[T>>2]=(f[T>>2]|0)-(o>>4-(f[U>>2]|0));break}if(0<(o+(f[Z>>2]<<3>>5-(f[U>>2]|0))|0))o=0;else o=(f[T>>2]|0)+(f[Z>>2]<<3>>5-(f[U>>2]|0))|0;f[T>>2]=o}}while(0);o=f[x>>2]|0;if((f[x>>2]|0)>=(((f[x>>2]|0)-(f[T>>2]|0)|0)/2|0|0))o=(o-(f[T>>2]|0)|0)/2|0;if(0<=(o|0)){o=f[x>>2]|0;if((f[x>>2]|0)>=(((f[x>>2]|0)-(f[T>>2]|0)|0)/2|0|0))o=(o-(f[T>>2]|0)|0)/2|0}else o=0;f[F>>2]=o;f[q>>2]=(f[x>>2]|0)-(f[F>>2]|0);X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[L>>2]|0);if(f[C>>2]|0)f[Y>>2]=(f[C>>2]|0)+(f[Z>>2]<<2);f[H>>2]=f[(f[P>>2]|0)+28>>2];o=f[P>>2]|0;if((f[F>>2]|0)>=(f[q>>2]|0)){f[G>>2]=_n(o,f[I>>2]|0,f[Z>>2]|0,f[F>>2]|0,f[V>>2]|0,f[C>>2]|0,f[U>>2]|0,+s[J>>2]*+s[z>>2],f[B>>2]|0)|0;f[H>>2]=(f[F>>2]|0)-((f[H>>2]|0)-(f[(f[P>>2]|0)+28>>2]|0));if((f[H>>2]|0)>24&(f[N>>2]|0)!=0)f[q>>2]=(f[q>>2]|0)+((f[H>>2]|0)-24);X=_n(f[P>>2]|0,f[D>>2]|0,f[Z>>2]|0,f[q>>2]|0,f[V>>2]|0,f[Y>>2]|0,f[U>>2]|0,+s[J>>2]*+s[W>>2],f[B>>2]>>f[V>>2])|0;f[G>>2]=f[G>>2]|X<<(f[j>>2]>>1);X=f[G>>2]|0;h=K;return X|0}else{X=_n(o,f[D>>2]|0,f[Z>>2]|0,f[q>>2]|0,f[V>>2]|0,f[Y>>2]|0,f[U>>2]|0,+s[J>>2]*+s[W>>2],f[B>>2]>>f[V>>2])|0;f[G>>2]=X<<(f[j>>2]>>1);f[H>>2]=(f[q>>2]|0)-((f[H>>2]|0)-(f[(f[P>>2]|0)+28>>2]|0));if((f[H>>2]|0)>24&(f[N>>2]|0)!=16384)f[F>>2]=(f[F>>2]|0)+((f[H>>2]|0)-24);X=_n(f[P>>2]|0,f[I>>2]|0,f[Z>>2]|0,f[F>>2]|0,f[V>>2]|0,f[C>>2]|0,f[U>>2]|0,+s[J>>2]*+s[z>>2],f[B>>2]|0)|0;f[G>>2]=f[G>>2]|X;X=f[G>>2]|0;h=K;return X|0}}f[_>>2]=An(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[x>>2]|0)|0;f[k>>2]=Sn(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[_>>2]|0)|0;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[k>>2]|0);while(1){if(!((f[(f[P>>2]|0)+28>>2]|0)<0?(f[_>>2]|0)>0:0))break;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)+(f[k>>2]|0);f[_>>2]=(f[_>>2]|0)+-1;f[k>>2]=Sn(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[_>>2]|0)|0;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[k>>2]|0)}if(f[_>>2]|0){f[S>>2]=Rn(f[_>>2]|0)|0;w=f[I>>2]|0;t=f[Z>>2]|0;r=f[S>>2]|0;i=f[R>>2]|0;u=f[V>>2]|0;o=f[M>>2]|0;if(f[O>>2]|0){f[G>>2]=Jr(w,t,r,i,u,o)|0;X=f[G>>2]|0;h=K;return X|0}else{f[G>>2]=Qr(w,t,r,i,u,o,+s[J>>2])|0;X=f[G>>2]|0;h=K;return X|0}}if(!(f[m>>2]|0)){X=f[G>>2]|0;h=K;return X|0}f[w>>2]=(1<>2])-1;f[B>>2]=f[B>>2]&f[w>>2];if(!(f[B>>2]|0)){vs(f[I>>2]|0,0,f[Z>>2]<<2|0)|0;X=f[G>>2]|0;h=K;return X|0}X=(f[C>>2]|0)==0;f[g>>2]=0;if(X){while(1){if((f[g>>2]|0)>=(f[Z>>2]|0))break;X=an(f[(f[P>>2]|0)+36>>2]|0)|0;f[(f[P>>2]|0)+36>>2]=X;s[(f[I>>2]|0)+(f[g>>2]<<2)>>2]=+(f[(f[P>>2]|0)+36>>2]>>20|0);f[g>>2]=(f[g>>2]|0)+1}f[G>>2]=f[w>>2]}else{while(1){if((f[g>>2]|0)>=(f[Z>>2]|0))break;X=an(f[(f[P>>2]|0)+36>>2]|0)|0;f[(f[P>>2]|0)+36>>2]=X;s[A>>2]=.00390625;c=+s[A>>2];s[A>>2]=f[(f[P>>2]|0)+36>>2]&32768|0?c:-c;s[(f[I>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[C>>2]|0)+(f[g>>2]<<2)>>2]+ +s[A>>2];f[g>>2]=(f[g>>2]|0)+1}f[G>>2]=f[B>>2]}ri(f[I>>2]|0,f[Z>>2]|0,+s[J>>2],f[(f[P>>2]|0)+40>>2]|0);X=f[G>>2]|0;h=K;return X|0}function mn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;a=k+32|0;o=k+28|0;l=k+24|0;d=k+20|0;b=k+16|0;w=k+12|0;c=k+8|0;u=k+4|0;n=k;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[d>>2]=t;f[c>>2]=re(f[o>>2]|0,f[l>>2]|0)|0;i=f[c>>2]|0;f[u>>2]=he()|0;e=h;h=h+((1*(i<<2)|0)+15&-16)|0;if(f[d>>2]|0){f[n>>2]=8+(f[l>>2]<<2)+-8;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=0;while(1){r=f[b>>2]|0;if((f[w>>2]|0)>=(f[o>>2]|0))break;i=re(f[(f[n>>2]|0)+(r<<2)>>2]|0,f[o>>2]|0)|0;d=re(f[w>>2]|0,f[l>>2]|0)|0;s[e+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[a>>2]|0)+(i+(f[w>>2]|0)<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=r+1}w=f[a>>2]|0;b=f[c>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,e|0,d|0)|0;d=f[u>>2]|0;de(d|0);h=k;return}else{f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=0;while(1){r=f[b>>2]|0;if((f[w>>2]|0)>=(f[o>>2]|0))break;n=re(r,f[o>>2]|0)|0;d=re(f[w>>2]|0,f[l>>2]|0)|0;s[e+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[a>>2]|0)+(n+(f[w>>2]|0)<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=r+1}w=f[a>>2]|0;b=f[c>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,e|0,d|0)|0;d=f[u>>2]|0;de(d|0);h=k;return}}function En(e,r,i,t,a,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0;K=h;h=h+160|0;k=K+148|0;B=K+144|0;x=K+140|0;O=K+136|0;D=K+132|0;N=K+128|0;F=K+124|0;d=K+120|0;ee=K+116|0;L=K+112|0;j=K+108|0;U=K+104|0;V=K+100|0;z=K+96|0;q=K+92|0;Z=K+88|0;J=K+84|0;$=K+80|0;Q=K+76|0;G=K+72|0;W=K+68|0;H=K+64|0;C=K+60|0;I=K+56|0;X=K+52|0;Y=K+48|0;P=K+44|0;S=K+40|0;T=K+36|0;R=K+32|0;M=K+28|0;y=K+24|0;E=K+20|0;A=K+16|0;m=K+12|0;p=K+8|0;v=K+4|0;g=K;f[k>>2]=e;f[B>>2]=r;f[x>>2]=i;f[O>>2]=t;f[D>>2]=a;f[N>>2]=o;f[F>>2]=l;f[d>>2]=u;f[ee>>2]=c;f[L>>2]=b;f[j>>2]=w;f[V>>2]=0;f[W>>2]=0;f[H>>2]=f[f[k>>2]>>2];f[C>>2]=f[(f[k>>2]|0)+4>>2];f[I>>2]=f[(f[k>>2]|0)+8>>2];f[X>>2]=f[(f[k>>2]|0)+12>>2];f[Y>>2]=f[(f[k>>2]|0)+24>>2];f[P>>2]=f[(f[k>>2]|0)+32>>2];f[$>>2]=(n[(f[(f[C>>2]|0)+56>>2]|0)+(f[I>>2]<<1)>>1]|0)+(f[ee>>2]<<3);f[Q>>2]=(f[$>>2]>>1)-((f[L>>2]|0?(f[D>>2]|0)==2:0)?16:4);f[U>>2]=Tn(f[D>>2]|0,f[f[N>>2]>>2]|0,f[Q>>2]|0,f[$>>2]|0,f[L>>2]|0)|0;if(f[L>>2]|0?(f[I>>2]|0)>=(f[X>>2]|0):0)f[U>>2]=1;if(f[H>>2]|0)f[V>>2]=ti(f[x>>2]|0,f[O>>2]|0,f[L>>2]|0,f[D>>2]|0,f[(f[k>>2]|0)+40>>2]|0)|0;f[G>>2]=Le(f[Y>>2]|0)|0;do{if((f[U>>2]|0)!=1){if(f[H>>2]|0)f[V>>2]=(re(f[V>>2]|0,f[U>>2]|0)|0)+8192>>14;do{if((f[L>>2]|0)!=0&(f[D>>2]|0)>2){f[S>>2]=3;f[T>>2]=f[V>>2];f[R>>2]=(f[U>>2]|0)/2|0;l=re(f[S>>2]|0,(f[R>>2]|0)+1|0)|0;f[M>>2]=l+(f[R>>2]|0);l=f[Y>>2]|0;if(f[H>>2]|0){if((f[T>>2]|0)<=(f[R>>2]|0))d=re(f[S>>2]|0,f[T>>2]|0)|0;else d=(f[T>>2]|0)-1-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;if((f[T>>2]|0)<=(f[R>>2]|0))k=re(f[S>>2]|0,(f[T>>2]|0)+1|0)|0;else k=(f[T>>2]|0)-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;We(l,d,k,f[M>>2]|0);break}f[y>>2]=Ue(l,f[M>>2]|0)|0;if((f[y>>2]|0)<(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0))f[T>>2]=(f[y>>2]|0)/(f[S>>2]|0)|0;else f[T>>2]=(f[R>>2]|0)+1+((f[y>>2]|0)-(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0));if((f[T>>2]|0)<=(f[R>>2]|0))d=re(f[S>>2]|0,f[T>>2]|0)|0;else d=(f[T>>2]|0)-1-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;if((f[T>>2]|0)<=(f[R>>2]|0))k=re(f[S>>2]|0,(f[T>>2]|0)+1|0)|0;else k=(f[T>>2]|0)-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;De(f[Y>>2]|0,d,k,f[M>>2]|0);f[V>>2]=f[T>>2]}else{if((f[d>>2]|0)>1|(f[L>>2]|0)!=0){k=f[Y>>2]|0;if(f[H>>2]|0){Qe(k,f[V>>2]|0,(f[U>>2]|0)+1|0);break}else{f[V>>2]=ze(k,(f[U>>2]|0)+1|0)|0;break}}f[E>>2]=1;f[A>>2]=re((f[U>>2]>>1)+1|0,(f[U>>2]>>1)+1|0)|0;if(!(f[H>>2]|0)){f[p>>2]=0;f[v>>2]=Ue(f[Y>>2]|0,f[A>>2]|0)|0;if((f[v>>2]|0)<((re(f[U>>2]>>1,(f[U>>2]>>1)+1|0)|0)>>1|0)){f[V>>2]=((wr((f[v>>2]<<3)+1|0)|0)-1|0)>>>1;f[E>>2]=(f[V>>2]|0)+1;f[p>>2]=(re(f[V>>2]|0,(f[V>>2]|0)+1|0)|0)>>1}else{ee=(f[U>>2]|0)+1<<1;f[V>>2]=(ee-(wr(((f[A>>2]|0)-(f[v>>2]|0)-1<<3)+1|0)|0)|0)>>>1;f[E>>2]=(f[U>>2]|0)+1-(f[V>>2]|0);f[p>>2]=(f[A>>2]|0)-((re((f[U>>2]|0)+1-(f[V>>2]|0)|0,(f[U>>2]|0)+2-(f[V>>2]|0)|0)|0)>>1)}De(f[Y>>2]|0,f[p>>2]|0,(f[p>>2]|0)+(f[E>>2]|0)|0,f[A>>2]|0);break}if((f[V>>2]|0)<=(f[U>>2]>>1|0))k=(f[V>>2]|0)+1|0;else k=(f[U>>2]|0)+1-(f[V>>2]|0)|0;f[E>>2]=k;if((f[V>>2]|0)<=(f[U>>2]>>1|0))k=(re(f[V>>2]|0,(f[V>>2]|0)+1|0)|0)>>1;else k=(f[A>>2]|0)-((re((f[U>>2]|0)+1-(f[V>>2]|0)|0,(f[U>>2]|0)+2-(f[V>>2]|0)|0)|0)>>1)|0;f[m>>2]=k;We(f[Y>>2]|0,f[m>>2]|0,(f[m>>2]|0)+(f[E>>2]|0)|0,f[A>>2]|0)}}while(0);f[V>>2]=cn(f[V>>2]<<14,f[U>>2]|0)|0;if((f[H>>2]|0)!=0&(f[L>>2]|0)!=0)if(!(f[V>>2]|0)){Mn(f[C>>2]|0,f[x>>2]|0,f[O>>2]|0,f[P>>2]|0,f[I>>2]|0,f[D>>2]|0);break}else{xn(f[x>>2]|0,f[O>>2]|0,f[D>>2]|0);break}}else if(f[L>>2]|0){if(f[H>>2]|0){f[W>>2]=(f[V>>2]|0)>8192&1;e:do{if(f[W>>2]|0){f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[D>>2]|0))break e;s[(f[O>>2]|0)+(f[g>>2]<<2)>>2]=-+s[(f[O>>2]|0)+(f[g>>2]<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}}}while(0);Mn(f[C>>2]|0,f[x>>2]|0,f[O>>2]|0,f[P>>2]|0,f[I>>2]|0,f[D>>2]|0)}do{if((f[f[N>>2]>>2]|0)>16?(f[(f[k>>2]|0)+28>>2]|0)>16:0){k=f[Y>>2]|0;if(f[H>>2]|0){Xe(k,f[W>>2]|0,2);break}else{f[W>>2]=Ne(k,2)|0;break}}else _=60}while(0);if((_|0)==60)f[W>>2]=0;f[V>>2]=0}}while(0);ee=Le(f[Y>>2]|0)|0;f[J>>2]=ee-(f[G>>2]|0);ee=f[N>>2]|0;f[ee>>2]=(f[ee>>2]|0)-(f[J>>2]|0);if(!(f[V>>2]|0)){f[q>>2]=32767;f[Z>>2]=0;ee=f[j>>2]|0;f[ee>>2]=f[ee>>2]&(1<>2])-1;f[z>>2]=-16384;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}if((f[V>>2]|0)==16384){f[q>>2]=0;f[Z>>2]=32767;ee=f[j>>2]|0;f[ee>>2]=f[ee>>2]&(1<>2])-1<>2];f[z>>2]=16384;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}else{f[q>>2]=(On(f[V>>2]&65535)|0)<<16>>16;f[Z>>2]=(On(16384-(f[V>>2]|0)&65535)|0)<<16>>16;ee=((f[D>>2]|0)-1<<7&65535)<<16>>16;f[z>>2]=16384+(re(ee,((Ln(f[Z>>2]|0,f[q>>2]|0)|0)&65535)<<16>>16)|0)>>15;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}}function An(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;k=h;h=h+48|0;s=k+36|0;p=k+32|0;d=k+28|0;v=k+24|0;u=k+20|0;o=k+16|0;w=k+12|0;b=k+8|0;c=k+4|0;l=k;f[p>>2]=e;f[d>>2]=r;f[v>>2]=i;f[u>>2]=t;f[v>>2]=(f[v>>2]|0)+1;e=re(f[v>>2]|0,f[(f[p>>2]|0)+8>>2]|0)|0;f[c>>2]=(f[(f[p>>2]|0)+92+8>>2]|0)+(n[(f[(f[p>>2]|0)+92+4>>2]|0)+(e+(f[d>>2]|0)<<1)>>1]|0);f[w>>2]=0;f[b>>2]=a[f[c>>2]>>0];f[u>>2]=(f[u>>2]|0)+-1;f[o>>2]=0;while(1){if((f[o>>2]|0)>=6)break;f[l>>2]=(f[w>>2]|0)+(f[b>>2]|0)+1>>1;i=f[l>>2]|0;if((a[(f[c>>2]|0)+(f[l>>2]|0)>>0]|0)>=(f[u>>2]|0))f[b>>2]=i;else f[w>>2]=i;f[o>>2]=(f[o>>2]|0)+1}if(!(f[w>>2]|0))i=-1;else i=a[(f[c>>2]|0)+(f[w>>2]|0)>>0]|0;if(((f[u>>2]|0)-i|0)<=((a[(f[c>>2]|0)+(f[b>>2]|0)>>0]|0)-(f[u>>2]|0)|0)){f[s>>2]=f[w>>2];v=f[s>>2]|0;h=k;return v|0}else{f[s>>2]=f[b>>2];v=f[s>>2]|0;h=k;return v|0}return 0}function Sn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0;s=h;h=h+32|0;c=s+16|0;u=s+12|0;b=s+8|0;o=s+4|0;l=s;f[c>>2]=e;f[u>>2]=r;f[b>>2]=i;f[o>>2]=t;f[b>>2]=(f[b>>2]|0)+1;t=re(f[b>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0;f[l>>2]=(f[(f[c>>2]|0)+92+8>>2]|0)+(n[(f[(f[c>>2]|0)+92+4>>2]|0)+(t+(f[u>>2]|0)<<1)>>1]|0);if(!(f[o>>2]|0)){b=0;h=s;return b|0}b=(a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)+1|0;h=s;return b|0}function Rn(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;e=f[r>>2]|0;if((f[r>>2]|0)<8){r=e;h=i;return r|0}r=8+(e&7)<<(f[r>>2]>>3)-1;h=i;return r|0}function Tn(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;w=h;h=h+32|0;k=w+28|0;o=w+24|0;l=w+20|0;s=w+16|0;d=w+12|0;b=w+8|0;c=w+4|0;u=w;f[k>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[d>>2]=a;f[u>>2]=(f[k>>2]<<1)-1;if((f[d>>2]|0)!=0&(f[k>>2]|0)==2)f[u>>2]=(f[u>>2]|0)+-1;d=(f[o>>2]|0)+(re(f[u>>2]|0,f[l>>2]|0)|0)|0;f[c>>2]=dn(d,f[u>>2]|0)|0;if(((f[o>>2]|0)-(f[s>>2]|0)-32|0)<(f[c>>2]|0))o=(f[o>>2]|0)-(f[s>>2]|0)-32|0;else o=f[c>>2]|0;f[c>>2]=o;f[c>>2]=64<(f[c>>2]|0)?64:f[c>>2]|0;if((f[c>>2]|0)<4){f[b>>2]=1;d=f[b>>2]|0;h=w;return d|0}else{f[b>>2]=n[22328+((f[c>>2]&7)<<1)>>1]>>14-(f[c>>2]>>3);f[b>>2]=(f[b>>2]|0)+1>>1<<1;d=f[b>>2]|0;h=w;return d|0}return 0}function Mn(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;p=h;h=h+64|0;_=p+56|0;o=p+52|0;l=p+48|0;E=p+44|0;A=p+40|0;u=p+36|0;m=p+32|0;w=p+28|0;c=p+24|0;b=p+20|0;y=p+16|0;g=p+12|0;v=p+8|0;d=p+4|0;k=p;f[_>>2]=e;f[o>>2]=r;f[l>>2]=i;f[E>>2]=t;f[A>>2]=n;f[u>>2]=a;f[m>>2]=f[A>>2];s[y>>2]=+s[(f[E>>2]|0)+(f[m>>2]<<2)>>2];s[g>>2]=+s[(f[E>>2]|0)+((f[m>>2]|0)+(f[(f[_>>2]|0)+8>>2]|0)<<2)>>2];s[v>>2]=+H(+(+s[y>>2]*+s[y>>2]+1.0000000036274937e-15+ +s[g>>2]*+s[g>>2]))+1.0000000036274937e-15;s[c>>2]=+s[y>>2]/+s[v>>2];s[b>>2]=+s[g>>2]/+s[v>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[u>>2]|0))break;s[k>>2]=+s[(f[o>>2]|0)+(f[w>>2]<<2)>>2];s[d>>2]=+s[(f[l>>2]|0)+(f[w>>2]<<2)>>2];s[(f[o>>2]|0)+(f[w>>2]<<2)>>2]=+s[c>>2]*+s[k>>2]+ +s[b>>2]*+s[d>>2];f[w>>2]=(f[w>>2]|0)+1}h=p;return}function xn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;t=c+20|0;n=c+16|0;a=c+12|0;o=c+8|0;u=c+4|0;l=c;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;s[l>>2]=+s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]*.7071067690849304;s[u>>2]=+s[(f[n>>2]|0)+(f[o>>2]<<2)>>2]*.7071067690849304;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+s[l>>2]+ +s[u>>2];s[(f[n>>2]|0)+(f[o>>2]<<2)>>2]=+s[u>>2]-+s[l>>2];f[o>>2]=(f[o>>2]|0)+1}h=c;return}function On(e){e=e|0;var r=0,i=0,t=0,a=0;i=h;h=h+16|0;a=i+6|0;t=i;r=i+4|0;n[a>>1]=e;f[t>>2]=4096+(re(n[a>>1]|0,n[a>>1]|0)|0)>>13;n[r>>1]=f[t>>2];n[r>>1]=32767-(n[r>>1]|0)+(16384+(re(n[r>>1]|0,((16384+(re(n[r>>1]|0,(8277+(16384+(re(-626,n[r>>1]|0)|0)>>15)&65535)<<16>>16)|0)>>15)+-7651&65535)<<16>>16)|0)>>15);h=i;return 1+(n[r>>1]|0)&65535|0}function Ln(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;i=h;h=h+16|0;n=i+12|0;t=i+8|0;a=i+4|0;o=i;f[n>>2]=e;f[t>>2]=r;f[a>>2]=32-(te(f[t>>2]|0)|0);f[o>>2]=32-(te(f[n>>2]|0)|0);f[t>>2]=f[t>>2]<<15-(f[a>>2]|0);f[n>>2]=f[n>>2]<<15-(f[o>>2]|0);e=((f[o>>2]|0)-(f[a>>2]|0)<<11)+(16384+(re((f[n>>2]&65535)<<16>>16,((16384+(re((f[n>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;e=e-(16384+(re((f[t>>2]&65535)<<16>>16,((16384+(re((f[t>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;h=i;return e|0}function Pn(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;y=h;h=h+64|0;a=y+60|0;o=y+56|0;l=y+52|0;u=y+48|0;w=y+40|0;_=y+36|0;m=y+32|0;c=y+28|0;b=y+24|0;E=y+20|0;g=y+16|0;d=y+12|0;v=y+8|0;p=y+4|0;k=y;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;f[u>>2]=t;f[y+44>>2]=n;s[_>>2]=0;s[m>>2]=0;In(f[o>>2]|0,f[a>>2]|0,f[o>>2]|0,f[u>>2]|0,_,m);s[_>>2]=+s[l>>2]*+s[_>>2];s[E>>2]=+s[l>>2];s[c>>2]=+s[E>>2]*+s[E>>2]+ +s[m>>2]-+s[_>>2]*2;s[b>>2]=+s[E>>2]*+s[E>>2]+ +s[m>>2]+ +s[_>>2]*2;if(+s[b>>2]<.0006000000284984708|+s[c>>2]<.0006000000284984708){gs(f[o>>2]|0,f[a>>2]|0,(f[u>>2]<<2)+0|0)|0;h=y;return}s[g>>2]=+s[c>>2];s[d>>2]=1/+H(+ +s[g>>2]);s[g>>2]=+s[b>>2];s[v>>2]=1/+H(+ +s[g>>2]);f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[u>>2]|0))break;s[k>>2]=+s[l>>2]*+s[(f[a>>2]|0)+(f[w>>2]<<2)>>2];s[p>>2]=+s[(f[o>>2]|0)+(f[w>>2]<<2)>>2];s[(f[a>>2]|0)+(f[w>>2]<<2)>>2]=+s[d>>2]*(+s[k>>2]-+s[p>>2]);s[(f[o>>2]|0)+(f[w>>2]<<2)>>2]=+s[v>>2]*(+s[k>>2]+ +s[p>>2]);f[w>>2]=(f[w>>2]|0)+1}h=y;return}function In(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;d=g+8|0;p=g+4|0;v=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[p>>2]=0;s[v>>2]=0;f[d>>2]=0;while(1){o=+s[p>>2];if((f[d>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=o+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[u>>2]|0)+(f[d>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[f[w>>2]>>2]=o;s[f[k>>2]>>2]=+s[v>>2];h=g;return}function Cn(e){e=e|0;var r=0,i=0,t=0,n=0;t=h;h=h+16|0;n=t+4|0;r=t;f[n>>2]=e;e=f[n>>2]|0;e:do{if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break;default:{i=7;break e}}f[r>>2]=6;break}else{switch(e|0){case 12e3:break;default:{i=7;break e}}f[r>>2]=4;break}else{if((e|0)<24e3){switch(e|0){case 16e3:break;default:{i=7;break e}}f[r>>2]=3;break}if((e|0)<48e3){switch(e|0){case 24e3:break;default:{i=7;break e}}f[r>>2]=2;break}else{switch(e|0){case 48e3:break;default:{i=7;break e}}f[r>>2]=1;break}}}while(0);if((i|0)==7)f[r>>2]=0;h=t;return f[r>>2]|0}function Un(e,r,i,t,n,a,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=+a;o=+o;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+112|0;k=N+96|0;d=N+92|0;v=N+88|0;g=N+84|0;y=N+80|0;_=N+76|0;m=N+72|0;E=N+68|0;A=N+64|0;S=N+60|0;p=N+56|0;I=N+48|0;T=N+44|0;M=N+40|0;x=N+36|0;O=N+32|0;L=N+28|0;P=N+24|0;C=N+20|0;U=N+16|0;B=N+12|0;j=N+8|0;D=N+4|0;R=N;f[k>>2]=e;f[d>>2]=r;f[v>>2]=i;f[g>>2]=t;f[y>>2]=n;s[_>>2]=a;s[m>>2]=o;f[E>>2]=l;f[A>>2]=u;f[S>>2]=c;f[p>>2]=b;f[N+52>>2]=w;if(+s[_>>2]==0&+s[m>>2]==0){if((f[d>>2]|0)==(f[k>>2]|0)){h=N;return}ys(f[k>>2]|0,f[d>>2]|0,(f[y>>2]<<2)+0|0)|0;h=N;return}s[T>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)>>2];s[M>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)+4>>2];s[x>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)+8>>2];s[O>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)>>2];s[L>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)+4>>2];s[P>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)+8>>2];s[U>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)+1<<2)>>2];s[B>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)<<2)>>2];s[j>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)-1<<2)>>2];s[D>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)-2<<2)>>2];if((+s[_>>2]==+s[m>>2]?(f[v>>2]|0)==(f[g>>2]|0):0)?(f[E>>2]|0)==(f[A>>2]|0):0)f[p>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[p>>2]|0))break;s[C>>2]=+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[g>>2]|0)+2<<2)>>2];s[R>>2]=+s[(f[S>>2]|0)+(f[I>>2]<<2)>>2]*+s[(f[S>>2]|0)+(f[I>>2]<<2)>>2];s[(f[k>>2]|0)+(f[I>>2]<<2)>>2]=+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]+(1-+s[R>>2])*+s[T>>2]*+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)<<2)>>2]+(1-+s[R>>2])*+s[M>>2]*(+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)+1<<2)>>2]+ +s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)-1<<2)>>2])+(1-+s[R>>2])*+s[x>>2]*(+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)+2<<2)>>2]+ +s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)-2<<2)>>2])+ +s[R>>2]*+s[O>>2]*+s[B>>2]+ +s[R>>2]*+s[L>>2]*(+s[U>>2]+ +s[j>>2])+ +s[R>>2]*+s[P>>2]*(+s[C>>2]+ +s[D>>2]);s[D>>2]=+s[j>>2];s[j>>2]=+s[B>>2];s[B>>2]=+s[U>>2];s[U>>2]=+s[C>>2];f[I>>2]=(f[I>>2]|0)+1}if(!(+s[m>>2]==0)){Bn((f[k>>2]|0)+(f[I>>2]<<2)|0,(f[d>>2]|0)+(f[I>>2]<<2)|0,f[g>>2]|0,(f[y>>2]|0)-(f[I>>2]|0)|0,+s[O>>2],+s[L>>2],+s[P>>2]);h=N;return}if((f[d>>2]|0)==(f[k>>2]|0)){h=N;return}ys((f[k>>2]|0)+(f[p>>2]<<2)|0,(f[d>>2]|0)+(f[p>>2]<<2)|0,((f[y>>2]|0)-(f[p>>2]|0)<<2)+0|0)|0;h=N;return}function Bn(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=+a;o=+o;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+64|0;l=E+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;d=E+24|0;v=E+20|0;g=E+16|0;y=E+12|0;_=E+8|0;m=E+4|0;p=E;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;s[w>>2]=n;s[k>>2]=a;s[d>>2]=o;s[m>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)-2<<2)>>2];s[_>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)-1<<2)>>2];s[y>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)<<2)>>2];s[g>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)+1<<2)>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[v>>2]=+s[(f[u>>2]|0)+((f[p>>2]|0)-(f[c>>2]|0)+2<<2)>>2];s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[p>>2]<<2)>>2]+ +s[w>>2]*+s[y>>2]+ +s[k>>2]*(+s[g>>2]+ +s[_>>2])+ +s[d>>2]*(+s[v>>2]+ +s[m>>2]);s[m>>2]=+s[_>>2];s[_>>2]=+s[y>>2];s[y>>2]=+s[g>>2];s[g>>2]=+s[v>>2];f[p>>2]=(f[p>>2]|0)+1}h=E;return}function jn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;b=w+4|0;c=w;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[(f[o>>2]|0)+8>>2]|0))break;f[c>>2]=(n[(f[(f[o>>2]|0)+32>>2]|0)+((f[b>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[o>>2]|0)+32>>2]|0)+(f[b>>2]<<1)>>1]|0)<>2];e=re(f[(f[o>>2]|0)+8>>2]|0,(f[s>>2]<<1)+(f[u>>2]|0)-1|0)|0;e=re((a[(f[(f[o>>2]|0)+92+12>>2]|0)+(e+(f[b>>2]|0))>>0]|0)+64|0,f[u>>2]|0)|0;e=(re(e,f[c>>2]|0)|0)>>2;f[(f[l>>2]|0)+(f[b>>2]<<2)>>2]=e;f[b>>2]=(f[b>>2]|0)+1}h=w;return}function Dn(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[i>>2]=e;if((f[i>>2]|0)>0|(f[i>>2]|0)<-7){f[r>>2]=25264;e=f[r>>2]|0;h=t;return e|0}else{f[r>>2]=f[164+(0-(f[i>>2]|0)<<2)>>2];e=f[r>>2]|0;h=t;return e|0}return 0}function Nn(){return 25415}function Fn(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=pr(48e3,960,0)|0;e=zn(f[t>>2]|0,f[i>>2]|0)|0;h=r;return e|0}function zn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;e=204+((re(f[a>>2]|0,f[(f[n>>2]|0)+4>>2]|0)|0)-1<<2)|0;f[i>>2]=e+(f[a>>2]<<10<<2)+((re((f[a>>2]|0)*3|0,f[(f[n>>2]|0)+8>>2]|0)|0)<<2);h=t;return f[i>>2]|0}function Yn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0;s=h;h=h+32|0;n=s+20|0;a=s+16|0;o=s+12|0;c=s+8|0;u=s+4|0;l=s;f[a>>2]=e;f[o>>2]=r;f[c>>2]=i;f[u>>2]=t;r=f[a>>2]|0;e=pr(48e3,960,0)|0;f[l>>2]=Hn(r,e,f[c>>2]|0,f[u>>2]|0)|0;if(f[l>>2]|0){f[n>>2]=f[l>>2];c=f[n>>2]|0;h=s;return c|0}else{c=Cn(f[o>>2]|0)|0;f[(f[a>>2]|0)+28>>2]=c;f[n>>2]=0;c=f[n>>2]|0;h=s;return c|0}return 0}function Hn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+20|0;a=u+16|0;o=u+12|0;l=u+8|0;s=u+4|0;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;if((f[l>>2]|0)<0|(f[l>>2]|0)>2){f[n>>2]=-1;e=f[n>>2]|0;h=u;return e|0}if((f[a>>2]|0)==0|(f[o>>2]|0)==0){f[n>>2]=-7;e=f[n>>2]|0;h=u;return e|0}else{e=f[a>>2]|0;vs(e|0,0,zn(f[o>>2]|0,f[l>>2]|0)|0)|0;f[f[a>>2]>>2]=f[o>>2];e=f[l>>2]|0;f[(f[a>>2]|0)+4>>2]=e;f[(f[a>>2]|0)+8>>2]=e;f[(f[a>>2]|0)+28>>2]=1;f[(f[a>>2]|0)+32>>2]=0;f[(f[a>>2]|0)+36>>2]=f[(f[f[a>>2]>>2]|0)+12>>2];f[(f[a>>2]|0)+48>>2]=1;f[(f[a>>2]|0)+72>>2]=f[s>>2];f[(f[a>>2]|0)+52>>2]=1;f[(f[a>>2]|0)+16>>2]=1;f[(f[a>>2]|0)+40>>2]=-1;f[(f[a>>2]|0)+44>>2]=0;f[(f[a>>2]|0)+12>>2]=0;f[(f[a>>2]|0)+24>>2]=5;f[(f[a>>2]|0)+60>>2]=24;qn(f[a>>2]|0,4028,u)|0;f[n>>2]=0;e=f[n>>2]|0;h=u;return e|0}return 0}function qn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;L=h;h=h+128|0;O=L+112|0;M=L+108|0;P=L+104|0;t=L+88|0;c=L+84|0;b=L+80|0;_=L+76|0;m=L+72|0;E=L+68|0;A=L+64|0;S=L+60|0;x=L+56|0;R=L+52|0;T=L+48|0;w=L+44|0;k=L+40|0;n=L+36|0;o=L+32|0;l=L+28|0;u=L+24|0;d=L+20|0;a=L+16|0;p=L+12|0;v=L+8|0;g=L+4|0;y=L;f[M>>2]=e;f[P>>2]=r;f[t>>2]=i;do{switch(f[P>>2]|0){case 4010:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[c>>2]=P;if((f[c>>2]|0)<0|(f[c>>2]|0)>10)t=41;else{f[(f[M>>2]|0)+24>>2]=f[c>>2];t=40}break}case 10010:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[b>>2]=P;if((f[b>>2]|0)>=0?(f[b>>2]|0)<(f[(f[f[M>>2]>>2]|0)+8>>2]|0):0){f[(f[M>>2]|0)+32>>2]=f[b>>2];t=40}else t=41;break}case 10012:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[_>>2]=P;if((f[_>>2]|0)>=1?(f[_>>2]|0)<=(f[(f[f[M>>2]>>2]|0)+8>>2]|0):0){f[(f[M>>2]|0)+36>>2]=f[_>>2];t=40}else t=41;break}case 10002:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[m>>2]=P;if((f[m>>2]|0)<0|(f[m>>2]|0)>2)t=41;else{f[(f[M>>2]|0)+20>>2]=(f[m>>2]|0)<=1&1;f[(f[M>>2]|0)+12>>2]=(f[m>>2]|0)==0&1;t=40}break}case 4014:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[E>>2]=P;if((f[E>>2]|0)<0|(f[E>>2]|0)>100)t=41;else{f[(f[M>>2]|0)+56>>2]=f[E>>2];t=40}break}case 4020:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[A>>2]=P;f[(f[M>>2]|0)+52>>2]=f[A>>2];t=40;break}case 4006:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[S>>2]=P;f[(f[M>>2]|0)+44>>2]=f[S>>2];t=40;break}case 4002:{i=(f[t>>2]|0)+(4-1)&~(4-1);P=f[i>>2]|0;f[t>>2]=i+4;f[x>>2]=P;if((f[x>>2]|0)<=500&(f[x>>2]|0)!=-1)t=41;else{if((f[x>>2]|0)<((f[(f[M>>2]|0)+4>>2]|0)*26e4|0))t=f[x>>2]|0;else t=(f[(f[M>>2]|0)+4>>2]|0)*26e4|0;f[x>>2]=t;f[(f[M>>2]|0)+40>>2]=f[x>>2];t=40}break}case 10008:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[R>>2]=P;if((f[R>>2]|0)<1|(f[R>>2]|0)>2)t=41;else{f[(f[M>>2]|0)+8>>2]=f[R>>2];t=40}break}case 4036:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[T>>2]=P;if((f[T>>2]|0)<8|(f[T>>2]|0)>24)t=41;else{f[(f[M>>2]|0)+60>>2]=f[T>>2];t=40}break}case 4037:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[w>>2]=P;f[f[w>>2]>>2]=f[(f[M>>2]|0)+60>>2];t=40;break}case 4040:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[k>>2]=P;f[(f[M>>2]|0)+64>>2]=f[k>>2];t=40;break}case 4028:{f[o>>2]=(f[M>>2]|0)+200+((re(f[(f[M>>2]|0)+4>>2]|0,(f[(f[f[M>>2]>>2]|0)+4>>2]|0)+1024|0)|0)<<2);f[l>>2]=(f[o>>2]|0)+((re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0)<<2);f[u>>2]=(f[l>>2]|0)+((re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0)<<2);vs((f[M>>2]|0)+76|0,0,(zn(f[f[M>>2]>>2]|0,f[(f[M>>2]|0)+4>>2]|0)|0)-((f[M>>2]|0)+76-(f[M>>2]|0))|0)|0;f[n>>2]=0;while(1){if((f[n>>2]|0)>=(re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0))break;s[(f[u>>2]|0)+(f[n>>2]<<2)>>2]=-28;s[(f[l>>2]|0)+(f[n>>2]<<2)>>2]=-28;f[n>>2]=(f[n>>2]|0)+1}f[(f[M>>2]|0)+172>>2]=0;s[(f[M>>2]|0)+84>>2]=1;f[(f[M>>2]|0)+80>>2]=2;f[(f[M>>2]|0)+88>>2]=256;f[(f[M>>2]|0)+96>>2]=0;f[(f[M>>2]|0)+100>>2]=0;t=40;break}case 10016:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[d>>2]=P;f[(f[M>>2]|0)+48>>2]=f[d>>2];t=40;break}case 10022:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[a>>2]=P;if(f[a>>2]|0){gs((f[M>>2]|0)+120|0,f[a>>2]|0,28|0)|0;t=40}else t=40;break}case 10015:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[p>>2]=P;if(!(f[p>>2]|0))t=41;else{f[f[p>>2]>>2]=f[f[M>>2]>>2];t=40}break}case 4031:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[v>>2]=P;if(!(f[v>>2]|0))t=41;else{f[f[v>>2]>>2]=f[(f[M>>2]|0)+76>>2];t=40}break}case 10024:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[g>>2]=P;f[(f[M>>2]|0)+68>>2]=f[g>>2];t=40;break}case 10026:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[y>>2]=P;f[(f[M>>2]|0)+192>>2]=f[y>>2];t=40;break}default:{f[O>>2]=-5;P=f[O>>2]|0;h=L;return P|0}}}while(0);if((t|0)==40){f[O>>2]=0;P=f[O>>2]|0;h=L;return P|0}else if((t|0)==41){f[O>>2]=-1;P=f[O>>2]|0;h=L;return P|0}return 0}function Wn(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;S=h;h=h+64|0;c=S+52|0;d=S+48|0;p=S+44|0;b=S+40|0;v=S+36|0;R=S+32|0;g=S+28|0;w=S+24|0;m=S+20|0;_=S+16|0;E=S+12|0;y=S+8|0;k=S+4|0;A=S;f[c>>2]=e;f[d>>2]=r;f[p>>2]=i;f[b>>2]=t;f[v>>2]=n;f[R>>2]=a;f[g>>2]=o;f[w>>2]=l;s[_>>2]=+s[f[R>>2]>>2];s[E>>2]=+s[f[g>>2]>>2];if(!(((f[v>>2]|0)==1?+s[(f[R>>2]|0)+4>>2]==0:0)^1|(f[w>>2]|0)!=0)){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[p>>2]|0))break;R=re(f[b>>2]|0,f[m>>2]|0)|0;s[k>>2]=+s[(f[c>>2]|0)+(R<<2)>>2]*32768;s[(f[d>>2]|0)+(f[m>>2]<<2)>>2]=+s[k>>2]-+s[E>>2];s[E>>2]=+s[_>>2]*+s[k>>2];f[m>>2]=(f[m>>2]|0)+1}s[f[g>>2]>>2]=+s[E>>2];h=S;return}f[y>>2]=(f[p>>2]|0)/(f[v>>2]|0)|0;if((f[v>>2]|0)!=1)vs(f[d>>2]|0,0,f[p>>2]<<2|0)|0;f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[y>>2]|0))break;k=re(f[b>>2]|0,f[m>>2]|0)|0;R=re(f[m>>2]|0,f[v>>2]|0)|0;s[(f[d>>2]|0)+(R<<2)>>2]=+s[(f[c>>2]|0)+(k<<2)>>2]*32768;f[m>>2]=(f[m>>2]|0)+1}e:do{if(f[w>>2]|0){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[y>>2]|0))break e;R=re(f[m>>2]|0,f[v>>2]|0)|0;if(65536<+s[(f[d>>2]|0)+(R<<2)>>2])u=65536;else{R=re(f[m>>2]|0,f[v>>2]|0)|0;u=+s[(f[d>>2]|0)+(R<<2)>>2]}if(!(-65536>u)){R=re(f[m>>2]|0,f[v>>2]|0)|0;if(65536<+s[(f[d>>2]|0)+(R<<2)>>2])u=65536;else{R=re(f[m>>2]|0,f[v>>2]|0)|0;u=+s[(f[d>>2]|0)+(R<<2)>>2]}}else u=-65536;R=re(f[m>>2]|0,f[v>>2]|0)|0;s[(f[d>>2]|0)+(R<<2)>>2]=u;f[m>>2]=(f[m>>2]|0)+1}}}while(0);f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[p>>2]|0))break;s[A>>2]=+s[(f[d>>2]|0)+(f[m>>2]<<2)>>2];s[(f[d>>2]|0)+(f[m>>2]<<2)>>2]=+s[A>>2]-+s[E>>2];s[E>>2]=+s[_>>2]*+s[A>>2];f[m>>2]=(f[m>>2]|0)+1}s[f[g>>2]>>2]=+s[E>>2];h=S;return}function Zn(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,We=0,Ze=0,Ve=0,Je=0,Ge=0,Ke=0,rr=0,ir=0,fr=0,ar=0,or=0,lr=0,sr=0,ur=0,hr=0,cr=0,br=0,wr=0,kr=0,dr=0;dr=h;h=h+448|0;lr=dr+440|0;sr=dr+436|0;v=dr+432|0;l=dr+428|0;w=dr+424|0;ur=dr+420|0;hr=dr+416|0;Ke=dr+412|0;Je=dr+408|0;Ce=dr+404|0;xe=dr+400|0;k=dr+352|0;A=dr+348|0;ir=dr+344|0;fr=dr+340|0;ar=dr+336|0;We=dr+332|0;wr=dr+328|0;Ve=dr+324|0;Pe=dr+320|0;Ie=dr+316|0;W=dr+312|0;q=dr+308|0;Ee=dr+304|0;me=dr+300|0;or=dr+296|0;Ge=dr+292|0;Z=dr+288|0;De=dr+284|0;z=dr+280|0;Me=dr+276|0;Ye=dr+272|0;Fe=dr+268|0;Ne=dr+264|0;V=dr+260|0;G=dr+256|0;Se=dr+252|0;fe=dr+248|0;pe=dr+244|0;je=dr+240|0;ce=dr+236|0;He=dr+232|0;H=dr+228|0;Be=dr+224|0;Ue=dr+220|0;Ze=dr+216|0;F=dr+212|0;we=dr+208|0;se=dr+204|0;ke=dr+200|0;y=dr+196|0;oe=dr+192|0;ze=dr+188|0;rr=dr+184|0;E=dr+180|0;X=dr+176|0;D=dr+172|0;Oe=dr+168|0;kr=dr+164|0;ue=dr+160|0;be=dr+156|0;ne=dr+152|0;Re=dr+148|0;c=dr+144|0;b=dr+140|0;d=dr+136|0;p=dr+132|0;cr=dr+128|0;g=dr+124|0;_=dr+120|0;S=dr+116|0;m=dr+112|0;C=dr+108|0;O=dr+104|0;M=dr+100|0;I=dr+96|0;P=dr+92|0;R=dr+88|0;T=dr+84|0;x=dr+80|0;L=dr+76|0;U=dr+72|0;B=dr+68|0;j=dr+64|0;N=dr+60|0;ie=dr+56|0;ee=dr+52|0;K=dr+48|0;J=dr+44|0;Q=dr+40|0;$=dr+36|0;ge=dr+32|0;ye=dr+28|0;Ae=dr+24|0;ae=dr+20|0;le=dr+16|0;_e=dr+12|0;ve=dr+8|0;Te=dr+4|0;br=dr;f[sr>>2]=e;f[v>>2]=r;f[l>>2]=i;f[w>>2]=t;f[ur>>2]=a;f[hr>>2]=o;f[We>>2]=0;f[wr>>2]=0;f[Ve>>2]=f[(f[sr>>2]|0)+4>>2];f[Pe>>2]=f[(f[sr>>2]|0)+8>>2];f[Ye>>2]=15;s[Fe>>2]=0;f[Ne>>2]=0;f[He>>2]=0;f[Ue>>2]=0;f[Ze>>2]=0;f[F>>2]=0;f[se>>2]=0;f[kr>>2]=0;s[ue>>2]=0;s[be>>2]=0;s[ne>>2]=0;f[Re>>2]=51e4;f[ze>>2]=f[f[sr>>2]>>2];f[rr>>2]=f[(f[ze>>2]|0)+8>>2];f[E>>2]=f[(f[ze>>2]|0)+4>>2];f[X>>2]=f[(f[ze>>2]|0)+32>>2];f[or>>2]=f[(f[sr>>2]|0)+32>>2];f[Ge>>2]=f[(f[sr>>2]|0)+36>>2];s[we>>2]=0;if((f[ur>>2]|0)<2|(f[v>>2]|0)==0){f[lr>>2]=-1;kr=f[lr>>2]|0;h=dr;return kr|0}f[l>>2]=re(f[l>>2]|0,f[(f[sr>>2]|0)+28>>2]|0)|0;f[Ie>>2]=0;while(1){if((f[Ie>>2]|0)>(f[(f[ze>>2]|0)+36>>2]|0))break;if((f[(f[ze>>2]|0)+44>>2]<>2]|0)==(f[l>>2]|0))break;f[Ie>>2]=(f[Ie>>2]|0)+1}if((f[Ie>>2]|0)>(f[(f[ze>>2]|0)+36>>2]|0)){f[lr>>2]=-1;kr=f[lr>>2]|0;h=dr;return kr|0}f[W>>2]=1<>2];f[Ce>>2]=re(f[W>>2]|0,f[(f[ze>>2]|0)+44>>2]|0)|0;f[A>>2]=(f[sr>>2]|0)+200+((re(f[Ve>>2]|0,f[E>>2]|0)|0)<<2);f[ir>>2]=(f[sr>>2]|0)+200+((re(f[Ve>>2]|0,(f[E>>2]|0)+1024|0)|0)<<2);f[fr>>2]=(f[ir>>2]|0)+((re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2);f[ar>>2]=(f[fr>>2]|0)+((re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2);if(!(f[hr>>2]|0)){f[ce>>2]=1;f[Ee>>2]=0}else{f[ce>>2]=Vn(f[hr>>2]|0)|0;f[Ee>>2]=(f[ce>>2]|0)+4>>3}f[ur>>2]=(f[ur>>2]|0)<1275?f[ur>>2]|0:1275;f[me>>2]=(f[ur>>2]|0)-(f[Ee>>2]|0);if(f[(f[sr>>2]|0)+44>>2]|0?(f[(f[sr>>2]|0)+40>>2]|0)!=-1:0){f[c>>2]=f[f[ze>>2]>>2]>>3;b=re(f[(f[sr>>2]|0)+40>>2]|0,f[l>>2]|0)|0;f[Se>>2]=(b+(f[c>>2]>>1)|0)/(f[c>>2]|0)|0;f[V>>2]=f[Se>>2]>>6}else{f[Se>>2]=0;f[b>>2]=re(f[(f[sr>>2]|0)+40>>2]|0,f[l>>2]|0)|0;if((f[ce>>2]|0)>1)f[b>>2]=(f[b>>2]|0)+(f[ce>>2]|0);if((f[(f[sr>>2]|0)+40>>2]|0)!=-1){if((f[ur>>2]|0)<((((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0))l=f[ur>>2]|0;else l=(((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;do{if(2<=(l|0))if((f[ur>>2]|0)<((((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0)){l=f[ur>>2]|0;break}else{l=(((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;break}else l=2}while(0);f[ur>>2]=l}f[V>>2]=f[ur>>2]}if((f[(f[sr>>2]|0)+40>>2]|0)!=-1)f[Re>>2]=(f[(f[sr>>2]|0)+40>>2]|0)-(re(((f[Pe>>2]|0)*40|0)+20|0,(400>>f[Ie>>2])-50|0)|0);if(!(f[hr>>2]|0)){qe(k,f[w>>2]|0,f[ur>>2]|0);f[hr>>2]=k}if((f[Se>>2]|0)>0?f[(f[sr>>2]|0)+52>>2]|0:0){f[d>>2]=f[Se>>2];if((((f[ce>>2]|0)==1?2:0)|0)>((f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6|0))l=(f[ce>>2]|0)==1?2:0;else l=(f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6;do{if((l|0)<(f[me>>2]|0))if((((f[ce>>2]|0)==1?2:0)|0)>((f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6|0)){l=(f[ce>>2]|0)==1?2:0;break}else{l=(f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6;break}else l=f[me>>2]|0}while(0);f[p>>2]=l;if((f[p>>2]|0)<(f[me>>2]|0)){f[ur>>2]=(f[Ee>>2]|0)+(f[p>>2]|0);f[me>>2]=f[p>>2];tr(f[hr>>2]|0,f[ur>>2]|0)}}f[fe>>2]=f[ur>>2]<<3;f[Z>>2]=f[Ge>>2];if((f[Z>>2]|0)>(f[(f[ze>>2]|0)+12>>2]|0))f[Z>>2]=f[(f[ze>>2]|0)+12>>2];p=re(f[Ve>>2]|0,(f[Ce>>2]|0)+(f[E>>2]|0)|0)|0;f[cr>>2]=he()|0;i=h;h=h+((1*(p<<2)|0)+15&-16)|0;u=+s[(f[sr>>2]|0)+180>>2];p=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;if(u>+Jn(f[v>>2]|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0))u=+s[(f[sr>>2]|0)+180>>2];else{p=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;u=+Jn(f[v>>2]|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0)}s[y>>2]=u;d=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;p=re(f[Pe>>2]|0,f[E>>2]|0)|0;u=+Jn((f[v>>2]|0)+(((d|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0)<<2)|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0);s[(f[sr>>2]|0)+180>>2]=u;if(+s[y>>2]>+s[(f[sr>>2]|0)+180>>2])u=+s[y>>2];else u=+s[(f[sr>>2]|0)+180>>2];s[y>>2]=u;f[Ze>>2]=+s[y>>2]<=1/+(1<>2]|0)+60>>2]|0)&1;if((f[ce>>2]|0)==1)Xe(f[hr>>2]|0,f[Ze>>2]|0,15);else f[Ze>>2]=0;if(f[Ze>>2]|0){if((f[Se>>2]|0)>0){p=(f[ur>>2]|0)<((f[Ee>>2]|0)+2|0)?f[ur>>2]|0:(f[Ee>>2]|0)+2|0;f[ur>>2]=p;f[V>>2]=p;f[fe>>2]=f[ur>>2]<<3;f[me>>2]=2;tr(f[hr>>2]|0,f[ur>>2]|0)}f[ce>>2]=f[ur>>2]<<3;d=f[ce>>2]|0;d=d-(Vn(f[hr>>2]|0)|0)|0;p=(f[hr>>2]|0)+20|0;f[p>>2]=(f[p>>2]|0)+d}f[Je>>2]=0;do{f[g>>2]=0;f[g>>2]=(f[(f[sr>>2]|0)+16>>2]|0?+s[y>>2]>65536:0)&1;p=i+((re(f[Je>>2]|0,(f[Ce>>2]|0)+(f[E>>2]|0)|0)|0)<<2)|0;Wn((f[v>>2]|0)+(f[Je>>2]<<2)|0,p+(f[E>>2]<<2)|0,f[Ce>>2]|0,f[Ve>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,(f[ze>>2]|0)+16|0,(f[sr>>2]|0)+148+(f[Je>>2]<<2)|0,f[g>>2]|0);p=(f[Je>>2]|0)+1|0;f[Je>>2]=p}while((p|0)<(f[Ve>>2]|0));if((f[me>>2]|0)>3?(f[(f[sr>>2]|0)+68>>2]|0)!=0:0)if((f[or>>2]|0)!=0|(f[Ze>>2]|0)!=0)l=0;else Y=63;else if(((f[or>>2]|0)==0?(f[me>>2]|0)>((f[Pe>>2]|0)*12|0):0)^1|(f[Ze>>2]|0)!=0)l=0;else Y=63;if((Y|0)==63)if(!(f[(f[sr>>2]|0)+20>>2]|0)?(f[(f[sr>>2]|0)+24>>2]|0)>=5:0){if((f[Ie>>2]|0)!=3?(f[(f[sr>>2]|0)+116>>2]|0)!=0:0)l=(f[(f[sr>>2]|0)+64>>2]|0)==5010;else l=0;l=l^1}else l=0;f[_>>2]=l&1;f[He>>2]=f[(f[sr>>2]|0)+100>>2];f[H>>2]=Gn(f[sr>>2]|0,i,f[A>>2]|0,f[Ve>>2]|0,f[Ce>>2]|0,f[He>>2]|0,Ye,Fe,S,f[_>>2]|0,f[me>>2]|0)|0;if(!(!(+s[Fe>>2]>.4000000059604645)?!(+s[(f[sr>>2]|0)+108>>2]>.4000000059604645):0))Y=70;do{if((Y|0)==70){if(f[(f[sr>>2]|0)+120>>2]|0?!(+s[(f[sr>>2]|0)+120+4>>2]>.3):0)break;if(!(+(f[Ye>>2]|0)>+(f[(f[sr>>2]|0)+104>>2]|0)*1.26)?!(+(f[Ye>>2]|0)<+(f[(f[sr>>2]|0)+104>>2]|0)*.79):0)break;f[se>>2]=1}}while(0);if(!(f[H>>2]|0)){if((f[or>>2]|0)==0?((f[ce>>2]|0)+16|0)<=(f[fe>>2]|0):0)Xe(f[hr>>2]|0,0,1)}else{Xe(f[hr>>2]|0,1,1);f[Ye>>2]=(f[Ye>>2]|0)+1;f[m>>2]=32-(te(f[Ye>>2]|0)|0)-5;Qe(f[hr>>2]|0,f[m>>2]|0,6);er(f[hr>>2]|0,(f[Ye>>2]|0)-(16<>2])|0,4+(f[m>>2]|0)|0);f[Ye>>2]=(f[Ye>>2]|0)-1;er(f[hr>>2]|0,f[S>>2]|0,3);$e(f[hr>>2]|0,f[He>>2]|0,25429,2)}f[wr>>2]=0;f[We>>2]=0;if((f[(f[sr>>2]|0)+24>>2]|0)>=1?(f[(f[sr>>2]|0)+68>>2]|0)==0:0)f[wr>>2]=Kn(i,(f[Ce>>2]|0)+(f[E>>2]|0)|0,f[Ve>>2]|0,we,F)|0;if((f[Ie>>2]|0)>0?(S=(Vn(f[hr>>2]|0)|0)+3|0,(S|0)<=(f[fe>>2]|0)):0){if(f[wr>>2]|0)f[We>>2]=f[W>>2]}else{f[wr>>2]=0;f[kr>>2]=1}S=(re(f[Ve>>2]|0,f[Ce>>2]|0)|0)<<2;t=h;h=h+((1*S|0)+15&-16)|0;S=(re(f[rr>>2]|0,f[Ve>>2]|0)|0)<<2;k=h;h=h+((1*S|0)+15&-16)|0;S=(re(f[rr>>2]|0,f[Ve>>2]|0)|0)<<2;w=h;h=h+((1*S|0)+15&-16)|0;if(f[We>>2]|0)l=(f[(f[sr>>2]|0)+24>>2]|0)>=8;else l=0;f[D>>2]=l&1;S=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;o=h;h=h+((1*S|0)+15&-16)|0;e:do{if(f[D>>2]|0){Xn(f[ze>>2]|0,0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,o,f[Pe>>2]|0);f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break e;S=o+(f[Ke>>2]<<2)|0;s[S>>2]=+s[S>>2]+ +(f[Ie>>2]|0)*.5;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);Xn(f[ze>>2]|0,f[We>>2]|0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);if((f[Ve>>2]|0)==2&(f[Pe>>2]|0)==1)f[F>>2]=0;on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);e:do{if(f[(f[sr>>2]|0)+68>>2]|0){f[Ke>>2]=2;while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break e;if(+s[k+(f[Ke>>2]<<2)>>2]<+s[k>>2]*9999999747378752e-20)u=+s[k+(f[Ke>>2]<<2)>>2];else u=+s[k>>2]*9999999747378752e-20;s[k+(f[Ke>>2]<<2)>>2]=u;if(+s[k+(f[Ke>>2]<<2)>>2]>1.0000000036274937e-15)u=+s[k+(f[Ke>>2]<<2)>>2];else u=1.0000000036274937e-15;s[k+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,w,f[Pe>>2]|0);S=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;c=h;h=h+((1*S|0)+15&-16)|0;vs(c|0,0,f[Ge>>2]<<2|0)|0;do{if(!(f[or>>2]|0)){if(!(f[(f[sr>>2]|0)+192>>2]|0))break;if(f[(f[sr>>2]|0)+68>>2]|0)break;s[I>>2]=0;s[P>>2]=0;f[R>>2]=0;if(2>(f[(f[sr>>2]|0)+92>>2]|0))l=2;else l=f[(f[sr>>2]|0)+92>>2]|0;f[C>>2]=l;f[Je>>2]=0;while(1){if((f[Je>>2]|0)>=(f[Pe>>2]|0))break;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break;S=re(f[rr>>2]|0,f[Je>>2]|0)|0;if(+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]<.25){S=re(f[rr>>2]|0,f[Je>>2]|0)|0;u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]}else u=.25;do{if(u>-2){S=re(f[rr>>2]|0,f[Je>>2]|0)|0;if(!(+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]<.25)){u=.25;break}S=re(f[rr>>2]|0,f[Je>>2]|0)|0;u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]}else u=-2}while(0);s[T>>2]=u;if(+s[T>>2]>0)s[T>>2]=+s[T>>2]*.5;s[I>>2]=+s[I>>2]+ +s[T>>2]*+((n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0)|0);f[R>>2]=(f[R>>2]|0)+((n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0));s[P>>2]=+s[P>>2]+ +s[T>>2]*+(1+(f[Ke>>2]<<1)-(f[C>>2]|0)|0);f[Ke>>2]=(f[Ke>>2]|0)+1}f[Je>>2]=(f[Je>>2]|0)+1}s[I>>2]=+s[I>>2]/+(f[R>>2]|0);s[I>>2]=+s[I>>2]+.20000000298023224;T=re(f[Pe>>2]|0,(f[C>>2]|0)-1|0)|0;T=re(T,(f[C>>2]|0)+1|0)|0;s[P>>2]=+s[P>>2]*6/+(re(T,f[C>>2]|0)|0);s[P>>2]=+s[P>>2]*.5;if((+s[P>>2]<.03099999949336052?+s[P>>2]:.03099999949336052)>-.03099999949336052)u=+s[P>>2]<.03099999949336052?+s[P>>2]:.03099999949336052;else u=-.03099999949336052;s[P>>2]=u;f[O>>2]=0;while(1){if((n[(f[X>>2]|0)+((f[O>>2]|0)+1<<1)>>1]|0)>=((n[(f[X>>2]|0)+(f[C>>2]<<1)>>1]|0)/2|0|0))break;f[O>>2]=(f[O>>2]|0)+1}f[M>>2]=0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break;s[x>>2]=+s[I>>2]+ +s[P>>2]*+((f[Ke>>2]|0)-(f[O>>2]|0)|0);u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(f[Ke>>2]<<2)>>2];if((f[Pe>>2]|0)==2){if(u>+s[(f[(f[sr>>2]|0)+192>>2]|0)+((f[rr>>2]|0)+(f[Ke>>2]|0)<<2)>>2])u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(f[Ke>>2]<<2)>>2];else u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+((f[rr>>2]|0)+(f[Ke>>2]|0)<<2)>>2];s[L>>2]=u}else s[L>>2]=u;s[L>>2]=+s[L>>2]<0?+s[L>>2]:0;s[L>>2]=+s[L>>2]-+s[x>>2];if(+s[L>>2]>.25){s[c+(f[Ke>>2]<<2)>>2]=+s[L>>2]-.25;f[M>>2]=(f[M>>2]|0)+1}f[Ke>>2]=(f[Ke>>2]|0)+1}e:do{if((f[M>>2]|0)>=3){s[I>>2]=+s[I>>2]+.25;if(+s[I>>2]>0){s[I>>2]=0;s[P>>2]=0;vs(c|0,0,f[C>>2]<<2|0)|0;break}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break e;if(0>+s[c+(f[Ke>>2]<<2)>>2]-.25)u=0;else u=+s[c+(f[Ke>>2]<<2)>>2]-.25;s[c+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);s[I>>2]=+s[I>>2]+.20000000298023224;s[ne>>2]=+s[P>>2]*64;s[ue>>2]=+s[I>>2]}}while(0);if(!(f[(f[sr>>2]|0)+68>>2]|0)){s[U>>2]=-10;s[B>>2]=0;if(f[We>>2]|0)u=+(f[Ie>>2]|0)*.5;else u=0;s[j>>2]=u;f[Ke>>2]=f[or>>2];while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;if(+s[U>>2]-1>+s[w+(f[Ke>>2]<<2)>>2]-+s[j>>2])u=+s[U>>2]-1;else u=+s[w+(f[Ke>>2]<<2)>>2]-+s[j>>2];s[U>>2]=u;if((f[Pe>>2]|0)==2){if(+s[U>>2]>+s[w+((f[Ke>>2]|0)+(f[rr>>2]|0)<<2)>>2]-+s[j>>2])u=+s[U>>2];else u=+s[w+((f[Ke>>2]|0)+(f[rr>>2]|0)<<2)>>2]-+s[j>>2];s[U>>2]=u}s[B>>2]=+s[B>>2]+ +s[U>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}s[B>>2]=+s[B>>2]/+((f[Ge>>2]|0)-(f[or>>2]|0)|0);s[be>>2]=+s[B>>2]-+s[(f[sr>>2]|0)+196>>2];if(3<(-1.5>+s[be>>2]?-1.5:+s[be>>2]))u=3;else u=-1.5>+s[be>>2]?-1.5:+s[be>>2];s[be>>2]=u;j=(f[sr>>2]|0)+196|0;s[j>>2]=+s[j>>2]+ +s[be>>2]*.019999999552965164}if(!(f[D>>2]|0)){D=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;gs(o|0,w|0,D+0|0)|0}do{if((f[Ie>>2]|0)>0){D=(Vn(f[hr>>2]|0)|0)+3|0;if(f[wr>>2]|0?1:(D|0)>(f[fe>>2]|0))break;if((f[(f[sr>>2]|0)+24>>2]|0)<5)break;if(f[(f[sr>>2]|0)+68>>2]|0)break;if(!($n(w,f[ir>>2]|0,f[rr>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Pe>>2]|0)|0))break;f[wr>>2]=1;f[We>>2]=f[W>>2];Xn(f[ze>>2]|0,f[We>>2]|0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,w,f[Pe>>2]|0);f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break;D=o+(f[Ke>>2]<<2)|0;s[D>>2]=+s[D>>2]+ +(f[Ie>>2]|0)*.5;f[Ke>>2]=(f[Ke>>2]|0)+1}s[we>>2]=.20000000298023224}}while(0);do{if((f[Ie>>2]|0)>0){D=(Vn(f[hr>>2]|0)|0)+3|0;if((D|0)>(f[fe>>2]|0))break;Xe(f[hr>>2]|0,f[wr>>2]|0,3)}}while(0);e=(re(f[Pe>>2]|0,f[Ce>>2]|0)|0)<<2;b=h;h=h+((1*e|0)+15&-16)|0;sn(f[ze>>2]|0,t,b,k,f[Z>>2]|0,f[Pe>>2]|0,f[W>>2]|0);e=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;e:do{if((f[or>>2]|0)==0?(f[V>>2]|0)>=((f[Pe>>2]|0)*15|0):0){if((f[(f[sr>>2]|0)+24>>2]|0)<2){Y=192;break}if(f[(f[sr>>2]|0)+68>>2]|0){Y=192;break}do{if((f[V>>2]|0)>=40){if((f[V>>2]|0)<60){f[N>>2]=6;break}if((f[V>>2]|0)<100){f[N>>2]=4;break}else{f[N>>2]=3;break}}else f[N>>2]=12}while(0);f[N>>2]=f[N>>2]<<1;f[q>>2]=Qn(f[ze>>2]|0,f[Z>>2]|0,f[wr>>2]|0,e,f[N>>2]|0,b,f[Ce>>2]|0,f[Ie>>2]|0,z,+s[we>>2],f[F>>2]|0)|0;f[Ke>>2]=f[Z>>2];while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break e;f[e+(f[Ke>>2]<<2)>>2]=f[e+((f[Z>>2]|0)-1<<2)>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}}else Y=192}while(0);if((Y|0)==192){f[z>>2]=0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;f[e+(f[Ke>>2]<<2)>>2]=f[wr>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}f[q>>2]=0}Y=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;r=h;h=h+((1*Y|0)+15&-16)|0;Ir(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Z>>2]|0,w,f[ir>>2]|0,f[fe>>2]|0,r,f[hr>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0,f[me>>2]|0,f[(f[sr>>2]|0)+12>>2]|0,(f[sr>>2]|0)+84|0,(f[(f[sr>>2]|0)+24>>2]|0)>=4&1,f[(f[sr>>2]|0)+56>>2]|0,f[(f[sr>>2]|0)+68>>2]|0);rf(f[or>>2]|0,f[Ge>>2]|0,f[wr>>2]|0,e,f[Ie>>2]|0,f[q>>2]|0,f[hr>>2]|0);q=(Vn(f[hr>>2]|0)|0)+4|0;if((q|0)<=(f[fe>>2]|0)){e:do{if(!(f[(f[sr>>2]|0)+68>>2]|0)){do{if(!(f[We>>2]|0)){if((f[(f[sr>>2]|0)+24>>2]|0)<3)break;if(f[or>>2]|0?1:(f[me>>2]|0)<((f[Pe>>2]|0)*10|0))break;if(f[H>>2]|0)l=(f[We>>2]|0)!=0^1;else l=0;Z=bn(f[ze>>2]|0,b,(f[sr>>2]|0)+88|0,f[(f[sr>>2]|0)+80>>2]|0,(f[sr>>2]|0)+96|0,(f[sr>>2]|0)+100|0,l&1,f[Z>>2]|0,f[Pe>>2]|0,f[W>>2]|0)|0;f[(f[sr>>2]|0)+80>>2]=Z;break e}}while(0);l=(f[sr>>2]|0)+80|0;if(!(f[(f[sr>>2]|0)+24>>2]|0)){f[l>>2]=0;break}else{f[l>>2]=2;break}}else{f[(f[sr>>2]|0)+100>>2]=0;f[(f[sr>>2]|0)+80>>2]=2}}while(0);$e(f[hr>>2]|0,f[(f[sr>>2]|0)+80>>2]|0,25560,5)}a=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;s[oe>>2]=+tf(w,o,f[rr>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Pe>>2]|0,a,f[(f[sr>>2]|0)+60>>2]|0,f[(f[ze>>2]|0)+56>>2]|0,f[wr>>2]|0,f[(f[sr>>2]|0)+44>>2]|0,f[(f[sr>>2]|0)+52>>2]|0,f[X>>2]|0,f[Ie>>2]|0,f[V>>2]|0,ke,f[(f[sr>>2]|0)+68>>2]|0,c);if(f[(f[sr>>2]|0)+68>>2]|0){if(8<((f[V>>2]|0)/3|0|0))l=8;else l=(f[V>>2]|0)/3|0;f[a>>2]=l}t=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;jn(f[ze>>2]|0,t,f[Ie>>2]|0,f[Pe>>2]|0);f[G>>2]=6;f[fe>>2]=f[fe>>2]<<3;f[pe>>2]=0;f[ce>>2]=Le(f[hr>>2]|0)|0;f[Ke>>2]=f[or>>2];while(1){l=f[Pe>>2]|0;if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;l=re(l,(n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0)|0)|0;f[ie>>2]=l<>2];l=f[ie>>2]|0;if((f[ie>>2]<<3|0)<((48>(f[ie>>2]|0)?48:f[ie>>2]|0)|0))l=l<<3;else l=48>(l|0)?48:f[ie>>2]|0;f[ee>>2]=l;f[K>>2]=f[G>>2];f[J>>2]=0;f[Q>>2]=0;while(1){if(((f[ce>>2]|0)+(f[K>>2]<<3)|0)>=((f[fe>>2]|0)-(f[pe>>2]|0)|0))break;if((f[J>>2]|0)>=(f[t+(f[Ke>>2]<<2)>>2]|0))break;f[$>>2]=(f[Q>>2]|0)<(f[a+(f[Ke>>2]<<2)>>2]|0)&1;Xe(f[hr>>2]|0,f[$>>2]|0,f[K>>2]|0);f[ce>>2]=Le(f[hr>>2]|0)|0;if(!(f[$>>2]|0))break;f[J>>2]=(f[J>>2]|0)+(f[ee>>2]|0);f[pe>>2]=(f[pe>>2]|0)+(f[ee>>2]|0);f[K>>2]=1;f[Q>>2]=(f[Q>>2]|0)+1}if(f[Q>>2]|0)f[G>>2]=2>((f[G>>2]|0)-1|0)?2:(f[G>>2]|0)-1|0;f[a+(f[Ke>>2]<<2)>>2]=f[J>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}if((l|0)==2){if(f[Ie>>2]|0)f[Ne>>2]=af(f[ze>>2]|0,b,f[Ie>>2]|0,f[Ce>>2]|0)|0;ie=fn(+((f[Re>>2]|0)/1e3|0|0),196,280,21,f[(f[sr>>2]|0)+188>>2]|0)|0;f[(f[sr>>2]|0)+188>>2]=ie;if((f[or>>2]|0)>(f[(f[sr>>2]|0)+188>>2]|0))l=f[or>>2]|0;else l=f[(f[sr>>2]|0)+188>>2]|0;do{if((f[Ge>>2]|0)>=(l|0))if((f[or>>2]|0)>(f[(f[sr>>2]|0)+188>>2]|0)){l=f[or>>2]|0;break}else{l=f[(f[sr>>2]|0)+188>>2]|0;break}else l=f[Ge>>2]|0}while(0);f[(f[sr>>2]|0)+188>>2]=l}f[Me>>2]=5;if(((f[ce>>2]|0)+48|0)<=((f[fe>>2]|0)-(f[pe>>2]|0)|0)){if(f[(f[sr>>2]|0)+68>>2]|0)f[Me>>2]=5;else f[Me>>2]=of(f[ze>>2]|0,b,w,f[Ge>>2]|0,f[Ie>>2]|0,f[Pe>>2]|0,f[Ce>>2]|0,(f[sr>>2]|0)+120|0,(f[sr>>2]|0)+184|0,+s[we>>2],f[(f[sr>>2]|0)+188>>2]|0,+s[ne>>2],f[(f[sr>>2]|0)+72>>2]|0)|0;$e(f[hr>>2]|0,f[Me>>2]|0,25564,7);f[ce>>2]=Le(f[hr>>2]|0)|0}if((f[Se>>2]|0)>0){f[_e>>2]=(f[(f[ze>>2]|0)+36>>2]|0)-(f[Ie>>2]|0);if((f[ur>>2]|0)<(1275>>3-(f[Ie>>2]|0)|0))l=f[ur>>2]|0;else l=1275>>3-(f[Ie>>2]|0);f[ur>>2]=l;f[ae>>2]=(f[Se>>2]|0)-(((f[Pe>>2]|0)*40|0)+20<<3);if(f[(f[sr>>2]|0)+52>>2]|0)f[ae>>2]=(f[ae>>2]|0)+(f[(f[sr>>2]|0)+172>>2]>>f[_e>>2]);f[Ae>>2]=sf(f[ze>>2]|0,(f[sr>>2]|0)+120|0,f[ae>>2]|0,f[Ie>>2]|0,f[Re>>2]|0,f[(f[sr>>2]|0)+92>>2]|0,f[Pe>>2]|0,f[(f[sr>>2]|0)+188>>2]|0,f[(f[sr>>2]|0)+52>>2]|0,+s[(f[sr>>2]|0)+184>>2],f[ke>>2]|0,+s[we>>2],f[se>>2]|0,+s[oe>>2],f[(f[sr>>2]|0)+64>>2]|0,f[(f[sr>>2]|0)+68>>2]|0,(f[(f[sr>>2]|0)+192>>2]|0)!=0&1,+s[ue>>2],+s[be>>2])|0;f[Ae>>2]=(f[Ae>>2]|0)+(f[ce>>2]|0);f[le>>2]=((f[ce>>2]|0)+(f[pe>>2]|0)+64-1>>6)+2-(f[Ee>>2]|0);f[me>>2]=(f[Ae>>2]|0)+32>>6;f[me>>2]=(f[le>>2]|0)>(f[me>>2]|0)?f[le>>2]|0:f[me>>2]|0;if((f[ur>>2]|0)<((f[me>>2]|0)+(f[Ee>>2]|0)|0))l=f[ur>>2]|0;else l=(f[me>>2]|0)+(f[Ee>>2]|0)|0;f[me>>2]=l-(f[Ee>>2]|0);f[ye>>2]=(f[Ae>>2]|0)-(f[Se>>2]|0);f[Ae>>2]=f[me>>2]<<6;if(f[Ze>>2]|0){f[me>>2]=2;f[Ae>>2]=128;f[ye>>2]=0}if((f[(f[sr>>2]|0)+176>>2]|0)<970){pe=(f[sr>>2]|0)+176|0;f[pe>>2]=(f[pe>>2]|0)+1;s[ge>>2]=1/+((f[(f[sr>>2]|0)+176>>2]|0)+20|0)}else s[ge>>2]=.0010000000474974513;if(f[(f[sr>>2]|0)+52>>2]|0){pe=(f[sr>>2]|0)+164|0;f[pe>>2]=(f[pe>>2]|0)+((f[Ae>>2]|0)-(f[Se>>2]|0))}if(f[(f[sr>>2]|0)+52>>2]|0){Ae=re(f[ye>>2]|0,1<>2])|0;Se=(f[sr>>2]|0)+168|0;f[Se>>2]=(f[Se>>2]|0)+~~(+s[ge>>2]*+(Ae-(f[(f[sr>>2]|0)+172>>2]|0)-(f[(f[sr>>2]|0)+168>>2]|0)|0));f[(f[sr>>2]|0)+172>>2]=0-(f[(f[sr>>2]|0)+168>>2]|0)}do{if(f[(f[sr>>2]|0)+52>>2]|0){if((f[(f[sr>>2]|0)+164>>2]|0)>=0)break;f[ve>>2]=(0-(f[(f[sr>>2]|0)+164>>2]|0)|0)/64|0;f[me>>2]=(f[me>>2]|0)+(f[Ze>>2]|0?0:f[ve>>2]|0);f[(f[sr>>2]|0)+164>>2]=0}}while(0);if((f[ur>>2]|0)<((f[me>>2]|0)+(f[Ee>>2]|0)|0))l=f[ur>>2]|0;else l=(f[me>>2]|0)+(f[Ee>>2]|0)|0;f[ur>>2]=l;tr(f[hr>>2]|0,f[ur>>2]|0)}c=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;o=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;Se=f[ur>>2]<<3<<3;f[xe>>2]=Se-(Le(f[hr>>2]|0)|0)-1;if((f[wr>>2]|0)!=0&(f[Ie>>2]|0)>=2)l=(f[xe>>2]|0)>=((f[Ie>>2]|0)+2<<3|0);else l=0;f[Be>>2]=l?8:0;f[xe>>2]=(f[xe>>2]|0)-(f[Be>>2]|0);f[Oe>>2]=(f[Ge>>2]|0)-1;if(f[(f[sr>>2]|0)+120>>2]|0){do{if((f[Re>>2]|0)>=((f[Pe>>2]|0)*32e3|0)){if((f[Re>>2]|0)<((f[Pe>>2]|0)*48e3|0)){f[Te>>2]=16;break}if((f[Re>>2]|0)<((f[Pe>>2]|0)*6e4|0)){f[Te>>2]=18;break}if((f[Re>>2]|0)<((f[Pe>>2]|0)*8e4|0)){f[Te>>2]=19;break}else{f[Te>>2]=20;break}}else f[Te>>2]=13}while(0);if((f[(f[sr>>2]|0)+120+24>>2]|0)>(f[Te>>2]|0))l=f[(f[sr>>2]|0)+120+24>>2]|0;else l=f[Te>>2]|0;f[Oe>>2]=l}if(f[(f[sr>>2]|0)+68>>2]|0)f[Oe>>2]=1;f[De>>2]=Wr(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,a,t,f[Me>>2]|0,(f[sr>>2]|0)+188|0,Ne,f[xe>>2]|0,je,o,c,i,f[Pe>>2]|0,f[Ie>>2]|0,f[hr>>2]|0,1,f[(f[sr>>2]|0)+92>>2]|0,f[Oe>>2]|0)|0;if(f[(f[sr>>2]|0)+92>>2]|0){if(((f[(f[sr>>2]|0)+92>>2]|0)-1|0)>(f[De>>2]|0))l=(f[(f[sr>>2]|0)+92>>2]|0)-1|0;else l=f[De>>2]|0;t=f[(f[sr>>2]|0)+92>>2]|0;do{if(((f[(f[sr>>2]|0)+92>>2]|0)+1|0)>=(l|0))if((t-1|0)>(f[De>>2]|0)){l=(f[(f[sr>>2]|0)+92>>2]|0)-1|0;break}else{l=f[De>>2]|0;break}else l=t+1|0}while(0);f[(f[sr>>2]|0)+92>>2]=l}else f[(f[sr>>2]|0)+92>>2]=f[De>>2];Nr(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[ir>>2]|0,r,c,f[hr>>2]|0,f[Pe>>2]|0);xe=re(f[Pe>>2]|0,f[rr>>2]|0)|0;Oe=h;h=h+((1*xe|0)+15&-16)|0;kn(1,f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,b,(f[Pe>>2]|0)==2?b+(f[Ce>>2]<<2)|0:0,Oe,k,o,f[We>>2]|0,f[(f[sr>>2]|0)+80>>2]|0,f[Ne>>2]|0,f[(f[sr>>2]|0)+188>>2]|0,e,(f[ur>>2]<<6)-(f[Be>>2]|0)|0,f[je>>2]|0,f[hr>>2]|0,f[Ie>>2]|0,f[De>>2]|0,(f[sr>>2]|0)+76|0,f[(f[sr>>2]|0)+72>>2]|0);if((f[Be>>2]|0)>0){f[Ue>>2]=(f[(f[sr>>2]|0)+116>>2]|0)<2&1;er(f[hr>>2]|0,f[Ue>>2]|0,1)}je=f[ze>>2]|0;De=f[or>>2]|0;Ne=f[Ge>>2]|0;ze=f[ir>>2]|0;We=f[ur>>2]<<3;We=We-(Vn(f[hr>>2]|0)|0)|0;Fr(je,De,Ne,ze,r,c,i,We,f[hr>>2]|0,f[Pe>>2]|0);e:do{if(f[Ze>>2]|0){f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break e;s[(f[ir>>2]|0)+(f[Ke>>2]<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);f[(f[sr>>2]|0)+104>>2]=f[Ye>>2];s[(f[sr>>2]|0)+108>>2]=+s[Fe>>2];f[(f[sr>>2]|0)+112>>2]=f[He>>2];if((f[Ve>>2]|0)==2&(f[Pe>>2]|0)==1)gs((f[ir>>2]|0)+(f[rr>>2]<<2)|0,f[ir>>2]|0,(f[rr>>2]<<2)+0|0)|0;e:do{if(f[wr>>2]|0){f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Ve>>2]|0,f[rr>>2]|0)|0))break e;l=f[Ke>>2]|0;if(+s[(f[fr>>2]|0)+(f[Ke>>2]<<2)>>2]<+s[(f[ir>>2]|0)+(f[Ke>>2]<<2)>>2])u=+s[(f[fr>>2]|0)+(l<<2)>>2];else u=+s[(f[ir>>2]|0)+(l<<2)>>2];s[(f[fr>>2]|0)+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}else{Ze=(re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2;gs(f[ar>>2]|0,f[fr>>2]|0,Ze+0|0)|0;Ze=(re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2;gs(f[fr>>2]|0,f[ir>>2]|0,Ze+0|0)|0}}while(0);f[Je>>2]=0;do{f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[or>>2]|0))break;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ir>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=0;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ar>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[fr>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}f[Ke>>2]=f[Ge>>2];while(1){l=f[Je>>2]|0;if((f[Ke>>2]|0)>=(f[rr>>2]|0))break;Ze=re(l,f[rr>>2]|0)|0;s[(f[ir>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=0;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ar>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[fr>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}Ze=l+1|0;f[Je>>2]=Ze}while((Ze|0)<(f[Ve>>2]|0));l=(f[sr>>2]|0)+116|0;if((f[wr>>2]|0)!=0|(f[kr>>2]|0)!=0)f[l>>2]=(f[l>>2]|0)+1;else f[l>>2]=0;f[(f[sr>>2]|0)+76>>2]=f[(f[hr>>2]|0)+28>>2];nr(f[hr>>2]|0);if(uf(f[hr>>2]|0)|0){f[lr>>2]=-3;f[br>>2]=1}else{f[lr>>2]=f[ur>>2];f[br>>2]=1}de(f[cr>>2]|0);kr=f[lr>>2]|0;h=dr;return kr|0}function Vn(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Jn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;o=u+4|0;l=u;f[t>>2]=e;f[n>>2]=r;s[o>>2]=0;s[l>>2]=0;f[a>>2]=0;while(1){i=+s[o>>2];if((f[a>>2]|0)>=(f[n>>2]|0))break;if(i>+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2])i=+s[o>>2];else i=+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2];s[o>>2]=i;if(+s[l>>2]<+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2])i=+s[l>>2];else i=+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2];s[l>>2]=i;f[a>>2]=(f[a>>2]|0)+1}h=u;return+(i>-+s[l>>2]?+s[o>>2]:-+s[l>>2])}function Gn(e,r,i,t,n,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;j=h;h=h+96|0;v=j+92|0;g=j+88|0;_=j+84|0;m=j+80|0;E=j+76|0;A=j+72|0;S=j+68|0;R=j+64|0;T=j+60|0;d=j+56|0;w=j+52|0;M=j+48|0;U=j+40|0;O=j+36|0;C=j+32|0;x=j+28|0;p=j+24|0;I=j+20|0;B=j+16|0;P=j+12|0;y=j+8|0;k=j+4|0;L=j;f[v>>2]=e;f[g>>2]=r;f[_>>2]=i;f[m>>2]=t;f[E>>2]=n;f[A>>2]=a;f[S>>2]=o;f[R>>2]=l;f[T>>2]=u;f[d>>2]=c;f[w>>2]=b;f[O>>2]=f[f[v>>2]>>2];f[P>>2]=f[(f[O>>2]|0)+4>>2];u=re(f[m>>2]|0,(f[E>>2]|0)+1024|0)|0;f[y>>2]=he()|0;e=h;h=h+((1*(u<<2)|0)+15&-16)|0;f[U>>2]=e;f[U+4>>2]=e+((f[E>>2]|0)+1024<<2);f[M>>2]=0;do{gs(f[U+(f[M>>2]<<2)>>2]|0,(f[_>>2]|0)+(f[M>>2]<<10<<2)|0,4096|0)|0;e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;gs((f[U+(f[M>>2]<<2)>>2]|0)+4096|0,e+(f[P>>2]<<2)|0,(f[E>>2]<<2)+0|0)|0;e=(f[M>>2]|0)+1|0;f[M>>2]=e}while((e|0)<(f[m>>2]|0));if(f[d>>2]|0){u=1024+(f[E>>2]|0)>>1;f[k>>2]=he()|0;e=h;h=h+((1*(u<<2)|0)+15&-16)|0;vr(U,e,1024+(f[E>>2]|0)|0,f[m>>2]|0,f[(f[v>>2]|0)+72>>2]|0);Er(e+2048|0,e,f[E>>2]|0,979,C,f[(f[v>>2]|0)+72>>2]|0);f[C>>2]=1024-(f[C>>2]|0);s[x>>2]=+Sr(e,1024,15,f[E>>2]|0,C,f[(f[v>>2]|0)+104>>2]|0,+s[(f[v>>2]|0)+108>>2],f[(f[v>>2]|0)+72>>2]|0);if((f[C>>2]|0)>1022)f[C>>2]=1022;s[x>>2]=+s[x>>2]*.699999988079071;if((f[(f[v>>2]|0)+56>>2]|0)>2)s[x>>2]=+s[x>>2]*.5;if((f[(f[v>>2]|0)+56>>2]|0)>4)s[x>>2]=+s[x>>2]*.5;if((f[(f[v>>2]|0)+56>>2]|0)>8)s[x>>2]=0;de(f[k>>2]|0)}else{s[x>>2]=0;f[C>>2]=15}s[p>>2]=.20000000298023224;e=(Y((f[C>>2]|0)-(f[(f[v>>2]|0)+104>>2]|0)|0)|0)*10|0;if((e|0)>(f[C>>2]|0))s[p>>2]=+s[p>>2]+.20000000298023224;if((f[w>>2]|0)<25)s[p>>2]=+s[p>>2]+.10000000149011612;if((f[w>>2]|0)<35)s[p>>2]=+s[p>>2]+.10000000149011612;if(+s[(f[v>>2]|0)+108>>2]>.4000000059604645)s[p>>2]=+s[p>>2]-.10000000149011612;if(+s[(f[v>>2]|0)+108>>2]>.550000011920929)s[p>>2]=+s[p>>2]-.10000000149011612;s[p>>2]=+s[p>>2]>.20000000298023224?+s[p>>2]:.20000000298023224;if(+s[x>>2]<+s[p>>2]){s[x>>2]=0;f[I>>2]=0;f[B>>2]=0}else{if(+Y(+(+s[x>>2]-+s[(f[v>>2]|0)+108>>2]))<.10000000149011612)s[x>>2]=+s[(f[v>>2]|0)+108>>2];f[B>>2]=~~+z(+(+s[x>>2]*32/3+.5))-1;if(0>((7<(f[B>>2]|0)?7:f[B>>2]|0)|0))w=0;else w=7<(f[B>>2]|0)?7:f[B>>2]|0;f[B>>2]=w;s[x>>2]=+((f[B>>2]|0)+1|0)*.09375;f[I>>2]=1}f[M>>2]=0;do{f[L>>2]=(f[(f[O>>2]|0)+44>>2]|0)-(f[P>>2]|0);if((f[(f[v>>2]|0)+104>>2]|0)>15)w=f[(f[v>>2]|0)+104>>2]|0;else w=15;f[(f[v>>2]|0)+104>>2]=w;u=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;e=(f[v>>2]|0)+200+((re(f[M>>2]|0,f[P>>2]|0)|0)<<2)|0;gs(u|0,e|0,(f[P>>2]<<2)+0|0)|0;if(f[L>>2]|0){e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;Un(e+(f[P>>2]<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096|0,f[(f[v>>2]|0)+104>>2]|0,f[(f[v>>2]|0)+104>>2]|0,f[L>>2]|0,-+s[(f[v>>2]|0)+108>>2],-+s[(f[v>>2]|0)+108>>2],f[(f[v>>2]|0)+112>>2]|0,f[(f[v>>2]|0)+112>>2]|0,0,0,f[(f[v>>2]|0)+72>>2]|0)}e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;Un(e+(f[P>>2]<<2)+(f[L>>2]<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096+(f[L>>2]<<2)|0,f[(f[v>>2]|0)+104>>2]|0,f[C>>2]|0,(f[E>>2]|0)-(f[L>>2]|0)|0,-+s[(f[v>>2]|0)+108>>2],-+s[x>>2],f[(f[v>>2]|0)+112>>2]|0,f[A>>2]|0,f[(f[O>>2]|0)+60>>2]|0,f[P>>2]|0,f[(f[v>>2]|0)+72>>2]|0);e=(f[v>>2]|0)+200+((re(f[M>>2]|0,f[P>>2]|0)|0)<<2)|0;w=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;gs(e|0,w+(f[E>>2]<<2)|0,(f[P>>2]<<2)+0|0)|0;w=(f[_>>2]|0)+(f[M>>2]<<10<<2)|0;if((f[E>>2]|0)>1024)ys(w|0,(f[U+(f[M>>2]<<2)>>2]|0)+(f[E>>2]<<2)|0,4096|0)|0;else{ys(w|0,(f[_>>2]|0)+(f[M>>2]<<10<<2)+(f[E>>2]<<2)|0,(1024-(f[E>>2]|0)<<2)+0|0)|0;ys((f[_>>2]|0)+(f[M>>2]<<10<<2)+4096+(0-(f[E>>2]|0)<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096|0,(f[E>>2]<<2)+0|0)|0}e=(f[M>>2]|0)+1|0;f[M>>2]=e}while((e|0)<(f[m>>2]|0));s[f[R>>2]>>2]=+s[x>>2];f[f[S>>2]>>2]=f[C>>2];f[f[T>>2]>>2]=f[B>>2];B=f[I>>2]|0;de(f[y>>2]|0);h=j;return B|0}function Kn(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;P=h;h=h+96|0;l=P+84|0;u=P+80|0;c=P+76|0;M=P+72|0;b=P+68|0;k=P+64|0;_=P+60|0;m=P+56|0;O=P+52|0;v=P+48|0;w=P+44|0;L=P+40|0;p=P+36|0;x=P+32|0;y=P+28|0;A=P+24|0;E=P+20|0;g=P+16|0;S=P+12|0;T=P+8|0;R=P+4|0;d=P;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[M>>2]=t;f[b>>2]=n;f[O>>2]=0;f[v>>2]=0;t=f[u>>2]|0;f[x>>2]=he()|0;r=h;h=h+((1*(t<<2)|0)+15&-16)|0;f[p>>2]=(f[u>>2]|0)/2|0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;f[A>>2]=0;s[_>>2]=0;s[m>>2]=0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[u>>2]|0))break;t=(f[k>>2]|0)+(re(f[w>>2]|0,f[u>>2]|0)|0)|0;s[S>>2]=+s[(f[l>>2]|0)+(t<<2)>>2];s[T>>2]=+s[_>>2]+ +s[S>>2];s[_>>2]=+s[m>>2]+ +s[T>>2]-+s[S>>2]*2;s[m>>2]=+s[S>>2]-+s[T>>2]*.5;s[r+(f[k>>2]<<2)>>2]=+s[T>>2];f[k>>2]=(f[k>>2]|0)+1}i=r;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));s[y>>2]=0;s[_>>2]=0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[p>>2]|0))break;s[R>>2]=+s[r+(f[k>>2]<<1<<2)>>2]*+s[r+(f[k>>2]<<1<<2)>>2]+ +s[r+((f[k>>2]<<1)+1<<2)>>2]*+s[r+((f[k>>2]<<1)+1<<2)>>2];s[y>>2]=+s[y>>2]+ +s[R>>2];s[r+(f[k>>2]<<2)>>2]=+s[_>>2]+(+s[R>>2]-+s[_>>2])*.0625;s[_>>2]=+s[r+(f[k>>2]<<2)>>2];f[k>>2]=(f[k>>2]|0)+1}s[_>>2]=0;s[g>>2]=0;f[k>>2]=(f[p>>2]|0)-1;while(1){if((f[k>>2]|0)<0)break;s[r+(f[k>>2]<<2)>>2]=+s[_>>2]+(+s[r+(f[k>>2]<<2)>>2]-+s[_>>2])*.125;s[_>>2]=+s[r+(f[k>>2]<<2)>>2];s[g>>2]=+s[g>>2]>+s[_>>2]?+s[g>>2]:+s[_>>2];f[k>>2]=(f[k>>2]|0)+-1}s[y>>2]=+H(+(+s[y>>2]*+s[g>>2]*.5*+(f[p>>2]|0)));s[E>>2]=+(f[p>>2]|0)/(+s[y>>2]+1.0000000036274937e-15);f[A>>2]=0;f[k>>2]=12;while(1){if((f[k>>2]|0)>=((f[p>>2]|0)-5|0))break;if(127<+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15))))o=127;else o=+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15)));if(!(0>o))if(127<+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15))))o=127;else o=+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15)));else o=0;f[d>>2]=~~o;f[A>>2]=(f[A>>2]|0)+(a[25432+(f[d>>2]|0)>>0]|0);f[k>>2]=(f[k>>2]|0)+4}f[A>>2]=(f[A>>2]<<6<<2|0)/(((f[p>>2]|0)-17|0)*6|0)|0;if((f[A>>2]|0)>(f[v>>2]|0)){f[f[b>>2]>>2]=f[w>>2];f[v>>2]=f[A>>2]}f[w>>2]=(f[w>>2]|0)+1}f[O>>2]=(f[v>>2]|0)>200&1;if(0>+H(+ +((f[v>>2]|0)*27|0))-42)o=0;else o=+H(+ +((f[v>>2]|0)*27|0))-42;s[L>>2]=o;if(0>(163<+s[L>>2]?163:+s[L>>2])*.006899999920278788-.139){o=0;o=+H(+o);L=f[M>>2]|0;s[L>>2]=o;L=f[O>>2]|0;O=f[x>>2]|0;de(O|0);h=P;return L|0}o=(163<+s[L>>2]?163:+s[L>>2])*.006899999920278788-.139;o=+H(+o);L=f[M>>2]|0;s[L>>2]=o;L=f[O>>2]|0;O=f[x>>2]|0;de(O|0);h=P;return L|0}function Xn(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+80|0;c=x+64|0;b=x+60|0;w=x+56|0;k=x+52|0;d=x+48|0;p=x+44|0;v=x+40|0;g=x+36|0;y=x+32|0;T=x+28|0;m=x+24|0;_=x+20|0;M=x+16|0;R=x+12|0;E=x+8|0;S=x+4|0;A=x;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[T>>2]=f[(f[c>>2]|0)+4>>2];if(f[b>>2]|0){f[_>>2]=f[b>>2];f[m>>2]=f[(f[c>>2]|0)+44>>2];f[M>>2]=f[(f[c>>2]|0)+36>>2]}else{f[_>>2]=1;f[m>>2]=f[(f[c>>2]|0)+44>>2]<>2];f[M>>2]=(f[(f[c>>2]|0)+36>>2]|0)-(f[v>>2]|0)}f[S>>2]=0;do{f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;r=re(f[_>>2]|0,f[m>>2]|0)|0;r=(f[w>>2]|0)+((re(f[S>>2]|0,r+(f[T>>2]|0)|0)|0)<<2)|0;r=r+((re(f[E>>2]|0,f[m>>2]|0)|0)<<2)|0;l=re(f[S>>2]|0,f[m>>2]|0)|0;l=(f[E>>2]|0)+(re(l,f[_>>2]|0)|0)|0;kr((f[c>>2]|0)+64|0,r,(f[k>>2]|0)+(l<<2)|0,f[(f[c>>2]|0)+60>>2]|0,f[T>>2]|0,f[M>>2]|0,f[_>>2]|0,f[y>>2]|0);f[E>>2]=(f[E>>2]|0)+1}l=(f[S>>2]|0)+1|0;f[S>>2]=l}while((l|0)<(f[p>>2]|0));e:do{if((f[p>>2]|0)==2&(f[d>>2]|0)==1){f[R>>2]=0;while(1){if((f[R>>2]|0)>=(re(f[_>>2]|0,f[m>>2]|0)|0))break e;l=re(f[_>>2]|0,f[m>>2]|0)|0;s[(f[k>>2]|0)+(f[R>>2]<<2)>>2]=+s[(f[k>>2]|0)+(f[R>>2]<<2)>>2]*.5+ +s[(f[k>>2]|0)+(l+(f[R>>2]|0)<<2)>>2]*.5;f[R>>2]=(f[R>>2]|0)+1}}}while(0);if((f[g>>2]|0)==1){h=x;return}f[S>>2]=0;do{l=re(f[_>>2]|0,f[m>>2]|0)|0;f[A>>2]=(l|0)/(f[g>>2]|0)|0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[A>>2]|0))break;l=re(f[S>>2]|0,f[_>>2]|0)|0;l=re(l,f[m>>2]|0)|0;l=(f[k>>2]|0)+(l+(f[R>>2]|0)<<2)|0;s[l>>2]=+s[l>>2]*+(f[g>>2]|0);f[R>>2]=(f[R>>2]|0)+1}r=re(f[S>>2]|0,f[_>>2]|0)|0;r=re(r,f[m>>2]|0)|0;l=re(f[_>>2]|0,f[m>>2]|0)|0;vs((f[k>>2]|0)+(r+(f[A>>2]|0)<<2)|0,0,l-(f[A>>2]|0)<<2|0)|0;l=(f[S>>2]|0)+1|0;f[S>>2]=l}while((l|0)<(f[d>>2]|0));h=x;return}function $n(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+160|0;u=m+144|0;l=m+140|0;c=m+136|0;b=m+132|0;w=m+128|0;k=m+124|0;p=m+120|0;d=m+116|0;v=m+112|0;g=m+8|0;y=m+4|0;_=m;f[u>>2]=e;f[l>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[v>>2]=0;o=+s[(f[l>>2]|0)+(f[b>>2]<<2)>>2];a=f[b>>2]|0;e:do{if((f[k>>2]|0)==1){s[g+(a<<2)>>2]=o;f[p>>2]=(f[b>>2]|0)+1;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break e;a=f[p>>2]|0;if(+s[g+((f[p>>2]|0)-1<<2)>>2]-1>+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2])o=+s[g+(a-1<<2)>>2]-1;else o=+s[(f[l>>2]|0)+(a<<2)>>2];s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+1}}else{n=f[b>>2]|0;if(o>+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2])o=+s[(f[l>>2]|0)+(n<<2)>>2];else o=+s[(f[l>>2]|0)+(n+(f[c>>2]|0)<<2)>>2];s[g+(f[b>>2]<<2)>>2]=o;f[p>>2]=(f[b>>2]|0)+1;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break e;a=f[p>>2]|0;if(+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]>+s[(f[l>>2]|0)+((f[p>>2]|0)+(f[c>>2]|0)<<2)>>2])o=+s[(f[l>>2]|0)+(a<<2)>>2];else o=+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2];n=f[p>>2]|0;do{if(!(+s[g+((f[p>>2]|0)-1<<2)>>2]-1>o)){a=f[p>>2]|0;if(+s[(f[l>>2]|0)+(n<<2)>>2]>+s[(f[l>>2]|0)+((f[p>>2]|0)+(f[c>>2]|0)<<2)>>2]){o=+s[(f[l>>2]|0)+(a<<2)>>2];break}else{o=+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2];break}}else o=+s[g+(n-1<<2)>>2]-1}while(0);s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+1}}}while(0);f[p>>2]=(f[w>>2]|0)-2;while(1){if((f[p>>2]|0)<(f[b>>2]|0))break;a=f[p>>2]|0;if(+s[g+(f[p>>2]<<2)>>2]>+s[g+((f[p>>2]|0)+1<<2)>>2]-1)o=+s[g+(a<<2)>>2];else o=+s[g+(a+1<<2)>>2]-1;s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+-1}f[d>>2]=0;do{f[p>>2]=2>(f[b>>2]|0)?2:f[b>>2]|0;while(1){if((f[p>>2]|0)>=((f[w>>2]|0)-1|0))break;l=(f[p>>2]|0)+(re(f[d>>2]|0,f[c>>2]|0)|0)|0;if(0>+s[(f[u>>2]|0)+(l<<2)>>2])o=0;else{l=(f[p>>2]|0)+(re(f[d>>2]|0,f[c>>2]|0)|0)|0;o=+s[(f[u>>2]|0)+(l<<2)>>2]}s[y>>2]=o;if(0>+s[g+(f[p>>2]<<2)>>2])o=0;else o=+s[g+(f[p>>2]<<2)>>2];s[_>>2]=o;if(0>+s[y>>2]-+s[_>>2])o=0;else o=+s[y>>2]-+s[_>>2];s[v>>2]=+s[v>>2]+o;f[p>>2]=(f[p>>2]|0)+1}l=(f[d>>2]|0)+1|0;f[d>>2]=l}while((l|0)<(f[k>>2]|0));s[v>>2]=+s[v>>2]/+(re(f[k>>2]|0,(f[w>>2]|0)-1-(2>(f[b>>2]|0)?2:f[b>>2]|0)|0)|0);h=m;return+s[v>>2]>1|0}function Qn(e,r,i,a,o,l,u,c,b,w,k){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=+w;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;J=h;h=h+144|0;d=J+128|0;I=J+124|0;C=J+120|0;W=J+116|0;U=J+112|0;v=J+108|0;g=J+104|0;B=J+100|0;y=J+96|0;G=J+92|0;p=J+88|0;Z=J+84|0;j=J+80|0;D=J+76|0;L=J+72|0;P=J+64|0;V=J+60|0;R=J+56|0;q=J+52|0;T=J+48|0;E=J+44|0;M=J+40|0;m=J+36|0;A=J+32|0;S=J+28|0;_=J+24|0;x=J+20|0;O=J+16|0;N=J+12|0;F=J+8|0;z=J+4|0;H=J;f[d>>2]=e;f[I>>2]=r;f[C>>2]=i;f[W>>2]=a;f[U>>2]=o;f[v>>2]=l;f[g>>2]=u;f[B>>2]=c;f[y>>2]=b;s[G>>2]=w;f[p>>2]=k;f[V>>2]=0;s[R>>2]=(-.25>.5-+s[G>>2]?-.25:.5-+s[G>>2])*.03999999910593033;l=f[I>>2]|0;f[q>>2]=he()|0;o=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=h;h=h+((1*((n[(f[(f[d>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[I>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*((n[(f[(f[d>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[I>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[I>>2]<<2)|0)+15&-16)|0;e=h;h=h+((1*(f[I>>2]<<2)|0)+15&-16)|0;f[f[y>>2]>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[I>>2]|0))break;f[S>>2]=0;f[E>>2]=(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[Z>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]|0)<>2];f[M>>2]=((n[(f[(f[d>>2]|0)+32>>2]|0)+((f[Z>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]|0)|0)==1&1;G=re(f[p>>2]|0,f[g>>2]|0)|0;gs(l|0,(f[v>>2]|0)+(G+(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]<>2])<<2)|0,(f[E>>2]<<2)+0|0)|0;s[m>>2]=+ef(l,f[E>>2]|0,f[C>>2]|0?f[B>>2]|0:0,+s[R>>2]);s[A>>2]=+s[m>>2];if(!((f[C>>2]|0)==0|(f[M>>2]|0)!=0)?(gs(i|0,l|0,(f[E>>2]<<2)+0|0)|0,wn(i,f[E>>2]>>f[B>>2],1<>2]),s[m>>2]=+ef(i,f[E>>2]|0,(f[B>>2]|0)+1|0,+s[R>>2]),+s[m>>2]<+s[A>>2]):0){s[A>>2]=+s[m>>2];f[S>>2]=-1}f[T>>2]=0;while(1){c=(f[C>>2]|0)!=0;if((f[T>>2]|0)>=((f[B>>2]|0)+(((f[C>>2]|0?1:(f[M>>2]|0)!=0)^1)&1)|0))break;if(c)f[_>>2]=(f[B>>2]|0)-(f[T>>2]|0)-1;else f[_>>2]=(f[T>>2]|0)+1;wn(l,f[E>>2]>>f[T>>2],1<>2]);s[m>>2]=+ef(l,f[E>>2]|0,f[_>>2]|0,+s[R>>2]);if(+s[m>>2]<+s[A>>2]){s[A>>2]=+s[m>>2];f[S>>2]=(f[T>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}u=f[S>>2]|0;if(c)f[o+(f[Z>>2]<<2)>>2]=u<<1;else{G=re(-2,u)|0;f[o+(f[Z>>2]<<2)>>2]=G}G=f[y>>2]|0;f[G>>2]=(f[G>>2]|0)+((f[C>>2]|0?f[B>>2]|0:0)-((f[o+(f[Z>>2]<<2)>>2]|0)/2|0));do{if(f[M>>2]|0){if(f[o+(f[Z>>2]<<2)>>2]|0?(f[o+(f[Z>>2]<<2)>>2]|0)!=(re(-2,f[B>>2]|0)|0):0)break;G=o+(f[Z>>2]<<2)|0;f[G>>2]=(f[G>>2]|0)-1}}while(0);f[Z>>2]=(f[Z>>2]|0)+1}f[V>>2]=0;f[L>>2]=0;while(1){if((f[L>>2]|0)>=2)break;f[j>>2]=0;f[D>>2]=f[C>>2]|0?0:f[U>>2]|0;f[Z>>2]=1;while(1){c=f[j>>2]|0;u=f[D>>2]|0;if((f[Z>>2]|0)>=(f[I>>2]|0))break;if((c|0)<(u+(f[U>>2]|0)|0))c=f[j>>2]|0;else c=(f[D>>2]|0)+(f[U>>2]|0)|0;f[x>>2]=c;if(((f[j>>2]|0)+(f[U>>2]|0)|0)<(f[D>>2]|0))c=(f[j>>2]|0)+(f[U>>2]|0)|0;else c=f[D>>2]|0;f[O>>2]=c;f[j>>2]=(f[x>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[L>>2]<<1)+0)>>0]<<1)|0)|0);f[D>>2]=(f[O>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[L>>2]<<1)+1)>>0]<<1)|0)|0);f[Z>>2]=(f[Z>>2]|0)+1}f[j>>2]=(c|0)<(u|0)?f[j>>2]|0:f[D>>2]|0;f[P+(f[L>>2]<<2)>>2]=f[j>>2];f[L>>2]=(f[L>>2]|0)+1}if(f[C>>2]|0?(f[P+4>>2]|0)<(f[P>>2]|0):0)f[V>>2]=1;f[j>>2]=0;f[D>>2]=f[C>>2]|0?0:f[U>>2]|0;f[Z>>2]=1;while(1){c=f[j>>2]|0;if((f[Z>>2]|0)>=(f[I>>2]|0))break;f[z>>2]=c;f[H>>2]=(f[D>>2]|0)+(f[U>>2]|0);if((f[z>>2]|0)<(f[H>>2]|0)){f[N>>2]=f[z>>2];f[r+(f[Z>>2]<<2)>>2]=0}else{f[N>>2]=f[H>>2];f[r+(f[Z>>2]<<2)>>2]=1}f[z>>2]=(f[j>>2]|0)+(f[U>>2]|0);f[H>>2]=f[D>>2];if((f[z>>2]|0)<(f[H>>2]|0)){f[F>>2]=f[z>>2];f[e+(f[Z>>2]<<2)>>2]=0}else{f[F>>2]=f[H>>2];f[e+(f[Z>>2]<<2)>>2]=1}f[j>>2]=(f[N>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[V>>2]<<1)+0)>>0]<<1)|0)|0);f[D>>2]=(f[F>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[V>>2]<<1)+1)>>0]<<1)|0)|0);f[Z>>2]=(f[Z>>2]|0)+1}f[(f[W>>2]|0)+((f[I>>2]|0)-1<<2)>>2]=(c|0)<(f[D>>2]|0)?0:1;f[Z>>2]=(f[I>>2]|0)-2;while(1){if((f[Z>>2]|0)<0)break;c=(f[Z>>2]|0)+1|0;if((f[(f[W>>2]|0)+((f[Z>>2]|0)+1<<2)>>2]|0)==1)f[(f[W>>2]|0)+(f[Z>>2]<<2)>>2]=f[e+(c<<2)>>2];else f[(f[W>>2]|0)+(f[Z>>2]<<2)>>2]=f[r+(c<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+-1}G=f[V>>2]|0;de(f[q>>2]|0);h=J;return G|0}function ef(e,r,i,t){e=e|0;r=r|0;i=i|0;t=+t;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;c=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[l>>2]=t;s[u>>2]=0;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[a>>2]|0))break;t=+Y(+ +s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]);s[u>>2]=+s[u>>2]+t;f[c>>2]=(f[c>>2]|0)+1}s[u>>2]=+s[u>>2]+ +(f[o>>2]|0)*+s[l>>2]*+s[u>>2];h=b;return+ +s[u>>2]}function rf(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+64|0;s=A+52|0;u=A+48|0;c=A+44|0;b=A+40|0;w=A+36|0;k=A+32|0;d=A+28|0;v=A+24|0;g=A+20|0;E=A+16|0;m=A+12|0;y=A+8|0;p=A+4|0;_=A;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[p>>2]=f[(f[d>>2]|0)+4>>2]<<3;f[_>>2]=Vn(f[d>>2]|0)|0;f[y>>2]=f[c>>2]|0?2:4;if((f[w>>2]|0)>0)a=((f[_>>2]|0)+(f[y>>2]|0)+1|0)>>>0<=(f[p>>2]|0)>>>0;else a=0;f[E>>2]=a&1;f[p>>2]=(f[p>>2]|0)-(f[E>>2]|0);f[m>>2]=0;f[v>>2]=0;f[g>>2]=f[s>>2];while(1){if((f[g>>2]|0)>=(f[u>>2]|0))break;if(((f[_>>2]|0)+(f[y>>2]|0)|0)>>>0<=(f[p>>2]|0)>>>0){Xe(f[d>>2]|0,f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]^f[v>>2],f[y>>2]|0);f[_>>2]=Vn(f[d>>2]|0)|0;f[v>>2]=f[(f[b>>2]|0)+(f[g>>2]<<2)>>2];f[m>>2]=f[m>>2]|f[v>>2]}else f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]=f[v>>2];f[y>>2]=f[c>>2]|0?4:5;f[g>>2]=(f[g>>2]|0)+1}if(f[E>>2]|0?(t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+0+(f[m>>2]|0))>>0]|0)!=(t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+2+(f[m>>2]|0))>>0]|0):0)Xe(f[d>>2]|0,f[k>>2]|0,1);else f[k>>2]=0;f[g>>2]=f[s>>2];while(1){if((f[g>>2]|0)>=(f[u>>2]|0))break;f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]=t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+(f[k>>2]<<1)+(f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]|0))>>0];f[g>>2]=(f[g>>2]|0)+1}h=A;return}function tf(e,r,i,t,a,o,l,u,c,b,w,k,d,p,v,g,y,_){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;var m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0;te=h;h=h+128|0;C=te+120|0;T=te+116|0;I=te+112|0;B=te+108|0;q=te+104|0;W=te+100|0;Z=te+96|0;A=te+92|0;S=te+88|0;V=te+84|0;j=te+80|0;D=te+76|0;N=te+72|0;F=te+68|0;z=te+64|0;Y=te+60|0;R=te+56|0;U=te+52|0;X=te+48|0;M=te+44|0;Q=te+40|0;$=te+36|0;H=te+32|0;O=te+28|0;L=te+24|0;P=te+20|0;x=te+16|0;ee=te+12|0;J=te+8|0;G=te+4|0;K=te;f[C>>2]=e;f[T>>2]=r;f[I>>2]=i;f[B>>2]=t;f[q>>2]=a;f[W>>2]=o;f[Z>>2]=l;f[A>>2]=u;f[S>>2]=c;f[V>>2]=b;f[j>>2]=w;f[D>>2]=k;f[N>>2]=d;f[F>>2]=p;f[z>>2]=v;f[Y>>2]=g;f[R>>2]=y;f[U>>2]=_;f[Q>>2]=0;w=re(f[W>>2]|0,f[I>>2]|0)|0;f[H>>2]=he()|0;e=h;h=h+((1*(w<<2)|0)+15&-16)|0;w=(re(f[W>>2]|0,f[I>>2]|0)|0)<<2;p=h;h=h+((1*w|0)+15&-16)|0;vs(f[Z>>2]|0,0,f[I>>2]<<2|0)|0;s[$>>2]=-31.899999618530273;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;E=+(n[(f[S>>2]|0)+(f[X>>2]<<1)>>1]|0)*.0625+.5+ +(9-(f[A>>2]|0)|0)-+s[17464+(f[X>>2]<<2)>>2]+ +(re((f[X>>2]|0)+5|0,(f[X>>2]|0)+5|0)|0)*.006200000178068876;s[p+(f[X>>2]<<2)>>2]=E;f[X>>2]=(f[X>>2]|0)+1}f[M>>2]=0;do{f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;S=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[$>>2]>+s[(f[C>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]-+s[p+(f[X>>2]<<2)>>2])m=+s[$>>2];else{S=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[C>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]-+s[p+(f[X>>2]<<2)>>2]}s[$>>2]=m;f[X>>2]=(f[X>>2]|0)+1}S=(f[M>>2]|0)+1|0;f[M>>2]=S}while((S|0)<(f[W>>2]|0));if((f[z>>2]|0)>50&(f[F>>2]|0)>=1^1|(f[R>>2]|0)!=0){ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}f[O>>2]=0;f[M>>2]=0;do{f[x>>2]=e+((re(f[M>>2]|0,f[I>>2]|0)|0)<<2);R=re(f[M>>2]|0,f[I>>2]|0)|0;s[f[x>>2]>>2]=+s[(f[T>>2]|0)+(R<<2)>>2];f[X>>2]=1;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;S=re(f[M>>2]|0,f[I>>2]|0)|0;R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[T>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]>+s[(f[T>>2]|0)+(R+(f[X>>2]|0)-1<<2)>>2]+.5)f[O>>2]=f[X>>2];R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+((f[X>>2]|0)-1<<2)>>2]+1.5<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2])m=+s[(f[x>>2]|0)+((f[X>>2]|0)-1<<2)>>2]+1.5;else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]}s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}f[X>>2]=(f[O>>2]|0)-1;while(1){if((f[X>>2]|0)<0)break;R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2])m=+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2;else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]}o=f[X>>2]|0;do{if(!(+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+(o+1<<2)>>2]+2<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]){m=+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2;break}else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2];break}}else m=+s[(f[x>>2]|0)+(o<<2)>>2]}while(0);s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+-1}s[L>>2]=1;f[X>>2]=2;while(1){if((f[X>>2]|0)>=((f[q>>2]|0)-2|0))break;m=+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2];R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+nf((f[T>>2]|0)+(R+(f[X>>2]|0)-2<<2)|0);if(m>E-+s[L>>2])m=+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2];else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+nf((f[T>>2]|0)+(R+(f[X>>2]|0)-2<<2)|0);m=m-+s[L>>2]}s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+ff((f[T>>2]|0)+(R<<2)|0);s[P>>2]=E-+s[L>>2];if(+s[f[x>>2]>>2]>+s[P>>2])m=+s[f[x>>2]>>2];else m=+s[P>>2];s[f[x>>2]>>2]=m;if(+s[(f[x>>2]|0)+4>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+4>>2];else m=+s[P>>2];s[(f[x>>2]|0)+4>>2]=m;R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+ff((f[T>>2]|0)+(R+(f[q>>2]|0)-3<<2)|0);s[P>>2]=E-+s[L>>2];if(+s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2];else m=+s[P>>2];s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2]=m;if(+s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2];else m=+s[P>>2];s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2]=m;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;o=f[X>>2]|0;if(+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]>+s[p+(f[X>>2]<<2)>>2])m=+s[(f[x>>2]|0)+(o<<2)>>2];else m=+s[p+(o<<2)>>2];s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}R=(f[M>>2]|0)+1|0;f[M>>2]=R}while((R|0)<(f[W>>2]|0));P=(f[W>>2]|0)==2;f[X>>2]=f[B>>2];e:do{if(P)while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;if(+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]>+s[e+(f[X>>2]<<2)>>2]-4)m=+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2];else m=+s[e+(f[X>>2]<<2)>>2]-4;s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]=m;if(+s[e+(f[X>>2]<<2)>>2]>+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-4)m=+s[e+(f[X>>2]<<2)>>2];else m=+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-4;s[e+(f[X>>2]<<2)>>2]=m;if(0>+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2])E=0;else E=+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2];if(0>+s[(f[C>>2]|0)+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2])m=0;else m=+s[(f[C>>2]|0)+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2];s[e+(f[X>>2]<<2)>>2]=(E+m)*.5;f[X>>2]=(f[X>>2]|0)+1}else while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;if(0>+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2])m=0;else m=+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2];s[e+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}}while(0);f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;o=f[X>>2]|0;if(+s[e+(f[X>>2]<<2)>>2]>+s[(f[U>>2]|0)+(f[X>>2]<<2)>>2])m=+s[e+(o<<2)>>2];else m=+s[(f[U>>2]|0)+(o<<2)>>2];s[e+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}e:do{if(!(((f[j>>2]|0)==0|(f[D>>2]|0)!=0)^1|(f[V>>2]|0)!=0)){f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;s[e+(f[X>>2]<<2)>>2]=+s[e+(f[X>>2]<<2)>>2]*.5;f[X>>2]=(f[X>>2]|0)+1}}}while(0);f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0)){ie=103;break}if((f[X>>2]|0)<8){B=e+(f[X>>2]<<2)|0;s[B>>2]=+s[B>>2]*2}if((f[X>>2]|0)>=12)s[e+(f[X>>2]<<2)>>2]=+s[e+(f[X>>2]<<2)>>2]*.5;if(+s[e+(f[X>>2]<<2)>>2]<4)m=+s[e+(f[X>>2]<<2)>>2];else m=4;s[e+(f[X>>2]<<2)>>2]=m;B=re(f[W>>2]|0,(n[(f[N>>2]|0)+((f[X>>2]|0)+1<<1)>>1]|0)-(n[(f[N>>2]|0)+(f[X>>2]<<1)>>1]|0)|0)|0;f[ee>>2]=B<>2];do{if((f[ee>>2]|0)>=6){m=+s[e+(f[X>>2]<<2)>>2];if((f[ee>>2]|0)>48){f[J>>2]=~~(m*8);f[G>>2]=((re(f[J>>2]|0,f[ee>>2]|0)|0)<<3|0)/8|0;break}else{f[J>>2]=~~(m*+(f[ee>>2]|0)/6);f[G>>2]=(f[J>>2]|0)*6<<3;break}}else{f[J>>2]=~~+s[e+(f[X>>2]<<2)>>2];f[G>>2]=(re(f[J>>2]|0,f[ee>>2]|0)|0)<<3}}while(0);if(!(f[j>>2]|0?(f[D>>2]|0)==0|(f[V>>2]|0)!=0:0))ie=100;if((ie|0)==100?(ie=0,((f[Q>>2]|0)+(f[G>>2]|0)>>3>>3|0)>((f[z>>2]|0)/4|0|0)):0)break;f[(f[Z>>2]|0)+(f[X>>2]<<2)>>2]=f[J>>2];f[Q>>2]=(f[Q>>2]|0)+(f[G>>2]|0);f[X>>2]=(f[X>>2]|0)+1}if((ie|0)==103){ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}f[K>>2]=((f[z>>2]|0)/4|0)<<3<<3;f[(f[Z>>2]|0)+(f[X>>2]<<2)>>2]=(f[K>>2]|0)-(f[Q>>2]|0);f[Q>>2]=f[K>>2];ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}function nf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;b=h;h=h+48|0;r=b+32|0;i=b+28|0;t=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;u=b+4|0;c=b;f[i>>2]=e;s[a>>2]=+s[(f[i>>2]|0)+8>>2];e=f[i>>2]|0;if(+s[f[i>>2]>>2]>+s[(f[i>>2]|0)+4>>2]){s[t>>2]=+s[e+4>>2];s[n>>2]=+s[f[i>>2]>>2]}else{s[t>>2]=+s[e>>2];s[n>>2]=+s[(f[i>>2]|0)+4>>2]}e=f[i>>2]|0;if(+s[(f[i>>2]|0)+12>>2]>+s[(f[i>>2]|0)+16>>2]){s[o>>2]=+s[e+16>>2];s[l>>2]=+s[(f[i>>2]|0)+12>>2]}else{s[o>>2]=+s[e+12>>2];s[l>>2]=+s[(f[i>>2]|0)+16>>2]}if(+s[t>>2]>+s[o>>2]){s[u>>2]=+s[t>>2];s[t>>2]=+s[o>>2];s[o>>2]=+s[u>>2];s[c>>2]=+s[n>>2];s[n>>2]=+s[l>>2];s[l>>2]=+s[c>>2]}if(+s[a>>2]>+s[n>>2])if(+s[n>>2]<+s[o>>2]){s[r>>2]=+s[a>>2]<+s[o>>2]?+s[a>>2]:+s[o>>2];w=+s[r>>2];h=b;return+w}else{s[r>>2]=+s[l>>2]<+s[n>>2]?+s[l>>2]:+s[n>>2];w=+s[r>>2];h=b;return+w}else if(+s[a>>2]<+s[o>>2]){s[r>>2]=+s[n>>2]<+s[o>>2]?+s[n>>2]:+s[o>>2];w=+s[r>>2];h=b;return+w}else{s[r>>2]=+s[a>>2]<+s[l>>2]?+s[a>>2]:+s[l>>2];w=+s[r>>2];h=b;return+w}return 0}function ff(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;e=f[i>>2]|0;if(+s[f[i>>2]>>2]>+s[(f[i>>2]|0)+4>>2]){s[t>>2]=+s[e+4>>2];s[n>>2]=+s[f[i>>2]>>2]}else{s[t>>2]=+s[e>>2];s[n>>2]=+s[(f[i>>2]|0)+4>>2]}s[a>>2]=+s[(f[i>>2]|0)+8>>2];if(+s[n>>2]<+s[a>>2]){s[r>>2]=+s[n>>2];l=+s[r>>2];h=o;return+l}if(+s[t>>2]<+s[a>>2]){s[r>>2]=+s[a>>2];l=+s[r>>2];h=o;return+l}else{s[r>>2]=+s[t>>2];l=+s[r>>2];h=o;return+l}return 0}function af(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+64|0;a=_+48|0;o=_+44|0;l=_+40|0;u=_+36|0;d=_+32|0;y=_+28|0;v=_+24|0;g=_+20|0;p=_+16|0;c=_+12|0;w=_+8|0;b=_+4|0;k=_;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;s[v>>2]=1.0000000036274937e-15;s[g>>2]=1.0000000036274937e-15;f[d>>2]=0;while(1){if((f[d>>2]|0)>=13)break;f[p>>2]=n[(f[(f[a>>2]|0)+32>>2]|0)+(f[d>>2]<<1)>>1]<>2];while(1){if((f[p>>2]|0)>=(n[(f[(f[a>>2]|0)+32>>2]|0)+((f[d>>2]|0)+1<<1)>>1]<>2]|0))break;s[c>>2]=+s[(f[o>>2]|0)+(f[p>>2]<<2)>>2];s[w>>2]=+s[(f[o>>2]|0)+((f[u>>2]|0)+(f[p>>2]|0)<<2)>>2];s[b>>2]=+s[c>>2]+ +s[w>>2];s[k>>2]=+s[c>>2]-+s[w>>2];m=+Y(+ +s[c>>2]);s[v>>2]=+s[v>>2]+(m+ +Y(+ +s[w>>2]));m=+Y(+ +s[b>>2]);s[g>>2]=+s[g>>2]+(m+ +Y(+ +s[k>>2]));f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}s[g>>2]=+s[g>>2]*.7071070075035095;f[y>>2]=13;if((f[l>>2]|0)<=1)f[y>>2]=(f[y>>2]|0)-8;h=_;return+((n[(f[(f[a>>2]|0)+32>>2]|0)+26>>1]<<(f[l>>2]|0)+1)+(f[y>>2]|0)|0)*+s[g>>2]>+(n[(f[(f[a>>2]|0)+32>>2]|0)+26>>1]<<(f[l>>2]|0)+1|0)*+s[v>>2]|0}function of(e,r,i,t,a,o,l,u,c,b,w,k,d){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=+b;w=w|0;k=+k;d=d|0;var p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;F=h;h=h+96|0;T=F+92|0;v=F+88|0;M=F+84|0;x=F+80|0;y=F+76|0;O=F+72|0;_=F+68|0;j=F+64|0;L=F+60|0;B=F+56|0;g=F+52|0;U=F+48|0;I=F+40|0;C=F+36|0;P=F+32|0;N=F+28|0;D=F+24|0;S=F+20|0;R=F+16|0;A=F+12|0;E=F+8|0;p=F+4|0;m=F;f[T>>2]=e;f[v>>2]=r;f[M>>2]=i;f[x>>2]=t;f[y>>2]=a;f[O>>2]=o;f[_>>2]=l;f[j>>2]=u;f[L>>2]=c;s[B>>2]=b;f[g>>2]=w;s[U>>2]=k;f[F+44>>2]=d;s[C>>2]=0;s[D>>2]=5;if((f[O>>2]|0)==2){s[A>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=8)break;s[p>>2]=+lf((f[v>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2]<<2)|0,(f[v>>2]|0)+((f[_>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2])<<2)|0,(n[(f[(f[T>>2]|0)+32>>2]|0)+((f[I>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)<>2]);s[A>>2]=+s[A>>2]+ +s[p>>2];f[I>>2]=(f[I>>2]|0)+1}s[A>>2]=+s[A>>2]*.125;if(1<+Y(+ +s[A>>2]))k=1;else k=+Y(+ +s[A>>2]);s[A>>2]=k;s[E>>2]=+s[A>>2];f[I>>2]=8;while(1){if((f[I>>2]|0)>=(f[g>>2]|0))break;s[m>>2]=+lf((f[v>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2]<<2)|0,(f[v>>2]|0)+((f[_>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2])<<2)|0,(n[(f[(f[T>>2]|0)+32>>2]|0)+((f[I>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)<>2]);if(+s[E>>2]<+Y(+ +s[m>>2]))k=+s[E>>2];else k=+Y(+ +s[m>>2]);s[E>>2]=k;f[I>>2]=(f[I>>2]|0)+1}if(1<+Y(+ +s[E>>2]))k=1;else k=+Y(+ +s[E>>2]);s[E>>2]=k;s[S>>2]=+Q(+(1.0010000467300415-+s[A>>2]*+s[A>>2]))*1.4426950408889634;if(+s[S>>2]*.5>+Q(+(1.0010000467300415-+s[E>>2]*+s[E>>2]))*1.4426950408889634)k=+s[S>>2]*.5;else k=+Q(+(1.0010000467300415-+s[E>>2]*+s[E>>2]))*1.4426950408889634;s[R>>2]=k;s[D>>2]=+s[D>>2]+(-4>+s[S>>2]*.75?-4:+s[S>>2]*.75);if(+s[f[L>>2]>>2]+.25<-(+s[R>>2]*.5))k=+s[f[L>>2]>>2]+.25;else k=-(+s[R>>2]*.5);s[f[L>>2]>>2]=k}f[P>>2]=0;do{f[I>>2]=0;while(1){if((f[I>>2]|0)>=((f[x>>2]|0)-1|0))break;L=(f[I>>2]|0)+(re(f[P>>2]|0,f[(f[T>>2]|0)+8>>2]|0)|0)|0;s[C>>2]=+s[C>>2]+ +s[(f[M>>2]|0)+(L<<2)>>2]*+(2+(f[I>>2]<<1)-(f[x>>2]|0)|0);f[I>>2]=(f[I>>2]|0)+1}L=(f[P>>2]|0)+1|0;f[P>>2]=L}while((L|0)<(f[O>>2]|0));b=+(re(f[O>>2]|0,(f[x>>2]|0)-1|0)|0);s[C>>2]=+s[C>>2]/b;if(2<(+s[C>>2]+1)/6)k=2;else k=(+s[C>>2]+1)/6;if(!(-2>k))if(2<(+s[C>>2]+1)/6)k=2;else k=(+s[C>>2]+1)/6;else k=-2;s[D>>2]=+s[D>>2]-k;s[D>>2]=+s[D>>2]-+s[U>>2];s[D>>2]=+s[D>>2]-+s[B>>2]*2;if(f[f[j>>2]>>2]|0){if(2<(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2)k=2;else k=(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2;if(!(-2>k))if(2<(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2)k=2;else k=(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2;else k=-2;s[D>>2]=+s[D>>2]-k}f[N>>2]=~~+z(+(+s[D>>2]+.5));if(0>((10<(f[N>>2]|0)?10:f[N>>2]|0)|0)){D=0;f[N>>2]=D;N=f[N>>2]|0;h=F;return N|0}D=10<(f[N>>2]|0)?10:f[N>>2]|0;f[N>>2]=D;N=f[N>>2]|0;h=F;return N|0}function lf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function sf(e,r,i,t,a,o,l,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=+b;w=w|0;k=+k;d=d|0;p=+p;v=v|0;g=g|0;y=y|0;_=+_;m=+m;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0;ne=h;h=h+144|0;ae=ne+140|0;x=ne+136|0;Q=ne+132|0;z=ne+128|0;G=ne+124|0;fe=ne+120|0;Y=ne+116|0;E=ne+112|0;K=ne+108|0;A=ne+104|0;O=ne+100|0;V=ne+96|0;I=ne+92|0;N=ne+88|0;L=ne+84|0;F=ne+80|0;J=ne+76|0;C=ne+72|0;$=ne+68|0;ie=ne+64|0;U=ne+60|0;S=ne+56|0;P=ne+52|0;Z=ne+48|0;q=ne+44|0;R=ne+40|0;T=ne+36|0;M=ne+32|0;D=ne+28|0;j=ne+24|0;B=ne+20|0;W=ne+16|0;H=ne+12|0;X=ne+8|0;ee=ne+4|0;te=ne;f[ae>>2]=e;f[x>>2]=r;f[Q>>2]=i;f[z>>2]=t;f[G>>2]=a;f[fe>>2]=o;f[Y>>2]=l;f[E>>2]=u;f[K>>2]=c;s[A>>2]=b;f[O>>2]=w;s[V>>2]=k;f[I>>2]=d;s[N>>2]=p;f[L>>2]=v;f[F>>2]=g;f[J>>2]=y;s[C>>2]=_;s[$>>2]=m;f[Z>>2]=f[(f[ae>>2]|0)+8>>2];f[q>>2]=f[(f[ae>>2]|0)+32>>2];f[S>>2]=f[fe>>2]|0?f[fe>>2]|0:f[Z>>2]|0;f[U>>2]=n[(f[q>>2]|0)+(f[S>>2]<<1)>>1]<>2];if((f[Y>>2]|0)==2)f[U>>2]=(f[U>>2]|0)+(n[(f[q>>2]|0)+(((f[E>>2]|0)<(f[S>>2]|0)?f[E>>2]|0:f[S>>2]|0)<<1)>>1]<>2]);f[ie>>2]=f[Q>>2];if(f[f[x>>2]>>2]|0?+s[(f[x>>2]|0)+16>>2]<.4:0)f[ie>>2]=(f[ie>>2]|0)-~~(+(f[U>>2]<<3|0)*(.4000000059604645-+s[(f[x>>2]|0)+16>>2]));if((f[Y>>2]|0)==2){f[R>>2]=(f[E>>2]|0)<(f[S>>2]|0)?f[E>>2]|0:f[S>>2]|0;f[T>>2]=(n[(f[q>>2]|0)+(f[R>>2]<<1)>>1]<>2])-(f[R>>2]|0);s[M>>2]=+(f[T>>2]|0)*.800000011920929/+(f[U>>2]|0);s[A>>2]=+s[A>>2]<1?+s[A>>2]:1;if(+s[M>>2]*+(f[ie>>2]|0)<(+s[A>>2]-.10000000149011612)*+(f[T>>2]<<3|0))p=+s[M>>2]*+(f[ie>>2]|0);else p=(+s[A>>2]-.10000000149011612)*+(f[T>>2]<<3|0);f[ie>>2]=(f[ie>>2]|0)-~~p}f[ie>>2]=(f[ie>>2]|0)+((f[O>>2]|0)-(16<>2]));s[P>>2]=(f[L>>2]|0)==5010?.019999999552965164:.03999999910593033;f[ie>>2]=(f[ie>>2]|0)+~~((+s[V>>2]-+s[P>>2])*+(f[ie>>2]|0));if(!(f[F>>2]|0?1:(f[f[x>>2]>>2]|0)==0)){if(0>+s[(f[x>>2]|0)+4>>2]-.15000000596046448)p=0;else p=+s[(f[x>>2]|0)+4>>2]-.15000000596046448;s[j>>2]=p-.09000000357627869;f[D>>2]=(f[ie>>2]|0)+~~(+(f[U>>2]<<3|0)*1.2000000476837158*+s[j>>2]);if(f[I>>2]|0)f[D>>2]=(f[D>>2]|0)+~~(+(f[U>>2]<<3|0)*.800000011920929);f[ie>>2]=f[D>>2]}if(!((f[J>>2]|0)==0|(f[F>>2]|0)!=0)){f[B>>2]=(f[ie>>2]|0)+~~(+s[C>>2]*+(f[U>>2]<<3|0));if(((f[ie>>2]|0)/4|0|0)>(f[B>>2]|0))E=(f[ie>>2]|0)/4|0;else E=f[B>>2]|0;f[ie>>2]=E}f[H>>2]=n[(f[q>>2]|0)+((f[Z>>2]|0)-2<<1)>>1]<>2];k=+((re(f[Y>>2]|0,f[H>>2]|0)|0)<<3|0);f[W>>2]=~~(k*+s[N>>2]);f[W>>2]=(f[W>>2]|0)>(f[ie>>2]>>2|0)?f[W>>2]|0:f[ie>>2]>>2;f[ie>>2]=(f[ie>>2]|0)<(f[W>>2]|0)?f[ie>>2]|0:f[W>>2]|0;if((f[J>>2]|0)==0|(f[F>>2]|0)!=0?(f[K>>2]|0)!=0|(f[G>>2]|0)<64e3:0){if(0>+((f[G>>2]|0)-32e3|0)*30517578125e-15)p=0;else p=+((f[G>>2]|0)-32e3|0)*30517578125e-15;s[X>>2]=p;if(f[K>>2]|0)s[X>>2]=+s[X>>2]<.6700000166893005?+s[X>>2]:.6700000166893005;f[ie>>2]=(f[Q>>2]|0)+~~(+s[X>>2]*+((f[ie>>2]|0)-(f[Q>>2]|0)|0))}if(!((f[J>>2]|0)==0&+s[V>>2]<.20000000298023224)){fe=f[Q>>2]|0;fe=fe<<1;te=f[ie>>2]|0;te=(fe|0)<(te|0);fe=f[Q>>2]|0;fe=fe<<1;ae=f[ie>>2]|0;ae=te?fe:ae;f[ie>>2]=ae;ae=f[ie>>2]|0;h=ne;return ae|0}if(0>((32e3<(96e3-(f[G>>2]|0)|0)?32e3:96e3-(f[G>>2]|0)|0)|0))E=0;else E=32e3<(96e3-(f[G>>2]|0)|0)?32e3:96e3-(f[G>>2]|0)|0;s[ee>>2]=+(E|0)*3099999958067201e-21;s[te>>2]=+s[$>>2]*+s[ee>>2];f[ie>>2]=(f[ie>>2]|0)+~~(+s[te>>2]*+(f[ie>>2]|0));fe=f[Q>>2]|0;fe=fe<<1;te=f[ie>>2]|0;te=(fe|0)<(te|0);fe=f[Q>>2]|0;fe=fe<<1;ae=f[ie>>2]|0;ae=te?fe:ae;f[ie>>2]=ae;ae=f[ie>>2]|0;h=ne;return ae|0}function uf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+44>>2]|0}function hf(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=pr(48e3,960,0)|0;e=cf(f[t>>2]|0,f[i>>2]|0)|0;h=r;return e|0}function cf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;e=88+((re(f[a>>2]|0,2048+(f[(f[n>>2]|0)+4>>2]|0)|0)|0)-1<<2)|0;f[i>>2]=e+((f[a>>2]|0)*24<<2)+(f[(f[n>>2]|0)+8>>2]<<3<<2);h=t;return f[i>>2]|0}function bf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;a=l+8|0;s=l+4|0;o=l;f[n>>2]=e;f[a>>2]=r;f[s>>2]=i;r=f[n>>2]|0;e=pr(48e3,960,0)|0;f[o>>2]=wf(r,e,f[s>>2]|0)|0;if(f[o>>2]|0){f[t>>2]=f[o>>2];s=f[t>>2]|0;h=l;return s|0}s=Cn(f[a>>2]|0)|0;f[(f[n>>2]|0)+16>>2]=s;if(!(f[(f[n>>2]|0)+16>>2]|0)){f[t>>2]=-1;s=f[t>>2]|0;h=l;return s|0}else{f[t>>2]=0;s=f[t>>2]|0;h=l;return s|0}return 0}function wf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;a=l+8|0;o=l+4|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[o>>2]|0)<0|(f[o>>2]|0)>2){f[t>>2]=-1;e=f[t>>2]|0;h=l;return e|0}if(!(f[n>>2]|0)){f[t>>2]=-7;e=f[t>>2]|0;h=l;return e|0}else{e=f[n>>2]|0;vs(e|0,0,cf(f[a>>2]|0,f[o>>2]|0)|0)|0;f[f[n>>2]>>2]=f[a>>2];f[(f[n>>2]|0)+4>>2]=f[(f[a>>2]|0)+4>>2];e=f[o>>2]|0;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+12>>2]=e;f[(f[n>>2]|0)+16>>2]=1;f[(f[n>>2]|0)+20>>2]=0;f[(f[n>>2]|0)+24>>2]=f[(f[f[n>>2]>>2]|0)+12>>2];f[(f[n>>2]|0)+28>>2]=1;e=kf()|0;f[(f[n>>2]|0)+32>>2]=e;f[(f[n>>2]|0)+48>>2]=0;df(f[n>>2]|0,4028,l)|0;f[t>>2]=0;e=f[t>>2]|0;h=l;return e|0}return 0}function kf(){return 0}function df(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;E=h;h=h+96|0;m=E+80|0;t=E+76|0;A=E+72|0;n=E+56|0;b=E+52|0;w=E+48|0;k=E+44|0;d=E+40|0;p=E+36|0;a=E+32|0;o=E+28|0;l=E+24|0;u=E+20|0;c=E+16|0;v=E+12|0;g=E+8|0;y=E+4|0;_=E;f[t>>2]=e;f[A>>2]=r;f[n>>2]=i;e:do{switch(f[A>>2]|0){case 10010:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[b>>2]=A;if((f[b>>2]|0)>=0?(f[b>>2]|0)<(f[(f[f[t>>2]>>2]|0)+8>>2]|0):0){f[(f[t>>2]|0)+20>>2]=f[b>>2];t=24}else t=25;break}case 10012:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[w>>2]=A;if((f[w>>2]|0)>=1?(f[w>>2]|0)<=(f[(f[f[t>>2]>>2]|0)+8>>2]|0):0){f[(f[t>>2]|0)+24>>2]=f[w>>2];t=24}else t=25;break}case 10008:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[k>>2]=A;if((f[k>>2]|0)<1|(f[k>>2]|0)>2)t=25;else{f[(f[t>>2]|0)+12>>2]=f[k>>2];t=24}break}case 10007:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[d>>2]=A;if(!(f[d>>2]|0))t=25;else{f[f[d>>2]>>2]=f[(f[t>>2]|0)+40>>2];f[(f[t>>2]|0)+40>>2]=0;t=24}break}case 4027:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[p>>2]=A;if(!(f[p>>2]|0))t=25;else{f[f[p>>2]>>2]=(f[(f[t>>2]|0)+4>>2]|0)/(f[(f[t>>2]|0)+16>>2]|0)|0;t=24}break}case 4028:{f[o>>2]=(f[t>>2]|0)+84+((re(2048+(f[(f[t>>2]|0)+4>>2]|0)|0,f[(f[t>>2]|0)+8>>2]|0)|0)<<2);f[l>>2]=(f[o>>2]|0)+((f[(f[t>>2]|0)+8>>2]|0)*24<<2);f[u>>2]=(f[l>>2]|0)+(f[(f[f[t>>2]>>2]|0)+8>>2]<<1<<2);f[c>>2]=(f[u>>2]|0)+(f[(f[f[t>>2]>>2]|0)+8>>2]<<1<<2);vs((f[t>>2]|0)+36|0,0,(cf(f[f[t>>2]>>2]|0,f[(f[t>>2]|0)+8>>2]|0)|0)-((f[t>>2]|0)+36-(f[t>>2]|0))|0)|0;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[(f[f[t>>2]>>2]|0)+8>>2]<<1|0)){t=24;break e}s[(f[c>>2]|0)+(f[a>>2]<<2)>>2]=-28;s[(f[u>>2]|0)+(f[a>>2]<<2)>>2]=-28;f[a>>2]=(f[a>>2]|0)+1}}case 4033:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[v>>2]=A;if(!(f[v>>2]|0))t=25;else{f[f[v>>2]>>2]=f[(f[t>>2]|0)+52>>2];t=24}break}case 10015:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[g>>2]=A;if(!(f[g>>2]|0))t=25;else{f[f[g>>2]>>2]=f[f[t>>2]>>2];t=24}break}case 10016:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[y>>2]=A;f[(f[t>>2]|0)+28>>2]=f[y>>2];t=24;break}case 4031:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[_>>2]=A;if(!(f[_>>2]|0))t=25;else{f[f[_>>2]>>2]=f[(f[t>>2]|0)+36>>2];t=24}break}default:{f[m>>2]=-5;A=f[m>>2]|0;h=E;return A|0}}}while(0);if((t|0)==24){f[m>>2]=0;A=f[m>>2]|0;h=E;return A|0}else if((t|0)==25){f[m>>2]=-1;A=f[m>>2]|0;h=E;return A|0}return 0}function pf(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R,T,M,x){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;T=T|0;M=M|0;x=x|0;var O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0;Ne=h;h=h+256|0;O=Ne+240|0;Ie=Ne+236|0;N=Ne+232|0;W=Ne+228|0;Z=Ne+224|0;V=Ne+220|0;J=Ne+216|0;G=Ne+212|0;K=Ne+208|0;X=Ne+204|0;L=Ne+200|0;P=Ne+196|0;I=Ne+192|0;C=Ne+188|0;U=Ne+184|0;Fe=Ne+180|0;B=Ne+176|0;j=Ne+172|0;Ce=Ne+168|0;D=Ne+164|0;F=Ne+160|0;z=Ne+156|0;Y=Ne+152|0;Ue=Ne+148|0;H=Ne+144|0;q=Ne+140|0;ue=Ne+136|0;ce=Ne+132|0;je=Ne+128|0;oe=Ne+124|0;ae=Ne+120|0;ne=Ne+116|0;be=Ne+112|0;le=Ne+108|0;ie=Ne+104|0;ee=Ne+100|0;we=Ne+96|0;pe=Ne+92|0;ke=Ne+88|0;Ae=Ne+84|0;Te=Ne+80|0;Se=Ne+76|0;Re=Ne+72|0;fe=Ne+68|0;te=Ne+64|0;_e=Ne+60|0;me=Ne+56|0;Ee=Ne+52|0;se=Ne+48|0;Q=Ne+44|0;Pe=Ne+40|0;$=Ne+36|0;Oe=Ne+32|0;Le=Ne+28|0;Me=Ne+24|0;ve=Ne+20|0;xe=Ne+16|0;ge=Ne+12|0;De=Ne+8|0;ye=Ne+4|0;Be=Ne;f[O>>2]=e;f[Ie>>2]=r;f[N>>2]=i;f[W>>2]=a;f[Z>>2]=o;f[V>>2]=l;f[J>>2]=s;f[G>>2]=u;f[K>>2]=c;f[X>>2]=b;f[L>>2]=w;f[P>>2]=k;f[I>>2]=d;f[C>>2]=p;f[U>>2]=v;f[Fe>>2]=g;f[B>>2]=y;f[j>>2]=_;f[Ce>>2]=m;f[D>>2]=E;f[F>>2]=A;f[z>>2]=S;f[Y>>2]=R;f[Ue>>2]=T;f[H>>2]=M;f[q>>2]=x;l=f[Ue>>2]|0;f[Be>>2]=he()|0;g=h;h=h+((1*(l*48|0)|0)+15&-16)|0;f[xe>>2]=(f[O>>2]|0)+1280+((f[(f[O>>2]|0)+4364>>2]|0)-(f[P>>2]|0)+1<<2);f[ve>>2]=(f[J>>2]|0)+((f[(f[O>>2]|0)+4360>>2]|0)-(f[P>>2]|0)+2<<2);f[$>>2]=f[Fe>>2]>>6;f[ue>>2]=0;while(1){if((f[ue>>2]|0)>=(f[Ce>>2]|0))break;if((f[N>>2]|0)==2){f[ie>>2]=2;Fe=re(f[f[ve>>2]>>2]>>16,n[f[X>>2]>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[f[ve>>2]>>2]&65535,n[f[X>>2]>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-4>>2]>>16,n[(f[X>>2]|0)+2>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-4>>2]&65535,n[(f[X>>2]|0)+2>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-8>>2]>>16,n[(f[X>>2]|0)+4>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-8>>2]&65535,n[(f[X>>2]|0)+4>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-12>>2]>>16,n[(f[X>>2]|0)+6>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-12>>2]&65535,n[(f[X>>2]|0)+6>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-16>>2]>>16,n[(f[X>>2]|0)+8>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-16>>2]&65535,n[(f[X>>2]|0)+8>>1]|0)|0)>>16));f[ie>>2]=f[ie>>2]<<1;f[ve>>2]=(f[ve>>2]|0)+4}else f[ie>>2]=0;if((f[P>>2]|0)>0){Fe=re((f[f[xe>>2]>>2]|0)+(f[(f[xe>>2]|0)+-8>>2]|0)>>16,(f[I>>2]&65535)<<16>>16)|0;f[pe>>2]=Fe+((re((f[f[xe>>2]>>2]|0)+(f[(f[xe>>2]|0)+-8>>2]|0)&65535,(f[I>>2]&65535)<<16>>16)|0)>>16);Fe=(f[pe>>2]|0)+(re(f[(f[xe>>2]|0)+-4>>2]>>16,f[I>>2]>>16)|0)|0;f[pe>>2]=Fe+((re(f[(f[xe>>2]|0)+-4>>2]&65535,f[I>>2]>>16)|0)>>16);f[pe>>2]=(f[ie>>2]|0)-(f[pe>>2]<<2);f[xe>>2]=(f[xe>>2]|0)+4}else f[pe>>2]=0;f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);f[ye>>2]=g+((f[je>>2]|0)*48|0);Fe=907633515+(re(f[(f[De>>2]|0)+1156>>2]|0,196314165)|0)|0;f[(f[De>>2]|0)+1156>>2]=Fe;f[ge>>2]=(f[De>>2]|0)+(31+(f[ue>>2]|0)<<2);f[ee>>2]=f[z>>2]>>1;Fe=re(f[f[ge>>2]>>2]>>16,n[f[K>>2]>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[f[ge>>2]>>2]&65535,n[f[K>>2]>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-4>>2]>>16,n[(f[K>>2]|0)+2>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-4>>2]&65535,n[(f[K>>2]|0)+2>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-8>>2]>>16,n[(f[K>>2]|0)+4>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-8>>2]&65535,n[(f[K>>2]|0)+4>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-12>>2]>>16,n[(f[K>>2]|0)+6>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-12>>2]&65535,n[(f[K>>2]|0)+6>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-16>>2]>>16,n[(f[K>>2]|0)+8>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-16>>2]&65535,n[(f[K>>2]|0)+8>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-20>>2]>>16,n[(f[K>>2]|0)+10>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-20>>2]&65535,n[(f[K>>2]|0)+10>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-24>>2]>>16,n[(f[K>>2]|0)+12>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-24>>2]&65535,n[(f[K>>2]|0)+12>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-28>>2]>>16,n[(f[K>>2]|0)+14>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-28>>2]&65535,n[(f[K>>2]|0)+14>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-32>>2]>>16,n[(f[K>>2]|0)+16>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-32>>2]&65535,n[(f[K>>2]|0)+16>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-36>>2]>>16,n[(f[K>>2]|0)+18>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-36>>2]&65535,n[(f[K>>2]|0)+18>>1]|0)|0)>>16));if((f[z>>2]|0)==16){Fe=re(f[(f[ge>>2]|0)+-40>>2]>>16,n[(f[K>>2]|0)+20>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-40>>2]&65535,n[(f[K>>2]|0)+20>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-44>>2]>>16,n[(f[K>>2]|0)+22>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-44>>2]&65535,n[(f[K>>2]|0)+22>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-48>>2]>>16,n[(f[K>>2]|0)+24>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-48>>2]&65535,n[(f[K>>2]|0)+24>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-52>>2]>>16,n[(f[K>>2]|0)+26>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-52>>2]&65535,n[(f[K>>2]|0)+26>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-56>>2]>>16,n[(f[K>>2]|0)+28>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-56>>2]&65535,n[(f[K>>2]|0)+28>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-60>>2]>>16,n[(f[K>>2]|0)+30>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-60>>2]&65535,n[(f[K>>2]|0)+30>>1]|0)|0)>>16))}f[ee>>2]=f[ee>>2]<<4;Fe=re(f[(f[De>>2]|0)+1088>>2]>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Le>>2]=(f[f[ge>>2]>>2]|0)+(Fe+((re(f[(f[De>>2]|0)+1088>>2]&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));Fe=re((f[(f[De>>2]|0)+1088+4>>2]|0)-(f[Le>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Oe>>2]=(f[(f[De>>2]|0)+1088>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+4>>2]|0)-(f[Le>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088>>2]=f[Le>>2];f[we>>2]=f[F>>2]>>1;Fe=re(f[Le>>2]>>16,n[f[L>>2]>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Le>>2]&65535,n[f[L>>2]>>1]|0)|0)>>16));f[ce>>2]=2;while(1){if((f[ce>>2]|0)>=(f[F>>2]|0))break;Fe=re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)-(f[Oe>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Le>>2]=(f[(f[De>>2]|0)+1088+((f[ce>>2]|0)-1<<2)>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)-(f[Oe>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088+((f[ce>>2]|0)-1<<2)>>2]=f[Oe>>2];Fe=re(f[Oe>>2]>>16,n[(f[L>>2]|0)+((f[ce>>2]|0)-1<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Oe>>2]&65535,n[(f[L>>2]|0)+((f[ce>>2]|0)-1<<1)>>1]|0)|0)>>16));Fe=re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+1<<2)>>2]|0)-(f[Le>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Oe>>2]=(f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+1<<2)>>2]|0)-(f[Le>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]=f[Le>>2];Fe=re(f[Le>>2]>>16,n[(f[L>>2]|0)+(f[ce>>2]<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Le>>2]&65535,n[(f[L>>2]|0)+(f[ce>>2]<<1)>>1]|0)|0)>>16));f[ce>>2]=(f[ce>>2]|0)+2}f[(f[De>>2]|0)+1088+((f[F>>2]|0)-1<<2)>>2]=f[Oe>>2];Fe=re(f[Oe>>2]>>16,n[(f[L>>2]|0)+((f[F>>2]|0)-1<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Oe>>2]&65535,n[(f[L>>2]|0)+((f[F>>2]|0)-1<<1)>>1]|0)|0)>>16));f[we>>2]=f[we>>2]<<1;Fe=re(f[(f[De>>2]|0)+1152>>2]>>16,(f[C>>2]&65535)<<16>>16)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[(f[De>>2]|0)+1152>>2]&65535,(f[C>>2]&65535)<<16>>16)|0)>>16));f[we>>2]=f[we>>2]<<2;Fe=re(f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]>>16,(f[U>>2]&65535)<<16>>16)|0;f[ke>>2]=Fe+((re(f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]&65535,(f[U>>2]&65535)<<16>>16)|0)>>16);Fe=(f[ke>>2]|0)+(re(f[(f[De>>2]|0)+1152>>2]>>16,f[U>>2]>>16)|0)|0;f[ke>>2]=Fe+((re(f[(f[De>>2]|0)+1152>>2]&65535,f[U>>2]>>16)|0)>>16);f[ke>>2]=f[ke>>2]<<2;f[Oe>>2]=(f[we>>2]|0)+(f[ke>>2]|0);f[Le>>2]=(f[pe>>2]|0)+(f[ee>>2]|0);f[Oe>>2]=(f[Le>>2]|0)-(f[Oe>>2]|0);f[Oe>>2]=(f[Oe>>2]>>3)+1>>1;f[Ae>>2]=(f[(f[W>>2]|0)+(f[ue>>2]<<2)>>2]|0)-(f[Oe>>2]|0);if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[Ae>>2]=0-(f[Ae>>2]|0);if((f[Ae>>2]|0)>30720)w=30720;else w=(f[Ae>>2]|0)<-31744?-31744:f[Ae>>2]|0;f[Ae>>2]=w;f[me>>2]=(f[Ae>>2]|0)-(f[j>>2]|0);f[_e>>2]=f[me>>2]>>10;w=f[_e>>2]|0;do{if((f[_e>>2]|0)<=0){if(!w){f[me>>2]=f[j>>2];f[Ee>>2]=(f[me>>2]|0)+944;f[Se>>2]=re((f[me>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}if((f[_e>>2]|0)==-1){f[Ee>>2]=f[j>>2];f[me>>2]=(f[Ee>>2]|0)-944;f[Se>>2]=re((0-(f[me>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}else{f[me>>2]=(f[_e>>2]<<10)+80;f[me>>2]=(f[me>>2]|0)+(f[j>>2]|0);f[Ee>>2]=(f[me>>2]|0)+1024;f[Se>>2]=re((0-(f[me>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((0-(f[Ee>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}}else{f[me>>2]=(w<<10)-80;f[me>>2]=(f[me>>2]|0)+(f[j>>2]|0);f[Ee>>2]=(f[me>>2]|0)+1024;f[Se>>2]=re((f[me>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0}}while(0);f[Te>>2]=(f[Ae>>2]|0)-(f[me>>2]|0);f[Se>>2]=(f[Se>>2]|0)+(re((f[Te>>2]&65535)<<16>>16,(f[Te>>2]&65535)<<16>>16)|0)>>10;f[Te>>2]=(f[Ae>>2]|0)-(f[Ee>>2]|0);f[Re>>2]=(f[Re>>2]|0)+(re((f[Te>>2]&65535)<<16>>16,(f[Te>>2]&65535)<<16>>16)|0)>>10;w=f[(f[De>>2]|0)+1164>>2]|0;if((f[Se>>2]|0)<(f[Re>>2]|0)){f[(f[ye>>2]|0)+4>>2]=w+(f[Se>>2]|0);f[(f[ye>>2]|0)+24+4>>2]=(f[(f[De>>2]|0)+1164>>2]|0)+(f[Re>>2]|0);f[f[ye>>2]>>2]=f[me>>2];f[(f[ye>>2]|0)+24>>2]=f[Ee>>2]}else{f[(f[ye>>2]|0)+4>>2]=w+(f[Re>>2]|0);f[(f[ye>>2]|0)+24+4>>2]=(f[(f[De>>2]|0)+1164>>2]|0)+(f[Se>>2]|0);f[f[ye>>2]>>2]=f[Ee>>2];f[(f[ye>>2]|0)+24>>2]=f[me>>2]}f[se>>2]=f[f[ye>>2]>>2]<<4;if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[se>>2]=0-(f[se>>2]|0);f[Q>>2]=(f[se>>2]|0)+(f[ie>>2]|0);f[Pe>>2]=(f[Q>>2]|0)+(f[ee>>2]|0);f[Me>>2]=(f[Pe>>2]|0)-(f[we>>2]|0);f[(f[ye>>2]|0)+16>>2]=(f[Me>>2]|0)-(f[ke>>2]|0);f[(f[ye>>2]|0)+12>>2]=f[Me>>2];f[(f[ye>>2]|0)+20>>2]=f[Q>>2];f[(f[ye>>2]|0)+8>>2]=f[Pe>>2];f[se>>2]=f[(f[ye>>2]|0)+24>>2]<<4;if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[se>>2]=0-(f[se>>2]|0);f[Q>>2]=(f[se>>2]|0)+(f[ie>>2]|0);f[Pe>>2]=(f[Q>>2]|0)+(f[ee>>2]|0);f[Me>>2]=(f[Pe>>2]|0)-(f[we>>2]|0);f[(f[ye>>2]|0)+24+16>>2]=(f[Me>>2]|0)-(f[ke>>2]|0);f[(f[ye>>2]|0)+24+12>>2]=f[Me>>2];f[(f[ye>>2]|0)+24+20>>2]=f[Q>>2];f[(f[ye>>2]|0)+24+8>>2]=f[Pe>>2];f[je>>2]=(f[je>>2]|0)+1}f[f[H>>2]>>2]=(f[f[H>>2]>>2]|0)-1&31;f[be>>2]=(f[f[H>>2]>>2]|0)+(f[q>>2]|0)&31;f[fe>>2]=f[g+4>>2];f[oe>>2]=0;f[je>>2]=1;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[g+((f[je>>2]|0)*48|0)+4>>2]|0)<(f[fe>>2]|0)){f[fe>>2]=f[g+((f[je>>2]|0)*48|0)+4>>2];f[oe>>2]=f[je>>2]}f[je>>2]=(f[je>>2]|0)+1}f[le>>2]=f[(f[Ie>>2]|0)+((f[oe>>2]|0)*1168|0)+448+(f[be>>2]<<2)>>2];f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0)+448+(f[be>>2]<<2)>>2]|0)!=(f[le>>2]|0)){f[g+((f[je>>2]|0)*48|0)+4>>2]=(f[g+((f[je>>2]|0)*48|0)+4>>2]|0)+134217727;f[g+((f[je>>2]|0)*48|0)+24+4>>2]=(f[g+((f[je>>2]|0)*48|0)+24+4>>2]|0)+134217727}f[je>>2]=(f[je>>2]|0)+1}f[te>>2]=f[g+4>>2];f[fe>>2]=f[g+24+4>>2];f[ne>>2]=0;f[ae>>2]=0;f[je>>2]=1;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[g+((f[je>>2]|0)*48|0)+4>>2]|0)>(f[te>>2]|0)){f[te>>2]=f[g+((f[je>>2]|0)*48|0)+4>>2];f[ne>>2]=f[je>>2]}if((f[g+((f[je>>2]|0)*48|0)+24+4>>2]|0)<(f[fe>>2]|0)){f[fe>>2]=f[g+((f[je>>2]|0)*48|0)+24+4>>2];f[ae>>2]=f[je>>2]}f[je>>2]=(f[je>>2]|0)+1}if((f[fe>>2]|0)<(f[te>>2]|0)){gs((f[Ie>>2]|0)+((f[ne>>2]|0)*1168|0)+(f[ue>>2]<<2)|0,(f[Ie>>2]|0)+((f[ae>>2]|0)*1168|0)+(f[ue>>2]<<2)|0,1168-(f[ue>>2]<<2)|0)|0;Fe=g+((f[ne>>2]|0)*48|0)|0;l=g+((f[ae>>2]|0)*48|0)+24|0;f[Fe>>2]=f[l>>2];f[Fe+4>>2]=f[l+4>>2];f[Fe+8>>2]=f[l+8>>2];f[Fe+12>>2]=f[l+12>>2];f[Fe+16>>2]=f[l+16>>2];f[Fe+20>>2]=f[l+20>>2]}f[De>>2]=(f[Ie>>2]|0)+((f[oe>>2]|0)*1168|0);if(!((f[D>>2]|0)<=0?(f[ue>>2]|0)<(f[q>>2]|0):0)){t[(f[Z>>2]|0)+((f[ue>>2]|0)-(f[q>>2]|0))>>0]=(f[(f[De>>2]|0)+576+(f[be>>2]<<2)>>2]>>9)+1>>1;Fe=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;Fe=Fe+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Fe+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){Fe=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;Fe=Fe+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Fe+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)w=-32768;else{w=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;w=w+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;w=(w+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1}}else w=32767;n[(f[V>>2]|0)+((f[ue>>2]|0)-(f[q>>2]|0)<<1)>>1]=w;f[(f[O>>2]|0)+1280+((f[(f[O>>2]|0)+4364>>2]|0)-(f[q>>2]|0)<<2)>>2]=f[(f[De>>2]|0)+960+(f[be>>2]<<2)>>2];f[(f[J>>2]|0)+((f[(f[O>>2]|0)+4360>>2]|0)-(f[q>>2]|0)<<2)>>2]=f[(f[De>>2]|0)+832+(f[be>>2]<<2)>>2]}Fe=(f[O>>2]|0)+4364|0;f[Fe>>2]=(f[Fe>>2]|0)+1;Fe=(f[O>>2]|0)+4360|0;f[Fe>>2]=(f[Fe>>2]|0)+1;f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);f[ye>>2]=g+((f[je>>2]|0)*48|0);f[(f[De>>2]|0)+1152>>2]=f[(f[ye>>2]|0)+12>>2];f[(f[De>>2]|0)+(32+(f[ue>>2]|0)<<2)>>2]=f[(f[ye>>2]|0)+8>>2];f[(f[De>>2]|0)+704+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+8>>2];f[(f[De>>2]|0)+576+(f[f[H>>2]>>2]<<2)>>2]=f[f[ye>>2]>>2];f[(f[De>>2]|0)+832+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+20>>2]<<1;f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+16>>2];f[(f[De>>2]|0)+1156>>2]=(f[(f[De>>2]|0)+1156>>2]|0)+((f[f[ye>>2]>>2]>>9)+1>>1);f[(f[De>>2]|0)+448+(f[f[H>>2]>>2]<<2)>>2]=f[(f[De>>2]|0)+1156>>2];f[(f[De>>2]|0)+1164>>2]=f[(f[ye>>2]|0)+4>>2];f[je>>2]=(f[je>>2]|0)+1}f[(f[G>>2]|0)+(f[f[H>>2]>>2]<<2)>>2]=f[$>>2];f[ue>>2]=(f[ue>>2]|0)+1}f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);w=f[De>>2]|0;g=(f[De>>2]|0)+(f[Ce>>2]<<2)|0;d=w+128|0;do{f[w>>2]=f[g>>2];w=w+4|0;g=g+4|0}while((w|0)<(d|0));f[je>>2]=(f[je>>2]|0)+1}de(f[Be>>2]|0);h=Ne;return}function vf(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;f[(f[i>>2]|0)+4168>>2]=f[(f[i>>2]|0)+2328>>2]<<7;f[(f[i>>2]|0)+4168+72>>2]=65536;f[(f[i>>2]|0)+4168+72+4>>2]=65536;f[(f[i>>2]|0)+4168+88>>2]=20;f[(f[i>>2]|0)+4168+84>>2]=2;h=r;return}function gf(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;o=c+16|0;a=c+12|0;l=c+8|0;s=c+4|0;u=c;f[o>>2]=e;f[a>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;if((f[(f[o>>2]|0)+2316>>2]|0)!=(f[(f[o>>2]|0)+4168+80>>2]|0)){vf(f[o>>2]|0);f[(f[o>>2]|0)+4168+80>>2]=f[(f[o>>2]|0)+2316>>2]}i=f[o>>2]|0;n=f[a>>2]|0;if(f[s>>2]|0){yf(i,n,f[l>>2]|0,f[u>>2]|0);u=(f[o>>2]|0)+4160|0;f[u>>2]=(f[u>>2]|0)+1;h=c;return}else{xf(i,n);h=c;return}}function yf(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+176|0;S=N+120|0;R=N+116|0;T=N+112|0;c=N+108|0;L=N+104|0;P=N+100|0;y=N+96|0;I=N+92|0;p=N+88|0;A=N+84|0;s=N+80|0;u=N+76|0;j=N+72|0;d=N+68|0;m=N+64|0;g=N+60|0;o=N+56|0;l=N+52|0;E=N+48|0;_=N+44|0;O=N+40|0;w=N+36|0;B=N+160|0;b=N+32|0;D=N+28|0;x=N+128|0;U=N+24|0;C=N+16|0;M=N+8|0;v=N+4|0;k=N;f[S>>2]=e;f[R>>2]=r;f[T>>2]=i;f[c>>2]=t;f[U>>2]=(f[S>>2]|0)+4168;a=(f[(f[S>>2]|0)+2336>>2]|0)+(f[(f[S>>2]|0)+2328>>2]|0)|0;f[M>>2]=he()|0;r=h;h=h+((1*(a<<2)|0)+15&-16)|0;a=h;h=h+((1*(f[(f[S>>2]|0)+2336>>2]<<1)|0)+15&-16)|0;f[C>>2]=f[(f[U>>2]|0)+72>>2]>>6;f[C+4>>2]=f[(f[U>>2]|0)+72+4>>2]>>6;if(f[(f[S>>2]|0)+2376>>2]|0){i=(f[U>>2]|0)+14|0;e=i+32|0;do{n[i>>1]=0;i=i+2|0}while((i|0)<(e|0))}_f(o,s,l,u,(f[S>>2]|0)+4|0,C,f[(f[S>>2]|0)+2332>>2]|0,f[(f[S>>2]|0)+2324>>2]|0);t=f[(f[U>>2]|0)+84>>2]|0;if((f[o>>2]>>f[u>>2]|0)<(f[l>>2]>>f[s>>2]|0)){u=mf(0,(re(t-1|0,f[(f[U>>2]|0)+88>>2]|0)|0)-128|0)|0;f[E>>2]=(f[S>>2]|0)+4+(u<<2)}else{u=mf(0,(re(t,f[(f[U>>2]|0)+88>>2]|0)|0)-128|0)|0;f[E>>2]=(f[S>>2]|0)+4+(u<<2)}f[b>>2]=(f[U>>2]|0)+4;n[B>>1]=n[(f[U>>2]|0)+56>>1]|0;f[d>>2]=n[24440+((Ef(1,f[(f[S>>2]|0)+4160>>2]|0)|0)<<1)>>1];u=(f[(f[S>>2]|0)+4164>>2]|0)==2;t=Ef(1,f[(f[S>>2]|0)+4160>>2]|0)|0;if(u)f[m>>2]=n[24444+(t<<1)>>1];else f[m>>2]=n[24448+(t<<1)>>1];Ia((f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]|0,64881);gs(x|0,(f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]<<1|0)|0;do{if(!(f[(f[S>>2]|0)+4160>>2]|0)){n[B>>1]=16384;if((f[(f[S>>2]|0)+4164>>2]|0)!=2){f[v>>2]=Ya((f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]|0)|0;f[k>>2]=Sf(134217728,f[v>>2]|0)|0;f[k>>2]=Rf(4194304,f[k>>2]|0)|0;f[k>>2]=f[k>>2]<<3;v=re(f[k>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[m>>2]=v+((re(f[k>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)>>14;break}f[L>>2]=0;while(1){if((f[L>>2]|0)>=5)break;n[B>>1]=(n[B>>1]|0)-(n[(f[b>>2]|0)+(f[L>>2]<<1)>>1]|0);f[L>>2]=(f[L>>2]|0)+1}n[B>>1]=Af(3277,n[B>>1]|0)|0;n[B>>1]=(re(n[B>>1]|0,n[(f[U>>2]|0)+68>>1]|0)|0)>>14}}while(0);f[j>>2]=f[(f[U>>2]|0)+52>>2];f[I>>2]=(f[f[U>>2]>>2]>>7)+1>>1;f[A>>2]=f[(f[S>>2]|0)+2336>>2];f[p>>2]=(f[(f[S>>2]|0)+2336>>2]|0)-(f[I>>2]|0)-(f[(f[S>>2]|0)+2340>>2]|0)-2;za(a+(f[p>>2]<<1)|0,(f[S>>2]|0)+1348+(f[p>>2]<<1)|0,x,(f[(f[S>>2]|0)+2336>>2]|0)-(f[p>>2]|0)|0,f[(f[S>>2]|0)+2340>>2]|0,f[c>>2]|0);f[g>>2]=Tf(f[(f[U>>2]|0)+72+4>>2]|0,46)|0;f[g>>2]=(f[g>>2]|0)<1073741823?f[g>>2]|0:1073741823;f[L>>2]=(f[p>>2]|0)+(f[(f[S>>2]|0)+2340>>2]|0);while(1){if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2336>>2]|0))break;v=re(f[g>>2]>>16,n[a+(f[L>>2]<<1)>>1]|0)|0;v=v+((re(f[g>>2]&65535,n[a+(f[L>>2]<<1)>>1]|0)|0)>>16)|0;f[r+(f[L>>2]<<2)>>2]=v;f[L>>2]=(f[L>>2]|0)+1}f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[(f[S>>2]|0)+2324>>2]|0))break;f[_>>2]=r+((f[A>>2]|0)-(f[I>>2]|0)+2<<2);f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2332>>2]|0))break;f[w>>2]=2;g=re(f[f[_>>2]>>2]>>16,n[f[b>>2]>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[f[_>>2]>>2]&65535,n[f[b>>2]>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-4>>2]>>16,n[(f[b>>2]|0)+2>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-4>>2]&65535,n[(f[b>>2]|0)+2>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-8>>2]>>16,n[(f[b>>2]|0)+4>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-8>>2]&65535,n[(f[b>>2]|0)+4>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-12>>2]>>16,n[(f[b>>2]|0)+6>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-12>>2]&65535,n[(f[b>>2]|0)+6>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-16>>2]>>16,n[(f[b>>2]|0)+8>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-16>>2]&65535,n[(f[b>>2]|0)+8>>1]|0)|0)>>16));f[_>>2]=(f[_>>2]|0)+4;f[j>>2]=907633515+(re(f[j>>2]|0,196314165)|0);f[p>>2]=f[j>>2]>>25&127;g=re(f[(f[E>>2]|0)+(f[p>>2]<<2)>>2]>>16,n[B>>1]|0)|0;g=(f[w>>2]|0)+(g+((re(f[(f[E>>2]|0)+(f[p>>2]<<2)>>2]&65535,n[B>>1]|0)|0)>>16))<<2;f[r+(f[A>>2]<<2)>>2]=g;f[A>>2]=(f[A>>2]|0)+1;f[L>>2]=(f[L>>2]|0)+1}f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;g=(re((f[d>>2]&65535)<<16>>16,n[(f[b>>2]|0)+(f[P>>2]<<1)>>1]|0)|0)>>15&65535;n[(f[b>>2]|0)+(f[P>>2]<<1)>>1]=g;f[P>>2]=(f[P>>2]|0)+1}n[B>>1]=(re(n[B>>1]|0,(f[m>>2]&65535)<<16>>16)|0)>>15;f[f[U>>2]>>2]=(f[f[U>>2]>>2]|0)+(((f[f[U>>2]>>2]>>16)*655|0)+((f[f[U>>2]>>2]&65535)*655>>16));g=Sf(f[f[U>>2]>>2]|0,((f[(f[S>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8)|0;f[f[U>>2]>>2]=g;f[I>>2]=(f[f[U>>2]>>2]>>7)+1>>1;f[y>>2]=(f[y>>2]|0)+1}f[D>>2]=r+((f[(f[S>>2]|0)+2336>>2]|0)-16<<2);i=f[D>>2]|0;t=(f[S>>2]|0)+1284|0;e=i+64|0;do{f[i>>2]=f[t>>2];i=i+4|0;t=t+4|0}while((i|0)<(e|0));f[L>>2]=0;while(1){t=f[S>>2]|0;if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2328>>2]|0))break;f[O>>2]=f[t+2340>>2]>>1;A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-1<<2)>>2]>>16,n[x>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-1<<2)>>2]&65535,n[x>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-2<<2)>>2]>>16,n[x+2>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-2<<2)>>2]&65535,n[x+2>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-3<<2)>>2]>>16,n[x+4>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-3<<2)>>2]&65535,n[x+4>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-4<<2)>>2]>>16,n[x+6>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-4<<2)>>2]&65535,n[x+6>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-5<<2)>>2]>>16,n[x+8>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-5<<2)>>2]&65535,n[x+8>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-6<<2)>>2]>>16,n[x+10>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-6<<2)>>2]&65535,n[x+10>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-7<<2)>>2]>>16,n[x+12>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-7<<2)>>2]&65535,n[x+12>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-8<<2)>>2]>>16,n[x+14>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-8<<2)>>2]&65535,n[x+14>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-9<<2)>>2]>>16,n[x+16>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-9<<2)>>2]&65535,n[x+16>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-10<<2)>>2]>>16,n[x+18>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-10<<2)>>2]&65535,n[x+18>>1]|0)|0)>>16));f[P>>2]=10;while(1){if((f[P>>2]|0)>=(f[(f[S>>2]|0)+2340>>2]|0))break;A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-(f[P>>2]|0)-1<<2)>>2]>>16,n[x+(f[P>>2]<<1)>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-(f[P>>2]|0)-1<<2)>>2]&65535,n[x+(f[P>>2]<<1)>>1]|0)|0)>>16));f[P>>2]=(f[P>>2]|0)+1}f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]=(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0)+(f[O>>2]<<4);A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767;if((t|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767;if((t|0)>=-32768){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767}else t=-32768}else t=32767;n[(f[T>>2]|0)+(f[L>>2]<<1)>>1]=t;f[L>>2]=(f[L>>2]|0)+1}i=t+1284|0;t=(f[D>>2]|0)+(f[(f[S>>2]|0)+2328>>2]<<2)|0;e=i+64|0;do{f[i>>2]=f[t>>2];i=i+4|0;t=t+4|0}while((i|0)<(e|0));f[(f[U>>2]|0)+52>>2]=f[j>>2];n[(f[U>>2]|0)+56>>1]=n[B>>1]|0;f[L>>2]=0;while(1){if((f[L>>2]|0)>=4)break;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=f[I>>2];f[L>>2]=(f[L>>2]|0)+1}de(f[M>>2]|0);h=N;return}function _f(e,r,i,t,a,o,l,s){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;d=E+24|0;p=E+20|0;v=E+16|0;_=E+12|0;m=E+8|0;y=E+4|0;g=E;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[v>>2]=s;l=f[p>>2]<<1;f[g>>2]=he()|0;e=h;h=h+((1*(l<<1)|0)+15&-16)|0;f[y>>2]=e;f[m>>2]=0;while(1){if((f[m>>2]|0)>=2)break;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[p>>2]|0))break;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=re(f[(f[k>>2]|0)+(l<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;t=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;t=l+((re(f[(f[k>>2]|0)+(t<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;if((t+(re(f[(f[k>>2]|0)+(l<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<=32767){l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=re(f[(f[k>>2]|0)+(l<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;t=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;t=l+((re(f[(f[k>>2]|0)+(t<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;if((t+(re(f[(f[k>>2]|0)+(l<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<-32768)i=-32768;else{i=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;i=re(f[(f[k>>2]|0)+(i<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=i+((re(f[(f[k>>2]|0)+(l<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;i=l+(re(f[(f[k>>2]|0)+(i<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8}}else i=32767;n[(f[y>>2]|0)+(f[_>>2]<<1)>>1]=i;f[_>>2]=(f[_>>2]|0)+1}f[y>>2]=(f[y>>2]|0)+(f[p>>2]<<1);f[m>>2]=(f[m>>2]|0)+1}Si(f[u>>2]|0,f[c>>2]|0,e,f[p>>2]|0);Si(f[b>>2]|0,f[w>>2]|0,e+(f[p>>2]<<1)|0,f[p>>2]|0);de(f[g>>2]|0);h=E;return}function mf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ef(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Af(e,r){e=e|0;r=r|0;var i=0,t=0,f=0;f=h;h=h+16|0;t=f+2|0;i=f;n[t>>1]=e;n[i>>1]=r;h=f;return((n[t>>1]|0)>(n[i>>1]|0)?n[t>>1]|0:n[i>>1]|0)&65535|0}function Sf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Rf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Tf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(Mf((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Mf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function xf(e,r){e=e|0;r=r|0;var i=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;i=p+40|0;a=p+36|0;o=p+32|0;w=p+28|0;l=p+24|0;s=p+20|0;u=p+16|0;c=p+12|0;k=p+8|0;b=p+4|0;d=p;f[i>>2]=e;f[a>>2]=r;f[u>>2]=(f[i>>2]|0)+4168;f[(f[i>>2]|0)+4164>>2]=t[(f[i>>2]|0)+2736+29>>0];f[o>>2]=0;e:do{if((t[(f[i>>2]|0)+2736+29>>0]|0)==2){f[s>>2]=0;while(1){r=re(f[s>>2]|0,f[(f[i>>2]|0)+2332>>2]|0)|0;if((r|0)>=(f[(f[a>>2]|0)+((f[(f[i>>2]|0)+2324>>2]|0)-1<<2)>>2]|0))break;if((f[s>>2]|0)==(f[(f[i>>2]|0)+2324>>2]|0))break;f[w>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break;f[w>>2]=(f[w>>2]|0)+(n[(f[a>>2]|0)+96+((((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)|0)*5|0)+(f[l>>2]|0)<<1)>>1]|0);f[l>>2]=(f[l>>2]|0)+1}if((f[w>>2]|0)>(f[o>>2]|0)){f[o>>2]=f[w>>2];r=(f[u>>2]|0)+4|0;e=(f[a>>2]|0)+96+((((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)&65535)<<16>>16)*5<<1)|0;n[r>>1]=n[e>>1]|0;n[r+2>>1]=n[e+2>>1]|0;n[r+4>>1]=n[e+4>>1]|0;n[r+6>>1]=n[e+6>>1]|0;n[r+8>>1]=n[e+8>>1]|0;f[f[u>>2]>>2]=f[(f[a>>2]|0)+((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)<<2)>>2]<<8}f[s>>2]=(f[s>>2]|0)+1}w=(f[u>>2]|0)+4|0;f[w>>2]=0;f[w+4>>2]=0;n[w+8>>1]=0;n[(f[u>>2]|0)+4+4>>1]=f[o>>2];if((f[o>>2]|0)<11469){f[k>>2]=11744256;f[c>>2]=(f[k>>2]|0)/(((f[o>>2]|0)>1?f[o>>2]|0:1)|0)|0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break e;d=(re(n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]|0,(f[c>>2]&65535)<<16>>16)|0)>>10&65535;n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]=d;f[l>>2]=(f[l>>2]|0)+1}}if((f[o>>2]|0)>15565){f[d>>2]=255016960;f[b>>2]=(f[d>>2]|0)/(((f[o>>2]|0)>1?f[o>>2]|0:1)|0)|0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break e;d=(re(n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]|0,(f[b>>2]&65535)<<16>>16)|0)>>14&65535;n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]=d;f[l>>2]=(f[l>>2]|0)+1}}}else{f[f[u>>2]>>2]=((f[(f[i>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8;d=(f[u>>2]|0)+4|0;f[d>>2]=0;f[d+4>>2]=0;n[d+8>>1]=0}}while(0);gs((f[u>>2]|0)+14|0,(f[a>>2]|0)+32+32|0,f[(f[i>>2]|0)+2340>>2]<<1|0)|0;n[(f[u>>2]|0)+68>>1]=f[(f[a>>2]|0)+136>>2];d=(f[u>>2]|0)+72|0;k=(f[a>>2]|0)+16+((f[(f[i>>2]|0)+2324>>2]|0)-2<<2)|0;f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[(f[u>>2]|0)+88>>2]=f[(f[i>>2]|0)+2332>>2];f[(f[u>>2]|0)+84>>2]=f[(f[i>>2]|0)+2324>>2];h=p;return}function Of(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;t=p+40|0;a=p+36|0;o=p+32|0;w=p+28|0;u=p+24|0;s=p+20|0;k=p+16|0;c=p+12|0;l=p+8|0;b=p+4|0;d=p;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[k>>2]=(f[t>>2]|0)+4168;if(f[(f[t>>2]|0)+4160>>2]|0){Si((f[k>>2]|0)+60|0,(f[k>>2]|0)+64|0,f[a>>2]|0,f[o>>2]|0);f[(f[k>>2]|0)+48>>2]=1;h=p;return}e:do{if(f[(f[t>>2]|0)+4168+48>>2]|0){Si(s,u,f[a>>2]|0,f[o>>2]|0);if((f[u>>2]|0)<=(f[(f[k>>2]|0)+64>>2]|0)){if((f[u>>2]|0)<(f[(f[k>>2]|0)+64>>2]|0))f[s>>2]=f[s>>2]>>(f[(f[k>>2]|0)+64>>2]|0)-(f[u>>2]|0)}else f[(f[k>>2]|0)+60>>2]=f[(f[k>>2]|0)+60>>2]>>(f[u>>2]|0)-(f[(f[k>>2]|0)+64>>2]|0);if((f[s>>2]|0)>(f[(f[k>>2]|0)+60>>2]|0)){f[l>>2]=Mf(f[(f[k>>2]|0)+60>>2]|0)|0;f[l>>2]=(f[l>>2]|0)-1;f[(f[k>>2]|0)+60>>2]=f[(f[k>>2]|0)+60>>2]<>2];e=f[s>>2]|0;f[s>>2]=e>>(Rf(24-(f[l>>2]|0)|0,0)|0);f[c>>2]=(f[(f[k>>2]|0)+60>>2]|0)/(((f[s>>2]|0)>1?f[s>>2]|0:1)|0)|0;f[b>>2]=(Lf(f[c>>2]|0)|0)<<4;f[d>>2]=(65536-(f[b>>2]|0)|0)/(f[o>>2]|0)|0;f[d>>2]=f[d>>2]<<2;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break e;e=re(f[b>>2]>>16,n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]|0)|0;e=e+((re(f[b>>2]&65535,n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]|0)|0)>>16)&65535;n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+(f[d>>2]|0);if((f[b>>2]|0)>65536)break e;f[w>>2]=(f[w>>2]|0)+1}}}}while(0);f[(f[k>>2]|0)+48>>2]=0;h=p;return}function Lf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Pf(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Pf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Mf(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(If(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function If(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Cf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;i=h;h=h+80|0;a=i+68|0;n=i+64|0;t=i+32|0;o=i+16|0;l=i+8|0;s=i;f[a>>2]=e;f[n>>2]=r;Uf(t,f[n>>2]|0,8);Uf(o,t,4);Uf(l,o,2);Uf(s,l,1);Bf(f[a>>2]|0,f[l>>2]|0,f[s>>2]|0,30015);Bf(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,29863);Bf(f[a>>2]|0,f[t>>2]|0,f[o>>2]|0,29711);Bf(f[a>>2]|0,f[f[n>>2]>>2]|0,f[t>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+8>>2]|0,f[t+4>>2]|0,29559);Bf(f[a>>2]|0,f[t+8>>2]|0,f[o+4>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+16>>2]|0,f[t+8>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+24>>2]|0,f[t+12>>2]|0,29559);Bf(f[a>>2]|0,f[o+8>>2]|0,f[l+4>>2]|0,29863);Bf(f[a>>2]|0,f[t+16>>2]|0,f[o+8>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+32>>2]|0,f[t+16>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+40>>2]|0,f[t+20>>2]|0,29559);Bf(f[a>>2]|0,f[t+24>>2]|0,f[o+12>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+48>>2]|0,f[t+24>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+56>>2]|0,f[t+28>>2]|0,29559);h=i;return}function Uf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;f[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=(f[(f[n>>2]|0)+(f[o>>2]<<1<<2)>>2]|0)+(f[(f[n>>2]|0)+((f[o>>2]<<1)+1<<2)>>2]|0);f[o>>2]=(f[o>>2]|0)+1}h=l;return}function Bf(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,l=0,s=0,u=0;u=h;h=h+16|0;n=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;if((f[l>>2]|0)<=0){h=u;return}$e(f[n>>2]|0,f[o>>2]|0,(f[s>>2]|0)+(a[30167+(f[l>>2]|0)>>0]|0)|0,8);h=u;return}function jf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0;t=h;h=h+48|0;l=t+8|0;o=t+4|0;c=t;u=t+40|0;s=t+32|0;a=t+16|0;f[l>>2]=e;f[o>>2]=r;f[c>>2]=i;Df(u,u+2|0,f[o>>2]|0,f[c>>2]|0,30015);Df(s,s+2|0,f[o>>2]|0,n[u>>1]|0,29863);Df(a,a+2|0,f[o>>2]|0,n[s>>1]|0,29711);Df(f[l>>2]|0,(f[l>>2]|0)+2|0,f[o>>2]|0,n[a>>1]|0,29559);Df((f[l>>2]|0)+4|0,(f[l>>2]|0)+6|0,f[o>>2]|0,n[a+2>>1]|0,29559);Df(a+4|0,a+6|0,f[o>>2]|0,n[s+2>>1]|0,29711);Df((f[l>>2]|0)+8|0,(f[l>>2]|0)+10|0,f[o>>2]|0,n[a+4>>1]|0,29559);Df((f[l>>2]|0)+12|0,(f[l>>2]|0)+14|0,f[o>>2]|0,n[a+6>>1]|0,29559);Df(s+4|0,s+6|0,f[o>>2]|0,n[u+2>>1]|0,29863);Df(a+8|0,a+10|0,f[o>>2]|0,n[s+4>>1]|0,29711);Df((f[l>>2]|0)+16|0,(f[l>>2]|0)+18|0,f[o>>2]|0,n[a+8>>1]|0,29559);Df((f[l>>2]|0)+20|0,(f[l>>2]|0)+22|0,f[o>>2]|0,n[a+10>>1]|0,29559);Df(a+12|0,a+14|0,f[o>>2]|0,n[s+6>>1]|0,29711);Df((f[l>>2]|0)+24|0,(f[l>>2]|0)+26|0,f[o>>2]|0,n[a+12>>1]|0,29559);Df((f[l>>2]|0)+28|0,(f[l>>2]|0)+30|0,f[o>>2]|0,n[a+14>>1]|0,29559);h=t;return}function Df(e,r,i,t,o){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;l=w+16|0;s=w+12|0;u=w+8|0;c=w+4|0;b=w;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=o;if((f[c>>2]|0)>0){o=(Fe(f[u>>2]|0,(f[b>>2]|0)+(a[30167+(f[c>>2]|0)>>0]|0)|0,8)|0)&65535;n[f[l>>2]>>1]=o;n[f[s>>2]>>1]=(f[c>>2]|0)-(n[f[l>>2]>>1]|0);h=w;return}else{n[f[l>>2]>>1]=0;n[f[s>>2]>>1]=0;h=w;return}}function Nf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0;a=h;h=h+16|0;i=a+8|0;t=a+4|0;n=a;f[i>>2]=e;f[n>>2]=0;e=f[i>>2]|0;r=e+112|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(r|0));f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;r=Ff(50/((f[t>>2]|0)+1|0)|0,1)|0;f[(f[i>>2]|0)+92+(f[t>>2]<<2)>>2]=r;f[t>>2]=(f[t>>2]|0)+1}f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;f[(f[i>>2]|0)+60+(f[t>>2]<<2)>>2]=(f[(f[i>>2]|0)+92+(f[t>>2]<<2)>>2]|0)*100;f[(f[i>>2]|0)+76+(f[t>>2]<<2)>>2]=2147483647/(f[(f[i>>2]|0)+60+(f[t>>2]<<2)>>2]|0)|0;f[t>>2]=(f[t>>2]|0)+1}f[(f[i>>2]|0)+108>>2]=15;f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;f[(f[i>>2]|0)+40+(f[t>>2]<<2)>>2]=25600;f[t>>2]=(f[t>>2]|0)+1}h=a;return f[n>>2]|0}function Ff(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function zf(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;M=h;h=h+144|0;v=M+132|0;L=M+128|0;_=M+124|0;d=M+120|0;k=M+116|0;O=M+112|0;x=M+108|0;s=M+104|0;o=M+100|0;l=M+96|0;m=M+92|0;u=M+88|0;E=M+84|0;c=M+80|0;p=M+76|0;R=M+72|0;i=M+136|0;w=M+56|0;y=M+40|0;T=M+36|0;b=M+32|0;a=M+16|0;S=M+8|0;A=M+4|0;g=M;f[v>>2]=e;f[L>>2]=r;f[S>>2]=0;f[A>>2]=(f[v>>2]|0)+32;f[O>>2]=f[(f[v>>2]|0)+4608>>2]>>1;f[x>>2]=f[(f[v>>2]|0)+4608>>2]>>2;f[s>>2]=f[(f[v>>2]|0)+4608>>2]>>3;f[a>>2]=0;f[a+4>>2]=(f[s>>2]|0)+(f[x>>2]|0);f[a+8>>2]=(f[a+4>>2]|0)+(f[s>>2]|0);f[a+12>>2]=(f[a+8>>2]|0)+(f[x>>2]|0);e=(f[a+12>>2]|0)+(f[O>>2]|0)|0;f[g>>2]=he()|0;t=h;h=h+((1*(e<<1)|0)+15&-16)|0;Oa(f[L>>2]|0,f[A>>2]|0,t,t+(f[a+12>>2]<<1)|0,f[(f[v>>2]|0)+4608>>2]|0);Oa(t,(f[A>>2]|0)+8|0,t,t+(f[a+8>>2]<<1)|0,f[O>>2]|0);Oa(t,(f[A>>2]|0)+16|0,t,t+(f[a+4>>2]<<1)|0,f[x>>2]|0);n[t+((f[s>>2]|0)-1<<1)>>1]=n[t+((f[s>>2]|0)-1<<1)>>1]>>1;n[i>>1]=n[t+((f[s>>2]|0)-1<<1)>>1]|0;f[u>>2]=(f[s>>2]|0)-1;while(1){if((f[u>>2]|0)<=0)break;n[t+((f[u>>2]|0)-1<<1)>>1]=n[t+((f[u>>2]|0)-1<<1)>>1]>>1;L=t+(f[u>>2]<<1)|0;n[L>>1]=(n[L>>1]|0)-(n[t+((f[u>>2]|0)-1<<1)>>1]|0);f[u>>2]=(f[u>>2]|0)+-1}n[t>>1]=(n[t>>1]|0)-(n[(f[A>>2]|0)+56>>1]|0);n[(f[A>>2]|0)+56>>1]=n[i>>1]|0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=f[(f[v>>2]|0)+4608>>2]|0;f[s>>2]=L>>(Yf(4-(f[E>>2]|0)|0,3)|0);f[o>>2]=f[s>>2]>>2;f[l>>2]=0;f[w+(f[E>>2]<<2)>>2]=f[(f[A>>2]|0)+24+(f[E>>2]<<2)>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=4)break;f[p>>2]=0;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=n[t+((f[a+(f[E>>2]<<2)>>2]|0)+(f[u>>2]|0)+(f[l>>2]|0)<<1)>>1]>>3;f[p>>2]=(f[p>>2]|0)+(re((f[b>>2]&65535)<<16>>16,(f[b>>2]&65535)<<16>>16)|0);f[u>>2]=(f[u>>2]|0)+1}r=f[w+(f[E>>2]<<2)>>2]|0;e=f[p>>2]|0;if((f[c>>2]|0)<3){if(r+e&-2147483648|0)r=2147483647;else r=(f[w+(f[E>>2]<<2)>>2]|0)+(f[p>>2]|0)|0;f[w+(f[E>>2]<<2)>>2]=r}else{if(r+(e>>1)&-2147483648|0)r=2147483647;else r=(f[w+(f[E>>2]<<2)>>2]|0)+(f[p>>2]>>1)|0;f[w+(f[E>>2]<<2)>>2]=r}f[l>>2]=(f[l>>2]|0)+(f[o>>2]|0);f[c>>2]=(f[c>>2]|0)+1}f[(f[A>>2]|0)+24+(f[E>>2]<<2)>>2]=f[p>>2];f[E>>2]=(f[E>>2]|0)+1}Hf(w,f[A>>2]|0);f[p>>2]=0;f[k>>2]=0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;f[T>>2]=(f[w+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0);r=f[E>>2]|0;if((f[T>>2]|0)>0){e=f[w+(f[E>>2]<<2)>>2]|0;if(!(f[w+(r<<2)>>2]&-8388608))f[y+(f[E>>2]<<2)>>2]=(e<<8|0)/((f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0)+1|0)|0;else f[y+(f[E>>2]<<2)>>2]=(e|0)/((f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]>>8)+1|0)|0;f[m>>2]=(Ba(f[y+(f[E>>2]<<2)>>2]|0)|0)-1024;f[p>>2]=(f[p>>2]|0)+(re((f[m>>2]&65535)<<16>>16,(f[m>>2]&65535)<<16>>16)|0);if((f[T>>2]|0)<1048576){O=(Wf(f[T>>2]|0)|0)<<6>>16;O=re(O,(f[m>>2]&65535)<<16>>16)|0;L=(Wf(f[T>>2]|0)|0)<<6&65535;f[m>>2]=O+((re(L,(f[m>>2]&65535)<<16>>16)|0)>>16)}L=re(f[17944+(f[E>>2]<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[k>>2]=(f[k>>2]|0)+(L+((re(f[17944+(f[E>>2]<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16))}else f[y+(r<<2)>>2]=256;f[E>>2]=(f[E>>2]|0)+1}f[p>>2]=(f[p>>2]|0)/4|0;f[d>>2]=((Wf(f[p>>2]|0)|0)*3&65535)<<16>>16;f[_>>2]=mi(0+(((f[d>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;L=(mi(f[k>>2]|0)|0)-16384<<1;f[(f[v>>2]|0)+4744>>2]=L;f[T>>2]=0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=re((f[E>>2]|0)+1|0,(f[w+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0)>>4)|0;f[T>>2]=(f[T>>2]|0)+L;f[E>>2]=(f[E>>2]|0)+1}if((f[T>>2]|0)>0){if((f[T>>2]|0)<32768){r=f[T>>2]|0;if((f[(f[v>>2]|0)+4608>>2]|0)==((f[(f[v>>2]|0)+4600>>2]|0)*10|0)){if((r|0)>32767)r=32767;else r=(f[T>>2]|0)<-32768?-32768:f[T>>2]|0;f[T>>2]=r<<16}else{if((r|0)>65535)r=65535;else r=(f[T>>2]|0)<-65536?-65536:f[T>>2]|0;f[T>>2]=r<<15}f[T>>2]=Wf(f[T>>2]|0)|0;L=re(32768+(f[T>>2]|0)>>16,(f[_>>2]&65535)<<16>>16)|0;f[_>>2]=L+((re(32768+(f[T>>2]|0)&65535,(f[_>>2]&65535)<<16>>16)|0)>>16)}}else f[_>>2]=f[_>>2]>>1;L=Yf(f[_>>2]>>7,255)|0;f[(f[v>>2]|0)+4556>>2]=L;L=re(f[_>>2]>>16,(f[_>>2]&65535)<<16>>16)|0;f[R>>2]=0+((L+((re(f[_>>2]&65535,(f[_>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((f[(f[v>>2]|0)+4608>>2]|0)==((f[(f[v>>2]|0)+4600>>2]|0)*10|0))f[R>>2]=f[R>>2]>>1;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=re((f[y+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)>>16,(f[R>>2]&65535)<<16>>16)|0;L=(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)+(L+((re((f[y+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)&65535,(f[R>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]=L;f[m>>2]=((Ba(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)|0)-1024|0)*3;L=mi((f[m>>2]|0)-2048>>4)|0;f[(f[v>>2]|0)+4728+(f[E>>2]<<2)>>2]=L;f[E>>2]=(f[E>>2]|0)+1}L=f[S>>2]|0;de(f[g>>2]|0);h=M;return L|0}function Yf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Hf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;i=c+28|0;t=c+24|0;o=c+20|0;s=c+16|0;u=c+12|0;a=c+8|0;n=c+4|0;l=c;f[i>>2]=e;f[t>>2]=r;if((f[(f[t>>2]|0)+108>>2]|0)<1e3)f[l>>2]=32767/((f[(f[t>>2]|0)+108>>2]>>4)+1|0)|0;else f[l>>2]=0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=4)break;f[s>>2]=f[(f[t>>2]|0)+60+(f[o>>2]<<2)>>2];if((f[(f[i>>2]|0)+(f[o>>2]<<2)>>2]|0)+(f[(f[t>>2]|0)+92+(f[o>>2]<<2)>>2]|0)&-2147483648|0)e=2147483647;else e=(f[(f[i>>2]|0)+(f[o>>2]<<2)>>2]|0)+(f[(f[t>>2]|0)+92+(f[o>>2]<<2)>>2]|0)|0;f[u>>2]=e;f[a>>2]=2147483647/(f[u>>2]|0)|0;do{if((f[u>>2]|0)<=(f[s>>2]<<3|0))if((f[u>>2]|0)<(f[s>>2]|0)){f[n>>2]=1024;break}else{e=re(f[a>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;e=e+((re(f[a>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;e=e+(re(f[a>>2]|0,(f[s>>2]>>15)+1>>1)|0)>>16<<11;r=re(f[a>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=r+((re(f[a>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;f[n>>2]=e+((r+(re(f[a>>2]|0,(f[s>>2]>>15)+1>>1)|0)&65535)<<11>>16);break}else f[n>>2]=128}while(0);f[n>>2]=qf(f[n>>2]|0,f[l>>2]|0)|0;r=re((f[a>>2]|0)-(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)>>16,(f[n>>2]&65535)<<16>>16)|0;r=(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)+(r+((re((f[a>>2]|0)-(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)&65535,(f[n>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]=r;f[s>>2]=2147483647/(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)|0;f[s>>2]=(f[s>>2]|0)<16777215?f[s>>2]|0:16777215;f[(f[t>>2]|0)+60+(f[o>>2]<<2)>>2]=f[s>>2];f[o>>2]=(f[o>>2]|0)+1}u=(f[t>>2]|0)+108|0;f[u>>2]=(f[u>>2]|0)+1;h=c;return}function qf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Wf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Zf(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Zf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Vf(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Jf(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Vf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Jf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Gf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;n=o+12|0;i=o+8|0;a=o+4|0;t=o;f[n>>2]=e;f[i>>2]=r;f[a>>2]=f[(f[n>>2]|0)+4600>>2];f[t>>2]=((f[a>>2]&65535)<<16>>16)*1e3;if(!(f[t>>2]|0)){r=f[n>>2]|0;if((f[(f[n>>2]|0)+4596>>2]|0)<(f[(f[n>>2]|0)+4580>>2]|0))r=f[r+4596>>2]|0;else r=f[r+4580>>2]|0;f[t>>2]=r;f[a>>2]=(f[t>>2]|0)/1e3|0;a=f[a>>2]|0;h=o;return a|0}if(((f[t>>2]|0)<=(f[(f[n>>2]|0)+4580>>2]|0)?(f[t>>2]|0)<=(f[(f[n>>2]|0)+4588>>2]|0):0)?(f[t>>2]|0)>=(f[(f[n>>2]|0)+4592>>2]|0):0){if((f[(f[n>>2]|0)+16+8>>2]|0)>=256)f[(f[n>>2]|0)+16+12>>2]=0;if((f[(f[n>>2]|0)+4560>>2]|0)==0?(f[(f[i>>2]|0)+60>>2]|0)==0:0){a=f[a>>2]|0;h=o;return a|0}r=f[n>>2]|0;if((((f[(f[n>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0)>(f[(f[n>>2]|0)+4596>>2]|0)){if(!(f[r+16+12>>2]|0)){f[(f[n>>2]|0)+16+8>>2]=256;t=(f[n>>2]|0)+16|0;f[t>>2]=0;f[t+4>>2]=0}r=(f[n>>2]|0)+16|0;if(f[(f[i>>2]|0)+60>>2]|0){f[r+12>>2]=0;f[a>>2]=(f[(f[n>>2]|0)+4600>>2]|0)==16?12:8;a=f[a>>2]|0;h=o;return a|0}if((f[r+8>>2]|0)<=0){f[(f[i>>2]|0)+84>>2]=1;n=(f[i>>2]|0)+52|0;f[n>>2]=(f[n>>2]|0)-(((f[(f[i>>2]|0)+52>>2]|0)*5|0)/((f[(f[i>>2]|0)+24>>2]|0)+5|0)|0);a=f[a>>2]|0;h=o;return a|0}else{f[(f[n>>2]|0)+16+12>>2]=-2;a=f[a>>2]|0;h=o;return a|0}}if((((f[r+4600>>2]&65535)<<16>>16)*1e3|0)>=(f[(f[n>>2]|0)+4596>>2]|0)){if((f[(f[n>>2]|0)+16+12>>2]|0)>=0){a=f[a>>2]|0;h=o;return a|0}f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}r=f[n>>2]|0;if(f[(f[i>>2]|0)+60>>2]|0){f[a>>2]=(f[r+4600>>2]|0)==8?12:16;f[(f[n>>2]|0)+16+8>>2]=0;t=(f[n>>2]|0)+16|0;f[t>>2]=0;f[t+4>>2]=0;f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}if(!(f[r+16+12>>2]|0)){f[(f[i>>2]|0)+84>>2]=1;n=(f[i>>2]|0)+52|0;f[n>>2]=(f[n>>2]|0)-(((f[(f[i>>2]|0)+52>>2]|0)*5|0)/((f[(f[i>>2]|0)+24>>2]|0)+5|0)|0);a=f[a>>2]|0;h=o;return a|0}else{f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}}f[t>>2]=f[(f[n>>2]|0)+4580>>2];if((f[t>>2]|0)<(f[(f[n>>2]|0)+4588>>2]|0))r=f[t>>2]|0;else r=f[(f[n>>2]|0)+4588>>2]|0;f[t>>2]=r;if((f[t>>2]|0)>(f[(f[n>>2]|0)+4592>>2]|0))r=f[t>>2]|0;else r=f[(f[n>>2]|0)+4592>>2]|0;f[t>>2]=r;f[a>>2]=(f[t>>2]|0)/1e3|0;a=f[a>>2]|0;h=o;return a|0}function Kf(e,r,i,a,o,l,s,u,c){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;D=h;h=h+112|0;O=D+96|0;L=D+92|0;b=D+88|0;P=D+84|0;w=D+80|0;k=D+76|0;d=D+72|0;I=D+68|0;B=D+60|0;j=D+56|0;y=D+52|0;x=D+100|0;_=D+48|0;U=D+44|0;g=D+40|0;v=D+36|0;p=D+32|0;T=D+28|0;R=D+24|0;S=D+20|0;M=D+16|0;C=D+12|0;A=D+8|0;m=D+4|0;E=D;f[O>>2]=e;f[L>>2]=r;f[b>>2]=i;f[P>>2]=a;f[w>>2]=o;f[k>>2]=l;f[d>>2]=s;f[I>>2]=u;f[D+64>>2]=c;f[S>>2]=2147483647;f[C>>2]=0;f[j>>2]=0;while(1){if((f[j>>2]|0)>=3)break;f[E>>2]=51;f[_>>2]=f[17632+(f[j>>2]<<2)>>2];f[U>>2]=f[17644+(f[j>>2]<<2)>>2];f[g>>2]=f[17656+(f[j>>2]<<2)>>2];f[y>>2]=t[27263+(f[j>>2]|0)>>0];f[p>>2]=f[w>>2];f[v>>2]=f[O>>2];f[R>>2]=0;f[M>>2]=f[f[P>>2]>>2];f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[I>>2]|0))break;a=Fa(5333-(f[M>>2]|0)+896|0)|0;f[A>>2]=a-(f[E>>2]|0);Xf(x+(f[B>>2]|0)|0,T,m,f[v>>2]|0,f[p>>2]|0,f[U>>2]|0,f[g>>2]|0,f[_>>2]|0,f[k>>2]|0,f[A>>2]|0,f[y>>2]|0);if((f[R>>2]|0)+(f[T>>2]|0)&-2147483648|0)e=2147483647;else e=(f[R>>2]|0)+(f[T>>2]|0)|0;f[R>>2]=e;a=f[M>>2]|0;if(0>(a+(Ba((f[E>>2]|0)+(f[m>>2]|0)|0)|0)-896|0))e=0;else{e=f[M>>2]|0;e=e+(Ba((f[E>>2]|0)+(f[m>>2]|0)|0)|0)-896|0}f[M>>2]=e;f[v>>2]=(f[v>>2]|0)+10;f[p>>2]=(f[p>>2]|0)+100;f[B>>2]=(f[B>>2]|0)+1}f[R>>2]=2147483646<(f[R>>2]|0)?2147483646:f[R>>2]|0;if((f[R>>2]|0)<(f[S>>2]|0)){f[S>>2]=f[R>>2];t[f[b>>2]>>0]=f[j>>2];gs(f[L>>2]|0,x|0,f[I>>2]|0)|0;f[C>>2]=f[M>>2]}if(f[d>>2]|0?(f[R>>2]|0)<(n[12226]|0):0)break;f[j>>2]=(f[j>>2]|0)+1}f[U>>2]=f[17644+(t[f[b>>2]>>0]<<2)>>2];f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[I>>2]|0))break;f[j>>2]=0;while(1){e=f[B>>2]|0;if((f[j>>2]|0)>=5)break;n[(f[O>>2]|0)+(((f[B>>2]|0)*5|0)+(f[j>>2]|0)<<1)>>1]=t[(f[U>>2]|0)+(((t[(f[L>>2]|0)+e>>0]|0)*5|0)+(f[j>>2]|0))>>0]<<7;f[j>>2]=(f[j>>2]|0)+1}f[B>>2]=e+1}f[f[P>>2]>>2]=f[C>>2];h=D;return}function Xf(e,r,i,o,l,s,u,c,b,w,k){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;P=h;h=h+80|0;d=P+60|0;p=P+56|0;g=P+52|0;y=P+48|0;_=P+44|0;I=P+40|0;m=P+36|0;E=P+32|0;A=P+28|0;S=P+24|0;v=P+20|0;x=P+16|0;M=P+12|0;R=P+8|0;T=P+64|0;O=P+4|0;L=P;f[d>>2]=e;f[p>>2]=r;f[g>>2]=i;f[y>>2]=o;f[_>>2]=l;f[I>>2]=s;f[m>>2]=u;f[E>>2]=c;f[A>>2]=b;f[S>>2]=w;f[v>>2]=k;f[f[p>>2]>>2]=2147483647;f[R>>2]=f[I>>2];f[x>>2]=0;while(1){if((f[x>>2]|0)>=(f[v>>2]|0))break;f[M>>2]=a[(f[m>>2]|0)+(f[x>>2]|0)>>0];n[T>>1]=(n[f[y>>2]>>1]|0)-(t[f[R>>2]>>0]<<7);n[T+2>>1]=(n[(f[y>>2]|0)+2>>1]|0)-(t[(f[R>>2]|0)+1>>0]<<7);n[T+4>>1]=(n[(f[y>>2]|0)+4>>1]|0)-(t[(f[R>>2]|0)+2>>0]<<7);n[T+6>>1]=(n[(f[y>>2]|0)+6>>1]|0)-(t[(f[R>>2]|0)+3>>0]<<7);n[T+8>>1]=(n[(f[y>>2]|0)+8>>1]|0)-(t[(f[R>>2]|0)+4>>0]<<7);f[O>>2]=re((f[A>>2]&65535)<<16>>16,a[(f[E>>2]|0)+(f[x>>2]|0)>>0]|0)|0;if(((f[M>>2]|0)-(f[S>>2]|0)|0)>0)k=(f[M>>2]|0)-(f[S>>2]|0)|0;else k=0;f[O>>2]=(f[O>>2]|0)+(k<<10);I=re(f[(f[_>>2]|0)+4>>2]>>16,n[T+2>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+4>>2]&65535,n[T+2>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+8>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+8>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+12>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+12>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+16>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+16>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[f[_>>2]>>2]>>16,n[T>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[f[_>>2]>>2]&65535,n[T>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+28>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+28>>2]&65535,n[T+4>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+32>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+32>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+36>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+36>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+24>>2]>>16,n[T+2>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+24>>2]&65535,n[T+2>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+2>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+2>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+52>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+52>>2]&65535,n[T+6>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+56>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+56>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+48>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+48>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+4>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+76>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+76>>2]&65535,n[T+8>>1]|0)|0)>>16);f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+72>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+72>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+6>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+96>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+96>>2]&65535,n[T+8>>1]|0)|0)>>16);I=re(f[L>>2]>>16,n[T+8>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+8>>1]|0)|0)>>16));if((f[O>>2]|0)<(f[f[p>>2]>>2]|0)){f[f[p>>2]>>2]=f[O>>2];t[f[d>>2]>>0]=f[x>>2];f[f[g>>2]>>2]=f[M>>2]}f[R>>2]=(f[R>>2]|0)+5;f[x>>2]=(f[x>>2]|0)+1}h=P;return}function $f(e){e=e|0;var r=0,i=0,n=0,a=0,o=0,l=0,s=0,u=0;l=h;h=h+32|0;s=l+20|0;n=l+16|0;r=l+12|0;i=l+8|0;a=l+4|0;o=l;f[s>>2]=e;f[o>>2]=f[s>>2];if((t[(f[o>>2]|0)+4565>>0]|0)!=2){h=l;return}f[r>>2]=((f[(f[o>>2]|0)+4600>>2]|0)*1e3<<16|0)/(f[(f[o>>2]|0)+4568>>2]|0)|0;f[i>>2]=(Ba(f[r>>2]|0)|0)-2048;f[n>>2]=f[(f[o>>2]|0)+4728>>2];u=f[i>>2]|0;e=re(0-(f[n>>2]|0)<<2>>16,(f[n>>2]&65535)<<16>>16)|0;e=e+((re(0-(f[n>>2]|0)<<2&65535,(f[n>>2]&65535)<<16>>16)|0)>>16)>>16;r=f[i>>2]|0;r=re(e,(r-((Ba(3932160)|0)-2048)&65535)<<16>>16)|0;e=re(0-(f[n>>2]|0)<<2>>16,(f[n>>2]&65535)<<16>>16)|0;e=e+((re(0-(f[n>>2]|0)<<2&65535,(f[n>>2]&65535)<<16>>16)|0)>>16)&65535;s=f[i>>2]|0;f[i>>2]=u+(r+((re(e,(s-((Ba(3932160)|0)-2048)&65535)<<16>>16)|0)>>16));f[a>>2]=(f[i>>2]|0)-(f[(f[o>>2]|0)+8>>2]>>8);if((f[a>>2]|0)<0)f[a>>2]=(f[a>>2]|0)*3;if((f[a>>2]|0)>51)r=51;else r=(f[a>>2]|0)<-51?-51:f[a>>2]|0;f[a>>2]=r;u=((re((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0)>>16)*6554|0;u=(f[(f[o>>2]|0)+8>>2]|0)+(u+(((re((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0)&65535)*6554>>16))|0;f[(f[o>>2]|0)+8>>2]=u;u=(Ba(60)|0)<<8;u=(u|0)>((Ba(100)|0)<<8|0);r=f[(f[o>>2]|0)+8>>2]|0;do{if(u){if((r|0)>((Ba(60)|0)<<8|0)){r=(Ba(60)|0)<<8;break}u=f[(f[o>>2]|0)+8>>2]|0;if((u|0)<((Ba(100)|0)<<8|0)){r=(Ba(100)|0)<<8;break}else{r=f[(f[o>>2]|0)+8>>2]|0;break}}else{if((r|0)>((Ba(100)|0)<<8|0)){r=(Ba(100)|0)<<8;break}u=f[(f[o>>2]|0)+8>>2]|0;if((u|0)<((Ba(60)|0)<<8|0)){r=(Ba(60)|0)<<8;break}else{r=f[(f[o>>2]|0)+8>>2]|0;break}}}while(0);f[(f[o>>2]|0)+8>>2]=r;h=l;return}function Qf(e,r,i,l,s,u,c){e=e|0;r=r|0;i=i|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;j=h;h=h+288|0;b=j+64|0;w=j+60|0;k=j+56|0;d=j+52|0;p=j+48|0;v=j+44|0;g=j+40|0;M=j+36|0;B=j+32|0;O=j+28|0;S=j+24|0;I=j+20|0;R=j+16|0;E=j+12|0;U=j+232|0;C=j+200|0;_=j+168|0;A=j+136|0;m=j+104|0;P=j+264|0;T=j+72|0;L=j+8|0;x=j+4|0;y=j;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=l;f[p>>2]=s;f[v>>2]=u;f[g>>2]=c;fi(f[w>>2]|0,f[(f[k>>2]|0)+32>>2]|0,n[(f[k>>2]|0)+2>>1]|0);s=o[f[k>>2]>>1]|0;f[y>>2]=he()|0;u=h;h=h+((1*(s<<2)|0)+15&-16)|0;na(u,f[w>>2]|0,f[(f[k>>2]|0)+8>>2]|0,n[f[k>>2]>>1]|0,n[(f[k>>2]|0)+2>>1]|0);s=h;h=h+((1*(f[v>>2]<<2)|0)+15&-16)|0;Ei(u,s,n[f[k>>2]>>1]|0,f[v>>2]|0);u=h;h=h+((1*(f[v>>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[v>>2]<<4)|0)+15&-16)|0;f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[v>>2]|0))break;f[O>>2]=f[s+(f[B>>2]<<2)>>2];c=re(f[O>>2]|0,n[(f[k>>2]|0)+2>>1]|0)|0;f[L>>2]=(f[(f[k>>2]|0)+8>>2]|0)+c;f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;n[_+(f[M>>2]<<1)>>1]=(a[(f[L>>2]|0)+(f[M>>2]|0)>>0]&65535)<<7;n[U+(f[M>>2]<<1)>>1]=(n[(f[w>>2]|0)+(f[M>>2]<<1)>>1]|0)-(n[_+(f[M>>2]<<1)>>1]|0);f[M>>2]=(f[M>>2]|0)+1}li(A,_,n[(f[k>>2]|0)+2>>1]|0);f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;f[E>>2]=ea(n[A+(f[M>>2]<<1)>>1]<<16)|0;c=(re(n[U+(f[M>>2]<<1)>>1]|0,(f[E>>2]&65535)<<16>>16)|0)>>14&65535;n[C+(f[M>>2]<<1)>>1]=c;f[M>>2]=(f[M>>2]|0)+1}f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;n[m+(f[M>>2]<<1)>>1]=(n[(f[d>>2]|0)+(f[M>>2]<<1)>>1]<<5|0)/(n[A+(f[M>>2]<<1)>>1]|0)|0;f[M>>2]=(f[M>>2]|0)+1}fa(T,P,f[k>>2]|0,f[O>>2]|0);e=aa(r+(f[B>>2]<<4)|0,C,m,P,T,f[(f[k>>2]|0)+28>>2]|0,n[(f[k>>2]|0)+4>>1]|0,n[(f[k>>2]|0)+6>>1]|0,f[p>>2]|0,n[(f[k>>2]|0)+2>>1]|0)|0;f[u+(f[B>>2]<<2)>>2]=e;e=re(f[g>>2]>>1,n[f[k>>2]>>1]|0)|0;f[x>>2]=(f[(f[k>>2]|0)+12>>2]|0)+e;e=f[O>>2]|0;if(!(f[O>>2]|0))f[I>>2]=256-(a[(f[x>>2]|0)+e>>0]|0);else f[I>>2]=(a[(f[x>>2]|0)+(e-1)>>0]|0)-(a[(f[x>>2]|0)+(f[O>>2]|0)>>0]|0);f[R>>2]=1024-(Ba(f[I>>2]|0)|0);c=(f[u+(f[B>>2]<<2)>>2]|0)+(re((f[R>>2]&65535)<<16>>16,(f[p>>2]>>2&65535)<<16>>16)|0)|0;f[u+(f[B>>2]<<2)>>2]=c;f[B>>2]=(f[B>>2]|0)+1}Ei(u,S,f[v>>2]|0,1);t[f[b>>2]>>0]=f[s+(f[S>>2]<<2)>>2];gs((f[b>>2]|0)+1|0,r+(f[S>>2]<<4)|0,n[(f[k>>2]|0)+2>>1]|0)|0;Po(f[w>>2]|0,f[b>>2]|0,f[k>>2]|0);B=f[u>>2]|0;de(f[y>>2]|0);h=j;return B|0}function ea(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}ra(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function ra(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=ia(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(ta(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function ia(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ta(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function na(e,r,i,t,o){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+36|0;s=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;k=g+16|0;d=g+12|0;w=g+8|0;v=g+4|0;p=g;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=o;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;f[p>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;i=n[(f[s>>2]|0)+(f[d>>2]<<1)>>1]|0;r=f[u>>2]|0;f[u>>2]=r+1;f[w>>2]=i-(a[r>>0]<<7);f[v>>2]=re((f[w>>2]&65535)<<16>>16,(f[w>>2]&65535)<<16>>16)|0;r=n[(f[s>>2]|0)+((f[d>>2]|0)+1<<1)>>1]|0;i=f[u>>2]|0;f[u>>2]=i+1;f[w>>2]=r-(a[i>>0]<<7);f[v>>2]=(f[v>>2]|0)+(re((f[w>>2]&65535)<<16>>16,(f[w>>2]&65535)<<16>>16)|0);f[p>>2]=(f[p>>2]|0)+(f[v>>2]>>4);f[d>>2]=(f[d>>2]|0)+2}f[(f[l>>2]|0)+(f[k>>2]<<2)>>2]=f[p>>2];f[k>>2]=(f[k>>2]|0)+1}h=g;return}function fa(e,r,i,o){e=e|0;r=r|0;i=i|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+32|0;l=k+20|0;s=k+16|0;u=k+12|0;d=k+8|0;w=k+4|0;b=k+24|0;c=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[d>>2]=o;i=(re(f[d>>2]|0,n[(f[u>>2]|0)+2>>1]|0)|0)/2|0;f[c>>2]=(f[(f[u>>2]|0)+20>>2]|0)+i;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(n[(f[u>>2]|0)+2>>1]|0))break;d=f[c>>2]|0;f[c>>2]=d+1;t[b>>0]=t[d>>0]|0;n[(f[l>>2]|0)+(f[w>>2]<<1)>>1]=((a[b>>0]>>1&7)<<16>>16)*9;d=(f[w>>2]|0)+(re(a[b>>0]&1,(n[(f[u>>2]|0)+2>>1]|0)-1|0)|0)|0;t[(f[s>>2]|0)+(f[w>>2]|0)>>0]=t[(f[(f[u>>2]|0)+16>>2]|0)+d>>0]|0;n[(f[l>>2]|0)+((f[w>>2]|0)+1<<1)>>1]=((a[b>>0]>>5&7)<<16>>16)*9;d=(f[w>>2]|0)+(re(a[b>>0]>>4&1,(n[(f[u>>2]|0)+2>>1]|0)-1|0)|0)+1|0;t[(f[s>>2]|0)+((f[w>>2]|0)+1)>>0]=t[(f[(f[u>>2]|0)+16>>2]|0)+d>>0]|0;f[w>>2]=(f[w>>2]|0)+2}h=k;return}function aa(e,r,i,o,l,s,u,c,b,w){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0;Q=h;h=h+448|0;d=Q+352|0;p=Q+348|0;v=Q+344|0;g=Q+340|0;y=Q+336|0;_=Q+332|0;k=Q+328|0;m=Q+378|0;E=Q+324|0;A=Q+376|0;O=Q+320|0;j=Q+316|0;z=Q+312|0;B=Q+308|0;C=Q+304|0;I=Q+300|0;L=Q+296|0;$=Q+292|0;Z=Q+288|0;x=Q+284|0;Y=Q+280|0;q=Q+276|0;G=Q+272|0;K=Q+268|0;M=Q+264|0;N=Q+260|0;F=Q+256|0;D=Q+252|0;V=Q+248|0;U=Q+232|0;P=Q+384|0;J=Q+360|0;S=Q+200|0;T=Q+184|0;R=Q+168|0;X=Q+160|0;H=Q+80|0;W=Q;f[d>>2]=e;f[p>>2]=r;f[v>>2]=i;f[g>>2]=o;f[y>>2]=l;f[_>>2]=s;f[k>>2]=u;n[m>>1]=c;f[E>>2]=b;n[A>>1]=w;f[O>>2]=-10;while(1){if((f[O>>2]|0)>9)break;f[Y>>2]=f[O>>2]<<10;f[q>>2]=(f[Y>>2]|0)+1024;do{if((f[O>>2]|0)<=0){if(!(f[O>>2]|0)){f[q>>2]=(f[q>>2]|0)-102;break}r=(f[O>>2]|0)==-1;f[Y>>2]=(f[Y>>2]|0)+102;if(!r)f[q>>2]=(f[q>>2]|0)+102}else{f[Y>>2]=(f[Y>>2]|0)-102;f[q>>2]=(f[q>>2]|0)-102}}while(0);r=re(f[Y>>2]>>16,(f[k>>2]&65535)<<16>>16)|0;r=r+((re(f[Y>>2]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16)|0;f[H+((f[O>>2]|0)+10<<2)>>2]=r;r=re(f[q>>2]>>16,(f[k>>2]&65535)<<16>>16)|0;r=r+((re(f[q>>2]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16)|0;f[W+((f[O>>2]|0)+10<<2)>>2]=r;f[O>>2]=(f[O>>2]|0)+1}f[z>>2]=1;f[S>>2]=0;n[J>>1]=0;f[O>>2]=(n[A>>1]|0)-1;e:while(1){f[X>>2]=(f[_>>2]|0)+(n[(f[y>>2]|0)+(f[O>>2]<<1)>>1]|0);f[V>>2]=a[(f[g>>2]|0)+(f[O>>2]|0)>>0]<<8;f[L>>2]=n[(f[p>>2]|0)+(f[O>>2]<<1)>>1];f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[z>>2]|0))break;r=re(f[V>>2]>>16,n[J+(f[j>>2]<<1)>>1]|0)|0;f[Z>>2]=r+((re(f[V>>2]&65535,n[J+(f[j>>2]<<1)>>1]|0)|0)>>16);f[$>>2]=(f[L>>2]|0)-(f[Z>>2]|0);r=re(n[m>>1]>>16,(f[$>>2]&65535)<<16>>16)|0;f[B>>2]=r+((re(n[m>>1]&65535,(f[$>>2]&65535)<<16>>16)|0)>>16);if((f[B>>2]|0)>9)k=9;else k=(f[B>>2]|0)<-10?-10:f[B>>2]|0;f[B>>2]=k;t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]=f[B>>2];f[Y>>2]=f[H+((f[B>>2]|0)+10<<2)>>2];f[q>>2]=f[W+((f[B>>2]|0)+10<<2)>>2];f[Y>>2]=(f[Y>>2]|0)+(f[Z>>2]|0);f[q>>2]=(f[q>>2]|0)+(f[Z>>2]|0);n[J+(f[j>>2]<<1)>>1]=f[Y>>2];n[J+((f[j>>2]|0)+(f[z>>2]|0)<<1)>>1]=f[q>>2];l=f[B>>2]|0;do{if(((f[B>>2]|0)+1|0)>=4){k=f[B>>2]|0;if((l+1|0)==4){f[G>>2]=a[(f[X>>2]|0)+(k+4)>>0];f[K>>2]=280;break}else{f[G>>2]=108+(((k&65535)<<16>>16)*43|0);f[K>>2]=(f[G>>2]|0)+43;break}}else{k=f[B>>2]|0;if((l|0)>-4){f[G>>2]=a[(f[X>>2]|0)+(k+4)>>0];f[K>>2]=a[(f[X>>2]|0)+((f[B>>2]|0)+1+4)>>0];break}if((k|0)==-4){f[G>>2]=280;f[K>>2]=a[(f[X>>2]|0)+((f[B>>2]|0)+1+4)>>0];break}else{f[G>>2]=108+(re(-43,(f[B>>2]&65535)<<16>>16)|0);f[K>>2]=(f[G>>2]|0)-43;break}}}while(0);f[M>>2]=f[S+(f[j>>2]<<2)>>2];f[x>>2]=(f[L>>2]|0)-(f[Y>>2]|0);r=re((f[x>>2]&65535)<<16>>16,(f[x>>2]&65535)<<16>>16)|0;r=(f[M>>2]|0)+(re(r,n[(f[v>>2]|0)+(f[O>>2]<<1)>>1]|0)|0)|0;r=r+(re((f[E>>2]&65535)<<16>>16,(f[G>>2]&65535)<<16>>16)|0)|0;f[S+(f[j>>2]<<2)>>2]=r;f[x>>2]=(f[L>>2]|0)-(f[q>>2]|0);r=re((f[x>>2]&65535)<<16>>16,(f[x>>2]&65535)<<16>>16)|0;r=(f[M>>2]|0)+(re(r,n[(f[v>>2]|0)+(f[O>>2]<<1)>>1]|0)|0)|0;r=r+(re((f[E>>2]&65535)<<16>>16,(f[K>>2]&65535)<<16>>16)|0)|0;f[S+((f[j>>2]|0)+(f[z>>2]|0)<<2)>>2]=r;f[j>>2]=(f[j>>2]|0)+1}r:do{if((f[z>>2]|0)<=2){f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[z>>2]|0))break;t[P+((f[j>>2]|0)+(f[z>>2]|0)<<4)+(f[O>>2]|0)>>0]=(t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]|0)+1;f[j>>2]=(f[j>>2]|0)+1}f[z>>2]=f[z>>2]<<1;f[j>>2]=f[z>>2];while(1){if((f[j>>2]|0)>=4)break r;t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]=t[P+((f[j>>2]|0)-(f[z>>2]|0)<<4)+(f[O>>2]|0)>>0]|0;f[j>>2]=(f[j>>2]|0)+1}}else{if((f[O>>2]|0)<=0)break e;f[j>>2]=0;while(1){if((f[j>>2]|0)>=4)break;k=f[S+(f[j>>2]<<2)>>2]|0;l=f[j>>2]|0;if((f[S+(f[j>>2]<<2)>>2]|0)>(f[S+((f[j>>2]|0)+4<<2)>>2]|0)){f[R+(l<<2)>>2]=k;f[T+(f[j>>2]<<2)>>2]=f[S+((f[j>>2]|0)+4<<2)>>2];f[S+(f[j>>2]<<2)>>2]=f[T+(f[j>>2]<<2)>>2];f[S+((f[j>>2]|0)+4<<2)>>2]=f[R+(f[j>>2]<<2)>>2];f[Y>>2]=n[J+(f[j>>2]<<1)>>1];n[J+(f[j>>2]<<1)>>1]=n[J+((f[j>>2]|0)+4<<1)>>1]|0;n[J+((f[j>>2]|0)+4<<1)>>1]=f[Y>>2];f[U+(f[j>>2]<<2)>>2]=(f[j>>2]|0)+4}else{f[T+(l<<2)>>2]=k;f[R+(f[j>>2]<<2)>>2]=f[S+((f[j>>2]|0)+4<<2)>>2];f[U+(f[j>>2]<<2)>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}while(1){f[F>>2]=2147483647;f[D>>2]=0;f[C>>2]=0;f[I>>2]=0;f[j>>2]=0;while(1){k=f[F>>2]|0;if((f[j>>2]|0)>=4)break;if((k|0)>(f[R+(f[j>>2]<<2)>>2]|0)){f[F>>2]=f[R+(f[j>>2]<<2)>>2];f[C>>2]=f[j>>2]}if((f[D>>2]|0)<(f[T+(f[j>>2]<<2)>>2]|0)){f[D>>2]=f[T+(f[j>>2]<<2)>>2];f[I>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}if((k|0)>=(f[D>>2]|0))break;f[U+(f[I>>2]<<2)>>2]=f[U+(f[C>>2]<<2)>>2]^4;f[S+(f[I>>2]<<2)>>2]=f[S+((f[C>>2]|0)+4<<2)>>2];n[J+(f[I>>2]<<1)>>1]=n[J+((f[C>>2]|0)+4<<1)>>1]|0;f[T+(f[I>>2]<<2)>>2]=0;f[R+(f[C>>2]<<2)>>2]=2147483647;k=P+(f[I>>2]<<4)|0;l=P+(f[C>>2]<<4)|0;s=k+16|0;do{t[k>>0]=t[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(s|0))}f[j>>2]=0;while(1){if((f[j>>2]|0)>=4)break r;r=P+(f[j>>2]<<4)+(f[O>>2]|0)|0;t[r>>0]=(t[r>>0]|0)+(f[U+(f[j>>2]<<2)>>2]>>2);f[j>>2]=(f[j>>2]|0)+1}}}while(0);f[O>>2]=(f[O>>2]|0)+-1}f[B>>2]=0;f[N>>2]=2147483647;f[j>>2]=0;while(1){if((f[j>>2]|0)>=8)break;if((f[N>>2]|0)>(f[S+(f[j>>2]<<2)>>2]|0)){f[N>>2]=f[S+(f[j>>2]<<2)>>2];f[B>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}f[j>>2]=0;while(1){if((f[j>>2]|0)>=(n[A>>1]|0))break;t[(f[d>>2]|0)+(f[j>>2]|0)>>0]=t[P+((f[B>>2]&3)<<4)+(f[j>>2]|0)>>0]|0;f[j>>2]=(f[j>>2]|0)+1}$=f[d>>2]|0;t[$>>0]=(t[$>>0]|0)+(f[B>>2]>>2);h=Q;return f[N>>2]|0}function oa(e,r,i,a){e=e|0;r=r|0;i=i|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+128|0;o=g+28|0;l=g+24|0;s=g+20|0;u=g+16|0;w=g+12|0;b=g+8|0;c=g+4|0;k=g;d=g+96|0;v=g+64|0;p=g+32|0;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=a;e=re(-5,(f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16)|0;f[c>>2]=3146+(e+(((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16)*59246>>16));if((f[(f[o>>2]|0)+4604>>2]|0)==2)f[c>>2]=(f[c>>2]|0)+(f[c>>2]>>1);li(v,f[s>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);if((f[(f[o>>2]|0)+4656>>2]|0)==1)r=(t[(f[o>>2]|0)+4768+31>>0]|0)<4;else r=0;f[b>>2]=r&1;e:do{if(f[b>>2]|0){xo(d,f[u>>2]|0,f[s>>2]|0,t[(f[o>>2]|0)+4768+31>>0]|0,f[(f[o>>2]|0)+4664>>2]|0);li(p,d,f[(f[o>>2]|0)+4664>>2]|0);f[k>>2]=(re(t[(f[o>>2]|0)+4768+31>>0]<<16>>16,t[(f[o>>2]|0)+4768+31>>0]<<16>>16)|0)<<11;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[o>>2]|0)+4664>>2]|0))break e;e=re(n[p+(f[w>>2]<<1)>>1]>>16,(f[k>>2]&65535)<<16>>16)|0;e=(n[v+(f[w>>2]<<1)>>1]>>1)+(e+((re(n[p+(f[w>>2]<<1)>>1]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16))&65535;n[v+(f[w>>2]<<1)>>1]=e;f[w>>2]=(f[w>>2]|0)+1}}}while(0);Qf((f[o>>2]|0)+4768+8|0,f[s>>2]|0,f[(f[o>>2]|0)+4724>>2]|0,v,f[c>>2]|0,f[(f[o>>2]|0)+4692>>2]|0,t[(f[o>>2]|0)+4768+29>>0]|0)|0;Za((f[l>>2]|0)+32|0,f[s>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);if(f[b>>2]|0){xo(d,f[u>>2]|0,f[s>>2]|0,t[(f[o>>2]|0)+4768+31>>0]|0,f[(f[o>>2]|0)+4664>>2]|0);Za(f[l>>2]|0,d,f[(f[o>>2]|0)+4664>>2]|0);h=g;return}else{gs(f[l>>2]|0,(f[l>>2]|0)+32|0,f[(f[o>>2]|0)+4664>>2]<<1|0)|0;h=g;return}}function la(e,r,i,a,o,l,s,u,c,b,w){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0;V=h;h=h+144|0;U=V+128|0;k=V+124|0;D=V+120|0;m=V+116|0;E=V+112|0;A=V+108|0;S=V+104|0;p=V+100|0;R=V+96|0;L=V+92|0;B=V+88|0;F=V+84|0;_=V+80|0;T=V+76|0;P=V+72|0;I=V+68|0;q=V+64|0;d=V+60|0;O=V+56|0;H=V+48|0;z=V+44|0;Y=V+40|0;g=V+36|0;v=V+32|0;M=V+28|0;y=V+24|0;x=V+20|0;Z=V+16|0;W=V+12|0;C=V+8|0;N=V+4|0;j=V;f[U>>2]=e;f[k>>2]=r;f[D>>2]=i;f[m>>2]=a;f[E>>2]=o;f[A>>2]=l;f[S>>2]=s;f[p>>2]=u;f[R>>2]=c;f[L>>2]=b;f[B>>2]=w;f[N>>2]=(f[k>>2]|0)+-4;i=(f[B>>2]|0)+2|0;f[j>>2]=he()|0;l=h;h=h+((1*(i<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=((f[B>>2]|0)+2|0))break;f[q>>2]=(n[(f[k>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0)+(n[(f[D>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0);f[d>>2]=(n[(f[k>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0)-(n[(f[D>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0);n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]=(f[q>>2]>>1)+(f[q>>2]&1);if(((f[d>>2]>>1)+(f[d>>2]&1)|0)<=32767)if(((f[d>>2]>>1)+(f[d>>2]&1)|0)<-32768)w=-32768;else w=(f[d>>2]>>1)+(f[d>>2]&1)|0;else w=32767;n[l+(f[F>>2]<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}a=f[N>>2]|0;o=(f[U>>2]|0)+4|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=(f[U>>2]|0)+8|0;n[l>>1]=n[a>>1]|0;n[l+2>>1]=n[a+2>>1]|0;a=(f[U>>2]|0)+4|0;o=(f[N>>2]|0)+(f[B>>2]<<1)|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=(f[U>>2]|0)+8|0;o=l+(f[B>>2]<<1)|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;o=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=((n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;n[a+(f[F>>2]<<1)>>1]=f[q>>2];n[o+(f[F>>2]<<1)>>1]=(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]|0)-(f[q>>2]|0);f[F>>2]=(f[F>>2]|0)+1}w=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;b=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=((n[l+(f[F>>2]<<1)>>1]|0)+(n[l+((f[F>>2]|0)+2<<1)>>1]|0)+(n[l+((f[F>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;n[w+(f[F>>2]<<1)>>1]=f[q>>2];n[b+(f[F>>2]<<1)>>1]=(n[l+((f[F>>2]|0)+1<<1)>>1]|0)-(f[q>>2]|0);f[F>>2]=(f[F>>2]|0)+1}f[_>>2]=(f[B>>2]|0)==((f[L>>2]|0)*10|0)&1;f[O>>2]=f[_>>2]|0?328:655;d=(re((f[p>>2]&65535)<<16>>16,(f[p>>2]&65535)<<16>>16)|0)>>16;d=re(d,(f[O>>2]&65535)<<16>>16)|0;p=(re((f[p>>2]&65535)<<16>>16,(f[p>>2]&65535)<<16>>16)|0)&65535;f[O>>2]=d+((re(p,(f[O>>2]&65535)<<16>>16)|0)>>16);f[H>>2]=Oi(g,a,w,(f[U>>2]|0)+12|0,f[B>>2]|0,f[O>>2]|0)|0;f[H+4>>2]=Oi(v,o,b,(f[U>>2]|0)+12+8|0,f[B>>2]|0,f[O>>2]|0)|0;f[M>>2]=(f[v>>2]|0)+(((f[g>>2]&65535)<<16>>16)*3|0);f[M>>2]=(f[M>>2]|0)<65536?f[M>>2]|0:65536;_=(f[S>>2]|0)-(f[_>>2]|0?1200:600)|0;f[S>>2]=_;f[S>>2]=(f[S>>2]|0)<1?1:_;f[x>>2]=2e3+(((f[L>>2]&65535)<<16>>16)*900|0);f[y>>2]=(f[M>>2]|0)*3;_=sa(f[S>>2]|0,851968+(f[y>>2]|0)|0,19)|0;f[f[A>>2]>>2]=_;if((f[f[A>>2]>>2]|0)<(f[x>>2]|0)){f[f[A>>2]>>2]=f[x>>2];f[(f[A>>2]|0)+4>>2]=(f[S>>2]|0)-(f[f[A>>2]>>2]|0);_=re(65536+(f[y>>2]|0)>>16,(f[x>>2]&65535)<<16>>16)|0;f[Z>>2]=sa((f[(f[A>>2]|0)+4>>2]<<1)-(f[x>>2]|0)|0,_+((re(65536+(f[y>>2]|0)&65535,(f[x>>2]&65535)<<16>>16)|0)>>16)|0,16)|0;if((f[Z>>2]|0)>16384)w=16384;else w=(f[Z>>2]|0)<0?0:f[Z>>2]|0;f[Z>>2]=w}else{f[(f[A>>2]|0)+4>>2]=(f[S>>2]|0)-(f[f[A>>2]>>2]|0);f[Z>>2]=16384}_=re((f[Z>>2]|0)-(n[(f[U>>2]|0)+28>>1]|0)>>16,(f[O>>2]&65535)<<16>>16)|0;O=(n[(f[U>>2]|0)+28>>1]|0)+(_+((re((f[Z>>2]|0)-(n[(f[U>>2]|0)+28>>1]|0)&65535,(f[O>>2]&65535)<<16>>16)|0)>>16))&65535;n[(f[U>>2]|0)+28>>1]=O;t[f[E>>2]>>0]=0;e:do{if(!(f[R>>2]|0)){do{if(!(n[(f[U>>2]|0)+30>>1]|0)){if((f[S>>2]<<3|0)>=((f[x>>2]|0)*13|0)?(O=re(f[M>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0,(O+((re(f[M>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16)|0)>=819):0)break;f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[f[A>>2]>>2]=f[S>>2];f[(f[A>>2]|0)+4>>2]=0;t[f[E>>2]>>0]=1;break e}}while(0);do{if(n[(f[U>>2]|0)+30>>1]|0){if((f[S>>2]<<3|0)>=((f[x>>2]|0)*11|0)?(O=re(f[M>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0,(O+((re(f[M>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16)|0)>=328):0)break;f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;break e}}while(0);if((n[(f[U>>2]|0)+28>>1]|0)>15565){ji(H,f[m>>2]|0);f[Z>>2]=16384;break}else{f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=n[(f[U>>2]|0)+28>>1];break}}else{f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;ji(H,f[m>>2]|0)}}while(0);do{if((t[f[E>>2]>>0]|0)==1){O=(f[U>>2]|0)+32|0;n[O>>1]=(n[O>>1]|0)+((f[B>>2]|0)-(f[L>>2]<<3));if((n[(f[U>>2]|0)+32>>1]|0)<((f[L>>2]|0)*5|0)){t[f[E>>2]>>0]=0;break}else{n[(f[U>>2]|0)+32>>1]=1e4;break}}else n[(f[U>>2]|0)+32>>1]=0}while(0);if((t[f[E>>2]>>0]|0)==0?(f[(f[A>>2]|0)+4>>2]|0)<1:0){f[(f[A>>2]|0)+4>>2]=1;O=ha(1,(f[S>>2]|0)-(f[(f[A>>2]|0)+4>>2]|0)|0)|0;f[f[A>>2]>>2]=O}f[z>>2]=0-(n[f[U>>2]>>1]|0);f[Y>>2]=0-(n[(f[U>>2]|0)+2>>1]|0);f[W>>2]=n[(f[U>>2]|0)+30>>1]<<10;f[T>>2]=65536/(f[L>>2]<<3|0)|0;f[P>>2]=0-(((re(((f[H>>2]|0)-(n[f[U>>2]>>1]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0)>>15)+1>>1);f[I>>2]=0-(((re(((f[H+4>>2]|0)-(n[(f[U>>2]|0)+2>>1]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0)>>15)+1>>1);O=re((f[Z>>2]|0)-(n[(f[U>>2]|0)+30>>1]|0)>>16,(f[T>>2]&65535)<<16>>16)|0;f[C>>2]=O+((re((f[Z>>2]|0)-(n[(f[U>>2]|0)+30>>1]|0)&65535,(f[T>>2]&65535)<<16>>16)|0)>>16)<<10;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[L>>2]<<3|0))break;f[z>>2]=(f[z>>2]|0)+(f[P>>2]|0);f[Y>>2]=(f[Y>>2]|0)+(f[I>>2]|0);f[W>>2]=(f[W>>2]|0)+(f[C>>2]|0);f[q>>2]=(n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)<<9;x=re(f[W>>2]>>16,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0;x=x+((re(f[W>>2]&65535,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;O=re(f[q>>2]>>16,(f[z>>2]&65535)<<16>>16)|0;f[q>>2]=x+(O+((re(f[q>>2]&65535,(f[z>>2]&65535)<<16>>16)|0)>>16));O=re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11>>16,(f[Y>>2]&65535)<<16>>16)|0;f[q>>2]=(f[q>>2]|0)+(O+((re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));if(((f[q>>2]>>7)+1>>1|0)<=32767)if(((f[q>>2]>>7)+1>>1|0)<-32768)w=-32768;else w=(f[q>>2]>>7)+1>>1;else w=32767;n[(f[D>>2]|0)+((f[F>>2]|0)-1<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}f[z>>2]=0-(f[H>>2]|0);f[Y>>2]=0-(f[H+4>>2]|0);f[W>>2]=f[Z>>2]<<10;f[F>>2]=f[L>>2]<<3;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=(n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)<<9;I=re(f[W>>2]>>16,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0;I=I+((re(f[W>>2]&65535,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;C=re(f[q>>2]>>16,(f[z>>2]&65535)<<16>>16)|0;f[q>>2]=I+(C+((re(f[q>>2]&65535,(f[z>>2]&65535)<<16>>16)|0)>>16));C=re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11>>16,(f[Y>>2]&65535)<<16>>16)|0;f[q>>2]=(f[q>>2]|0)+(C+((re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));if(((f[q>>2]>>7)+1>>1|0)<=32767)if(((f[q>>2]>>7)+1>>1|0)<-32768)w=-32768;else w=(f[q>>2]>>7)+1>>1;else w=32767;n[(f[D>>2]|0)+((f[F>>2]|0)-1<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}n[f[U>>2]>>1]=f[H>>2];n[(f[U>>2]|0)+2>>1]=f[H+4>>2];n[(f[U>>2]|0)+30>>1]=f[Z>>2];de(f[j>>2]|0);h=V;return}function sa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(ua((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(ua((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function ua(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ha(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function ca(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;m=h;h=h+64|0;c=m+52|0;d=m+48|0;p=m+44|0;b=m+40|0;l=m+36|0;v=m+32|0;y=m+28|0;E=m+24|0;s=m+20|0;u=m+16|0;_=m+12|0;g=m+8|0;w=m+4|0;k=m;f[c>>2]=e;f[d>>2]=r;f[p>>2]=i;f[b>>2]=t;f[l>>2]=a;f[v>>2]=o;i=f[d>>2]|0;r=(f[c>>2]|0)+4|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=f[p>>2]|0;r=(f[c>>2]|0)+8|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=(f[c>>2]|0)+4|0;r=(f[d>>2]|0)+(f[v>>2]<<1)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=(f[c>>2]|0)+8|0;r=(f[p>>2]|0)+(f[v>>2]<<1)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;f[w>>2]=n[f[c>>2]>>1];f[k>>2]=n[(f[c>>2]|0)+2>>1];f[E>>2]=65536/(f[l>>2]<<3|0)|0;f[s>>2]=((re(((f[f[b>>2]>>2]|0)-(n[f[c>>2]>>1]|0)&65535)<<16>>16,(f[E>>2]&65535)<<16>>16)|0)>>15)+1>>1;f[u>>2]=((re(((f[(f[b>>2]|0)+4>>2]|0)-(n[(f[c>>2]|0)+2>>1]|0)&65535)<<16>>16,(f[E>>2]&65535)<<16>>16)|0)>>15)+1>>1;f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[l>>2]<<3|0))break;f[w>>2]=(f[w>>2]|0)+(f[s>>2]|0);f[k>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[_>>2]=(n[(f[d>>2]|0)+(f[y>>2]<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+2<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<1)<<9;E=re(f[_>>2]>>16,(f[w>>2]&65535)<<16>>16)|0;f[_>>2]=(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<8)+(E+((re(f[_>>2]&65535,(f[w>>2]&65535)<<16>>16)|0)>>16));E=re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11>>16,(f[k>>2]&65535)<<16>>16)|0;f[_>>2]=(f[_>>2]|0)+(E+((re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11&65535,(f[k>>2]&65535)<<16>>16)|0)>>16));if(((f[_>>2]>>7)+1>>1|0)<=32767)if(((f[_>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(f[_>>2]>>7)+1>>1;else o=32767;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}f[w>>2]=f[f[b>>2]>>2];f[k>>2]=f[(f[b>>2]|0)+4>>2];f[y>>2]=f[l>>2]<<3;while(1){if((f[y>>2]|0)>=(f[v>>2]|0))break;f[_>>2]=(n[(f[d>>2]|0)+(f[y>>2]<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+2<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<1)<<9;E=re(f[_>>2]>>16,(f[w>>2]&65535)<<16>>16)|0;f[_>>2]=(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<8)+(E+((re(f[_>>2]&65535,(f[w>>2]&65535)<<16>>16)|0)>>16));E=re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11>>16,(f[k>>2]&65535)<<16>>16)|0;f[_>>2]=(f[_>>2]|0)+(E+((re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11&65535,(f[k>>2]&65535)<<16>>16)|0)>>16));if(((f[_>>2]>>7)+1>>1|0)<=32767)if(((f[_>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(f[_>>2]>>7)+1>>1;else o=32767;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}n[f[c>>2]>>1]=f[f[b>>2]>>2];n[(f[c>>2]|0)+2>>1]=f[(f[b>>2]|0)+4>>2];f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[v>>2]|0))break;f[_>>2]=(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0)+(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0);f[g>>2]=(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0)-(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0);if((f[_>>2]|0)>32767)o=32767;else o=(f[_>>2]|0)<-32768?-32768:f[_>>2]|0;n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;if((f[g>>2]|0)>32767)o=32767;else o=(f[g>>2]|0)<-32768?-32768:f[g>>2]|0;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}h=m;return}function ba(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+4|0;i=n;f[i>>2]=e;if(!(((((((f[(f[i>>2]|0)+8>>2]|0)!=8e3?(f[(f[i>>2]|0)+8>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=16e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=24e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=32e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=44100:0)?(f[(f[i>>2]|0)+8>>2]|0)!=48e3:0))t=8;do{if((t|0)==8){if(((f[(f[i>>2]|0)+20>>2]|0)!=8e3?(f[(f[i>>2]|0)+20>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+20>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+12>>2]|0)!=8e3?(f[(f[i>>2]|0)+12>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+12>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+16>>2]|0)!=8e3?(f[(f[i>>2]|0)+16>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+16>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+16>>2]|0)<=(f[(f[i>>2]|0)+20>>2]|0)?(f[(f[i>>2]|0)+12>>2]|0)>=(f[(f[i>>2]|0)+20>>2]|0):0)?(f[(f[i>>2]|0)+16>>2]|0)<=(f[(f[i>>2]|0)+12>>2]|0):0){if((((f[(f[i>>2]|0)+24>>2]|0)!=10?(f[(f[i>>2]|0)+24>>2]|0)!=20:0)?(f[(f[i>>2]|0)+24>>2]|0)!=40:0)?(f[(f[i>>2]|0)+24>>2]|0)!=60:0){f[r>>2]=-103;t=f[r>>2]|0;h=n;return t|0}if((f[(f[i>>2]|0)+32>>2]|0)>=0?(f[(f[i>>2]|0)+32>>2]|0)<=100:0){if((f[(f[i>>2]|0)+44>>2]|0)>=0?(f[(f[i>>2]|0)+44>>2]|0)<=1:0){if((f[(f[i>>2]|0)+48>>2]|0)>=0?(f[(f[i>>2]|0)+48>>2]|0)<=1:0){do{if((f[(f[i>>2]|0)+40>>2]|0)>=0){if((f[(f[i>>2]|0)+40>>2]|0)>1)break;do{if((f[f[i>>2]>>2]|0)>=1){if((f[f[i>>2]>>2]|0)>2)break;do{if((f[(f[i>>2]|0)+4>>2]|0)>=1){if((f[(f[i>>2]|0)+4>>2]|0)>2)break;if((f[(f[i>>2]|0)+4>>2]|0)>(f[f[i>>2]>>2]|0)){f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}do{if((f[(f[i>>2]|0)+36>>2]|0)>=0){if((f[(f[i>>2]|0)+36>>2]|0)>10)break;f[r>>2]=0;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-106;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-107;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-109;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-108;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-105;t=f[r>>2]|0;h=n;return t|0}}}while(0);f[r>>2]=-102;t=f[r>>2]|0;h=n;return t|0}function wa(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;i=c+20|0;t=c+16|0;o=c+12|0;s=c+8|0;a=c+4|0;l=c;f[i>>2]=e;f[t>>2]=r;f[s>>2]=0;if((f[t>>2]|0)>8e4)r=8e4;else r=(f[t>>2]|0)<5e3?5e3:f[t>>2]|0;f[t>>2]=r;if((f[t>>2]|0)==(f[(f[i>>2]|0)+4632>>2]|0)){u=f[s>>2]|0;h=c;return u|0}f[(f[i>>2]|0)+4632>>2]=f[t>>2];do{if((f[(f[i>>2]|0)+4600>>2]|0)!=8)if((f[(f[i>>2]|0)+4600>>2]|0)==12){f[l>>2]=17772;break}else{f[l>>2]=17804;break}else f[l>>2]=17740}while(0);if((f[(f[i>>2]|0)+4604>>2]|0)==2)f[t>>2]=(f[t>>2]|0)-2200;f[o>>2]=1;while(1){if((f[o>>2]|0)>=8){u=16;break}if((f[t>>2]|0)<=(f[(f[l>>2]|0)+(f[o>>2]<<2)>>2]|0))break;f[o>>2]=(f[o>>2]|0)+1}if((u|0)==16){u=f[s>>2]|0;h=c;return u|0}f[a>>2]=((f[t>>2]|0)-(f[(f[l>>2]|0)+((f[o>>2]|0)-1<<2)>>2]|0)<<6|0)/((f[(f[l>>2]|0)+(f[o>>2]<<2)>>2]|0)-(f[(f[l>>2]|0)+((f[o>>2]|0)-1<<2)>>2]|0)|0)|0;u=(n[24510+((f[o>>2]|0)-1<<1)>>1]<<6)+(re(f[a>>2]|0,(n[24510+(f[o>>2]<<1)>>1]|0)-(n[24510+((f[o>>2]|0)-1<<1)>>1]|0)|0)|0)|0;f[(f[i>>2]|0)+4748>>2]=u;u=f[s>>2]|0;h=c;return u|0}function ka(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;f[i>>2]=0;vs(f[n>>2]|0,0,12240)|0;f[(f[n>>2]|0)+5124>>2]=f[a>>2];e=(Ba(3932160)|0)-2048<<8;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+12>>2]=f[(f[n>>2]|0)+8>>2];f[(f[n>>2]|0)+4696>>2]=1;e=Nf((f[n>>2]|0)+32|0)|0;f[i>>2]=(f[i>>2]|0)+e;h=t;return f[i>>2]|0}function da(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;k=h;h=h+48|0;o=k+32|0;l=k+28|0;s=k+24|0;u=k+20|0;p=k+16|0;d=k+12|0;c=k+8|0;b=k+4|0;w=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[p>>2]=t;f[d>>2]=n;f[c>>2]=a;f[w>>2]=0;f[(f[l>>2]|0)+6108>>2]=f[(f[s>>2]|0)+44>>2];f[(f[l>>2]|0)+4708>>2]=f[(f[s>>2]|0)+48>>2];f[(f[l>>2]|0)+4580>>2]=f[(f[s>>2]|0)+8>>2];f[(f[l>>2]|0)+4588>>2]=f[(f[s>>2]|0)+12>>2];f[(f[l>>2]|0)+4592>>2]=f[(f[s>>2]|0)+16>>2];f[(f[l>>2]|0)+4596>>2]=f[(f[s>>2]|0)+20>>2];f[(f[l>>2]|0)+6120>>2]=f[(f[s>>2]|0)+40>>2];f[(f[l>>2]|0)+5784>>2]=f[f[s>>2]>>2];f[(f[l>>2]|0)+5788>>2]=f[(f[s>>2]|0)+4>>2];f[(f[l>>2]|0)+4560>>2]=f[p>>2];f[(f[l>>2]|0)+5792>>2]=f[d>>2];if(f[(f[l>>2]|0)+4700>>2]|0?(f[(f[l>>2]|0)+4712>>2]|0)==0:0){if((f[(f[l>>2]|0)+4580>>2]|0)!=(f[(f[l>>2]|0)+4584>>2]|0)?(f[(f[l>>2]|0)+4600>>2]|0)>0:0){p=pa(f[l>>2]|0,f[(f[l>>2]|0)+4600>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p}f[o>>2]=f[w>>2];p=f[o>>2]|0;h=k;return p|0}f[b>>2]=Gf(f[l>>2]|0,f[s>>2]|0)|0;if(f[c>>2]|0)f[b>>2]=f[c>>2];p=pa(f[l>>2]|0,f[b>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;p=ya(f[l>>2]|0,f[b>>2]|0,f[(f[s>>2]|0)+24>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;p=_a(f[l>>2]|0,f[(f[s>>2]|0)+36>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;f[(f[l>>2]|0)+4640>>2]=f[(f[s>>2]|0)+32>>2];p=Ea(f[l>>2]|0,f[u>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;f[(f[l>>2]|0)+4700>>2]=1;f[o>>2]=f[w>>2];p=f[o>>2]|0;h=k;return p|0}function pa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+336|0;i=b+328|0;t=b+324|0;u=b+320|0;l=b+316|0;a=b+312|0;s=b+308|0;o=b+304|0;n=b+300|0;c=b;f[i>>2]=e;f[t>>2]=r;f[u>>2]=0;if((f[(f[i>>2]|0)+4600>>2]|0)==(f[t>>2]|0)?(f[(f[i>>2]|0)+4584>>2]|0)==(f[(f[i>>2]|0)+4580>>2]|0):0){s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}r=f[i>>2]|0;if(!(f[(f[i>>2]|0)+4600>>2]|0)){s=hi(r+5808|0,f[(f[i>>2]|0)+4580>>2]|0,(f[t>>2]|0)*1e3|0,1)|0;f[u>>2]=(f[u>>2]|0)+s;s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}else{f[o>>2]=((f[r+4604>>2]|0)*5<<1)+5;f[s>>2]=re(f[o>>2]|0,f[(f[i>>2]|0)+4600>>2]|0)|0;f[l>>2]=re(f[o>>2]|0,f[t>>2]|0)|0;r=(f[s>>2]|0)>(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0;f[n>>2]=he()|0;e=h;h=h+((1*(r<<1)|0)+15&-16)|0;va(e,(f[i>>2]|0)+9356|0,f[s>>2]|0);r=hi(c,((f[(f[i>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0,f[(f[i>>2]|0)+4580>>2]|0,0)|0;f[u>>2]=(f[u>>2]|0)+r;f[a>>2]=re(f[o>>2]|0,(f[(f[i>>2]|0)+4580>>2]|0)/1e3|0)|0;o=h;h=h+((1*(f[a>>2]<<1)|0)+15&-16)|0;s=ci(c,o,e,f[s>>2]|0)|0;f[u>>2]=(f[u>>2]|0)+s;s=hi((f[i>>2]|0)+5808|0,f[(f[i>>2]|0)+4580>>2]|0,((f[t>>2]&65535)<<16>>16)*1e3|0,1)|0;f[u>>2]=(f[u>>2]|0)+s;s=ci((f[i>>2]|0)+5808|0,e,o,f[a>>2]|0)|0;f[u>>2]=(f[u>>2]|0)+s;ga((f[i>>2]|0)+9356|0,e,f[l>>2]|0);de(f[n>>2]|0);s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}return 0}function va(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<=32767)if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<-32768)r=-32768;else r=cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0;else r=32767;n[(f[t>>2]|0)+(f[o>>2]<<1)>>1]=r;f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function ga(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function ya(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0,s=0;s=h;h=h+16|0;o=s+12|0;a=s+8|0;n=s+4|0;l=s;f[o>>2]=e;f[a>>2]=r;f[n>>2]=i;f[l>>2]=0;if((f[n>>2]|0)!=(f[(f[o>>2]|0)+4636>>2]|0)){if((f[n>>2]|0)!=10&(f[n>>2]|0)!=20&(f[n>>2]|0)!=40&(f[n>>2]|0)!=60)f[l>>2]=-103;do{if((f[n>>2]|0)<=10){f[(f[o>>2]|0)+5776>>2]=1;f[(f[o>>2]|0)+4604>>2]=(f[n>>2]|0)==10?2:1;i=re((f[n>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0;f[(f[o>>2]|0)+4608>>2]=i;f[(f[o>>2]|0)+4572>>2]=((f[a>>2]&65535)<<16>>16)*14;i=(f[o>>2]|0)+4720|0;if((f[(f[o>>2]|0)+4600>>2]|0)==8){f[i>>2]=29174;break}else{f[i>>2]=29162;break}}else{f[(f[o>>2]|0)+5776>>2]=(f[n>>2]|0)/20|0;f[(f[o>>2]|0)+4604>>2]=4;f[(f[o>>2]|0)+4608>>2]=((f[a>>2]&65535)<<16>>16)*20;f[(f[o>>2]|0)+4572>>2]=((f[a>>2]&65535)<<16>>16)*24;i=(f[o>>2]|0)+4720|0;if((f[(f[o>>2]|0)+4600>>2]|0)==8){f[i>>2]=29151;break}else{f[i>>2]=29117;break}}}while(0);f[(f[o>>2]|0)+4636>>2]=f[n>>2];f[(f[o>>2]|0)+4632>>2]=0}if((f[(f[o>>2]|0)+4600>>2]|0)==(f[a>>2]|0)){l=f[l>>2]|0;h=s;return l|0}i=(f[o>>2]|0)+7200|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;vs((f[o>>2]|0)+7216|0,0,2140)|0;vs((f[o>>2]|0)+144|0,0,4380)|0;i=(f[o>>2]|0)+4524|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;i=(f[o>>2]|0)+16|0;f[i>>2]=0;f[i+4>>2]=0;f[(f[o>>2]|0)+5772>>2]=0;f[(f[o>>2]|0)+5780>>2]=0;f[(f[o>>2]|0)+4632>>2]=0;f[(f[o>>2]|0)+4568>>2]=100;f[(f[o>>2]|0)+4696>>2]=1;f[(f[o>>2]|0)+7216+2136>>2]=100;t[(f[o>>2]|0)+7200>>0]=10;f[(f[o>>2]|0)+144+4356>>2]=100;f[(f[o>>2]|0)+144+4372>>2]=65536;t[(f[o>>2]|0)+4565>>0]=0;f[(f[o>>2]|0)+4600>>2]=f[a>>2];i=(f[(f[o>>2]|0)+4604>>2]|0)==4;r=(f[o>>2]|0)+4720|0;do{if((f[(f[o>>2]|0)+4600>>2]|0)==8)if(i){f[r>>2]=29151;break}else{f[r>>2]=29174;break}else if(i){f[r>>2]=29117;break}else{f[r>>2]=29162;break}}while(0);if((f[(f[o>>2]|0)+4600>>2]|0)!=8?(f[(f[o>>2]|0)+4600>>2]|0)!=12:0){f[(f[o>>2]|0)+4664>>2]=16;f[(f[o>>2]|0)+4724>>2]=17704}else{f[(f[o>>2]|0)+4664>>2]=10;f[(f[o>>2]|0)+4724>>2]=17668}f[(f[o>>2]|0)+4612>>2]=(f[a>>2]|0)*5;i=re((f[(f[o>>2]|0)+4612>>2]&65535)<<16>>16,(f[(f[o>>2]|0)+4604>>2]&65535)<<16>>16)|0;f[(f[o>>2]|0)+4608>>2]=i;f[(f[o>>2]|0)+4616>>2]=((f[a>>2]&65535)<<16>>16)*20;f[(f[o>>2]|0)+4620>>2]=(f[a>>2]&65535)<<16>>16<<1;f[(f[o>>2]|0)+4576>>2]=((f[a>>2]&65535)<<16>>16)*18;i=(f[a>>2]&65535)<<16>>16;if((f[(f[o>>2]|0)+4604>>2]|0)==4)f[(f[o>>2]|0)+4572>>2]=i*24;else f[(f[o>>2]|0)+4572>>2]=i*14;i=f[o>>2]|0;if((f[(f[o>>2]|0)+4600>>2]|0)==16){f[i+4684>>2]=10;f[(f[o>>2]|0)+4716>>2]=29049;l=f[l>>2]|0;h=s;return l|0}r=(f[o>>2]|0)+4684|0;if((f[i+4600>>2]|0)==12){f[r>>2]=13;f[(f[o>>2]|0)+4716>>2]=29043;l=f[l>>2]|0;h=s;return l|0}else{f[r>>2]=15;f[(f[o>>2]|0)+4716>>2]=29034;l=f[l>>2]|0;h=s;return l|0}return 0}function _a(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;a=h;h=h+16|0;i=a+8|0;t=a+4|0;n=a;f[i>>2]=e;f[t>>2]=r;f[n>>2]=0;do{if((f[t>>2]|0)>=2){if((f[t>>2]|0)<4){f[(f[i>>2]|0)+4668>>2]=1;f[(f[i>>2]|0)+4676>>2]=49807;f[(f[i>>2]|0)+4672>>2]=8;f[(f[i>>2]|0)+4660>>2]=10;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=1;f[(f[i>>2]|0)+4656>>2]=0;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=4;f[(f[i>>2]|0)+4704>>2]=0;break}if((f[t>>2]|0)<6){f[(f[i>>2]|0)+4668>>2]=1;f[(f[i>>2]|0)+4676>>2]=48497;f[(f[i>>2]|0)+4672>>2]=10;f[(f[i>>2]|0)+4660>>2]=12;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=2;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=8;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}r=(f[i>>2]|0)+4668|0;if((f[t>>2]|0)<8){f[r>>2]=1;f[(f[i>>2]|0)+4676>>2]=47186;f[(f[i>>2]|0)+4672>>2]=12;f[(f[i>>2]|0)+4660>>2]=14;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=3;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=16;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}else{f[r>>2]=2;f[(f[i>>2]|0)+4676>>2]=45875;f[(f[i>>2]|0)+4672>>2]=16;f[(f[i>>2]|0)+4660>>2]=16;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=4;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=32;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}}else{f[(f[i>>2]|0)+4668>>2]=0;f[(f[i>>2]|0)+4676>>2]=52429;f[(f[i>>2]|0)+4672>>2]=6;f[(f[i>>2]|0)+4660>>2]=8;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*3;f[(f[i>>2]|0)+4652>>2]=1;f[(f[i>>2]|0)+4656>>2]=0;f[(f[i>>2]|0)+4680>>2]=1;f[(f[i>>2]|0)+4692>>2]=2;f[(f[i>>2]|0)+4704>>2]=0}}while(0);e=ma(f[(f[i>>2]|0)+4672>>2]|0,f[(f[i>>2]|0)+4664>>2]|0)|0;f[(f[i>>2]|0)+4672>>2]=e;f[(f[i>>2]|0)+4628>>2]=((f[(f[i>>2]|0)+4600>>2]|0)*5|0)+(f[(f[i>>2]|0)+4624>>2]<<1);f[(f[i>>2]|0)+4648>>2]=f[t>>2];h=a;return f[n>>2]|0}function ma(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ea(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;n=l+16|0;i=l+12|0;a=l+8|0;o=l+4|0;t=l;f[n>>2]=e;f[i>>2]=r;f[o>>2]=0;f[a>>2]=f[(f[n>>2]|0)+6124>>2];f[(f[n>>2]|0)+6124>>2]=0;if(!(f[(f[n>>2]|0)+6120>>2]|0)){o=f[o>>2]|0;h=l;return o|0}if((f[(f[n>>2]|0)+4640>>2]|0)<=0){o=f[o>>2]|0;h=l;return o|0}do{if((f[(f[n>>2]|0)+4600>>2]|0)!=8)if((f[(f[n>>2]|0)+4600>>2]|0)==12){f[t>>2]=14e3;break}else{f[t>>2]=16e3;break}else f[t>>2]=12e3}while(0);if((f[(f[n>>2]|0)+4640>>2]|0)<25)r=f[(f[n>>2]|0)+4640>>2]|0;else r=25;r=((re(f[t>>2]|0,125-r|0)|0)>>16)*655|0;if((f[(f[n>>2]|0)+4640>>2]|0)<25)e=f[(f[n>>2]|0)+4640>>2]|0;else e=25;f[t>>2]=r+(((re(f[t>>2]|0,125-e|0)|0)&65535)*655>>16);if((f[i>>2]|0)<=(f[t>>2]|0)){o=f[o>>2]|0;h=l;return o|0}r=f[n>>2]|0;if(!(f[a>>2]|0))f[r+6128>>2]=7;else{a=Aa(7-(((f[r+4640>>2]>>16)*26214|0)+((f[(f[n>>2]|0)+4640>>2]&65535)*26214>>16))|0,2)|0;f[(f[n>>2]|0)+6128>>2]=a}f[(f[n>>2]|0)+6124>>2]=1;o=f[o>>2]|0;h=l;return o|0}function Aa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Sa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+160|0;t=x+156|0;a=x+152|0;o=x+148|0;k=x+144|0;d=x+140|0;p=x+136|0;c=x+132|0;y=x+128|0;w=x+124|0;E=x+120|0;m=x+116|0;A=x+112|0;R=x+108|0;S=x+104|0;T=x+100|0;_=x+96|0;v=x+92|0;b=x+88|0;l=x+52|0;u=x+16|0;s=x+8|0;g=x;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[s>>2]=l;f[s+4>>2]=u;f[c>>2]=f[o>>2]>>1;Ra(f[a>>2]|0,l,u,f[c>>2]|0);f[g>>2]=l;f[E>>2]=n[12288];f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;if((f[R>>2]|0)<0){n[f[t>>2]>>1]=0;f[g>>2]=u;f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;f[y>>2]=1}else f[y>>2]=0;f[d>>2]=1;f[k>>2]=0;f[_>>2]=0;e:while(1){f[m>>2]=n[24576+(f[d>>2]<<1)>>1];f[S>>2]=Ma(f[g>>2]|0,f[m>>2]|0,f[c>>2]|0)|0;if(!((f[R>>2]|0)<=0?(f[S>>2]|0)>=(f[_>>2]|0):0))M=7;do{if((M|0)==7){M=0;if((f[R>>2]|0)>=0?(f[S>>2]|0)<=(0-(f[_>>2]|0)|0):0)break;f[d>>2]=(f[d>>2]|0)+1;f[E>>2]=f[m>>2];f[R>>2]=f[S>>2];f[_>>2]=0;if((f[d>>2]|0)<=128)continue e;f[k>>2]=(f[k>>2]|0)+1;if((f[k>>2]|0)>30)break e;Pa(f[a>>2]|0,f[o>>2]|0,65536-(re((10+(f[k>>2]|0)&65535)<<16>>16,(f[k>>2]&65535)<<16>>16)|0)|0);Ra(f[a>>2]|0,l,u,f[c>>2]|0);f[g>>2]=l;f[E>>2]=n[12288];f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;if((f[R>>2]|0)<0){n[f[t>>2]>>1]=0;f[g>>2]=u;f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;f[y>>2]=1}else f[y>>2]=0;f[d>>2]=1;continue e}}while(0);if(!(f[S>>2]|0))f[_>>2]=1;else f[_>>2]=0;f[w>>2]=-256;f[p>>2]=0;while(1){if((f[p>>2]|0)>=3)break;f[A>>2]=((f[E>>2]|0)+(f[m>>2]|0)>>1)+((f[E>>2]|0)+(f[m>>2]|0)&1);f[T>>2]=Ma(f[g>>2]|0,f[A>>2]|0,f[c>>2]|0)|0;if(!((f[R>>2]|0)<=0&(f[T>>2]|0)>=0)?!((f[R>>2]|0)>=0&(f[T>>2]|0)<=0):0){f[E>>2]=f[A>>2];f[R>>2]=f[T>>2];f[w>>2]=(f[w>>2]|0)+(128>>f[p>>2])}else{f[m>>2]=f[A>>2];f[S>>2]=f[T>>2]}f[p>>2]=(f[p>>2]|0)+1}i=f[R>>2]|0;e=f[R>>2]|0;if((((f[R>>2]|0)>0?i:0-i|0)|0)<65536){f[b>>2]=e-(f[S>>2]|0);f[v>>2]=(f[R>>2]<<5)+(f[b>>2]>>1);if(f[b>>2]|0)f[w>>2]=(f[w>>2]|0)+((f[v>>2]|0)/(f[b>>2]|0)|0)}else f[w>>2]=(f[w>>2]|0)+((e|0)/((f[R>>2]|0)-(f[S>>2]|0)>>5|0)|0);i=(xa((f[d>>2]<<8)+(f[w>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+(f[y>>2]<<1)>>1]=i;f[y>>2]=(f[y>>2]|0)+1;if((f[y>>2]|0)>=(f[o>>2]|0)){M=34;break}f[g>>2]=f[s+((f[y>>2]&1)<<2)>>2];f[E>>2]=n[24576+((f[d>>2]|0)-1<<1)>>1];f[R>>2]=1-(f[y>>2]&2)<<12}if((M|0)==34){h=x;return}n[f[t>>2]>>1]=32768/((f[o>>2]|0)+1|0)|0;f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[o>>2]|0))break;M=(re(((f[d>>2]|0)+1&65535)<<16>>16,n[f[t>>2]>>1]|0)|0)&65535;n[(f[t>>2]|0)+(f[d>>2]<<1)>>1]=M;f[d>>2]=(f[d>>2]|0)+1}h=x;return}function Ra(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[(f[a>>2]|0)+(f[l>>2]<<2)>>2]=65536;f[(f[o>>2]|0)+(f[l>>2]<<2)>>2]=65536;f[s>>2]=0;while(1){r=f[l>>2]|0;if((f[s>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=0-(f[(f[n>>2]|0)+(r-(f[s>>2]|0)-1<<2)>>2]|0)-(f[(f[n>>2]|0)+((f[l>>2]|0)+(f[s>>2]|0)<<2)>>2]|0);f[(f[o>>2]|0)+(f[s>>2]<<2)>>2]=0-(f[(f[n>>2]|0)+((f[l>>2]|0)-(f[s>>2]|0)-1<<2)>>2]|0)+(f[(f[n>>2]|0)+((f[l>>2]|0)+(f[s>>2]|0)<<2)>>2]|0);f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=r;while(1){if((f[s>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[s>>2]|0)-1<<2)|0;f[n>>2]=(f[n>>2]|0)-(f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]|0);n=(f[o>>2]|0)+((f[s>>2]|0)-1<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[(f[o>>2]|0)+(f[s>>2]<<2)>>2]|0);f[s>>2]=(f[s>>2]|0)+-1}Ta(f[a>>2]|0,f[l>>2]|0);Ta(f[o>>2]|0,f[l>>2]|0);h=u;return}function Ta(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[t>>2]=r;f[n>>2]=2;while(1){if((f[n>>2]|0)>(f[t>>2]|0))break;f[a>>2]=f[t>>2];while(1){if((f[a>>2]|0)<=(f[n>>2]|0))break;e=(f[i>>2]|0)+((f[a>>2]|0)-2<<2)|0;f[e>>2]=(f[e>>2]|0)-(f[(f[i>>2]|0)+(f[a>>2]<<2)>>2]|0);f[a>>2]=(f[a>>2]|0)+-1}e=(f[i>>2]|0)+((f[n>>2]|0)-2<<2)|0;f[e>>2]=(f[e>>2]|0)-(f[(f[i>>2]|0)+(f[n>>2]<<2)>>2]<<1);f[n>>2]=(f[n>>2]|0)+1}h=o;return}function Ma(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;t=s+20|0;u=s+16|0;n=s+12|0;a=s+8|0;o=s+4|0;l=s;f[t>>2]=e;f[u>>2]=r;f[n>>2]=i;f[l>>2]=f[(f[t>>2]|0)+(f[n>>2]<<2)>>2];f[o>>2]=f[u>>2]<<4;if(8==(f[n>>2]|0)^1^1){u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+28>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+24>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+20>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+16>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+12>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+8>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+4>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[f[t>>2]>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=f[l>>2]|0;h=s;return u|0}f[a>>2]=(f[n>>2]|0)-1;while(1){if((f[a>>2]|0)<0)break;u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);f[a>>2]=(f[a>>2]|0)+-1}u=f[l>>2]|0;h=s;return u|0}function xa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Oa(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;g=h;h=h+48|0;o=g+44|0;l=g+40|0;s=g+36|0;u=g+32|0;y=g+28|0;d=g+24|0;c=g+20|0;k=g+16|0;b=g+12|0;w=g+8|0;p=g+4|0;v=g;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[y>>2]=a;f[c>>2]=f[y>>2]>>1;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;f[k>>2]=n[(f[o>>2]|0)+(f[d>>2]<<1<<1)>>1]<<10;f[w>>2]=(f[k>>2]|0)-(f[f[l>>2]>>2]|0);y=re(f[w>>2]>>16,n[12286]|0)|0;f[b>>2]=(f[w>>2]|0)+(y+((re(f[w>>2]&65535,n[12286]|0)|0)>>16));f[p>>2]=(f[f[l>>2]>>2]|0)+(f[b>>2]|0);f[f[l>>2]>>2]=(f[k>>2]|0)+(f[b>>2]|0);f[k>>2]=n[(f[o>>2]|0)+((f[d>>2]<<1)+1<<1)>>1]<<10;f[w>>2]=(f[k>>2]|0)-(f[(f[l>>2]|0)+4>>2]|0);y=re(f[w>>2]>>16,n[12287]|0)|0;f[b>>2]=y+((re(f[w>>2]&65535,n[12287]|0)|0)>>16);f[v>>2]=(f[(f[l>>2]|0)+4>>2]|0)+(f[b>>2]|0);f[(f[l>>2]|0)+4>>2]=(f[k>>2]|0)+(f[b>>2]|0);if((((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1|0)<=32767)if((((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1;else a=32767;n[(f[s>>2]|0)+(f[d>>2]<<1)>>1]=a;if((((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1|0)<=32767)if((((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1;else a=32767;n[(f[u>>2]|0)+(f[d>>2]<<1)>>1]=a;f[d>>2]=(f[d>>2]|0)+1}h=g;return}function La(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;E=h;h=h+64|0;s=E+52|0;u=E+48|0;A=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;_=E+24|0;y=E+20|0;p=E+16|0;d=E+12|0;g=E+8|0;v=E+4|0;m=E;f[s>>2]=e;f[u>>2]=r;f[A>>2]=i;f[c>>2]=t;f[b>>2]=a;f[w>>2]=o;f[k>>2]=l;f[d>>2]=0-(f[f[A>>2]>>2]|0)&16383;f[p>>2]=0-(f[f[A>>2]>>2]|0)>>14;f[v>>2]=0-(f[(f[A>>2]|0)+4>>2]|0)&16383;f[g>>2]=0-(f[(f[A>>2]|0)+4>>2]|0)>>14;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[w>>2]|0))break;A=re(f[_>>2]|0,f[k>>2]|0)|0;f[y>>2]=n[(f[s>>2]|0)+(A<<1)>>1];A=re(f[f[u>>2]>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;f[m>>2]=(f[f[c>>2]>>2]|0)+(A+((re(f[f[u>>2]>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))<<2;A=re(f[m>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+((A+((re(f[m>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1)|0;f[f[c>>2]>>2]=A;A=re(f[m>>2]>>16,(f[p>>2]&65535)<<16>>16)|0;A=(f[f[c>>2]>>2]|0)+(A+((re(f[m>>2]&65535,(f[p>>2]&65535)<<16>>16)|0)>>16))|0;f[f[c>>2]>>2]=A;A=re(f[(f[u>>2]|0)+4>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;A=(f[f[c>>2]>>2]|0)+(A+((re(f[(f[u>>2]|0)+4>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))|0;f[f[c>>2]>>2]=A;A=re(f[m>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;A=(A+((re(f[m>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1;f[(f[c>>2]|0)+4>>2]=A;A=re(f[m>>2]>>16,(f[g>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+(A+((re(f[m>>2]&65535,(f[g>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[c>>2]|0)+4>>2]=A;A=re(f[(f[u>>2]|0)+8>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+(A+((re(f[(f[u>>2]|0)+8>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[c>>2]|0)+4>>2]=A;if(((f[m>>2]|0)+16384-1>>14|0)<=32767)if(((f[m>>2]|0)+16384-1>>14|0)<-32768)i=-32768;else i=(f[m>>2]|0)+16384-1>>14;else i=32767;A=re(f[_>>2]|0,f[k>>2]|0)|0;n[(f[b>>2]|0)+(A<<1)>>1]=i;f[_>>2]=(f[_>>2]|0)+1}h=E;return}function Pa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+16|0;n=s+12|0;a=s+8|0;l=s+4|0;o=s;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=(f[a>>2]|0)-65536;f[l>>2]=0;while(1){e=f[a>>2]>>16;if((f[l>>2]|0)>=((f[n>>2]|0)-1|0))break;r=re(e,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]&65535)<<16>>16)|0;r=r+((re(f[a>>2]&65535,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;r=r+(re(f[a>>2]|0,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=r;r=((re(f[a>>2]|0,f[o>>2]|0)|0)>>15)+1>>1;f[a>>2]=(f[a>>2]|0)+r;f[l>>2]=(f[l>>2]|0)+1}l=re(e,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;l=l+((re(f[a>>2]&65535,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=l+(re(f[a>>2]|0,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]=l;h=s;return}function Ia(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+16|0;a=u+12|0;o=u+8|0;s=u+4|0;l=u;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=(f[o>>2]|0)-65536;f[s>>2]=0;while(1){e=f[o>>2]|0;if((f[s>>2]|0)>=((f[a>>2]|0)-1|0))break;r=((re(e,n[(f[t>>2]|0)+(f[s>>2]<<1)>>1]|0)|0)>>15)+1>>1&65535;n[(f[t>>2]|0)+(f[s>>2]<<1)>>1]=r;r=((re(f[o>>2]|0,f[l>>2]|0)|0)>>15)+1>>1;f[o>>2]=(f[o>>2]|0)+r;f[s>>2]=(f[s>>2]|0)+1}s=((re(e,n[(f[t>>2]|0)+((f[a>>2]|0)-1<<1)>>1]|0)|0)>>15)+1>>1&65535;n[(f[t>>2]|0)+((f[a>>2]|0)-1<<1)>>1]=s;h=u;return}function Ca(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;l=y+36|0;u=y+38|0;c=y+32|0;s=y+28|0;b=y+24|0;p=y+20|0;d=y+16|0;g=y+12|0;v=y+8|0;k=y+4|0;w=y;n[l>>1]=e;t[u>>0]=r;f[c>>2]=i;f[s>>2]=a;f[b>>2]=o;a=(f[b>>2]|0)==4;do{if((f[s>>2]|0)==8)if(a){f[w>>2]=30286;f[k>>2]=11;break}else{f[w>>2]=30252;f[k>>2]=3;break}else if(a){f[w>>2]=30330;f[k>>2]=34;break}else{f[w>>2]=30258;f[k>>2]=12;break}}while(0);f[g>>2]=(f[s>>2]&65535)<<16>>16<<1;f[v>>2]=((f[s>>2]&65535)<<16>>16)*18;f[p>>2]=(f[g>>2]|0)+(n[l>>1]|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;a=re(f[d>>2]|0,f[k>>2]|0)|0;f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]=(f[p>>2]|0)+(t[(f[w>>2]|0)+(a+(t[u>>0]|0))>>0]|0);a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;do{if((f[g>>2]|0)>(f[v>>2]|0)){if((a|0)>(f[g>>2]|0)){a=f[g>>2]|0;break}if((f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0)<(f[v>>2]|0)){a=f[v>>2]|0;break}else{a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;break}}else{if((a|0)>(f[v>>2]|0)){a=f[v>>2]|0;break}if((f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0)<(f[g>>2]|0)){a=f[g>>2]|0;break}else{a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;break}}}while(0);f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]=a;f[d>>2]=(f[d>>2]|0)+1}h=y;return}function Ua(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;a=b+20|0;o=b+16|0;l=b+12|0;s=b+8|0;u=b+4|0;c=b;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[c>>2]=0;f[u>>2]=0;while(1){e=f[c>>2]|0;if((f[u>>2]|0)>=(f[s>>2]|0))break;i=re(n[(f[a>>2]|0)+(f[u>>2]<<1)>>1]|0,n[(f[o>>2]|0)+(f[u>>2]<<1)>>1]|0)|0;f[c>>2]=e+(i>>f[l>>2]);f[u>>2]=(f[u>>2]|0)+1}h=b;return e|0}function Ba(e){e=e|0;var r=0,i=0,t=0,n=0;r=h;h=h+16|0;n=r+8|0;t=r+4|0;i=r;f[n>>2]=e;ja(f[n>>2]|0,t,i);e=((re(f[i>>2]|0,128-(f[i>>2]|0)|0)|0)>>16)*179|0;e=(31-(f[t>>2]|0)<<7)+((f[i>>2]|0)+(e+(((re(f[i>>2]|0,128-(f[i>>2]|0)|0)|0)&65535)*179>>16)))|0;h=r;return e|0}function ja(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Da(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Na(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Da(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Na(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Fa(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;a=o+4|0;n=o;f[t>>2]=e;if((f[t>>2]|0)<0){f[i>>2]=0;a=f[i>>2]|0;h=o;return a|0}if((f[t>>2]|0)>=3967){f[i>>2]=2147483647;a=f[i>>2]|0;h=o;return a|0}f[a>>2]=1<<(f[t>>2]>>7);f[n>>2]=f[t>>2]&127;e=f[a>>2]|0;r=f[a>>2]|0;if((f[t>>2]|0)<2048){t=re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;f[a>>2]=e+((re(r,(f[n>>2]|0)+(t+((re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)>>7)}else{t=re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;f[a>>2]=e+(re(r>>7,(f[n>>2]|0)+(t+((re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)}f[i>>2]=f[a>>2];a=f[i>>2]|0;h=o;return a|0}function za(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+40|0;s=g+36|0;u=g+32|0;c=g+28|0;b=g+24|0;d=g+16|0;k=g+12|0;v=g+8|0;p=g+4|0;w=g;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=a;f[g+20>>2]=o;f[k>>2]=f[b>>2];while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;f[w>>2]=(f[s>>2]|0)+((f[k>>2]|0)-1<<1);f[v>>2]=re(n[f[w>>2]>>1]|0,n[f[u>>2]>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-2>>1]|0,n[(f[u>>2]|0)+2>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-4>>1]|0,n[(f[u>>2]|0)+4>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-6>>1]|0,n[(f[u>>2]|0)+6>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-8>>1]|0,n[(f[u>>2]|0)+8>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-10>>1]|0,n[(f[u>>2]|0)+10>>1]|0)|0);f[d>>2]=6;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+(0-(f[d>>2]|0)<<1)>>1]|0,n[(f[u>>2]|0)+(f[d>>2]<<1)>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+(0-(f[d>>2]|0)-1<<1)>>1]|0,n[(f[u>>2]|0)+((f[d>>2]|0)+1<<1)>>1]|0)|0);f[d>>2]=(f[d>>2]|0)+2}f[v>>2]=(n[(f[w>>2]|0)+2>>1]<<12)-(f[v>>2]|0);f[p>>2]=(f[v>>2]>>11)+1>>1;if((f[p>>2]|0)>32767)i=32767;else i=(f[p>>2]|0)<-32768?-32768:f[p>>2]|0;n[(f[l>>2]|0)+(f[k>>2]<<1)>>1]=i;f[k>>2]=(f[k>>2]|0)+1}vs(f[l>>2]|0,0,f[b>>2]<<1|0)|0;h=g;return}function Ya(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+160|0;i=c+148|0;t=c+144|0;a=c+140|0;u=c+136|0;l=c+8|0;o=c+4|0;s=c;f[t>>2]=e;f[a>>2]=r;f[s>>2]=0;f[o>>2]=l+((f[a>>2]&1)<<6);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[a>>2]|0))break;f[s>>2]=(f[s>>2]|0)+(n[(f[t>>2]|0)+(f[u>>2]<<1)>>1]|0);f[(f[o>>2]|0)+(f[u>>2]<<2)>>2]=n[(f[t>>2]|0)+(f[u>>2]<<1)>>1]<<12;f[u>>2]=(f[u>>2]|0)+1}if((f[s>>2]|0)>=4096){f[i>>2]=0;r=f[i>>2]|0;h=c;return r|0}else{f[i>>2]=Ha(l,f[a>>2]|0)|0;r=f[i>>2]|0;h=c;return r|0}return 0}function Ha(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;p=h;h=h+64|0;i=p+48|0;t=p+44|0;v=p+40|0;l=p+36|0;u=p+32|0;s=p+28|0;o=p+24|0;c=p+20|0;b=p+16|0;w=p+12|0;k=p+8|0;a=p+4|0;n=p;f[t>>2]=e;f[v>>2]=r;f[n>>2]=(f[t>>2]|0)+((f[v>>2]&1)<<6);f[o>>2]=1073741824;f[l>>2]=(f[v>>2]|0)-1;while(1){if((f[l>>2]|0)<=0)break;if((f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]|0)>16773022){d=5;break}if((f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]|0)<-16773022){d=5;break}f[c>>2]=0-(f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]<<7);v=f[c>>2]|0;r=f[c>>2]|0;r=Ms(v|0,((v|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;r=ps(r|0,L|0,32)|0;f[b>>2]=1073741824-r;r=f[b>>2]|0;f[s>>2]=32-(qa((f[b>>2]|0)>0?r:0-r|0)|0);f[w>>2]=Wa(f[b>>2]|0,(f[s>>2]|0)+30|0)|0;r=f[o>>2]|0;v=f[b>>2]|0;v=Ms(r|0,((r|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,32)|0;f[o>>2]=v<<2;f[a>>2]=f[n>>2];f[n>>2]=(f[t>>2]|0)+((f[l>>2]&1)<<6);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;r=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2]|0;e=f[(f[a>>2]|0)+((f[l>>2]|0)-(f[u>>2]|0)-1<<2)>>2]|0;v=f[c>>2]|0;v=Ms(e|0,((e|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,30)|0;v=ds(v|0,L|0,1,0)|0;v=ps(v|0,L|0,1)|0;f[k>>2]=r-v;v=(f[s>>2]|0)==1;r=f[k>>2]|0;e=f[w>>2]|0;e=Ms(r|0,((r|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;r=L;if(v){r=ps(e|0,r|0,1)|0;v=L;g=f[k>>2]|0;e=f[w>>2]|0;e=Ms(g|0,((g|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ds(r|0,v|0,e&1|0,0)|0}else{e=ps(e|0,r|0,(f[s>>2]|0)-1|0)|0;e=ds(e|0,L|0,1,0)|0;e=ps(e|0,L|0,1)|0}f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=e;f[u>>2]=(f[u>>2]|0)+1}f[l>>2]=(f[l>>2]|0)+-1}if((d|0)==5){f[i>>2]=0;g=f[i>>2]|0;h=p;return g|0}if((f[f[n>>2]>>2]|0)<=16773022?(f[f[n>>2]>>2]|0)>=-16773022:0){f[c>>2]=0-(f[f[n>>2]>>2]<<7);g=f[c>>2]|0;v=f[c>>2]|0;v=Ms(g|0,((g|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,32)|0;f[b>>2]=1073741824-v;v=f[o>>2]|0;g=f[b>>2]|0;g=Ms(v|0,((v|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;g=ps(g|0,L|0,32)|0;f[o>>2]=g<<2;f[i>>2]=f[o>>2];g=f[i>>2]|0;h=p;return g|0}f[i>>2]=0;g=f[i>>2]|0;h=p;return g|0}function qa(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Wa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(qa((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Za(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+272|0;E=M+264|0;t=M+260|0;A=M+256|0;_=M+252|0;T=M+248|0;R=M+244|0;k=M+240|0;b=M+176|0;o=M+140|0;s=M+104|0;l=M+100|0;u=M+96|0;v=M+92|0;p=M+88|0;w=M+84|0;d=M+80|0;S=M+16|0;y=M+12|0;c=M+8|0;g=M+4|0;m=M;f[E>>2]=e;f[t>>2]=r;f[A>>2]=i;f[g>>2]=0;f[_>>2]=(f[A>>2]|0)==16?30226:30242;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;f[v>>2]=n[(f[t>>2]|0)+(f[T>>2]<<1)>>1]>>8;f[p>>2]=(n[(f[t>>2]|0)+(f[T>>2]<<1)>>1]|0)-(f[v>>2]<<8);f[w>>2]=n[24576+(f[v>>2]<<1)>>1];f[d>>2]=(n[24576+((f[v>>2]|0)+1<<1)>>1]|0)-(f[w>>2]|0);i=((f[w>>2]<<8)+(re(f[d>>2]|0,f[p>>2]|0)|0)>>3)+1>>1;f[b+(a[(f[_>>2]|0)+(f[T>>2]|0)>>0]<<2)>>2]=i;f[T>>2]=(f[T>>2]|0)+1}f[k>>2]=f[A>>2]>>1;Va(o,b,f[k>>2]|0);Va(s,b+4|0,f[k>>2]|0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[k>>2]|0))break;f[l>>2]=(f[o+((f[T>>2]|0)+1<<2)>>2]|0)+(f[o+(f[T>>2]<<2)>>2]|0);f[u>>2]=(f[s+((f[T>>2]|0)+1<<2)>>2]|0)-(f[s+(f[T>>2]<<2)>>2]|0);f[S+(f[T>>2]<<2)>>2]=0-(f[u>>2]|0)-(f[l>>2]|0);f[S+((f[A>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=(f[u>>2]|0)-(f[l>>2]|0);f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=0;while(1){if((f[R>>2]|0)>=10)break;f[y>>2]=0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;_=f[S+(f[T>>2]<<2)>>2]|0;f[c>>2]=(f[S+(f[T>>2]<<2)>>2]|0)>0?_:0-_|0;if((f[c>>2]|0)>(f[y>>2]|0)){f[y>>2]=f[c>>2];f[g>>2]=f[T>>2]}f[T>>2]=(f[T>>2]|0)+1}f[y>>2]=(f[y>>2]>>4)+1>>1;if((f[y>>2]|0)<=32767)break;f[y>>2]=(f[y>>2]|0)<163838?f[y>>2]|0:163838;f[m>>2]=65470-(((f[y>>2]|0)-32767<<14|0)/((re(f[y>>2]|0,(f[g>>2]|0)+1|0)|0)>>2|0)|0);Pa(S,f[A>>2]|0,f[m>>2]|0);f[R>>2]=(f[R>>2]|0)+1}m=(f[R>>2]|0)==10;f[T>>2]=0;e:do{if(m)while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break e;if(((f[S+(f[T>>2]<<2)>>2]>>4)+1>>1|0)<=32767)if(((f[S+(f[T>>2]<<2)>>2]>>4)+1>>1|0)<-32768)t=-32768;else t=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;else t=32767;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=t;f[S+(f[T>>2]<<2)>>2]=n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]<<5;f[T>>2]=(f[T>>2]|0)+1}else while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break e;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;f[T>>2]=(f[T>>2]|0)+1}}while(0);f[R>>2]=0;while(1){if((f[R>>2]|0)>=16){t=31;break}if((Ya(f[E>>2]|0,f[A>>2]|0)|0)>=107374){t=31;break}Pa(S,f[A>>2]|0,65536-(2<>2])|0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}if((t|0)==31){h=M;return}}function Va(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;s=u+4|0;o=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[f[t>>2]>>2]=65536;f[(f[t>>2]|0)+4>>2]=0-(f[f[n>>2]>>2]|0);f[l>>2]=1;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;f[o>>2]=f[(f[n>>2]|0)+(f[l>>2]<<1<<2)>>2];i=f[(f[t>>2]|0)+((f[l>>2]|0)-1<<2)>>2]<<1;r=f[o>>2]|0;e=f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]|0;e=Ms(r|0,((r|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ps(e|0,L|0,15)|0;e=ds(e|0,L|0,1,0)|0;e=ps(e|0,L|0,1)|0;f[(f[t>>2]|0)+((f[l>>2]|0)+1<<2)>>2]=i-e;f[s>>2]=f[l>>2];while(1){if((f[s>>2]|0)<=1)break;r=f[(f[t>>2]|0)+((f[s>>2]|0)-2<<2)>>2]|0;e=f[o>>2]|0;i=f[(f[t>>2]|0)+((f[s>>2]|0)-1<<2)>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,15)|0;i=ds(i|0,L|0,1,0)|0;i=ps(i|0,L|0,1)|0;e=(f[t>>2]|0)+(f[s>>2]<<2)|0;f[e>>2]=(f[e>>2]|0)+(r-i);f[s>>2]=(f[s>>2]|0)+-1}e=(f[t>>2]|0)+4|0;f[e>>2]=(f[e>>2]|0)-(f[o>>2]|0);f[l>>2]=(f[l>>2]|0)+1}h=u;return}function Ja(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+80|0;u=g+40|0;a=g+36|0;c=g+32|0;b=g+28|0;d=g+24|0;l=g+20|0;v=g+16|0;o=g+12|0;s=g+8|0;k=g+48|0;p=g+4|0;w=g;f[u>>2]=e;f[a>>2]=r;f[c>>2]=i;f[b>>2]=t;f[p>>2]=(f[u>>2]|0)+2772;if((f[(f[u>>2]|0)+2316>>2]|0)!=(f[(f[p>>2]|0)+1384>>2]|0)){ni(f[u>>2]|0);f[(f[p>>2]|0)+1384>>2]=f[(f[u>>2]|0)+2316>>2]}e:do{if((f[(f[u>>2]|0)+4160>>2]|0)==0?(f[(f[u>>2]|0)+4164>>2]|0)==0:0){f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2340>>2]|0))break;r=(f[p>>2]|0)+1280+(f[d>>2]<<1)|0;n[r>>1]=(n[r>>1]|0)+((((n[(f[u>>2]|0)+2344+(f[d>>2]<<1)>>1]|0)-(n[(f[p>>2]|0)+1280+(f[d>>2]<<1)>>1]|0)>>16)*16348|0)+(((n[(f[u>>2]|0)+2344+(f[d>>2]<<1)>>1]|0)-(n[(f[p>>2]|0)+1280+(f[d>>2]<<1)>>1]|0)&65535)*16348>>16));f[d>>2]=(f[d>>2]|0)+1}f[o>>2]=0;f[l>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2324>>2]|0))break;if((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)>(f[o>>2]|0)){f[o>>2]=f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2];f[l>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}ys((f[p>>2]|0)+(f[(f[u>>2]|0)+2332>>2]<<2)|0,f[p>>2]|0,(re((f[(f[u>>2]|0)+2324>>2]|0)-1|0,f[(f[u>>2]|0)+2332>>2]|0)|0)<<2|0)|0;l=re(f[l>>2]|0,f[(f[u>>2]|0)+2332>>2]|0)|0;gs(f[p>>2]|0,(f[u>>2]|0)+4+(l<<2)|0,f[(f[u>>2]|0)+2332>>2]<<2|0)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2324>>2]|0))break e;l=(f[p>>2]|0)+1376|0;f[l>>2]=(f[l>>2]|0)+((((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)-(f[(f[p>>2]|0)+1376>>2]|0)>>16)*4634|0)+(((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)-(f[(f[p>>2]|0)+1376>>2]|0)&65535)*4634>>16));f[d>>2]=(f[d>>2]|0)+1}}}while(0);if(!(f[(f[u>>2]|0)+4160>>2]|0)){vs((f[p>>2]|0)+1312|0,0,f[(f[u>>2]|0)+2340>>2]<<2|0)|0;h=g;return}l=(f[b>>2]|0)+16|0;f[w>>2]=he()|0;o=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=re(n[(f[u>>2]|0)+4168+56>>1]>>16,(f[(f[u>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0;l=l+((re(n[(f[u>>2]|0)+4168+56>>1]&65535,(f[(f[u>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0)>>16)|0;f[s>>2]=l+(re(n[(f[u>>2]|0)+4168+56>>1]|0,(f[(f[u>>2]|0)+4168+72+4>>2]>>15)+1>>1)|0);if((f[s>>2]|0)<2097152?(f[(f[p>>2]|0)+1376>>2]|0)<=8388608:0){l=re(f[s>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;l=l+((re(f[s>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;f[s>>2]=l+(re(f[s>>2]|0,(f[s>>2]>>15)+1>>1)|0);l=re(f[(f[p>>2]|0)+1376>>2]>>16,(f[(f[p>>2]|0)+1376>>2]&65535)<<16>>16)|0;l=l+((re(f[(f[p>>2]|0)+1376>>2]&65535,(f[(f[p>>2]|0)+1376>>2]&65535)<<16>>16)|0)>>16)|0;l=l+(re(f[(f[p>>2]|0)+1376>>2]|0,(f[(f[p>>2]|0)+1376>>2]>>15)+1>>1)|0)|0;f[s>>2]=l-(f[s>>2]<<5);f[s>>2]=(Ga(f[s>>2]|0)|0)<<8}else{f[s>>2]=re(f[s>>2]>>16,f[s>>2]>>16)|0;l=re(f[(f[p>>2]|0)+1376>>2]>>16,f[(f[p>>2]|0)+1376>>2]>>16)|0;f[s>>2]=l-(f[s>>2]<<5);f[s>>2]=(Ga(f[s>>2]|0)|0)<<16}Qa(o+64|0,f[p>>2]|0,f[s>>2]|0,f[b>>2]|0,(f[p>>2]|0)+1380|0);Za(k,(f[p>>2]|0)+1280|0,f[(f[u>>2]|0)+2340>>2]|0);a=o;i=(f[p>>2]|0)+1312|0;t=a+64|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[v>>2]=f[(f[u>>2]|0)+2340>>2]>>1;s=re(f[o+(16+(f[d>>2]|0)-1<<2)>>2]>>16,n[k>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-1<<2)>>2]&65535,n[k>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-2<<2)>>2]>>16,n[k+2>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-2<<2)>>2]&65535,n[k+2>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-3<<2)>>2]>>16,n[k+4>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-3<<2)>>2]&65535,n[k+4>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-4<<2)>>2]>>16,n[k+6>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-4<<2)>>2]&65535,n[k+6>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-5<<2)>>2]>>16,n[k+8>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-5<<2)>>2]&65535,n[k+8>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-6<<2)>>2]>>16,n[k+10>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-6<<2)>>2]&65535,n[k+10>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-7<<2)>>2]>>16,n[k+12>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-7<<2)>>2]&65535,n[k+12>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-8<<2)>>2]>>16,n[k+14>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-8<<2)>>2]&65535,n[k+14>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-9<<2)>>2]>>16,n[k+16>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-9<<2)>>2]&65535,n[k+16>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-10<<2)>>2]>>16,n[k+18>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-10<<2)>>2]&65535,n[k+18>>1]|0)|0)>>16));if((f[(f[u>>2]|0)+2340>>2]|0)==16){s=re(f[o+(16+(f[d>>2]|0)-11<<2)>>2]>>16,n[k+20>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-11<<2)>>2]&65535,n[k+20>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-12<<2)>>2]>>16,n[k+22>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-12<<2)>>2]&65535,n[k+22>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-13<<2)>>2]>>16,n[k+24>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-13<<2)>>2]&65535,n[k+24>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-14<<2)>>2]>>16,n[k+26>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-14<<2)>>2]&65535,n[k+26>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-15<<2)>>2]>>16,n[k+28>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-15<<2)>>2]&65535,n[k+28>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-16<<2)>>2]>>16,n[k+30>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-16<<2)>>2]&65535,n[k+30>>1]|0)|0)>>16))}f[o+(16+(f[d>>2]|0)<<2)>>2]=(f[o+(16+(f[d>>2]|0)<<2)>>2]|0)+(f[v>>2]<<4);if(((n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0)<=32767)if(((n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0)<-32768)a=-32768;else a=(n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0;else a=32767;n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]=a;f[d>>2]=(f[d>>2]|0)+1}a=(f[p>>2]|0)+1312|0;i=o+(f[b>>2]<<2)|0;t=a+64|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));de(f[w>>2]|0);h=g;return}function Ga(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Ka(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Ka(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Xa(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=($a(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Xa(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function $a(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Qa(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;a=d+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;k=d+12|0;b=d+8|0;w=d+4|0;c=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;f[c>>2]=255;while(1){if((f[c>>2]|0)<=(f[s>>2]|0))break;f[c>>2]=f[c>>2]>>1}f[k>>2]=f[f[u>>2]>>2];f[b>>2]=0;while(1){i=f[k>>2]|0;if((f[b>>2]|0)>=(f[s>>2]|0))break;f[k>>2]=907633515+(re(i,196314165)|0);f[w>>2]=f[k>>2]>>24&f[c>>2];n=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;n=n+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((n+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0)<=32767){n=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;n=n+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((n+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0)<-32768)i=-32768;else{i=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;i=i+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;i=i+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0}}else i=32767;f[(f[a>>2]|0)+(f[b>>2]<<2)>>2]=(i&65535)<<16>>16;f[b>>2]=(f[b>>2]|0)+1}f[f[u>>2]>>2]=i;h=d;return}function eo(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;v=h;h=h+48|0;l=v+40|0;_=v+36|0;s=v+32|0;g=v+28|0;y=v+24|0;u=v+20|0;c=v+16|0;k=v+12|0;d=v+8|0;b=v+44|0;p=v+4|0;w=v;f[l>>2]=e;f[_>>2]=r;f[s>>2]=i;f[g>>2]=n;f[y>>2]=a;f[u>>2]=o;t[b+1>>0]=0;f[p>>2]=f[_>>2];f[c>>2]=(((f[y>>2]|0)+(f[g>>2]<<1)&65535)<<16>>16)*7;f[w>>2]=30184+(f[c>>2]|0);f[s>>2]=(f[s>>2]|0)+8>>4;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[s>>2]|0))break;f[d>>2]=f[(f[u>>2]|0)+(f[c>>2]<<2)>>2];e:do{if((f[d>>2]|0)>0){t[b>>0]=t[(f[w>>2]|0)+((f[d>>2]&31|0)<6?f[d>>2]&31:6)>>0]|0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=16)break e;if(t[(f[p>>2]|0)+(f[k>>2]|0)>>0]|0)$e(f[l>>2]|0,(t[(f[p>>2]|0)+(f[k>>2]|0)>>0]>>15)+1|0,b,8);f[k>>2]=(f[k>>2]|0)+1}}}while(0);f[p>>2]=(f[p>>2]|0)+16;f[c>>2]=(f[c>>2]|0)+1}h=v;return}function ro(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;g=h;h=h+48|0;s=g+40|0;m=g+36|0;u=g+32|0;y=g+28|0;_=g+24|0;c=g+20|0;b=g+16|0;d=g+12|0;p=g+8|0;w=g+44|0;v=g+4|0;k=g;f[s>>2]=e;f[m>>2]=r;f[u>>2]=i;f[y>>2]=a;f[_>>2]=o;f[c>>2]=l;t[w+1>>0]=0;f[v>>2]=f[m>>2];f[b>>2]=(((f[_>>2]|0)+(f[y>>2]<<1)&65535)<<16>>16)*7;f[k>>2]=30184+(f[b>>2]|0);f[u>>2]=(f[u>>2]|0)+8>>4;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[u>>2]|0))break;f[p>>2]=f[(f[c>>2]|0)+(f[b>>2]<<2)>>2];e:do{if((f[p>>2]|0)>0){t[w>>0]=t[(f[k>>2]|0)+((f[p>>2]&31|0)<6?f[p>>2]&31:6)>>0]|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=16)break e;if((n[(f[v>>2]|0)+(f[d>>2]<<1)>>1]|0)>0){_=((Fe(f[s>>2]|0,w,8)|0)<<1)-1|0;m=(f[v>>2]|0)+(f[d>>2]<<1)|0;n[m>>1]=re(n[m>>1]|0,_)|0}f[d>>2]=(f[d>>2]|0)+1}}}while(0);f[v>>2]=(f[v>>2]|0)+32;f[b>>2]=(f[b>>2]|0)+1}h=g;return}function io(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;vs(f[i>>2]|0,0,4260)|0;f[(f[i>>2]|0)+2376>>2]=1;f[f[i>>2]>>2]=65536;ni(f[i>>2]|0);vf(f[i>>2]|0);h=r;return 0}function to(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;D=h;h=h+144|0;w=D+100|0;k=D+96|0;d=D+92|0;u=D+88|0;p=D+84|0;T=D+80|0;x=D+76|0;O=D+72|0;j=D+68|0;U=D+64|0;S=D+60|0;B=D+56|0;g=D+52|0;_=D+48|0;C=D+44|0;y=D+104|0;A=D+40|0;E=D+36|0;m=D+32|0;M=D+28|0;R=D+24|0;b=D+20|0;c=D+16|0;P=D+12|0;L=D+8|0;I=D+4|0;v=D;f[w>>2]=e;f[k>>2]=r;f[d>>2]=i;f[u>>2]=a;f[p>>2]=o;f[O>>2]=0;i=f[(f[w>>2]|0)+2336>>2]|0;f[v>>2]=he()|0;a=h;h=h+((1*(i<<1)|0)+15&-16)|0;i=h;h=h+((1*((f[(f[w>>2]|0)+2336>>2]|0)+(f[(f[w>>2]|0)+2328>>2]|0)<<2)|0)+15&-16)|0;l=h;h=h+((1*(f[(f[w>>2]|0)+2332>>2]<<2)|0)+15&-16)|0;s=h;h=h+((1*((f[(f[w>>2]|0)+2332>>2]|0)+16<<2)|0)+15&-16)|0;f[c>>2]=n[24558+(t[(f[w>>2]|0)+2736+29>>0]>>1<<2)+(t[(f[w>>2]|0)+2736+30>>0]<<1)>>1];if((t[(f[w>>2]|0)+2736+31>>0]|0)<4)f[S>>2]=1;else f[S>>2]=0;f[b>>2]=t[(f[w>>2]|0)+2736+34>>0];f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2328>>2]|0))break;f[b>>2]=907633515+(re(f[b>>2]|0,196314165)|0);f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]=n[(f[u>>2]|0)+(f[T>>2]<<1)>>1]<<14;o=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;e=f[o>>2]|0;if((f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]|0)<=0){if((e|0)<0){r=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+1280}}else f[o>>2]=e-1280;r=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+(f[c>>2]<<4);if((f[b>>2]|0)<0)f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]=0-(f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]|0);f[b>>2]=(f[b>>2]|0)+(n[(f[u>>2]|0)+(f[T>>2]<<1)>>1]|0);f[T>>2]=(f[T>>2]|0)+1}o=s;e=(f[w>>2]|0)+1284|0;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));f[L>>2]=(f[w>>2]|0)+4;f[C>>2]=f[d>>2];f[U>>2]=f[(f[w>>2]|0)+2336>>2];f[x>>2]=0;while(1){if((f[x>>2]|0)>=(f[(f[w>>2]|0)+2324>>2]|0))break;f[I>>2]=l;f[g>>2]=(f[k>>2]|0)+32+(f[x>>2]>>1<<5);gs(y|0,f[g>>2]|0,f[(f[w>>2]|0)+2340>>2]<<1|0)|0;f[_>>2]=(f[k>>2]|0)+96+((f[x>>2]|0)*5<<1);f[B>>2]=t[(f[w>>2]|0)+2736+29>>0];f[m>>2]=f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]>>6;f[M>>2]=no(f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0,47)|0;e:do{if((f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0)!=(f[f[w>>2]>>2]|0)){f[R>>2]=ao(f[f[w>>2]>>2]|0,f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0,16)|0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=16)break e;b=re(f[R>>2]>>16,(f[s+(f[T>>2]<<2)>>2]&65535)<<16>>16)|0;b=b+((re(f[R>>2]&65535,(f[s+(f[T>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[R>>2]|0,(f[s+(f[T>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[s+(f[T>>2]<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}else f[R>>2]=65536}while(0);f[f[w>>2]>>2]=f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2];if((f[(f[w>>2]|0)+4160>>2]|0?(f[(f[w>>2]|0)+4164>>2]|0)==2:0)?(f[x>>2]|0)<2?(t[(f[w>>2]|0)+2736+29>>0]|0)!=2:0:0){b=f[_>>2]|0;n[b>>1]=0;n[b+2>>1]=0;n[b+4>>1]=0;n[b+6>>1]=0;n[b+8>>1]=0;n[(f[_>>2]|0)+4>>1]=4096;f[B>>2]=2;f[(f[k>>2]|0)+(f[x>>2]<<2)>>2]=f[(f[w>>2]|0)+2308>>2]}e:do{if((f[B>>2]|0)==2){f[O>>2]=f[(f[k>>2]|0)+(f[x>>2]<<2)>>2];if(f[x>>2]|0?!((f[x>>2]|0)==2&(f[S>>2]|0)!=0):0){if((f[R>>2]|0)==65536)break;f[T>>2]=0;while(1){if((f[T>>2]|0)>=((f[O>>2]|0)+2|0))break e;b=re(f[R>>2]>>16,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;b=b+((re(f[R>>2]&65535,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[R>>2]|0,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}f[j>>2]=(f[(f[w>>2]|0)+2336>>2]|0)-(f[O>>2]|0)-(f[(f[w>>2]|0)+2340>>2]|0)-2;if((f[x>>2]|0)==2)gs((f[w>>2]|0)+1348+(f[(f[w>>2]|0)+2336>>2]<<1)|0,f[d>>2]|0,f[(f[w>>2]|0)+2332>>2]<<1<<1|0)|0;b=(f[j>>2]|0)+(re(f[x>>2]|0,f[(f[w>>2]|0)+2332>>2]|0)|0)|0;za(a+(f[j>>2]<<1)|0,(f[w>>2]|0)+1348+(b<<1)|0,f[g>>2]|0,(f[(f[w>>2]|0)+2336>>2]|0)-(f[j>>2]|0)|0,f[(f[w>>2]|0)+2340>>2]|0,f[p>>2]|0);if(!(f[x>>2]|0)){b=re(f[M>>2]>>16,(f[(f[k>>2]|0)+136>>2]&65535)<<16>>16)|0;f[M>>2]=b+((re(f[M>>2]&65535,(f[(f[k>>2]|0)+136>>2]&65535)<<16>>16)|0)>>16)<<2}f[T>>2]=0;while(1){if((f[T>>2]|0)>=((f[O>>2]|0)+2|0))break e;b=re(f[M>>2]>>16,n[a+((f[(f[w>>2]|0)+2336>>2]|0)-(f[T>>2]|0)-1<<1)>>1]|0)|0;b=b+((re(f[M>>2]&65535,n[a+((f[(f[w>>2]|0)+2336>>2]|0)-(f[T>>2]|0)-1<<1)>>1]|0)|0)>>16)|0;f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}}while(0);e:do{if((f[B>>2]|0)==2){f[P>>2]=i+((f[U>>2]|0)-(f[O>>2]|0)+2<<2);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2332>>2]|0))break e;f[A>>2]=2;b=re(f[f[P>>2]>>2]>>16,n[f[_>>2]>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[f[P>>2]>>2]&65535,n[f[_>>2]>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-4>>2]>>16,n[(f[_>>2]|0)+2>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-4>>2]&65535,n[(f[_>>2]|0)+2>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-8>>2]>>16,n[(f[_>>2]|0)+4>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-8>>2]&65535,n[(f[_>>2]|0)+4>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-12>>2]>>16,n[(f[_>>2]|0)+6>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-12>>2]&65535,n[(f[_>>2]|0)+6>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-16>>2]>>16,n[(f[_>>2]|0)+8>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-16>>2]&65535,n[(f[_>>2]|0)+8>>1]|0)|0)>>16));f[P>>2]=(f[P>>2]|0)+4;f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]=(f[(f[L>>2]|0)+(f[T>>2]<<2)>>2]|0)+(f[A>>2]<<1);f[i+(f[U>>2]<<2)>>2]=f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]<<1;f[U>>2]=(f[U>>2]|0)+1;f[T>>2]=(f[T>>2]|0)+1}}else f[I>>2]=f[L>>2]}while(0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2332>>2]|0))break;f[E>>2]=f[(f[w>>2]|0)+2340>>2]>>1;b=re(f[s+(16+(f[T>>2]|0)-1<<2)>>2]>>16,n[y>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-1<<2)>>2]&65535,n[y>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-2<<2)>>2]>>16,n[y+2>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-2<<2)>>2]&65535,n[y+2>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-3<<2)>>2]>>16,n[y+4>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-3<<2)>>2]&65535,n[y+4>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-4<<2)>>2]>>16,n[y+6>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-4<<2)>>2]&65535,n[y+6>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-5<<2)>>2]>>16,n[y+8>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-5<<2)>>2]&65535,n[y+8>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-6<<2)>>2]>>16,n[y+10>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-6<<2)>>2]&65535,n[y+10>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-7<<2)>>2]>>16,n[y+12>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-7<<2)>>2]&65535,n[y+12>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-8<<2)>>2]>>16,n[y+14>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-8<<2)>>2]&65535,n[y+14>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-9<<2)>>2]>>16,n[y+16>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-9<<2)>>2]&65535,n[y+16>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-10<<2)>>2]>>16,n[y+18>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-10<<2)>>2]&65535,n[y+18>>1]|0)|0)>>16));if((f[(f[w>>2]|0)+2340>>2]|0)==16){b=re(f[s+(16+(f[T>>2]|0)-11<<2)>>2]>>16,n[y+20>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-11<<2)>>2]&65535,n[y+20>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-12<<2)>>2]>>16,n[y+22>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-12<<2)>>2]&65535,n[y+22>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-13<<2)>>2]>>16,n[y+24>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-13<<2)>>2]&65535,n[y+24>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-14<<2)>>2]>>16,n[y+26>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-14<<2)>>2]&65535,n[y+26>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-15<<2)>>2]>>16,n[y+28>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-15<<2)>>2]&65535,n[y+28>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-16<<2)>>2]>>16,n[y+30>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-16<<2)>>2]&65535,n[y+30>>1]|0)|0)>>16))}f[s+(16+(f[T>>2]|0)<<2)>>2]=(f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]|0)+(f[E>>2]<<4);b=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;b=b+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;if(((b+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){b=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;b=b+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;if(((b+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)o=-32768;else{o=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;o=o+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;o=(o+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1}}else o=32767;n[(f[C>>2]|0)+(f[T>>2]<<1)>>1]=o;f[T>>2]=(f[T>>2]|0)+1}o=s;e=s+(f[(f[w>>2]|0)+2332>>2]<<2)|0;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));f[L>>2]=(f[L>>2]|0)+(f[(f[w>>2]|0)+2332>>2]<<2);f[C>>2]=(f[C>>2]|0)+(f[(f[w>>2]|0)+2332>>2]<<1);f[x>>2]=(f[x>>2]|0)+1}o=(f[w>>2]|0)+1284|0;e=s;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));de(f[v>>2]|0);h=D;return}function no(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(fo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function fo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ao(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(fo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(fo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function oo(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+192|0;s=E+180|0;u=E+176|0;c=E+172|0;b=E+168|0;w=E+164|0;k=E+160|0;d=E+156|0;v=E+152|0;g=E+148|0;_=E+144|0;y=E+4|0;p=E;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[_>>2]=0;f[v>>2]=f[(f[s>>2]|0)+2328>>2];f[y+136>>2]=0;do{if(!(f[w>>2]|0))m=4;else{if((f[w>>2]|0)==2?(f[(f[s>>2]|0)+2420+(f[(f[s>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){m=4;break}gf(f[s>>2]|0,y,f[c>>2]|0,1,f[d>>2]|0)}}while(0);if((m|0)==4){r=(f[v>>2]|0)+16-1&-16;f[p>>2]=he()|0;m=h;h=h+((1*(r<<1)|0)+15&-16)|0;so(f[s>>2]|0,f[u>>2]|0,f[(f[s>>2]|0)+2388>>2]|0,f[w>>2]|0,f[k>>2]|0);uo(f[u>>2]|0,m,t[(f[s>>2]|0)+2736+29>>0]|0,t[(f[s>>2]|0)+2736+30>>0]|0,f[(f[s>>2]|0)+2328>>2]|0);lo(f[s>>2]|0,y,f[k>>2]|0);to(f[s>>2]|0,y,f[c>>2]|0,m,f[d>>2]|0);gf(f[s>>2]|0,y,f[c>>2]|0,0,f[d>>2]|0);f[(f[s>>2]|0)+4160>>2]=0;f[(f[s>>2]|0)+4164>>2]=t[(f[s>>2]|0)+2736+29>>0];f[(f[s>>2]|0)+2376>>2]=0;de(f[p>>2]|0)}f[g>>2]=(f[(f[s>>2]|0)+2336>>2]|0)-(f[(f[s>>2]|0)+2328>>2]|0);ys((f[s>>2]|0)+1348|0,(f[s>>2]|0)+1348+(f[(f[s>>2]|0)+2328>>2]<<1)|0,f[g>>2]<<1|0)|0;gs((f[s>>2]|0)+1348+(f[g>>2]<<1)|0,f[c>>2]|0,f[(f[s>>2]|0)+2328>>2]<<1|0)|0;Ja(f[s>>2]|0,y,f[c>>2]|0,f[v>>2]|0);Of(f[s>>2]|0,f[c>>2]|0,f[v>>2]|0);f[(f[s>>2]|0)+2308>>2]=f[y+((f[(f[s>>2]|0)+2324>>2]|0)-1<<2)>>2];f[f[b>>2]>>2]=f[v>>2];h=E;return f[_>>2]|0}function lo(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+96|0;a=k+24|0;o=k+20|0;d=k+16|0;u=k+12|0;c=k+8|0;l=k+4|0;w=k+64|0;b=k+32|0;s=k;f[a>>2]=e;f[o>>2]=r;f[d>>2]=i;Ro((f[o>>2]|0)+16|0,(f[a>>2]|0)+2736|0,(f[a>>2]|0)+2312|0,(f[d>>2]|0)==2&1,f[(f[a>>2]|0)+2324>>2]|0);Po(w,(f[a>>2]|0)+2736+8|0,f[(f[a>>2]|0)+2732>>2]|0);Za((f[o>>2]|0)+32+32|0,w,f[(f[a>>2]|0)+2340>>2]|0);if((f[(f[a>>2]|0)+2376>>2]|0)==1)t[(f[a>>2]|0)+2736+31>>0]=4;if((t[(f[a>>2]|0)+2736+31>>0]|0)<4){f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[a>>2]|0)+2340>>2]|0))break;d=(n[(f[a>>2]|0)+2344+(f[u>>2]<<1)>>1]|0)+((re(t[(f[a>>2]|0)+2736+31>>0]|0,(n[w+(f[u>>2]<<1)>>1]|0)-(n[(f[a>>2]|0)+2344+(f[u>>2]<<1)>>1]|0)|0)|0)>>2)&65535;n[b+(f[u>>2]<<1)>>1]=d;f[u>>2]=(f[u>>2]|0)+1}Za((f[o>>2]|0)+32|0,b,f[(f[a>>2]|0)+2340>>2]|0)}else gs((f[o>>2]|0)+32|0,(f[o>>2]|0)+32+32|0,f[(f[a>>2]|0)+2340>>2]<<1|0)|0;gs((f[a>>2]|0)+2344|0,w|0,f[(f[a>>2]|0)+2340>>2]<<1|0)|0;if(f[(f[a>>2]|0)+4160>>2]|0){Ia((f[o>>2]|0)+32|0,f[(f[a>>2]|0)+2340>>2]|0,63570);Ia((f[o>>2]|0)+32+32|0,f[(f[a>>2]|0)+2340>>2]|0,63570)}if((t[(f[a>>2]|0)+2736+29>>0]|0)!=2){vs(f[o>>2]|0,0,f[(f[a>>2]|0)+2324>>2]<<2|0)|0;vs((f[o>>2]|0)+96|0,0,(f[(f[a>>2]|0)+2324>>2]|0)*5<<1|0)|0;t[(f[a>>2]|0)+2736+32>>0]=0;f[(f[o>>2]|0)+136>>2]=0;h=k;return}Ca(n[(f[a>>2]|0)+2736+26>>1]|0,t[(f[a>>2]|0)+2736+28>>0]|0,f[o>>2]|0,f[(f[a>>2]|0)+2316>>2]|0,f[(f[a>>2]|0)+2324>>2]|0);f[s>>2]=f[17644+(t[(f[a>>2]|0)+2736+32>>0]<<2)>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[(f[a>>2]|0)+2324>>2]|0))break;f[l>>2]=t[(f[a>>2]|0)+2736+4+(f[c>>2]|0)>>0];f[u>>2]=0;while(1){if((f[u>>2]|0)>=5)break;n[(f[o>>2]|0)+96+(((f[c>>2]|0)*5|0)+(f[u>>2]|0)<<1)>>1]=t[(f[s>>2]|0)+(((f[l>>2]|0)*5|0)+(f[u>>2]|0))>>0]<<7;f[u>>2]=(f[u>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}f[l>>2]=t[(f[a>>2]|0)+2736+33>>0];f[(f[o>>2]|0)+136>>2]=n[24566+(f[l>>2]<<1)>>1];h=k;return}function so(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+96|0;l=g+36|0;s=g+32|0;y=g+28|0;_=g+24|0;u=g+20|0;d=g+16|0;p=g+12|0;c=g+8|0;b=g+4|0;w=g;k=g+40|0;v=g+72|0;f[l>>2]=e;f[s>>2]=r;f[y>>2]=i;f[_>>2]=a;f[u>>2]=o;if(!(f[_>>2]|0)?!(f[(f[l>>2]|0)+2404+(f[y>>2]<<2)>>2]|0):0)f[c>>2]=Fe(f[s>>2]|0,29024,8)|0;else f[c>>2]=(Fe(f[s>>2]|0,29020,8)|0)+2;t[(f[l>>2]|0)+2736+29>>0]=f[c>>2]>>1;t[(f[l>>2]|0)+2736+30>>0]=f[c>>2]&1;i=f[s>>2]|0;if((f[u>>2]|0)==2){_=(Fe(i,26771,8)|0)&255;t[(f[l>>2]|0)+2736>>0]=_}else{y=(Fe(i,26747+(t[(f[l>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;t[(f[l>>2]|0)+2736>>0]=y;y=((Fe(f[s>>2]|0,29049,8)|0)&255)<<24>>24;_=(f[l>>2]|0)+2736|0;t[_>>0]=(t[_>>0]|0)+y}f[d>>2]=1;while(1){i=f[s>>2]|0;if((f[d>>2]|0)>=(f[(f[l>>2]|0)+2324>>2]|0))break;_=(Fe(i,26771,8)|0)&255;t[(f[l>>2]|0)+2736+(f[d>>2]|0)>>0]=_;f[d>>2]=(f[d>>2]|0)+1}_=re(t[(f[l>>2]|0)+2736+29>>0]>>1,n[f[(f[l>>2]|0)+2732>>2]>>1]|0)|0;_=(Fe(i,(f[(f[(f[l>>2]|0)+2732>>2]|0)+12>>2]|0)+_|0,8)|0)&255;t[(f[l>>2]|0)+2736+8>>0]=_;fa(k,v,f[(f[l>>2]|0)+2732>>2]|0,t[(f[l>>2]|0)+2736+8>>0]|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(n[(f[(f[l>>2]|0)+2732>>2]|0)+2>>1]|0))break;f[c>>2]=Fe(f[s>>2]|0,(f[(f[(f[l>>2]|0)+2732>>2]|0)+24>>2]|0)+(n[k+(f[d>>2]<<1)>>1]|0)|0,8)|0;if(f[c>>2]|0){if((f[c>>2]|0)==8){_=Fe(f[s>>2]|0,29057,8)|0;f[c>>2]=(f[c>>2]|0)+_}}else{_=Fe(f[s>>2]|0,29057,8)|0;f[c>>2]=(f[c>>2]|0)-_}t[(f[l>>2]|0)+2736+8+((f[d>>2]|0)+1)>>0]=(f[c>>2]|0)-4;f[d>>2]=(f[d>>2]|0)+1}if((f[(f[l>>2]|0)+2324>>2]|0)==4){_=(Fe(f[s>>2]|0,29026,8)|0)&255;t[(f[l>>2]|0)+2736+31>>0]=_}else t[(f[l>>2]|0)+2736+31>>0]=4;if((t[(f[l>>2]|0)+2736+29>>0]|0)!=2){_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}f[b>>2]=1;if(((f[u>>2]|0)==2?(f[(f[l>>2]|0)+2396>>2]|0)==2:0)?(f[w>>2]=((Fe(f[s>>2]|0,29096,8)|0)&65535)<<16>>16,(f[w>>2]|0)>0):0){f[w>>2]=(f[w>>2]|0)-9;n[(f[l>>2]|0)+2736+26>>1]=(n[(f[l>>2]|0)+2400>>1]|0)+(f[w>>2]|0);f[b>>2]=0}if(f[b>>2]|0){y=((Fe(f[s>>2]|0,29064,8)|0)&65535)<<16>>16;y=(re(y,f[(f[l>>2]|0)+2316>>2]>>1)|0)&65535;n[(f[l>>2]|0)+2736+26>>1]=y;y=((Fe(f[s>>2]|0,f[(f[l>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;_=(f[l>>2]|0)+2736+26|0;n[_>>1]=(n[_>>1]|0)+y}n[(f[l>>2]|0)+2400>>1]=n[(f[l>>2]|0)+2736+26>>1]|0;_=(Fe(f[s>>2]|0,f[(f[l>>2]|0)+2384>>2]|0,8)|0)&255;t[(f[l>>2]|0)+2736+28>>0]=_;_=(Fe(f[s>>2]|0,26812,8)|0)&255;t[(f[l>>2]|0)+2736+32>>0]=_;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[(f[l>>2]|0)+2324>>2]|0))break;_=(Fe(f[s>>2]|0,f[17620+(t[(f[l>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;t[(f[l>>2]|0)+2736+4+(f[p>>2]|0)>>0]=_;f[p>>2]=(f[p>>2]|0)+1}if(!(f[u>>2]|0)){_=(Fe(f[s>>2]|0,29017,8)|0)&255;t[(f[l>>2]|0)+2736+33>>0]=_;_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}else{t[(f[l>>2]|0)+2736+33>>0]=0;_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}}function uo(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+224|0;s=A+212|0;u=A+208|0;c=A+204|0;b=A+200|0;w=A+196|0;d=A+192|0;v=A+188|0;g=A+184|0;p=A+180|0;k=A+176|0;y=A+172|0;o=A+168|0;E=A+88|0;_=A+8|0;m=A+4|0;l=A;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[o>>2]=Fe(f[s>>2]|0,29523+((f[c>>2]>>1)*9|0)|0,8)|0;f[p>>2]=f[w>>2]>>4;if((f[p>>2]<<4|0)<(f[w>>2]|0))f[p>>2]=(f[p>>2]|0)+1;f[l>>2]=29181+((f[o>>2]|0)*18|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;f[_+(f[d>>2]<<2)>>2]=0;i=Fe(f[s>>2]|0,f[l>>2]|0,8)|0;f[E+(f[d>>2]<<2)>>2]=i;while(1){o=f[d>>2]|0;if((f[E+(f[d>>2]<<2)>>2]|0)!=17)break;i=_+(o<<2)|0;f[i>>2]=(f[i>>2]|0)+1;i=Fe(f[s>>2]|0,29343+((f[_+(f[d>>2]<<2)>>2]|0)==10&1)|0,8)|0;f[E+(f[d>>2]<<2)>>2]=i}f[d>>2]=o+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;o=(f[u>>2]|0)+((f[d>>2]&65535)<<16>>16<<4<<1)|0;if((f[E+(f[d>>2]<<2)>>2]|0)>0)jf(o,f[s>>2]|0,f[E+(f[d>>2]<<2)>>2]|0);else{a=o+32|0;do{n[o>>1]=0;o=o+2|0}while((o|0)<(a|0))}f[d>>2]=(f[d>>2]|0)+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;if((f[_+(f[d>>2]<<2)>>2]|0)>0){f[y>>2]=f[_+(f[d>>2]<<2)>>2];f[m>>2]=(f[u>>2]|0)+((f[d>>2]&65535)<<16>>16<<4<<1);f[g>>2]=0;while(1){if((f[g>>2]|0)>=16)break;f[k>>2]=n[(f[m>>2]|0)+(f[g>>2]<<1)>>1];f[v>>2]=0;while(1){o=f[k>>2]|0;if((f[v>>2]|0)>=(f[y>>2]|0))break;f[k>>2]=o<<1;l=Fe(f[s>>2]|0,29015,8)|0;f[k>>2]=(f[k>>2]|0)+l;f[v>>2]=(f[v>>2]|0)+1}n[(f[m>>2]|0)+(f[g>>2]<<1)>>1]=o;f[g>>2]=(f[g>>2]|0)+1}l=E+(f[d>>2]<<2)|0;f[l>>2]=f[l>>2]|f[y>>2]<<5}f[d>>2]=(f[d>>2]|0)+1}ro(f[s>>2]|0,f[u>>2]|0,f[w>>2]|0,f[c>>2]|0,f[b>>2]|0,E);h=A;return}function ho(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;a=u+16|0;o=u+12|0;n=u+8|0;l=u+4|0;s=u;f[a>>2]=e;f[o>>2]=r;f[n>>2]=i;f[s>>2]=0;f[(f[a>>2]|0)+2332>>2]=((f[o>>2]&65535)<<16>>16)*5;f[l>>2]=re((f[(f[a>>2]|0)+2324>>2]&65535)<<16>>16,(f[(f[a>>2]|0)+2332>>2]&65535)<<16>>16)|0;if(!((f[(f[a>>2]|0)+2316>>2]|0)==(f[o>>2]|0)?(f[(f[a>>2]|0)+2320>>2]|0)==(f[n>>2]|0):0)){e=hi((f[a>>2]|0)+2432|0,((f[o>>2]&65535)<<16>>16)*1e3|0,f[n>>2]|0,0)|0;f[s>>2]=(f[s>>2]|0)+e;f[(f[a>>2]|0)+2320>>2]=f[n>>2]}if((f[(f[a>>2]|0)+2316>>2]|0)==(f[o>>2]|0)?(f[l>>2]|0)==(f[(f[a>>2]|0)+2328>>2]|0):0){s=f[s>>2]|0;h=u;return s|0}n=(f[(f[a>>2]|0)+2324>>2]|0)==4;i=(f[a>>2]|0)+2384|0;do{if((f[o>>2]|0)==8)if(n){f[i>>2]=29151;break}else{f[i>>2]=29174;break}else if(n){f[i>>2]=29117;break}else{f[i>>2]=29162;break}}while(0);if((f[(f[a>>2]|0)+2316>>2]|0)!=(f[o>>2]|0)){f[(f[a>>2]|0)+2336>>2]=((f[o>>2]&65535)<<16>>16)*20;n=(f[a>>2]|0)+2340|0;if((f[o>>2]|0)==8|(f[o>>2]|0)==12){f[n>>2]=10;f[(f[a>>2]|0)+2732>>2]=17668}else{f[n>>2]=16;f[(f[a>>2]|0)+2732>>2]=17704}do{if((f[o>>2]|0)!=16){if((f[o>>2]|0)==12){f[(f[a>>2]|0)+2380>>2]=29043;break}if((f[o>>2]|0)==8)f[(f[a>>2]|0)+2380>>2]=29034}else f[(f[a>>2]|0)+2380>>2]=29049}while(0);f[(f[a>>2]|0)+2376>>2]=1;f[(f[a>>2]|0)+2308>>2]=100;t[(f[a>>2]|0)+2312>>0]=10;f[(f[a>>2]|0)+4164>>2]=0;vs((f[a>>2]|0)+1348|0,0,960)|0;n=(f[a>>2]|0)+1284|0;i=n+64|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}f[(f[a>>2]|0)+2316>>2]=f[o>>2];f[(f[a>>2]|0)+2328>>2]=f[l>>2];s=f[s>>2]|0;h=u;return s|0}function co(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;t=i+4|0;r=i;f[t>>2]=e;f[r>>2]=0;f[f[t>>2]>>2]=8544;h=i;return f[r>>2]|0}function bo(e){e=e|0;var r=0,i=0,t=0,n=0,a=0;a=h;h=h+16|0;r=a+12|0;t=a+8|0;n=a+4|0;i=a;f[r>>2]=e;f[n>>2]=0;f[i>>2]=f[r>>2];f[t>>2]=0;while(1){if((f[t>>2]|0)>=2)break;f[n>>2]=io((f[i>>2]|0)+((f[t>>2]|0)*4260|0)|0)|0;f[t>>2]=(f[t>>2]|0)+1}t=(f[r>>2]|0)+8520|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[(f[r>>2]|0)+8540>>2]=0;h=a;return f[n>>2]|0}function wo(e,r,i,a,o,l,s,u){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0;z=h;h=h+784|0;A=z+128|0;H=z+124|0;S=z+120|0;R=z+116|0;Y=z+112|0;p=z+108|0;T=z+104|0;M=z+100|0;v=z+96|0;P=z+92|0;C=z+88|0;L=z+84|0;D=z+80|0;U=z+76|0;b=z+72|0;N=z+64|0;y=z+56|0;j=z+52|0;B=z+48|0;O=z+44|0;m=z+40|0;F=z+36|0;E=z+32|0;c=z+28|0;k=z+136|0;w=z+24|0;x=z+20|0;g=z+16|0;_=z+12|0;I=z;f[H>>2]=e;f[S>>2]=r;f[R>>2]=i;f[Y>>2]=a;f[p>>2]=o;f[T>>2]=l;f[M>>2]=s;f[v>>2]=u;f[L>>2]=0;f[D>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[B>>2]=f[H>>2];f[O>>2]=f[B>>2];e:do{if(f[Y>>2]|0){f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break e;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2388>>2]=0;f[C>>2]=(f[C>>2]|0)+1}}}while(0);if((f[(f[S>>2]|0)+4>>2]|0)>(f[(f[B>>2]|0)+8536>>2]|0)){H=io((f[O>>2]|0)+4260|0)|0;f[D>>2]=(f[D>>2]|0)+H}if((f[(f[S>>2]|0)+4>>2]|0)==1?(f[(f[B>>2]|0)+8536>>2]|0)==2:0)u=(f[(f[S>>2]|0)+12>>2]|0)==((f[(f[O>>2]|0)+2316>>2]|0)*1e3|0);else u=0;f[F>>2]=u&1;e:do{if(!(f[(f[O>>2]|0)+2388>>2]|0)){f[C>>2]=0;r:while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break e;do{if(!(f[(f[S>>2]|0)+16>>2]|0)){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=2}else{if((f[(f[S>>2]|0)+16>>2]|0)==10){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=2;break}if((f[(f[S>>2]|0)+16>>2]|0)==20){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4;break}if((f[(f[S>>2]|0)+16>>2]|0)==40){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=2;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4;break}if((f[(f[S>>2]|0)+16>>2]|0)!=60){d=23;break r}f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=3;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4}}while(0);f[c>>2]=(f[(f[S>>2]|0)+12>>2]>>10)+1;if((f[c>>2]|0)!=8&(f[c>>2]|0)!=12&(f[c>>2]|0)!=16){d=25;break}H=ho((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[c>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;f[C>>2]=(f[C>>2]|0)+1}if((d|0)==23){f[A>>2]=-203;H=f[A>>2]|0;h=z;return H|0}else if((d|0)==25){f[A>>2]=-200;H=f[A>>2]|0;h=z;return H|0}}}while(0);do{if((f[f[S>>2]>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0){if((f[(f[B>>2]|0)+8532>>2]|0)!=1?(f[(f[B>>2]|0)+8536>>2]|0)!=1:0)break;f[(f[B>>2]|0)+8520>>2]=0;f[(f[B>>2]|0)+8520+8>>2]=0;gs((f[O>>2]|0)+4260+2432|0,(f[O>>2]|0)+2432|0,300)|0}}while(0);f[(f[B>>2]|0)+8532>>2]=f[f[S>>2]>>2];f[(f[B>>2]|0)+8536>>2]=f[(f[S>>2]|0)+4>>2];if((f[(f[S>>2]|0)+8>>2]|0)<=48e3?(f[(f[S>>2]|0)+8>>2]|0)>=8e3:0){e:do{if((f[R>>2]|0)!=1?(f[(f[O>>2]|0)+2388>>2]|0)==0:0){f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;f[P>>2]=0;while(1){H=(f[P>>2]|0)<(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0);u=Ne(f[p>>2]|0,1)|0;if(!H)break;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2404+(f[P>>2]<<2)>>2]=u;f[P>>2]=(f[P>>2]|0)+1}f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2416>>2]=u;f[C>>2]=(f[C>>2]|0)+1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;H=(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;r:do{if(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2416>>2]|0){if((f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0)==1){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420>>2]=1;break}f[b>>2]=(Fe(f[p>>2]|0,f[17836+((f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0)-2<<2)>>2]|0,8)|0)+1;f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0))break r;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+(f[P>>2]<<2)>>2]=f[b>>2]>>f[P>>2]&1;f[P>>2]=(f[P>>2]|0)+1}}}while(0);f[C>>2]=(f[C>>2]|0)+1}if(!(f[R>>2]|0)){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[O>>2]|0)+2392>>2]|0))break e;f[C>>2]=0;while(1){u=f[P>>2]|0;if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;if(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+(u<<2)>>2]|0){do{if((f[C>>2]|0)==0?(f[(f[S>>2]|0)+4>>2]|0)==2:0){Ri(f[p>>2]|0,y);if(f[(f[O>>2]|0)+4260+2420+(f[P>>2]<<2)>>2]|0)break;Ti(f[p>>2]|0,L)}}while(0);do{if((f[P>>2]|0)>0){if(!(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+((f[P>>2]|0)-1<<2)>>2]|0)){d=64;break}f[w>>2]=2}else d=64}while(0);if((d|0)==64){d=0;f[w>>2]=0}so((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[p>>2]|0,f[P>>2]|0,1,f[w>>2]|0);uo(f[p>>2]|0,k,t[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2736+29>>0]|0,t[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2736+30>>0]|0,f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2328>>2]|0)}f[C>>2]=(f[C>>2]|0)+1}f[P>>2]=u+1}}}}while(0);e:do{if((f[(f[S>>2]|0)+4>>2]|0)==2){do{if(f[R>>2]|0){if((f[R>>2]|0)==2?(f[(f[O>>2]|0)+2420+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0)==1:0)break;f[C>>2]=0;while(1){if((f[C>>2]|0)>=2)break e;f[y+(f[C>>2]<<2)>>2]=n[(f[B>>2]|0)+8520+(f[C>>2]<<1)>>1];f[C>>2]=(f[C>>2]|0)+1}}}while(0);Ri(f[p>>2]|0,y);if(!((f[R>>2]|0)==0?!(f[(f[O>>2]|0)+4260+2404+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0):0))d=74;do{if((d|0)==74){if((f[R>>2]|0)==2?(f[(f[O>>2]|0)+4260+2420+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0)==0:0)break;f[L>>2]=0;break e}}while(0);Ti(f[p>>2]|0,L)}}while(0);if(((f[L>>2]|0)==0?(f[(f[S>>2]|0)+4>>2]|0)==2:0)?(f[(f[B>>2]|0)+8540>>2]|0)==1:0){vs((f[B>>2]|0)+4260+1348|0,0,960)|0;u=(f[B>>2]|0)+4260+1284|0;r=u+64|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(r|0));f[(f[B>>2]|0)+4260+2308>>2]=100;t[(f[B>>2]|0)+4260+2312>>0]=10;f[(f[B>>2]|0)+4260+4164>>2]=0;f[(f[B>>2]|0)+4260+2376>>2]=1}H=re(f[(f[S>>2]|0)+12>>2]|0,f[(f[S>>2]|0)+4>>2]|0)|0;f[E>>2]=(H|0)<(re(f[(f[S>>2]|0)+8>>2]|0,f[f[S>>2]>>2]|0)|0)&1;if(f[E>>2]|0)u=1;else u=re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0;f[x>>2]=he()|0;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if(f[E>>2]|0){f[N>>2]=f[T>>2];f[N+4>>2]=(f[T>>2]|0)+(f[(f[O>>2]|0)+2328>>2]<<1)+4}else{f[N>>2]=r;f[N+4>>2]=r+(f[(f[O>>2]|0)+2328>>2]<<1)+4}if(!(f[R>>2]|0))f[m>>2]=((f[L>>2]|0)!=0^1)&1;else{if(f[(f[B>>2]|0)+8540>>2]|0)if((f[R>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0)u=(f[(f[O>>2]|0)+4260+2420+(f[(f[O>>2]|0)+4260+2388>>2]<<2)>>2]|0)==1;else u=0;else u=1;f[m>>2]=u&1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;if((f[C>>2]|0)==0|(f[m>>2]|0)!=0){f[g>>2]=(f[(f[O>>2]|0)+2388>>2]|0)-(f[C>>2]|0);e:do{if((f[g>>2]|0)<=0)f[_>>2]=0;else{if((f[R>>2]|0)==2){f[_>>2]=f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+((f[g>>2]|0)-1<<2)>>2]|0?2:0;break}do{if((f[C>>2]|0)>0){if(!(f[(f[B>>2]|0)+8540>>2]|0))break;f[_>>2]=1;break e}}while(0);f[_>>2]=2}}while(0);H=oo((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[p>>2]|0,(f[N+(f[C>>2]<<2)>>2]|0)+4|0,U,f[R>>2]|0,f[_>>2]|0,f[v>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H}else vs((f[N+(f[C>>2]<<2)>>2]|0)+4|0,0,f[U>>2]<<1|0)|0;H=(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2388|0;f[H>>2]=(f[H>>2]|0)+1;f[C>>2]=(f[C>>2]|0)+1}if((f[f[S>>2]>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0)ca((f[B>>2]|0)+8520|0,f[N>>2]|0,f[N+4>>2]|0,y,f[(f[O>>2]|0)+2316>>2]|0,f[U>>2]|0);else{H=f[N>>2]|0;Y=(f[B>>2]|0)+8520+4|0;n[H>>1]=n[Y>>1]|0;n[H+2>>1]=n[Y+2>>1]|0;H=(f[B>>2]|0)+8520+4|0;Y=(f[N>>2]|0)+(f[U>>2]<<1)|0;n[H>>1]=n[Y>>1]|0;n[H+2>>1]=n[Y+2>>1]|0}H=re(f[U>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[f[M>>2]>>2]=(H|0)/(((f[(f[O>>2]|0)+2316>>2]&65535)<<16>>16)*1e3|0)|0;if((f[f[S>>2]>>2]|0)==2)u=f[f[M>>2]>>2]|0;else u=1;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if((f[f[S>>2]>>2]|0)==2)f[j>>2]=r;else f[j>>2]=f[T>>2];if(f[E>>2]|0)u=re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0;else u=1;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if(f[E>>2]|0){H=(re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0)<<1;gs(r|0,f[T>>2]|0,H+0|0)|0;f[N>>2]=r;f[N+4>>2]=r+(f[(f[O>>2]|0)+2328>>2]<<1)+4}f[C>>2]=0;while(1){u=f[S>>2]|0;if((f[f[S>>2]>>2]|0)<(f[(f[S>>2]|0)+4>>2]|0))u=f[u>>2]|0;else u=f[u+4>>2]|0;if((f[C>>2]|0)>=(u|0))break;H=ci((f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2432|0,f[j>>2]|0,(f[N+(f[C>>2]<<2)>>2]|0)+2|0,f[U>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;e:do{if((f[f[S>>2]>>2]|0)==2){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+((f[C>>2]|0)+(f[P>>2]<<1)<<1)>>1]=n[(f[j>>2]|0)+(f[P>>2]<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}}while(0);f[C>>2]=(f[C>>2]|0)+1}e:do{if((f[f[S>>2]>>2]|0)==2){if((f[(f[S>>2]|0)+4>>2]|0)!=1)break;if(f[F>>2]|0){H=ci((f[O>>2]|0)+4260+2432|0,f[j>>2]|0,(f[N>>2]|0)+2|0,f[U>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+(1+(f[P>>2]<<1)<<1)>>1]=n[(f[j>>2]|0)+(f[P>>2]<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}else{f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+(1+(f[P>>2]<<1)<<1)>>1]=n[(f[T>>2]|0)+(0+(f[P>>2]<<1)<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}}}while(0);if((f[(f[O>>2]|0)+4164>>2]|0)==2){f[I>>2]=f[4402];f[I+4>>2]=f[4403];f[I+8>>2]=f[4404];H=re(f[(f[O>>2]|0)+2308>>2]|0,f[I+((f[(f[O>>2]|0)+2316>>2]|0)-8>>2<<2)>>2]|0)|0;f[(f[S>>2]|0)+20>>2]=H}else f[(f[S>>2]|0)+20>>2]=0;e:do{if((f[R>>2]|0)==1){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[B>>2]|0)+8536>>2]|0))break e;t[(f[B>>2]|0)+((f[P>>2]|0)*4260|0)+2312>>0]=10;f[P>>2]=(f[P>>2]|0)+1}}else f[(f[B>>2]|0)+8540>>2]=f[L>>2]}while(0);f[A>>2]=f[D>>2];de(f[x>>2]|0);H=f[A>>2]|0;h=z;return H|0}f[D>>2]=-200;f[A>>2]=f[D>>2];H=f[A>>2]|0;h=z;return H|0}function ko(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;t=i+4|0;r=i;f[t>>2]=e;f[r>>2]=0;f[f[t>>2]>>2]=24568;h=i;return f[r>>2]|0}function po(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[s>>2]=0;f[l>>2]=f[t>>2];vs(f[l>>2]|0,0,24568)|0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=2)break;i=ka((f[l>>2]|0)+((f[o>>2]|0)*12240|0)|0,f[n>>2]|0)|0;f[s>>2]=(f[s>>2]|0)+i;f[o>>2]=(f[o>>2]|0)+1}f[(f[l>>2]|0)+24544>>2]=1;f[(f[l>>2]|0)+24548>>2]=1;l=vo(f[t>>2]|0,f[a>>2]|0)|0;f[s>>2]=(f[s>>2]|0)+l;h=u;return f[s>>2]|0}function vo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;a=h;h=h+32|0;l=a+16|0;i=a+12|0;t=a+8|0;n=a+4|0;o=a;f[l>>2]=e;f[i>>2]=r;f[t>>2]=0;f[o>>2]=f[l>>2];f[n>>2]=f[o>>2];f[f[i>>2]>>2]=f[(f[o>>2]|0)+24544>>2];f[(f[i>>2]|0)+4>>2]=f[(f[o>>2]|0)+24548>>2];f[(f[i>>2]|0)+8>>2]=f[(f[n>>2]|0)+4580>>2];f[(f[i>>2]|0)+12>>2]=f[(f[n>>2]|0)+4588>>2];f[(f[i>>2]|0)+16>>2]=f[(f[n>>2]|0)+4592>>2];f[(f[i>>2]|0)+20>>2]=f[(f[n>>2]|0)+4596>>2];f[(f[i>>2]|0)+24>>2]=f[(f[n>>2]|0)+4636>>2];f[(f[i>>2]|0)+28>>2]=f[(f[n>>2]|0)+4632>>2];f[(f[i>>2]|0)+32>>2]=f[(f[n>>2]|0)+4640>>2];f[(f[i>>2]|0)+36>>2]=f[(f[n>>2]|0)+4648>>2];f[(f[i>>2]|0)+40>>2]=f[(f[n>>2]|0)+6120>>2];f[(f[i>>2]|0)+44>>2]=f[(f[n>>2]|0)+6108>>2];f[(f[i>>2]|0)+48>>2]=f[(f[n>>2]|0)+4708>>2];f[(f[i>>2]|0)+68>>2]=((f[(f[n>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;f[(f[i>>2]|0)+72>>2]=f[(f[n>>2]|0)+4560>>2];if((f[(f[n>>2]|0)+4600>>2]|0)!=16){o=0;o=o&1;l=f[i>>2]|0;l=l+76|0;f[l>>2]=o;l=f[t>>2]|0;h=a;return l|0}o=(f[(f[n>>2]|0)+16+12>>2]|0)==0;o=o&1;l=f[i>>2]|0;l=l+76|0;f[l>>2]=o;l=f[t>>2]|0;h=a;return l|0}function go(e,r,i,a,o,l,s){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0;K=h;h=h+176|0;z=K+156|0;X=K+152|0;Y=K+148|0;w=K+144|0;k=K+140|0;d=K+136|0;p=K+132|0;H=K+128|0;W=K+124|0;T=K+120|0;L=K+116|0;R=K+112|0;G=K+108|0;J=K+104|0;V=K+100|0;C=K+96|0;U=K+92|0;P=K+88|0;I=K+84|0;c=K+80|0;B=K+76|0;y=K+72|0;g=K+64|0;m=K+56|0;v=K+52|0;j=K+48|0;Z=K+44|0;b=K+40|0;S=K+36|0;D=K+32|0;u=K+28|0;q=K+24|0;x=K+20|0;M=K+160|0;E=K+16|0;_=K+12|0;O=K+8|0;N=K+4|0;A=K;f[X>>2]=e;f[Y>>2]=r;f[w>>2]=i;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[H>>2]=s;f[G>>2]=0;f[J>>2]=0;f[V>>2]=0;f[I>>2]=0;f[Z>>2]=f[X>>2];if(f[(f[Y>>2]|0)+64>>2]|0){f[(f[Z>>2]|0)+4696>>2]=1;f[(f[Z>>2]|0)+12240+4696>>2]=1}f[(f[Z>>2]|0)+12240+5780>>2]=0;f[(f[Z>>2]|0)+5780>>2]=0;X=ba(f[Y>>2]|0)|0;f[V>>2]=X;if(X|0){f[z>>2]=f[V>>2];X=f[z>>2]|0;h=K;return X|0}f[(f[Y>>2]|0)+84>>2]=0;if((f[(f[Y>>2]|0)+4>>2]|0)>(f[(f[Z>>2]|0)+24548>>2]|0)?(X=ka((f[Z>>2]|0)+12240|0,f[(f[Z>>2]|0)+5124>>2]|0)|0,f[V>>2]=(f[V>>2]|0)+X,f[(f[Z>>2]|0)+24480>>2]=0,f[(f[Z>>2]|0)+24480+8>>2]=0,f[(f[Z>>2]|0)+24480+12>>2]=0,f[(f[Z>>2]|0)+24480+12+4>>2]=1,f[(f[Z>>2]|0)+24480+12+8>>2]=0,f[(f[Z>>2]|0)+24480+12+12>>2]=1,n[(f[Z>>2]|0)+24480+30>>1]=0,n[(f[Z>>2]|0)+24480+28>>1]=16384,(f[(f[Z>>2]|0)+24544>>2]|0)==2):0){gs((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+5808|0,300)|0;X=(f[Z>>2]|0)+12240|0;i=f[Z>>2]|0;f[X>>2]=f[i>>2];f[X+4>>2]=f[i+4>>2]}if((f[(f[Y>>2]|0)+24>>2]|0)!=(f[(f[Z>>2]|0)+4636>>2]|0))r=1;else r=(f[(f[Z>>2]|0)+24548>>2]|0)!=(f[(f[Y>>2]|0)+4>>2]|0);f[b>>2]=r&1;f[(f[Z>>2]|0)+24544>>2]=f[f[Y>>2]>>2];f[(f[Z>>2]|0)+24548>>2]=f[(f[Y>>2]|0)+4>>2];f[P>>2]=((f[k>>2]|0)*100|0)/(f[(f[Y>>2]|0)+8>>2]|0)|0;f[D>>2]=(f[P>>2]|0)>1?f[P>>2]>>1:1;f[S>>2]=0;r=f[P>>2]|0;e:do{if(!(f[H>>2]|0)){X=re(r,f[(f[Y>>2]|0)+8>>2]|0)|0;if((f[k>>2]|0)<0?1:(X|0)!=((f[k>>2]|0)*100|0)){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}if(((f[k>>2]|0)*1e3|0)>(re(f[(f[Y>>2]|0)+24>>2]|0,f[(f[Y>>2]|0)+8>>2]|0)|0)){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}}else{if((r|0)!=1){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[V>>2]=ka((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5124>>2]|0)|0;f[W>>2]=(f[W>>2]|0)+1}f[G>>2]=f[(f[Y>>2]|0)+24>>2];f[(f[Y>>2]|0)+24>>2]=10;f[J>>2]=f[(f[Y>>2]|0)+36>>2];f[(f[Y>>2]|0)+36>>2]=0;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4712>>2]=1;f[W>>2]=(f[W>>2]|0)+1}}}while(0);f[y>>2]=f[(f[Y>>2]|0)+28>>2]>>(f[(f[Y>>2]|0)+4>>2]|0)-1;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;if((f[W>>2]|0)==1)r=f[(f[Z>>2]|0)+4600>>2]|0;else r=0;f[u>>2]=r;X=da((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[Y>>2]|0,f[y>>2]|0,f[(f[Z>>2]|0)+24560>>2]|0,f[W>>2]|0,f[u>>2]|0)|0;f[V>>2]=X;if(X|0){F=28;break}e:do{if(f[b>>2]|0?1:(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4696>>2]|0)!=0){f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[Z>>2]|0)+5776>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(f[T>>2]<<2)>>2]=0;f[T>>2]=(f[T>>2]|0)+1}}}while(0);f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6112>>2]=f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6108>>2];f[W>>2]=(f[W>>2]|0)+1}if((F|0)==28){f[z>>2]=f[V>>2];X=f[z>>2]|0;h=K;return X|0}f[U>>2]=re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+4600>>2]|0)|0;X=re(f[U>>2]|0,f[(f[Z>>2]|0)+4580>>2]|0)|0;f[c>>2]=(X|0)/((f[(f[Z>>2]|0)+4600>>2]|0)*1e3|0)|0;X=f[c>>2]|0;f[q>>2]=he()|0;e=h;h=h+((1*(X<<1)|0)+15&-16)|0;while(1){f[C>>2]=(f[(f[Z>>2]|0)+4608>>2]|0)-(f[(f[Z>>2]|0)+5772>>2]|0);f[C>>2]=(f[C>>2]|0)<(f[U>>2]|0)?f[C>>2]|0:f[U>>2]|0;X=re(f[C>>2]|0,f[(f[Z>>2]|0)+4580>>2]|0)|0;f[I>>2]=(X|0)/((f[(f[Z>>2]|0)+4600>>2]|0)*1e3|0)|0;if((f[f[Y>>2]>>2]|0)==2?(f[(f[Y>>2]|0)+4>>2]|0)==2:0){f[x>>2]=f[(f[Z>>2]|0)+5780>>2];f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;n[e+(f[W>>2]<<1)>>1]=n[(f[w>>2]|0)+(f[W>>2]<<1<<1)>>1]|0;f[W>>2]=(f[W>>2]|0)+1}if((f[x>>2]|0)==0?(f[(f[Z>>2]|0)+24552>>2]|0)==1:0)gs((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+5808|0,300)|0;X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0);f[C>>2]=(f[(f[Z>>2]|0)+12240+4608>>2]|0)-(f[(f[Z>>2]|0)+12240+5772>>2]|0);if((f[C>>2]|0)<(re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+12240+4600>>2]|0)|0))r=f[C>>2]|0;else r=re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+12240+4600>>2]|0)|0;f[C>>2]=r;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;n[e+(f[W>>2]<<1)>>1]=n[(f[w>>2]|0)+((f[W>>2]<<1)+1<<1)>>1]|0;f[W>>2]=(f[W>>2]|0)+1}X=ci((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+12240+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0)}else F=49;do{if((F|0)==49){F=0;if((f[f[Y>>2]>>2]|0)==2?(f[(f[Y>>2]|0)+4>>2]|0)==1:0){f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;f[j>>2]=(n[(f[w>>2]|0)+(f[W>>2]<<1<<1)>>1]|0)+(n[(f[w>>2]|0)+((f[W>>2]<<1)+1<<1)>>1]|0);n[e+(f[W>>2]<<1)>>1]=(f[j>>2]>>1)+(f[j>>2]&1);f[W>>2]=(f[W>>2]|0)+1}X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;e:do{if((f[(f[Z>>2]|0)+24552>>2]|0)==2?(f[(f[Z>>2]|0)+5780>>2]|0)==0:0){X=ci((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Z>>2]|0)+4608>>2]|0))break e;n[(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]=(n[(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]|0)+(n[(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]|0)>>1;f[W>>2]=(f[W>>2]|0)+1}}}while(0);X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0);break}gs(e|0,f[w>>2]|0,f[I>>2]<<1|0)|0;X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0)}}while(0);X=re(f[I>>2]|0,f[f[Y>>2]>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+(X<<1);f[k>>2]=(f[k>>2]|0)-(f[I>>2]|0);f[(f[Z>>2]|0)+24560>>2]=0;if((f[(f[Z>>2]|0)+5772>>2]|0)<(f[(f[Z>>2]|0)+4608>>2]|0))break;if(!(f[H>>2]|0?1:(f[(f[Z>>2]|0)+5780>>2]|0)!=0)){t[M>>0]=0;t[M+1>>0]=0;t[M>>0]=256-(256>>(re((f[(f[Z>>2]|0)+5776>>2]|0)+1|0,f[(f[Y>>2]|0)+4>>2]|0)|0));$e(f[d>>2]|0,0,M,8);f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[v>>2]=0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0))break;f[v>>2]=f[v>>2]|f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(f[T>>2]<<2)>>2]<>2];f[T>>2]=(f[T>>2]|0)+1}t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4755>>0]=(f[v>>2]|0)>0?1:0;if(f[v>>2]|0?(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0)>1:0)$e(f[d>>2]|0,(f[v>>2]|0)-1|0,f[17836+((f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0)-2<<2)>>2]|0,8);f[W>>2]=(f[W>>2]|0)+1}f[T>>2]=0;while(1){X=(f[T>>2]|0)<(f[(f[Z>>2]|0)+5776>>2]|0);f[W>>2]=0;if(!X)break;while(1){r=f[T>>2]|0;if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;if(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(r<<2)>>2]|0){if(((f[W>>2]|0)==0?(f[(f[Y>>2]|0)+4>>2]|0)==2:0)?(Mi(f[d>>2]|0,(f[Z>>2]|0)+24480+34+((f[T>>2]|0)*6|0)|0),(f[(f[Z>>2]|0)+12240+4756+(f[T>>2]<<2)>>2]|0)==0):0)xi(f[d>>2]|0,t[(f[Z>>2]|0)+24480+52+(f[T>>2]|0)>>0]|0);if((f[T>>2]|0)>0?f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+((f[T>>2]|0)-1<<2)>>2]|0:0)f[E>>2]=2;else f[E>>2]=0;_o((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[d>>2]|0,f[T>>2]|0,1,f[E>>2]|0);mo(f[d>>2]|0,t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6132+((f[T>>2]|0)*36|0)+29>>0]|0,t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6132+((f[T>>2]|0)*36|0)+30>>0]|0,(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6240+((f[T>>2]|0)*320|0)|0,f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4608>>2]|0)}f[W>>2]=(f[W>>2]|0)+1}f[T>>2]=r+1}while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;X=(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[W>>2]=(f[W>>2]|0)+1}X=yo(f[d>>2]|0)|0;f[(f[Z>>2]|0)+24536>>2]=X}$f(f[Z>>2]|0);f[L>>2]=(re(f[(f[Y>>2]|0)+28>>2]|0,f[(f[Y>>2]|0)+24>>2]|0)|0)/1e3|0;if(!(f[H>>2]|0))f[L>>2]=(f[L>>2]|0)-(f[(f[Z>>2]|0)+24536>>2]|0);f[L>>2]=(f[L>>2]|0)/(f[(f[Z>>2]|0)+5776>>2]|0)|0;r=(f[L>>2]&65535)<<16>>16;if((f[(f[Y>>2]|0)+24>>2]|0)==10)f[y>>2]=r*100;else f[y>>2]=r*50;f[y>>2]=(f[y>>2]|0)-(((f[(f[Z>>2]|0)+24540>>2]|0)*1e3|0)/500|0);if((f[H>>2]|0)==0?(f[(f[Z>>2]|0)+5780>>2]|0)>0:0){X=yo(f[d>>2]|0)|0;f[_>>2]=X-(f[(f[Z>>2]|0)+24536>>2]|0)-(re(f[L>>2]|0,f[(f[Z>>2]|0)+5780>>2]|0)|0);f[y>>2]=(f[y>>2]|0)-(((f[_>>2]|0)*1e3|0)/500|0)}r=f[y>>2]|0;do{if((f[(f[Y>>2]|0)+28>>2]|0)>5e3)if((r|0)>(f[(f[Y>>2]|0)+28>>2]|0)){r=f[(f[Y>>2]|0)+28>>2]|0;break}else{r=(f[y>>2]|0)<5e3?5e3:f[y>>2]|0;break}else if((r|0)<=5e3)if((f[y>>2]|0)<(f[(f[Y>>2]|0)+28>>2]|0)){r=f[(f[Y>>2]|0)+28>>2]|0;break}else{r=f[y>>2]|0;break}else r=5e3}while(0);f[y>>2]=r;r=f[Z>>2]|0;if((f[(f[Y>>2]|0)+4>>2]|0)==2){la(r+24480|0,(f[Z>>2]|0)+5128+4|0,(f[Z>>2]|0)+12240+5128+4|0,(f[Z>>2]|0)+24480+34+((f[(f[Z>>2]|0)+5780>>2]|0)*6|0)|0,(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)|0,g,f[y>>2]|0,f[(f[Z>>2]|0)+4556>>2]|0,f[(f[Y>>2]|0)+56>>2]|0,f[(f[Z>>2]|0)+4600>>2]|0,f[(f[Z>>2]|0)+4608>>2]|0);r=f[Z>>2]|0;if(!(t[(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)){if((f[r+24564>>2]|0)==1){X=(f[Z>>2]|0)+12240+7200|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;vs((f[Z>>2]|0)+12240+7216|0,0,2140)|0;vs((f[Z>>2]|0)+12240+144|0,0,4380)|0;X=(f[Z>>2]|0)+12240+4524|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;f[X+16>>2]=0;f[X+20>>2]=0;f[X+24>>2]=0;f[X+28>>2]=0;X=(f[Z>>2]|0)+12240+16|0;f[X>>2]=0;f[X+4>>2]=0;f[(f[Z>>2]|0)+12240+4568>>2]=100;f[(f[Z>>2]|0)+12240+144+4356>>2]=100;t[(f[Z>>2]|0)+12240+7200>>0]=10;t[(f[Z>>2]|0)+12240+4565>>0]=0;f[(f[Z>>2]|0)+12240+144+4372>>2]=65536;f[(f[Z>>2]|0)+12240+4696>>2]=1}zi((f[Z>>2]|0)+12240|0)}else t[(f[Z>>2]|0)+12240+4752+(f[r+5780>>2]|0)>>0]=0;if((f[H>>2]|0)==0?(Mi(f[d>>2]|0,(f[Z>>2]|0)+24480+34+((f[(f[Z>>2]|0)+5780>>2]|0)*6|0)|0),(t[(f[Z>>2]|0)+12240+4752+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)==0):0)xi(f[d>>2]|0,t[(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)}else{f[r+5128>>2]=f[(f[Z>>2]|0)+24480+4>>2];X=(f[Z>>2]|0)+24480+4|0;b=(f[Z>>2]|0)+5128+(f[(f[Z>>2]|0)+4608>>2]<<1)|0;n[X>>1]=n[b>>1]|0;n[X+2>>1]=n[b+2>>1]|0}zi(f[Z>>2]|0);f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[O>>2]=f[(f[Y>>2]|0)+52>>2];do{if(!((f[D>>2]|0)==2&(f[S>>2]|0)==0)){if((f[D>>2]|0)==3){if(!(f[S>>2]|0)){f[O>>2]=(f[O>>2]<<1|0)/5|0;break}if((f[S>>2]|0)!=1)break;f[O>>2]=((f[O>>2]|0)*3|0)/4|0}}else f[O>>2]=((f[O>>2]|0)*3|0)/5|0}while(0);if(f[(f[Y>>2]|0)+48>>2]|0)r=(f[S>>2]|0)==((f[D>>2]|0)-1|0);else r=0;f[N>>2]=r&1;do{if((f[(f[Y>>2]|0)+4>>2]|0)==1)f[m>>2]=f[y>>2];else{f[m>>2]=f[g+(f[W>>2]<<2)>>2];if(f[W>>2]|0)break;if((f[g+4>>2]|0)<=0)break;f[N>>2]=0;f[O>>2]=(f[O>>2]|0)-((f[(f[Y>>2]|0)+52>>2]|0)/(f[D>>2]<<1|0)|0)}}while(0);if((f[m>>2]|0)>0){wa((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[m>>2]|0)|0;e:do{if(((f[(f[Z>>2]|0)+5780>>2]|0)-(f[W>>2]|0)|0)<=0)f[A>>2]=0;else{do{if((f[W>>2]|0)>0){if(!(f[(f[Z>>2]|0)+24564>>2]|0))break;f[A>>2]=1;break e}}while(0);f[A>>2]=2}}while(0);f[V>>2]=Yi((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[p>>2]|0,f[d>>2]|0,f[A>>2]|0,f[O>>2]|0,f[N>>2]|0)|0}f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5772>>2]=0;X=(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5780|0;f[X>>2]=(f[X>>2]|0)+1;f[W>>2]=(f[W>>2]|0)+1}f[(f[Z>>2]|0)+24564>>2]=t[(f[Z>>2]|0)+24480+52+((f[(f[Z>>2]|0)+5780>>2]|0)-1)>>0];do{if((f[f[p>>2]>>2]|0)>0?(f[(f[Z>>2]|0)+5780>>2]|0)==(f[(f[Z>>2]|0)+5776>>2]|0):0){f[R>>2]=0;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[T>>2]=0;while(1){X=(f[T>>2]|0)<(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0);f[R>>2]=f[R>>2]<<1;if(!X)break;f[R>>2]=f[R>>2]|t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4752+(f[T>>2]|0)>>0];f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=f[R>>2]|t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4755>>0];f[W>>2]=(f[W>>2]|0)+1}if(!(f[H>>2]|0))ir(f[d>>2]|0,f[R>>2]|0,re((f[(f[Z>>2]|0)+5776>>2]|0)+1|0,f[(f[Y>>2]|0)+4>>2]|0)|0);do{if(f[(f[Z>>2]|0)+6112>>2]|0){if((f[(f[Y>>2]|0)+4>>2]|0)!=1?(f[(f[Z>>2]|0)+12240+6112>>2]|0)==0:0)break;f[f[p>>2]>>2]=0}}while(0);b=(f[Z>>2]|0)+24540|0;f[b>>2]=(f[b>>2]|0)+(f[f[p>>2]>>2]<<3);b=(re(f[(f[Y>>2]|0)+28>>2]|0,f[(f[Y>>2]|0)+24>>2]|0)|0)/1e3|0;X=(f[Z>>2]|0)+24540|0;f[X>>2]=(f[X>>2]|0)-b;do{if((f[(f[Z>>2]|0)+24540>>2]|0)>1e4)r=1e4;else{if((f[(f[Z>>2]|0)+24540>>2]|0)<0){r=0;break}r=f[(f[Z>>2]|0)+24540>>2]|0}}while(0);f[(f[Z>>2]|0)+24540>>2]=r;f[B>>2]=13+(0+(((f[(f[Z>>2]|0)+24556>>2]&65535)<<16>>16)*3188>>16));r=(f[Z>>2]|0)+24560|0;if((f[(f[Z>>2]|0)+4556>>2]|0)<(f[B>>2]|0)){f[r>>2]=1;f[(f[Z>>2]|0)+24556>>2]=0;break}else{f[r>>2]=0;X=(f[Z>>2]|0)+24556|0;f[X>>2]=(f[X>>2]|0)+(f[(f[Y>>2]|0)+24>>2]|0);break}}}while(0);if(!(f[k>>2]|0))break;f[S>>2]=(f[S>>2]|0)+1}f[(f[Z>>2]|0)+24552>>2]=f[(f[Y>>2]|0)+4>>2];f[(f[Y>>2]|0)+72>>2]=f[(f[Z>>2]|0)+24560>>2];if((f[(f[Z>>2]|0)+4600>>2]|0)==16)r=(f[(f[Z>>2]|0)+16+12>>2]|0)==0;else r=0;f[(f[Y>>2]|0)+76>>2]=r&1;f[(f[Y>>2]|0)+68>>2]=((f[(f[Z>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;if(f[(f[Y>>2]|0)+56>>2]|0)r=0;else r=n[(f[Z>>2]|0)+24480+28>>1]|0;f[(f[Y>>2]|0)+80>>2]=r;e:do{if(f[H>>2]|0){f[(f[Y>>2]|0)+24>>2]=f[G>>2];f[(f[Y>>2]|0)+36>>2]=f[J>>2];f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4712>>2]=0;f[W>>2]=(f[W>>2]|0)+1}}}while(0);f[z>>2]=f[V>>2];de(f[q>>2]|0);X=f[z>>2]|0;h=K;return X|0}function yo(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function _o(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+112|0;b=A+48|0;w=A+44|0;l=A+40|0;s=A+36|0;k=A+32|0;g=A+28|0;y=A+24|0;u=A+20|0;v=A+16|0;d=A+12|0;p=A+56|0;c=A+88|0;E=A+8|0;_=A+4|0;m=A;f[b>>2]=e;f[w>>2]=r;f[l>>2]=i;f[s>>2]=a;f[k>>2]=o;if(f[s>>2]|0)f[E>>2]=(f[b>>2]|0)+6132+((f[l>>2]|0)*36|0);else f[E>>2]=(f[b>>2]|0)+4768;f[u>>2]=(t[(f[E>>2]|0)+29>>0]<<1)+(t[(f[E>>2]|0)+30>>0]|0);l=f[w>>2]|0;i=f[u>>2]|0;if((f[s>>2]|0)!=0|(f[u>>2]|0)>=2)$e(l,i-2|0,29020,8);else $e(l,i,29024,8);l=f[w>>2]|0;i=t[f[E>>2]>>0]|0;if((f[k>>2]|0)==2)$e(l,i,26771,8);else{$e(l,i>>3,26747+(t[(f[E>>2]|0)+29>>0]<<3)|0,8);$e(f[w>>2]|0,t[f[E>>2]>>0]&7,29049,8)}f[g>>2]=1;while(1){l=f[w>>2]|0;if((f[g>>2]|0)>=(f[(f[b>>2]|0)+4604>>2]|0))break;$e(l,t[(f[E>>2]|0)+(f[g>>2]|0)>>0]|0,26771,8);f[g>>2]=(f[g>>2]|0)+1}u=re(t[(f[E>>2]|0)+29>>0]>>1,n[f[(f[b>>2]|0)+4724>>2]>>1]|0)|0;$e(l,t[(f[E>>2]|0)+8>>0]|0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+12>>2]|0)+u|0,8);fa(p,c,f[(f[b>>2]|0)+4724>>2]|0,t[(f[E>>2]|0)+8>>0]|0);f[g>>2]=0;while(1){if((f[g>>2]|0)>=(n[(f[(f[b>>2]|0)+4724>>2]|0)+2>>1]|0))break;do{if((t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)<4){l=f[w>>2]|0;i=f[g>>2]|0;if((t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)<=-4){$e(l,0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(i<<1)>>1]|0)|0,8);$e(f[w>>2]|0,0-(t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)-4|0,29057,8);break}else{$e(l,(t[(f[E>>2]|0)+8+(i+1)>>0]|0)+4|0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(f[g>>2]<<1)>>1]|0)|0,8);break}}else{$e(f[w>>2]|0,8,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(f[g>>2]<<1)>>1]|0)|0,8);$e(f[w>>2]|0,(t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)-4|0,29057,8)}}while(0);f[g>>2]=(f[g>>2]|0)+1}if((f[(f[b>>2]|0)+4604>>2]|0)==4)$e(f[w>>2]|0,t[(f[E>>2]|0)+31>>0]|0,29026,8);if((t[(f[E>>2]|0)+29>>0]|0)!=2){_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}f[v>>2]=1;if((f[k>>2]|0)==2?(f[(f[b>>2]|0)+5800>>2]|0)==2:0){f[d>>2]=(n[(f[E>>2]|0)+26>>1]|0)-(n[(f[b>>2]|0)+5804>>1]|0);if((f[d>>2]|0)<-8|(f[d>>2]|0)>11)f[d>>2]=0;else{f[d>>2]=(f[d>>2]|0)+9;f[v>>2]=0}$e(f[w>>2]|0,f[d>>2]|0,29096,8)}if(f[v>>2]|0){f[_>>2]=(n[(f[E>>2]|0)+26>>1]|0)/(f[(f[b>>2]|0)+4600>>2]>>1|0)|0;f[m>>2]=(n[(f[E>>2]|0)+26>>1]|0)-(re((f[_>>2]&65535)<<16>>16,(f[(f[b>>2]|0)+4600>>2]>>1&65535)<<16>>16)|0);$e(f[w>>2]|0,f[_>>2]|0,29064,8);$e(f[w>>2]|0,f[m>>2]|0,f[(f[b>>2]|0)+4716>>2]|0,8)}n[(f[b>>2]|0)+5804>>1]=n[(f[E>>2]|0)+26>>1]|0;$e(f[w>>2]|0,t[(f[E>>2]|0)+28>>0]|0,f[(f[b>>2]|0)+4720>>2]|0,8);$e(f[w>>2]|0,t[(f[E>>2]|0)+32>>0]|0,26812,8);f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[(f[b>>2]|0)+4604>>2]|0))break;$e(f[w>>2]|0,t[(f[E>>2]|0)+4+(f[y>>2]|0)>>0]|0,f[17620+(t[(f[E>>2]|0)+32>>0]<<2)>>2]|0,8);f[y>>2]=(f[y>>2]|0)+1}if(f[k>>2]|0){_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}$e(f[w>>2]|0,t[(f[E>>2]|0)+33>>0]|0,29017,8);_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}function mo(e,r,i,n,o){e=e|0;r=r|0;i=i|0;n=n|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;L=h;h=h+128|0;p=L+116|0;v=L+112|0;g=L+108|0;y=L+104|0;_=L+100|0;S=L+96|0;M=L+92|0;T=L+88|0;R=L+84|0;A=L+80|0;x=L+76|0;w=L+72|0;l=L+68|0;E=L+64|0;u=L+60|0;k=L+56|0;b=L+24|0;s=L+16|0;O=L+12|0;d=L+8|0;c=L+4|0;m=L;f[p>>2]=e;f[v>>2]=r;f[g>>2]=i;f[y>>2]=n;f[_>>2]=o;f[l>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[R>>2]=f[_>>2]>>4;if((f[R>>2]<<4|0)<(f[_>>2]|0)){f[R>>2]=(f[R>>2]|0)+1;o=(f[y>>2]|0)+(f[_>>2]|0)|0;e=o+16|0;do{t[o>>0]=0;o=o+1|0}while((o|0)<(e|0))}r=f[R>>2]<<4;f[m>>2]=he()|0;e=h;h=h+((1*(r<<2)|0)+15&-16)|0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]<<4|0))break;r=t[(f[y>>2]|0)+((f[S>>2]|0)+0)>>0]|0;f[e+((f[S>>2]|0)+0<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+0)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+1)>>0]|0;f[e+((f[S>>2]|0)+1<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+1)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+2)>>0]|0;f[e+((f[S>>2]|0)+2<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+2)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+3)>>0]|0;f[e+((f[S>>2]|0)+3<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+3)>>0]|0)>0?r:0-r|0;f[S>>2]=(f[S>>2]|0)+4}n=h;h=h+((1*(f[R>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[R>>2]<<2)|0)+15&-16)|0;f[s>>2]=e;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;f[i+(f[S>>2]<<2)>>2]=0;e:while(1){f[w>>2]=Eo(b,f[s>>2]|0,a[29177]|0,8)|0;r=Eo(b,b,a[29178]|0,4)|0;f[w>>2]=(f[w>>2]|0)+r;r=Eo(b,b,a[29179]|0,2)|0;f[w>>2]=(f[w>>2]|0)+r;r=Eo(n+(f[S>>2]<<2)|0,b,a[29180]|0,1)|0;f[w>>2]=(f[w>>2]|0)+r;if(!(f[w>>2]|0))break;r=i+(f[S>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+1;f[M>>2]=0;while(1){if((f[M>>2]|0)>=16)continue e;f[(f[s>>2]|0)+(f[M>>2]<<2)>>2]=f[(f[s>>2]|0)+(f[M>>2]<<2)>>2]>>1;f[M>>2]=(f[M>>2]|0)+1}}f[s>>2]=(f[s>>2]|0)+64;f[S>>2]=(f[S>>2]|0)+1}f[u>>2]=2147483647;f[M>>2]=0;while(1){if((f[M>>2]|0)>=9)break;f[c>>2]=29361+((f[M>>2]|0)*18|0);f[k>>2]=a[29541+((f[v>>2]>>1)*9|0)+(f[M>>2]|0)>>0];f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;if((f[i+(f[S>>2]<<2)>>2]|0)>0)f[k>>2]=(f[k>>2]|0)+(a[(f[c>>2]|0)+17>>0]|0);else f[k>>2]=(f[k>>2]|0)+(a[(f[c>>2]|0)+(f[n+(f[S>>2]<<2)>>2]|0)>>0]|0);f[S>>2]=(f[S>>2]|0)+1}if((f[k>>2]|0)<(f[u>>2]|0)){f[u>>2]=f[k>>2];f[l>>2]=f[M>>2]}f[M>>2]=(f[M>>2]|0)+1}$e(f[p>>2]|0,f[l>>2]|0,29523+((f[v>>2]>>1)*9|0)|0,8);f[d>>2]=29181+((f[l>>2]|0)*18|0);f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;o=f[p>>2]|0;if(!(f[i+(f[S>>2]<<2)>>2]|0))$e(o,f[n+(f[S>>2]<<2)>>2]|0,f[d>>2]|0,8);else{$e(o,17,f[d>>2]|0,8);f[M>>2]=0;while(1){o=f[p>>2]|0;if((f[M>>2]|0)>=((f[i+(f[S>>2]<<2)>>2]|0)-1|0))break;$e(o,17,29343,8);f[M>>2]=(f[M>>2]|0)+1}$e(o,f[n+(f[S>>2]<<2)>>2]|0,29343,8)}f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;if((f[n+(f[S>>2]<<2)>>2]|0)>0)Cf(f[p>>2]|0,e+(f[S>>2]<<4<<2)|0);f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;e:do{if((f[i+(f[S>>2]<<2)>>2]|0)>0){f[O>>2]=(f[y>>2]|0)+(f[S>>2]<<4);f[x>>2]=(f[i+(f[S>>2]<<2)>>2]|0)-1;f[M>>2]=0;while(1){if((f[M>>2]|0)>=16)break e;d=t[(f[O>>2]|0)+(f[M>>2]|0)>>0]|0;f[E>>2]=(((t[(f[O>>2]|0)+(f[M>>2]|0)>>0]|0)>0?d:0-d|0)&255)<<24>>24;f[T>>2]=f[x>>2];while(1){o=f[E>>2]|0;if((f[T>>2]|0)<=0)break;f[A>>2]=o>>f[T>>2]&1;$e(f[p>>2]|0,f[A>>2]|0,29015,8);f[T>>2]=(f[T>>2]|0)+-1}f[A>>2]=o&1;$e(f[p>>2]|0,f[A>>2]|0,29015,8);f[M>>2]=(f[M>>2]|0)+1}}}while(0);f[S>>2]=(f[S>>2]|0)+1}eo(f[p>>2]|0,f[y>>2]|0,f[_>>2]|0,f[v>>2]|0,f[g>>2]|0,n);de(f[m>>2]|0);h=L;return}function Eo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;c=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;s=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=0;while(1){if((f[s>>2]|0)>=(f[l>>2]|0)){n=6;break}f[u>>2]=(f[(f[a>>2]|0)+(f[s>>2]<<1<<2)>>2]|0)+(f[(f[a>>2]|0)+((f[s>>2]<<1)+1<<2)>>2]|0);if((f[u>>2]|0)>(f[o>>2]|0)){n=4;break}f[(f[n>>2]|0)+(f[s>>2]<<2)>>2]=f[u>>2];f[s>>2]=(f[s>>2]|0)+1}if((n|0)==4){f[c>>2]=1;c=f[c>>2]|0;h=b;return c|0}else if((n|0)==6){f[c>>2]=0;c=f[c>>2]|0;h=b;return c|0}return 0}function Ao(e,r,i,n,a){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=a;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;Ba(f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]|0)|0;i=0+((((Ba(f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]|0)|0)-2090&65535)<<16>>16)*2251>>16)&255;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=i;if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<(t[f[s>>2]>>0]|0)){i=(f[o>>2]|0)+(f[w>>2]|0)|0;t[i>>0]=(t[i>>0]|0)+1<<24>>24}if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<=63)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<0)n=0;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;else n=63;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;if((f[w>>2]|0)==0&(f[u>>2]|0)==0){n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;do{if(((t[f[s>>2]>>0]|0)+-4|0)>63){if((n|0)>((t[f[s>>2]>>0]|0)+-4|0)){n=(t[f[s>>2]>>0]|0)+-4|0;break}if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<63)n=63;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0}else if((n|0)<=63)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<((t[f[s>>2]>>0]|0)+-4|0)){n=(t[f[s>>2]>>0]|0)+-4|0;break}else{n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;break}else n=63}while(0);t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;t[f[s>>2]>>0]=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0}else{t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=(t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)-(t[f[s>>2]>>0]|0);f[b>>2]=8+(t[f[s>>2]>>0]|0);if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)>(f[b>>2]|0))t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=(f[b>>2]|0)+((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)-(f[b>>2]|0)+1>>1);if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<=36)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<-4)n=-4;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;else n=36;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)>(f[b>>2]|0)){i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+((n<<1)-(f[b>>2]|0))}else{i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+n}i=(f[o>>2]|0)+(f[w>>2]|0)|0;t[i>>0]=(t[i>>0]|0)+4}i=Fa(So(((t[f[s>>2]>>0]<<16>>16)*29|0)+((t[f[s>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]=i;f[w>>2]=(f[w>>2]|0)+1}h=k;return}function So(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ro(e,r,i,n,a){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;c=d+12|0;k=d+8|0;w=d+4|0;b=d;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=a;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;n=t[(f[l>>2]|0)+(f[k>>2]|0)>>0]|0;do{if(!((f[k>>2]|0)==0&(f[u>>2]|0)==0)){f[w>>2]=n+-4;f[b>>2]=8+(t[f[s>>2]>>0]|0);n=f[w>>2]|0;if((f[w>>2]|0)>(f[b>>2]|0)){i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+((n<<1)-(f[b>>2]|0));break}else{i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+n;break}}else{i=(To(n,(t[f[s>>2]>>0]|0)-16|0)|0)&255;t[f[s>>2]>>0]=i}}while(0);if((t[f[s>>2]>>0]|0)<=63)if((t[f[s>>2]>>0]|0)<0)n=0;else n=t[f[s>>2]>>0]|0;else n=63;t[f[s>>2]>>0]=n;i=Fa(So(((t[f[s>>2]>>0]<<16>>16)*29|0)+((t[f[s>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;f[(f[o>>2]|0)+(f[k>>2]<<2)>>2]=i;f[k>>2]=(f[k>>2]|0)+1}h=d;return}function To(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Mo(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;i=l+12|0;n=l+8|0;o=l+4|0;a=l;f[i>>2]=e;f[n>>2]=r;f[a>>2]=0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;f[a>>2]=(t[(f[i>>2]|0)+(f[o>>2]|0)>>0]|0)+(f[a>>2]<<8);f[o>>2]=(f[o>>2]|0)+1}h=l;return f[a>>2]|0}function xo(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;c=w+4|0;b=w;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;e=(n[(f[l>>2]|0)+(f[b>>2]<<1)>>1]|0)+((re(((n[(f[s>>2]|0)+(f[b>>2]<<1)>>1]|0)-(n[(f[l>>2]|0)+(f[b>>2]<<1)>>1]|0)&65535)<<16>>16,(f[u>>2]&65535)<<16>>16)|0)>>2)&65535;n[(f[o>>2]|0)+(f[b>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+1}h=w;return}function Oo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+48|0;a=c+36|0;o=c+32|0;l=c+28|0;u=c+16|0;s=c+8|0;t=c+4|0;n=c;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[t>>2]=0;f[n>>2]=0;if(!(f[(f[a>>2]|0)+12>>2]|0)){h=c;return}f[t>>2]=256-(f[(f[a>>2]|0)+8>>2]|0)<<10;f[n>>2]=f[t>>2]>>16;f[t>>2]=(f[t>>2]|0)-(f[n>>2]<<16);Lo(u,s,f[n>>2]|0,f[t>>2]|0);if(((f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0)<=256)if(((f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0)<0)t=0;else t=(f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0;else t=256;f[(f[a>>2]|0)+8>>2]=t;La(f[o>>2]|0,u,s,f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,1);h=c;return}function Lo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;n=c+20|0;a=c+16|0;o=c+12|0;l=c+8|0;u=c+4|0;s=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;if((f[o>>2]|0)>=4){u=f[n>>2]|0;f[u>>2]=f[4473];f[u+4>>2]=f[4474];f[u+8>>2]=f[4475];u=f[a>>2]|0;f[u>>2]=f[4484];f[u+4>>2]=f[4485];h=c;return}if((f[l>>2]|0)<=0){u=f[n>>2]|0;s=17844+((f[o>>2]|0)*12|0)|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];f[u+8>>2]=f[s+8>>2];u=f[a>>2]|0;s=17904+(f[o>>2]<<3)|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];h=c;return}i=(f[l>>2]|0)<32768;f[u>>2]=0;if(i){while(1){if((f[u>>2]|0)>=3)break;i=re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)>>16,(f[l>>2]&65535)<<16>>16)|0;i=(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)+(i+((re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)&65535,(f[l>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=i;f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=0;while(1){if((f[s>>2]|0)>=2)break;u=re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)>>16,(f[l>>2]&65535)<<16>>16)|0;u=(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)+(u+((re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)&65535,(f[l>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=u;f[s>>2]=(f[s>>2]|0)+1}h=c;return}else{while(1){if((f[u>>2]|0)>=3)break;i=re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)>>16,((f[l>>2]|0)-65536&65535)<<16>>16)|0;i=(f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)+(i+((re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)&65535,((f[l>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=i;f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=0;while(1){if((f[s>>2]|0)>=2)break;u=re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)>>16,((f[l>>2]|0)-65536&65535)<<16>>16)|0;u=(f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)+(u+((re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)&65535,((f[l>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=u;f[s>>2]=(f[s>>2]|0)+1}h=c;return}}function Po(e,r,i){e=e|0;r=r|0;i=i|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+144|0;c=g+24|0;o=g+20|0;b=g+16|0;p=g+12|0;u=g+128|0;l=g+96|0;v=g+64|0;d=g+32|0;k=g+8|0;w=g+4|0;s=g;f[c>>2]=e;f[o>>2]=r;f[b>>2]=i;i=re(t[f[o>>2]>>0]|0,n[(f[b>>2]|0)+2>>1]|0)|0;f[s>>2]=(f[(f[b>>2]|0)+8>>2]|0)+i;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(n[(f[b>>2]|0)+2>>1]|0))break;n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]=a[(f[s>>2]|0)+(f[p>>2]|0)>>0]<<7;f[p>>2]=(f[p>>2]|0)+1}fa(l,u,f[b>>2]|0,t[f[o>>2]>>0]|0);Io(v,(f[o>>2]|0)+1|0,u,n[(f[b>>2]|0)+4>>1]|0,n[(f[b>>2]|0)+2>>1]|0);li(d,f[c>>2]|0,n[(f[b>>2]|0)+2>>1]|0);f[p>>2]=0;while(1){if((f[p>>2]|0)>=(n[(f[b>>2]|0)+2>>1]|0))break;f[k>>2]=Co(n[d+(f[p>>2]<<1)>>1]<<16)|0;f[w>>2]=(n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]|0)+((n[v+(f[p>>2]<<1)>>1]<<14|0)/(f[k>>2]|0)|0);if((f[w>>2]|0)>32767)o=32767;else o=(f[w>>2]|0)<0?0:f[w>>2]|0;n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]=o;f[p>>2]=(f[p>>2]|0)+1}fi(f[c>>2]|0,f[(f[b>>2]|0)+32>>2]|0,n[(f[b>>2]|0)+2>>1]|0);h=g;return}function Io(e,r,i,o,l){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+32|0;s=p+24|0;u=p+20|0;c=p+16|0;b=p+12|0;v=p+28|0;w=p+8|0;k=p+4|0;d=p;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=o;n[v>>1]=l;f[k>>2]=0;f[w>>2]=(n[v>>1]|0)-1;while(1){if((f[w>>2]|0)<0)break;f[d>>2]=(re((f[k>>2]&65535)<<16>>16,a[(f[c>>2]|0)+(f[w>>2]|0)>>0]|0)|0)>>8;f[k>>2]=t[(f[u>>2]|0)+(f[w>>2]|0)>>0]<<10;r=f[k>>2]|0;if((f[k>>2]|0)<=0){if((r|0)<0)f[k>>2]=(f[k>>2]|0)+102}else f[k>>2]=r-102;v=re(f[k>>2]>>16,(f[b>>2]&65535)<<16>>16)|0;f[k>>2]=(f[d>>2]|0)+(v+((re(f[k>>2]&65535,(f[b>>2]&65535)<<16>>16)|0)>>16));n[(f[s>>2]|0)+(f[w>>2]<<1)>>1]=f[k>>2];f[w>>2]=(f[w>>2]|0)+-1}h=p;return}function Co(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Uo(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Uo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Bo(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(jo(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Bo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function jo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Do(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0;W=h;h=h+112|0;g=W+100|0;y=W+96|0;T=W+92|0;M=W+88|0;x=W+84|0;O=W+80|0;L=W+76|0;P=W+72|0;I=W+68|0;C=W+64|0;_=W+60|0;m=W+56|0;E=W+52|0;A=W+48|0;S=W+44|0;F=W+40|0;z=W+36|0;q=W+32|0;N=W+28|0;B=W+24|0;j=W+20|0;U=W+16|0;H=W+12|0;D=W+8|0;Y=W+4|0;R=W;f[g>>2]=e;f[y>>2]=r;f[T>>2]=i;f[M>>2]=a;f[x>>2]=o;f[O>>2]=l;f[L>>2]=s;f[P>>2]=u;f[I>>2]=c;f[C>>2]=b;f[_>>2]=w;f[m>>2]=k;f[E>>2]=d;f[A>>2]=p;f[S>>2]=v;f[(f[y>>2]|0)+4368>>2]=t[(f[T>>2]|0)+34>>0];f[z>>2]=f[(f[y>>2]|0)+4356>>2];f[Y>>2]=n[24558+(t[(f[T>>2]|0)+29>>0]>>1<<2)+(t[(f[T>>2]|0)+30>>0]<<1)>>1];if((t[(f[T>>2]|0)+31>>0]|0)==4)f[N>>2]=0;else f[N>>2]=1;k=(f[(f[g>>2]|0)+4616>>2]|0)+(f[(f[g>>2]|0)+4608>>2]|0)|0;f[R>>2]=he()|0;u=h;h=h+((1*(k<<2)|0)+15&-16)|0;k=h;h=h+((1*((f[(f[g>>2]|0)+4616>>2]|0)+(f[(f[g>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;c=h;h=h+((1*(f[(f[g>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;f[(f[y>>2]|0)+4364>>2]=f[(f[g>>2]|0)+4616>>2];f[(f[y>>2]|0)+4360>>2]=f[(f[g>>2]|0)+4616>>2];f[H>>2]=(f[y>>2]|0)+(f[(f[g>>2]|0)+4616>>2]<<1);f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[(f[g>>2]|0)+4604>>2]|0))break;f[B>>2]=(f[O>>2]|0)+((f[F>>2]>>1|1-(f[N>>2]|0))<<4<<1);f[j>>2]=(f[L>>2]|0)+((f[F>>2]|0)*5<<1);f[U>>2]=(f[P>>2]|0)+(f[F>>2]<<4<<1);f[D>>2]=f[(f[I>>2]|0)+(f[F>>2]<<2)>>2]>>2;f[D>>2]=f[D>>2]|f[(f[I>>2]|0)+(f[F>>2]<<2)>>2]>>1<<16;f[(f[y>>2]|0)+4376>>2]=0;if((t[(f[T>>2]|0)+29>>0]|0)==2?(f[z>>2]=f[(f[E>>2]|0)+(f[F>>2]<<2)>>2],(f[F>>2]&3-(f[N>>2]<<1)|0)==0):0){f[q>>2]=(f[(f[g>>2]|0)+4616>>2]|0)-(f[z>>2]|0)-(f[(f[g>>2]|0)+4664>>2]|0)-2;a=(f[q>>2]|0)+(re(f[F>>2]|0,f[(f[g>>2]|0)+4612>>2]|0)|0)|0;za(k+(f[q>>2]<<1)|0,(f[y>>2]|0)+(a<<1)|0,f[B>>2]|0,(f[(f[g>>2]|0)+4616>>2]|0)-(f[q>>2]|0)|0,f[(f[g>>2]|0)+4664>>2]|0,f[(f[g>>2]|0)+5124>>2]|0);f[(f[y>>2]|0)+4376>>2]=1;f[(f[y>>2]|0)+4360>>2]=f[(f[g>>2]|0)+4616>>2]}No(f[g>>2]|0,f[y>>2]|0,f[M>>2]|0,c,k,u,f[F>>2]|0,f[S>>2]|0,f[m>>2]|0,f[E>>2]|0,t[(f[T>>2]|0)+29>>0]|0);Ho(f[y>>2]|0,t[(f[T>>2]|0)+29>>0]|0,c,f[x>>2]|0,f[H>>2]|0,u,f[B>>2]|0,f[j>>2]|0,f[U>>2]|0,f[z>>2]|0,f[D>>2]|0,f[(f[C>>2]|0)+(f[F>>2]<<2)>>2]|0,f[(f[_>>2]|0)+(f[F>>2]<<2)>>2]|0,f[(f[m>>2]|0)+(f[F>>2]<<2)>>2]|0,f[A>>2]|0,f[Y>>2]|0,f[(f[g>>2]|0)+4612>>2]|0,f[(f[g>>2]|0)+4660>>2]|0,f[(f[g>>2]|0)+4664>>2]|0);f[M>>2]=(f[M>>2]|0)+(f[(f[g>>2]|0)+4612>>2]<<2);f[x>>2]=(f[x>>2]|0)+(f[(f[g>>2]|0)+4612>>2]|0);f[H>>2]=(f[H>>2]|0)+(f[(f[g>>2]|0)+4612>>2]<<1);f[F>>2]=(f[F>>2]|0)+1}f[(f[y>>2]|0)+4356>>2]=f[(f[E>>2]|0)+((f[(f[g>>2]|0)+4604>>2]|0)-1<<2)>>2];ys(f[y>>2]|0,(f[y>>2]|0)+(f[(f[g>>2]|0)+4608>>2]<<1)|0,f[(f[g>>2]|0)+4616>>2]<<1|0)|0;ys((f[y>>2]|0)+1280|0,(f[y>>2]|0)+1280+(f[(f[g>>2]|0)+4608>>2]<<2)|0,f[(f[g>>2]|0)+4616>>2]<<2|0)|0;de(f[R>>2]|0);h=W;return}function No(e,r,i,t,a,o,l,s,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;x=h;h=h+64|0;w=x+60|0;k=x+56|0;p=x+52|0;v=x+48|0;g=x+44|0;y=x+40|0;_=x+36|0;m=x+32|0;E=x+28|0;O=x+24|0;d=x+20|0;S=x+16|0;M=x+12|0;A=x+8|0;T=x+4|0;R=x;f[w>>2]=e;f[k>>2]=r;f[p>>2]=i;f[v>>2]=t;f[g>>2]=a;f[y>>2]=o;f[_>>2]=l;f[m>>2]=s;f[E>>2]=u;f[O>>2]=c;f[d>>2]=b;f[M>>2]=f[(f[O>>2]|0)+(f[_>>2]<<2)>>2];if((f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0)>1)u=f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0;else u=1;f[T>>2]=Fo(u,47)|0;if((f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0)!=(f[(f[k>>2]|0)+4372>>2]|0))f[A>>2]=Yo(f[(f[k>>2]|0)+4372>>2]|0,f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0,16)|0;else f[A>>2]=65536;f[R>>2]=(f[T>>2]>>7)+1>>1;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[(f[w>>2]|0)+4612>>2]|0))break;O=re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]>>16,(f[R>>2]&65535)<<16>>16)|0;O=O+((re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]&65535,(f[R>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]|0,(f[R>>2]>>15)+1>>1)|0)|0;f[(f[v>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}f[(f[k>>2]|0)+4372>>2]=f[(f[E>>2]|0)+(f[_>>2]<<2)>>2];e:do{if(f[(f[k>>2]|0)+4376>>2]|0){if(!(f[_>>2]|0)){O=re(f[T>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[T>>2]=O+((re(f[T>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)<<2}f[S>>2]=(f[(f[k>>2]|0)+4360>>2]|0)-(f[M>>2]|0)-2;while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4360>>2]|0))break e;O=re(f[T>>2]>>16,n[(f[g>>2]|0)+(f[S>>2]<<1)>>1]|0)|0;O=O+((re(f[T>>2]&65535,n[(f[g>>2]|0)+(f[S>>2]<<1)>>1]|0)|0)>>16)|0;f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}}}while(0);if((f[A>>2]|0)==65536){h=x;return}f[S>>2]=(f[(f[k>>2]|0)+4364>>2]|0)-(f[(f[w>>2]|0)+4616>>2]|0);while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4364>>2]|0))break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}e:do{if((f[d>>2]|0)==2?(f[(f[k>>2]|0)+4376>>2]|0)==0:0){f[S>>2]=(f[(f[k>>2]|0)+4360>>2]|0)-(f[M>>2]|0)-2;while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4360>>2]|0))break e;O=re(f[A>>2]>>16,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}}}while(0);O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+4352>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+4352>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+4352>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+4352>>2]=O;f[S>>2]=0;while(1){if((f[S>>2]|0)>=32)break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=16)break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}h=x;return}function Fo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(zo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function zo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Yo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(zo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(zo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ho(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0;ce=h;h=h+176|0;ue=ce+168|0;E=ce+164|0;L=ce+160|0;P=ce+156|0;I=ce+152|0;C=ce+148|0;U=ce+144|0;B=ce+140|0;j=ce+136|0;D=ce+132|0;A=ce+128|0;S=ce+124|0;R=ce+120|0;be=ce+116|0;T=ce+112|0;M=ce+108|0;he=ce+104|0;x=ce+100|0;O=ce+96|0;q=ce+92|0;W=ce+88|0;Y=ce+84|0;z=ce+80|0;Z=ce+76|0;J=ce+72|0;V=ce+68|0;ee=ce+64|0;ne=ce+60|0;X=ce+56|0;$=ce+52|0;Q=ce+48|0;ie=ce+44|0;te=ce+40|0;H=ce+36|0;F=ce+32|0;se=ce+28|0;N=ce+24|0;oe=ce+20|0;le=ce+16|0;fe=ce+12|0;K=ce+8|0;ae=ce+4|0;G=ce;f[ue>>2]=e;f[E>>2]=r;f[L>>2]=i;f[P>>2]=a;f[I>>2]=o;f[C>>2]=l;f[U>>2]=s;f[B>>2]=u;f[j>>2]=c;f[D>>2]=b;f[A>>2]=w;f[S>>2]=k;f[R>>2]=d;f[be>>2]=p;f[T>>2]=v;f[M>>2]=g;f[he>>2]=y;f[x>>2]=_;f[O>>2]=m;f[ae>>2]=(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-(f[D>>2]|0)+1<<2);f[G>>2]=(f[C>>2]|0)+((f[(f[ue>>2]|0)+4360>>2]|0)-(f[D>>2]|0)+2<<2);f[N>>2]=f[be>>2]>>6;f[K>>2]=(f[ue>>2]|0)+3840+124;f[q>>2]=0;while(1){c=f[ue>>2]|0;if((f[q>>2]|0)>=(f[he>>2]|0))break;be=907633515+(re(f[c+4368>>2]|0,196314165)|0)|0;f[(f[ue>>2]|0)+4368>>2]=be;f[z>>2]=f[O>>2]>>1;be=re(f[f[K>>2]>>2]>>16,n[f[U>>2]>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[f[K>>2]>>2]&65535,n[f[U>>2]>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-4>>2]>>16,n[(f[U>>2]|0)+2>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-4>>2]&65535,n[(f[U>>2]|0)+2>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-8>>2]>>16,n[(f[U>>2]|0)+4>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-8>>2]&65535,n[(f[U>>2]|0)+4>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-12>>2]>>16,n[(f[U>>2]|0)+6>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-12>>2]&65535,n[(f[U>>2]|0)+6>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-16>>2]>>16,n[(f[U>>2]|0)+8>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-16>>2]&65535,n[(f[U>>2]|0)+8>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-20>>2]>>16,n[(f[U>>2]|0)+10>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-20>>2]&65535,n[(f[U>>2]|0)+10>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-24>>2]>>16,n[(f[U>>2]|0)+12>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-24>>2]&65535,n[(f[U>>2]|0)+12>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-28>>2]>>16,n[(f[U>>2]|0)+14>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-28>>2]&65535,n[(f[U>>2]|0)+14>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-32>>2]>>16,n[(f[U>>2]|0)+16>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-32>>2]&65535,n[(f[U>>2]|0)+16>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-36>>2]>>16,n[(f[U>>2]|0)+18>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-36>>2]&65535,n[(f[U>>2]|0)+18>>1]|0)|0)>>16));if((f[O>>2]|0)==16){be=re(f[(f[K>>2]|0)+-40>>2]>>16,n[(f[U>>2]|0)+20>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-40>>2]&65535,n[(f[U>>2]|0)+20>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-44>>2]>>16,n[(f[U>>2]|0)+22>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-44>>2]&65535,n[(f[U>>2]|0)+22>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-48>>2]>>16,n[(f[U>>2]|0)+24>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-48>>2]&65535,n[(f[U>>2]|0)+24>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-52>>2]>>16,n[(f[U>>2]|0)+26>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-52>>2]&65535,n[(f[U>>2]|0)+26>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-56>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-56>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-60>>2]>>16,n[(f[U>>2]|0)+30>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-60>>2]&65535,n[(f[U>>2]|0)+30>>1]|0)|0)>>16))}if((f[E>>2]|0)==2){f[Y>>2]=2;be=re(f[f[G>>2]>>2]>>16,n[f[B>>2]>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[f[G>>2]>>2]&65535,n[f[B>>2]>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-4>>2]>>16,n[(f[B>>2]|0)+2>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-4>>2]&65535,n[(f[B>>2]|0)+2>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-8>>2]>>16,n[(f[B>>2]|0)+4>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-8>>2]&65535,n[(f[B>>2]|0)+4>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-12>>2]>>16,n[(f[B>>2]|0)+6>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-12>>2]&65535,n[(f[B>>2]|0)+6>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-16>>2]>>16,n[(f[B>>2]|0)+8>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-16>>2]&65535,n[(f[B>>2]|0)+8>>1]|0)|0)>>16));f[G>>2]=(f[G>>2]|0)+4}else f[Y>>2]=0;f[le>>2]=f[f[K>>2]>>2];f[oe>>2]=f[(f[ue>>2]|0)+4288>>2];f[(f[ue>>2]|0)+4288>>2]=f[le>>2];f[Z>>2]=f[x>>2]>>1;be=re(f[le>>2]>>16,n[f[j>>2]>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[le>>2]&65535,n[f[j>>2]>>1]|0)|0)>>16));f[W>>2]=2;while(1){if((f[W>>2]|0)>=(f[x>>2]|0))break;f[le>>2]=f[(f[ue>>2]|0)+4288+((f[W>>2]|0)-1<<2)>>2];f[(f[ue>>2]|0)+4288+((f[W>>2]|0)-1<<2)>>2]=f[oe>>2];be=re(f[oe>>2]>>16,n[(f[j>>2]|0)+((f[W>>2]|0)-1<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[oe>>2]&65535,n[(f[j>>2]|0)+((f[W>>2]|0)-1<<1)>>1]|0)|0)>>16));f[oe>>2]=f[(f[ue>>2]|0)+4288+((f[W>>2]|0)+0<<2)>>2];f[(f[ue>>2]|0)+4288+((f[W>>2]|0)+0<<2)>>2]=f[le>>2];be=re(f[le>>2]>>16,n[(f[j>>2]|0)+(f[W>>2]<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[le>>2]&65535,n[(f[j>>2]|0)+(f[W>>2]<<1)>>1]|0)|0)>>16));f[W>>2]=(f[W>>2]|0)+2}f[(f[ue>>2]|0)+4288+((f[x>>2]|0)-1<<2)>>2]=f[oe>>2];be=re(f[oe>>2]>>16,n[(f[j>>2]|0)+((f[x>>2]|0)-1<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[oe>>2]&65535,n[(f[j>>2]|0)+((f[x>>2]|0)-1<<1)>>1]|0)|0)>>16));f[Z>>2]=f[Z>>2]<<1;be=re(f[(f[ue>>2]|0)+4352>>2]>>16,(f[S>>2]&65535)<<16>>16)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[(f[ue>>2]|0)+4352>>2]&65535,(f[S>>2]&65535)<<16>>16)|0)>>16));be=re(f[(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-1<<2)>>2]>>16,(f[R>>2]&65535)<<16>>16)|0;f[V>>2]=be+((re(f[(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-1<<2)>>2]&65535,(f[R>>2]&65535)<<16>>16)|0)>>16);be=(f[V>>2]|0)+(re(f[(f[ue>>2]|0)+4352>>2]>>16,f[R>>2]>>16)|0)|0;f[V>>2]=be+((re(f[(f[ue>>2]|0)+4352>>2]&65535,f[R>>2]>>16)|0)>>16);f[oe>>2]=(f[z>>2]<<2)-(f[Z>>2]|0);f[oe>>2]=(f[oe>>2]|0)-(f[V>>2]|0);if((f[D>>2]|0)>0){be=re((f[f[ae>>2]>>2]|0)+(f[(f[ae>>2]|0)+-8>>2]|0)>>16,(f[A>>2]&65535)<<16>>16)|0;f[J>>2]=be+((re((f[f[ae>>2]>>2]|0)+(f[(f[ae>>2]|0)+-8>>2]|0)&65535,(f[A>>2]&65535)<<16>>16)|0)>>16);be=(f[J>>2]|0)+(re(f[(f[ae>>2]|0)+-4>>2]>>16,f[A>>2]>>16)|0)|0;f[J>>2]=be+((re(f[(f[ae>>2]|0)+-4>>2]&65535,f[A>>2]>>16)|0)>>16);f[J>>2]=f[J>>2]<<1;f[ae>>2]=(f[ae>>2]|0)+4;f[le>>2]=(f[Y>>2]|0)-(f[J>>2]|0);f[oe>>2]=(f[le>>2]|0)+(f[oe>>2]<<1);f[oe>>2]=(f[oe>>2]>>2)+1>>1}else f[oe>>2]=(f[oe>>2]>>1)+1>>1;f[ee>>2]=(f[(f[L>>2]|0)+(f[q>>2]<<2)>>2]|0)-(f[oe>>2]|0);if((f[(f[ue>>2]|0)+4368>>2]|0)<0)f[ee>>2]=0-(f[ee>>2]|0);if((f[ee>>2]|0)>30720)c=30720;else c=(f[ee>>2]|0)<-31744?-31744:f[ee>>2]|0;f[ee>>2]=c;f[$>>2]=(f[ee>>2]|0)-(f[M>>2]|0);f[X>>2]=f[$>>2]>>10;c=f[X>>2]|0;do{if((f[X>>2]|0)<=0){if(!c){f[$>>2]=f[M>>2];f[Q>>2]=(f[$>>2]|0)+944;f[ie>>2]=re((f[$>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}if((f[X>>2]|0)==-1){f[Q>>2]=f[M>>2];f[$>>2]=(f[Q>>2]|0)-944;f[ie>>2]=re((0-(f[$>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}else{f[$>>2]=(f[X>>2]<<10)+80;f[$>>2]=(f[$>>2]|0)+(f[M>>2]|0);f[Q>>2]=(f[$>>2]|0)+1024;f[ie>>2]=re((0-(f[$>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((0-(f[Q>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}}else{f[$>>2]=(c<<10)-80;f[$>>2]=(f[$>>2]|0)+(f[M>>2]|0);f[Q>>2]=(f[$>>2]|0)+1024;f[ie>>2]=re((f[$>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0}}while(0);f[ne>>2]=(f[ee>>2]|0)-(f[$>>2]|0);f[ie>>2]=(f[ie>>2]|0)+(re((f[ne>>2]&65535)<<16>>16,(f[ne>>2]&65535)<<16>>16)|0);f[ne>>2]=(f[ee>>2]|0)-(f[Q>>2]|0);f[te>>2]=(f[te>>2]|0)+(re((f[ne>>2]&65535)<<16>>16,(f[ne>>2]&65535)<<16>>16)|0);if((f[te>>2]|0)<(f[ie>>2]|0))f[$>>2]=f[Q>>2];t[(f[P>>2]|0)+(f[q>>2]|0)>>0]=(f[$>>2]>>9)+1>>1;f[H>>2]=f[$>>2]<<4;if((f[(f[ue>>2]|0)+4368>>2]|0)<0)f[H>>2]=0-(f[H>>2]|0);f[F>>2]=(f[H>>2]|0)+(f[Y>>2]<<1);f[se>>2]=(f[F>>2]|0)+(f[z>>2]<<4);be=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;be=be+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((be+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){be=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;be=be+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((be+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)c=-32768;else{c=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;c=c+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;c=(c+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1}}else c=32767;n[(f[I>>2]|0)+(f[q>>2]<<1)>>1]=c;f[K>>2]=(f[K>>2]|0)+4;f[f[K>>2]>>2]=f[se>>2];f[fe>>2]=(f[se>>2]|0)-(f[Z>>2]<<2);f[(f[ue>>2]|0)+4352>>2]=f[fe>>2];f[(f[ue>>2]|0)+1280+(f[(f[ue>>2]|0)+4364>>2]<<2)>>2]=(f[fe>>2]|0)-(f[V>>2]<<2);f[(f[C>>2]|0)+(f[(f[ue>>2]|0)+4360>>2]<<2)>>2]=f[F>>2]<<1;be=(f[ue>>2]|0)+4364|0;f[be>>2]=(f[be>>2]|0)+1;be=(f[ue>>2]|0)+4360|0;f[be>>2]=(f[be>>2]|0)+1;f[(f[ue>>2]|0)+4368>>2]=(f[(f[ue>>2]|0)+4368>>2]|0)+(t[(f[P>>2]|0)+(f[q>>2]|0)>>0]|0);f[q>>2]=(f[q>>2]|0)+1}w=c+3840|0;c=(f[ue>>2]|0)+3840+(f[he>>2]<<2)|0;p=w+128|0;do{f[w>>2]=f[c>>2];w=w+4|0;c=c+4|0}while((w|0)<(p|0));h=ce;return}function qo(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0;ie=h;h=h+272|0;q=ie+264|0;W=ie+260|0;E=ie+256|0;A=ie+252|0;J=ie+248|0;S=ie+244|0;R=ie+240|0;T=ie+236|0;M=ie+232|0;x=ie+228|0;g=ie+224|0;y=ie+220|0;Z=ie+216|0;_=ie+212|0;m=ie+208|0;X=ie+204|0;D=ie+200|0;N=ie+196|0;Y=ie+192|0;C=ie+188|0;B=ie+184|0;H=ie+180|0;$=ie+176|0;z=ie+172|0;K=ie+168|0;L=ie+164|0;P=ie+160|0;O=ie+156|0;ee=ie+152|0;I=ie+148|0;F=ie+144|0;U=ie+140|0;G=ie+136|0;Q=ie+132|0;V=ie+128|0;j=ie;f[q>>2]=e;f[W>>2]=r;f[E>>2]=i;f[A>>2]=a;f[J>>2]=o;f[S>>2]=l;f[R>>2]=s;f[T>>2]=u;f[M>>2]=c;f[x>>2]=b;f[g>>2]=w;f[y>>2]=k;f[Z>>2]=d;f[_>>2]=p;f[m>>2]=v;f[N>>2]=f[(f[W>>2]|0)+4356>>2];a=f[(f[q>>2]|0)+4652>>2]|0;f[V>>2]=he()|0;s=h;h=h+((1*(a*1168|0)|0)+15&-16)|0;vs(s|0,0,(f[(f[q>>2]|0)+4652>>2]|0)*1168|0)|0;f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;f[Q>>2]=s+((f[D>>2]|0)*1168|0);f[(f[Q>>2]|0)+1156>>2]=(f[D>>2]|0)+(t[(f[E>>2]|0)+34>>0]|0)&3;f[(f[Q>>2]|0)+1160>>2]=f[(f[Q>>2]|0)+1156>>2];f[(f[Q>>2]|0)+1164>>2]=0;f[(f[Q>>2]|0)+1152>>2]=f[(f[W>>2]|0)+4352>>2];f[(f[Q>>2]|0)+960>>2]=f[(f[W>>2]|0)+1280+((f[(f[q>>2]|0)+4616>>2]|0)-1<<2)>>2];u=f[Q>>2]|0;k=(f[W>>2]|0)+3840|0;c=u+128|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));u=(f[Q>>2]|0)+1088|0;k=(f[W>>2]|0)+4288|0;c=u+64|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));f[D>>2]=(f[D>>2]|0)+1}f[F>>2]=n[24558+(t[(f[E>>2]|0)+29>>0]>>1<<2)+(t[(f[E>>2]|0)+30>>0]<<1)>>1];f[z>>2]=0;f[K>>2]=Wo(32,f[(f[q>>2]|0)+4612>>2]|0)|0;e:do{if((t[(f[E>>2]|0)+29>>0]|0)!=2){if((f[N>>2]|0)>0)f[K>>2]=Wo(f[K>>2]|0,(f[N>>2]|0)-2-1|0)|0}else{f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4604>>2]|0))break e;f[K>>2]=Wo(f[K>>2]|0,(f[(f[Z>>2]|0)+(f[D>>2]<<2)>>2]|0)-2-1|0)|0;f[D>>2]=(f[D>>2]|0)+1}}}while(0);if((t[(f[E>>2]|0)+31>>0]|0)==4)f[C>>2]=0;else f[C>>2]=1;u=h;h=h+((1*((f[(f[q>>2]|0)+4616>>2]|0)+(f[(f[q>>2]|0)+4608>>2]|0)<<2)|0)+15&-16)|0;k=h;h=h+((1*((f[(f[q>>2]|0)+4616>>2]|0)+(f[(f[q>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;c=h;h=h+((1*(f[(f[q>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;f[ee>>2]=(f[W>>2]|0)+(f[(f[q>>2]|0)+4616>>2]<<1);f[(f[W>>2]|0)+4364>>2]=f[(f[q>>2]|0)+4616>>2];f[(f[W>>2]|0)+4360>>2]=f[(f[q>>2]|0)+4616>>2];f[H>>2]=0;f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4604>>2]|0))break;f[L>>2]=(f[S>>2]|0)+((f[D>>2]>>1|1-(f[C>>2]|0))<<4<<1);f[P>>2]=(f[R>>2]|0)+((f[D>>2]|0)*5<<1);f[O>>2]=(f[T>>2]|0)+(f[D>>2]<<4<<1);f[I>>2]=f[(f[M>>2]|0)+(f[D>>2]<<2)>>2]>>2;f[I>>2]=f[I>>2]|f[(f[M>>2]|0)+(f[D>>2]<<2)>>2]>>1<<16;f[(f[W>>2]|0)+4376>>2]=0;if((t[(f[E>>2]|0)+29>>0]|0)==2?(f[N>>2]=f[(f[Z>>2]|0)+(f[D>>2]<<2)>>2],(f[D>>2]&3-(f[C>>2]<<1)|0)==0):0){if((f[D>>2]|0)==2){f[U>>2]=f[s+1164>>2];f[B>>2]=0;f[X>>2]=1;while(1){if((f[X>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[s+((f[X>>2]|0)*1168|0)+1164>>2]|0)<(f[U>>2]|0)){f[U>>2]=f[s+((f[X>>2]|0)*1168|0)+1164>>2];f[B>>2]=f[X>>2]}f[X>>2]=(f[X>>2]|0)+1}f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[X>>2]|0)!=(f[B>>2]|0)){a=s+((f[X>>2]|0)*1168|0)+1164|0;f[a>>2]=(f[a>>2]|0)+134217727}f[X>>2]=(f[X>>2]|0)+1}f[Q>>2]=s+((f[B>>2]|0)*1168|0);f[$>>2]=(f[z>>2]|0)+(f[K>>2]|0);f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[K>>2]|0))break;f[$>>2]=(f[$>>2]|0)-1&31;t[(f[J>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0))>>0]=(f[(f[Q>>2]|0)+576+(f[$>>2]<<2)>>2]>>9)+1>>1;a=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;a=a+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((a+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<=32767){a=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;a=a+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((a+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<-32768)w=-32768;else{w=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;w=w+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;w=(w+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1}}else w=32767;n[(f[ee>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0)<<1)>>1]=w;f[(f[W>>2]|0)+1280+((f[(f[W>>2]|0)+4364>>2]|0)-(f[K>>2]|0)+(f[X>>2]|0)<<2)>>2]=f[(f[Q>>2]|0)+960+(f[$>>2]<<2)>>2];f[X>>2]=(f[X>>2]|0)+1}f[H>>2]=0}f[Y>>2]=(f[(f[q>>2]|0)+4616>>2]|0)-(f[N>>2]|0)-(f[(f[q>>2]|0)+4664>>2]|0)-2;a=(f[Y>>2]|0)+(re(f[D>>2]|0,f[(f[q>>2]|0)+4612>>2]|0)|0)|0;za(k+(f[Y>>2]<<1)|0,(f[W>>2]|0)+(a<<1)|0,f[L>>2]|0,(f[(f[q>>2]|0)+4616>>2]|0)-(f[Y>>2]|0)|0,f[(f[q>>2]|0)+4664>>2]|0,f[(f[q>>2]|0)+5124>>2]|0);f[(f[W>>2]|0)+4360>>2]=f[(f[q>>2]|0)+4616>>2];f[(f[W>>2]|0)+4376>>2]=1}Zo(f[q>>2]|0,f[W>>2]|0,s,f[A>>2]|0,c,k,u,f[D>>2]|0,f[(f[q>>2]|0)+4652>>2]|0,f[m>>2]|0,f[y>>2]|0,f[Z>>2]|0,t[(f[E>>2]|0)+29>>0]|0,f[K>>2]|0);oe=f[W>>2]|0;ae=t[(f[E>>2]|0)+29>>0]|0;fe=f[J>>2]|0;ne=f[ee>>2]|0;te=f[L>>2]|0;w=f[P>>2]|0;v=f[O>>2]|0;p=f[N>>2]|0;r=f[I>>2]|0;l=f[(f[x>>2]|0)+(f[D>>2]<<2)>>2]|0;b=f[(f[g>>2]|0)+(f[D>>2]<<2)>>2]|0;d=f[(f[y>>2]|0)+(f[D>>2]<<2)>>2]|0;e=f[_>>2]|0;i=f[F>>2]|0;o=f[(f[q>>2]|0)+4612>>2]|0;a=f[H>>2]|0;f[H>>2]=a+1;pf(oe,s,ae,c,fe,ne,u,j,te,w,v,p,r,l,b,d,e,i,o,a,f[(f[q>>2]|0)+4660>>2]|0,f[(f[q>>2]|0)+4664>>2]|0,f[(f[q>>2]|0)+4704>>2]|0,f[(f[q>>2]|0)+4652>>2]|0,z,f[K>>2]|0);f[A>>2]=(f[A>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<2);f[J>>2]=(f[J>>2]|0)+(f[(f[q>>2]|0)+4612>>2]|0);f[ee>>2]=(f[ee>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<1);f[D>>2]=(f[D>>2]|0)+1}f[U>>2]=f[s+1164>>2];f[B>>2]=0;f[D>>2]=1;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[s+((f[D>>2]|0)*1168|0)+1164>>2]|0)<(f[U>>2]|0)){f[U>>2]=f[s+((f[D>>2]|0)*1168|0)+1164>>2];f[B>>2]=f[D>>2]}f[D>>2]=(f[D>>2]|0)+1}f[Q>>2]=s+((f[B>>2]|0)*1168|0);t[(f[E>>2]|0)+34>>0]=f[(f[Q>>2]|0)+1160>>2];f[$>>2]=(f[z>>2]|0)+(f[K>>2]|0);f[G>>2]=f[(f[y>>2]|0)+((f[(f[q>>2]|0)+4604>>2]|0)-1<<2)>>2]>>6;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[K>>2]|0))break;f[$>>2]=(f[$>>2]|0)-1&31;t[(f[J>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0))>>0]=(f[(f[Q>>2]|0)+576+(f[$>>2]<<2)>>2]>>9)+1>>1;oe=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;oe=oe+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;if(((oe+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){oe=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;oe=oe+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;if(((oe+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)u=-32768;else{u=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;u=u+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;u=(u+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1}}else u=32767;n[(f[ee>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0)<<1)>>1]=u;f[(f[W>>2]|0)+1280+((f[(f[W>>2]|0)+4364>>2]|0)-(f[K>>2]|0)+(f[X>>2]|0)<<2)>>2]=f[(f[Q>>2]|0)+960+(f[$>>2]<<2)>>2];f[X>>2]=(f[X>>2]|0)+1}u=(f[W>>2]|0)+3840|0;k=(f[Q>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<2)|0;c=u+128|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));u=(f[W>>2]|0)+4288|0;k=(f[Q>>2]|0)+1088|0;c=u+64|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));f[(f[W>>2]|0)+4352>>2]=f[(f[Q>>2]|0)+1152>>2];f[(f[W>>2]|0)+4356>>2]=f[(f[Z>>2]|0)+((f[(f[q>>2]|0)+4604>>2]|0)-1<<2)>>2];ys(f[W>>2]|0,(f[W>>2]|0)+(f[(f[q>>2]|0)+4608>>2]<<1)|0,f[(f[q>>2]|0)+4616>>2]<<1|0)|0;ys((f[W>>2]|0)+1280|0,(f[W>>2]|0)+1280+(f[(f[q>>2]|0)+4608>>2]<<2)|0,f[(f[q>>2]|0)+4616>>2]<<2|0)|0;de(f[V>>2]|0);h=ie;return}function Wo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zo(e,r,i,t,a,o,l,s,u,c,b,w,k,d){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;var p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;j=h;h=h+96|0;p=j+80|0;v=j+76|0;m=j+72|0;E=j+68|0;A=j+64|0;S=j+60|0;R=j+56|0;T=j+52|0;M=j+48|0;x=j+44|0;g=j+40|0;D=j+36|0;y=j+32|0;_=j+28|0;L=j+24|0;C=j+20|0;U=j+16|0;O=j+12|0;I=j+8|0;P=j+4|0;B=j;f[p>>2]=e;f[v>>2]=r;f[m>>2]=i;f[E>>2]=t;f[A>>2]=a;f[S>>2]=o;f[R>>2]=l;f[T>>2]=s;f[M>>2]=u;f[x>>2]=c;f[g>>2]=b;f[D>>2]=w;f[y>>2]=k;f[_>>2]=d;f[U>>2]=f[(f[D>>2]|0)+(f[T>>2]<<2)>>2];if((f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0)>1)b=f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0;else b=1;f[I>>2]=Vo(b,47)|0;if((f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0)!=(f[(f[v>>2]|0)+4372>>2]|0))f[O>>2]=Go(f[(f[v>>2]|0)+4372>>2]|0,f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0,16)|0;else f[O>>2]=65536;f[P>>2]=(f[I>>2]>>7)+1>>1;f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[p>>2]|0)+4612>>2]|0))break;D=re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]>>16,(f[P>>2]&65535)<<16>>16)|0;D=D+((re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]&65535,(f[P>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]|0,(f[P>>2]>>15)+1>>1)|0)|0;f[(f[A>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[(f[v>>2]|0)+4372>>2]=f[(f[g>>2]|0)+(f[T>>2]<<2)>>2];e:do{if(f[(f[v>>2]|0)+4376>>2]|0){if(!(f[T>>2]|0)){D=re(f[I>>2]>>16,(f[x>>2]&65535)<<16>>16)|0;f[I>>2]=D+((re(f[I>>2]&65535,(f[x>>2]&65535)<<16>>16)|0)>>16)<<2}f[L>>2]=(f[(f[v>>2]|0)+4360>>2]|0)-(f[U>>2]|0)-2;while(1){if((f[L>>2]|0)>=(f[(f[v>>2]|0)+4360>>2]|0))break e;D=re(f[I>>2]>>16,n[(f[S>>2]|0)+(f[L>>2]<<1)>>1]|0)|0;D=D+((re(f[I>>2]&65535,n[(f[S>>2]|0)+(f[L>>2]<<1)>>1]|0)|0)>>16)|0;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}}}while(0);if((f[O>>2]|0)==65536){h=j;return}f[L>>2]=(f[(f[v>>2]|0)+4364>>2]|0)-(f[(f[p>>2]|0)+4616>>2]|0);while(1){if((f[L>>2]|0)>=(f[(f[v>>2]|0)+4364>>2]|0))break;D=re(f[O>>2]>>16,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}e:do{if((f[y>>2]|0)==2?(f[(f[v>>2]|0)+4376>>2]|0)==0:0){f[L>>2]=(f[(f[v>>2]|0)+4360>>2]|0)-(f[U>>2]|0)-2;while(1){if((f[L>>2]|0)>=((f[(f[v>>2]|0)+4360>>2]|0)-(f[_>>2]|0)|0))break e;D=re(f[O>>2]>>16,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[M>>2]|0))break;f[B>>2]=(f[m>>2]|0)+((f[C>>2]|0)*1168|0);D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+1152>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+1152>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+1152>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+1152>>2]=D;f[L>>2]=0;while(1){if((f[L>>2]|0)>=32)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=16)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=32)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]=D;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[C>>2]=(f[C>>2]|0)+1}h=j;return}function Vo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(Jo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Jo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Go(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(Jo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(Jo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ko(e,r,i){e=e|0;r=+r;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;l=u+4|0;o=u;f[t>>2]=e;s[n>>2]=r;f[a>>2]=i;f[o>>2]=f[a>>2]&65532;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;i=(f[t>>2]|0)+((f[l>>2]|0)+0<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+1<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+2<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+3<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];f[l>>2]=(f[l>>2]|0)+4}while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;o=(f[t>>2]|0)+(f[l>>2]<<2)|0;s[o>>2]=+s[o>>2]*+s[n>>2];f[l>>2]=(f[l>>2]|0)+1}h=u;return}function Xo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+176|0;t=k+168|0;n=k+164|0;a=k+160|0;c=k+156|0;b=k+152|0;o=k+16|0;l=k+8|0;u=k+4|0;w=k;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[c>>2]=0;while(1){if((f[c>>2]|0)>=((f[a>>2]|0)+1|0))break;d=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];s[o+(f[c>>2]<<3)+4>>2]=d;s[o+(f[c>>2]<<3)>>2]=d;f[c>>2]=(f[c>>2]|0)+1}f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[a>>2]|0))break;s[w>>2]=-+s[o+((f[c>>2]|0)+1<<3)>>2]/(+s[o+4>>2]>9.999999717180685e-10?+s[o+4>>2]:9.999999717180685e-10);s[(f[t>>2]|0)+(f[c>>2]<<2)>>2]=+s[w>>2];f[b>>2]=0;while(1){if((f[b>>2]|0)>=((f[a>>2]|0)-(f[c>>2]|0)|0))break;s[l>>2]=+s[o+((f[b>>2]|0)+(f[c>>2]|0)+1<<3)>>2];s[u>>2]=+s[o+(f[b>>2]<<3)+4>>2];s[o+((f[b>>2]|0)+(f[c>>2]|0)+1<<3)>>2]=+s[l>>2]+ +s[u>>2]*+s[w>>2];s[o+(f[b>>2]<<3)+4>>2]=+s[u>>2]+ +s[l>>2]*+s[w>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}h=k;return+ +s[o+4>>2]}function $o(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;b=w+8|0;u=w+4|0;c=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[u>>2]<<2)>>2]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=1;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;s[b>>2]=+s[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[c>>2]=(f[u>>2]|0)-1;while(1){if((f[c>>2]|0)<0)break;if(!(+s[b>>2]>+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]))break;s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[b>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=f[l>>2];while(1){if((f[u>>2]|0)>=(f[o>>2]|0))break;s[b>>2]=+s[(f[n>>2]|0)+(f[u>>2]<<2)>>2];if(+s[b>>2]>+s[(f[n>>2]|0)+((f[l>>2]|0)-1<<2)>>2]){f[c>>2]=(f[l>>2]|0)-2;while(1){if((f[c>>2]|0)<0)break;if(!(+s[b>>2]>+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]))break;s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[b>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[u>>2]}f[u>>2]=(f[u>>2]|0)+1}h=w;return}function Qo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+80|0;a=R+64|0;o=R+60|0;l=R+56|0;u=R+52|0;b=R+48|0;p=R+44|0;E=R+40|0;c=R+36|0;A=R+32|0;w=R+28|0;m=R+24|0;d=R+20|0;v=R+16|0;_=R+12|0;y=R+8|0;k=R+4|0;g=R;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;if(!((((f[l>>2]|0)<1|(f[o>>2]|0)<1)^1)&(f[a>>2]|0)!=0&(f[u>>2]|0)!=0)){h=R;return}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(re(f[o>>2]|0,f[l>>2]|0)|0))break;if(2<+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2])n=2;else n=+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2];if(!(-2>n))if(2<+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2])n=2;else n=+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2];else n=-2;s[(f[a>>2]|0)+(f[p>>2]<<2)>>2]=n;f[p>>2]=(f[p>>2]|0)+1}f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[E>>2]=(f[a>>2]|0)+(f[b>>2]<<2);s[c>>2]=+s[(f[u>>2]|0)+(f[b>>2]<<2)>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[o>>2]|0))break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]*+s[c>>2]>=0)break;i=re(f[p>>2]|0,f[l>>2]|0)|0;r=re(f[p>>2]|0,f[l>>2]|0)|0;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=+s[(f[E>>2]|0)+(i<<2)>>2]+ +s[c>>2]*+s[(f[E>>2]|0)+(r<<2)>>2]*+s[(f[E>>2]|0)+(e<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[w>>2]=0;s[A>>2]=+s[f[E>>2]>>2];do{f[_>>2]=0;f[p>>2]=f[w>>2];while(1){if((f[p>>2]|0)>=(f[o>>2]|0))break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]>1)break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]<-1)break;f[p>>2]=(f[p>>2]|0)+1}if((f[p>>2]|0)==(f[o>>2]|0)){S=23;break}f[y>>2]=f[p>>2];t=f[p>>2]|0;f[d>>2]=t;f[m>>2]=t;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[v>>2]=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);while(1){if((f[m>>2]|0)<=0)break;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re((f[m>>2]|0)-1|0,f[l>>2]|0)|0;if(!(+s[(f[E>>2]|0)+(e<<2)>>2]*+s[(f[E>>2]|0)+(t<<2)>>2]>=0))break;f[m>>2]=(f[m>>2]|0)+-1}while(1){if((f[d>>2]|0)>=(f[o>>2]|0))break;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[d>>2]|0,f[l>>2]|0)|0;if(!(+s[(f[E>>2]|0)+(e<<2)>>2]*+s[(f[E>>2]|0)+(t<<2)>>2]>=0))break;t=re(f[d>>2]|0,f[l>>2]|0)|0;n=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);if(n>+s[v>>2]){t=re(f[d>>2]|0,f[l>>2]|0)|0;s[v>>2]=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);f[y>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}if(!(f[m>>2]|0)){i=re(f[p>>2]|0,f[l>>2]|0)|0;i=+s[(f[E>>2]|0)+(i<<2)>>2]*+s[f[E>>2]>>2]>=0}else i=0;f[_>>2]=i&1;s[c>>2]=(+s[v>>2]-1)/(+s[v>>2]*+s[v>>2]);t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]>0)s[c>>2]=-+s[c>>2];f[p>>2]=f[m>>2];while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break;i=re(f[p>>2]|0,f[l>>2]|0)|0;r=re(f[p>>2]|0,f[l>>2]|0)|0;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=+s[(f[E>>2]|0)+(i<<2)>>2]+ +s[c>>2]*+s[(f[E>>2]|0)+(r<<2)>>2]*+s[(f[E>>2]|0)+(e<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}e:do{if((f[_>>2]|0)!=0&(f[y>>2]|0)>=2){s[g>>2]=+s[A>>2]-+s[f[E>>2]>>2];s[k>>2]=+s[g>>2]/+(f[y>>2]|0);f[p>>2]=f[w>>2];while(1){if((f[p>>2]|0)>=(f[y>>2]|0))break e;s[g>>2]=+s[g>>2]-+s[k>>2];t=re(f[p>>2]|0,f[l>>2]|0)|0;t=(f[E>>2]|0)+(t<<2)|0;s[t>>2]=+s[t>>2]+ +s[g>>2];t=re(f[p>>2]|0,f[l>>2]|0)|0;if(1<+s[(f[E>>2]|0)+(t<<2)>>2])n=1;else{t=re(f[p>>2]|0,f[l>>2]|0)|0;n=+s[(f[E>>2]|0)+(t<<2)>>2]}if(!(-1>n)){t=re(f[p>>2]|0,f[l>>2]|0)|0;if(1<+s[(f[E>>2]|0)+(t<<2)>>2])n=1;else{t=re(f[p>>2]|0,f[l>>2]|0)|0;n=+s[(f[E>>2]|0)+(t<<2)>>2]}}else n=-1;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=n;f[p>>2]=(f[p>>2]|0)+1}}}while(0);f[w>>2]=f[d>>2]}while((f[w>>2]|0)!=(f[o>>2]|0));if((S|0)==23){S=0;s[c>>2]=0}s[(f[u>>2]|0)+(f[b>>2]<<2)>>2]=+s[c>>2];f[b>>2]=(f[b>>2]|0)+1}h=R;return}function el(e,r){e=e|0;r=r|0;var i=0,n=0,o=0,l=0;l=h;h=h+16|0;i=l+8|0;n=l+4|0;o=l;f[n>>2]=e;f[o>>2]=r;r=f[n>>2]|0;if((f[n>>2]|0)<252){t[f[o>>2]>>0]=r;f[i>>2]=1;o=f[i>>2]|0;h=l;return o|0}else{t[f[o>>2]>>0]=252+(r&3);t[(f[o>>2]|0)+1>>0]=(f[n>>2]|0)-(a[f[o>>2]>>0]|0)>>2;f[i>>2]=2;o=f[i>>2]|0;h=l;return o|0}return 0}function rl(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0;o=h;h=h+16|0;i=o+8|0;t=o+4|0;n=o;f[i>>2]=e;f[t>>2]=r;r=a[f[i>>2]>>0]|0;if((a[f[i>>2]>>0]|0)&128|0){f[n>>2]=r>>3&3;f[n>>2]=(f[t>>2]<>2]|0)/400|0;n=f[n>>2]|0;h=o;return n|0}e=a[f[i>>2]>>0]|0;if((r&96|0)!=96){f[n>>2]=e>>3&3;r=f[t>>2]|0;if((f[n>>2]|0)==3){f[n>>2]=(r*60|0)/1e3|0;n=f[n>>2]|0;h=o;return n|0}else{f[n>>2]=(r<>2]|0)/100|0;n=f[n>>2]|0;h=o;return n|0}}else{r=f[t>>2]|0;if(e&8|0)r=(r|0)/50|0;else r=(r|0)/100|0;f[n>>2]=r;n=f[n>>2]|0;h=o;return n|0}return 0}function il(e,r,i,o,l,s,u,c){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0;U=h;h=h+80|0;b=U+72|0;w=U+68|0;k=U+64|0;d=U+60|0;p=U+56|0;v=U+52|0;g=U+48|0;y=U+44|0;_=U+40|0;M=U+36|0;m=U+32|0;S=U+28|0;E=U+24|0;A=U+77|0;I=U+76|0;T=U+20|0;x=U+16|0;L=U+12|0;R=U+8|0;O=U+4|0;P=U;f[w>>2]=e;f[k>>2]=r;f[d>>2]=i;f[p>>2]=o;f[v>>2]=l;f[g>>2]=s;f[y>>2]=u;f[_>>2]=c;f[L>>2]=0;f[R>>2]=f[w>>2];if(!(f[g>>2]|0)){f[b>>2]=-1;C=f[b>>2]|0;h=U;return C|0}f[T>>2]=rl(f[w>>2]|0,48e3)|0;f[E>>2]=0;s=f[w>>2]|0;f[w>>2]=s+1;t[I>>0]=t[s>>0]|0;f[k>>2]=(f[k>>2]|0)+-1;f[x>>2]=f[k>>2];e:do{switch(a[I>>0]&3|0){case 0:{f[S>>2]=1;break}case 1:{f[S>>2]=2;f[E>>2]=1;if(!(f[d>>2]|0)){if(!(f[k>>2]&1)){f[x>>2]=(f[k>>2]|0)/2|0;n[f[g>>2]>>1]=f[x>>2];break e}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}break}case 2:{f[S>>2]=2;f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,f[g>>2]|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[f[g>>2]>>1]|0)>=0?(n[f[g>>2]>>1]|0)<=(f[k>>2]|0):0){f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);f[x>>2]=(f[k>>2]|0)-(n[f[g>>2]>>1]|0);break e}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}default:{if((f[k>>2]|0)<1){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}s=f[w>>2]|0;f[w>>2]=s+1;t[A>>0]=t[s>>0]|0;f[S>>2]=a[A>>0]&63;if((f[S>>2]|0)>0?(re(f[T>>2]|0,f[S>>2]|0)|0)<=5760:0){f[k>>2]=(f[k>>2]|0)+-1;r:do{if(a[A>>0]&64|0){while(1){if((f[k>>2]|0)<=0)break;s=f[w>>2]|0;f[w>>2]=s+1;f[O>>2]=a[s>>0];f[k>>2]=(f[k>>2]|0)+-1;f[P>>2]=(f[O>>2]|0)==255?254:f[O>>2]|0;f[k>>2]=(f[k>>2]|0)-(f[P>>2]|0);f[L>>2]=(f[L>>2]|0)+(f[P>>2]|0);if((f[O>>2]|0)!=255)break r}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}while(0);if((f[k>>2]|0)<0){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[E>>2]=((a[A>>0]&128|0)!=0^1)&1;if(f[E>>2]|0){if(f[d>>2]|0)break e;f[x>>2]=(f[k>>2]|0)/(f[S>>2]|0)|0;C=re(f[x>>2]|0,f[S>>2]|0)|0;if((C|0)!=(f[k>>2]|0)){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break e;n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]=f[x>>2];f[M>>2]=(f[M>>2]|0)+1}}f[x>>2]=f[k>>2];f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break;f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,(f[g>>2]|0)+(f[M>>2]<<1)|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0)<0){C=29;break}if((n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0)>(f[k>>2]|0)){C=29;break}f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);f[x>>2]=(f[x>>2]|0)-((f[m>>2]|0)+(n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0));f[M>>2]=(f[M>>2]|0)+1}if((C|0)==29){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}if((f[x>>2]|0)>=0)break e;f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}}while(0);e:do{if(f[d>>2]|0){f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,(f[g>>2]|0)+(f[S>>2]<<1)+-2|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)>=0?(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)<=(f[k>>2]|0):0){f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);if(!(f[E>>2]|0)){if(((f[m>>2]|0)+(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)|0)<=(f[x>>2]|0))break;f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}C=re(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0,f[S>>2]|0)|0;if((C|0)>(f[k>>2]|0)){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break e;n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]=n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0;f[M>>2]=(f[M>>2]|0)+1}}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}else{if((f[x>>2]|0)<=1275){n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]=f[x>>2];break}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}while(0);if(f[y>>2]|0)f[f[y>>2]>>2]=(f[w>>2]|0)-(f[R>>2]|0);f[M>>2]=0;while(1){if((f[M>>2]|0)>=(f[S>>2]|0))break;if(f[v>>2]|0)f[(f[v>>2]|0)+(f[M>>2]<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+(n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0);f[M>>2]=(f[M>>2]|0)+1}if(f[_>>2]|0)f[f[_>>2]>>2]=(f[L>>2]|0)+((f[w>>2]|0)-(f[R>>2]|0));if(f[p>>2]|0)t[f[p>>2]>>0]=t[I>>0]|0;f[b>>2]=f[S>>2];C=f[b>>2]|0;h=U;return C|0}function tl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,o=0,l=0,s=0,u=0;u=h;h=h+16|0;t=u+12|0;o=u+8|0;l=u+4|0;s=u;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;if((f[l>>2]|0)<1){n[f[s>>2]>>1]=-1;f[t>>2]=-1;i=f[t>>2]|0;h=u;return i|0}if((a[f[o>>2]>>0]|0|0)<252){n[f[s>>2]>>1]=a[f[o>>2]>>0]|0;f[t>>2]=1;i=f[t>>2]|0;h=u;return i|0}if((f[l>>2]|0)<2){n[f[s>>2]>>1]=-1;f[t>>2]=-1;i=f[t>>2]|0;h=u;return i|0}else{n[f[s>>2]>>1]=((a[(f[o>>2]|0)+1>>0]|0)<<2)+(a[f[o>>2]>>0]|0);f[t>>2]=2;i=f[t>>2]|0;h=u;return i|0}return 0}function nl(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;t=o+4|0;n=o;f[i>>2]=e;if((f[i>>2]|0)<1|(f[i>>2]|0)>2){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}f[n>>2]=co(a)|0;if(f[n>>2]|0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}else{f[a>>2]=fl(f[a>>2]|0)|0;f[t>>2]=hf(f[i>>2]|0)|0;n=fl(88)|0;f[r>>2]=n+(f[a>>2]|0)+(f[t>>2]|0);a=f[r>>2]|0;h=o;return a|0}return 0}function fl(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;t=r+4|0;i=r;f[t>>2]=e;f[i>>2]=4;e=re((((f[t>>2]|0)+(f[i>>2]|0)-1|0)>>>0)/((f[i>>2]|0)>>>0)|0,f[i>>2]|0)|0;h=r;return e|0}function al(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+48|0;b=w;t=w+32|0;n=w+28|0;a=w+24|0;o=w+20|0;c=w+16|0;l=w+12|0;s=w+8|0;u=w+4|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if(!((f[a>>2]|0)!=48e3&(f[a>>2]|0)!=24e3&(f[a>>2]|0)!=16e3&(f[a>>2]|0)!=12e3&(f[a>>2]|0)!=8e3)?!((f[o>>2]|0)!=1&(f[o>>2]|0)!=2):0){e=f[n>>2]|0;vs(e|0,0,nl(f[o>>2]|0)|0)|0;f[s>>2]=co(u)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}f[u>>2]=fl(f[u>>2]|0)|0;e=fl(88)|0;f[(f[n>>2]|0)+4>>2]=e;f[f[n>>2]>>2]=(f[(f[n>>2]|0)+4>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[n>>2]|0)+(f[(f[n>>2]|0)+4>>2]|0);f[l>>2]=(f[n>>2]|0)+(f[f[n>>2]>>2]|0);e=f[o>>2]|0;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+48>>2]=e;f[(f[n>>2]|0)+12>>2]=f[a>>2];f[(f[n>>2]|0)+16+8>>2]=f[(f[n>>2]|0)+12>>2];f[(f[n>>2]|0)+16>>2]=f[(f[n>>2]|0)+8>>2];f[s>>2]=bo(f[c>>2]|0)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}f[s>>2]=bf(f[l>>2]|0,f[a>>2]|0,f[o>>2]|0)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}else{e=f[l>>2]|0;f[b>>2]=0;df(e,10016,b)|0;f[(f[n>>2]|0)+60>>2]=0;f[(f[n>>2]|0)+64>>2]=(f[a>>2]|0)/400|0;b=ol()|0;f[(f[n>>2]|0)+44>>2]=b;f[t>>2]=0;b=f[t>>2]|0;h=w;return b|0}}f[t>>2]=-1;b=f[t>>2]|0;h=w;return b|0}function ol(){return 0}function ll(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+208|0;P=N+88|0;I=N+84|0;b=N+80|0;w=N+76|0;C=N+72|0;U=N+68|0;k=N+64|0;d=N+60|0;p=N+56|0;v=N+52|0;_=N+48|0;m=N+44|0;g=N+40|0;E=N+36|0;L=N+192|0;S=N+32|0;A=N+28|0;R=N+24|0;T=N+20|0;O=N+96|0;B=N+16|0;j=N+12|0;y=N+8|0;M=N+4|0;x=N;f[I>>2]=e;f[b>>2]=r;f[w>>2]=i;f[C>>2]=t;f[U>>2]=a;f[k>>2]=o;f[d>>2]=l;f[p>>2]=u;f[v>>2]=c;if((f[k>>2]|0)<0|(f[k>>2]|0)>1){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}if((f[k>>2]|0)!=0|(f[w>>2]|0)==0|(f[b>>2]|0)==0?(f[U>>2]|0)%((f[(f[I>>2]|0)+12>>2]|0)/400|0|0)|0|0:0){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}if((f[w>>2]|0)==0|(f[b>>2]|0)==0){f[B>>2]=0;while(1){b=(f[C>>2]|0)+((re(f[B>>2]|0,f[(f[I>>2]|0)+8>>2]|0)|0)<<2)|0;f[j>>2]=sl(f[I>>2]|0,0,0,b,(f[U>>2]|0)-(f[B>>2]|0)|0,0)|0;b=f[j>>2]|0;if((f[j>>2]|0)<0){D=9;break}f[B>>2]=(f[B>>2]|0)+b;if((f[B>>2]|0)>=(f[U>>2]|0)){D=11;break}}if((D|0)==9){f[P>>2]=b;D=f[P>>2]|0;h=N;return D|0}else if((D|0)==11){cl()|0;f[(f[I>>2]|0)+72>>2]=f[B>>2];f[P>>2]=f[B>>2];D=f[P>>2]|0;h=N;return D|0}}if((f[w>>2]|0)<0){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}f[R>>2]=bl(f[b>>2]|0)|0;f[A>>2]=wl(f[b>>2]|0)|0;f[S>>2]=rl(f[b>>2]|0,f[(f[I>>2]|0)+12>>2]|0)|0;f[T>>2]=kl(f[b>>2]|0)|0;f[g>>2]=il(f[b>>2]|0,f[w>>2]|0,f[d>>2]|0,L,0,O,E,f[p>>2]|0)|0;if((f[g>>2]|0)<0){f[P>>2]=f[g>>2];D=f[P>>2]|0;h=N;return D|0}f[b>>2]=(f[b>>2]|0)+(f[E>>2]|0);if(f[k>>2]|0){if(!((f[R>>2]|0)==1002?1:(f[U>>2]|0)<(f[S>>2]|0))?(f[(f[I>>2]|0)+56>>2]|0)!=1002:0){f[y>>2]=f[(f[I>>2]|0)+72>>2];if((f[U>>2]|0)-(f[S>>2]|0)|0?(f[M>>2]=ll(f[I>>2]|0,0,0,f[C>>2]|0,(f[U>>2]|0)-(f[S>>2]|0)|0,0,0,0,f[v>>2]|0)|0,(f[M>>2]|0)<0):0){f[(f[I>>2]|0)+72>>2]=f[y>>2];f[P>>2]=f[M>>2];D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+56>>2]=f[R>>2];f[(f[I>>2]|0)+52>>2]=f[A>>2];f[(f[I>>2]|0)+64>>2]=f[S>>2];f[(f[I>>2]|0)+48>>2]=f[T>>2];D=(f[C>>2]|0)+((re(f[(f[I>>2]|0)+8>>2]|0,(f[U>>2]|0)-(f[S>>2]|0)|0)|0)<<2)|0;f[M>>2]=sl(f[I>>2]|0,f[b>>2]|0,n[O>>1]|0,D,f[S>>2]|0,1)|0;if((f[M>>2]|0)<0){f[P>>2]=f[M>>2];D=f[P>>2]|0;h=N;return D|0}else{cl()|0;f[(f[I>>2]|0)+72>>2]=f[U>>2];f[P>>2]=f[U>>2];D=f[P>>2]|0;h=N;return D|0}}f[P>>2]=ll(f[I>>2]|0,0,0,f[C>>2]|0,f[U>>2]|0,0,0,0,f[v>>2]|0)|0;D=f[P>>2]|0;h=N;return D|0}j=re(f[g>>2]|0,f[S>>2]|0)|0;if((j|0)>(f[U>>2]|0)){f[P>>2]=-2;D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+56>>2]=f[R>>2];f[(f[I>>2]|0)+52>>2]=f[A>>2];f[(f[I>>2]|0)+64>>2]=f[S>>2];f[(f[I>>2]|0)+48>>2]=f[T>>2];f[m>>2]=0;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[g>>2]|0))break;j=(f[C>>2]|0)+((re(f[m>>2]|0,f[(f[I>>2]|0)+8>>2]|0)|0)<<2)|0;f[x>>2]=sl(f[I>>2]|0,f[b>>2]|0,n[O+(f[_>>2]<<1)>>1]|0,j,(f[U>>2]|0)-(f[m>>2]|0)|0,0)|0;if((f[x>>2]|0)<0){D=31;break}f[b>>2]=(f[b>>2]|0)+(n[O+(f[_>>2]<<1)>>1]|0);f[m>>2]=(f[m>>2]|0)+(f[x>>2]|0);f[_>>2]=(f[_>>2]|0)+1}if((D|0)==31){f[P>>2]=f[x>>2];D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+72>>2]=f[m>>2];cl()|0;if(f[v>>2]|0)Qo(f[C>>2]|0,f[m>>2]|0,f[(f[I>>2]|0)+8>>2]|0,(f[I>>2]|0)+76|0);else{s[(f[I>>2]|0)+76+4>>2]=0;s[(f[I>>2]|0)+76>>2]=0}f[P>>2]=f[m>>2];D=f[P>>2]|0;h=N;return D|0}function sl(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ye=0;ye=h;h=h+320|0;fe=ye+80|0;ne=ye+72|0;te=ye+64|0;ie=ye+56|0;ee=ye+48|0;Q=ye+40|0;X=ye+32|0;K=ye+24|0;G=ye+16|0;A=ye+8|0;E=ye;ke=ye+308|0;pe=ye+304|0;R=ye+300|0;T=ye+296|0;le=ye+292|0;se=ye+288|0;M=ye+284|0;g=ye+280|0;I=ye+276|0;N=ye+272|0;_=ye+268|0;we=ye+264|0;j=ye+216|0;y=ye+212|0;w=ye+208|0;S=ye+204|0;c=ye+200|0;z=ye+196|0;q=ye+192|0;ve=ye+188|0;F=ye+184|0;J=ye+180|0;V=ye+176|0;Y=ye+172|0;H=ye+168|0;B=ye+164|0;L=ye+160|0;x=ye+156|0;O=ye+152|0;b=ye+148|0;be=ye+144|0;ae=ye+140|0;W=ye+136|0;P=ye+132|0;u=ye+128|0;ue=ye+124|0;ce=ye+120|0;p=ye+116|0;k=ye+112|0;v=ye+108|0;d=ye+104|0;m=ye+100|0;C=ye+96|0;Z=ye+312|0;U=ye+92|0;D=ye+88|0;oe=ye+84|0;f[pe>>2]=e;f[R>>2]=r;f[T>>2]=i;f[le>>2]=a;f[se>>2]=o;f[M>>2]=l;f[_>>2]=0;f[we>>2]=0;f[z>>2]=0;f[J>>2]=0;f[Y>>2]=0;f[H>>2]=0;f[B>>2]=0;f[W>>2]=0;f[g>>2]=(f[pe>>2]|0)+(f[(f[pe>>2]|0)+4>>2]|0);f[I>>2]=(f[pe>>2]|0)+(f[f[pe>>2]>>2]|0);f[be>>2]=(f[(f[pe>>2]|0)+12>>2]|0)/50|0;f[b>>2]=f[be>>2]>>1;f[O>>2]=f[b>>2]>>1;f[x>>2]=f[O>>2]>>1;if((f[se>>2]|0)<(f[x>>2]|0)){f[ke>>2]=-2;ve=f[ke>>2]|0;h=ye;return ve|0}if((f[se>>2]|0)<(((f[(f[pe>>2]|0)+12>>2]|0)/25|0)*3|0))r=f[se>>2]|0;else r=((f[(f[pe>>2]|0)+12>>2]|0)/25|0)*3|0;f[se>>2]=r;if((f[T>>2]|0)<=1){f[R>>2]=0;if((f[se>>2]|0)<(f[(f[pe>>2]|0)+64>>2]|0))r=f[se>>2]|0;else r=f[(f[pe>>2]|0)+64>>2]|0;f[se>>2]=r}do{if(!(f[R>>2]|0)){f[ve>>2]=f[se>>2];f[F>>2]=f[(f[pe>>2]|0)+60>>2];if(!(f[F>>2]|0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[ve>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=0;f[N>>2]=(f[N>>2]|0)+1}f[ke>>2]=f[ve>>2];ve=f[ke>>2]|0;h=ye;return ve|0}if((f[ve>>2]|0)>(f[be>>2]|0)){while(1){f[u>>2]=sl(f[pe>>2]|0,0,0,f[le>>2]|0,(f[ve>>2]|0)<(f[be>>2]|0)?f[ve>>2]|0:f[be>>2]|0,0)|0;r=f[u>>2]|0;if((f[u>>2]|0)<0){l=20;break}we=re(r,f[(f[pe>>2]|0)+8>>2]|0)|0;f[le>>2]=(f[le>>2]|0)+(we<<2);f[ve>>2]=(f[ve>>2]|0)-(f[u>>2]|0);if((f[ve>>2]|0)<=0){l=22;break}}if((l|0)==20){f[ke>>2]=r;ve=f[ke>>2]|0;h=ye;return ve|0}else if((l|0)==22){f[ke>>2]=f[se>>2];ve=f[ke>>2]|0;h=ye;return ve|0}}if((f[ve>>2]|0)<(f[be>>2]|0)){if((f[ve>>2]|0)>(f[b>>2]|0)){f[ve>>2]=f[b>>2];break}if(((f[F>>2]|0)!=1e3?(f[ve>>2]|0)>(f[O>>2]|0):0)?(f[ve>>2]|0)<(f[b>>2]|0):0)f[ve>>2]=f[O>>2]}}else{f[ve>>2]=f[(f[pe>>2]|0)+64>>2];f[F>>2]=f[(f[pe>>2]|0)+56>>2];Pe(j,f[R>>2]|0,f[T>>2]|0)}}while(0);f[P>>2]=0;f[S>>2]=1;f[c>>2]=1;do{if(f[R>>2]|0?(f[(f[pe>>2]|0)+60>>2]|0)>0:0){if(!(((f[F>>2]|0)==1002?(f[(f[pe>>2]|0)+60>>2]|0)!=1002:0)?!(f[(f[pe>>2]|0)+68>>2]|0):0)){if((f[F>>2]|0)==1002)break;if((f[(f[pe>>2]|0)+60>>2]|0)!=1002)break}f[J>>2]=1;r=re(f[O>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;if((f[F>>2]|0)==1002){f[c>>2]=r;break}else{f[S>>2]=r;break}}}while(0);c=f[c>>2]|0;f[ue>>2]=he()|0;r=h;h=h+((1*(c<<2)|0)+15&-16)|0;if((f[J>>2]|0)!=0&(f[F>>2]|0)==1002){f[z>>2]=r;sl(f[pe>>2]|0,0,0,f[z>>2]|0,(f[O>>2]|0)<(f[ve>>2]|0)?f[O>>2]|0:f[ve>>2]|0,0)|0}e:do{if((f[ve>>2]|0)>(f[se>>2]|0)){f[ke>>2]=-1;f[ce>>2]=1}else{f[se>>2]=f[ve>>2];if((f[F>>2]|0)==1002|(f[P>>2]|0)!=0)r=1;else r=re((f[b>>2]|0)>(f[se>>2]|0)?f[b>>2]|0:f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;f[w>>2]=r;o=h;h=h+((1*(f[w>>2]<<1)|0)+15&-16)|0;r:do{if((f[F>>2]|0)!=1002){f[v>>2]=o;if((f[(f[pe>>2]|0)+60>>2]|0)==1002)bo(f[g>>2]|0)|0;if(10>(((f[ve>>2]|0)*1e3|0)/(f[(f[pe>>2]|0)+12>>2]|0)|0|0))r=10;else r=((f[ve>>2]|0)*1e3|0)/(f[(f[pe>>2]|0)+12>>2]|0)|0;f[(f[pe>>2]|0)+16+16>>2]=r;do{if(f[R>>2]|0){f[(f[pe>>2]|0)+16+4>>2]=f[(f[pe>>2]|0)+48>>2];r=f[pe>>2]|0;if((f[F>>2]|0)!=1e3){f[r+16+12>>2]=16e3;break}l=f[pe>>2]|0;if((f[r+52>>2]|0)==1101){f[l+16+12>>2]=8e3;break}if((f[l+52>>2]|0)==1102){f[(f[pe>>2]|0)+16+12>>2]=12e3;break}else{f[(f[pe>>2]|0)+16+12>>2]=16e3;break}}}while(0);f[p>>2]=(f[R>>2]|0)==0?1:f[M>>2]<<1;f[k>>2]=0;i:while(1){f[d>>2]=(f[k>>2]|0)==0&1;f[_>>2]=wo(f[g>>2]|0,(f[pe>>2]|0)+16|0,f[p>>2]|0,f[d>>2]|0,j,f[v>>2]|0,y,f[(f[pe>>2]|0)+44>>2]|0)|0;t:do{if(f[_>>2]|0){if(!(f[p>>2]|0))break i;f[y>>2]=f[se>>2];f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break t;n[(f[v>>2]|0)+(f[N>>2]<<1)>>1]=0;f[N>>2]=(f[N>>2]|0)+1}}}while(0);w=re(f[y>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;f[v>>2]=(f[v>>2]|0)+(w<<1);f[k>>2]=(f[k>>2]|0)+(f[y>>2]|0);if((f[k>>2]|0)>=(f[se>>2]|0))break r}f[ke>>2]=-3;f[ce>>2]=1;break e}}while(0);f[V>>2]=0;if((f[M>>2]|0)==0&(f[F>>2]|0)!=1002&(f[R>>2]|0)!=0?(_=(ul(j)|0)+17|0,(_+(((f[(f[pe>>2]|0)+56>>2]|0)==1001&1)*20|0)|0)<=(f[T>>2]<<3|0)):0){if((f[F>>2]|0)==1001)f[Y>>2]=Ne(j,12)|0;else f[Y>>2]=1;if(f[Y>>2]|0){f[B>>2]=Ne(j,1)|0;if((f[F>>2]|0)==1001)r=(ze(j,256)|0)+2|0;else{r=f[T>>2]|0;r=r-((ul(j)|0)+7>>3)|0}f[H>>2]=r;f[T>>2]=(f[T>>2]|0)-(f[H>>2]|0);_=f[T>>2]<<3;if((_|0)<(ul(j)|0)){f[T>>2]=0;f[H>>2]=0;f[Y>>2]=0}_=j+4|0;f[_>>2]=(f[_>>2]|0)-(f[H>>2]|0)}}if((f[F>>2]|0)!=1002)f[V>>2]=17;f[m>>2]=21;switch(f[(f[pe>>2]|0)+52>>2]|0){case 1101:{f[m>>2]=13;break}case 1103:case 1102:{f[m>>2]=17;break}case 1104:{f[m>>2]=19;break}case 1105:{f[m>>2]=21;break}default:{}}_=f[I>>2]|0;f[E>>2]=f[m>>2];df(_,10012,E)|0;E=f[I>>2]|0;f[A>>2]=f[(f[pe>>2]|0)+48>>2];df(E,10008,A)|0;if(f[Y>>2]|0){f[J>>2]=0;f[S>>2]=1}r=h;h=h+((1*(f[S>>2]<<2)|0)+15&-16)|0;if((f[J>>2]|0)!=0&(f[F>>2]|0)!=1002){f[z>>2]=r;sl(f[pe>>2]|0,0,0,f[z>>2]|0,(f[O>>2]|0)<(f[ve>>2]|0)?f[O>>2]|0:f[ve>>2]|0,0)|0}if(f[Y>>2]|0)r=re(f[O>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;else r=1;f[q>>2]=r;r=h;h=h+((1*(f[q>>2]<<2)|0)+15&-16)|0;if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0){q=f[I>>2]|0;f[G>>2]=0;df(q,10010,G)|0;ge(f[I>>2]|0,(f[R>>2]|0)+(f[T>>2]|0)|0,f[H>>2]|0,r,f[O>>2]|0,0,0)|0;G=f[I>>2]|0;f[K>>2]=W+(((W-W|0)/4|0)<<2);df(G,4031,K)|0}K=f[I>>2]|0;f[X>>2]=f[V>>2];df(K,10010,X)|0;do{if((f[F>>2]|0)==1e3){t[Z>>0]=t[30523]|0;t[Z+1>>0]=t[30524]|0;r:do{if(!(f[P>>2]|0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=0;f[N>>2]=(f[N>>2]|0)+1}}}while(0);if((f[(f[pe>>2]|0)+60>>2]|0)==1001){if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0?f[(f[pe>>2]|0)+68>>2]|0:0)break;be=f[I>>2]|0;f[ee>>2]=0;df(be,10010,ee)|0;ge(f[I>>2]|0,Z,2,f[le>>2]|0,f[x>>2]|0,0,f[P>>2]|0)|0}}else{f[C>>2]=(f[be>>2]|0)<(f[se>>2]|0)?f[be>>2]|0:f[se>>2]|0;do{if((f[F>>2]|0)!=(f[(f[pe>>2]|0)+60>>2]|0)){if((f[(f[pe>>2]|0)+60>>2]|0)<=0)break;if(f[(f[pe>>2]|0)+68>>2]|0)break;df(f[I>>2]|0,4028,Q)|0}}while(0);f[we>>2]=ge(f[I>>2]|0,f[M>>2]|0?0:f[R>>2]|0,f[T>>2]|0,f[le>>2]|0,f[C>>2]|0,j,f[P>>2]|0)|0}}while(0);r:do{if(!((f[F>>2]|0)==1002|(f[P>>2]|0)!=0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]+ +(n[o+(f[N>>2]<<1)>>1]|0)*30517578125e-15;f[N>>2]=(f[N>>2]|0)+1}}}while(0);be=f[I>>2]|0;f[ie>>2]=U+(((U-U|0)/4|0)<<2);df(be,10015,ie)|0;f[ae>>2]=f[(f[U>>2]|0)+60>>2];if(!((f[Y>>2]|0)==0|(f[B>>2]|0)!=0)){df(f[I>>2]|0,4028,te)|0;be=f[I>>2]|0;f[ne>>2]=0;df(be,10010,ne)|0;ge(f[I>>2]|0,(f[R>>2]|0)+(f[T>>2]|0)|0,f[H>>2]|0,r,f[O>>2]|0,0,0)|0;ne=f[I>>2]|0;f[fe>>2]=W+(((W-W|0)/4|0)<<2);df(ne,4031,fe)|0;ne=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,(f[se>>2]|0)-(f[x>>2]|0)|0)|0)<<2)|0;fe=r+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,(f[se>>2]|0)-(f[x>>2]|0)|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0){f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[pe>>2]|0)+8>>2]|0))break;f[N>>2]=0;while(1){if((f[N>>2]|0)>=(f[x>>2]|0))break;fe=re(f[(f[pe>>2]|0)+8>>2]|0,f[N>>2]|0)|0;be=re(f[(f[pe>>2]|0)+8>>2]|0,f[N>>2]|0)|0;s[(f[le>>2]|0)+(be+(f[L>>2]|0)<<2)>>2]=+s[r+(fe+(f[L>>2]|0)<<2)>>2];f[N>>2]=(f[N>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}ne=r+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;fe=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}do{if(f[J>>2]|0){if((f[ve>>2]|0)<(f[O>>2]|0)){hl(f[z>>2]|0,f[le>>2]|0,f[le>>2]|0,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0);break}f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0))break;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[(f[z>>2]|0)+(f[N>>2]<<2)>>2];f[N>>2]=(f[N>>2]|0)+1}ne=(f[z>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;fe=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}}while(0);r:do{if(f[(f[pe>>2]|0)+40>>2]|0){s[D>>2]=+$(+(+(f[(f[pe>>2]|0)+40>>2]|0)*.0006488140788860619*.6931471805599453));f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[oe>>2]=+s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]*+s[D>>2];s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[oe>>2];f[N>>2]=(f[N>>2]|0)+1}}}while(0);if((f[T>>2]|0)<=1)f[(f[pe>>2]|0)+84>>2]=0;else f[(f[pe>>2]|0)+84>>2]=f[j+28>>2]^f[W>>2];f[(f[pe>>2]|0)+60>>2]=f[F>>2];if(f[Y>>2]|0)r=(f[B>>2]|0)!=0^1;else r=0;f[(f[pe>>2]|0)+68>>2]=r&1;if((f[we>>2]|0)>=0)cl()|0;f[ke>>2]=(f[we>>2]|0)<0?f[we>>2]|0:f[ve>>2]|0;f[ce>>2]=1}}while(0);de(f[ue>>2]|0);ve=f[ke>>2]|0;h=ye;return ve|0}function ul(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function hl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;l=y+40|0;u=y+36|0;c=y+32|0;b=y+28|0;w=y+24|0;k=y+20|0;_=y+16|0;p=y+12|0;d=y+8|0;v=y+4|0;g=y;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_>>2]=o;f[v>>2]=48e3/(f[_>>2]|0)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[w>>2]|0))break;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;a=re(f[p>>2]|0,f[v>>2]|0)|0;t=re(f[p>>2]|0,f[v>>2]|0)|0;s[g>>2]=+s[(f[k>>2]|0)+(a<<2)>>2]*+s[(f[k>>2]|0)+(t<<2)>>2];t=re(f[p>>2]|0,f[w>>2]|0)|0;a=re(f[p>>2]|0,f[w>>2]|0)|0;_=re(f[p>>2]|0,f[w>>2]|0)|0;s[(f[c>>2]|0)+(_+(f[d>>2]|0)<<2)>>2]=+s[g>>2]*+s[(f[u>>2]|0)+(t+(f[d>>2]|0)<<2)>>2]+(1-+s[g>>2])*+s[(f[l>>2]|0)+(a+(f[d>>2]|0)<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}h=y;return}function cl(){return 0}function bl(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[r>>2]=e;do{if(!((a[f[r>>2]>>0]|0)&128|0))if(((a[f[r>>2]>>0]|0)&96|0)==96){f[i>>2]=1001;break}else{f[i>>2]=1e3;break}else f[i>>2]=1002}while(0);h=t;return f[i>>2]|0}function wl(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+4|0;t=n;f[r>>2]=e;i=a[f[r>>2]>>0]|0;if((a[f[r>>2]>>0]|0)&128|0){i=1102+(i>>5&3)|0;f[t>>2]=i;f[t>>2]=(f[t>>2]|0)==1102?1101:i;t=f[t>>2]|0;h=n;return t|0}e=a[f[r>>2]>>0]|0;if((i&96|0)==96){f[t>>2]=e&16|0?1105:1104;t=f[t>>2]|0;h=n;return t|0}else{f[t>>2]=1101+(e>>5&3);t=f[t>>2]|0;h=n;return t|0}return 0}function kl(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return((a[f[r>>2]>>0]|0)&4|0?2:1)|0}function dl(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+48|0;u=_+40|0;c=_+36|0;b=_+32|0;w=_+28|0;k=_+24|0;d=_+20|0;p=_+16|0;y=_+12|0;g=_+8|0;l=_+4|0;v=_;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=a;f[p>>2]=o;if((f[d>>2]|0)<=0){f[u>>2]=-1;y=f[u>>2]|0;h=_;return y|0}do{if(!((f[b>>2]|0)!=0&(f[w>>2]|0)>0^1|(f[p>>2]|0)!=0)){f[l>>2]=pl(f[c>>2]|0,f[b>>2]|0,f[w>>2]|0)|0;if((f[l>>2]|0)>0){f[d>>2]=(f[d>>2]|0)<(f[l>>2]|0)?f[d>>2]|0:f[l>>2]|0;break}f[u>>2]=-4;y=f[u>>2]|0;h=_;return y|0}}while(0);e=re(f[d>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0;f[v>>2]=he()|0;r=h;h=h+((1*(e<<2)|0)+15&-16)|0;f[y>>2]=ll(f[c>>2]|0,f[b>>2]|0,f[w>>2]|0,r,f[d>>2]|0,f[p>>2]|0,0,0,1)|0;e:do{if((f[y>>2]|0)>0){f[g>>2]=0;while(1){if((f[g>>2]|0)>=(re(f[y>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0))break e;p=yl(+s[r+(f[g>>2]<<2)>>2])|0;n[(f[k>>2]|0)+(f[g>>2]<<1)>>1]=p;f[g>>2]=(f[g>>2]|0)+1}}}while(0);f[u>>2]=f[y>>2];de(f[v>>2]|0);y=f[u>>2]|0;h=_;return y|0}function pl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;r=vl(f[o>>2]|0,f[a>>2]|0,f[(f[n>>2]|0)+12>>2]|0)|0;h=t;return r|0}function vl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;l=h;h=h+32|0;t=l+20|0;n=l+16|0;u=l+12|0;a=l+8|0;o=l+4|0;s=l;f[n>>2]=e;f[u>>2]=r;f[a>>2]=i;f[s>>2]=gl(f[n>>2]|0,f[u>>2]|0)|0;i=f[s>>2]|0;if((f[s>>2]|0)<0){f[t>>2]=i;u=f[t>>2]|0;h=l;return u|0}f[o>>2]=re(i,rl(f[n>>2]|0,f[a>>2]|0)|0)|0;if(((f[o>>2]|0)*25|0)>((f[a>>2]|0)*3|0)){f[t>>2]=-4;u=f[t>>2]|0;h=l;return u|0}else{f[t>>2]=f[o>>2];u=f[t>>2]|0;h=l;return u|0}return 0}function gl(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,l=0;l=h;h=h+16|0;i=l+12|0;t=l+8|0;n=l+4|0;o=l;f[t>>2]=e;f[n>>2]=r;do{if((f[n>>2]|0)>=1){f[o>>2]=(a[f[t>>2]>>0]|0)&3;if(!(f[o>>2]|0)){f[i>>2]=1;break}if((f[o>>2]|0)!=3){f[i>>2]=2;break}if((f[n>>2]|0)<2){f[i>>2]=-4;break}else{f[i>>2]=(a[(f[t>>2]|0)+1>>0]|0)&63;break}}else f[i>>2]=-1}while(0);h=l;return f[i>>2]|0}function yl(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;s[r>>2]=+s[r>>2]*32768;s[r>>2]=+s[r>>2]>-32768?+s[r>>2]:-32768;s[r>>2]=+s[r>>2]<32767?+s[r>>2]:32767;r=(cs(+s[r>>2])|0)&65535;h=i;return r|0}function _l(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;b=k+4|0;w=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;if((f[b>>2]|0)<=0){f[o>>2]=-1;e=f[o>>2]|0;h=k;return e|0}else{f[o>>2]=ll(f[l>>2]|0,f[s>>2]|0,f[u>>2]|0,f[c>>2]|0,f[b>>2]|0,f[w>>2]|0,0,0,0)|0;e=f[o>>2]|0;h=k;return e|0}return 0}function ml(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;g=h;h=h+80|0;d=g+8|0;p=g+76|0;t=g+72|0;y=g+68|0;v=g+64|0;n=g+48|0;o=g+44|0;a=g+40|0;l=g+36|0;s=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;f[t>>2]=e;f[y>>2]=r;f[v>>2]=0;f[o>>2]=(f[t>>2]|0)+(f[(f[t>>2]|0)+4>>2]|0);f[a>>2]=(f[t>>2]|0)+(f[f[t>>2]>>2]|0);f[n>>2]=i;e:do{switch(f[y>>2]|0){case 4009:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[l>>2]=y;if(f[l>>2]|0){f[f[l>>2]>>2]=f[(f[t>>2]|0)+52>>2];t=20}else t=21;break}case 4031:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[s>>2]=y;if(f[s>>2]|0){f[f[s>>2]>>2]=f[(f[t>>2]|0)+84>>2];t=20}else t=21;break}case 4028:{vs((f[t>>2]|0)+48|0,0,88-((f[t>>2]|0)+48-(f[t>>2]|0))|0)|0;df(f[a>>2]|0,4028,g)|0;bo(f[o>>2]|0)|0;f[(f[t>>2]|0)+48>>2]=f[(f[t>>2]|0)+8>>2];f[(f[t>>2]|0)+64>>2]=(f[(f[t>>2]|0)+12>>2]|0)/400|0;t=20;break}case 4029:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[u>>2]=y;if(f[u>>2]|0){f[f[u>>2]>>2]=f[(f[t>>2]|0)+12>>2];t=20}else t=21;break}case 4033:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[c>>2]=y;if(f[c>>2]|0)if((f[(f[t>>2]|0)+60>>2]|0)==1002){t=f[a>>2]|0;f[d>>2]=(f[c>>2]|0)+((((f[c>>2]|0)-(f[c>>2]|0)|0)/4|0)<<2);df(t,4033,d)|0;t=20;break e}else{f[f[c>>2]>>2]=f[(f[t>>2]|0)+16+20>>2];t=20;break e}else t=21;break}case 4045:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[b>>2]=y;if(f[b>>2]|0){f[f[b>>2]>>2]=f[(f[t>>2]|0)+40>>2];t=20}else t=21;break}case 4034:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[w>>2]=y;if((f[w>>2]|0)<-32768|(f[w>>2]|0)>32767)t=21;else{f[(f[t>>2]|0)+40>>2]=f[w>>2];t=20}break}case 4039:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[k>>2]=y;if(f[k>>2]|0){f[f[k>>2]>>2]=f[(f[t>>2]|0)+72>>2];t=20}else t=21;break}default:{f[v>>2]=-5;t=20}}}while(0);if((t|0)==20){f[p>>2]=f[v>>2];y=f[p>>2]|0;h=g;return y|0}else if((t|0)==21){f[p>>2]=-1;y=f[p>>2]|0;h=g;return y|0}return 0}function El(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;t=o+4|0;n=o;f[i>>2]=e;if((f[i>>2]|0)<1|(f[i>>2]|0)>2){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}f[n>>2]=ko(a)|0;if(f[n>>2]|0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}else{f[a>>2]=Al(f[a>>2]|0)|0;f[t>>2]=Fn(f[i>>2]|0)|0;n=Al(18220)|0;f[r>>2]=n+(f[a>>2]|0)+(f[t>>2]|0);a=f[r>>2]|0;h=o;return a|0}return 0}function Al(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;t=r+4|0;i=r;f[t>>2]=e;f[i>>2]=4;e=re((((f[t>>2]|0)+(f[i>>2]|0)-1|0)>>>0)/((f[i>>2]|0)>>>0)|0,f[i>>2]|0)|0;h=r;return e|0}function Sl(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;g=y+8|0;v=y;a=y+48|0;o=y+44|0;l=y+40|0;u=y+36|0;c=y+32|0;p=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;d=y+12|0;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;if((!((f[l>>2]|0)!=48e3&(f[l>>2]|0)!=24e3&(f[l>>2]|0)!=16e3&(f[l>>2]|0)!=12e3&(f[l>>2]|0)!=8e3)?!((f[u>>2]|0)!=1&(f[u>>2]|0)!=2):0)?!((f[c>>2]|0)!=2048&(f[c>>2]|0)!=2049&(f[c>>2]|0)!=2051):0){e=f[o>>2]|0;vs(e|0,0,El(f[u>>2]|0)|0)|0;f[k>>2]=ko(d)|0;if(f[k>>2]|0){f[a>>2]=-1;g=f[a>>2]|0;h=y;return g|0}f[d>>2]=Al(f[d>>2]|0)|0;e=Al(18220)|0;f[(f[o>>2]|0)+4>>2]=e;f[f[o>>2]>>2]=(f[(f[o>>2]|0)+4>>2]|0)+(f[d>>2]|0);f[p>>2]=(f[o>>2]|0)+(f[(f[o>>2]|0)+4>>2]|0);f[b>>2]=(f[o>>2]|0)+(f[f[o>>2]>>2]|0);e=f[u>>2]|0;f[(f[o>>2]|0)+100>>2]=e;f[(f[o>>2]|0)+14288>>2]=e;f[(f[o>>2]|0)+132>>2]=f[l>>2];e=Rl()|0;f[(f[o>>2]|0)+168>>2]=e;f[k>>2]=po(f[p>>2]|0,f[(f[o>>2]|0)+168>>2]|0,(f[o>>2]|0)+8|0)|0;if(f[k>>2]|0){f[a>>2]=-3;g=f[a>>2]|0;h=y;return g|0}f[(f[o>>2]|0)+8>>2]=f[u>>2];f[(f[o>>2]|0)+8+4>>2]=f[u>>2];f[(f[o>>2]|0)+8+8>>2]=f[(f[o>>2]|0)+132>>2];f[(f[o>>2]|0)+8+12>>2]=16e3;f[(f[o>>2]|0)+8+16>>2]=8e3;f[(f[o>>2]|0)+8+20>>2]=16e3;f[(f[o>>2]|0)+8+24>>2]=20;f[(f[o>>2]|0)+8+28>>2]=25e3;f[(f[o>>2]|0)+8+32>>2]=0;f[(f[o>>2]|0)+8+36>>2]=9;f[(f[o>>2]|0)+8+40>>2]=0;f[(f[o>>2]|0)+8+44>>2]=0;f[(f[o>>2]|0)+8+48>>2]=0;f[(f[o>>2]|0)+8+64>>2]=0;f[w>>2]=Yn(f[b>>2]|0,f[l>>2]|0,f[u>>2]|0,f[(f[o>>2]|0)+168>>2]|0)|0;if(f[w>>2]|0){f[a>>2]=-3;g=f[a>>2]|0;h=y;return g|0}else{e=f[b>>2]|0;f[v>>2]=0;qn(e,10016,v)|0;v=f[b>>2]|0;f[g>>2]=f[(f[o>>2]|0)+8+36>>2];qn(v,4010,g)|0;f[(f[o>>2]|0)+136>>2]=1;f[(f[o>>2]|0)+140>>2]=1;f[(f[o>>2]|0)+152>>2]=-1e3;g=3e3+(re(f[l>>2]|0,f[u>>2]|0)|0)|0;f[(f[o>>2]|0)+148>>2]=g;f[(f[o>>2]|0)+96>>2]=f[c>>2];f[(f[o>>2]|0)+112>>2]=-1e3;f[(f[o>>2]|0)+116>>2]=-1e3;f[(f[o>>2]|0)+120>>2]=1105;f[(f[o>>2]|0)+108>>2]=-1e3;f[(f[o>>2]|0)+124>>2]=-1e3;f[(f[o>>2]|0)+128>>2]=-1;f[(f[o>>2]|0)+160>>2]=(f[(f[o>>2]|0)+132>>2]|0)/100|0;f[(f[o>>2]|0)+156>>2]=24;f[(f[o>>2]|0)+144>>2]=5e3;f[(f[o>>2]|0)+104>>2]=(f[(f[o>>2]|0)+132>>2]|0)/250|0;n[(f[o>>2]|0)+14292>>1]=16384;s[(f[o>>2]|0)+14300>>2]=1;g=(Ba(60)|0)<<8;f[(f[o>>2]|0)+14296>>2]=g;f[(f[o>>2]|0)+14344>>2]=1;f[(f[o>>2]|0)+14320>>2]=1001;f[(f[o>>2]|0)+14336>>2]=1105;es((f[o>>2]|0)+172|0);f[a>>2]=0;g=f[a>>2]|0;h=y;return g|0}}f[a>>2]=-1;g=f[a>>2]|0;h=y;return g|0}function Rl(){return 0}function Tl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;_=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;g=y+12|0;v=y+8|0;p=y+4|0;d=y;f[_>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[g>>2]=f[_>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;_=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[g>>2]|0)+(_+(f[b>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}e:do{if((f[w>>2]|0)<=-1){if((f[w>>2]|0)==-2){f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[k>>2]|0))break e;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;i=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]+ +s[(f[g>>2]|0)+(i+(f[d>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}}}else{f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break e;i=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]+ +s[(f[g>>2]|0)+(i+(f[w>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}}}while(0);s[v>>2]=1;if((f[k>>2]|0)==-2)s[v>>2]=+s[v>>2]/+(f[k>>2]|0);else s[v>>2]=+s[v>>2]/2;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]*+s[v>>2];f[p>>2]=(f[p>>2]|0)+1}h=y;return}function Ml(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;m=_+40|0;u=_+36|0;c=_+32|0;b=_+28|0;w=_+24|0;k=_+20|0;d=_+16|0;y=_+12|0;g=_+8|0;v=_+4|0;p=_;f[m>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[y>>2]=f[m>>2];f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;m=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;s[(f[u>>2]|0)+(f[v>>2]<<2)>>2]=+(n[(f[y>>2]|0)+(m+(f[w>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}e:do{if((f[k>>2]|0)<=-1){if((f[k>>2]|0)==-2){f[p>>2]=1;while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break e;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;i=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]+ +(n[(f[y>>2]|0)+(i+(f[p>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}f[p>>2]=(f[p>>2]|0)+1}}}else{f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break e;i=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]+ +(n[(f[y>>2]|0)+(i+(f[k>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}}}while(0);s[g>>2]=30517578125e-15;if((f[d>>2]|0)==-2)s[g>>2]=+s[g>>2]/+(f[d>>2]|0);else s[g>>2]=+s[g>>2]/2;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]*+s[g>>2];f[v>>2]=(f[v>>2]|0)+1}h=_;return}function xl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;n=s+16|0;a=s+12|0;t=s+8|0;o=s+4|0;l=s;f[a>>2]=e;f[t>>2]=r;f[o>>2]=i;if((f[a>>2]|0)<((f[o>>2]|0)/400|0|0)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}do{if((f[t>>2]|0)==5e3)f[l>>2]=f[a>>2];else{if((f[t>>2]|0)==5010){f[l>>2]=(f[o>>2]|0)/50|0;break}if(!((f[t>>2]|0)>=5001&(f[t>>2]|0)<=5006)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}i=f[o>>2]|0;if((((f[o>>2]|0)*3|0)/50|0|0)<(((f[o>>2]|0)/400|0)<<(f[t>>2]|0)-5001|0))i=(i*3|0)/50|0;else i=((i|0)/400|0)<<(f[t>>2]|0)-5001;f[l>>2]=i}}while(0);if((f[l>>2]|0)>(f[a>>2]|0)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}if(((((((f[l>>2]|0)*400|0)!=(f[o>>2]|0)?((f[l>>2]|0)*200|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*100|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*50|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*25|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*50|0)!=((f[o>>2]|0)*3|0):0){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}f[n>>2]=f[l>>2];l=f[n>>2]|0;h=s;return l|0}function Ol(e,r,i,t,n,a,o,l,s){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+48|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;k=m+24|0;d=m+20|0;p=m+16|0;v=m+12|0;g=m+8|0;y=m+4|0;_=m;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=s;if((f[w>>2]|0)==5010?(f[b>>2]|0)>=((f[d>>2]|0)/200|0|0):0){f[_>>2]=3;f[_>>2]=Ll(f[c>>2]|0,f[b>>2]|0,f[k>>2]|0,f[d>>2]|0,f[p>>2]|0,0,f[y>>2]|0,f[v>>2]|0,f[g>>2]|0)|0;while(1){if((((f[d>>2]|0)/400|0)<>2]|0)<=(f[b>>2]|0))break;f[_>>2]=(f[_>>2]|0)+-1}f[b>>2]=((f[d>>2]|0)/400|0)<>2]}else f[b>>2]=xl(f[b>>2]|0,f[w>>2]|0,f[d>>2]|0)|0;if((f[b>>2]|0)<0){f[u>>2]=-1;i=f[u>>2]|0;h=m;return i|0}else{f[u>>2]=f[b>>2];i=f[u>>2]|0;h=m;return i|0}return 0}function Ll(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=+a;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0;I=h;h=h+304|0;b=I+296|0;c=I+292|0;w=I+288|0;C=I+284|0;k=I+280|0;d=I+276|0;p=I+272|0;v=I+268|0;g=I+264|0;_=I+260|0;S=I+256|0;E=I+144|0;A=I+36|0;T=I+32|0;m=I+28|0;O=I+24|0;x=I+20|0;M=I+16|0;y=I+12|0;L=I+8|0;P=I+4|0;R=I;f[b>>2]=e;f[c>>2]=r;f[w>>2]=i;f[C>>2]=t;f[k>>2]=n;s[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[g>>2]=u;f[m>>2]=0;f[O>>2]=(f[C>>2]|0)/400|0;e=f[O>>2]|0;f[y>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;s[E>>2]=+s[f[p>>2]>>2];s[A>>2]=1/(+s[f[p>>2]>>2]+1.0000000036274937e-15);if(f[v>>2]|0){f[M>>2]=(f[O>>2]<<1)-(f[v>>2]|0);f[c>>2]=(f[c>>2]|0)-(f[M>>2]|0);s[E+4>>2]=+s[(f[p>>2]|0)+4>>2];s[A+4>>2]=1/(+s[(f[p>>2]|0)+4>>2]+1.0000000036274937e-15);s[E+8>>2]=+s[(f[p>>2]|0)+8>>2];s[A+8>>2]=1/(+s[(f[p>>2]|0)+8>>2]+1.0000000036274937e-15);f[x>>2]=3}else{f[x>>2]=1;f[M>>2]=0}if(((f[c>>2]|0)/(f[O>>2]|0)|0|0)<24)i=(f[c>>2]|0)/(f[O>>2]|0)|0;else i=24;f[_>>2]=i;s[T>>2]=0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[_>>2]|0))break;s[L>>2]=1.0000000036274937e-15;C=re(f[S>>2]|0,f[O>>2]|0)|0;Cs[f[g>>2]&3](f[b>>2]|0,t,f[O>>2]|0,C+(f[M>>2]|0)|0,0,-2,f[w>>2]|0);if(!(f[S>>2]|0))s[T>>2]=+s[t>>2];f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[O>>2]|0))break;s[P>>2]=+s[t+(f[R>>2]<<2)>>2];s[L>>2]=+s[L>>2]+(+s[P>>2]-+s[T>>2])*(+s[P>>2]-+s[T>>2]);s[T>>2]=+s[P>>2];f[R>>2]=(f[R>>2]|0)+1}s[E+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=+s[L>>2];s[A+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=1/+s[L>>2];f[S>>2]=(f[S>>2]|0)+1}s[E+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=+s[E+((f[S>>2]|0)+(f[x>>2]|0)-1<<2)>>2];if(f[v>>2]|0)f[_>>2]=24<((f[_>>2]|0)+2|0)?24:(f[_>>2]|0)+2|0;f[m>>2]=Pl(E,A,f[_>>2]|0,~~((+s[d>>2]*.5+1)*+(((f[w>>2]|0)*60|0)+40|0)),(f[k>>2]|0)/400|0)|0;s[f[p>>2]>>2]=+s[E+(1<>2]<<2)>>2];if(!(f[v>>2]|0)){C=f[m>>2]|0;P=f[y>>2]|0;de(P|0);h=I;return C|0}s[(f[p>>2]|0)+4>>2]=+s[E+((1<>2])+1<<2)>>2];s[(f[p>>2]|0)+8>>2]=+s[E+((1<>2])+2<<2)>>2];C=f[m>>2]|0;P=f[y>>2]|0;de(P|0);h=I;return C|0}function Pl(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;S=h;h=h+3136|0;o=S+3124|0;l=S+3120|0;u=S+3116|0;c=S+3112|0;b=S+3108|0;E=S+3104|0;k=S+1568|0;A=S+32|0;w=S+28|0;m=S+24|0;p=S+20|0;v=S+16|0;g=S+12|0;y=S+8|0;d=S+4|0;_=S;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;do{if((f[b>>2]|0)>=80)if((f[b>>2]|0)>160){s[p>>2]=1;break}else{s[p>>2]=(+(f[b>>2]|0)-80)/80;break}else s[p>>2]=0}while(0);f[E>>2]=0;while(1){if((f[E>>2]|0)>=16)break;f[A+(f[E>>2]<<2)>>2]=-1;s[k+(f[E>>2]<<2)>>2]=1e10;f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;R=+((f[c>>2]|0)+(re(f[b>>2]|0,1<>2])|0)|0);a=+s[p>>2];a=R*(a*+Il(f[o>>2]|0,f[l>>2]|0,f[E>>2]|0,(f[u>>2]|0)+1|0)+1);s[k+(1<>2]<<2)>>2]=a;f[A+(1<>2]<<2)>>2]=f[E>>2];f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[u>>2]|0))break;f[v>>2]=2;while(1){if((f[v>>2]|0)>=16)break;s[k+(f[E>>2]<<6)+(f[v>>2]<<2)>>2]=+s[k+((f[E>>2]|0)-1<<6)+((f[v>>2]|0)-1<<2)>>2];f[A+(f[E>>2]<<6)+(f[v>>2]<<2)>>2]=(f[v>>2]|0)-1;f[v>>2]=(f[v>>2]|0)+1}f[v>>2]=0;while(1){if((f[v>>2]|0)>=4)break;f[A+(f[E>>2]<<6)+(1<>2]<<2)>>2]=1;s[y>>2]=+s[k+((f[E>>2]|0)-1<<6)+4>>2];f[g>>2]=1;while(1){if((f[g>>2]|0)>=4)break;s[_>>2]=+s[k+((f[E>>2]|0)-1<<6)+((1<<(f[g>>2]|0)+1)-1<<2)>>2];if(+s[_>>2]<+s[y>>2]){f[A+(f[E>>2]<<6)+(1<>2]<<2)>>2]=(1<<(f[g>>2]|0)+1)-1;s[y>>2]=+s[_>>2]}f[g>>2]=(f[g>>2]|0)+1}R=+((f[c>>2]|0)+(re(f[b>>2]|0,1<>2])|0)|0);a=+s[p>>2];s[d>>2]=R*(a*+Il((f[o>>2]|0)+(f[E>>2]<<2)|0,(f[l>>2]|0)+(f[E>>2]<<2)|0,f[v>>2]|0,(f[u>>2]|0)-(f[E>>2]|0)+1|0)+1);s[k+(f[E>>2]<<6)+(1<>2]<<2)>>2]=+s[y>>2];a=+s[d>>2];if(((f[u>>2]|0)-(f[E>>2]|0)|0)<(1<>2]|0)){n=k+(f[E>>2]<<6)+(1<>2]<<2)|0;s[n>>2]=+s[n>>2]+a*+((f[u>>2]|0)-(f[E>>2]|0)|0)/+(1<>2]|0)}else{n=k+(f[E>>2]<<6)+(1<>2]<<2)|0;s[n>>2]=+s[n>>2]+a}f[v>>2]=(f[v>>2]|0)+1}f[E>>2]=(f[E>>2]|0)+1}f[m>>2]=1;s[w>>2]=+s[k+((f[u>>2]|0)-1<<6)+4>>2];f[E>>2]=2;while(1){if((f[E>>2]|0)>=16)break;if(+s[k+((f[u>>2]|0)-1<<6)+(f[E>>2]<<2)>>2]<+s[w>>2]){s[w>>2]=+s[k+((f[u>>2]|0)-1<<6)+(f[E>>2]<<2)>>2];f[m>>2]=f[E>>2]}f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=(f[u>>2]|0)-1;while(1){e=f[m>>2]|0;if((f[E>>2]|0)<0)break;f[m>>2]=f[A+(f[E>>2]<<6)+(e<<2)>>2];f[E>>2]=(f[E>>2]|0)+-1}h=S;return e|0}function Il(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;l=p+32|0;u=p+28|0;a=p+24|0;o=p+20|0;b=p+16|0;c=p+12|0;w=p+8|0;k=p+4|0;d=p;f[l>>2]=e;f[u>>2]=r;f[a>>2]=i;f[o>>2]=t;s[w>>2]=0;s[k>>2]=0;if((f[o>>2]|0)<((1<>2])+1|0))a=f[o>>2]|0;else a=(1<>2])+1|0;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[w>>2]=+s[w>>2]+ +s[(f[l>>2]|0)+(f[b>>2]<<2)>>2];s[k>>2]=+s[k>>2]+ +s[(f[u>>2]|0)+(f[b>>2]<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}s[d>>2]=+s[w>>2]*+s[k>>2]/+(re(f[c>>2]|0,f[c>>2]|0)|0);if(0>(+s[d>>2]-2)*.05000000074505806)n=0;else n=(+s[d>>2]-2)*.05000000074505806;if(1<+H(+n)){n=1;h=p;return+n}if(0>(+s[d>>2]-2)*.05000000074505806)n=0;else n=(+s[d>>2]-2)*.05000000074505806;n=+H(+n);h=p;return+n}function Cl(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;x=h;h=h+96|0;a=x+84|0;o=x+80|0;O=x+76|0;M=x+72|0;y=x+68|0;_=x+64|0;R=x+60|0;d=x+56|0;p=x+52|0;g=x+48|0;A=x+44|0;S=x+40|0;m=x+36|0;E=x+32|0;T=x+28|0;l=x+24|0;w=x+20|0;u=x+16|0;c=x+12|0;b=x+8|0;k=x+4|0;v=x;f[a>>2]=e;f[o>>2]=r;f[O>>2]=i;f[M>>2]=t;f[T>>2]=(f[O>>2]|0)/(f[o>>2]|0)|0;s[w>>2]=1-25/+((50>(f[T>>2]|0)?50:f[T>>2]|0)|0);s[g>>2]=0;s[p>>2]=0;s[d>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=0;s[c>>2]=0;s[b>>2]=0;s[k>>2]=+s[(f[a>>2]|0)+(f[l>>2]<<1<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+1<<2)>>2];s[u>>2]=+s[k>>2]*+s[k>>2];s[c>>2]=+s[k>>2]*+s[v>>2];s[b>>2]=+s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+2<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+3<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+4<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+5<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+6<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+7<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[d>>2]=+s[d>>2]+ +s[u>>2];s[p>>2]=+s[p>>2]+ +s[c>>2];s[g>>2]=+s[g>>2]+ +s[b>>2];f[l>>2]=(f[l>>2]|0)+4}O=f[M>>2]|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[d>>2]-+s[f[M>>2]>>2]);O=(f[M>>2]|0)+4|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[p>>2]-+s[(f[M>>2]|0)+4>>2]);O=(f[M>>2]|0)+8|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[g>>2]-+s[(f[M>>2]|0)+8>>2]);if(0>+s[f[M>>2]>>2])n=0;else n=+s[f[M>>2]>>2];s[f[M>>2]>>2]=n;if(0>+s[(f[M>>2]|0)+4>>2])n=0;else n=+s[(f[M>>2]|0)+4>>2];s[(f[M>>2]|0)+4>>2]=n;if(0>+s[(f[M>>2]|0)+8>>2])n=0;else n=+s[(f[M>>2]|0)+8>>2];s[(f[M>>2]|0)+8>>2]=n;a=f[M>>2]|0;if(+s[f[M>>2]>>2]>+s[(f[M>>2]|0)+8>>2])n=+s[a>>2];else n=+s[a+8>>2];if(n>.0007999999797903001){s[A>>2]=+H(+ +s[f[M>>2]>>2]);s[S>>2]=+H(+ +s[(f[M>>2]|0)+8>>2]);s[m>>2]=+H(+ +s[A>>2]);s[E>>2]=+H(+ +s[S>>2]);if(+s[(f[M>>2]|0)+4>>2]<+s[A>>2]*+s[S>>2])n=+s[(f[M>>2]|0)+4>>2];else n=+s[A>>2]*+s[S>>2];s[(f[M>>2]|0)+4>>2]=n;s[y>>2]=+s[(f[M>>2]|0)+4>>2]/(+s[A>>2]*+s[S>>2]+1.0000000036274937e-15);n=+Y(+(+s[m>>2]-+s[E>>2]))*1;s[_>>2]=n/(+s[m>>2]+1.0000000036274937e-15+ +s[E>>2]);n=+H(+(1-+s[y>>2]*+s[y>>2]));s[R>>2]=n*+s[_>>2];a=(f[M>>2]|0)+12|0;s[a>>2]=+s[a>>2]+(+s[R>>2]-+s[(f[M>>2]|0)+12>>2])/+(f[T>>2]|0);a=f[M>>2]|0;if(+s[(f[M>>2]|0)+16>>2]-.019999999552965164/+(f[T>>2]|0)>+s[(f[M>>2]|0)+12>>2])n=+s[a+16>>2]-.019999999552965164/+(f[T>>2]|0);else n=+s[a+12>>2];s[(f[M>>2]|0)+16>>2]=n}else{s[R>>2]=0;s[y>>2]=1;s[_>>2]=0}if(1<+s[(f[M>>2]|0)+16>>2]*20){n=1;h=x;return+n}n=+s[(f[M>>2]|0)+16>>2]*20;h=x;return+n}function Ul(e,r,i,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,We=0,Ze=0,Ve=0,Je=0,Ge=0,Ke=0,$e=0,er=0,rr=0,ir=0,fr=0,ar=0,or=0,lr=0,sr=0,ur=0,hr=0,cr=0,br=0,wr=0,kr=0,dr=0,pr=0,vr=0,gr=0,yr=0,_r=0,mr=0,Er=0,Ar=0,Sr=0,Rr=0,Tr=0,Mr=0,xr=0,Or=0,Lr=0,Pr=0,Ir=0,Cr=0,Ur=0,Br=0,jr=0,Dr=0,Nr=0,Fr=0,zr=0,Yr=0,Hr=0,qr=0,Wr=0,Zr=0;Zr=h;h=h+1072|0;Pr=Zr+168|0;Lr=Zr+160|0;Or=Zr+152|0;xr=Zr+144|0;Mr=Zr+136|0;Tr=Zr+128|0;Rr=Zr+120|0;Sr=Zr+112|0;Ar=Zr+104|0;Er=Zr+96|0;mr=Zr+88|0;_r=Zr+80|0;Ve=Zr+72|0;Ze=Zr+64|0;We=Zr+56|0;He=Zr+48|0;Ye=Zr+40|0;ze=Zr+32|0;Fe=Zr+24|0;Ne=Zr+16|0;Z=Zr+8|0;m=Zr;Hr=Zr+1048|0;qr=Zr+1044|0;ve=Zr+1040|0;Ur=Zr+1036|0;Wr=Zr+1032|0;Q=Zr+1028|0;ee=Zr+1024|0;y=Zr+1020|0;_=Zr+1016|0;ie=Zr+1012|0;K=Zr+1008|0;X=Zr+1004|0;$=Zr+1e3|0;ge=Zr+996|0;Pe=Zr+992|0;hr=Zr+988|0;Ke=Zr+984|0;Yr=Zr+980|0;De=Zr+976|0;Br=Zr+928|0;Je=Zr+920|0;Oe=Zr+916|0;yr=Zr+912|0;Dr=Zr+908|0;Nr=Zr+904|0;cr=Zr+900|0;vr=Zr+896|0;Fr=Zr+892|0;gr=Zr+888|0;J=Zr+884|0;V=Zr+880|0;B=Zr+876|0;er=Zr+872|0;A=Zr+868|0;xe=Zr+864|0;Te=Zr+860|0;br=Zr+856|0;$e=Zr+852|0;jr=Zr+848|0;rr=Zr+844|0;L=Zr+840|0;ir=Zr+836|0;ur=Zr+808|0;q=Zr+804|0;W=Zr+800|0;E=Zr+796|0;T=Zr+792|0;S=Zr+788|0;R=Zr+784|0;M=Zr+780|0;O=Zr+776|0;x=Zr+772|0;P=Zr+768|0;I=Zr+680|0;U=Zr+676|0;C=Zr+672|0;D=Zr+640|0;j=Zr+632|0;N=Zr+628|0;Y=Zr+624|0;F=Zr+620|0;H=Zr+616|0;be=Zr+612|0;se=Zr+608|0;oe=Zr+604|0;le=Zr+600|0;ue=Zr+596|0;te=Zr+592|0;we=Zr+588|0;fe=Zr+584|0;ke=Zr+284|0;ne=Zr+280|0;zr=Zr+276|0;Cr=Zr+272|0;G=Zr+268|0;pe=Zr+264|0;ce=Zr+260|0;Ce=Zr+256|0;ae=Zr+252|0;Ee=Zr+248|0;Ae=Zr+244|0;Re=Zr+240|0;ye=Zr+236|0;_e=Zr+232|0;Se=Zr+1052|0;me=Zr+228|0;Me=Zr+224|0;Ie=Zr+220|0;Le=Zr+216|0;je=Zr+212|0;Be=Zr+208|0;Ge=Zr+204|0;Ue=Zr+200|0;fr=Zr+196|0;ar=Zr+192|0;or=Zr+188|0;dr=Zr+184|0;wr=Zr+1056|0;pr=Zr+180|0;kr=Zr+1054|0;lr=Zr+176|0;sr=Zr+172|0;f[qr>>2]=e;f[ve>>2]=r;f[Ur>>2]=i;f[Wr>>2]=o;f[Q>>2]=l;f[ee>>2]=u;f[y>>2]=c;f[_>>2]=b;f[ie>>2]=w;f[K>>2]=k;f[X>>2]=d;f[$>>2]=p;f[ge>>2]=v;f[Yr>>2]=0;f[Oe>>2]=0;f[yr>>2]=0;f[Dr>>2]=0;f[Nr>>2]=0;f[cr>>2]=0;f[Fr>>2]=0;f[gr>>2]=0;f[q>>2]=-1;f[W>>2]=-1;f[jr>>2]=1276<(f[Q>>2]|0)?1276:f[Q>>2]|0;f[(f[qr>>2]|0)+18216>>2]=0;if(!((((((!(f[(f[qr>>2]|0)+144>>2]|0)?((f[Ur>>2]|0)*400|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*200|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*100|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*50|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*25|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*50|0)!=((f[(f[qr>>2]|0)+132>>2]|0)*3|0):0))Ir=8;if((Ir|0)==8?!((f[jr>>2]|0)<=0?1:((f[Ur>>2]|0)*400|0)<(f[(f[qr>>2]|0)+132>>2]|0)):0){f[Pe>>2]=(f[qr>>2]|0)+(f[(f[qr>>2]|0)+4>>2]|0);f[hr>>2]=(f[qr>>2]|0)+(f[f[qr>>2]>>2]|0);if((f[(f[qr>>2]|0)+96>>2]|0)==2051)f[A>>2]=0;else f[A>>2]=f[(f[qr>>2]|0)+104>>2];if((f[ee>>2]|0)<(f[(f[qr>>2]|0)+156>>2]|0))d=f[ee>>2]|0;else d=f[(f[qr>>2]|0)+156>>2]|0;f[ee>>2]=d;e=f[hr>>2]|0;f[m>>2]=ir+(((ir-ir|0)/4|0)<<2);qn(e,10015,m)|0;f[ur>>2]=0;if((f[(f[qr>>2]|0)+8+36>>2]|0)>=7?(f[(f[qr>>2]|0)+132>>2]|0)==48e3:0){f[q>>2]=f[(f[qr>>2]|0)+172+8508>>2];f[W>>2]=f[(f[qr>>2]|0)+172+8512>>2];ns((f[qr>>2]|0)+172|0,f[ir>>2]|0,f[y>>2]|0,f[_>>2]|0,f[Ur>>2]|0,f[ie>>2]|0,f[K>>2]|0,f[X>>2]|0,f[(f[qr>>2]|0)+132>>2]|0,f[ee>>2]|0,f[$>>2]|0,ur)}f[(f[qr>>2]|0)+128>>2]=-1;f[(f[qr>>2]|0)+18212>>2]=0;do{if(f[ur>>2]|0){if((f[(f[qr>>2]|0)+112>>2]|0)==-1e3){m=~~+z(+((1-+s[ur+20>>2])*100+.5));f[(f[qr>>2]|0)+128>>2]=m}f[E>>2]=f[ur+24>>2];if((f[E>>2]|0)<=12){f[(f[qr>>2]|0)+18212>>2]=1101;break}if((f[E>>2]|0)<=14){f[(f[qr>>2]|0)+18212>>2]=1102;break}if((f[E>>2]|0)<=16){f[(f[qr>>2]|0)+18212>>2]=1103;break}d=(f[qr>>2]|0)+18212|0;if((f[E>>2]|0)<=18){f[d>>2]=1104;break}else{f[d>>2]=1105;break}}}while(0);if((f[(f[qr>>2]|0)+100>>2]|0)==2?(f[(f[qr>>2]|0)+108>>2]|0)!=1:0)s[L>>2]=+Cl(f[ve>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+132>>2]|0,(f[qr>>2]|0)+14352|0);else s[L>>2]=0;f[rr>>2]=f[A>>2];A=Bl(f[qr>>2]|0,f[Ur>>2]|0,f[jr>>2]|0)|0;f[(f[qr>>2]|0)+148>>2]=A;f[xe>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0;do{if((f[jr>>2]|0)>=3?(f[(f[qr>>2]|0)+148>>2]|0)>=((f[xe>>2]|0)*3<<3|0):0){if((f[xe>>2]|0)<50){if((re(f[jr>>2]|0,f[xe>>2]|0)|0)<300)break;if((f[(f[qr>>2]|0)+148>>2]|0)<2400)break}if(!(f[(f[qr>>2]|0)+136>>2]|0)){if((((f[(f[qr>>2]|0)+148>>2]|0)+(f[xe>>2]<<2)|0)/(f[xe>>2]<<3|0)|0|0)<(f[jr>>2]|0))d=((f[(f[qr>>2]|0)+148>>2]|0)+(f[xe>>2]<<2)|0)/(f[xe>>2]<<3|0)|0;else d=f[jr>>2]|0;f[R>>2]=d;T=re(f[R>>2]|0,f[xe>>2]<<3)|0;f[(f[qr>>2]|0)+148>>2]=T;f[jr>>2]=f[R>>2]}f[Te>>2]=(re(f[xe>>2]|0,f[jr>>2]|0)|0)<<3;f[er>>2]=(f[(f[qr>>2]|0)+148>>2]|0)-(re(((f[(f[qr>>2]|0)+100>>2]|0)*40|0)+20|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0);do{if((f[(f[qr>>2]|0)+112>>2]|0)!=3001){if((f[(f[qr>>2]|0)+112>>2]|0)==3002){f[B>>2]=0;break}d=f[qr>>2]|0;if((f[(f[qr>>2]|0)+128>>2]|0)>=0){f[B>>2]=(f[d+128>>2]|0)*327>>8;if((f[(f[qr>>2]|0)+96>>2]|0)!=2049)break;f[B>>2]=(f[B>>2]|0)<115?f[B>>2]|0:115;break}if((f[d+96>>2]|0)==2048){f[B>>2]=115;break}else{f[B>>2]=48;break}}else f[B>>2]=127}while(0);if((f[(f[qr>>2]|0)+108>>2]|0)!=-1e3?(f[(f[qr>>2]|0)+100>>2]|0)==2:0)f[(f[qr>>2]|0)+14288>>2]=f[(f[qr>>2]|0)+108>>2];else Ir=73;do{if((Ir|0)==73){if((f[(f[qr>>2]|0)+100>>2]|0)!=2){f[(f[qr>>2]|0)+14288>>2]=f[(f[qr>>2]|0)+100>>2];break}f[M>>2]=3e4;d=f[M>>2]|0;if((f[(f[qr>>2]|0)+14288>>2]|0)==2)f[M>>2]=d-1e3;else f[M>>2]=d+1e3;f[(f[qr>>2]|0)+14288>>2]=(f[er>>2]|0)>(f[M>>2]|0)?2:1}}while(0);f[er>>2]=(f[(f[qr>>2]|0)+148>>2]|0)-(re(((f[(f[qr>>2]|0)+14288>>2]|0)*40|0)+20|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0);d=f[qr>>2]|0;do{if((f[(f[qr>>2]|0)+96>>2]|0)==2051)f[d+14320>>2]=1002;else{if((f[d+124>>2]|0)!=-1e3){f[(f[qr>>2]|0)+14320>>2]=f[(f[qr>>2]|0)+124>>2];break}f[O>>2]=~~((1-+s[L>>2])*+(f[4508]|0)+ +s[L>>2]*+(f[4510]|0));f[x>>2]=~~((1-+s[L>>2])*+(f[4511]|0)+ +s[L>>2]*+(f[4511]|0));L=re(f[B>>2]|0,f[B>>2]|0)|0;f[P>>2]=(f[x>>2]|0)+((re(L,(f[O>>2]|0)-(f[x>>2]|0)|0)|0)>>14);if((f[(f[qr>>2]|0)+96>>2]|0)==2048)f[P>>2]=(f[P>>2]|0)+8e3;do{if((f[(f[qr>>2]|0)+14324>>2]|0)==1002)f[P>>2]=(f[P>>2]|0)-4e3;else{if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;f[P>>2]=(f[P>>2]|0)+4e3}}while(0);f[(f[qr>>2]|0)+14320>>2]=(f[er>>2]|0)>=(f[P>>2]|0)?1002:1e3;do{if(f[(f[qr>>2]|0)+8+40>>2]|0){if((f[(f[qr>>2]|0)+8+32>>2]|0)<=(128-(f[B>>2]|0)>>4|0))break;f[(f[qr>>2]|0)+14320>>2]=1e3}}while(0);if(!((f[B>>2]|0)>100?(f[(f[qr>>2]|0)+8+44>>2]|0)!=0:0))break;f[(f[qr>>2]|0)+14320>>2]=1e3}}while(0);if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[Ur>>2]|0)<((f[(f[qr>>2]|0)+132>>2]|0)/100|0|0):0)f[(f[qr>>2]|0)+14320>>2]=1002;if(f[(f[qr>>2]|0)+164>>2]|0)f[(f[qr>>2]|0)+14320>>2]=1002;P=re((f[xe>>2]|0)>50?12e3:8e3,f[Ur>>2]|0)|0;if((f[jr>>2]|0)<((P|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0|0))f[(f[qr>>2]|0)+14320>>2]=1002;do{if((f[(f[qr>>2]|0)+14288>>2]|0)==1){if((f[(f[qr>>2]|0)+14328>>2]|0)!=2){Ir=107;break}if(f[(f[qr>>2]|0)+8+56>>2]|0){Ir=107;break}if((f[(f[qr>>2]|0)+14320>>2]|0)==1002){Ir=107;break}if((f[(f[qr>>2]|0)+14324>>2]|0)==1002){Ir=107;break}f[(f[qr>>2]|0)+8+56>>2]=1;f[(f[qr>>2]|0)+14288>>2]=2}else Ir=107}while(0);if((Ir|0)==107)f[(f[qr>>2]|0)+8+56>>2]=0;do{if((f[(f[qr>>2]|0)+14324>>2]|0)>0){if(!((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[(f[qr>>2]|0)+14324>>2]|0)==1002:0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)break;if((f[(f[qr>>2]|0)+14324>>2]|0)==1002)break}f[Dr>>2]=1;f[cr>>2]=(f[(f[qr>>2]|0)+14320>>2]|0)!=1002&1;if(f[cr>>2]|0)break;if((f[Ur>>2]|0)>=((f[(f[qr>>2]|0)+132>>2]|0)/100|0|0)){f[(f[qr>>2]|0)+14320>>2]=f[(f[qr>>2]|0)+14324>>2];f[Fr>>2]=1;break}else{f[Dr>>2]=0;break}}}while(0);if(f[(f[qr>>2]|0)+14340>>2]|0){f[Dr>>2]=1;f[cr>>2]=1;f[(f[qr>>2]|0)+14340>>2]=0;f[Oe>>2]=1}do{if(f[Dr>>2]|0){P=re(f[jr>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0;if(257<((P|0)/((f[Ur>>2]|0)+((f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0)|0|0))d=257;else{d=re(f[jr>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0;d=(d|0)/((f[Ur>>2]|0)+((f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0)|0}f[Nr>>2]=d;if(!(f[(f[qr>>2]|0)+136>>2]|0))break;if((f[Nr>>2]|0)<((f[(f[qr>>2]|0)+148>>2]|0)/1600|0|0))d=f[Nr>>2]|0;else d=(f[(f[qr>>2]|0)+148>>2]|0)/1600|0;f[Nr>>2]=d}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){if((f[(f[qr>>2]|0)+14324>>2]|0)!=1002)break;po(f[Pe>>2]|0,f[(f[qr>>2]|0)+168>>2]|0,I)|0;f[Oe>>2]=1}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){if(f[(f[qr>>2]|0)+14344>>2]|0){Ir=133;break}if(f[(f[qr>>2]|0)+8+72>>2]|0)Ir=133}else Ir=133}while(0);do{if((Ir|0)==133){f[j>>2]=1105;f[N>>2]=f[er>>2];do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){f[N>>2]=(re(f[N>>2]|0,45+(f[(f[qr>>2]|0)+8+36>>2]|0)|0)|0)/50|0;if(f[(f[qr>>2]|0)+136>>2]|0)break;f[N>>2]=(f[N>>2]|0)-1e3}}while(0);do{if((f[(f[qr>>2]|0)+100>>2]|0)==2){if((f[(f[qr>>2]|0)+108>>2]|0)==1){Ir=139;break}f[U>>2]=18048;f[C>>2]=18080}else Ir=139}while(0);if((Ir|0)==139){f[U>>2]=18112;f[C>>2]=18144}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=8)break;I=re(f[B>>2]|0,f[B>>2]|0)|0;I=(f[(f[C>>2]|0)+(f[Ke>>2]<<2)>>2]|0)+((re(I,(f[(f[U>>2]|0)+(f[Ke>>2]<<2)>>2]|0)-(f[(f[C>>2]|0)+(f[Ke>>2]<<2)>>2]|0)|0)|0)>>14)|0;f[D+(f[Ke>>2]<<2)>>2]=I;f[Ke>>2]=(f[Ke>>2]|0)+1}do{f[Y>>2]=f[D+((f[j>>2]|0)-1102<<1<<2)>>2];f[F>>2]=f[D+(((f[j>>2]|0)-1102<<1)+1<<2)>>2];do{if(!(f[(f[qr>>2]|0)+14344>>2]|0)){d=f[F>>2]|0;c=f[Y>>2]|0;if((f[(f[qr>>2]|0)+14336>>2]|0)>=(f[j>>2]|0)){f[Y>>2]=c-d;break}else{f[Y>>2]=c+d;break}}}while(0);if((f[N>>2]|0)>=(f[Y>>2]|0))break;B=(f[j>>2]|0)+-1|0;f[j>>2]=B}while((B|0)>1101);f[(f[qr>>2]|0)+14336>>2]=f[j>>2];if(f[(f[qr>>2]|0)+14344>>2]|0)break;if((f[(f[qr>>2]|0)+14320>>2]|0)==1002)break;if(f[(f[qr>>2]|0)+8+76>>2]|0)break;if((f[(f[qr>>2]|0)+14336>>2]|0)<=1103)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);if((f[(f[qr>>2]|0)+14336>>2]|0)>(f[(f[qr>>2]|0)+120>>2]|0))f[(f[qr>>2]|0)+14336>>2]=f[(f[qr>>2]|0)+120>>2];if((f[(f[qr>>2]|0)+116>>2]|0)!=-1e3)f[(f[qr>>2]|0)+14336>>2]=f[(f[qr>>2]|0)+116>>2];if((f[Te>>2]|0)<15e3?(f[(f[qr>>2]|0)+14320>>2]|0)!=1002:0){if((f[(f[qr>>2]|0)+14336>>2]|0)<1103)d=f[(f[qr>>2]|0)+14336>>2]|0;else d=1103;f[(f[qr>>2]|0)+14336>>2]=d}do{if((f[(f[qr>>2]|0)+132>>2]|0)<=24e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1104)break;f[(f[qr>>2]|0)+14336>>2]=1104}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=16e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1103)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=12e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1102)break;f[(f[qr>>2]|0)+14336>>2]=1102}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=8e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1101)break;f[(f[qr>>2]|0)+14336>>2]=1101}}while(0);do{if(f[(f[qr>>2]|0)+18212>>2]|0){if((f[(f[qr>>2]|0)+116>>2]|0)!=-1e3)break;do{if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*18e3|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){Ir=179;break}f[H>>2]=1101}else Ir=179}while(0);e:do{if((Ir|0)==179){do{if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*24e3|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)break;f[H>>2]=1102;break e}}while(0);if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*3e4|0)){f[H>>2]=1103;break}if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*44e3|0)){f[H>>2]=1104;break}else{f[H>>2]=1105;break}}}while(0);if((f[(f[qr>>2]|0)+18212>>2]|0)>(f[H>>2]|0))d=f[(f[qr>>2]|0)+18212>>2]|0;else d=f[H>>2]|0;f[(f[qr>>2]|0)+18212>>2]=d;d=f[qr>>2]|0;if((f[(f[qr>>2]|0)+14336>>2]|0)<(f[(f[qr>>2]|0)+18212>>2]|0))d=f[d+14336>>2]|0;else d=f[d+18212>>2]|0;f[(f[qr>>2]|0)+14336>>2]=d}}while(0);H=f[hr>>2]|0;f[Z>>2]=f[ee>>2];qn(H,4036,Z)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1002){if((f[(f[qr>>2]|0)+14336>>2]|0)!=1102)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);if(f[(f[qr>>2]|0)+164>>2]|0)f[(f[qr>>2]|0)+14336>>2]=1101;do{if((f[Ur>>2]|0)>((f[(f[qr>>2]|0)+132>>2]|0)/50|0|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[(f[qr>>2]|0)+14336>>2]|0)<=1103:0)break;if((f[q>>2]|0)!=-1){f[(f[qr>>2]|0)+172+8508>>2]=f[q>>2];f[(f[qr>>2]|0)+172+8512>>2]=f[W>>2]}f[be>>2]=(f[Ur>>2]|0)>((f[(f[qr>>2]|0)+132>>2]|0)/25|0|0)?3:2;if(1276<(((f[Q>>2]|0)-3|0)/(f[be>>2]|0)|0|0))d=1276;else d=((f[Q>>2]|0)-3|0)/(f[be>>2]|0)|0;f[te>>2]=d;d=re(f[be>>2]|0,f[te>>2]|0)|0;f[fe>>2]=he()|0;c=h;h=h+((1*d|0)+15&-16)|0;Gl(ke)|0;f[se>>2]=f[(f[qr>>2]|0)+124>>2];f[oe>>2]=f[(f[qr>>2]|0)+116>>2];f[le>>2]=f[(f[qr>>2]|0)+108>>2];f[(f[qr>>2]|0)+124>>2]=f[(f[qr>>2]|0)+14320>>2];f[(f[qr>>2]|0)+116>>2]=f[(f[qr>>2]|0)+14336>>2];f[(f[qr>>2]|0)+108>>2]=f[(f[qr>>2]|0)+14288>>2];f[ue>>2]=f[(f[qr>>2]|0)+8+56>>2];d=f[qr>>2]|0;if(f[ue>>2]|0)f[d+108>>2]=1;else f[(f[qr>>2]|0)+14328>>2]=f[d+14288>>2];f[Ke>>2]=0;while(1){d=f[qr>>2]|0;if((f[Ke>>2]|0)>=(f[be>>2]|0)){Ir=219;break}f[d+8+56>>2]=0;do{if(f[Fr>>2]|0){if((f[Ke>>2]|0)!=((f[be>>2]|0)-1|0))break;f[(f[qr>>2]|0)+124>>2]=1002}}while(0);Dr=(f[ve>>2]|0)+((re(f[Ke>>2]|0,(re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/50|0)|0)<<2)|0;Nr=c+(re(f[Ke>>2]|0,f[te>>2]|0)|0)|0;f[ne>>2]=Ul(f[qr>>2]|0,Dr,(f[(f[qr>>2]|0)+132>>2]|0)/50|0,Nr,f[te>>2]|0,f[ee>>2]|0,0,0,f[ie>>2]|0,f[K>>2]|0,f[X>>2]|0,f[$>>2]|0,f[ge>>2]|0)|0;if((f[ne>>2]|0)<0){Ir=215;break}Nr=c+(re(f[Ke>>2]|0,f[te>>2]|0)|0)|0;f[Yr>>2]=Kl(ke,Nr,f[ne>>2]|0)|0;if((f[Yr>>2]|0)<0){Ir=217;break}f[Ke>>2]=(f[Ke>>2]|0)+1}do{if((Ir|0)==215){f[Hr>>2]=-3;f[zr>>2]=1}else if((Ir|0)==217){f[Hr>>2]=-3;f[zr>>2]=1}else if((Ir|0)==219){if(f[d+136>>2]|0)f[we>>2]=f[Q>>2];else{if((((f[(f[qr>>2]|0)+148>>2]|0)*3|0)/(1200/(f[be>>2]|0)|0|0)|0|0)<(f[Q>>2]|0))d=((f[(f[qr>>2]|0)+148>>2]|0)*3|0)/(1200/(f[be>>2]|0)|0|0)|0;else d=f[Q>>2]|0;f[we>>2]=d}f[Yr>>2]=$l(ke,0,f[be>>2]|0,f[Wr>>2]|0,f[we>>2]|0,0,((f[(f[qr>>2]|0)+136>>2]|0)!=0^1)&1)|0;if((f[Yr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break}else{f[(f[qr>>2]|0)+124>>2]=f[se>>2];f[(f[qr>>2]|0)+116>>2]=f[oe>>2];f[(f[qr>>2]|0)+108>>2]=f[le>>2];f[(f[qr>>2]|0)+8+56>>2]=f[ue>>2];f[Hr>>2]=f[Yr>>2];f[zr>>2]=1;break}}}while(0);de(f[fe>>2]|0);Wr=f[Hr>>2]|0;h=Zr;return Wr|0}}while(0);f[br>>2]=f[(f[qr>>2]|0)+14336>>2];if((f[br>>2]|0)>1103?(f[(f[qr>>2]|0)+14320>>2]|0)==1e3:0)f[(f[qr>>2]|0)+14320>>2]=1001;if((f[br>>2]|0)<=1103?(f[(f[qr>>2]|0)+14320>>2]|0)==1001:0)f[(f[qr>>2]|0)+14320>>2]=1e3;ke=re(f[(f[qr>>2]|0)+148>>2]|0,f[Ur>>2]|0)|0;if(((f[jr>>2]|0)-(f[Nr>>2]|0)|0)<((ke|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0|0))d=(f[jr>>2]|0)-(f[Nr>>2]|0)|0;else{d=re(f[(f[qr>>2]|0)+148>>2]|0,f[Ur>>2]|0)|0;d=(d|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0}f[Je>>2]=d-1;f[Wr>>2]=(f[Wr>>2]|0)+1;qe(Br,f[Wr>>2]|0,(f[jr>>2]|0)-1|0);we=re((f[rr>>2]|0)+(f[Ur>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;f[Cr>>2]=he()|0;b=h;h=h+((1*(we<<2)|0)+15&-16)|0;we=re((f[(f[qr>>2]|0)+160>>2]|0)-(f[rr>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;ke=(re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs(b|0,(f[qr>>2]|0)+14372+(we<<2)|0,ke+0|0)|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1002)f[V>>2]=(Ba(60)|0)<<8;else f[V>>2]=f[(f[Pe>>2]|0)+8>>2];f[(f[qr>>2]|0)+14296>>2]=(f[(f[qr>>2]|0)+14296>>2]|0)+((((f[V>>2]|0)-(f[(f[qr>>2]|0)+14296>>2]|0)>>16)*983|0)+(((f[V>>2]|0)-(f[(f[qr>>2]|0)+14296>>2]|0)&65535)*983>>16));f[J>>2]=Fa(f[(f[qr>>2]|0)+14296>>2]>>8)|0;d=f[ve>>2]|0;if((f[(f[qr>>2]|0)+96>>2]|0)==2048){ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;Dl(d,f[J>>2]|0,ve,(f[qr>>2]|0)+14304|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)}else{ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;Fl(d,3,ve,(f[qr>>2]|0)+14304|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)}do{if(f[ge>>2]|0){ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;ge=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;s[G>>2]=+zl(ve,ge,re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0);if(+s[G>>2]<1e9?!(+s[G>>2]!=+s[G>>2]):0)break;ge=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;vs(ge|0,0,(re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2|0)|0;s[(f[qr>>2]|0)+14304+12>>2]=0;s[(f[qr>>2]|0)+14304+8>>2]=0;s[(f[qr>>2]|0)+14304+4>>2]=0;s[(f[qr>>2]|0)+14304>>2]=0}}while(0);s[$e>>2]=1;if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){ge=re(f[(f[qr>>2]|0)+100>>2]|0,f[Ur>>2]|0)|0;f[Ce>>2]=he()|0;c=h;h=h+((1*(ge<<1)|0)+15&-16)|0;f[pe>>2]=re(f[Je>>2]<<3,f[xe>>2]|0)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){d=re(f[(f[qr>>2]|0)+14288>>2]|0,5e3+(((f[(f[qr>>2]|0)+132>>2]|0)==((f[Ur>>2]|0)*100|0)&1)*1e3|0)|0)|0;f[(f[qr>>2]|0)+8+28>>2]=d;d=(f[pe>>2]|0)-(f[(f[qr>>2]|0)+8+28>>2]|0)|0;if((f[br>>2]|0)==1104){ge=(f[qr>>2]|0)+8+28|0;f[ge>>2]=(f[ge>>2]|0)+((d<<1|0)/3|0)}else{ge=(f[qr>>2]|0)+8+28|0;f[ge>>2]=(f[ge>>2]|0)+((d*3|0)/5|0)}if((f[(f[qr>>2]|0)+8+28>>2]|0)>((f[pe>>2]<<2|0)/5|0|0))f[(f[qr>>2]|0)+8+28>>2]=(f[pe>>2]<<2|0)/5|0;if(f[(f[qr>>2]|0)+14348>>2]|0)break;f[ce>>2]=(f[pe>>2]|0)-(f[(f[qr>>2]|0)+8+28>>2]|0);f[ae>>2]=(f[br>>2]|0)==1104?3e3:3600;s[$e>>2]=+(f[ce>>2]|0)/(+(f[ce>>2]|0)+ +(re(f[(f[qr>>2]|0)+14288>>2]|0,f[ae>>2]|0)|0));s[$e>>2]=+s[$e>>2]<.8571428656578064?+s[$e>>2]+.1428571492433548:1}else f[(f[qr>>2]|0)+8+28>>2]=f[pe>>2]}while(0);do{if(f[(f[qr>>2]|0)+14348>>2]|0){if(!(f[(f[qr>>2]|0)+136>>2]|0))break;if(f[(f[qr>>2]|0)+164>>2]|0)break;s[Ee>>2]=0;f[_e>>2]=17;n[Se>>1]=16e3;do{if((f[(f[qr>>2]|0)+14336>>2]|0)==1101){f[_e>>2]=13;n[Se>>1]=8e3}else{if((f[(f[qr>>2]|0)+14336>>2]|0)!=1102)break;f[_e>>2]=15;n[Se>>1]=12e3}}while(0);f[ye>>2]=0;while(1){if((f[ye>>2]|0)>=(f[(f[qr>>2]|0)+100>>2]|0))break;f[Ke>>2]=0;while(1){d=f[ye>>2]|0;if((f[Ke>>2]|0)>=(f[_e>>2]|0))break;if(+s[(f[(f[qr>>2]|0)+14348>>2]|0)+((d*21|0)+(f[Ke>>2]|0)<<2)>>2]<.5)g=+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2];else g=.5;do{if(g>-2){if(!(+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2]<.5)){g=.5;break}g=+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2]}else g=-2}while(0);s[me>>2]=g;if(+s[me>>2]>0)s[me>>2]=+s[me>>2]*.5;s[Ee>>2]=+s[Ee>>2]+ +s[me>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}f[ye>>2]=d+1}s[Ae>>2]=+s[Ee>>2]/+(f[_e>>2]|0)*+(f[(f[qr>>2]|0)+100>>2]|0);s[Ae>>2]=+s[Ae>>2]+.20000000298023224;f[Re>>2]=~~(+(n[Se>>1]|0)*+s[Ae>>2]);if((f[Re>>2]|0)>((re(-2,f[(f[qr>>2]|0)+8+28>>2]|0)|0)/3|0|0))d=f[Re>>2]|0;else d=(re(-2,f[(f[qr>>2]|0)+8+28>>2]|0)|0)/3|0;f[Re>>2]=d;do{if((f[(f[qr>>2]|0)+14336>>2]|0)==1104)Ir=281;else{if((f[(f[qr>>2]|0)+14336>>2]|0)==1105){Ir=281;break}Se=(f[qr>>2]|0)+8+28|0;f[Se>>2]=(f[Se>>2]|0)+(f[Re>>2]|0)}}while(0);if((Ir|0)==281){Se=(f[qr>>2]|0)+8+28|0;f[Se>>2]=(f[Se>>2]|0)+(((f[Re>>2]|0)*3|0)/5|0)}Re=re(f[Re>>2]|0,f[Ur>>2]|0)|0;f[Je>>2]=(f[Je>>2]|0)+((Re|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0)}}while(0);f[(f[qr>>2]|0)+8+24>>2]=((f[Ur>>2]|0)*1e3|0)/(f[(f[qr>>2]|0)+132>>2]|0)|0;f[(f[qr>>2]|0)+8>>2]=f[(f[qr>>2]|0)+100>>2];f[(f[qr>>2]|0)+8+4>>2]=f[(f[qr>>2]|0)+14288>>2];do{if((f[br>>2]|0)!=1101){d=(f[qr>>2]|0)+8+20|0;if((f[br>>2]|0)==1102){f[d>>2]=12e3;break}else{f[d>>2]=16e3;break}}else f[(f[qr>>2]|0)+8+20>>2]=8e3}while(0);d=(f[qr>>2]|0)+8+16|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[d>>2]=16e3;else f[d>>2]=8e3;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1e3){f[Me>>2]=f[Te>>2];f[(f[qr>>2]|0)+8+12>>2]=16e3;if((f[xe>>2]|0)>50)f[Me>>2]=(f[Me>>2]<<1|0)/3|0;if((f[Me>>2]|0)<13e3){f[(f[qr>>2]|0)+8+12>>2]=12e3;if(12e3<(f[(f[qr>>2]|0)+8+20>>2]|0))d=12e3;else d=f[(f[qr>>2]|0)+8+20>>2]|0;f[(f[qr>>2]|0)+8+20>>2]=d}if((f[Me>>2]|0)>=9600)break;f[(f[qr>>2]|0)+8+12>>2]=8e3;if(8e3<(f[(f[qr>>2]|0)+8+20>>2]|0))d=8e3;else d=f[(f[qr>>2]|0)+8+20>>2]|0;f[(f[qr>>2]|0)+8+20>>2]=d}else f[(f[qr>>2]|0)+8+12>>2]=16e3}while(0);f[(f[qr>>2]|0)+8+48>>2]=((f[(f[qr>>2]|0)+136>>2]|0)!=0^1)&1;if(1275<((f[jr>>2]|0)-1-(f[Nr>>2]|0)|0))d=1275;else d=(f[jr>>2]|0)-1-(f[Nr>>2]|0)|0;f[De>>2]=d;f[(f[qr>>2]|0)+8+52>>2]=f[De>>2]<<3;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[(f[qr>>2]|0)+8+52>>2]=((f[(f[qr>>2]|0)+8+52>>2]|0)*9|0)/10|0;if(f[(f[qr>>2]|0)+8+48>>2]|0){xe=re(f[(f[qr>>2]|0)+8+28>>2]|0,f[Ur>>2]|0)|0;f[(f[qr>>2]|0)+8+52>>2]=((xe|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0)<<3;if(1>((f[(f[qr>>2]|0)+8+28>>2]|0)-2e3|0))d=1;else d=(f[(f[qr>>2]|0)+8+28>>2]|0)-2e3|0;f[(f[qr>>2]|0)+8+28>>2]=d}if(f[Oe>>2]|0){f[Ie>>2]=0;f[Le>>2]=re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[(f[qr>>2]|0)+104>>2]|0)-((f[(f[qr>>2]|0)+132>>2]|0)/400|0)|0)|0;Yl((f[qr>>2]|0)+14372+(f[Le>>2]<<2)|0,(f[qr>>2]|0)+14372+(f[Le>>2]<<2)|0,0,1,f[(f[ir>>2]|0)+4>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/400|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);vs((f[qr>>2]|0)+14372|0,0,f[Le>>2]<<2|0)|0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[(f[qr>>2]|0)+160>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0))break;Le=Hl(+s[(f[qr>>2]|0)+14372+(f[Ke>>2]<<2)>>2])|0;n[c+(f[Ke>>2]<<1)>>1]=Le;f[Ke>>2]=(f[Ke>>2]|0)+1}go(f[Pe>>2]|0,(f[qr>>2]|0)+8|0,c,f[(f[qr>>2]|0)+160>>2]|0,0,Ie,1)|0}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0))break;Ie=re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0;Ie=Hl(+s[b+(Ie+(f[Ke>>2]|0)<<2)>>2])|0;n[c+(f[Ke>>2]<<1)>>1]=Ie;f[Ke>>2]=(f[Ke>>2]|0)+1}f[Yr>>2]=go(f[Pe>>2]|0,(f[qr>>2]|0)+8|0,c,f[Ur>>2]|0,Br,De,0)|0;do{if(f[Yr>>2]|0){f[Hr>>2]=-3;f[zr>>2]=1}else{d=f[qr>>2]|0;if(!(f[De>>2]|0)){f[d+18216>>2]=0;Ke=jl(f[(f[qr>>2]|0)+14320>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0,f[br>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[(f[Wr>>2]|0)+-1>>0]=Ke;f[Hr>>2]=1;f[zr>>2]=1;break}do{if((f[d+14320>>2]|0)==1e3){if((f[(f[qr>>2]|0)+8+68>>2]|0)==8e3){f[br>>2]=1101;break}if((f[(f[qr>>2]|0)+8+68>>2]|0)==12e3){f[br>>2]=1102;break}if((f[(f[qr>>2]|0)+8+68>>2]|0)!=16e3)break;f[br>>2]=1103}}while(0);f[(f[qr>>2]|0)+8+60>>2]=f[(f[qr>>2]|0)+8+84>>2];if(f[(f[qr>>2]|0)+8+60>>2]|0){f[Dr>>2]=1;f[cr>>2]=0;f[(f[qr>>2]|0)+14340>>2]=1}f[zr>>2]=0}}while(0);de(f[Ce>>2]|0);if(!(f[zr>>2]|0))Ir=335}else Ir=335;e:do{if((Ir|0)==335){f[je>>2]=21;switch(f[br>>2]|0){case 1101:{f[je>>2]=13;break}case 1103:case 1102:{f[je>>2]=17;break}case 1104:{f[je>>2]=19;break}case 1105:{f[je>>2]=21;break}default:{}}Ke=f[hr>>2]|0;f[Ne>>2]=f[je>>2];qn(Ke,10012,Ne)|0;Ke=f[hr>>2]|0;f[Fe>>2]=f[(f[qr>>2]|0)+14288>>2];qn(Ke,10008,Fe)|0;Ke=f[hr>>2]|0;f[ze>>2]=-1;qn(Ke,4002,ze)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){s[Be>>2]=2;Ke=f[hr>>2]|0;f[Ye>>2]=0;qn(Ke,4006,Ye)|0;if(f[(f[qr>>2]|0)+8+64>>2]|0)s[Be>>2]=0;Ke=f[hr>>2]|0;f[He>>2]=~~+s[Be>>2];qn(Ke,10002,He)|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){f[Ge>>2]=(ql(Br)|0)+7>>3;if(f[Dr>>2]|0)f[Ge>>2]=(f[Ge>>2]|0)+((f[(f[qr>>2]|0)+14320>>2]|0)==1001?3:1);d=f[Ge>>2]|0;c=f[Je>>2]|0;if(f[(f[qr>>2]|0)+136>>2]|0){Ke=re(f[(f[qr>>2]|0)+8+28>>2]|0,f[Ur>>2]|0)|0;f[vr>>2]=d+c-((Ke|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0);break}else{f[vr>>2]=(d|0)>(c|0)?f[Ge>>2]|0:f[Je>>2]|0;break}}if(!(f[(f[qr>>2]|0)+136>>2]|0)){f[vr>>2]=f[Je>>2];break}f[Ue>>2]=0;do{if((f[(f[qr>>2]|0)+144>>2]|0)==5010){if((f[Ur>>2]|0)==((f[(f[qr>>2]|0)+132>>2]|0)/50|0|0))break;f[Ue>>2]=re(((f[(f[qr>>2]|0)+14288>>2]|0)*60|0)+40|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0;if(!(f[ur>>2]|0))break;f[Ue>>2]=~~(+(f[Ue>>2]|0)*(+s[ur+4>>2]*.5+1))}}while(0);Ke=f[hr>>2]|0;f[We>>2]=1;qn(Ke,4006,We)|0;Ke=f[hr>>2]|0;f[Ze>>2]=f[(f[qr>>2]|0)+140>>2];qn(Ke,4020,Ze)|0;Ke=f[hr>>2]|0;f[Ve>>2]=(f[(f[qr>>2]|0)+148>>2]|0)+(f[Ue>>2]|0);qn(Ke,4002,Ve)|0;f[vr>>2]=(f[jr>>2]|0)-1-(f[Nr>>2]|0)}else f[vr>>2]=0}while(0);Ke=((re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/400|0)<<2;c=h;h=h+((1*Ke|0)+15&-16)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){if((f[(f[qr>>2]|0)+14320>>2]|0)==(f[(f[qr>>2]|0)+14324>>2]|0))break;if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;Ge=re((f[(f[qr>>2]|0)+160>>2]|0)-(f[rr>>2]|0)-((f[(f[qr>>2]|0)+132>>2]|0)/400|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;Ke=((re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/400|0)<<2;gs(c|0,(f[qr>>2]|0)+14372+(Ge<<2)|0,Ke+0|0)|0}}while(0);Ke=(re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-((f[Ur>>2]|0)+(f[rr>>2]|0))|0)|0)>0;d=(f[qr>>2]|0)+14372|0;if(Ke){Ge=re(f[(f[qr>>2]|0)+100>>2]|0,f[Ur>>2]|0)|0;Ke=(re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[Ur>>2]|0)-(f[rr>>2]|0)|0)|0)<<2;ys(d|0,(f[qr>>2]|0)+14372+(Ge<<2)|0,Ke+0|0)|0;Ke=re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[Ur>>2]|0)-(f[rr>>2]|0)|0)|0;rr=(re((f[Ur>>2]|0)+(f[rr>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs((f[qr>>2]|0)+14372+(Ke<<2)|0,b|0,rr+0|0)|0}else{Ke=b+((re((f[Ur>>2]|0)+(f[rr>>2]|0)-(f[(f[qr>>2]|0)+160>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;rr=(re(f[(f[qr>>2]|0)+160>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs(d|0,Ke|0,rr+0|0)|0}if(+s[$e>>2]<1?1:+s[(f[qr>>2]|0)+14300>>2]<1)Yl(b,b,+s[(f[qr>>2]|0)+14300>>2],+s[$e>>2],f[(f[ir>>2]|0)+4>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);s[(f[qr>>2]|0)+14300>>2]=+s[$e>>2];if(!((f[(f[qr>>2]|0)+14320>>2]|0)==1001?(f[(f[qr>>2]|0)+14288>>2]|0)!=1:0)){if(16384<((0>((f[er>>2]|0)-3e4|0)?0:(f[er>>2]|0)-3e4|0)<<1|0))d=16384;else d=(0>((f[er>>2]|0)-3e4|0)?0:(f[er>>2]|0)-3e4|0)<<1;f[(f[qr>>2]|0)+8+80>>2]=d}do{if(!(f[(f[qr>>2]|0)+14348>>2]|0)){if((f[(f[qr>>2]|0)+100>>2]|0)!=2)break;if((n[(f[qr>>2]|0)+14292>>1]|0)>=16384?(f[(f[qr>>2]|0)+8+80>>2]|0)>=16384:0)break;s[fr>>2]=+(n[(f[qr>>2]|0)+14292>>1]|0);s[ar>>2]=+(f[(f[qr>>2]|0)+8+80>>2]|0);s[fr>>2]=+s[fr>>2]*6103515625e-14;s[ar>>2]=+s[ar>>2]*6103515625e-14;Wl(b,b,+s[fr>>2],+s[ar>>2],f[(f[ir>>2]|0)+4>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);n[(f[qr>>2]|0)+14292>>1]=f[(f[qr>>2]|0)+8+80>>2]}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){ar=(ql(Br)|0)+17|0;if((ar+(((f[(f[qr>>2]|0)+14320>>2]|0)==1001&1)*20|0)|0)>((f[jr>>2]|0)-1<<3|0)){Ir=393;break}do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){if((f[Dr>>2]|0)==0?(ar=(ql(Br)|0)+37|0,(ar|0)>(f[vr>>2]<<3|0)):0)break;Xe(Br,f[Dr>>2]|0,12)}}while(0);if(!(f[Dr>>2]|0))break;Xe(Br,f[cr>>2]|0,1);d=(f[jr>>2]|0)-1|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[or>>2]=d-(f[vr>>2]|0);else f[or>>2]=d-((ql(Br)|0)+7>>3);if((f[or>>2]|0)<((f[(f[qr>>2]|0)+148>>2]|0)/1600|0|0))d=f[or>>2]|0;else d=(f[(f[qr>>2]|0)+148>>2]|0)/1600|0;f[Nr>>2]=d;if(257<((2>(f[Nr>>2]|0)?2:f[Nr>>2]|0)|0))d=257;else d=2>(f[Nr>>2]|0)?2:f[Nr>>2]|0;f[Nr>>2]=d;if((f[(f[qr>>2]|0)+14320>>2]|0)!=1001)break;Qe(Br,(f[Nr>>2]|0)-2|0,256)}else Ir=393}while(0);if((Ir|0)==393)f[Dr>>2]=0;if(!(f[Dr>>2]|0)){f[(f[qr>>2]|0)+14340>>2]=0;f[Nr>>2]=0}if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)f[yr>>2]=17;if((f[(f[qr>>2]|0)+14320>>2]|0)==1e3){f[Yr>>2]=(ql(Br)|0)+7>>3;nr(Br);f[vr>>2]=f[Yr>>2]}else{if(((f[jr>>2]|0)-1-(f[Nr>>2]|0)|0)<(f[vr>>2]|0))d=(f[jr>>2]|0)-1-(f[Nr>>2]|0)|0;else d=f[vr>>2]|0;f[vr>>2]=d;tr(Br,f[vr>>2]|0)}if(!(!(f[Dr>>2]|0)?(f[(f[qr>>2]|0)+14320>>2]|0)==1e3:0)){Ir=f[hr>>2]|0;f[_r>>2]=ur+(((ur-ur|0)/28|0)*28|0);qn(Ir,10022,_r)|0}do{if((f[Dr>>2]|0)!=0&(f[cr>>2]|0)!=0){Ir=f[hr>>2]|0;f[mr>>2]=0;qn(Ir,10010,mr)|0;Ir=f[hr>>2]|0;f[Er>>2]=0;qn(Ir,4006,Er)|0;f[dr>>2]=Zn(f[hr>>2]|0,b,(f[(f[qr>>2]|0)+132>>2]|0)/200|0,(f[Wr>>2]|0)+(f[vr>>2]|0)|0,f[Nr>>2]|0,0)|0;if((f[dr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{Ir=f[hr>>2]|0;f[Ar>>2]=gr+(((gr-gr|0)/4|0)<<2);qn(Ir,4031,Ar)|0;qn(f[hr>>2]|0,4028,Sr)|0;break}}}while(0);Ir=f[hr>>2]|0;f[Rr>>2]=f[yr>>2];qn(Ir,10010,Rr)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=(f[(f[qr>>2]|0)+14324>>2]|0)){if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;qn(f[hr>>2]|0,4028,Tr)|0;Zn(f[hr>>2]|0,c,(f[(f[qr>>2]|0)+132>>2]|0)/400|0,wr,2,0)|0;Ir=f[hr>>2]|0;f[Mr>>2]=0;qn(Ir,10002,Mr)|0}}while(0);Ir=ql(Br)|0;if((Ir|0)>(f[vr>>2]<<3|0))break;f[Yr>>2]=Zn(f[hr>>2]|0,b,f[Ur>>2]|0,0,f[vr>>2]|0,Br)|0;if((f[Yr>>2]|0)>=0)break;f[Hr>>2]=-3;f[zr>>2]=1;break e}}while(0);do{if(!((f[Dr>>2]|0)==0|(f[cr>>2]|0)!=0)){f[lr>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/200|0;f[sr>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/400|0;qn(f[hr>>2]|0,4028,xr)|0;Ir=f[hr>>2]|0;f[Or>>2]=0;qn(Ir,10010,Or)|0;Ir=f[hr>>2]|0;f[Lr>>2]=0;qn(Ir,10002,Lr)|0;Ir=b+((re(f[(f[qr>>2]|0)+100>>2]|0,(f[Ur>>2]|0)-(f[lr>>2]|0)-(f[sr>>2]|0)|0)|0)<<2)|0;Zn(f[hr>>2]|0,Ir,f[sr>>2]|0,kr,2,0)|0;Ir=b+((re(f[(f[qr>>2]|0)+100>>2]|0,(f[Ur>>2]|0)-(f[lr>>2]|0)|0)|0)<<2)|0;f[pr>>2]=Zn(f[hr>>2]|0,Ir,f[lr>>2]|0,(f[Wr>>2]|0)+(f[vr>>2]|0)|0,f[Nr>>2]|0,0)|0;if((f[pr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{Ir=f[hr>>2]|0;f[Pr>>2]=gr+(((gr-gr|0)/4|0)<<2);qn(Ir,4031,Pr)|0;break}}}while(0);f[Wr>>2]=(f[Wr>>2]|0)+-1;d=jl(f[(f[qr>>2]|0)+14320>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0,f[br>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[f[Wr>>2]>>0]=d;f[(f[qr>>2]|0)+18216>>2]=f[Br+28>>2]^f[gr>>2];d=f[qr>>2]|0;if(f[Fr>>2]|0)f[d+14324>>2]=1002;else f[(f[qr>>2]|0)+14324>>2]=f[d+14320>>2];f[(f[qr>>2]|0)+14328>>2]=f[(f[qr>>2]|0)+14288>>2];f[(f[qr>>2]|0)+14332>>2]=f[Ur>>2];f[(f[qr>>2]|0)+14344>>2]=0;Fr=ql(Br)|0;r:do{if((Fr|0)>((f[jr>>2]|0)-1<<3|0))if((f[jr>>2]|0)<2){f[Hr>>2]=-2;f[zr>>2]=1;break e}else{t[(f[Wr>>2]|0)+1>>0]=0;f[Yr>>2]=1;f[(f[qr>>2]|0)+18216>>2]=0;break}else{if(!(((f[Dr>>2]|0?1:(f[(f[qr>>2]|0)+14320>>2]|0)!=1e3)^1)&(f[Yr>>2]|0)>2))break;do{if(a[(f[Wr>>2]|0)+(f[Yr>>2]|0)>>0]|0)break r;f[Yr>>2]=(f[Yr>>2]|0)+-1}while((f[Yr>>2]|0)>2)}}while(0);f[Yr>>2]=(f[Yr>>2]|0)+(1+(f[Nr>>2]|0));do{if(!(f[(f[qr>>2]|0)+136>>2]|0))if(Ql(f[Wr>>2]|0,f[Yr>>2]|0,f[jr>>2]|0)|0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{f[Yr>>2]=f[jr>>2];break}}while(0);f[Hr>>2]=f[Yr>>2];f[zr>>2]=1}}while(0);de(f[Cr>>2]|0);Wr=f[Hr>>2]|0;h=Zr;return Wr|0}}while(0);f[T>>2]=f[(f[qr>>2]|0)+14320>>2];if(!(f[(f[qr>>2]|0)+14336>>2]|0))d=1101;else d=f[(f[qr>>2]|0)+14336>>2]|0;f[S>>2]=d;if(!(f[T>>2]|0))f[T>>2]=1e3;if((f[xe>>2]|0)>100)f[T>>2]=1002;if((f[xe>>2]|0)<50)f[T>>2]=1e3;do{if(!((f[T>>2]|0)==1e3&(f[S>>2]|0)>1103)){if((f[T>>2]|0)==1002&(f[S>>2]|0)==1102){f[S>>2]=1101;break}if((f[S>>2]|0)<=1104)f[S>>2]=1104}else f[S>>2]=1103}while(0);qr=jl(f[T>>2]|0,f[xe>>2]|0,f[S>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[f[Wr>>2]>>0]=qr;f[Hr>>2]=1;Wr=f[Hr>>2]|0;h=Zr;return Wr|0}f[Hr>>2]=-1;Wr=f[Hr>>2]|0;h=Zr;return Wr|0}function Bl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if(!(f[a>>2]|0))f[a>>2]=(f[(f[n>>2]|0)+132>>2]|0)/400|0;r=f[n>>2]|0;if((f[(f[n>>2]|0)+152>>2]|0)==-1e3){f[t>>2]=(((f[r+132>>2]|0)*60|0)/(f[a>>2]|0)|0)+(re(f[(f[n>>2]|0)+132>>2]|0,f[(f[n>>2]|0)+100>>2]|0)|0);o=f[t>>2]|0;h=l;return o|0}if((f[r+152>>2]|0)==-1){o=re(f[o>>2]<<3,f[(f[n>>2]|0)+132>>2]|0)|0;f[t>>2]=(o|0)/(f[a>>2]|0)|0;o=f[t>>2]|0;h=l;return o|0}else{f[t>>2]=f[(f[n>>2]|0)+152>>2];o=f[t>>2]|0;h=l;return o|0}return 0}function jl(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+20|0;l=k+16|0;s=k+12|0;u=k+8|0;c=k+4|0;w=k+24|0;b=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=0;while(1){if((f[l>>2]|0)>=400)break;f[l>>2]=f[l>>2]<<1;f[c>>2]=(f[c>>2]|0)+1}do{if((f[o>>2]|0)!=1e3)if((f[o>>2]|0)==1002){e=(f[s>>2]|0)-1102|0;f[b>>2]=e;f[b>>2]=(f[b>>2]|0)<0?0:e;t[w>>0]=-128;t[w>>0]=a[w>>0]|0|f[b>>2]<<5;t[w>>0]=a[w>>0]|0|f[c>>2]<<3;break}else{t[w>>0]=96;t[w>>0]=a[w>>0]|0|(f[s>>2]|0)-1104<<4;t[w>>0]=a[w>>0]|0|(f[c>>2]|0)-2<<3;break}else{t[w>>0]=(f[s>>2]|0)-1101<<5;t[w>>0]=a[w>>0]|0|(f[c>>2]|0)-2<<3}}while(0);t[w>>0]=a[w>>0]|0|((f[u>>2]|0)==2&1)<<2;h=k;return t[w>>0]|0}function Dl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;d=h;h=h+64|0;l=d+60|0;_=d+56|0;s=d+52|0;u=d+48|0;c=d+44|0;b=d+40|0;y=d+36|0;k=d+24|0;w=d+16|0;v=d+8|0;g=d+4|0;p=d;f[l>>2]=e;f[_>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[y>>2]=o;f[v>>2]=(((f[_>>2]&65535)<<16>>16)*2471|0)/((f[y>>2]|0)/1e3|0|0)|0;f[g>>2]=268435456-((f[v>>2]|0)*471|0);f[k>>2]=f[g>>2];f[k+4>>2]=0-(f[g>>2]|0)<<1;f[k+8>>2]=f[g>>2];f[p>>2]=f[g>>2]>>6;i=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;i=i+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;i=re(f[p>>2]>>16,(i+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0;n=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;n=n+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;n=i+((re(f[p>>2]&65535,(n+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0)>>16)|0;i=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;i=i+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;f[w>>2]=n+(re(f[p>>2]|0,(i+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608>>15)+1>>1)|0);i=re(f[p>>2]>>16,(f[p>>2]&65535)<<16>>16)|0;i=i+((re(f[p>>2]&65535,(f[p>>2]&65535)<<16>>16)|0)>>16)|0;f[w+4>>2]=i+(re(f[p>>2]|0,(f[p>>2]>>15)+1>>1)|0);Nl(f[l>>2]|0,k,w,f[u>>2]|0,f[s>>2]|0,f[c>>2]|0,f[b>>2]|0);if((f[b>>2]|0)!=2){h=d;return}Nl((f[l>>2]|0)+4|0,k,w,(f[u>>2]|0)+8|0,(f[s>>2]|0)+4|0,f[c>>2]|0,f[b>>2]|0);h=d;return}function Nl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;y=h;h=h+64|0;l=y+60|0;_=y+56|0;m=y+52|0;u=y+48|0;c=y+44|0;b=y+40|0;w=y+36|0;v=y+32|0;g=y+28|0;p=y+24|0;k=y+16|0;d=y;f[l>>2]=e;f[_>>2]=r;f[m>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[w>>2]=o;s[k>>2]=+(f[f[m>>2]>>2]|0)*3.725290298461914e-9;s[k+4>>2]=+(f[(f[m>>2]|0)+4>>2]|0)*3.725290298461914e-9;s[d>>2]=+(f[f[_>>2]>>2]|0)*3.725290298461914e-9;s[d+4>>2]=+(f[(f[_>>2]|0)+4>>2]|0)*3.725290298461914e-9;s[d+8>>2]=+(f[(f[_>>2]|0)+8>>2]|0)*3.725290298461914e-9;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[b>>2]|0))break;m=re(f[v>>2]|0,f[w>>2]|0)|0;s[p>>2]=+s[(f[l>>2]|0)+(m<<2)>>2];s[g>>2]=+s[f[u>>2]>>2]+ +s[d>>2]*+s[p>>2];s[f[u>>2]>>2]=+s[(f[u>>2]|0)+4>>2]-+s[g>>2]*+s[k>>2]+ +s[d+4>>2]*+s[p>>2];s[(f[u>>2]|0)+4>>2]=-+s[g>>2]*+s[k+4>>2]+ +s[d+8>>2]*+s[p>>2]+1.0000000031710769e-30;m=re(f[v>>2]|0,f[w>>2]|0)|0;s[(f[c>>2]|0)+(m<<2)>>2]=+s[g>>2];f[v>>2]=(f[v>>2]|0)+1}h=y;return}function Fl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;_=h;h=h+64|0;l=_+48|0;E=_+44|0;u=_+40|0;c=_+36|0;b=_+32|0;w=_+28|0;m=_+24|0;k=_+20|0;p=_+16|0;d=_+12|0;g=_+8|0;v=_+4|0;y=_;f[l>>2]=e;f[E>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[m>>2]=o;s[d>>2]=+(f[E>>2]|0)*4/+(f[m>>2]|0);f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[w>>2]|0))break;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;E=re(f[w>>2]|0,f[p>>2]|0)|0;s[g>>2]=+s[(f[l>>2]|0)+(E+(f[k>>2]|0)<<2)>>2];s[v>>2]=+s[g>>2]-+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2];s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2]=+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2]+ +s[d>>2]*(+s[g>>2]-+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2])+1.0000000031710769e-30;s[y>>2]=+s[v>>2]-+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2];s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2]=+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2]+ +s[d>>2]*(+s[v>>2]-+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])+1.0000000031710769e-30;E=re(f[w>>2]|0,f[p>>2]|0)|0;s[(f[u>>2]|0)+(E+(f[k>>2]|0)<<2)>>2]=+s[y>>2];f[p>>2]=(f[p>>2]|0)+1}f[k>>2]=(f[k>>2]|0)+1}h=_;return}function zl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function Yl(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=+i;t=+t;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;T=h;h=h+80|0;c=T+64|0;b=T+60|0;w=T+56|0;k=T+52|0;M=T+48|0;d=T+44|0;p=T+40|0;v=T+36|0;x=T+32|0;m=T+28|0;E=T+24|0;A=T+20|0;g=T+16|0;y=T+12|0;S=T+8|0;_=T+4|0;R=T;f[c>>2]=e;f[b>>2]=r;s[w>>2]=i;s[k>>2]=t;f[M>>2]=n;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[x>>2]=u;f[E>>2]=48e3/(f[x>>2]|0)|0;f[A>>2]=(f[M>>2]|0)/(f[E>>2]|0)|0;l=(f[p>>2]|0)==1;f[m>>2]=0;e:do{if(l)while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break e;M=re(f[m>>2]|0,f[E>>2]|0)|0;x=re(f[m>>2]|0,f[E>>2]|0)|0;s[S>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(x<<2)>>2];s[y>>2]=+s[S>>2]*+s[k>>2]+(1-+s[S>>2])*+s[w>>2];s[(f[b>>2]|0)+(f[m>>2]<<2)>>2]=+s[y>>2]*+s[(f[c>>2]|0)+(f[m>>2]<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}else while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break e;M=re(f[m>>2]|0,f[E>>2]|0)|0;x=re(f[m>>2]|0,f[E>>2]|0)|0;s[R>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(x<<2)>>2];s[_>>2]=+s[R>>2]*+s[k>>2]+(1-+s[R>>2])*+s[w>>2];s[(f[b>>2]|0)+(f[m>>2]<<1<<2)>>2]=+s[_>>2]*+s[(f[c>>2]|0)+(f[m>>2]<<1<<2)>>2];s[(f[b>>2]|0)+((f[m>>2]<<1)+1<<2)>>2]=+s[_>>2]*+s[(f[c>>2]|0)+((f[m>>2]<<1)+1<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}}while(0);f[g>>2]=0;do{f[m>>2]=f[A>>2];while(1){if((f[m>>2]|0)>=(f[d>>2]|0))break;M=re(f[m>>2]|0,f[p>>2]|0)|0;x=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(x+(f[g>>2]|0)<<2)>>2]=+s[k>>2]*+s[(f[c>>2]|0)+(M+(f[g>>2]|0)<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}x=(f[g>>2]|0)+1|0;f[g>>2]=x}while((x|0)<(f[p>>2]|0));h=T;return}function Hl(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;s[r>>2]=+s[r>>2]*32768;s[r>>2]=+s[r>>2]>-32768?+s[r>>2]:-32768;s[r>>2]=+s[r>>2]<32767?+s[r>>2]:32767;r=(cs(+s[r>>2])|0)&65535;h=i;return r|0}function ql(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Wl(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=+i;t=+t;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;R=h;h=h+64|0;c=R+60|0;b=R+56|0;w=R+52|0;k=R+48|0;T=R+44|0;d=R+40|0;p=R+36|0;v=R+32|0;M=R+28|0;m=R+24|0;A=R+20|0;E=R+16|0;g=R+12|0;_=R+8|0;S=R+4|0;y=R;f[c>>2]=e;f[b>>2]=r;s[w>>2]=i;s[k>>2]=t;f[T>>2]=n;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[M>>2]=u;f[E>>2]=48e3/(f[M>>2]|0)|0;f[A>>2]=(f[T>>2]|0)/(f[E>>2]|0)|0;s[w>>2]=1-+s[w>>2];s[k>>2]=1-+s[k>>2];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break;M=re(f[m>>2]|0,f[E>>2]|0)|0;T=re(f[m>>2]|0,f[E>>2]|0)|0;s[S>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(T<<2)>>2];s[_>>2]=+s[S>>2]*+s[k>>2]+(1-+s[S>>2])*+s[w>>2];T=re(f[m>>2]|0,f[p>>2]|0)|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[g>>2]=(+s[(f[c>>2]|0)+(T<<2)>>2]-+s[(f[c>>2]|0)+(M<<2)>>2])*.5;s[g>>2]=+s[_>>2]*+s[g>>2];M=re(f[m>>2]|0,f[p>>2]|0)|0;T=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(T<<2)>>2]=+s[(f[b>>2]|0)+(M<<2)>>2]-+s[g>>2];T=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[(f[b>>2]|0)+(M<<2)>>2]=+s[(f[b>>2]|0)+(T<<2)>>2]+ +s[g>>2];f[m>>2]=(f[m>>2]|0)+1}while(1){if((f[m>>2]|0)>=(f[d>>2]|0))break;T=re(f[m>>2]|0,f[p>>2]|0)|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[y>>2]=(+s[(f[c>>2]|0)+(T<<2)>>2]-+s[(f[c>>2]|0)+(M<<2)>>2])*.5;s[y>>2]=+s[k>>2]*+s[y>>2];M=re(f[m>>2]|0,f[p>>2]|0)|0;T=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(T<<2)>>2]=+s[(f[b>>2]|0)+(M<<2)>>2]-+s[y>>2];T=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[(f[b>>2]|0)+(M<<2)>>2]=+s[(f[b>>2]|0)+(T<<2)>>2]+ +s[y>>2];f[m>>2]=(f[m>>2]|0)+1}h=R;return}function Zl(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+36|0;u=g+32|0;c=g+28|0;b=g+24|0;w=g+20|0;p=g+16|0;v=g+12|0;d=g+8|0;o=g+4|0;k=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;if((f[(f[l>>2]|0)+96>>2]|0)==2051)f[o>>2]=0;else f[o>>2]=f[(f[l>>2]|0)+104>>2];f[d>>2]=Ol(f[u>>2]|0,f[c>>2]|0,f[(f[l>>2]|0)+144>>2]|0,f[(f[l>>2]|0)+100>>2]|0,f[(f[l>>2]|0)+132>>2]|0,f[(f[l>>2]|0)+148>>2]|0,f[o>>2]|0,1,(f[l>>2]|0)+172+6872|0)|0;e=re(f[d>>2]|0,f[(f[l>>2]|0)+100>>2]|0)|0;f[k>>2]=he()|0;i=h;h=h+((1*(e<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(re(f[d>>2]|0,f[(f[l>>2]|0)+100>>2]|0)|0))break;s[i+(f[p>>2]<<2)>>2]=+(n[(f[u>>2]|0)+(f[p>>2]<<1)>>1]|0)*30517578125e-15;f[p>>2]=(f[p>>2]|0)+1}f[v>>2]=Ul(f[l>>2]|0,i,f[d>>2]|0,f[b>>2]|0,f[w>>2]|0,16,f[u>>2]|0,f[c>>2]|0,0,-2,f[(f[l>>2]|0)+100>>2]|0,1,0)|0;v=f[v>>2]|0;de(f[k>>2]|0);h=g;return v|0}function Vl(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;a=w+24|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;b=w+4|0;c=w;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;if((f[(f[a>>2]|0)+96>>2]|0)==2051)f[c>>2]=0;else f[c>>2]=f[(f[a>>2]|0)+104>>2];f[b>>2]=Ol(f[o>>2]|0,f[l>>2]|0,f[(f[a>>2]|0)+144>>2]|0,f[(f[a>>2]|0)+100>>2]|0,f[(f[a>>2]|0)+132>>2]|0,f[(f[a>>2]|0)+148>>2]|0,f[c>>2]|0,2,(f[a>>2]|0)+172+6872|0)|0;e=Ul(f[a>>2]|0,f[o>>2]|0,f[b>>2]|0,f[s>>2]|0,f[u>>2]|0,24,f[o>>2]|0,f[l>>2]|0,0,-2,f[(f[a>>2]|0)+100>>2]|0,2,1)|0;h=w;return e|0}function Jl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,re=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0;oe=h;h=h+352|0;ie=oe+48|0;re=oe+40|0;ee=oe+32|0;Q=oe+24|0;$=oe+16|0;X=oe+8|0;K=oe;fe=oe+336|0;ne=oe+332|0;le=oe+328|0;ae=oe+324|0;a=oe+320|0;t=oe+304|0;c=oe+300|0;b=oe+296|0;A=oe+292|0;U=oe+288|0;te=oe+284|0;W=oe+280|0;Z=oe+276|0;V=oe+272|0;J=oe+268|0;G=oe+264|0;w=oe+260|0;k=oe+256|0;d=oe+252|0;p=oe+248|0;v=oe+244|0;g=oe+240|0;y=oe+236|0;_=oe+232|0;m=oe+228|0;E=oe+224|0;S=oe+220|0;R=oe+216|0;T=oe+212|0;M=oe+208|0;x=oe+204|0;O=oe+200|0;L=oe+196|0;P=oe+192|0;I=oe+188|0;C=oe+184|0;B=oe+180|0;j=oe+176|0;D=oe+172|0;N=oe+168|0;F=oe+164|0;l=oe+160|0;o=oe+72|0;u=oe+68|0;z=oe+64|0;Y=oe+60|0;H=oe+56|0;q=oe+52|0;f[ne>>2]=e;f[le>>2]=r;f[ae>>2]=0;f[t>>2]=i;f[a>>2]=(f[ne>>2]|0)+(f[f[ne>>2]>>2]|0);e:do{switch(f[le>>2]|0){case 4e3:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[c>>2]=le;do{if(!((f[c>>2]|0)!=2048&(f[c>>2]|0)!=2049&(f[c>>2]|0)!=2051)){if((f[(f[ne>>2]|0)+14344>>2]|0)==0?(f[(f[ne>>2]|0)+96>>2]|0)!=(f[c>>2]|0):0)break;f[(f[ne>>2]|0)+96>>2]=f[c>>2];t=99;break e}}while(0);f[ae>>2]=-1;t=99;break}case 4001:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[b>>2]=le;if(f[b>>2]|0){f[f[b>>2]>>2]=f[(f[ne>>2]|0)+96>>2];t=99}else t=100;break}case 4002:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[A>>2]=le;do{if((f[A>>2]|0)!=-1e3&(f[A>>2]|0)!=-1){if((f[A>>2]|0)<=0){t=100;break e}if((f[A>>2]|0)<=500){f[A>>2]=500;break}if((f[A>>2]|0)>((f[(f[ne>>2]|0)+100>>2]|0)*3e5|0))f[A>>2]=(f[(f[ne>>2]|0)+100>>2]|0)*3e5}}while(0);f[(f[ne>>2]|0)+152>>2]=f[A>>2];t=99;break}case 4003:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[U>>2]=le;if(f[U>>2]|0){t=Bl(f[ne>>2]|0,f[(f[ne>>2]|0)+14332>>2]|0,1276)|0;f[f[U>>2]>>2]=t;t=99}else t=100;break}case 4022:{i=(f[t>>2]|0)+(4-1)&~(4-1);le=f[i>>2]|0;f[t>>2]=i+4;f[te>>2]=le;t=f[te>>2]|0;if((f[te>>2]|0)<1){if((t|0)!=-1e3){t=100;break e}}else if((f[te>>2]|0)!=-1e3?(t|0)>(f[(f[ne>>2]|0)+100>>2]|0):0){t=100;break e}f[(f[ne>>2]|0)+108>>2]=f[te>>2];t=99;break}case 4023:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[W>>2]=le;if(f[W>>2]|0){f[f[W>>2]>>2]=f[(f[ne>>2]|0)+108>>2];t=99}else t=100;break}case 4004:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[Z>>2]=le;if(!((f[Z>>2]|0)<1101|(f[Z>>2]|0)>1105)){f[(f[ne>>2]|0)+120>>2]=f[Z>>2];a=f[ne>>2]|0;if((f[(f[ne>>2]|0)+120>>2]|0)==1101){f[a+8+12>>2]=8e3;t=99;break e}t=(f[ne>>2]|0)+8+12|0;if((f[a+120>>2]|0)==1102){f[t>>2]=12e3;t=99;break e}else{f[t>>2]=16e3;t=99;break e}}else t=100;break}case 4005:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[V>>2]=le;if(f[V>>2]|0){f[f[V>>2]>>2]=f[(f[ne>>2]|0)+120>>2];t=99}else t=100;break}case 4008:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[J>>2]=le;if(!(((f[J>>2]|0)<1101|(f[J>>2]|0)>1105)&(f[J>>2]|0)!=-1e3)){f[(f[ne>>2]|0)+116>>2]=f[J>>2];a=f[ne>>2]|0;if((f[(f[ne>>2]|0)+116>>2]|0)==1101){f[a+8+12>>2]=8e3;t=99;break e}t=(f[ne>>2]|0)+8+12|0;if((f[a+116>>2]|0)==1102){f[t>>2]=12e3;t=99;break e}else{f[t>>2]=16e3;t=99;break e}}else t=100;break}case 4009:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[G>>2]=le;if(f[G>>2]|0){f[f[G>>2]>>2]=f[(f[ne>>2]|0)+14336>>2];t=99}else t=100;break}case 4016:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[w>>2]=le;if((f[w>>2]|0)<0|(f[w>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+8+44>>2]=f[w>>2];t=99}break}case 4017:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[k>>2]=le;if(f[k>>2]|0){f[f[k>>2]>>2]=f[(f[ne>>2]|0)+8+44>>2];t=99}else t=100;break}case 4010:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[d>>2]=le;if((f[d>>2]|0)<0|(f[d>>2]|0)>10)t=100;else{f[(f[ne>>2]|0)+8+36>>2]=f[d>>2];t=f[a>>2]|0;f[K>>2]=f[d>>2];qn(t,4010,K)|0;t=99}break}case 4011:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[p>>2]=le;if(f[p>>2]|0){f[f[p>>2]>>2]=f[(f[ne>>2]|0)+8+36>>2];t=99}else t=100;break}case 4012:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[v>>2]=le;if((f[v>>2]|0)<0|(f[v>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+8+40>>2]=f[v>>2];t=99}break}case 4013:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[g>>2]=le;if(f[g>>2]|0){f[f[g>>2]>>2]=f[(f[ne>>2]|0)+8+40>>2];t=99}else t=100;break}case 4014:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[y>>2]=le;if((f[y>>2]|0)<0|(f[y>>2]|0)>100)t=100;else{f[(f[ne>>2]|0)+8+32>>2]=f[y>>2];t=f[a>>2]|0;f[X>>2]=f[y>>2];qn(t,4014,X)|0;t=99}break}case 4015:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[_>>2]=le;if(f[_>>2]|0){f[f[_>>2]>>2]=f[(f[ne>>2]|0)+8+32>>2];t=99}else t=100;break}case 4006:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[m>>2]=le;if((f[m>>2]|0)<0|(f[m>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+136>>2]=f[m>>2];f[(f[ne>>2]|0)+8+48>>2]=1-(f[m>>2]|0);t=99}break}case 4007:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[E>>2]=le;if(f[E>>2]|0){f[f[E>>2]>>2]=f[(f[ne>>2]|0)+136>>2];t=99}else t=100;break}case 11018:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[S>>2]=le;if((f[S>>2]|0)<-1|(f[S>>2]|0)>100)t=100;else{f[(f[ne>>2]|0)+128>>2]=f[S>>2];t=99}break}case 11019:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[R>>2]=le;if(f[R>>2]|0){f[f[R>>2]>>2]=f[(f[ne>>2]|0)+128>>2];t=99}else t=100;break}case 4020:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[T>>2]=le;if((f[T>>2]|0)<0|(f[T>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+140>>2]=f[T>>2];t=99}break}case 4021:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[M>>2]=le;if(f[M>>2]|0){f[f[M>>2]>>2]=f[(f[ne>>2]|0)+140>>2];t=99}else t=100;break}case 4024:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[x>>2]=le;if((f[x>>2]|0)!=-1e3&(f[x>>2]|0)!=3001&(f[x>>2]|0)!=3002)t=100;else{f[(f[ne>>2]|0)+112>>2]=f[x>>2];t=99}break}case 4025:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[O>>2]=le;if(f[O>>2]|0){f[f[O>>2]>>2]=f[(f[ne>>2]|0)+112>>2];t=99}else t=100;break}case 4027:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[L>>2]=le;if(f[L>>2]|0){f[f[L>>2]>>2]=(f[(f[ne>>2]|0)+132>>2]|0)/400|0;if((f[(f[ne>>2]|0)+96>>2]|0)!=2051){t=f[L>>2]|0;f[t>>2]=(f[t>>2]|0)+(f[(f[ne>>2]|0)+104>>2]|0);t=99}else t=99}else t=100;break}case 4029:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[P>>2]=le;if(f[P>>2]|0){f[f[P>>2]>>2]=f[(f[ne>>2]|0)+132>>2];t=99}else t=100;break}case 4031:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[I>>2]=le;if(f[I>>2]|0){f[f[I>>2]>>2]=f[(f[ne>>2]|0)+18216>>2];t=99}else t=100;break}case 4036:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[C>>2]=le;if((f[C>>2]|0)<8|(f[C>>2]|0)>24)t=100;else{f[(f[ne>>2]|0)+156>>2]=f[C>>2];t=99}break}case 4037:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[B>>2]=le;if(f[B>>2]|0){f[f[B>>2]>>2]=f[(f[ne>>2]|0)+156>>2];t=99}else t=100;break}case 4040:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[j>>2]=le;if((f[j>>2]|0)!=5e3&(f[j>>2]|0)!=5001&(f[j>>2]|0)!=5002&(f[j>>2]|0)!=5003&(f[j>>2]|0)!=5004&(f[j>>2]|0)!=5005&(f[j>>2]|0)!=5006&(f[j>>2]|0)!=5010)t=100;else{f[(f[ne>>2]|0)+144>>2]=f[j>>2];t=f[a>>2]|0;f[$>>2]=f[j>>2];qn(t,4040,$)|0;t=99}break}case 4041:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[D>>2]=le;if(f[D>>2]|0){f[f[D>>2]>>2]=f[(f[ne>>2]|0)+144>>2];t=99}else t=100;break}case 4042:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[N>>2]=le;if((f[N>>2]|0)>1|(f[N>>2]|0)<0)t=100;else{f[(f[ne>>2]|0)+8+64>>2]=f[N>>2];t=99}break}case 4043:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[F>>2]=le;if(f[F>>2]|0){f[f[F>>2]>>2]=f[(f[ne>>2]|0)+8+64>>2];t=99}else t=100;break}case 4028:{f[l>>2]=(f[ne>>2]|0)+(f[(f[ne>>2]|0)+4>>2]|0);is((f[ne>>2]|0)+172|0);f[u>>2]=(f[ne>>2]|0)+14288;vs(f[u>>2]|0,0,18220-((f[u>>2]|0)-(f[ne>>2]|0))|0)|0;qn(f[a>>2]|0,4028,Q)|0;po(f[l>>2]|0,f[(f[ne>>2]|0)+168>>2]|0,o)|0;f[(f[ne>>2]|0)+14288>>2]=f[(f[ne>>2]|0)+100>>2];n[(f[ne>>2]|0)+14292>>1]=16384;s[(f[ne>>2]|0)+14300>>2]=1;f[(f[ne>>2]|0)+14344>>2]=1;f[(f[ne>>2]|0)+14320>>2]=1001;f[(f[ne>>2]|0)+14336>>2]=1105;t=(Ba(60)|0)<<8;f[(f[ne>>2]|0)+14296>>2]=t;t=99;break}case 11002:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[z>>2]=le;if(((f[z>>2]|0)<1e3|(f[z>>2]|0)>1002)&(f[z>>2]|0)!=-1e3)t=100;else{f[(f[ne>>2]|0)+124>>2]=f[z>>2];t=99}break}case 10024:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[Y>>2]=le;f[(f[ne>>2]|0)+164>>2]=f[Y>>2];t=f[a>>2]|0;f[ee>>2]=f[Y>>2];f[ae>>2]=qn(t,10024,ee)|0;t=99;break}case 10026:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[H>>2]=le;f[(f[ne>>2]|0)+14348>>2]=f[H>>2];t=f[a>>2]|0;f[re>>2]=(f[H>>2]|0)+((((f[H>>2]|0)-(f[H>>2]|0)|0)/4|0)<<2);f[ae>>2]=qn(t,10026,re)|0;t=99;break}case 10015:{ne=(f[t>>2]|0)+(4-1)&~(4-1);le=f[ne>>2]|0;f[t>>2]=ne+4;f[q>>2]=le;if(f[q>>2]|0){t=f[a>>2]|0;f[ie>>2]=(f[q>>2]|0)+((((f[q>>2]|0)-(f[q>>2]|0)|0)/4|0)<<2);f[ae>>2]=qn(t,10015,ie)|0;t=99}else t=100;break}default:{f[ae>>2]=-5;t=99}}}while(0);if((t|0)==99){f[fe>>2]=f[ae>>2];le=f[fe>>2]|0;h=oe;return le|0}else if((t|0)==100){f[fe>>2]=-1;le=f[fe>>2]|0;h=oe;return le|0}return 0}function Gl(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;f[(f[r>>2]|0)+4>>2]=0;h=i;return f[r>>2]|0}function Kl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;o=t+8|0;a=t+4|0;n=t;f[o>>2]=e;f[a>>2]=r;f[n>>2]=i;e=Xl(f[o>>2]|0,f[a>>2]|0,f[n>>2]|0,0)|0;h=t;return e|0}function Xl(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+24|0;l=d+20|0;s=d+16|0;u=d+12|0;c=d+8|0;k=d+28|0;b=d+4|0;w=d;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=n;if((f[u>>2]|0)<1){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}if(f[(f[l>>2]|0)+4>>2]|0){if(((a[f[l>>2]>>0]|0)&252|0)!=((a[f[s>>2]>>0]|0)&252|0)){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}}else{t[f[l>>2]>>0]=t[f[s>>2]>>0]|0;n=rl(f[s>>2]|0,8e3)|0;f[(f[l>>2]|0)+296>>2]=n}f[b>>2]=gl(f[s>>2]|0,f[u>>2]|0)|0;if((f[b>>2]|0)<1){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}if((re((f[b>>2]|0)+(f[(f[l>>2]|0)+4>>2]|0)|0,f[(f[l>>2]|0)+296>>2]|0)|0)>960){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}f[w>>2]=il(f[s>>2]|0,f[u>>2]|0,f[c>>2]|0,k,(f[l>>2]|0)+8+(f[(f[l>>2]|0)+4>>2]<<2)|0,(f[l>>2]|0)+200+(f[(f[l>>2]|0)+4>>2]<<1)|0,0,0)|0;if((f[w>>2]|0)<1){f[o>>2]=f[w>>2];k=f[o>>2]|0;h=d;return k|0}else{k=(f[l>>2]|0)+4|0;f[k>>2]=(f[k>>2]|0)+(f[b>>2]|0);f[o>>2]=0;k=f[o>>2]|0;h=d;return k|0}return 0}function $l(e,r,i,o,l,s,u){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;L=h;h=h+80|0;d=L+68|0;w=L+64|0;c=L+60|0;b=L+56|0;p=L+52|0;v=L+48|0;g=L+44|0;y=L+40|0;E=L+36|0;_=L+32|0;x=L+28|0;A=L+24|0;m=L+20|0;T=L+16|0;O=L+12|0;R=L+8|0;S=L+4|0;M=L;f[w>>2]=e;f[c>>2]=r;f[b>>2]=i;f[p>>2]=o;f[v>>2]=l;f[g>>2]=s;f[y>>2]=u;if(((f[c>>2]|0)>=0?(f[c>>2]|0)<(f[b>>2]|0):0)?(f[b>>2]|0)<=(f[(f[w>>2]|0)+4>>2]|0):0){f[_>>2]=(f[b>>2]|0)-(f[c>>2]|0);f[A>>2]=(f[w>>2]|0)+200+(f[c>>2]<<1);f[m>>2]=(f[w>>2]|0)+8+(f[c>>2]<<2);if(f[g>>2]|0)f[x>>2]=1+((n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0)>=252&1);else f[x>>2]=0;f[T>>2]=f[p>>2];do{if((f[_>>2]|0)!=1){if((f[_>>2]|0)==2){c=n[f[A>>2]>>1]|0;if((n[(f[A>>2]|0)+2>>1]|0)==(n[f[A>>2]>>1]|0)){f[x>>2]=(f[x>>2]|0)+((c<<1)+1);if((f[x>>2]|0)<=(f[v>>2]|0)){e=(a[f[w>>2]>>0]&252|1)&255;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}else{f[x>>2]=(f[x>>2]|0)+(c+(n[(f[A>>2]|0)+2>>1]|0)+2+((n[f[A>>2]>>1]|0)>=252&1));if((f[x>>2]|0)<=(f[v>>2]|0)){e=(a[f[w>>2]>>0]&252|2)&255;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;s=el(n[f[A>>2]>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+s;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}}else{f[x>>2]=(f[x>>2]|0)+((n[f[A>>2]>>1]|0)+1);if((f[x>>2]|0)<=(f[v>>2]|0)){e=a[f[w>>2]>>0]&252;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}while(0);if((f[_>>2]|0)<=2){if(f[y>>2]|0?(f[x>>2]|0)<(f[v>>2]|0):0)k=23}else k=23;e:do{if((k|0)==23){f[R>>2]=0;f[T>>2]=f[p>>2];if(f[g>>2]|0)f[x>>2]=1+((n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0)>=252&1);else f[x>>2]=0;f[O>>2]=0;f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;if((n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)!=(n[f[A>>2]>>1]|0)){k=29;break}f[E>>2]=(f[E>>2]|0)+1}if((k|0)==29)f[O>>2]=1;do{if(f[O>>2]|0){f[x>>2]=(f[x>>2]|0)+2;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-1|0))break;f[x>>2]=(f[x>>2]|0)+(1+((n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)>=252&1)+(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0));f[E>>2]=(f[E>>2]|0)+1}f[x>>2]=(f[x>>2]|0)+(n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0);if((f[x>>2]|0)<=(f[v>>2]|0)){k=(a[f[w>>2]>>0]&252|3)&255;w=f[T>>2]|0;f[T>>2]=w+1;t[w>>0]=k;w=(f[_>>2]|128)&255;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=w;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}else{k=(re(f[_>>2]|0,n[f[A>>2]>>1]|0)|0)+2|0;f[x>>2]=(f[x>>2]|0)+k;if((f[x>>2]|0)<=(f[v>>2]|0)){k=(a[f[w>>2]>>0]&252|3)&255;w=f[T>>2]|0;f[T>>2]=w+1;t[w>>0]=k;w=f[_>>2]&255;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=w;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}while(0);if(f[y>>2]|0)c=(f[v>>2]|0)-(f[x>>2]|0)|0;else c=0;f[R>>2]=c;if(f[R>>2]|0){k=(f[p>>2]|0)+1|0;t[k>>0]=a[k>>0]|64;f[S>>2]=((f[R>>2]|0)-1|0)/255|0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[S>>2]|0))break;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=-1;f[E>>2]=(f[E>>2]|0)+1}k=(f[R>>2]|0)-((f[S>>2]|0)*255|0)-1&255;S=f[T>>2]|0;f[T>>2]=S+1;t[S>>0]=k;f[x>>2]=(f[x>>2]|0)+(f[R>>2]|0)}if(f[O>>2]|0){f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-1|0))break e;O=el(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+O;f[E>>2]=(f[E>>2]|0)+1}}}}while(0);if(f[g>>2]|0){f[M>>2]=el(n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+(f[M>>2]|0)}f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;ys(f[T>>2]|0,f[(f[m>>2]|0)+(f[E>>2]<<2)>>2]|0,(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)+0|0)|0;f[T>>2]=(f[T>>2]|0)+(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0);f[E>>2]=(f[E>>2]|0)+1}e:do{if(f[y>>2]|0)while(1){if((f[T>>2]|0)>>>0>=((f[p>>2]|0)+(f[v>>2]|0)|0)>>>0)break e;O=f[T>>2]|0;f[T>>2]=O+1;t[O>>0]=0}}while(0);f[d>>2]=f[x>>2];O=f[d>>2]|0;h=L;return O|0}f[d>>2]=-1;O=f[d>>2]|0;h=L;return O|0}function Ql(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+320|0;t=u+316|0;n=u+312|0;a=u+308|0;o=u+304|0;s=u+4|0;l=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[a>>2]|0)<1){f[t>>2]=-1;s=f[t>>2]|0;h=u;return s|0}if((f[a>>2]|0)==(f[o>>2]|0)){f[t>>2]=0;s=f[t>>2]|0;h=u;return s|0}if((f[a>>2]|0)>(f[o>>2]|0)){f[t>>2]=-1;s=f[t>>2]|0;h=u;return s|0}Gl(s)|0;ys((f[n>>2]|0)+(f[o>>2]|0)+(0-(f[a>>2]|0))|0,f[n>>2]|0,(f[a>>2]|0)+0|0)|0;Kl(s,(f[n>>2]|0)+(f[o>>2]|0)+(0-(f[a>>2]|0))|0,f[a>>2]|0)|0;f[l>>2]=$l(s,0,f[s+4>>2]|0,f[n>>2]|0,f[o>>2]|0,0,1)|0;if((f[l>>2]|0)>0){f[t>>2]=0;s=f[t>>2]|0;h=u;return s|0}else{f[t>>2]=f[l>>2];s=f[t>>2]|0;h=u;return s|0}return 0}function es(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=rs()|0;f[f[i>>2]>>2]=e;is(f[i>>2]|0);h=r;return}function rs(){return 0}function is(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=(f[i>>2]|0)+4;vs(f[t>>2]|0,0,14116-((f[t>>2]|0)-(f[i>>2]|0))|0)|0;h=r;return}function ts(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;a=b+24|0;o=b+20|0;t=b+16|0;n=b+12|0;l=b+8|0;c=b+4|0;u=b;f[a>>2]=e;f[o>>2]=r;f[t>>2]=i;f[n>>2]=f[(f[a>>2]|0)+8508>>2];f[l>>2]=(f[(f[a>>2]|0)+8504>>2]|0)-(f[(f[a>>2]|0)+8508>>2]|0);if((f[l>>2]|0)<0)f[l>>2]=(f[l>>2]|0)+200;if((f[t>>2]|0)>480?(f[n>>2]|0)!=(f[(f[a>>2]|0)+8504>>2]|0):0){e=(f[n>>2]|0)+1|0;f[n>>2]=e;f[n>>2]=(f[n>>2]|0)==200?0:e}if((f[n>>2]|0)==(f[(f[a>>2]|0)+8504>>2]|0))f[n>>2]=(f[n>>2]|0)+-1;if((f[n>>2]|0)<0)f[n>>2]=199;gs(f[o>>2]|0,(f[a>>2]|0)+8516+((f[n>>2]|0)*28|0)|0,28|0)|0;e=(f[a>>2]|0)+8512|0;f[e>>2]=(f[e>>2]|0)+((f[t>>2]|0)/120|0);while(1){t=f[a>>2]|0;if((f[(f[a>>2]|0)+8512>>2]|0)<4)break;e=t+8512|0;f[e>>2]=(f[e>>2]|0)-4;e=(f[a>>2]|0)+8508|0;f[e>>2]=(f[e>>2]|0)+1}if((f[t+8508>>2]|0)>=200){e=(f[a>>2]|0)+8508|0;f[e>>2]=(f[e>>2]|0)-200}f[l>>2]=((f[l>>2]|0)-10|0)>0?(f[l>>2]|0)-10|0:0;s[c>>2]=0;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(200-(f[l>>2]|0)|0))break;s[c>>2]=+s[c>>2]+ +s[(f[a>>2]|0)+7688+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}while(1){if((f[u>>2]|0)>=200)break;s[c>>2]=+s[c>>2]+ +s[(f[a>>2]|0)+6888+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[c>>2]=+s[c>>2]*+s[(f[a>>2]|0)+8492>>2]+(1-+s[c>>2])*+s[(f[a>>2]|0)+8488>>2];s[(f[o>>2]|0)+20>>2]=+s[c>>2];h=b;return}function ns(e,r,i,t,n,a,o,l,s,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+64|0;k=M+52|0;d=M+48|0;g=M+44|0;y=M+40|0;_=M+36|0;m=M+32|0;E=M+28|0;A=M+24|0;w=M+20|0;S=M+16|0;p=M+12|0;v=M+8|0;R=M+4|0;T=M;f[k>>2]=e;f[d>>2]=r;f[g>>2]=i;f[y>>2]=t;f[_>>2]=n;f[m>>2]=a;f[E>>2]=o;f[A>>2]=l;f[w>>2]=s;f[S>>2]=u;f[p>>2]=c;f[v>>2]=b;if(!(f[g>>2]|0)){S=f[v>>2]|0;f[S>>2]=0;S=f[k>>2]|0;R=f[v>>2]|0;T=f[_>>2]|0;ts(S,R,T);h=M;return}if((((f[w>>2]|0)*195|0)/100|0|0)<(f[y>>2]|0))w=((f[w>>2]|0)*195|0)/100|0;else w=f[y>>2]|0;f[y>>2]=w;f[T>>2]=(f[y>>2]|0)-(f[(f[k>>2]|0)+6884>>2]|0);f[R>>2]=f[(f[k>>2]|0)+6884>>2];do{fs(f[k>>2]|0,f[d>>2]|0,f[g>>2]|0,480<(f[T>>2]|0)?480:f[T>>2]|0,f[R>>2]|0,f[m>>2]|0,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[p>>2]|0);f[R>>2]=(f[R>>2]|0)+480;f[T>>2]=(f[T>>2]|0)-480}while((f[T>>2]|0)>0);f[(f[k>>2]|0)+6884>>2]=f[y>>2];S=(f[k>>2]|0)+6884|0;f[S>>2]=(f[S>>2]|0)-(f[_>>2]|0);S=f[v>>2]|0;f[S>>2]=0;S=f[k>>2]|0;R=f[v>>2]|0;T=f[_>>2]|0;ts(S,R,T);h=M;return}function fs(e,r,i,t,n,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,qe=0,We=0,Ze=0,Ve=0,Je=0;Je=h;h=h+10192|0;He=Je+10180|0;w=Je+10176|0;k=Je+10172|0;d=Je+10168|0;p=Je+10164|0;v=Je+10160|0;g=Je+10156|0;y=Je+10152|0;V=Je+10148|0;_=Je+10144|0;Oe=Je+10140|0;pe=Je+10136|0;D=Je+10132|0;oe=Je+10128|0;E=Je+10124|0;m=Je+10120|0;C=Je+10116|0;L=Je+10112|0;X=Je+10040|0;ge=Je+9968|0;Ee=Je+9936|0;Se=Je+9836|0;Te=Je+9832|0;ye=Je+9828|0;Ze=Je+9824|0;Me=Je+9816|0;Re=Je+9812|0;_e=Je+9808|0;Ye=Je+9800|0;Ae=Je+9796|0;de=Je+9792|0;le=Je+9788|0;ve=Je+9784|0;he=Je+9780|0;We=Je+9776|0;be=Je+9772|0;we=Je+9768|0;W=Je+9764|0;Ve=Je+9760|0;j=Je+5920|0;ke=Je+2080|0;ne=Je+1120|0;re=Je+160|0;Z=Je+152|0;S=Je+148|0;T=Je+144|0;A=Je+140|0;R=Je+136|0;M=Je+132|0;U=Je+128|0;P=Je+124|0;x=Je+120|0;B=Je+116|0;I=Je+112|0;N=Je+108|0;F=Je+104|0;O=Je+100|0;J=Je+96|0;te=Je+92|0;ee=Je+88|0;G=Je+84|0;K=Je+80|0;ie=Je+76|0;$=Je+72|0;ae=Je+68|0;ue=Je+64|0;se=Je+60|0;ce=Je+56|0;me=Je+52|0;Fe=Je+48|0;xe=Je+44|0;Ce=Je+40|0;Ue=Je+36|0;De=Je+32|0;Le=Je+28|0;Be=Je+24|0;Ne=Je+20|0;Pe=Je+16|0;Ie=Je+12|0;je=Je+8|0;ze=Je+4|0;qe=Je;f[He>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=n;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[V>>2]=u;f[_>>2]=c;f[oe>>2]=480;f[E>>2]=240;f[m>>2]=(f[He>>2]|0)+4;f[C>>2]=(f[He>>2]|0)+964;f[L>>2]=(f[He>>2]|0)+1924;s[Je+9820>>2]=97.40908813476562;s[Me>>2]=0;f[We>>2]=0;s[be>>2]=0;i=(f[He>>2]|0)+6864|0;f[i>>2]=(f[i>>2]|0)+1;if(20<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=20;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[Ae>>2]=1/+(l|0);if(50<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=50;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[de>>2]=1/+(l|0);if(1e3<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=1e3;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[le>>2]=1/+(l|0);if((f[(f[He>>2]|0)+6868>>2]|0)<4)s[(f[He>>2]|0)+6844>>2]=.5;f[D>>2]=f[(f[w>>2]|0)+64+8>>2];if(!(f[(f[He>>2]|0)+6868>>2]|0))f[(f[He>>2]|0)+5764>>2]=240;if((f[d>>2]|0)<(720-(f[(f[He>>2]|0)+5764>>2]|0)|0))l=f[d>>2]|0;else l=720-(f[(f[He>>2]|0)+5764>>2]|0)|0;Cs[f[_>>2]&3](f[k>>2]|0,(f[He>>2]|0)+2884+(f[(f[He>>2]|0)+5764>>2]<<2)|0,l,f[p>>2]|0,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0);if(((f[(f[He>>2]|0)+5764>>2]|0)+(f[d>>2]|0)|0)<720){Ve=(f[He>>2]|0)+5764|0;f[Ve>>2]=(f[Ve>>2]|0)+(f[d>>2]|0);h=Je;return}i=(f[He>>2]|0)+8504|0;w=f[i>>2]|0;f[i>>2]=w+1;f[Ve>>2]=(f[He>>2]|0)+8516+(w*28|0);if((f[(f[He>>2]|0)+8504>>2]|0)>=200){w=(f[He>>2]|0)+8504|0;f[w>>2]=(f[w>>2]|0)-200}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=(f[E>>2]|0))break;s[Z>>2]=+s[18176+(f[Oe>>2]<<2)>>2];s[j+(f[Oe>>2]<<3)>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+(f[Oe>>2]<<2)>>2];s[j+(f[Oe>>2]<<3)+4>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[E>>2]|0)+(f[Oe>>2]|0)<<2)>>2];s[j+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<3)>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<2)>>2];s[j+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<3)+4>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[oe>>2]|0)+(f[E>>2]|0)-(f[Oe>>2]|0)-1<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}ys((f[He>>2]|0)+2884|0,(f[He>>2]|0)+2884+2880+-960|0,960|0)|0;f[W>>2]=(f[d>>2]|0)-(720-(f[(f[He>>2]|0)+5764>>2]|0));Cs[f[_>>2]&3](f[k>>2]|0,(f[He>>2]|0)+2884+960|0,f[W>>2]|0,(f[p>>2]|0)+720-(f[(f[He>>2]|0)+5764>>2]|0)|0,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0);f[(f[He>>2]|0)+5764>>2]=240+(f[W>>2]|0);ur(f[D>>2]|0,j,ke);if(+s[ke>>2]!=+s[ke>>2]){f[f[Ve>>2]>>2]=0;h=Je;return}f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=(f[E>>2]|0))break;s[S>>2]=+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2];s[A>>2]=+s[ke+(f[Oe>>2]<<3)+4>>2]-+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[T>>2]=+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[R>>2]=+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]-+s[ke+(f[Oe>>2]<<3)>>2];s[M>>2]=+as(+s[A>>2],+s[S>>2])*.15915493667125702;s[U>>2]=+s[M>>2]-+s[(f[m>>2]|0)+(f[Oe>>2]<<2)>>2];s[P>>2]=+s[U>>2]-+s[(f[C>>2]|0)+(f[Oe>>2]<<2)>>2];s[x>>2]=+as(+s[R>>2],+s[T>>2])*.15915493667125702;s[B>>2]=+s[x>>2]-+s[M>>2];s[I>>2]=+s[B>>2]-+s[U>>2];s[N>>2]=+s[P>>2]-+z(+(+s[P>>2]+.5));b=+Y(+ +s[N>>2]);s[re+(f[Oe>>2]<<2)>>2]=b;s[N>>2]=+s[N>>2]*+s[N>>2];s[N>>2]=+s[N>>2]*+s[N>>2];s[F>>2]=+s[I>>2]-+z(+(+s[I>>2]+.5));b=+Y(+ +s[F>>2]);Z=re+(f[Oe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]+b;s[F>>2]=+s[F>>2]*+s[F>>2];s[F>>2]=+s[F>>2]*+s[F>>2];s[O>>2]=(+s[(f[L>>2]|0)+(f[Oe>>2]<<2)>>2]+ +s[N>>2]*2+ +s[F>>2])*.25;s[ne+(f[Oe>>2]<<2)>>2]=1/(+s[O>>2]*62341.81640625+1)-.014999999664723873;s[(f[m>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[x>>2];s[(f[C>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[B>>2];s[(f[L>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[F>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Te>>2]=0;s[ye>>2]=0;s[(f[Ve>>2]|0)+16>>2]=0;s[Ze>>2]=0;s[Re>>2]=0;e:do{if(!(f[(f[He>>2]|0)+6868>>2]|0)){f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=18)break e;s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]=1e10;s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]=-1e10;f[pe>>2]=(f[pe>>2]|0)+1}}}while(0);s[_e>>2]=0;s[ve>>2]=0;f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=18)break;s[J>>2]=0;s[te>>2]=0;s[ee>>2]=0;f[Oe>>2]=f[19136+(f[pe>>2]<<2)>>2];while(1){if((f[Oe>>2]|0)>=(f[19136+((f[pe>>2]|0)+1<<2)>>2]|0))break;s[$>>2]=+s[ke+(f[Oe>>2]<<3)>>2]*+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]+ +s[ke+(f[Oe>>2]<<3)+4>>2]*+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[J>>2]=+s[J>>2]+ +s[$>>2];s[te>>2]=+s[te>>2]+ +s[$>>2]*+s[ne+(f[Oe>>2]<<2)>>2];s[ee>>2]=+s[ee>>2]+ +s[$>>2]*2*(.5-+s[re+(f[Oe>>2]<<2)>>2]);f[Oe>>2]=(f[Oe>>2]|0)+1}if(!(+s[J>>2]<1e9)){fe=37;break}if(+s[J>>2]!=+s[J>>2]){fe=37;break}s[(f[He>>2]|0)+5844+((f[(f[He>>2]|0)+6856>>2]|0)*72|0)+(f[pe>>2]<<2)>>2]=+s[J>>2];s[Ze>>2]=+s[Ze>>2]+ +s[ee>>2]/(+s[J>>2]+1.0000000036274937e-15);b=+H(+(+s[J>>2]+1.000000013351432e-10));s[ve>>2]=+s[ve>>2]+b;b=+Q(+(+s[J>>2]+1.000000013351432e-10));s[ge+(f[pe>>2]<<2)>>2]=b;l=f[pe>>2]|0;if(+s[ge+(f[pe>>2]<<2)>>2]<+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]+.009999999776482582)b=+s[ge+(l<<2)>>2];else b=+s[(f[He>>2]|0)+6420+(l<<2)>>2]+.009999999776482582;s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]=b;l=f[pe>>2]|0;if(+s[ge+(f[pe>>2]<<2)>>2]>+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]-.10000000149011612)b=+s[ge+(l<<2)>>2];else b=+s[(f[He>>2]|0)+6492+(l<<2)>>2]-.10000000149011612;s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]=b;if(+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]<+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]+1){Z=(f[He>>2]|0)+6492+(f[pe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]+.5;Z=(f[He>>2]|0)+6420+(f[pe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]-.5}s[_e>>2]=+s[_e>>2]+(+s[ge+(f[pe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2])/(+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]+1.0000000036274937e-15-+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]);s[K>>2]=0;s[G>>2]=0;f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;b=+H(+ +s[(f[He>>2]|0)+5844+((f[Oe>>2]|0)*72|0)+(f[pe>>2]<<2)>>2]);s[G>>2]=+s[G>>2]+b;s[K>>2]=+s[K>>2]+ +s[(f[He>>2]|0)+5844+((f[Oe>>2]|0)*72|0)+(f[pe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}if(.9900000095367432<+s[G>>2]/+H(+(+s[K>>2]*8+1e-15)))b=.9900000095367432;else b=+s[G>>2]/+H(+(+s[K>>2]*8+1e-15));s[ie>>2]=b;s[ie>>2]=+s[ie>>2]*+s[ie>>2];s[ie>>2]=+s[ie>>2]*+s[ie>>2];s[Re>>2]=+s[Re>>2]+ +s[ie>>2];if(+s[te>>2]/(+s[J>>2]+1.0000000036274937e-15)>+s[ie>>2]*+s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2])b=+s[te>>2]/(+s[J>>2]+1.0000000036274937e-15);else b=+s[ie>>2]*+s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2];s[X+(f[pe>>2]<<2)>>2]=b;s[Te>>2]=+s[Te>>2]+ +s[X+(f[pe>>2]<<2)>>2];if((f[pe>>2]|0)>=9)s[Te>>2]=+s[Te>>2]-+s[X+((f[pe>>2]|0)-18+9<<2)>>2];if(+s[ye>>2]>(+((f[pe>>2]|0)-18|0)*.029999999329447746+1)*+s[Te>>2])b=+s[ye>>2];else b=(+((f[pe>>2]|0)-18|0)*.029999999329447746+1)*+s[Te>>2];s[ye>>2]=b;s[Me>>2]=+s[Me>>2]+ +s[X+(f[pe>>2]<<2)>>2]*+((f[pe>>2]|0)-8|0);s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2]=+s[X+(f[pe>>2]<<2)>>2];f[pe>>2]=(f[pe>>2]|0)+1}if((fe|0)==37){f[f[Ve>>2]>>2]=0;h=Je;return}s[he>>2]=0;f[We>>2]=0;s[be>>2]=0;s[we>>2]=.0005699999746866524/+(1<<(0>((f[V>>2]|0)-8|0)?0:(f[V>>2]|0)-8|0)|0);s[we>>2]=+s[we>>2]*+s[we>>2];f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=21)break;s[ae>>2]=0;f[ue>>2]=f[19212+(f[pe>>2]<<2)>>2];f[se>>2]=f[19212+((f[pe>>2]|0)+1<<2)>>2];f[Oe>>2]=f[ue>>2];while(1){if((f[Oe>>2]|0)>=(f[se>>2]|0))break;s[ce>>2]=+s[ke+(f[Oe>>2]<<3)>>2]*+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]+ +s[ke+(f[Oe>>2]<<3)+4>>2]*+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[ae>>2]=+s[ae>>2]+ +s[ce>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[be>>2]=+s[be>>2]>+s[ae>>2]?+s[be>>2]:+s[ae>>2];if((1-+s[le>>2])*+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2]>+s[ae>>2])b=(1-+s[le>>2])*+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2];else b=+s[ae>>2];s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2]=b;if(+s[ae>>2]>+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2])b=+s[ae>>2];else b=+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2];s[ae>>2]=b;s[he>>2]=+s[he>>2]*.05000000074505806>+s[ae>>2]?+s[he>>2]*.05000000074505806:+s[ae>>2];if((+s[ae>>2]>+s[he>>2]*.1?+s[ae>>2]*1e9>+s[be>>2]:0)?+s[ae>>2]>+s[we>>2]*+((f[se>>2]|0)-(f[ue>>2]|0)|0):0)f[We>>2]=f[pe>>2];f[pe>>2]=(f[pe>>2]|0)+1}if((f[(f[He>>2]|0)+6868>>2]|0)<=2)f[We>>2]=20;s[ve>>2]=+hs(+s[ve>>2])*20;if(+s[(f[He>>2]|0)+6848>>2]-.029999999329447746>+s[ve>>2])b=+s[(f[He>>2]|0)+6848>>2]-.029999999329447746;else b=+s[ve>>2];s[(f[He>>2]|0)+6848>>2]=b;ke=(f[He>>2]|0)+6852|0;s[ke>>2]=+s[ke>>2]*(1-+s[de>>2]);if(+s[ve>>2]<+s[(f[He>>2]|0)+6848>>2]-30){ve=(f[He>>2]|0)+6852|0;s[ve>>2]=+s[ve>>2]+ +s[de>>2]}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;s[me>>2]=0;f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=16)break;s[me>>2]=+s[me>>2]+ +s[19300+((f[Oe>>2]<<4)+(f[pe>>2]|0)<<2)>>2]*+s[ge+(f[pe>>2]<<2)>>2];f[pe>>2]=(f[pe>>2]|0)+1}s[Ee+(f[Oe>>2]<<2)>>2]=+s[me>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Re>>2]=+s[Re>>2]/18;b=+s[_e>>2]/18;s[_e>>2]=b;s[_e>>2]=(f[(f[He>>2]|0)+6868>>2]|0)<10?.5:b;s[Ze>>2]=+s[Ze>>2]/18;s[(f[Ve>>2]|0)+16>>2]=+s[Ze>>2]+(1-+s[Ze>>2])*+s[_e>>2];s[Te>>2]=+s[ye>>2]/9;if(+s[Te>>2]>+s[(f[He>>2]|0)+5840>>2]*.800000011920929)b=+s[Te>>2];else b=+s[(f[He>>2]|0)+5840>>2]*.800000011920929;s[Te>>2]=b;s[(f[He>>2]|0)+5840>>2]=+s[Te>>2];s[Me>>2]=+s[Me>>2]/64;s[(f[Ve>>2]|0)+8>>2]=+s[Me>>2];f[(f[He>>2]|0)+6856>>2]=((f[(f[He>>2]|0)+6856>>2]|0)+1|0)%8|0;Me=(f[He>>2]|0)+6868|0;f[Me>>2]=(f[Me>>2]|0)+1;s[(f[Ve>>2]|0)+4>>2]=+s[Te>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[Se+(f[Oe>>2]<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*-.12298999726772308+(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.49195000529289246+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]*.6969299912452698-+s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]*1.4349000453948975;f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]=(1-+s[Ae>>2])*+s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]+ +s[Ae>>2]*+s[Ee+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[Se+(4+(f[Oe>>2]|0)<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*.6324599981307983+(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.31622999906539917;f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=3)break;s[Se+(8+(f[Oe>>2]|0)<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*.5345199704170227-(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.26725998520851135-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]*.5345199704170227;f[Oe>>2]=(f[Oe>>2]|0)+1}e:do{if((f[(f[He>>2]|0)+6868>>2]|0)>5){f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=9)break e;s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]=(1-+s[Ae>>2])*+s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]+ +s[Ae>>2]*+s[Se+(f[Oe>>2]<<2)>>2]*+s[Se+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}}}while(0);f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2]=+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2];s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2]=+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2];s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]=+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2];s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]=+s[Ee+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=9)break;b=+H(+ +s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]);s[Se+(11+(f[Oe>>2]|0)<<2)>>2]=b;f[Oe>>2]=(f[Oe>>2]|0)+1}s[Se+80>>2]=+s[(f[Ve>>2]|0)+4>>2];s[Se+84>>2]=+s[(f[Ve>>2]|0)+16>>2];s[Se+88>>2]=+s[Re>>2];s[Se+92>>2]=+s[(f[Ve>>2]|0)+8>>2];s[Se+96>>2]=+s[(f[He>>2]|0)+6852>>2];os(20616,Se,Ye);s[Ye>>2]=(+s[Ye>>2]+1)*.5;s[Ye>>2]=+s[Ye>>2]*1.2100000381469727*+s[Ye>>2]+.009999999776482582-+q(+ +s[Ye>>2],10)*.23000000417232513;s[Ye+4>>2]=+s[Ye+4>>2]*.5+.5;s[Ye>>2]=+s[Ye+4>>2]*+s[Ye>>2]+(1-+s[Ye+4>>2])*.5;s[Fe>>2]=+s[Ye+4>>2]*4999999873689376e-20;s[xe>>2]=.05000000074505806;if(.05000000074505806>(.949999988079071<+s[Ye>>2]?.949999988079071:+s[Ye>>2]))b=.05000000074505806;else b=.949999988079071<+s[Ye>>2]?.949999988079071:+s[Ye>>2];s[Ie>>2]=b;if(.949999988079071<+s[(f[He>>2]|0)+6844>>2])b=.949999988079071;else b=+s[(f[He>>2]|0)+6844>>2];if(!(.05000000074505806>b))if(.949999988079071<+s[(f[He>>2]|0)+6844>>2])b=.949999988079071;else b=+s[(f[He>>2]|0)+6844>>2];else b=.05000000074505806;s[je>>2]=b;b=+Y(+(+s[Ie>>2]-+s[je>>2]))*.05000000074505806;s[xe>>2]=b/(+s[Ie>>2]*(1-+s[je>>2])+ +s[je>>2]*(1-+s[Ie>>2]))+.009999999776482582;s[Ce>>2]=(1-+s[(f[He>>2]|0)+6844>>2])*(1-+s[Fe>>2])+ +s[(f[He>>2]|0)+6844>>2]*+s[Fe>>2];s[Ue>>2]=+s[(f[He>>2]|0)+6844>>2]*(1-+s[Fe>>2])+(1-+s[(f[He>>2]|0)+6844>>2])*+s[Fe>>2];b=+q(+(1-+s[Ye>>2]),+ +s[xe>>2]);s[Ce>>2]=+s[Ce>>2]*b;b=+q(+ +s[Ye>>2],+ +s[xe>>2]);s[Ue>>2]=+s[Ue>>2]*b;s[(f[He>>2]|0)+6844>>2]=+s[Ue>>2]/(+s[Ce>>2]+ +s[Ue>>2]);s[(f[Ve>>2]|0)+20>>2]=+s[(f[He>>2]|0)+6844>>2];s[Be>>2]=9.999999682655225e-21;s[Ne>>2]=+q(+(1-+s[Ye>>2]),+ +s[xe>>2]);s[Pe>>2]=+q(+ +s[Ye>>2],+ +s[xe>>2]);if((f[(f[He>>2]|0)+6868>>2]|0)==1){s[(f[He>>2]|0)+6888>>2]=.5;s[(f[He>>2]|0)+7688>>2]=.5}s[De>>2]=+s[(f[He>>2]|0)+6888>>2]+ +s[(f[He>>2]|0)+6888+4>>2];s[Le>>2]=+s[(f[He>>2]|0)+7688>>2]+ +s[(f[He>>2]|0)+7688+4>>2];s[(f[He>>2]|0)+6888>>2]=+s[De>>2]*(1-+s[Fe>>2])*+s[Ne>>2];s[(f[He>>2]|0)+7688>>2]=+s[Le>>2]*(1-+s[Fe>>2])*+s[Pe>>2];f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=199)break;s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2]=+s[(f[He>>2]|0)+6888+((f[Oe>>2]|0)+1<<2)>>2]*+s[Ne>>2];s[(f[He>>2]|0)+7688+(f[Oe>>2]<<2)>>2]=+s[(f[He>>2]|0)+7688+((f[Oe>>2]|0)+1<<2)>>2]*+s[Pe>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[(f[He>>2]|0)+6888+796>>2]=+s[Le>>2]*+s[Fe>>2]*+s[Ne>>2];s[(f[He>>2]|0)+7688+796>>2]=+s[De>>2]*+s[Fe>>2]*+s[Pe>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=200)break;s[Be>>2]=+s[Be>>2]+(+s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+7688+(f[Oe>>2]<<2)>>2]);f[Oe>>2]=(f[Oe>>2]|0)+1}s[Be>>2]=1/+s[Be>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=200)break;Fe=(f[He>>2]|0)+6888+(f[Oe>>2]<<2)|0;s[Fe>>2]=+s[Fe>>2]*+s[Be>>2];Fe=(f[He>>2]|0)+7688+(f[Oe>>2]<<2)|0;s[Fe>>2]=+s[Fe>>2]*+s[Be>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Be>>2]=+s[(f[He>>2]|0)+7688>>2];f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=200)break;s[Be>>2]=+s[Be>>2]+ +s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}l=f[He>>2]|0;do{if(+s[Ye+4>>2]>.75){if(+s[l+6844>>2]>.9){Ne=(f[He>>2]|0)+8500|0;Fe=(f[Ne>>2]|0)+1|0;f[Ne>>2]=Fe;s[ze>>2]=1/+(Fe|0);if((f[(f[He>>2]|0)+8500>>2]|0)<500)l=f[(f[He>>2]|0)+8500>>2]|0;else l=500;f[(f[He>>2]|0)+8500>>2]=l;if(-.20000000298023224>+s[Ye>>2]-+s[(f[He>>2]|0)+8492>>2])b=-.20000000298023224;else b=+s[Ye>>2]-+s[(f[He>>2]|0)+8492>>2];Fe=(f[He>>2]|0)+8492|0;s[Fe>>2]=+s[Fe>>2]+ +s[ze>>2]*b}if(!(+s[(f[He>>2]|0)+6844>>2]<.1))break;Fe=(f[He>>2]|0)+8496|0;ze=(f[Fe>>2]|0)+1|0;f[Fe>>2]=ze;s[qe>>2]=1/+(ze|0);if((f[(f[He>>2]|0)+8496>>2]|0)<500)l=f[(f[He>>2]|0)+8496>>2]|0;else l=500;f[(f[He>>2]|0)+8496>>2]=l;if(.20000000298023224<+s[Ye>>2]-+s[(f[He>>2]|0)+8488>>2])b=.20000000298023224;else b=+s[Ye>>2]-+s[(f[He>>2]|0)+8488>>2];Ye=(f[He>>2]|0)+8488|0;s[Ye>>2]=+s[Ye>>2]+ +s[qe>>2]*b}else{if(!(f[l+8500>>2]|0))s[(f[He>>2]|0)+8492>>2]=.8999999761581421;if(f[(f[He>>2]|0)+8496>>2]|0)break;s[(f[He>>2]|0)+8488>>2]=.10000000149011612}}while(0);if((f[(f[He>>2]|0)+6860>>2]|0)!=(+s[(f[He>>2]|0)+6844>>2]>.5|0))f[(f[He>>2]|0)+6864>>2]=0;f[(f[He>>2]|0)+6860>>2]=+s[(f[He>>2]|0)+6844>>2]>.5&1;f[(f[Ve>>2]|0)+24>>2]=f[We>>2];s[(f[Ve>>2]|0)+12>>2]=+s[Ze>>2];f[f[Ve>>2]>>2]=1;h=Je;return}function as(e,r){e=+e;r=+r;var i=0,t=0,n=0,f=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;i=u+24|0;t=u+20|0;n=u+16|0;o=u+12|0;l=u+8|0;f=u+4|0;a=u;s[t>>2]=e;s[n>>2]=r;e=+Y(+ +s[n>>2]);if(e+ +Y(+ +s[t>>2])<9.999999717180685e-10){s[n>>2]=+s[n>>2]*999999995904;s[t>>2]=+s[t>>2]*999999995904}s[o>>2]=+s[n>>2]*+s[n>>2];s[l>>2]=+s[t>>2]*+s[t>>2];if(+s[o>>2]<+s[l>>2]){s[f>>2]=(+s[l>>2]+ +s[o>>2]*.6784840226173401)*(+s[l>>2]+ +s[o>>2]*.0859554186463356);if(+s[f>>2]!=0){s[i>>2]=-+s[n>>2]*+s[t>>2]*(+s[l>>2]+ +s[o>>2]*.43157973885536194)/+s[f>>2]+(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}else{s[i>>2]=+s[t>>2]<0?-1.5707963705062866:1.5707963705062866;e=+s[i>>2];h=u;return+e}}else{s[a>>2]=(+s[o>>2]+ +s[l>>2]*.6784840226173401)*(+s[o>>2]+ +s[l>>2]*.0859554186463356);if(+s[a>>2]!=0){s[i>>2]=+s[n>>2]*+s[t>>2]*(+s[o>>2]+ +s[l>>2]*.43157973885536194)/+s[a>>2]+(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866)-(+s[n>>2]*+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}else{s[i>>2]=(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866)-(+s[n>>2]*+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}}return 0}function os(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+448|0;l=p+436|0;n=p+432|0;u=p+428|0;w=p+424|0;b=p+24|0;c=p+16|0;a=p+12|0;o=p+8|0;k=p+4|0;d=p;f[l>>2]=e;f[n>>2]=r;f[u>>2]=i;f[c>>2]=f[(f[l>>2]|0)+8>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+4>>2]|0))break;i=f[c>>2]|0;f[c>>2]=i+4;s[o>>2]=+s[i>>2];f[a>>2]=0;while(1){t=+s[o>>2];if((f[a>>2]|0)>=(f[f[(f[l>>2]|0)+4>>2]>>2]|0))break;v=+s[(f[n>>2]|0)+(f[a>>2]<<2)>>2];i=f[c>>2]|0;f[c>>2]=i+4;s[o>>2]=t+v*+s[i>>2];f[a>>2]=(f[a>>2]|0)+1}v=+ls(t);s[b+(f[w>>2]<<2)>>2]=v;f[w>>2]=(f[w>>2]|0)+1}f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+8>>2]|0))break;o=f[c>>2]|0;f[c>>2]=o+4;s[d>>2]=+s[o>>2];f[k>>2]=0;while(1){t=+s[d>>2];if((f[k>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+4>>2]|0))break;v=+s[b+(f[k>>2]<<2)>>2];o=f[c>>2]|0;f[c>>2]=o+4;s[d>>2]=t+v*+s[o>>2];f[k>>2]=(f[k>>2]|0)+1}v=+ls(t);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=v;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function ls(e){e=+e;var r=0,i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;r=l+20|0;i=l+16|0;n=l+12|0;o=l+8|0;t=l+4|0;a=l;s[i>>2]=e;s[a>>2]=1;if(!(+s[i>>2]<8)){s[r>>2]=1;e=+s[r>>2];h=l;return+e}if(!(+s[i>>2]>-8)){s[r>>2]=-1;e=+s[r>>2];h=l;return+e}if(+s[i>>2]!=+s[i>>2]){s[r>>2]=0;e=+s[r>>2];h=l;return+e}if(+s[i>>2]<0){s[i>>2]=-+s[i>>2];s[a>>2]=-1}f[n>>2]=~~+z(+(+s[i>>2]*25+.5));s[i>>2]=+s[i>>2]-+(f[n>>2]|0)*.03999999910593033;s[o>>2]=+s[19812+(f[n>>2]<<2)>>2];s[t>>2]=1-+s[o>>2]*+s[o>>2];s[o>>2]=+s[o>>2]+ +s[i>>2]*+s[t>>2]*(1-+s[o>>2]*+s[i>>2]);s[r>>2]=+s[a>>2]*+s[o>>2];e=+s[r>>2];h=l;return+e}function ss(){var e=0;if(!(f[7632]|0))e=30572;else e=f[(le()|0)+64>>2]|0;return e|0}function us(e){e=+e;var r=0;r=(s[b>>2]=e,f[b>>2]|0);if((r&2130706432)>>>0<=1249902592){r=(r|0)<0;e=r?e+-8388608+8388608:e+8388608+-8388608;if(e==0)e=r?-0:0}return+e}function hs(e){e=+e;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,h=0;u[b>>3]=e;i=f[b>>2]|0;r=f[b+4>>2]|0;t=(r|0)<0;do{if(t|r>>>0<1048576){a=+Y(+e);u[b>>3]=a;if((f[b>>2]|0)==0&(f[b+4>>2]|0)==0){e=-1/(e*e);break}if(t){e=(e-e)/0;break}else{u[b>>3]=e*0x40000000000000;r=f[b+4>>2]|0;t=f[b>>2]|0;i=-1077;n=9;break}}else if(r>>>0<=2146435071)if((i|0)==0&0==0&(r|0)==1072693248)e=0;else{t=i;i=-1023;n=9}}while(0);if((n|0)==9){n=r+614242|0;f[b>>2]=t;f[b+4>>2]=(n&1048575)+1072079006;l=+u[b>>3]+-1;o=l*(l*.5);s=l/(l+2);h=s*s;e=h*h;u[b>>3]=l-o;t=f[b+4>>2]|0;f[b>>2]=0;f[b+4>>2]=t;a=+u[b>>3];e=l-a-o+s*(o+(e*(e*(e*.15313837699209373+.22222198432149784)+.3999999999940942)+h*(e*(e*(e*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));h=a*.4342944818781689;o=+(i+(n>>>20)|0);s=o*.30102999566361177;l=s+h;e=l+(h+(s-l)+(e*.4342944818781689+(o*3.694239077158931e-13+(a+e)*2.5082946711645275e-11)))}return+e}function cs(e){e=+e;return~~+us(e)|0}function bs(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;do{if(e>>>0<245){w=e>>>0<11?16:e+11&-8;e=w>>>3;s=f[7644]|0;r=s>>>e;if(r&3|0){r=(r&1^1)+e|0;i=30616+(r<<1<<2)|0;t=i+8|0;n=f[t>>2]|0;a=n+8|0;o=f[a>>2]|0;do{if((i|0)!=(o|0)){if(o>>>0<(f[7648]|0)>>>0)se();e=o+12|0;if((f[e>>2]|0)==(n|0)){f[e>>2]=i;f[t>>2]=o;break}else se()}else f[7644]=s&~(1<>2]=j|3;j=n+j+4|0;f[j>>2]=f[j>>2]|1;j=a;return j|0}o=f[7646]|0;if(w>>>0>o>>>0){if(r|0){i=2<>>12&16;i=i>>>l;n=i>>>5&8;i=i>>>n;a=i>>>2&4;i=i>>>a;t=i>>>1&2;i=i>>>t;r=i>>>1&1;r=(n|l|a|t|r)+(i>>>r)|0;i=30616+(r<<1<<2)|0;t=i+8|0;a=f[t>>2]|0;l=a+8|0;n=f[l>>2]|0;do{if((i|0)!=(n|0)){if(n>>>0<(f[7648]|0)>>>0)se();e=n+12|0;if((f[e>>2]|0)==(a|0)){f[e>>2]=i;f[t>>2]=n;u=f[7646]|0;break}else se()}else{f[7644]=s&~(1<>2]=w|3;t=a+w|0;f[t+4>>2]=o|1;f[t+o>>2]=o;if(u|0){n=f[7649]|0;r=u>>>3;i=30616+(r<<1<<2)|0;e=f[7644]|0;r=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{h=e;c=r}}else{f[7644]=e|r;h=i+8|0;c=i}f[h>>2]=n;f[c+12>>2]=n;f[n+8>>2]=c;f[n+12>>2]=i}f[7646]=o;f[7649]=t;j=l;return j|0}e=f[7645]|0;if(e){i=(e&0-e)+-1|0;B=i>>>12&16;i=i>>>B;U=i>>>5&8;i=i>>>U;j=i>>>2&4;i=i>>>j;r=i>>>1&2;i=i>>>r;t=i>>>1&1;t=f[30880+((U|B|j|r|t)+(i>>>t)<<2)>>2]|0;i=(f[t+4>>2]&-8)-w|0;r=t;while(1){e=f[r+16>>2]|0;if(!e){e=f[r+20>>2]|0;if(!e){s=t;break}}r=(f[e+4>>2]&-8)-w|0;j=r>>>0>>0;i=j?r:i;r=e;t=j?e:t}a=f[7648]|0;if(s>>>0>>0)se();l=s+w|0;if(s>>>0>=l>>>0)se();o=f[s+24>>2]|0;t=f[s+12>>2]|0;do{if((t|0)==(s|0)){r=s+20|0;e=f[r>>2]|0;if(!e){r=s+16|0;e=f[r>>2]|0;if(!e){b=0;break}}while(1){t=e+20|0;n=f[t>>2]|0;if(n|0){e=n;r=t;continue}t=e+16|0;n=f[t>>2]|0;if(!n)break;else{e=n;r=t}}if(r>>>0>>0)se();else{f[r>>2]=0;b=e;break}}else{n=f[s+8>>2]|0;if(n>>>0>>0)se();e=n+12|0;if((f[e>>2]|0)!=(s|0))se();r=t+8|0;if((f[r>>2]|0)==(s|0)){f[e>>2]=t;f[r>>2]=n;b=t;break}else se()}}while(0);do{if(o|0){e=f[s+28>>2]|0;r=30880+(e<<2)|0;if((s|0)==(f[r>>2]|0)){f[r>>2]=b;if(!b){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=o+16|0;if((f[e>>2]|0)==(s|0))f[e>>2]=b;else f[o+20>>2]=b;if(!b)break}r=f[7648]|0;if(b>>>0>>0)se();f[b+24>>2]=o;e=f[s+16>>2]|0;do{if(e|0)if(e>>>0>>0)se();else{f[b+16>>2]=e;f[e+24>>2]=b;break}}while(0);e=f[s+20>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[b+20>>2]=e;f[e+24>>2]=b;break}}}while(0);if(i>>>0<16){j=i+w|0;f[s+4>>2]=j|3;j=s+j+4|0;f[j>>2]=f[j>>2]|1}else{f[s+4>>2]=w|3;f[l+4>>2]=i|1;f[l+i>>2]=i;e=f[7646]|0;if(e|0){n=f[7649]|0;r=e>>>3;t=30616+(r<<1<<2)|0;e=f[7644]|0;r=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{k=e;d=r}}else{f[7644]=e|r;k=t+8|0;d=t}f[k>>2]=n;f[d+12>>2]=n;f[n+8>>2]=d;f[n+12>>2]=t}f[7646]=i;f[7649]=l}j=s+8|0;return j|0}}}else if(e>>>0<=4294967231){e=e+11|0;w=e&-8;s=f[7645]|0;if(s){i=0-w|0;e=e>>>8;if(e)if(w>>>0>16777215)l=31;else{d=(e+1048320|0)>>>16&8;O=e<>>16&4;O=O<>>16&2;l=14-(k|d|l)+(O<>>15)|0;l=w>>>(l+7|0)&1|l<<1}else l=0;r=f[30880+(l<<2)>>2]|0;e:do{if(!r){e=0;r=0;O=86}else{n=i;e=0;a=w<<((l|0)==31?0:25-(l>>>1)|0);o=r;r=0;while(1){t=f[o+4>>2]&-8;i=t-w|0;if(i>>>0>>0)if((t|0)==(w|0)){e=o;r=o;O=90;break e}else r=o;else i=n;t=f[o+20>>2]|0;o=f[o+16+(a>>>31<<2)>>2]|0;e=(t|0)==0|(t|0)==(o|0)?e:t;t=(o|0)==0;if(t){O=86;break}else{n=i;a=a<<(t&1^1)}}}}while(0);if((O|0)==86){if((e|0)==0&(r|0)==0){e=2<>>12&16;d=d>>>c;h=d>>>5&8;d=d>>>h;b=d>>>2&4;d=d>>>b;k=d>>>1&2;d=d>>>k;e=d>>>1&1;e=f[30880+((h|c|b|k|e)+(d>>>e)<<2)>>2]|0}if(!e){l=i;s=r}else O=90}if((O|0)==90)while(1){O=0;d=(f[e+4>>2]&-8)-w|0;t=d>>>0>>0;i=t?d:i;r=t?e:r;t=f[e+16>>2]|0;if(t|0){e=t;O=90;continue}e=f[e+20>>2]|0;if(!e){l=i;s=r;break}else O=90}if((s|0)!=0?l>>>0<((f[7646]|0)-w|0)>>>0:0){n=f[7648]|0;if(s>>>0>>0)se();o=s+w|0;if(s>>>0>=o>>>0)se();a=f[s+24>>2]|0;i=f[s+12>>2]|0;do{if((i|0)==(s|0)){r=s+20|0;e=f[r>>2]|0;if(!e){r=s+16|0;e=f[r>>2]|0;if(!e){v=0;break}}while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0>>0)se();else{f[r>>2]=0;v=e;break}}else{t=f[s+8>>2]|0;if(t>>>0>>0)se();e=t+12|0;if((f[e>>2]|0)!=(s|0))se();r=i+8|0;if((f[r>>2]|0)==(s|0)){f[e>>2]=i;f[r>>2]=t;v=i;break}else se()}}while(0);do{if(a|0){e=f[s+28>>2]|0;r=30880+(e<<2)|0;if((s|0)==(f[r>>2]|0)){f[r>>2]=v;if(!v){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=a+16|0;if((f[e>>2]|0)==(s|0))f[e>>2]=v;else f[a+20>>2]=v;if(!v)break}r=f[7648]|0;if(v>>>0>>0)se();f[v+24>>2]=a;e=f[s+16>>2]|0;do{if(e|0)if(e>>>0>>0)se();else{f[v+16>>2]=e;f[e+24>>2]=v;break}}while(0);e=f[s+20>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[v+20>>2]=e;f[e+24>>2]=v;break}}}while(0);do{if(l>>>0>=16){f[s+4>>2]=w|3;f[o+4>>2]=l|1;f[o+l>>2]=l;e=l>>>3;if(l>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{y=e;_=r}}else{f[7644]=r|e;y=i+8|0;_=i}f[y>>2]=o;f[_+12>>2]=o;f[o+8>>2]=_;f[o+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)i=31;else{B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=l>>>(i+7|0)&1|i<<1}else i=0;t=30880+(i<<2)|0;f[o+28>>2]=i;e=o+16|0;f[e+4>>2]=0;f[e>>2]=0;e=f[7645]|0;r=1<>2]=o;f[o+24>>2]=t;f[o+12>>2]=o;f[o+8>>2]=o;break}n=l<<((i|0)==31?0:25-(i>>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(l|0)){i=e;O=148;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=145;break}else{n=n<<1;e=i}}if((O|0)==145)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=o;f[o+24>>2]=e;f[o+12>>2]=o;f[o+8>>2]=o;break}else if((O|0)==148){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=o;f[e>>2]=o;f[o+8>>2]=r;f[o+12>>2]=i;f[o+24>>2]=0;break}else se()}}else{j=l+w|0;f[s+4>>2]=j|3;j=s+j+4|0;f[j>>2]=f[j>>2]|1}}while(0);j=s+8|0;return j|0}}}else w=-1}while(0);i=f[7646]|0;if(i>>>0>=w>>>0){e=i-w|0;r=f[7649]|0;if(e>>>0>15){j=r+w|0;f[7649]=j;f[7646]=e;f[j+4>>2]=e|1;f[j+e>>2]=e;f[r+4>>2]=w|3}else{f[7646]=0;f[7649]=0;f[r+4>>2]=i|3;j=r+i+4|0;f[j>>2]=f[j>>2]|1}j=r+8|0;return j|0}e=f[7647]|0;if(e>>>0>w>>>0){U=e-w|0;f[7647]=U;j=f[7650]|0;B=j+w|0;f[7650]=B;f[B+4>>2]=U|1;f[j+4>>2]=w|3;j=j+8|0;return j|0}do{if(!(f[7762]|0)){e=pe(30)|0;if(!(e+-1&e)){f[7764]=e;f[7763]=e;f[7765]=-1;f[7766]=-1;f[7767]=0;f[7755]=0;f[7762]=(be(0)|0)&-16^1431655768;break}else se()}}while(0);o=w+48|0;a=f[7764]|0;l=w+47|0;n=a+l|0;a=0-a|0;s=n&a;if(s>>>0<=w>>>0){j=0;return j|0}e=f[7754]|0;if(e|0?(y=f[7752]|0,_=y+s|0,_>>>0<=y>>>0|_>>>0>e>>>0):0){j=0;return j|0}e:do{if(!(f[7755]&4)){e=f[7650]|0;r:do{if(e){i=31024;while(1){r=f[i>>2]|0;if(r>>>0<=e>>>0?(p=i+4|0,(r+(f[p>>2]|0)|0)>>>0>e>>>0):0){t=i;i=p;break}i=f[i+8>>2]|0;if(!i){O=173;break r}}e=n-(f[7647]|0)&a;if(e>>>0<2147483647){r=ce(e|0)|0;if((r|0)==((f[t>>2]|0)+(f[i>>2]|0)|0)){if((r|0)!=(-1|0)){o=r;n=e;O=193;break e}}else O=183}}else O=173}while(0);do{if((O|0)==173?(g=ce(0)|0,(g|0)!=(-1|0)):0){e=g;r=f[7763]|0;i=r+-1|0;if(!(i&e))e=s;else e=s-e+(i+e&0-r)|0;r=f[7752]|0;i=r+e|0;if(e>>>0>w>>>0&e>>>0<2147483647){_=f[7754]|0;if(_|0?i>>>0<=r>>>0|i>>>0>_>>>0:0)break;r=ce(e|0)|0;if((r|0)==(g|0)){o=g;n=e;O=193;break e}else O=183}}}while(0);r:do{if((O|0)==183){i=0-e|0;do{if(o>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))?(m=f[7764]|0,m=l-e+m&0-m,m>>>0<2147483647):0)if((ce(m|0)|0)==(-1|0)){ce(i|0)|0;break r}else{e=m+e|0;break}}while(0);if((r|0)!=(-1|0)){o=r;n=e;O=193;break e}}}while(0);f[7755]=f[7755]|4;O=190}else O=190}while(0);if((((O|0)==190?s>>>0<2147483647:0)?(E=ce(s|0)|0,A=ce(0)|0,E>>>0>>0&((E|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(S=A-E|0,S>>>0>(w+40|0)>>>0):0){o=E;n=S;O=193}if((O|0)==193){e=(f[7752]|0)+n|0;f[7752]=e;if(e>>>0>(f[7753]|0)>>>0)f[7753]=e;l=f[7650]|0;do{if(l){t=31024;do{e=f[t>>2]|0;r=t+4|0;i=f[r>>2]|0;if((o|0)==(e+i|0)){R=e;T=r;M=i;x=t;O=203;break}t=f[t+8>>2]|0}while((t|0)!=0);if(((O|0)==203?(f[x+12>>2]&8|0)==0:0)?l>>>0>>0&l>>>0>=R>>>0:0){f[T>>2]=M+n;j=l+8|0;j=(j&7|0)==0?0:0-j&7;B=l+j|0;j=n-j+(f[7647]|0)|0;f[7650]=B;f[7647]=j;f[B+4>>2]=j|1;f[B+j+4>>2]=40;f[7651]=f[7766];break}e=f[7648]|0;if(o>>>0>>0){f[7648]=o;s=o}else s=e;i=o+n|0;e=31024;while(1){if((f[e>>2]|0)==(i|0)){r=e;O=211;break}e=f[e+8>>2]|0;if(!e){r=31024;break}}if((O|0)==211)if(!(f[e+12>>2]&8)){f[r>>2]=o;h=e+4|0;f[h>>2]=(f[h>>2]|0)+n;h=o+8|0;h=o+((h&7|0)==0?0:0-h&7)|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;u=h+w|0;a=e-h-w|0;f[h+4>>2]=w|3;do{if((e|0)!=(l|0)){if((e|0)==(f[7649]|0)){j=(f[7646]|0)+a|0;f[7646]=j;f[7649]=u;f[u+4>>2]=j|1;f[u+j>>2]=j;break}r=f[e+4>>2]|0;if((r&3|0)==1){l=r&-8;n=r>>>3;e:do{if(r>>>0>=256){o=f[e+24>>2]|0;t=f[e+12>>2]|0;do{if((t|0)==(e|0)){i=e+16|0;t=i+4|0;r=f[t>>2]|0;if(!r){r=f[i>>2]|0;if(!r){U=0;break}}else i=t;while(1){t=r+20|0;n=f[t>>2]|0;if(n|0){r=n;i=t;continue}t=r+16|0;n=f[t>>2]|0;if(!n)break;else{r=n;i=t}}if(i>>>0>>0)se();else{f[i>>2]=0;U=r;break}}else{n=f[e+8>>2]|0;if(n>>>0>>0)se();r=n+12|0;if((f[r>>2]|0)!=(e|0))se();i=t+8|0;if((f[i>>2]|0)==(e|0)){f[r>>2]=t;f[i>>2]=n;U=t;break}else se()}}while(0);if(!o)break;r=f[e+28>>2]|0;i=30880+(r<<2)|0;do{if((e|0)!=(f[i>>2]|0)){if(o>>>0<(f[7648]|0)>>>0)se();r=o+16|0;if((f[r>>2]|0)==(e|0))f[r>>2]=U;else f[o+20>>2]=U;if(!U)break e}else{f[i>>2]=U;if(U|0)break;f[7645]=f[7645]&~(1<>>0>>0)se();f[U+24>>2]=o;r=e+16|0;i=f[r>>2]|0;do{if(i|0)if(i>>>0>>0)se();else{f[U+16>>2]=i;f[i+24>>2]=U;break}}while(0);r=f[r+4>>2]|0;if(!r)break;if(r>>>0<(f[7648]|0)>>>0)se();else{f[U+20>>2]=r;f[r+24>>2]=U;break}}else{i=f[e+8>>2]|0;t=f[e+12>>2]|0;r=30616+(n<<1<<2)|0;do{if((i|0)!=(r|0)){if(i>>>0>>0)se();if((f[i+12>>2]|0)==(e|0))break;se()}}while(0);if((t|0)==(i|0)){f[7644]=f[7644]&~(1<>>0>>0)se();r=t+8|0;if((f[r>>2]|0)==(e|0)){P=r;break}se()}}while(0);f[i+12>>2]=t;f[P>>2]=i}}while(0);e=e+l|0;a=l+a|0}e=e+4|0;f[e>>2]=f[e>>2]&-2;f[u+4>>2]=a|1;f[u+a>>2]=a;e=a>>>3;if(a>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0>=(f[7648]|0)>>>0){B=e;j=r;break}se()}}while(0);f[B>>2]=u;f[j+12>>2]=u;f[u+8>>2]=j;f[u+12>>2]=i;break}e=a>>>8;do{if(!e)i=0;else{if(a>>>0>16777215){i=31;break}B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=a>>>(i+7|0)&1|i<<1}}while(0);t=30880+(i<<2)|0;f[u+28>>2]=i;e=u+16|0;f[e+4>>2]=0;f[e>>2]=0;e=f[7645]|0;r=1<>2]=u;f[u+24>>2]=t;f[u+12>>2]=u;f[u+8>>2]=u;break}n=a<<((i|0)==31?0:25-(i>>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(a|0)){i=e;O=281;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=278;break}else{n=n<<1;e=i}}if((O|0)==278)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=u;f[u+24>>2]=e;f[u+12>>2]=u;f[u+8>>2]=u;break}else if((O|0)==281){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=u;f[e>>2]=u;f[u+8>>2]=r;f[u+12>>2]=i;f[u+24>>2]=0;break}else se()}}else{j=(f[7647]|0)+a|0;f[7647]=j;f[7650]=u;f[u+4>>2]=j|1}}while(0);j=h+8|0;return j|0}else r=31024;while(1){e=f[r>>2]|0;if(e>>>0<=l>>>0?(L=e+(f[r+4>>2]|0)|0,L>>>0>l>>>0):0){r=L;break}r=f[r+8>>2]|0}a=r+-47|0;i=a+8|0;i=a+((i&7|0)==0?0:0-i&7)|0;a=l+16|0;i=i>>>0>>0?l:i;e=i+8|0;t=o+8|0;t=(t&7|0)==0?0:0-t&7;j=o+t|0;t=n+-40-t|0;f[7650]=j;f[7647]=t;f[j+4>>2]=t|1;f[j+t+4>>2]=40;f[7651]=f[7766];t=i+4|0;f[t>>2]=27;f[e>>2]=f[7756];f[e+4>>2]=f[7757];f[e+8>>2]=f[7758];f[e+12>>2]=f[7759];f[7756]=o;f[7757]=n;f[7759]=0;f[7758]=e;e=i+24|0;do{e=e+4|0;f[e>>2]=7}while((e+4|0)>>>0>>0);if((i|0)!=(l|0)){o=i-l|0;f[t>>2]=f[t>>2]&-2;f[l+4>>2]=o|1;f[i>>2]=o;e=o>>>3;if(o>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{I=e;C=r}}else{f[7644]=r|e;I=i+8|0;C=i}f[I>>2]=l;f[C+12>>2]=l;f[l+8>>2]=C;f[l+12>>2]=i;break}e=o>>>8;if(e)if(o>>>0>16777215)i=31;else{B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;n=30880+(i<<2)|0;f[l+28>>2]=i;f[l+20>>2]=0;f[a>>2]=0;e=f[7645]|0;r=1<>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}t=o<<((i|0)==31?0:25-(i>>>1)|0);e=f[n>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(o|0)){i=e;O=307;break}r=e+16+(t>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=304;break}else{t=t<<1;e=i}}if((O|0)==304)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=l;f[l+24>>2]=e;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((O|0)==307){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=l;f[e>>2]=l;f[l+8>>2]=r;f[l+12>>2]=i;f[l+24>>2]=0;break}else se()}}}else{j=f[7648]|0;if((j|0)==0|o>>>0>>0)f[7648]=o;f[7756]=o;f[7757]=n;f[7759]=0;f[7653]=f[7762];f[7652]=-1;e=0;do{j=30616+(e<<1<<2)|0;f[j+12>>2]=j;f[j+8>>2]=j;e=e+1|0}while((e|0)!=32);j=o+8|0;j=(j&7|0)==0?0:0-j&7;B=o+j|0;j=n+-40-j|0;f[7650]=B;f[7647]=j;f[B+4>>2]=j|1;f[B+j+4>>2]=40;f[7651]=f[7766]}}while(0);e=f[7647]|0;if(e>>>0>w>>>0){U=e-w|0;f[7647]=U;j=f[7650]|0;B=j+w|0;f[7650]=B;f[B+4>>2]=U|1;f[j+4>>2]=w|3;j=j+8|0;return j|0}}f[(ss()|0)>>2]=12;j=0;return j|0}function ws(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0,d=0;if(!e)return;i=e+-8|0;o=f[7648]|0;if(i>>>0>>0)se();e=f[e+-4>>2]|0;r=e&3;if((r|0)==1)se();t=e&-8;c=i+t|0;do{if(!(e&1)){e=f[i>>2]|0;if(!r)return;u=i+(0-e)|0;s=e+t|0;if(u>>>0>>0)se();if((u|0)==(f[7649]|0)){e=c+4|0;r=f[e>>2]|0;if((r&3|0)!=3){d=u;a=s;break}f[7646]=s;f[e>>2]=r&-2;f[u+4>>2]=s|1;f[u+s>>2]=s;return}t=e>>>3;if(e>>>0<256){r=f[u+8>>2]|0;i=f[u+12>>2]|0;e=30616+(t<<1<<2)|0;if((r|0)!=(e|0)){if(r>>>0>>0)se();if((f[r+12>>2]|0)!=(u|0))se()}if((i|0)==(r|0)){f[7644]=f[7644]&~(1<>>0>>0)se();e=i+8|0;if((f[e>>2]|0)==(u|0))n=e;else se()}else n=i+8|0;f[r+12>>2]=i;f[n>>2]=r;d=u;a=s;break}n=f[u+24>>2]|0;i=f[u+12>>2]|0;do{if((i|0)==(u|0)){r=u+16|0;i=r+4|0;e=f[i>>2]|0;if(!e){e=f[r>>2]|0;if(!e){l=0;break}}else r=i;while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0>>0)se();else{f[r>>2]=0;l=e;break}}else{t=f[u+8>>2]|0;if(t>>>0>>0)se();e=t+12|0;if((f[e>>2]|0)!=(u|0))se();r=i+8|0;if((f[r>>2]|0)==(u|0)){f[e>>2]=i;f[r>>2]=t;l=i;break}else se()}}while(0);if(n){e=f[u+28>>2]|0;r=30880+(e<<2)|0;if((u|0)==(f[r>>2]|0)){f[r>>2]=l;if(!l){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=n+16|0;if((f[e>>2]|0)==(u|0))f[e>>2]=l;else f[n+20>>2]=l;if(!l){d=u;a=s;break}}i=f[7648]|0;if(l>>>0>>0)se();f[l+24>>2]=n;e=u+16|0;r=f[e>>2]|0;do{if(r|0)if(r>>>0>>0)se();else{f[l+16>>2]=r;f[r+24>>2]=l;break}}while(0);e=f[e+4>>2]|0;if(e)if(e>>>0<(f[7648]|0)>>>0)se();else{f[l+20>>2]=e;f[e+24>>2]=l;d=u;a=s;break}else{d=u;a=s}}else{d=u;a=s}}else{d=i;a=t}}while(0);if(d>>>0>=c>>>0)se();e=c+4|0;r=f[e>>2]|0;if(!(r&1))se();if(!(r&2)){if((c|0)==(f[7650]|0)){k=(f[7647]|0)+a|0;f[7647]=k;f[7650]=d;f[d+4>>2]=k|1;if((d|0)!=(f[7649]|0))return;f[7649]=0;f[7646]=0;return}if((c|0)==(f[7649]|0)){k=(f[7646]|0)+a|0;f[7646]=k;f[7649]=d;f[d+4>>2]=k|1;f[d+k>>2]=k;return}a=(r&-8)+a|0;t=r>>>3;do{if(r>>>0>=256){n=f[c+24>>2]|0;e=f[c+12>>2]|0;do{if((e|0)==(c|0)){r=c+16|0;i=r+4|0;e=f[i>>2]|0;if(!e){e=f[r>>2]|0;if(!e){b=0;break}}else r=i;while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=0;b=e;break}}else{r=f[c+8>>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();i=r+12|0;if((f[i>>2]|0)!=(c|0))se();t=e+8|0;if((f[t>>2]|0)==(c|0)){f[i>>2]=e;f[t>>2]=r;b=e;break}else se()}}while(0);if(n|0){e=f[c+28>>2]|0;r=30880+(e<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=b;if(!b){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=n+16|0;if((f[e>>2]|0)==(c|0))f[e>>2]=b;else f[n+20>>2]=b;if(!b)break}i=f[7648]|0;if(b>>>0>>0)se();f[b+24>>2]=n;e=c+16|0;r=f[e>>2]|0;do{if(r|0)if(r>>>0>>0)se();else{f[b+16>>2]=r;f[r+24>>2]=b;break}}while(0);e=f[e+4>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[b+20>>2]=e;f[e+24>>2]=b;break}}}else{r=f[c+8>>2]|0;i=f[c+12>>2]|0;e=30616+(t<<1<<2)|0;if((r|0)!=(e|0)){if(r>>>0<(f[7648]|0)>>>0)se();if((f[r+12>>2]|0)!=(c|0))se()}if((i|0)==(r|0)){f[7644]=f[7644]&~(1<>>0<(f[7648]|0)>>>0)se();e=i+8|0;if((f[e>>2]|0)==(c|0))h=e;else se()}else h=i+8|0;f[r+12>>2]=i;f[h>>2]=r}}while(0);f[d+4>>2]=a|1;f[d+a>>2]=a;if((d|0)==(f[7649]|0)){f[7646]=a;return}}else{f[e>>2]=r&-2;f[d+4>>2]=a|1;f[d+a>>2]=a}e=a>>>3;if(a>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{w=e;k=r}}else{f[7644]=r|e;w=i+8|0;k=i}f[w>>2]=d;f[k+12>>2]=d;f[d+8>>2]=k;f[d+12>>2]=i;return}e=a>>>8;if(e)if(a>>>0>16777215)i=31;else{w=(e+1048320|0)>>>16&8;k=e<>>16&4;k=k<>>16&2;i=14-(b|w|i)+(k<>>15)|0;i=a>>>(i+7|0)&1|i<<1}else i=0;t=30880+(i<<2)|0;f[d+28>>2]=i;f[d+20>>2]=0;f[d+16>>2]=0;e=f[7645]|0;r=1<>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(a|0)){i=e;t=130;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){t=127;break}else{n=n<<1;e=i}}if((t|0)==127)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=d;f[d+24>>2]=e;f[d+12>>2]=d;f[d+8>>2]=d;break}else if((t|0)==130){e=i+8|0;r=f[e>>2]|0;k=f[7648]|0;if(r>>>0>=k>>>0&i>>>0>=k>>>0){f[r+12>>2]=d;f[e>>2]=d;f[d+8>>2]=r;f[d+12>>2]=i;f[d+24>>2]=0;break}else se()}}else{f[7645]=e|r;f[t>>2]=d;f[d+24>>2]=t;f[d+12>>2]=d;f[d+8>>2]=d}}while(0);d=(f[7652]|0)+-1|0;f[7652]=d;if(!d)e=31032;else return;while(1){e=f[e>>2]|0;if(!e)break;else e=e+8|0}f[7652]=-1;return}function ks(){}function ds(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;i=e+i>>>0;return(L=r+t+(i>>>0>>0|0)>>>0,i|0)|0}function ps(e,r,i){e=e|0;r=r|0;i=i|0;if((i|0)<32){L=r>>i;return e>>>i|(r&(1<>i-32|0}function vs(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0;n=e+i|0;if((i|0)>=20){r=r&255;o=e&3;l=r|r<<8|r<<16|r<<24;a=n&~3;if(o){o=e+4-o|0;while((e|0)<(o|0)){t[e>>0]=r;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=r;e=e+1|0}return e-i|0}function gs(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((i|0)>=4096)return ke(e|0,r|0,i|0)|0;n=e|0;if((e&3)==(r&3)){while(e&3){if(!i)return n|0;t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}while((i|0)>=4){f[e>>2]=f[r>>2];e=e+4|0;r=r+4|0;i=i-4|0}}while((i|0)>0){t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}return n|0}function ys(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((r|0)<(e|0)&(e|0)<(r+i|0)){n=e;r=r+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;r=r-1|0;i=i-1|0;t[e>>0]=t[r>>0]|0}e=n}else gs(e,r,i)|0;return e|0}function _s(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;t=r-t-(i>>>0>e>>>0|0)>>>0;return(L=t,e-i>>>0|0)|0}function ms(e,r,i){e=e|0;r=r|0;i=i|0;if((i|0)<32){L=r<>>32-i;return e<>>i;return e>>>i|(r&(1<>>i-32|0}function As(e){e=e|0;var r=0;r=t[k+(e&255)>>0]|0;if((r|0)<8)return r|0;r=t[k+(e>>8&255)>>0]|0;if((r|0)<8)return r+8|0;r=t[k+(e>>16&255)>>0]|0;if((r|0)<8)return r+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function Ss(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,f=0;f=e&65535;n=r&65535;i=re(n,f)|0;t=e>>>16;e=(i>>>16)+(re(n,t)|0)|0;n=r>>>16;r=re(n,f)|0;return(L=(e>>>16)+(re(n,t)|0)+(((e&65535)+r|0)>>>16)|0,e+r<<16|i&65535|0)|0}function Rs(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,f=0,a=0,o=0,l=0,s=0;s=r>>31|((r|0)<0?-1:0)<<1;l=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;o=_s(s^e|0,l^r|0,s|0,l|0)|0;a=L;e=f^s;r=n^l;return _s((Ls(o,a,_s(f^i|0,n^t|0,f|0,n|0)|0,L,0)|0)^e|0,L^r|0,e|0,r|0)|0}function Ts(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;n=h;h=h+16|0;l=n|0;o=r>>31|((r|0)<0?-1:0)<<1;a=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=_s(o^e|0,a^r|0,o|0,a|0)|0;r=L;Ls(e,r,_s(u^i|0,s^t|0,u|0,s|0)|0,L,l)|0;t=_s(f[l>>2]^o|0,f[l+4>>2]^a|0,o|0,a|0)|0;i=L;h=n;return(L=i,t)|0}function Ms(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,f=0;n=e;f=i;i=Ss(n,f)|0;e=L;return(L=(re(r,f)|0)+(re(t,n)|0)+e|e&0,i|0|0)|0}function xs(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;return Ls(e,r,i,t,0)|0}function Os(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0;a=h;h=h+16|0;n=a|0;Ls(e,r,i,t,n)|0;h=a;return(L=f[n+4>>2]|0,f[n>>2]|0)|0}function Ls(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0;h=e;s=r;u=s;o=i;b=t;l=b;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(h>>>0)%(o>>>0);f[n+4>>2]=0}b=0;n=(h>>>0)/(o>>>0)>>>0;return(L=b,n)|0}else{if(!a){b=0;n=0;return(L=b,n)|0}f[n>>2]=e|0;f[n+4>>2]=r&0;b=0;n=0;return(L=b,n)|0}}a=(l|0)==0;do{if(o){if(!a){a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=31){c=a+1|0;l=31-a|0;r=a-31>>31;o=c;e=h>>>(c>>>0)&r|u<>>(c>>>0)&r;a=0;l=h<>2]=e|0;f[n+4>>2]=s|r&0;b=0;n=0;return(L=b,n)|0}a=o-1|0;if(a&o|0){l=(te(o|0)|0)+33-(te(u|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;w=l-32|0;r=w>>31;o=l;e=c-1>>31&u>>>(w>>>0)|(u<>>(l>>>0))&r;r=r&u>>>(l>>>0);a=h<>>(w>>>0))&s|h<>31;break}if(n|0){f[n>>2]=a&h;f[n+4>>2]=0}if((o|0)==1){w=s|r&0;k=e|0|0;return(L=w,k)|0}else{k=As(o|0)|0;w=u>>>(k>>>0)|0;k=u<<32-k|h>>>(k>>>0)|0;return(L=w,k)|0}}else{if(a){if(n|0){f[n>>2]=(u>>>0)%(o>>>0);f[n+4>>2]=0}w=0;k=(u>>>0)/(o>>>0)>>>0;return(L=w,k)|0}if(!h){if(n|0){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}w=0;k=(u>>>0)/(l>>>0)>>>0;return(L=w,k)|0}a=l-1|0;if(!(a&l)){if(n|0){f[n>>2]=e|0;f[n+4>>2]=a&u|r&0}w=0;k=u>>>((As(l|0)|0)>>>0);return(L=w,k)|0}a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=30){r=a+1|0;l=31-a|0;o=r;e=u<>>(r>>>0);r=u>>>(r>>>0);a=0;l=h<>2]=e|0;f[n+4>>2]=s|r&0;w=0;k=0;return(L=w,k)|0}}while(0);if(!o){u=l;s=0;l=0}else{c=i|0|0;h=b|t&0;u=ds(c|0,h|0,-1,-1)|0;i=L;s=l;l=0;do{t=s;s=a>>>31|s<<1;a=l|a<<1;t=e<<1|t>>>31|0;b=e>>>31|r<<1|0;_s(u|0,i|0,t|0,b|0)|0;k=L;w=k>>31|((k|0)<0?-1:0)<<1;l=w&1;e=_s(t|0,b|0,w&c|0,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&h|0)|0;r=L;o=o-1|0}while((o|0)!=0);u=s;s=0}o=0;if(n|0){f[n>>2]=e;f[n+4>>2]=r}w=(a|0)>>>31|(u|o)<<1|(o<<1|a>>>31)&0|s;k=(a<<1|0>>>31)&-2|l;return(L=w,k)|0}function Ps(e,r,i,t,n,f,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;f=f|0;a=a|0;o=o|0;Cs[e&3](r|0,i|0,t|0,n|0,f|0,a|0,o|0)}function Is(e,r,i,t,n,f,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;f=f|0;a=a|0;ne(0)}var Cs=[Is,Ml,Tl,Is];return{_opus_decoder_get_size:nl,_opus_get_version_string:Nn,_free:ws,_opus_encode_float:Vl,_opus_strerror:Dn,_i64Add:ds,_memmove:ys,_opus_decoder_init:al,_bitshift64Ashr:ps,_opus_encoder_get_size:El,_memset:vs,_malloc:bs,_opus_decoder_ctl:ml,_opus_encode:Zl,_opus_encoder_init:Sl,_opus_decode:dl,_opus_packet_get_nb_samples:vl,_memcpy:gs,_opus_encoder_ctl:Jl,_opus_decode_float:_l,runPostSets:ks,stackAlloc:Gt,stackSave:Kt,stackRestore:Xt,establishStackSpace:$t,setThrew:Qt,setTempRet0:tn,getTempRet0:nn,dynCall_viiiiiii:Ps}}(b.s,b.t,buffer);b._opus_decoder_get_size=Z._opus_decoder_get_size,b._opus_get_version_string=Z._opus_get_version_string;var va=b._free=Z._free;b._opus_encode_float=Z._opus_encode_float,b._opus_strerror=Z._opus_strerror;var Pa=b._i64Add=Z._i64Add,Ua=b._memmove=Z._memmove;b._opus_decoder_init=Z._opus_decoder_init;var Qa=b._bitshift64Ashr=Z._bitshift64Ashr;b._opus_encoder_get_size=Z._opus_encoder_get_size;var Ra=b._memset=Z._memset,Q=b._malloc=Z._malloc;b._opus_packet_get_nb_samples=Z._opus_packet_get_nb_samples,b._opus_encode=Z._opus_encode,b._opus_encoder_init=Z._opus_encoder_init,b._opus_decode=Z._opus_decode,b._opus_decoder_ctl=Z._opus_decoder_ctl;var Sa=b._memcpy=Z._memcpy;b._opus_encoder_ctl=Z._opus_encoder_ctl,b._opus_decode_float=Z._opus_decode_float,b.runPostSets=Z.runPostSets,b.dynCall_viiiiiii=Z.dynCall_viiiiiii,y.f=Z.stackAlloc,y.g=Z.stackSave,y.c=Z.stackRestore,y.I=Z.establishStackSpace,y.B=Z.setTempRet0,y.w=Z.getTempRet0,w.prototype=Error(),w.prototype.constructor=w;var Wa=null,X=function e(){b.calledRun||Ya(),b.calledRun||(X=e)};b.callMain=b.G=function(e){function r(){for(var e=0;3>e;e++)t.push(0)}e=e||[],T||(T=!0,V(Ea));var i=e.length+1,t=[O(Ka(b.thisProgram),"i8",0)];r();for(var n=0;n0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,r){function i(){this.removeListener(e,i),n||(n=!0,r.apply(this,arguments))}if(!t(r))throw TypeError("listener must be a function");var n=!1;return i.listener=r,this.on(e,i),this},i.prototype.removeListener=function(e,r){var i,n,a,o;if(!t(r))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=this._events[e],a=i.length,n=-1,i===r||t(i.listener)&&i.listener===r)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,r);else if(f(i)){for(o=a;o-- >0;)if(i[o]===r||i[o].listener&&i[o].listener===r){n=o;break}if(n<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,r)}return this},i.prototype.removeAllListeners=function(e){var r,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(r in this._events)"removeListener"!==r&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[e],t(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?t(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var r=this._events[e];if(t(r))return 1;if(r)return r.length}return 0},i.listenerCount=function(e,r){return e.listenerCount(r)}},function(e,r,i){"use strict";(function(r,t,n){function f(e){var r=this;this.next=null,this.entry=null,this.finish=function(){T(r,e)}}function a(e){return C.from(e)}function o(e){return C.isBuffer(e)||e instanceof U}function l(){}function s(e,r){x=x||i(1),e=e||{},this.objectMode=!!e.objectMode,r instanceof x&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var t=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=t||0===t?t:n,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){v(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new f(this)}function u(e){if(x=x||i(1),!(j.call(u,this)||this instanceof x))return new u(e);this._writableState=new s(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),I.call(this)}function h(e,r){var i=new Error("write after end");e.emit("error",i),M(r,i)}function c(e,r,i,t){var n=!0,f=!1;return null===i?f=new TypeError("May not write null values to stream"):"string"==typeof i||void 0===i||r.objectMode||(f=new TypeError("Invalid non-string/buffer chunk")),f&&(e.emit("error",f),M(t,f),n=!1),n}function b(e,r,i){return e.objectMode||!1===e.decodeStrings||"string"!=typeof r||(r=C.from(r,i)),r}function w(e,r,i,t,n,f){if(!i){var a=b(r,t,n);t!==a&&(i=!0,n="buffer",t=a)}var o=r.objectMode?1:t.length;r.length+=o;var l=r.length-1?t:M;u.WritableState=s;var L=i(5);L.inherits=i(2);var P={deprecate:i(36)},I=i(19),C=i(11).Buffer,U=n.Uint8Array||function(){},B=i(18);L.inherits(u,I),s.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r},function(){try{Object.defineProperty(s.prototype,"buffer",{get:P.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var j;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(j=Function.prototype[Symbol.hasInstance],Object.defineProperty(u,Symbol.hasInstance,{value:function(e){return!!j.call(this,e)||e&&e._writableState instanceof s}})):j=function(e){return e instanceof this},u.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},u.prototype.write=function(e,r,i){var t=this._writableState,n=!1,f=o(e)&&!t.objectMode;return f&&!C.isBuffer(e)&&(e=a(e)),"function"==typeof r&&(i=r,r=null),f?r="buffer":r||(r=t.defaultEncoding),"function"!=typeof i&&(i=l),t.ended?h(this,i):(f||c(this,t,e,i))&&(t.pendingcb++,n=w(this,t,f,e,r,i)),n},u.prototype.cork=function(){this._writableState.corked++},u.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},u.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},u.prototype._write=function(e,r,i){i(new Error("_write() is not implemented"))},u.prototype._writev=null,u.prototype.end=function(e,r,i){var t=this._writableState;"function"==typeof e?(i=e,e=null,r=null):"function"==typeof r&&(i=r,r=null),null!==e&&void 0!==e&&this.write(e,r),t.corked&&(t.corked=1,this.uncork()),t.ending||t.finished||R(this,t,i)},Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),u.prototype.destroy=B.destroy,u.prototype._undestroy=B.undestroy,u.prototype._destroy=function(e,r){this.end(),r(e)}}).call(r,i(0),i(35).setImmediate,i(3))},function(e,r,i){r=e.exports=i(16),r.Stream=r,r.Readable=r,r.Writable=i(9),r.Duplex=i(1),r.Transform=i(17),r.PassThrough=i(29)},function(e,r,i){function t(e,r){for(var i in e)r[i]=e[i]}function n(e,r,i){return a(e,r,i)}var f=i(4),a=f.Buffer;a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=f:(t(f,r),r.Buffer=n),t(a,n),n.from=function(e,r,i){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,r,i)},n.alloc=function(e,r,i){if("number"!=typeof e)throw new TypeError("Argument must be a number");var t=a(e);return void 0!==r?"string"==typeof i?t.fill(r,i):t.fill(r):t.fill(0),t},n.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},n.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return f.SlowBuffer(e)}},function(e,r,i){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,f=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},a=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!i)return!1;var f;for(f in e);return void 0===f||t.call(e,f)};e.exports=function e(){var r,i,t,n,o,l,s=arguments[0],u=1,h=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),(null==s||"object"!=typeof s&&"function"!=typeof s)&&(s={});u=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,i),this.charReceived+=i,this.charReceived=55296&&t<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return r;break}this.charLength+=this.surrogateSize,r=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),r+=e.toString(this.encoding,0,n);var n=r.length-1,t=r.charCodeAt(n);if(t>=55296&&t<=56319){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),e.copy(this.charBuffer,0,0,f),r.substring(0,n)}return r},s.prototype.detectIncompleteChar=function(e){for(var r=e.length>=3?3:e.length;r>0;r--){var i=e[e.length-r];if(1==r&&i>>5==6){this.charLength=2;break}if(r<=2&&i>>4==14){this.charLength=3;break}if(r<=3&&i>>3==30){this.charLength=4;break}}this.charReceived=r},s.prototype.end=function(e){var r="";if(e&&e.length&&(r=this.write(e)),this.charReceived){var i=this.charReceived,t=this.charBuffer,n=this.encoding;r+=t.slice(0,i).toString(n)}return r}},function(e,r,i){"use strict";(function(r,t){function n(e){return j.from(e)}function f(e){return j.isBuffer(e)||e instanceof D}function a(e,r,i){if("function"==typeof e.prependListener)return e.prependListener(r,i);e._events&&e._events[r]?C(e._events[r])?e._events[r].unshift(i):e._events[r]=[i,e._events[r]]:e.on(r,i)}function o(e,r){I=I||i(1),e=e||{},this.objectMode=!!e.objectMode,r instanceof I&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var t=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=t||0===t?t:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new H,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(Y||(Y=i(15).StringDecoder),this.decoder=new Y(e.encoding),this.encoding=e.encoding)}function l(e){if(I=I||i(1),!(this instanceof l))return new l(e);this._readableState=new o(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),B.call(this)}function s(e,r,i,t,f){var a=e._readableState;if(null===r)a.reading=!1,k(e,a);else{var o;f||(o=h(a,r)),o?e.emit("error",o):a.objectMode||r&&r.length>0?("string"==typeof r||a.objectMode||Object.getPrototypeOf(r)===j.prototype||(r=n(r)),t?a.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):u(e,a,r,!0):a.ended?e.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!i?(r=a.decoder.write(r),a.objectMode||0!==r.length?u(e,a,r,!1):v(e,a)):u(e,a,r,!1))):t||(a.reading=!1)}return c(a)}function u(e,r,i,t){r.flowing&&0===r.length&&!r.sync?(e.emit("data",i),e.read(0)):(r.length+=r.objectMode?1:i.length,t?r.buffer.unshift(i):r.buffer.push(i),r.needReadable&&d(e)),v(e,r)}function h(e,r){var i;return f(r)||"string"==typeof r||void 0===r||e.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i}function c(e){return!e.ended&&(e.needReadable||e.length=Z?e=Z:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function w(e,r){return e<=0||0===r.length&&r.ended?0:r.objectMode?1:e!==e?r.flowing&&r.length?r.buffer.head.data.length:r.length:(e>r.highWaterMark&&(r.highWaterMark=b(e)),e<=r.length?e:r.ended?r.length:(r.needReadable=!0,0))}function k(e,r){if(!r.ended){if(r.decoder){var i=r.decoder.end();i&&i.length&&(r.buffer.push(i),r.length+=r.objectMode?1:i.length)}r.ended=!0,d(e)}}function d(e){var r=e._readableState;r.needReadable=!1,r.emittedReadable||(z("emitReadable",r.flowing),r.emittedReadable=!0,r.sync?P(p,e):p(e))}function p(e){z("emit readable"),e.emit("readable"),A(e)}function v(e,r){r.readingMore||(r.readingMore=!0,P(g,e,r))}function g(e,r){for(var i=r.length;!r.reading&&!r.flowing&&!r.ended&&r.length=r.length?(i=r.decoder?r.buffer.join(""):1===r.buffer.length?r.buffer.head.data:r.buffer.concat(r.length),r.buffer.clear()):i=R(e,r.buffer,r.decoder),i}function R(e,r,i){var t;return ef.length?f.length:e;if(a===f.length?n+=f:n+=f.slice(0,e),0===(e-=a)){a===f.length?(++t,i.next?r.head=i.next:r.head=r.tail=null):(r.head=i,i.data=f.slice(a));break}++t}return r.length-=t,n}function M(e,r){var i=j.allocUnsafe(e),t=r.head,n=1;for(t.data.copy(i),e-=t.data.length;t=t.next;){var f=t.data,a=e>f.length?f.length:e;if(f.copy(i,i.length-e,0,a),0===(e-=a)){a===f.length?(++n,t.next?r.head=t.next:r.head=r.tail=null):(r.head=t,t.data=f.slice(a));break}++n}return r.length-=n,i}function x(e){var r=e._readableState;if(r.length>0)throw new Error('"endReadable()" called on non-empty stream');r.endEmitted||(r.ended=!0,P(O,r,e))}function O(e,r){e.endEmitted||0!==e.length||(e.endEmitted=!0,r.readable=!1,r.emit("end"))}function L(e,r){for(var i=0,t=e.length;i=r.highWaterMark||r.ended))return z("read: emitReadable",r.length,r.ended),0===r.length&&r.ended?x(this):d(this),null;if(0===(e=w(e,r))&&r.ended)return 0===r.length&&x(this),null;var t=r.needReadable;z("need readable",t),(0===r.length||r.length-e0?S(e,r):null,null===n?(r.needReadable=!0,e=0):r.length-=e,0===r.length&&(r.ended||(r.needReadable=!0),i!==e&&r.ended&&x(this)),null!==n&&this.emit("data",n),n},l.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},l.prototype.pipe=function(e,r){function i(e,r){z("onunpipe"),e===c&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f())}function n(){z("onend"),e.end()}function f(){z("cleanup"),e.removeListener("close",s),e.removeListener("finish",u),e.removeListener("drain",d),e.removeListener("error",l),e.removeListener("unpipe",i),c.removeListener("end",n),c.removeListener("end",h),c.removeListener("data",o),p=!0,!b.awaitDrain||e._writableState&&!e._writableState.needDrain||d()}function o(r){z("ondata"),v=!1,!1!==e.write(r)||v||((1===b.pipesCount&&b.pipes===e||b.pipesCount>1&&-1!==L(b.pipes,e))&&!p&&(z("false write response, pause",c._readableState.awaitDrain),c._readableState.awaitDrain++,v=!0),c.pause())}function l(r){z("onerror",r),h(),e.removeListener("error",l),0===U(e,"error")&&e.emit("error",r)}function s(){e.removeListener("finish",u),h()}function u(){z("onfinish"),e.removeListener("close",s),h()}function h(){z("unpipe"),c.unpipe(e)}var c=this,b=this._readableState;switch(b.pipesCount){case 0:b.pipes=e;break;case 1:b.pipes=[b.pipes,e];break;default:b.pipes.push(e)}b.pipesCount+=1,z("pipe count=%d opts=%j",b.pipesCount,r);var w=(!r||!1!==r.end)&&e!==t.stdout&&e!==t.stderr,k=w?n:h;b.endEmitted?P(k):c.once("end",k),e.on("unpipe",i);var d=y(c);e.on("drain",d);var p=!1,v=!1;return c.on("data",o),a(e,"error",l),e.once("close",s),e.once("finish",u),e.emit("pipe",c),b.flowing||(z("pipe resume"),c.resume()),e},l.prototype.unpipe=function(e){var r=this._readableState,i={hasUnpiped:!1};if(0===r.pipesCount)return this;if(1===r.pipesCount)return e&&e!==r.pipes?this:(e||(e=r.pipes),r.pipes=null,r.pipesCount=0,r.flowing=!1,e&&e.emit("unpipe",this,i),this);if(!e){var t=r.pipes,n=r.pipesCount;r.pipes=null,r.pipesCount=0,r.flowing=!1;for(var f=0;f=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),k(i)?t.showHidden=i:i&&r._extend(t,i),_(t.showHidden)&&(t.showHidden=!1),_(t.depth)&&(t.depth=2),_(t.colors)&&(t.colors=!1),_(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=f),l(t,e,t.depth)}function f(e,r){var i=n.styles[r];return i?"["+n.colors[i][0]+"m"+e+"["+n.colors[i][1]+"m":e}function a(e,r){return e}function o(e){var r={};return e.forEach(function(e,i){r[e]=!0}),r}function l(e,i,t){if(e.customInspect&&i&&R(i.inspect)&&i.inspect!==r.inspect&&(!i.constructor||i.constructor.prototype!==i)){var n=i.inspect(t,e);return g(n)||(n=l(e,n,t)),n}var f=s(e,i);if(f)return f;var a=Object.keys(i),k=o(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(i)),S(i)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return u(i);if(0===a.length){if(R(i)){var d=i.name?": "+i.name:"";return e.stylize("[Function"+d+"]","special")}if(m(i))return e.stylize(RegExp.prototype.toString.call(i),"regexp");if(A(i))return e.stylize(Date.prototype.toString.call(i),"date");if(S(i))return u(i)}var p="",v=!1,y=["{","}"];if(w(i)&&(v=!0,y=["[","]"]),R(i)){p=" [Function"+(i.name?": "+i.name:"")+"]"}if(m(i)&&(p=" "+RegExp.prototype.toString.call(i)),A(i)&&(p=" "+Date.prototype.toUTCString.call(i)),S(i)&&(p=" "+u(i)),0===a.length&&(!v||0==i.length))return y[0]+p+y[1];if(t<0)return m(i)?e.stylize(RegExp.prototype.toString.call(i),"regexp"):e.stylize("[Object]","special");e.seen.push(i);var _;return _=v?h(e,i,t,k,a):a.map(function(r){return c(e,i,t,k,r,v)}),e.seen.pop(),b(_,p,y)}function s(e,r){if(_(r))return e.stylize("undefined","undefined");if(g(r)){var i="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(i,"string")}return v(r)?e.stylize(""+r,"number"):k(r)?e.stylize(""+r,"boolean"):d(r)?e.stylize("null","null"):void 0}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,r,i,t,n){for(var f=[],a=0,o=r.length;a-1&&(o=f?o.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+o.split("\n").map(function(e){return" "+e}).join("\n"))):o=e.stylize("[Circular]","special")),_(a)){if(f&&n.match(/^\d+$/))return o;a=JSON.stringify(""+n),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function b(e,r,i){var t=0;return e.reduce(function(e,r){return t++,r.indexOf("\n")>=0&&t++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?i[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+i[1]:i[0]+r+" "+e.join(", ")+" "+i[1]}function w(e){return Array.isArray(e)}function k(e){return"boolean"==typeof e}function d(e){return null===e}function p(e){return null==e}function v(e){return"number"==typeof e}function g(e){return"string"==typeof e}function y(e){return"symbol"==typeof e}function _(e){return void 0===e}function m(e){return E(e)&&"[object RegExp]"===M(e)}function E(e){return"object"==typeof e&&null!==e}function A(e){return E(e)&&"[object Date]"===M(e)}function S(e){return E(e)&&("[object Error]"===M(e)||e instanceof Error)}function R(e){return"function"==typeof e}function T(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function M(e){return Object.prototype.toString.call(e)}function x(e){return e<10?"0"+e.toString(10):e.toString(10)}function O(){var e=new Date,r=[x(e.getHours()),x(e.getMinutes()),x(e.getSeconds())].join(":");return[e.getDate(),U[e.getMonth()],r].join(" ")}function L(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var P=/%[sdj%]/g;r.format=function(e){if(!g(e)){for(var r=[],i=0;i=f)return e;switch(e){case"%s":return String(t[i++]);case"%d":return Number(t[i++]);case"%j":try{return JSON.stringify(t[i++])}catch(e){return"[Circular]"}default:return e}}),o=t[i];i0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[r-2]?2:"="===e[r-1]?1:0}function n(e){return 3*e.length/4-t(e)}function f(e){var r,i,n,f,a,o=e.length;f=t(e),a=new h(3*o/4-f),i=f>0?o-4:o;var l=0;for(r=0;r>16&255,a[l++]=n>>8&255,a[l++]=255&n;return 2===f?(n=u[e.charCodeAt(r)]<<2|u[e.charCodeAt(r+1)]>>4,a[l++]=255&n):1===f&&(n=u[e.charCodeAt(r)]<<10|u[e.charCodeAt(r+1)]<<4|u[e.charCodeAt(r+2)]>>2,a[l++]=n>>8&255,a[l++]=255&n),a}function a(e){return s[e>>18&63]+s[e>>12&63]+s[e>>6&63]+s[63&e]}function o(e,r,i){for(var t,n=[],f=r;fl?l:a+16383));return 1===t?(r=e[i-1],n+=s[r>>2],n+=s[r<<4&63],n+="=="):2===t&&(r=(e[i-2]<<8)+e[i-1],n+=s[r>>10],n+=s[r>>4&63],n+=s[r<<2&63],n+="="),f.push(n),f.join("")}r.byteLength=n,r.toByteArray=f,r.fromByteArray=l;for(var s=[],u=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b=0,w=c.length;b>1,u=-7,h=i?n-1:0,c=i?-1:1,b=e[r+h];for(h+=c,f=b&(1<<-u)-1,b>>=-u,u+=o;u>0;f=256*f+e[r+h],h+=c,u-=8);for(a=f&(1<<-u)-1,f>>=-u,u+=t;u>0;a=256*a+e[r+h],h+=c,u-=8);if(0===f)f=1-s;else{if(f===l)return a?NaN:1/0*(b?-1:1);a+=Math.pow(2,t),f-=s}return(b?-1:1)*a*Math.pow(2,f-t)},r.write=function(e,r,i,t,n,f){var a,o,l,s=8*f-n-1,u=(1<>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,b=t?0:f-1,w=t?1:-1,k=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(o=isNaN(r)?1:0,a=u):(a=Math.floor(Math.log(r)/Math.LN2),r*(l=Math.pow(2,-a))<1&&(a--,l*=2),r+=a+h>=1?c/l:c*Math.pow(2,1-h),r*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(r*l-1)*Math.pow(2,n),a+=h):(o=r*Math.pow(2,h-1)*Math.pow(2,n),a=0));n>=8;e[i+b]=255&o,b+=w,o/=256,n-=8);for(a=a<0;e[i+b]=255&a,b+=w,a/=256,s-=8);e[i+b-w]|=128*k}},function(e,r,i){(function(r){function t(e){if(!(this instanceof t))return new t(e);if(e=l({rate:48e3,channels:1,unsafe:!1},e),e.channels<1||e.channels>2)throw u("channels must be either 1 or 2");if(-1==[8e3,12e3,16e3,24e3,48e3].indexOf(e.rate))throw u("rate can only be 8k, 12k, 16k, 24k or 48k");this._rate=e.rate,this._channels=e.channels,this._unsafe=e.unsafe;var r=f._opus_decoder_get_size(this._channels),i=f._malloc(r),n=f._opus_decoder_init(i,this._rate,this._channels);if(0!==n)throw f._free(i),u(a.stringifyError(n));this._unsafe?this._state=i:(this._state=f.HEAPU8.slice(i,i+r),f._free(i))}function n(e,r){if(s.call(this,{}),"Float32"==r)this._decode=e.decodeFloat32.bind(e);else{if("Int16"!=r)throw new TypeError("mode cannot be "+r);this._decode=e.decodeInt16.bind(e)}}var f=i(6).instance,a=i(14),o=i(21),l=i(12),s=i(20).Transform,u=function(e){return new Error(e)},h=a.p_pcm,c=a.p_data;t.prototype._withState=function(e){if(this._unsafe)return e(this._state);var r=f._malloc(this._state.length);f.HEAPU8.set(this._state,r);try{return e(r)}finally{this._state.set(f.HEAPU8.subarray(r,r+this._state.length)),f._free(r)}},t.prototype.destroy=function(){this._unsafe&&f._free(this._state)},t.prototype.decodeInt16=function(e){return new Int16Array(this._decode(e,2,f._opus_decode))},t.prototype.decodeFloat32=function(e){return new Float32Array(this._decode(e,4,f._opus_decode_float))},t.prototype._decode=function(e,r,i){var t=this;return this._withState(function(n){e=e||t._getLastPacketDuration(n);var o;if("number"==typeof e){if(e*r>a.p_data_len)throw u("too much lost data");o=i(n,0,0,h,e,0)}else{if(!e)throw new TypeError("data must be number, Buffer or null");if(e.length>a.p_data_len)throw u("data array too large");f.HEAPU8.set(e,c);var l=a.p_pcm_len/t._channels/r;o=i(n,c,e.length,h,l,0)}if(o<0)throw u(a.stringifyError(o));return f.HEAPU8.slice(h,h+o*r).buffer})},t.prototype.getLastPacketDuration=function(){return this._withState(this._getLastPacketDuration.bind(this))},t.prototype._getLastPacketDuration=function(e){var r=f._malloc(4),i=f._malloc(4);try{f.HEAPU32[i>>2]=r;var t=f._opus_decoder_ctl(e,4039,i);if(t)throw u(a.stringifyError(t));return f.HEAP32[r>>2]}finally{f._free(i),f._free(r)}},t.prototype.stream=function(e){return new n(this,e)},o.inherits(n,s),n.prototype._transform=function(e,i,t){var n;try{var f=this._decode(e);n=r.from(f.buffer,f.byteOffset,f.byteLength)}catch(e){return t(e)}t(null,n)},t.getNumberOfSamples=function(e,i){if(!(e instanceof r))throw new TypeError("data must be a Buffer");if(e.length>a.p_data_len)throw u("data array too large");f.HEAPU8.set(e,c);var t=f._opus_packet_get_nb_samples(c,e.length,i);if(t<0)throw u(a.stringifyError(t));return t},e.exports=t}).call(r,i(4).Buffer)},function(e,r,i){(function(r){function t(e){if(!(this instanceof t))return new t(e);if(e=l({rate:48e3,channels:1,application:u.AUDIO,unsafe:!1},e),e.channels<1||e.channels>2)throw"channels must be either 1 or 2";if(-1==[8e3,12e3,16e3,24e3,48e3].indexOf(e.rate))throw"rate can only be 8k, 12k, 16k, 24k or 48k";if(e.application!==u.VOIP&&e.application!==u.AUDIO&&e.application!==u.RESTRICTED_LOWDELAY)throw"invalid application type";this._rate=e.rate,this._channels=e.channels,this._application=e.application,this._unsafe=e.unsafe;var r=f._opus_encoder_get_size(this._channels),i=f._malloc(r),n=f._opus_encoder_init(i,this._rate,this._channels,this._application);if(0!==n)throw f._free(i),a.stringifyError(n);this._unsafe?this._state=i:(this._state=f.HEAPU8.slice(i,i+r),f._free(i))}function n(e,r){if(s.call(this,{}),this._encoder=e,"Float32"==r)this._mode=Float32Array;else{if("Int16"!=r)throw new TypeError("mode cannot be "+r);this._mode=Int16Array}}var f=i(6).instance,a=i(14),o=i(21),l=i(12),s=i(20).Transform,u={VOIP:2048,AUDIO:2049,RESTRICTED_LOWDELAY:2051},h=a.p_pcm,c=a.p_data;t.prototype._withState=function(e){if(this._unsafe)return e(this._state);var r=f._malloc(this._state.length);f.HEAPU8.set(this._state,r);try{return e(r)}finally{this._state.set(f.HEAPU8.subarray(r,r+this._state.length)),f._free(r)}},t.prototype.destroy=function(){this._unsafe&&f._free(this._state)},t.prototype.encode=function(e){var i=e.length/this._channels;return this._withState(function(t){var n;if(e instanceof Float32Array){if(4*e.length>a.p_pcm_len)throw new Error("pcm array too large");f.HEAPF32.set(e,h>>2),n=f._opus_encode_float.bind(f)}else{if(!(e instanceof Int16Array))throw new TypeError("pcm must be Int16Array or Float32Array");if(2*e.length>a.p_pcm_len)throw new Error("pcm array too large");f.HEAP16.set(e,h>>1),n=f._opus_encode.bind(f)}var o=n(t,h,i,c,a.p_data_len);if(o<0)throw new Error(a.stringifyError(o));return r.from(f.HEAPU8.subarray(c,c+o))})},t.prototype.stream=function(e){return new n(this,e)},o.inherits(n,s),n.prototype._transform=function(e,r,i){e=new this._mode(e.buffer,e.byteOffset,e.byteLength/this._mode.BYTES_PER_ELEMENT);var t;try{t=this._encoder.encode(e)}catch(e){return i(e)}i(null,t)},t.Application=u,e.exports=t}).call(r,i(4).Buffer)},function(e,r,i){(function(e){function i(e,r){for(var i=0,t=e.length-1;t>=0;t--){var n=e[t];"."===n?e.splice(t,1):".."===n?(e.splice(t,1),i++):i&&(e.splice(t,1),i--)}if(r)for(;i--;i)e.unshift("..");return e}function t(e,r){if(e.filter)return e.filter(r);for(var i=[],t=0;t=-1&&!n;f--){var a=f>=0?arguments[f]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,n="/"===a.charAt(0))}return r=i(t(r.split("/"),function(e){return!!e}),!n).join("/"),(n?"/":"")+r||"."},r.normalize=function(e){var n=r.isAbsolute(e),f="/"===a(e,-1);return e=i(t(e.split("/"),function(e){return!!e}),!n).join("/"),e||n||(e="."),e&&f&&(e+="/"),(n?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(t(e,function(e,r){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,i){function t(e){for(var r=0;r=0&&""===e[i];i--);return r>i?[]:e.slice(r,i-r+1)}e=r.resolve(e).substr(1),i=r.resolve(i).substr(1);for(var n=t(e.split("/")),f=t(i.split("/")),a=Math.min(n.length,f.length),o=a,l=0;l0?this.tail.next=r:this.head=r,this.tail=r,++this.length},e.prototype.unshift=function(e){var r={data:e,next:this.head};0===this.length&&(this.tail=r),this.head=r,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var r=this.head,i=""+r.data;r=r.next;)i+=e+r.data;return i},e.prototype.concat=function(e){if(0===this.length)return f.alloc(0);if(1===this.length)return this.head.data;for(var r=f.allocUnsafe(e>>>0),i=this.head,t=0;i;)n(i.data,r,t),t+=i.data.length,i=i.next;return r},e}()},function(e,r,i){e.exports=i(10).PassThrough},function(e,r,i){e.exports=i(10).Transform},function(e,r,i){e.exports=i(9)},function(e,r,i){(function(e,r){!function(e,i){"use strict";function t(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),i=0;i=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},r))},i(34),r.setImmediate=setImmediate,r.clearImmediate=clearImmediate},function(e,r,i){(function(r){function i(e,r){function i(){if(!n){if(t("throwDeprecation"))throw new Error(r);t("traceDeprecation")?console.trace(r):console.warn(r),n=!0}return e.apply(this,arguments)}if(t("noDeprecation"))return e;var n=!1;return i}function t(e){try{if(!r.localStorage)return!1}catch(e){return!1}var i=r.localStorage[e];return null!=i&&"true"===String(i).toLowerCase()}e.exports=i}).call(r,i(3))},function(e,r){"function"==typeof Object.create?e.exports=function(e,r){e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}},function(e,r){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,r,i){var t,n=i(22).Decoder;self.addEventListener("message",function(e){switch(e.data.type){case"init":t=new n({rate:e.data.config.rate,channels:e.data.config.channels});break;case"decode":var r=t.decodeFloat32(e.data.buffer);self.postMessage({buffer:r,pt:e.data.pt});break;case"destroy":t.destroy()}})},function(e,r){}])}); \ No newline at end of file diff --git a/opus.min.js b/opus.min.js new file mode 100644 index 0000000..7478d83 --- /dev/null +++ b/opus.min.js @@ -0,0 +1,7 @@ +!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var i=r();for(var t in i)("object"==typeof exports?exports:e)[t]=i[t]}}(this,function(){return function(e){function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var i={};return r.m=e,r.c=i,r.i=function(e){return e},r.d=function(e,i,t){r.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:t})},r.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(i,"a",i),i},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="",r(r.s=39)}([function(e,r){function i(){throw new Error("setTimeout has not been defined")}function t(){throw new Error("clearTimeout has not been defined")}function n(e){if(u===setTimeout)return setTimeout(e,0);if((u===i||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(r){try{return u.call(null,e,0)}catch(r){return u.call(this,e,0)}}}function f(e){if(h===clearTimeout)return clearTimeout(e);if((h===t||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(r){try{return h.call(null,e)}catch(r){return h.call(this,e)}}}function a(){k&&b&&(k=!1,b.length?w=b.concat(w):d=-1,w.length&&o())}function o(){if(!k){var e=n(a);k=!0;for(var r=w.length;r;){for(b=w,w=[];++d1)for(var i=1;i=t())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+t().toString(16)+" bytes");return 0|e}function k(e){return+e!=e&&(e=0),f.alloc(+e)}function d(e,r){if(f.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var i=e.length;if(0===i)return 0;for(var t=!1;;)switch(r){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return V(e).length;default:if(t)return q(e).length;r=(""+r).toLowerCase(),t=!0}}function p(e,r,i){var t=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,r>>>=0,i<=r)return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,r,i);case"utf8":case"utf-8":return M(this,r,i);case"ascii":return O(this,r,i);case"latin1":case"binary":return L(this,r,i);case"base64":return T(this,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,r,i);default:if(t)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),t=!0}}function v(e,r,i){var t=e[r];e[r]=e[i],e[i]=t}function g(e,r,i,t,n){if(0===e.length)return-1;if("string"==typeof i?(t=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=n?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(n)return-1;i=e.length-1}else if(i<0){if(!n)return-1;i=0}if("string"==typeof r&&(r=f.from(r,t)),f.isBuffer(r))return 0===r.length?-1:y(e,r,i,t,n);if("number"==typeof r)return r&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,r,i):Uint8Array.prototype.lastIndexOf.call(e,r,i):y(e,[r],i,t,n);throw new TypeError("val must be string, number or Buffer")}function y(e,r,i,t,n){function f(e,r){return 1===a?e[r]:e.readUInt16BE(r*a)}var a=1,o=e.length,l=r.length;if(void 0!==t&&("ucs2"===(t=String(t).toLowerCase())||"ucs-2"===t||"utf16le"===t||"utf-16le"===t)){if(e.length<2||r.length<2)return-1;a=2,o/=2,l/=2,i/=2}var s;if(n){var u=-1;for(s=i;so&&(i=o-l),s=i;s>=0;s--){for(var h=!0,c=0;cn&&(t=n):t=n;var f=r.length;if(f%2!=0)throw new TypeError("Invalid hex string");t>f/2&&(t=f/2);for(var a=0;a239?4:f>223?3:f>191?2:1;if(n+o<=i){var l,s,u,h;switch(o){case 1:f<128&&(a=f);break;case 2:l=e[n+1],128==(192&l)&&(h=(31&f)<<6|63&l)>127&&(a=h);break;case 3:l=e[n+1],s=e[n+2],128==(192&l)&&128==(192&s)&&(h=(15&f)<<12|(63&l)<<6|63&s)>2047&&(h<55296||h>57343)&&(a=h);break;case 4:l=e[n+1],s=e[n+2],u=e[n+3],128==(192&l)&&128==(192&s)&&128==(192&u)&&(h=(15&f)<<18|(63&l)<<12|(63&s)<<6|63&u)>65535&&h<1114112&&(a=h)}}null===a?(a=65533,o=1):a>65535&&(a-=65536,t.push(a>>>10&1023|55296),a=56320|1023&a),t.push(a),n+=o}return x(t)}function x(e){var r=e.length;if(r<=Q)return String.fromCharCode.apply(String,e);for(var i="",t=0;tt)&&(i=t);for(var n="",f=r;fi)throw new RangeError("Trying to access beyond buffer length")}function U(e,r,i,t,n,a){if(!f.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>n||re.length)throw new RangeError("Index out of range")}function B(e,r,i,t){r<0&&(r=65535+r+1);for(var n=0,f=Math.min(e.length-i,2);n>>8*(t?n:1-n)}function j(e,r,i,t){r<0&&(r=4294967295+r+1);for(var n=0,f=Math.min(e.length-i,4);n>>8*(t?n:3-n)&255}function D(e,r,i,t,n,f){if(i+t>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function N(e,r,i,t,n){return n||D(e,r,i,4,3.4028234663852886e38,-3.4028234663852886e38),X.write(e,r,i,t,23,4),i+4}function F(e,r,i,t,n){return n||D(e,r,i,8,1.7976931348623157e308,-1.7976931348623157e308),X.write(e,r,i,t,52,8),i+8}function z(e){if(e=Y(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function Y(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function H(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,r){r=r||1/0;for(var i,t=e.length,n=null,f=[],a=0;a55295&&i<57344){if(!n){if(i>56319){(r-=3)>-1&&f.push(239,191,189);continue}if(a+1===t){(r-=3)>-1&&f.push(239,191,189);continue}n=i;continue}if(i<56320){(r-=3)>-1&&f.push(239,191,189),n=i;continue}i=65536+(n-55296<<10|i-56320)}else n&&(r-=3)>-1&&f.push(239,191,189);if(n=null,i<128){if((r-=1)<0)break;f.push(i)}else if(i<2048){if((r-=2)<0)break;f.push(i>>6|192,63&i|128)}else if(i<65536){if((r-=3)<0)break;f.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;f.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return f}function W(e){for(var r=[],i=0;i>8,n=i%256,f.push(n),f.push(t);return f}function V(e){return K.toByteArray(z(e))}function J(e,r,i,t){for(var n=0;n=r.length||n>=e.length);++n)r[n+i]=e[n];return n}function G(e){return e!==e}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var K=i(23),X=i(24),$=i(13);r.Buffer=f,r.SlowBuffer=k,r.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),r.kMaxLength=t(),f.poolSize=8192,f._augment=function(e){return e.__proto__=f.prototype,e},f.from=function(e,r,i){return a(null,e,r,i)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(e,r,i){return l(null,e,r,i)},f.allocUnsafe=function(e){return s(null,e)},f.allocUnsafeSlow=function(e){return s(null,e)},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.compare=function(e,r){if(!f.isBuffer(e)||!f.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var i=e.length,t=r.length,n=0,a=Math.min(i,t);n0&&(e=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(e+=" ... ")),""},f.prototype.compare=function(e,r,i,t,n){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===i&&(i=e?e.length:0),void 0===t&&(t=0),void 0===n&&(n=this.length),r<0||i>e.length||t<0||n>this.length)throw new RangeError("out of range index");if(t>=n&&r>=i)return 0;if(t>=n)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,t>>>=0,n>>>=0,this===e)return 0;for(var a=n-t,o=i-r,l=Math.min(a,o),s=this.slice(t,n),u=e.slice(r,i),h=0;hn)&&(i=n),e.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");t||(t="utf8");for(var f=!1;;)switch(t){case"hex":return _(this,e,r,i);case"utf8":case"utf-8":return m(this,e,r,i);case"ascii":return E(this,e,r,i);case"latin1":case"binary":return A(this,e,r,i);case"base64":return S(this,e,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r,i);default:if(f)throw new TypeError("Unknown encoding: "+t);t=(""+t).toLowerCase(),f=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;f.prototype.slice=function(e,r){var i=this.length;e=~~e,r=void 0===r?i:~~r,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),r<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(n*=256);)t+=this[e+--r]*n;return t},f.prototype.readUInt8=function(e,r){return r||C(e,1,this.length),this[e]},f.prototype.readUInt16LE=function(e,r){return r||C(e,2,this.length),this[e]|this[e+1]<<8},f.prototype.readUInt16BE=function(e,r){return r||C(e,2,this.length),this[e]<<8|this[e+1]},f.prototype.readUInt32LE=function(e,r){return r||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},f.prototype.readUInt32BE=function(e,r){return r||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},f.prototype.readIntLE=function(e,r,i){e|=0,r|=0,i||C(e,r,this.length);for(var t=this[e],n=1,f=0;++f=n&&(t-=Math.pow(2,8*r)),t},f.prototype.readIntBE=function(e,r,i){e|=0,r|=0,i||C(e,r,this.length);for(var t=r,n=1,f=this[e+--t];t>0&&(n*=256);)f+=this[e+--t]*n;return n*=128,f>=n&&(f-=Math.pow(2,8*r)),f},f.prototype.readInt8=function(e,r){return r||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,r){r||C(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},f.prototype.readInt16BE=function(e,r){r||C(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},f.prototype.readInt32LE=function(e,r){return r||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},f.prototype.readInt32BE=function(e,r){return r||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},f.prototype.readFloatLE=function(e,r){return r||C(e,4,this.length),X.read(this,e,!0,23,4)},f.prototype.readFloatBE=function(e,r){return r||C(e,4,this.length),X.read(this,e,!1,23,4)},f.prototype.readDoubleLE=function(e,r){return r||C(e,8,this.length),X.read(this,e,!0,52,8)},f.prototype.readDoubleBE=function(e,r){return r||C(e,8,this.length),X.read(this,e,!1,52,8)},f.prototype.writeUIntLE=function(e,r,i,t){if(e=+e,r|=0,i|=0,!t){U(this,e,r,i,Math.pow(2,8*i)-1,0)}var n=1,f=0;for(this[r]=255&e;++f=0&&(f*=256);)this[r+n]=e/f&255;return r+i},f.prototype.writeUInt8=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,1,255,0),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},f.prototype.writeUInt16LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},f.prototype.writeUInt16BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},f.prototype.writeUInt32LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):j(this,e,r,!0),r+4},f.prototype.writeUInt32BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):j(this,e,r,!1),r+4},f.prototype.writeIntLE=function(e,r,i,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*i-1);U(this,e,r,i,n-1,-n)}var f=0,a=1,o=0;for(this[r]=255&e;++f>0)-o&255;return r+i},f.prototype.writeIntBE=function(e,r,i,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*i-1);U(this,e,r,i,n-1,-n)}var f=i-1,a=1,o=0;for(this[r+f]=255&e;--f>=0&&(a*=256);)e<0&&0===o&&0!==this[r+f+1]&&(o=1),this[r+f]=(e/a>>0)-o&255;return r+i},f.prototype.writeInt8=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,1,127,-128),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},f.prototype.writeInt16LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},f.prototype.writeInt16BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},f.prototype.writeInt32LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):j(this,e,r,!0),r+4},f.prototype.writeInt32BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):j(this,e,r,!1),r+4},f.prototype.writeFloatLE=function(e,r,i){return N(this,e,r,!0,i)},f.prototype.writeFloatBE=function(e,r,i){return N(this,e,r,!1,i)},f.prototype.writeDoubleLE=function(e,r,i){return F(this,e,r,!0,i)},f.prototype.writeDoubleBE=function(e,r,i){return F(this,e,r,!1,i)},f.prototype.copy=function(e,r,i,t){if(i||(i=0),t||0===t||(t=this.length),r>=e.length&&(r=e.length),r||(r=0),t>0&&t=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-r=0;--n)e[n+r]=this[n+i];else if(a<1e3||!f.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,i=void 0===i?this.length:i>>>0,e||(e=0);var a;if("number"==typeof e)for(a=r;a>0]=r;break;case"i16":L[e>>1]=r;break;case"i32":M[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,1<=+ha(tempDouble)?0>>0:~~+ka((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M[e>>2]=tempI64[0],M[e+4>>2]=tempI64[1];break;case"float":N[e>>2]=r;break;case"double":la[e>>3]=r;break;default:G("invalid type for setValue: "+i)}}function ma(e,r){switch(r=r||"i8","*"===r.charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return J[e>>0];case"i16":return L[e>>1];case"i32":case"i64":return M[e>>2];case"float":return N[e>>2];case"double":return la[e>>3];default:G("invalid type for setValue: "+r)}return null}function O(e,r,i,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a="string"==typeof r?r:null;if(i=4==i?t:["function"==typeof Q?Q:y.o,y.f,y.o,y.b][void 0===i?2:i](Math.max(f,a?1:r.length)),n){for(t=i,assert(0==(3&i)),e=i+(-4&f);t>2]=0;for(e=i+f;t>0]=0;return i}if("i8"===a)return e.subarray||e.slice?R.set(e,i):R.set(new Uint8Array(e),i),i;t=0;for(var o,l;t>0],t|=i,0!=i||r)&&(n++,!r||n!=r););if(r||(r=n),i="",128>t){for(;0i?l+=String.fromCharCode(i):(i-=65536,l+=String.fromCharCode(55296|i>>10,56320|1023&i)))):l+=String.fromCharCode(i)}}function ra(e,r,i,t){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f)),127>=a){if(i>=t)break;r[i++]=a}else{if(2047>=a){if(i+1>=t)break;r[i++]=192|a>>6}else{if(65535>=a){if(i+2>=t)break;r[i++]=224|a>>12}else{if(2097151>=a){if(i+3>=t)break;r[i++]=240|a>>18}else{if(67108863>=a){if(i+4>=t)break;r[i++]=248|a>>24}else{if(i+5>=t)break;r[i++]=252|a>>30,r[i++]=128|a>>24&63}r[i++]=128|a>>18&63}r[i++]=128|a>>12&63}r[i++]=128|a>>6&63}r[i++]=128|63&a}}return r[i]=0,i-n}function sa(e){for(var r=0,i=0;i=t&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++i)),127>=t?++r:r=2047>=t?r+2:65535>=t?r+3:2097151>=t?r+4:67108863>=t?r+5:r+6}return r}function ta(){return ua().replace(/__Z[\w\d_]+/g,function(e){var r;e:{if(b.___cxa_demangle)try{var i=Q(e.length);fa(e.substr(1),i);var t=Q(4),n=b.___cxa_demangle(i,0,0,t);if(0===ma(t,"i32")&&n){r=I(n);break e}}catch(i){r=e;break e}finally{i&&va(i),t&&va(t),n&&va(n)}y.d("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),r=e}return e===r?e:e+" ["+r+"]"})}function ua(){var e=Error();if(!e.stack){try{throw Error(0)}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function wa(){var e=E;return 0>0]=e[i],i+=1}function ea(e,r){for(var i=0;i>0]=e[i]}function pa(e,r,i){for(var t=0;t>0]=e.charCodeAt(t);i||(J[r>>0]=0)}function Oa(e){return b.___errno_location&&(M[b.___errno_location()>>2]=e),e}function S(e){S.a||(E=wa(),S.a=!0,assert(y.b),S.u=y.b,y.b=function(){G("cannot dynamically allocate, sbrk now has control")});var r=E;return 0==e||S.u(e)?r:4294967295}function Y(){return Y.a||(Y.a=[]),Y.a.push(y.g()),Y.a.length-1}function w(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ya(e){function r(){if(!b.calledRun&&(b.calledRun=!0,!H)){if(T||(T=!0,V(Ea)),V(Fa),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b._main&&$a&&b.callMain(e),b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;)Ja(b.postRun.shift());V(Ha)}}if(e=e||b.arguments,null===Wa&&(Wa=Date.now()),!(0 0) var gc = undefined");else{if(!p&&!q)throw"Unknown runtime environment. Where are we?";b.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},b.readAsync=function(e,r,i){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?r(t.response):i()},t.onerror=i,t.send(null)},void 0!==arguments&&(b.arguments=arguments),"undefined"!=typeof console?(b.print||(b.print=function(e){console.log(e)}),b.printErr||(b.printErr=function(e){console.warn(e)})):b.print||(b.print=function(){}),q&&(b.load=importScripts),void 0===b.setWindowTitle&&(b.setWindowTitle=function(e){document.title=e})}!b.load&&b.read&&(b.load=function(e){aa(b.read(e))}),b.print||(b.print=function(){}),b.printErr||(b.printErr=b.print),b.arguments||(b.arguments=[]),b.thisProgram||(b.thisProgram="./this.program"),b.print=b.print,b.m=b.printErr,b.preRun=[],b.postRun=[];for(l in f)f.hasOwnProperty(l)&&(b[l]=f[l]);var f=void 0,y={B:function(e){tempRet0=e},w:function(){return tempRet0},g:function(){return x},c:function(e){x=e},q:function(e){switch(e){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"*"===e[e.length-1]?y.i:"i"===e[0]?(e=parseInt(e.substr(1)),assert(0==e%8),e/8):0}},v:function(e){return Math.max(y.q(e),y.i)},C:16,Q:function(e,r){return"double"===r||"i64"===r?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},K:function(e,r,i){return i||"i64"!=e&&"double"!=e?e?Math.min(r||(e?y.v(e):0),y.i):Math.min(r,8):8},k:function(e,r,i){return i&&i.length?(i.splice||(i=Array.prototype.slice.call(i)),i.splice(0,0,r),b["dynCall_"+e].apply(null,i)):b["dynCall_"+e].call(null,r)},e:[],r:function(e){for(var r=0;r=F)&&(G("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+F+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),e=!0),e?(E=r,0):r},p:function(e,r){return Math.ceil(e/(r||16))*(r||16)},P:function(e,r,i){return i?+(e>>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},h:8,i:4,D:0};b.Runtime=y,y.addFunction=y.r,y.removeFunction=y.A;var H=!1,ca,da;!function(){function a(e){return e=e.toString().match(g).slice(1),{arguments:e[0],body:e[1],returnValue:e[2]}}function c(){if(!k){k={};for(var e in d)d.hasOwnProperty(e)&&(k[e]=a(d[e]))}}var d={stackSave:function(){y.g()},stackRestore:function(){y.c()},arrayToC:function(e){var r=y.f(e.length);return ea(e,r),r},stringToC:function(e){var r=0;return null!==e&&void 0!==e&&0!==e&&(r=y.f(1+(e.length<<2)),fa(e,r)),r}},e={string:d.stringToC,array:d.arrayToC};da=function(r,i,t,n,f){r=ba(r);var a=[],o=0;if(n)for(var l=0;l>0];if(!i)return r;r+=String.fromCharCode(i)}},b.stringToAscii=function(e,r){return pa(e,r,!1)},b.UTF8ArrayToString=qa,b.UTF8ToString=function(e){return qa(R,e)},b.stringToUTF8Array=ra,b.stringToUTF8=function(e,r,i){return ra(e,R,r,i)},b.lengthBytesUTF8=sa,b.stackTrace=function(){return ta()};for(var buffer,J,R,L,xa,M,ya,N,la,za=0,z=0,na=!1,Aa=0,x=0,Ba=0,E=0,Ca=b.TOTAL_STACK||5242880,F=b.TOTAL_MEMORY||16777216,U=65536;UU?2*U:U+16777216;if(U!==F&&(F=U),buffer=b.buffer?b.buffer:new ArrayBuffer(F),b.HEAP8=J=new Int8Array(buffer),b.HEAP16=L=new Int16Array(buffer),b.HEAP32=M=new Int32Array(buffer),b.HEAPU8=R=new Uint8Array(buffer),b.HEAPU16=xa=new Uint16Array(buffer),b.HEAPU32=ya=new Uint32Array(buffer),b.HEAPF32=N=new Float32Array(buffer),b.HEAPF64=la=new Float64Array(buffer),M[0]=255,255!==R[0]||0!==R[3])throw"Typed arrays 2 must be run on a little-endian system";b.HEAP=void 0,b.buffer=buffer,b.HEAP8=J,b.HEAP16=L,b.HEAP32=M,b.HEAPU8=R,b.HEAPU16=xa,b.HEAPU32=ya,b.HEAPF32=N,b.HEAPF64=la;var Da=[],Ea=[],Fa=[],Ga=[],Ha=[],T=!1;b.addOnPreRun=Ia,b.addOnInit=function(e){Ea.unshift(e)},b.addOnPreMain=function(e){Fa.unshift(e)},b.addOnExit=function(e){Ga.unshift(e)},b.addOnPostRun=Ja,b.intArrayFromString=Ka,b.intArrayToString=function(e){for(var r=[],i=0;i>>16)*t+i*(r>>>16)<<16)|0}),Math.O=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;32>r;r++)if(e&1<<31-r)return r;return 32}),Math.H=Math.clz32;var ha=Math.abs,ka=Math.ceil,ja=Math.floor,La=Math.pow,ia=Math.min,W=0,Ma=null,X=null;b.addRunDependency=function(){W++,b.monitorRunDependencies&&b.monitorRunDependencies(W)},b.removeRunDependency=function(){if(W--,b.monitorRunDependencies&&b.monitorRunDependencies(W),0==W&&(null!==Ma&&(clearInterval(Ma),Ma=null),X)){var e=X;X=null,e()}},b.preloadedImages={},b.preloadedAudios={},za=8,z=za+31072,Ea.push(),O([1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,190,98,0,0,198,98,0,0,215,98,0,0,232,98,0,0,247,98,0,0,8,99,0,0,32,99,0,0,46,99,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,168,1,0,0,104,4,0,0,36,7,0,0,220,9,0,0,144,12,0,0,64,15,0,0,236,17,0,0,84,19,0,0,16,20,0,0,132,20,0,0,208,20,0,0,8,21,0,0,40,21,0,0,64,21,0,0,76,21,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160,0,0,33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,172,21,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,72,87,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,249,99,0,0,116,87,0,0,24,22,0,0,128,7,0,0,3,0,0,0,248,23,0,0,48,39,0,0,104,39,0,0,160,39,0,0,216,39,0,0,136,1,0,0,166,94,0,0,224,100,0,0,104,102,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,158,87,0,0,48,24,0,0,0,0,0,0,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,91,0,0,48,24,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,93,0,0,48,24,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,94,0,0,48,24,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63],"i8",4,y.h),O([107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63,123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,191,104,0,0,199,104,0,0,215,104,0,0,247,104,0,0,255,104,0,0,15,105,0,0,47,105,0,0,87,105,0,0,167,105,0,0,71,106,0,0,79,106,0,0,95,106,0,0,32,0,10,0,20,46,100,1,130,106,0,0,194,107,0,0,2,108,0,0,20,108,0,0,180,108,0,0,252,108,0,0,134,95,0,0,32,0,16,0,102,38,171,1,68,109,0,0,68,111,0,0,132,111,0,0,162,111,0,0,162,112,0,0,234,112,0,0,156,95,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,77,113,0,0,80,113,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,0,250,0,0,128,62,0,0,160,140,0,0,128,62,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,8,82,0,0,208,7,0,0,96,109,0,0,208,7,0,0,224,46,0,0,232,3,0,0,80,70,0,0,208,7,0,0,8,82,0,0,208,7,0,0,48,117,0,0,208,7,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,104,66,0,0,232,3,0,0,8,82,0,0,208,7,0,0,224,46,0,0,232,3,0,0,152,58,0,0,232,3,0,0,80,70,0,0,208,7,0,0,240,85,0,0,208,7,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63],"i8",4,y.h+10240),O([206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,3,0,0,0,148,80,0,0,160,80,0,0,25,0,0,0,15,0,0,0,2,0,0,0,14,190,192,189,172,31,155,190,149,130,26,191,150,149,70,190,84,114,62,190,146,3,26,191,6,152,62,189,2,160,234,189,182,43,212,189,185,114,30,191,106,190,162,190,28,7,46,190,107,243,143,189,90,158,23,62,33,173,209,62,10,102,12,63,125,60,188,62,20,33,253,190,143,169,67,63,8,119,235,191,10,243,46,62,117,147,76,65,80,83,139,191,108,236,162,191,181,21,130,193,28,107,193,65,162,98,178,192,255,231,48,190,47,79,39,190,158,206,101,190,255,87,194,189,155,60,149,189,203,248,135,190,44,97,205,189,203,33,83,189,64,166,21,190,238,35,247,189,160,253,56,190,219,167,3,62,233,95,226,62,213,202,252,190,29,203,43,62,231,168,83,62,1,79,74,190,247,3,214,62,71,119,192,63,173,249,69,191,64,164,32,193,43,194,205,62,192,178,62,64,201,118,115,65,100,204,241,191,39,165,152,191,23,204,233,60,134,193,132,187,201,232,144,61,84,72,7,60,154,231,189,189,103,71,42,188,59,137,140,187,159,122,160,187,88,90,145,189,85,196,39,187,169,11,34,61,177,219,103,62,241,54,5,61,52,17,38,62,170,10,205,189,86,185,248,62,108,4,2,62,86,102,146,62,228,254,126,60,106,251,215,61,159,142,67,64,136,70,147,63,57,40,129,191,71,90,234,191,139,84,84,64,210,53,91,192,13,253,243,189,232,39,38,189,25,31,226,59,241,90,147,60,171,170,28,189,237,238,195,59,5,106,150,188,246,141,249,58,37,201,19,190,106,115,50,189,210,214,129,58,161,100,98,62,158,210,17,62,128,215,247,62,221,12,207,62,124,15,3,63,250,242,114,190,55,139,119,62,47,110,179,62,183,13,51,191,136,99,38,65,18,165,41,64,83,208,27,192,53,7,134,192,125,150,135,63,60,247,218,63,12,212,218,59,186,186,147,189,191,192,34,189,69,144,20,61,38,112,235,189,208,37,193,188,210,156,6,60,124,58,104,188,114,11,7,189,31,26,17,189,171,204,53,59,154,208,148,190,218,230,146,191,140,104,163,190,89,193,47,191,163,233,188,62,64,50,245,62,253,245,58,62,163,119,210,190,8,144,97,63,39,107,147,192,33,31,188,63,224,243,171,62,161,214,232,191,245,91,241,193,8,172,177,64,252,177,255,58,106,21,253,189,37,245,148,189,41,102,131,189,252,233,90,189,35,134,221,189,20,249,191,189,43,237,142,189,75,171,225,188,167,236,68,190,122,110,225,189,172,28,146,62,105,170,207,190,7,203,189,61,35,101,147,190,201,231,89,191,252,194,203,189,212,95,111,190,111,129,164,191,13,108,145,63,155,201,71,64,187,39,143,189,66,91,238,191,113,201,41,64,120,238,233,192,26,168,28,64,135,138,146,186,54,152,129,189,127,33,26,189,138,114,25,190,229,100,18,62,247,202,60,62,113,202,252,61,117,220,154,61,70,65,240,61,200,40,191,61,71,193,141,61,22,144,172,61,175,81,144,61,27,166,113,61,173,246,192,61,61,209,229,190,92,47,215,60,148,107,138,62,106,78,134,190,98,186,48,62,49,37,0,64,133,9,35,190,99,96,29,61,26,81,35,65,182,248,132,64,7,206,21,192,120,99,97,189,79,18,30,60,98,186,16,190,8,223,224,60,187,222,12,61,136,166,71,189,97,152,194,61,35,245,253,187,158,146,24,189,185,155,179,187,187,236,135,189,45,182,196,61,230,206,76,190,12,24,41,189,251,87,22,63,48,68,83,61,142,172,172,62,218,226,90,63,93,26,43,63,202,82,235,189,178,75,104,192,37,89,239,190,177,164,92,190,57,98,39,64,145,238,207,62,180,142,174,191,203,61,46,61,20,5,250,61,210,98,191,61,67,4,252,61,160,165,11,61,155,226,17,190,245,130,15,61,15,250,72,189,55,41,150,61,113,52,108,61,83,235,253,61,185,215,83,189,147,139,129,190,69,47,23,63,113,89,21,62,238,95,161,62,207,217,98,62,177,168,24,190,79,89,93,62,127,251,178,190,253,135,196,65,161,131,126,191,11,66,29,63,242,82,150,193,27,76,53,192,69,128,55,191,84,196,177,190,253,130,245,62,128,238,123,190,215,96,155,61,137,150,12,62,211,19,54,190,185,51,243,61,46,253,141,186,175,7,115,190,129,34,182,62,33,7,5,190,218,78,96,189,101,28,163,190,21,171,166,190,107,211,56,62,171,31,128,189,183,155,16,62,40,41,176,62,24,207,192,62,95,126,23,191,102,247,186,64,170,241,194,190,46,56,99,62,239,172,181,191,48,108,229,201,122,170,171,63,218,31,232,60,27,113,55,189,162,59,173,188,127,121,210,188,9,192,100,60,236,86,170,60,101,102,48,188,198,207,53,60,202,13,112,61,62,180,207,188,178,134,6,189,121,35,243,61,78,38,94,190,247,62,21,62,230,93,245,61,106,111,187,189,198,21,247,189,41,83,161,189,106,23,19,190,134,89,24,191,188,116,147,191,198,109,160,191,181,224,149,191,42,227,138,64,64,26,110,201,249,102,175,191,204,76,36,189,13,168,87,62,141,239,11,190,159,57,11,62,64,87,86,189,28,28,54,61,199,207,107,60,239,56,135,59,170,27,158,188,226,177,95,62,162,178,225,189,236,163,1,192,165,17,107,63,28,8,29,192,134,3,153,63,184,86,123,189,48,18,246,191,186,192,157,62,172,202,254,62,42,144,105,63,102,75,86,62,147,24,22,192,95,94,12,64,39,20,207,192,144,78,217,63,169,161,57,191,112,218,66,60,77,206,26,61,109,235,98,61,109,130,185,60,243,67,144,189,93,3,246,188,182,124,73,60,72,233,136,187,62,158,140,189,125,64,0,61,219,50,32,61,194,108,186,62,242,165,193,189,126,80,188,60,194,81,50,190,228,218,168,62,44,239,234,61,112,182,153,62,62,33,219,61,18,136,7,62,8,148,185,64,125,118,104,63,80,195,103,191,88,202,86,192,248,56,67,62,207,161,60,62,50,116,44,191,208,94,109,62,213,29,112,189,65,74,108,62,216,101,224,190,240,193,123,62,23,72,48,190,182,123,179,61,121,115,56,191,85,106,38,62,85,187,139,60,143,114,208,61,117,230,198,62,213,38,170,63,2,241,138,63,108,177,111,191,51,167,23,192,66,9,215,192,144,102,92,192,241,215,8,64,116,181,99,65,82,68,157,64,20,203,69,192,16,18,27,193,252,170,68,191,164,228,229,63,75,35,97,61,17,82,39,62,16,59,163,61,253,223,12,61,211,175,99,189,237,178,165,187,217,102,153,60,110,201,5,61,34,162,189,60,175,119,31,62,154,15,67,61,75,120,130,190,151,255,204,63,210,28,77,191,119,132,35,64,65,213,60,63,19,102,174,191,221,9,50,191,71,90,28,192,62,174,221,191,131,250,124,64,205,1,242,63,101,224,248,62,75,89,53,193,128,147,112,74,249,75,195,190,126,29,248,61,94,44,104,191,249,20,60,64,51,196,209,63,231,255,97,63,2,213,95,63,45,207,155,63,46,226,95,191,166,182,164,62,93,249,72,63,160,81,114,63,134,55,19,191,62,203,93,192,34,137,98,63,173,62,189,61,144,131,30,193,116,93,200,62,10,242,35,62,170,43,3,192,240,167,132,64,210,22,140,61,58,60,20,190,123,16,146,190,69,44,194,62,116,70,148,191,167,29,227,188,154,153,29,193,16,93,154,192,51,167,109,64,139,224,119,64,26,163,97,64,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,184,126,154,121,154,121,102,102,184,126,51,115,16,48,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,30,161,36,42,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,210,6,138,58,171,152,198,26,169,100,246,216,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,19,245,149,230,89,18,243,41,31,6,84,32,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,117,110,107,110,111,119,110,32,101,114,114,111,114,0,115,117,99,99,101,115,115,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,0,99,111,114,114,117,112,116,101,100,32,115,116,114,101,97,109,0,114,101,113,117,101,115,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,0,108,105,98,111,112,117,115,32,49,46,49,46,50,0,2,1,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,2,1,0,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,8,16,32,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,203,150,0,215,195,166,125,110,82,0,120,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,8,10,12,16,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231,209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,255,255],"i8",4,y.h+20480);var Na=z,z=z+16;b._i64Add=Pa,b._bitshift64Ashr=Qa,b._memset=Ra,b._memcpy=Sa;var Ta=ha;b._memmove=Ua;var Aa=x=y.p(z),na=!0,Ba=Aa+Ca,E=y.p(Ba),Va=O([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);b.s={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},b.t={abort:G,assert:assert,invoke_viiiiiii:function(e,r,i,t,n,f,a,o){try{b.dynCall_viiiiiii(e,r,i,t,n,f,a,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Z.setThrew(1,0)}},_llvm_pow_f64:La,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Oa,_llvm_stacksave:Y,_sbrk:S,_time:function(e){var r=Date.now()/1e3|0;return e&&(M[e>>2]=r),r},_llvm_fabs_f64:Ta,_emscripten_memcpy_big:function(e,r,i){return R.set(R.subarray(r,r+i),e),e},_llvm_stackrestore:function(e){var r=Y.a[e];Y.a.splice(e,1),y.c(r)},_sysconf:function(e){switch(e){case 30:return 4096;case 85:return U/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 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 79:return 0;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"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return Oa(22),-1},STACKTOP:x,STACK_MAX:Ba,tempDoublePtr:Na,ABORT:H,cttz_i8:Va};var Z=function(e,r,i){"use asm";var t=new e.Int8Array(i);var n=new e.Int16Array(i);var f=new e.Int32Array(i);var a=new e.Uint8Array(i);var o=new e.Uint16Array(i);var l=new e.Uint32Array(i);var s=new e.Float32Array(i);var u=new e.Float64Array(i);var h=r.STACKTOP|0;var c=r.STACK_MAX|0;var b=r.tempDoublePtr|0;var w=r.ABORT|0;var k=r.cttz_i8|0;var d=0;var p=0;var v=0;var g=0;var y=e.NaN,_=e.Infinity;var m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;var L=0;var P=0;var I=0;var C=0;var U=0;var B=0;var j=0;var D=0;var N=0;var F=0;var z=e.Math.floor;var Y=e.Math.abs;var H=e.Math.sqrt;var q=e.Math.pow;var W=e.Math.cos;var Z=e.Math.sin;var V=e.Math.tan;var J=e.Math.acos;var G=e.Math.asin;var K=e.Math.atan;var X=e.Math.atan2;var $=e.Math.exp;var Q=e.Math.log;var ee=e.Math.ceil;var re=e.Math.imul;var ie=e.Math.min;var te=e.Math.clz32;var ne=r.abort;var fe=r.assert;var ae=r.invoke_viiiiiii;var oe=r._llvm_pow_f64;var le=r._pthread_self;var se=r._abort;var ue=r.___setErrNo;var he=r._llvm_stacksave;var ce=r._sbrk;var be=r._time;var we=r._llvm_fabs_f64;var ke=r._emscripten_memcpy_big;var de=r._llvm_stackrestore;var pe=r._sysconf;var ve=0;function ge(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,me=0;ge=h;h=h+304|0;G=ge+288|0;K=ge+284|0;u=ge+280|0;X=ge+276|0;$=ge+272|0;Q=ge+268|0;ee=ge+264|0;ie=ge+260|0;oe=ge+256|0;se=ge+252|0;ae=ge+248|0;D=ge+244|0;T=ge+240|0;b=ge+192|0;M=ge+184|0;pe=ge+176|0;me=ge+168|0;be=ge+164|0;we=ge+160|0;ke=ge+156|0;V=ge+152|0;B=ge+148|0;Y=ge+144|0;d=ge+140|0;fe=ge+136|0;F=ge+132|0;z=ge+128|0;ve=ge+124|0;le=ge+120|0;C=ge+116|0;P=ge+112|0;R=ge+108|0;W=ge+104|0;q=ge+100|0;U=ge+96|0;I=ge+92|0;S=ge+88|0;L=ge+84|0;A=ge+80|0;v=ge+76|0;Z=ge+72|0;O=ge+68|0;x=ge+64|0;j=ge+60|0;N=ge+56|0;ue=ge+52|0;ce=ge+48|0;H=ge+44|0;y=ge+40|0;k=ge+36|0;w=ge+32|0;te=ge+28|0;E=ge+24|0;m=ge+20|0;g=ge+16|0;p=ge+12|0;_=ge+8|0;J=ge+4|0;ne=ge;f[K>>2]=e;f[u>>2]=r;f[X>>2]=i;f[$>>2]=t;f[Q>>2]=a;f[ee>>2]=o;f[ie>>2]=l;f[fe>>2]=f[(f[K>>2]|0)+8>>2];f[U>>2]=0;f[I>>2]=0;f[x>>2]=0;f[N>>2]=f[(f[K>>2]|0)+12>>2];f[ue>>2]=f[f[K>>2]>>2];f[ce>>2]=f[(f[ue>>2]|0)+8>>2];f[H>>2]=f[(f[ue>>2]|0)+4>>2];f[y>>2]=f[(f[ue>>2]|0)+32>>2];f[ve>>2]=f[(f[K>>2]|0)+20>>2];f[le>>2]=f[(f[K>>2]|0)+24>>2];f[Q>>2]=re(f[Q>>2]|0,f[(f[K>>2]|0)+16>>2]|0)|0;f[me>>2]=(f[K>>2]|0)+84+((re(2048+(f[H>>2]|0)|0,f[fe>>2]|0)|0)<<2);f[be>>2]=(f[me>>2]|0)+((f[fe>>2]|0)*24<<2);f[we>>2]=(f[be>>2]|0)+(f[ce>>2]<<1<<2);f[ke>>2]=(f[we>>2]|0)+(f[ce>>2]<<1<<2);f[V>>2]=(f[ke>>2]|0)+(f[ce>>2]<<1<<2);f[F>>2]=0;while(1){if((f[F>>2]|0)>(f[(f[ue>>2]|0)+36>>2]|0))break;if((f[(f[ue>>2]|0)+44>>2]<>2]|0)==(f[Q>>2]|0))break;f[F>>2]=(f[F>>2]|0)+1}if((f[F>>2]|0)>(f[(f[ue>>2]|0)+36>>2]|0)){f[G>>2]=-1;me=f[G>>2]|0;h=ge;return me|0}f[z>>2]=1<>2];if((f[X>>2]|0)<0|(f[X>>2]|0)>1275|(f[$>>2]|0)==0){f[G>>2]=-1;me=f[G>>2]|0;h=ge;return me|0}f[ae>>2]=re(f[z>>2]|0,f[(f[ue>>2]|0)+44>>2]|0)|0;f[oe>>2]=0;do{me=(f[K>>2]|0)+84+((re(f[oe>>2]|0,2048+(f[H>>2]|0)|0)|0)<<2)|0;f[M+(f[oe>>2]<<2)>>2]=me;f[pe+(f[oe>>2]<<2)>>2]=(f[M+(f[oe>>2]<<2)>>2]|0)+8192+(0-(f[ae>>2]|0)<<2);me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));f[C>>2]=f[le>>2];if((f[C>>2]|0)>(f[(f[ue>>2]|0)+12>>2]|0))f[C>>2]=f[(f[ue>>2]|0)+12>>2];if((f[u>>2]|0)==0|(f[X>>2]|0)<=1){ye(f[K>>2]|0,f[ae>>2]|0,f[F>>2]|0);Ee(pe,f[$>>2]|0,f[ae>>2]|0,f[fe>>2]|0,f[(f[K>>2]|0)+16>>2]|0,(f[ue>>2]|0)+16|0,(f[K>>2]|0)+76|0,f[ie>>2]|0);f[G>>2]=(f[Q>>2]|0)/(f[(f[K>>2]|0)+16>>2]|0)|0;me=f[G>>2]|0;h=ge;return me|0}if(!(f[ee>>2]|0)){Pe(b,f[u>>2]|0,f[X>>2]|0);f[ee>>2]=b}e:do{if((f[N>>2]|0)==1){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]|0))break e;if(+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]>+s[(f[be>>2]|0)+((f[ce>>2]|0)+(f[se>>2]|0)<<2)>>2])c=+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2];else c=+s[(f[be>>2]|0)+((f[ce>>2]|0)+(f[se>>2]|0)<<2)>>2];s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}}while(0);f[S>>2]=f[X>>2]<<3;f[A>>2]=Ae(f[ee>>2]|0)|0;do{if((f[A>>2]|0)<(f[S>>2]|0))if((f[A>>2]|0)==1){f[j>>2]=Ne(f[ee>>2]|0,15)|0;break}else{f[j>>2]=0;break}else f[j>>2]=1}while(0);if(f[j>>2]|0){f[A>>2]=f[X>>2]<<3;e=f[A>>2]|0;e=e-(Ae(f[ee>>2]|0)|0)|0;me=(f[ee>>2]|0)+20|0;f[me>>2]=(f[me>>2]|0)+e}s[q>>2]=0;f[W>>2]=0;f[Z>>2]=0;if((f[ve>>2]|0)==0?((f[A>>2]|0)+16|0)<=(f[S>>2]|0):0){if(Ne(f[ee>>2]|0,1)|0){f[w>>2]=ze(f[ee>>2]|0,6)|0;me=16<>2];f[W>>2]=me+(Ye(f[ee>>2]|0,4+(f[w>>2]|0)|0)|0)-1;f[k>>2]=Ye(f[ee>>2]|0,3)|0;me=(Ae(f[ee>>2]|0)|0)+2|0;if((me|0)<=(f[S>>2]|0))f[Z>>2]=Fe(f[ee>>2]|0,25575,2)|0;s[q>>2]=+((f[k>>2]|0)+1|0)*.09375}f[A>>2]=Ae(f[ee>>2]|0)|0}if((f[F>>2]|0)>0?((f[A>>2]|0)+3|0)<=(f[S>>2]|0):0){f[Y>>2]=Ne(f[ee>>2]|0,3)|0;f[A>>2]=Ae(f[ee>>2]|0)|0}else f[Y>>2]=0;if(f[Y>>2]|0)f[B>>2]=f[z>>2];else f[B>>2]=0;if(((f[A>>2]|0)+3|0)<=(f[S>>2]|0))u=Ne(f[ee>>2]|0,3)|0;else u=0;f[d>>2]=u;zr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,f[d>>2]|0,f[ee>>2]|0,f[N>>2]|0,f[F>>2]|0);me=f[ce>>2]|0;f[te>>2]=he()|0;i=h;h=h+((1*(me<<2)|0)+15&-16)|0;Se(f[ve>>2]|0,f[le>>2]|0,f[Y>>2]|0,i,f[F>>2]|0,f[ee>>2]|0);f[A>>2]=Ae(f[ee>>2]|0)|0;f[D>>2]=2;if(((f[A>>2]|0)+4|0)<=(f[S>>2]|0))f[D>>2]=Fe(f[ee>>2]|0,25578,5)|0;b=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;jn(f[ue>>2]|0,b,f[F>>2]|0,f[N>>2]|0);a=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;f[v>>2]=6;f[S>>2]=f[S>>2]<<3;f[A>>2]=Le(f[ee>>2]|0)|0;f[se>>2]=f[ve>>2];while(1){if((f[se>>2]|0)>=(f[le>>2]|0))break;u=re(f[N>>2]|0,(n[(f[y>>2]|0)+((f[se>>2]|0)+1<<1)>>1]|0)-(n[(f[y>>2]|0)+(f[se>>2]<<1)>>1]|0)|0)|0;f[E>>2]=u<>2];u=f[E>>2]|0;if((f[E>>2]<<3|0)<((48>(f[E>>2]|0)?48:f[E>>2]|0)|0))u=u<<3;else u=48>(u|0)?48:f[E>>2]|0;f[m>>2]=u;f[g>>2]=f[v>>2];f[p>>2]=0;while(1){if(((f[A>>2]|0)+(f[g>>2]<<3)|0)>=(f[S>>2]|0))break;if((f[p>>2]|0)>=(f[b+(f[se>>2]<<2)>>2]|0))break;f[_>>2]=Ne(f[ee>>2]|0,f[g>>2]|0)|0;f[A>>2]=Le(f[ee>>2]|0)|0;if(!(f[_>>2]|0))break;f[p>>2]=(f[p>>2]|0)+(f[m>>2]|0);f[S>>2]=(f[S>>2]|0)-(f[m>>2]|0);f[g>>2]=1}f[a+(f[se>>2]<<2)>>2]=f[p>>2];if((f[p>>2]|0)>0)f[v>>2]=2>((f[v>>2]|0)-1|0)?2:(f[v>>2]|0)-1|0;f[se>>2]=(f[se>>2]|0)+1}o=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;if(((f[A>>2]|0)+48|0)<=(f[S>>2]|0))u=Fe(f[ee>>2]|0,25582,7)|0;else u=5;f[R>>2]=u;me=f[X>>2]<<3<<3;f[T>>2]=me-(Le(f[ee>>2]|0)|0)-1;if((f[Y>>2]|0)!=0&(f[F>>2]|0)>=2)u=(f[T>>2]|0)>=((f[F>>2]|0)+2<<3|0);else u=0;f[O>>2]=u?8:0;f[T>>2]=(f[T>>2]|0)-(f[O>>2]|0);l=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;f[P>>2]=Wr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,a,b,f[R>>2]|0,U,I,f[T>>2]|0,L,l,o,r,f[N>>2]|0,f[F>>2]|0,f[ee>>2]|0,0,0,0)|0;Yr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,o,f[ee>>2]|0,f[N>>2]|0);f[oe>>2]=0;do{ys(f[M+(f[oe>>2]<<2)>>2]|0,(f[M+(f[oe>>2]<<2)>>2]|0)+(f[ae>>2]<<2)|0,(2048-(f[ae>>2]|0)+((f[H>>2]|0)/2|0)<<2)+0|0)|0;me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));me=re(f[N>>2]|0,f[ce>>2]|0)|0;u=h;h=h+((1*me|0)+15&-16)|0;me=(re(f[N>>2]|0,f[ae>>2]|0)|0)<<2;b=h;h=h+((1*me|0)+15&-16)|0;kn(0,f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,b,(f[N>>2]|0)==2?b+(f[ae>>2]<<2)|0:0,u,0,l,f[B>>2]|0,f[D>>2]|0,f[I>>2]|0,f[U>>2]|0,i,(f[X>>2]<<6)-(f[O>>2]|0)|0,f[L>>2]|0,f[ee>>2]|0,f[F>>2]|0,f[P>>2]|0,(f[K>>2]|0)+36|0,f[(f[K>>2]|0)+32>>2]|0);if((f[O>>2]|0)>0)f[x>>2]=Ye(f[ee>>2]|0,1)|0;I=f[ue>>2]|0;U=f[ve>>2]|0;B=f[le>>2]|0;D=f[be>>2]|0;me=f[X>>2]<<3;me=me-(Ae(f[ee>>2]|0)|0)|0;Hr(I,U,B,D,o,r,me,f[ee>>2]|0,f[N>>2]|0);if(f[x>>2]|0)hn(f[ue>>2]|0,b,u,f[F>>2]|0,f[N>>2]|0,f[ae>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,f[we>>2]|0,f[ke>>2]|0,l,f[(f[K>>2]|0)+36>>2]|0,f[(f[K>>2]|0)+32>>2]|0);e:do{if(f[j>>2]|0){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(re(f[N>>2]|0,f[ce>>2]|0)|0))break e;s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}}}while(0);_e(f[ue>>2]|0,b,pe,f[be>>2]|0,f[ve>>2]|0,f[C>>2]|0,f[N>>2]|0,f[fe>>2]|0,f[Y>>2]|0,f[F>>2]|0,f[(f[K>>2]|0)+16>>2]|0,f[j>>2]|0,f[(f[K>>2]|0)+32>>2]|0);f[oe>>2]=0;do{if((f[(f[K>>2]|0)+52>>2]|0)>15)u=f[(f[K>>2]|0)+52>>2]|0;else u=15;f[(f[K>>2]|0)+52>>2]=u;if((f[(f[K>>2]|0)+56>>2]|0)>15)u=f[(f[K>>2]|0)+56>>2]|0;else u=15;f[(f[K>>2]|0)+56>>2]=u;Un(f[pe+(f[oe>>2]<<2)>>2]|0,f[pe+(f[oe>>2]<<2)>>2]|0,f[(f[K>>2]|0)+56>>2]|0,f[(f[K>>2]|0)+52>>2]|0,f[(f[ue>>2]|0)+44>>2]|0,+s[(f[K>>2]|0)+64>>2],+s[(f[K>>2]|0)+60>>2],f[(f[K>>2]|0)+72>>2]|0,f[(f[K>>2]|0)+68>>2]|0,f[(f[ue>>2]|0)+60>>2]|0,f[H>>2]|0,f[(f[K>>2]|0)+32>>2]|0);if(f[F>>2]|0)Un((f[pe+(f[oe>>2]<<2)>>2]|0)+(f[(f[ue>>2]|0)+44>>2]<<2)|0,(f[pe+(f[oe>>2]<<2)>>2]|0)+(f[(f[ue>>2]|0)+44>>2]<<2)|0,f[(f[K>>2]|0)+52>>2]|0,f[W>>2]|0,(f[ae>>2]|0)-(f[(f[ue>>2]|0)+44>>2]|0)|0,+s[(f[K>>2]|0)+60>>2],+s[q>>2],f[(f[K>>2]|0)+68>>2]|0,f[Z>>2]|0,f[(f[ue>>2]|0)+60>>2]|0,f[H>>2]|0,f[(f[K>>2]|0)+32>>2]|0);me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));f[(f[K>>2]|0)+56>>2]=f[(f[K>>2]|0)+52>>2];s[(f[K>>2]|0)+64>>2]=+s[(f[K>>2]|0)+60>>2];f[(f[K>>2]|0)+72>>2]=f[(f[K>>2]|0)+68>>2];f[(f[K>>2]|0)+52>>2]=f[W>>2];s[(f[K>>2]|0)+60>>2]=+s[q>>2];f[(f[K>>2]|0)+68>>2]=f[Z>>2];if(f[F>>2]|0){f[(f[K>>2]|0)+56>>2]=f[(f[K>>2]|0)+52>>2];s[(f[K>>2]|0)+64>>2]=+s[(f[K>>2]|0)+60>>2];f[(f[K>>2]|0)+72>>2]=f[(f[K>>2]|0)+68>>2]}if((f[N>>2]|0)==1)gs((f[be>>2]|0)+(f[ce>>2]<<2)|0,f[be>>2]|0,(f[ce>>2]<<2)+0|0)|0;e:do{if(f[Y>>2]|0){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]<<1|0))break e;u=f[se>>2]|0;if(+s[(f[we>>2]|0)+(f[se>>2]<<2)>>2]<+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2])c=+s[(f[we>>2]|0)+(u<<2)>>2];else c=+s[(f[be>>2]|0)+(u<<2)>>2];s[(f[we>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}else{gs(f[ke>>2]|0,f[we>>2]|0,(f[ce>>2]<<1<<2)+0|0)|0;gs(f[we>>2]|0,f[be>>2]|0,(f[ce>>2]<<1<<2)+0|0)|0;if((f[(f[K>>2]|0)+48>>2]|0)<10)s[J>>2]=+(f[z>>2]|0)*.0010000000474974513;else s[J>>2]=1;f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]<<1|0))break e;u=f[se>>2]|0;if(+s[(f[V>>2]|0)+(f[se>>2]<<2)>>2]+ +s[J>>2]<+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2])c=+s[(f[V>>2]|0)+(u<<2)>>2]+ +s[J>>2];else c=+s[(f[be>>2]|0)+(u<<2)>>2];s[(f[V>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}}while(0);f[oe>>2]=0;do{f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ve>>2]|0))break;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[be>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=0;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[ke>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[we>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}f[se>>2]=f[le>>2];while(1){u=f[oe>>2]|0;if((f[se>>2]|0)>=(f[ce>>2]|0))break;me=re(u,f[ce>>2]|0)|0;s[(f[be>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=0;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[ke>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[we>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}me=u+1|0;f[oe>>2]=me}while((me|0)<2);f[(f[K>>2]|0)+36>>2]=f[(f[ee>>2]|0)+28>>2];Ee(pe,f[$>>2]|0,f[ae>>2]|0,f[fe>>2]|0,f[(f[K>>2]|0)+16>>2]|0,(f[ue>>2]|0)+16|0,(f[K>>2]|0)+76|0,f[ie>>2]|0);f[(f[K>>2]|0)+48>>2]=0;me=Ae(f[ee>>2]|0)|0;if((me|0)>(f[X>>2]<<3|0)){f[G>>2]=-3;f[ne>>2]=1}else{if(Re(f[ee>>2]|0)|0)f[(f[K>>2]|0)+40>>2]=1;f[G>>2]=(f[Q>>2]|0)/(f[(f[K>>2]|0)+16>>2]|0)|0;f[ne>>2]=1}de(f[te>>2]|0);me=f[G>>2]|0;h=ge;return me|0}function ye(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0;se=h;h=h+4608|0;Q=se+4596|0;ee=se+4592|0;j=se+4588|0;te=se+4584|0;fe=se+4580|0;ie=se+4576|0;ne=se+4568|0;K=se+4560|0;M=se+4556|0;G=se+4552|0;o=se+4548|0;l=se+4544|0;N=se+4540|0;oe=se+4536|0;J=se+4532|0;le=se+4528|0;$=se+4524|0;ae=se+4520|0;a=se+4516|0;q=se+4512|0;X=se+4508|0;Z=se+4504|0;W=se+4500|0;Y=se+4496|0;D=se+4492|0;V=se+4488|0;z=se+4484|0;F=se+4480|0;B=se+4476|0;R=se+4472|0;L=se+4468|0;u=se+4464|0;m=se+368|0;g=se+360|0;p=se+356|0;w=se+352|0;v=se+348|0;S=se+344|0;A=se+340|0;E=se+336|0;T=se+332|0;d=se+232|0;x=se+136|0;c=se+128|0;b=se+124|0;y=se+120|0;_=se+116|0;I=se+112|0;O=se+16|0;k=se+12|0;C=se+8|0;P=se+4|0;U=se;f[Q>>2]=e;f[ee>>2]=r;f[j>>2]=i;f[ie>>2]=f[(f[Q>>2]|0)+8>>2];f[oe>>2]=f[f[Q>>2]>>2];f[J>>2]=f[(f[oe>>2]|0)+8>>2];f[le>>2]=f[(f[oe>>2]|0)+4>>2];f[q>>2]=f[(f[oe>>2]|0)+32>>2];f[te>>2]=0;do{e=(f[Q>>2]|0)+84+((re(f[te>>2]|0,2048+(f[le>>2]|0)|0)|0)<<2)|0;f[ne+(f[te>>2]<<2)>>2]=e;f[K+(f[te>>2]<<2)>>2]=(f[ne+(f[te>>2]<<2)>>2]|0)+8192+(0-(f[ee>>2]|0)<<2);e=(f[te>>2]|0)+1|0;f[te>>2]=e}while((e|0)<(f[ie>>2]|0));f[M>>2]=(f[Q>>2]|0)+84+((re(2048+(f[le>>2]|0)|0,f[ie>>2]|0)|0)<<2);f[G>>2]=(f[M>>2]|0)+((f[ie>>2]|0)*24<<2);f[o>>2]=(f[G>>2]|0)+(f[J>>2]<<1<<2);f[l>>2]=(f[o>>2]|0)+(f[J>>2]<<1<<2);f[N>>2]=(f[l>>2]|0)+(f[J>>2]<<1<<2);f[ae>>2]=f[(f[Q>>2]|0)+48>>2];f[$>>2]=f[(f[Q>>2]|0)+20>>2];f[a>>2]=((f[ae>>2]|0)>=5?1:(f[$>>2]|0)!=0)&1;if(f[a>>2]|0){f[Z>>2]=f[(f[Q>>2]|0)+24>>2];if((f[Z>>2]|0)<(f[(f[oe>>2]|0)+12>>2]|0))i=f[Z>>2]|0;else i=f[(f[oe>>2]|0)+12>>2]|0;do{if((f[$>>2]|0)<=(i|0))if((f[Z>>2]|0)<(f[(f[oe>>2]|0)+12>>2]|0)){i=f[Z>>2]|0;break}else{i=f[(f[oe>>2]|0)+12>>2]|0;break}else i=f[$>>2]|0}while(0);f[W>>2]=i;B=re(f[ie>>2]|0,f[ee>>2]|0)|0;f[D>>2]=he()|0;r=h;h=h+((1*(B<<2)|0)+15&-16)|0;s[Y>>2]=(f[ae>>2]|0)==0?1.5:.5;f[te>>2]=0;do{f[fe>>2]=f[$>>2];while(1){i=f[te>>2]|0;if((f[fe>>2]|0)>=(f[Z>>2]|0))break;U=re(i,f[J>>2]|0)|0;B=re(f[te>>2]|0,f[J>>2]|0)|0;i=re(f[te>>2]|0,f[J>>2]|0)|0;i=i+(f[fe>>2]|0)|0;if(+s[(f[N>>2]|0)+(U+(f[fe>>2]|0)<<2)>>2]>+s[(f[G>>2]|0)+(B+(f[fe>>2]|0)<<2)>>2]-+s[Y>>2])t=+s[(f[N>>2]|0)+(i<<2)>>2];else t=+s[(f[G>>2]|0)+(i<<2)>>2]-+s[Y>>2];B=re(f[te>>2]|0,f[J>>2]|0)|0;s[(f[G>>2]|0)+(B+(f[fe>>2]|0)<<2)>>2]=t;f[fe>>2]=(f[fe>>2]|0)+1}B=i+1|0;f[te>>2]=B}while((B|0)<(f[ie>>2]|0));f[X>>2]=f[(f[Q>>2]|0)+36>>2];f[te>>2]=0;while(1){if((f[te>>2]|0)>=(f[ie>>2]|0))break;f[fe>>2]=f[$>>2];while(1){if((f[fe>>2]|0)>=(f[W>>2]|0))break;J=re(f[ee>>2]|0,f[te>>2]|0)|0;f[z>>2]=J+(n[(f[q>>2]|0)+(f[fe>>2]<<1)>>1]<>2]);f[F>>2]=(n[(f[q>>2]|0)+((f[fe>>2]|0)+1<<1)>>1]|0)-(n[(f[q>>2]|0)+(f[fe>>2]<<1)>>1]|0)<>2];f[V>>2]=0;while(1){if((f[V>>2]|0)>=(f[F>>2]|0))break;f[X>>2]=an(f[X>>2]|0)|0;s[r+((f[z>>2]|0)+(f[V>>2]|0)<<2)>>2]=+(f[X>>2]>>20|0);f[V>>2]=(f[V>>2]|0)+1}ri(r+(f[z>>2]<<2)|0,f[F>>2]|0,1,f[(f[Q>>2]|0)+32>>2]|0);f[fe>>2]=(f[fe>>2]|0)+1}f[te>>2]=(f[te>>2]|0)+1}f[(f[Q>>2]|0)+36>>2]=f[X>>2];f[te>>2]=0;do{ys(f[ne+(f[te>>2]<<2)>>2]|0,(f[ne+(f[te>>2]<<2)>>2]|0)+(f[ee>>2]<<2)|0,(2048-(f[ee>>2]|0)+(f[le>>2]>>1)<<2)+0|0)|0;fe=(f[te>>2]|0)+1|0;f[te>>2]=fe}while((fe|0)<(f[ie>>2]|0));_e(f[oe>>2]|0,r,K,f[G>>2]|0,f[$>>2]|0,f[W>>2]|0,f[ie>>2]|0,f[ie>>2]|0,0,f[j>>2]|0,f[(f[Q>>2]|0)+16>>2]|0,0,f[(f[Q>>2]|0)+32>>2]|0);de(f[D>>2]|0);oe=f[ae>>2]|0;oe=oe+1|0;le=f[Q>>2]|0;le=le+48|0;f[le>>2]=oe;h=se;return}s[R>>2]=1;if(!(f[ae>>2]|0)){$=me(ne,f[ie>>2]|0,f[(f[Q>>2]|0)+32>>2]|0)|0;f[L>>2]=$;f[(f[Q>>2]|0)+44>>2]=$}else{f[L>>2]=f[(f[Q>>2]|0)+44>>2];s[R>>2]=.800000011920929}$=f[le>>2]|0;f[u>>2]=he()|0;i=h;h=h+((1*($<<2)|0)+15&-16)|0;f[B>>2]=f[(f[oe>>2]|0)+60>>2];f[te>>2]=0;do{s[w>>2]=0;f[v>>2]=f[ne+(f[te>>2]<<2)>>2];f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=1024)break;s[m+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(1024+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}if(!(f[ae>>2]|0)){Pr(m,d,f[B>>2]|0,f[le>>2]|0,24,1024,f[(f[Q>>2]|0)+32>>2]|0)|0;s[d>>2]=+s[d>>2]*1.000100016593933;f[fe>>2]=1;while(1){if((f[fe>>2]|0)>24)break;oe=d+(f[fe>>2]<<2)|0;s[oe>>2]=+s[oe>>2]-+s[d+(f[fe>>2]<<2)>>2]*6400000711437315e-20*+(f[fe>>2]|0)*+(f[fe>>2]|0);f[fe>>2]=(f[fe>>2]|0)+1}Mr((f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,d,24)}f[E>>2]=(f[L>>2]<<1|0)<1024?f[L>>2]<<1:1024;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=24)break;s[x+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(2048-(f[E>>2]|0)-1-(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}xr(m+4096+(0-(f[E>>2]|0)<<2)|0,(f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,m+4096+(0-(f[E>>2]|0)<<2)|0,f[E>>2]|0,24,x,f[(f[Q>>2]|0)+32>>2]|0);s[c>>2]=1;s[b>>2]=1;f[y>>2]=f[E>>2]>>1;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[y>>2]|0))break;s[_>>2]=+s[m+(1024-(f[y>>2]|0)+(f[fe>>2]|0)<<2)>>2];s[c>>2]=+s[c>>2]+ +s[_>>2]*+s[_>>2];s[_>>2]=+s[m+(1024-(f[y>>2]<<1)+(f[fe>>2]|0)<<2)>>2];s[b>>2]=+s[b>>2]+ +s[_>>2]*+s[_>>2];f[fe>>2]=(f[fe>>2]|0)+1}s[c>>2]=+s[c>>2]<+s[b>>2]?+s[c>>2]:+s[b>>2];s[g>>2]=+H(+(+s[c>>2]/+s[b>>2]));ys(f[v>>2]|0,(f[v>>2]|0)+(f[ee>>2]<<2)|0,(2048-(f[ee>>2]|0)<<2)+0|0)|0;f[S>>2]=1024-(f[L>>2]|0);f[A>>2]=(f[ee>>2]|0)+(f[le>>2]|0);s[p>>2]=+s[R>>2]*+s[g>>2];f[T>>2]=0;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break;if((f[T>>2]|0)>=(f[L>>2]|0)){f[T>>2]=(f[T>>2]|0)-(f[L>>2]|0);s[p>>2]=+s[p>>2]*+s[g>>2]}s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[p>>2]*+s[m+((f[S>>2]|0)+(f[T>>2]|0)<<2)>>2];s[I>>2]=+s[(f[v>>2]|0)+(1024-(f[ee>>2]|0)+(f[S>>2]|0)+(f[T>>2]|0)<<2)>>2];s[w>>2]=+s[w>>2]+ +s[I>>2]*+s[I>>2];f[fe>>2]=(f[fe>>2]|0)+1;f[T>>2]=(f[T>>2]|0)+1}f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=24)break;s[O+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)-1-(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}Lr((f[v>>2]|0)+8192+(0-(f[ee>>2]|0)<<2)|0,(f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,(f[v>>2]|0)+8192+(0-(f[ee>>2]|0)<<2)|0,f[A>>2]|0,24,O,f[(f[Q>>2]|0)+32>>2]|0);s[k>>2]=0;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break;s[C>>2]=+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];s[k>>2]=+s[k>>2]+ +s[C>>2]*+s[C>>2];f[fe>>2]=(f[fe>>2]|0)+1}e:do{if(+s[w>>2]>+s[k>>2]*.20000000298023224){if(+s[w>>2]<+s[k>>2]){s[P>>2]=+H(+((+s[w>>2]+1)/(+s[k>>2]+1)));f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[le>>2]|0))break;s[U>>2]=1-+s[(f[B>>2]|0)+(f[fe>>2]<<2)>>2]*(1-+s[P>>2]);s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[U>>2]*+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}f[fe>>2]=f[le>>2];while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break e;s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[P>>2]*+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}}}else{f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break e;s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=0;f[fe>>2]=(f[fe>>2]|0)+1}}}while(0);Un(i,(f[v>>2]|0)+8192|0,f[(f[Q>>2]|0)+52>>2]|0,f[(f[Q>>2]|0)+52>>2]|0,f[le>>2]|0,-+s[(f[Q>>2]|0)+60>>2],-+s[(f[Q>>2]|0)+60>>2],f[(f[Q>>2]|0)+68>>2]|0,f[(f[Q>>2]|0)+68>>2]|0,0,0,f[(f[Q>>2]|0)+32>>2]|0);f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=((f[le>>2]|0)/2|0|0))break;s[(f[v>>2]|0)+(2048+(f[fe>>2]|0)<<2)>>2]=+s[(f[B>>2]|0)+(f[fe>>2]<<2)>>2]*+s[i+((f[le>>2]|0)-1-(f[fe>>2]|0)<<2)>>2]+ +s[(f[B>>2]|0)+((f[le>>2]|0)-(f[fe>>2]|0)-1<<2)>>2]*+s[i+(f[fe>>2]<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}oe=(f[te>>2]|0)+1|0;f[te>>2]=oe}while((oe|0)<(f[ie>>2]|0));de(f[u>>2]|0);oe=f[ae>>2]|0;oe=oe+1|0;le=f[Q>>2]|0;le=le+48|0;f[le>>2]=oe;h=se;return}function _e(e,r,i,t,n,a,o,l,u,c,b,w,k){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0;z=h;h=h+112|0;d=z+100|0;p=z+96|0;m=z+92|0;E=z+88|0;A=z+84|0;S=z+80|0;R=z+76|0;T=z+72|0;Y=z+68|0;M=z+64|0;v=z+60|0;g=z+56|0;y=z+52|0;C=z+48|0;j=z+44|0;O=z+40|0;I=z+36|0;x=z+32|0;L=z+28|0;P=z+24|0;F=z+20|0;D=z+16|0;N=z+12|0;_=z+8|0;U=z+4|0;B=z;f[d>>2]=e;f[p>>2]=r;f[m>>2]=i;f[E>>2]=t;f[A>>2]=n;f[S>>2]=a;f[R>>2]=o;f[T>>2]=l;f[Y>>2]=u;f[M>>2]=c;f[v>>2]=b;f[g>>2]=w;f[y>>2]=k;f[N>>2]=f[(f[d>>2]|0)+4>>2];f[D>>2]=f[(f[d>>2]|0)+8>>2];f[L>>2]=f[(f[d>>2]|0)+44>>2]<>2];n=f[L>>2]|0;f[_>>2]=he()|0;o=h;h=h+((1*(n<<2)|0)+15&-16)|0;f[O>>2]=1<>2];if(f[Y>>2]|0){f[x>>2]=f[O>>2];f[P>>2]=f[(f[d>>2]|0)+44>>2];f[F>>2]=f[(f[d>>2]|0)+36>>2]}else{f[x>>2]=1;f[P>>2]=f[(f[d>>2]|0)+44>>2]<>2];f[F>>2]=(f[(f[d>>2]|0)+36>>2]|0)-(f[M>>2]|0)}if((f[T>>2]|0)==2&(f[R>>2]|0)==1){un(f[d>>2]|0,f[p>>2]|0,o,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[U>>2]=(f[(f[m>>2]|0)+4>>2]|0)+(((f[N>>2]|0)/2|0)<<2);gs(f[U>>2]|0,o|0,(f[L>>2]<<2)+0|0)|0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[f[m>>2]>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,(f[U>>2]|0)+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[(f[m>>2]|0)+4>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=f[_>>2]|0;de(Y|0);h=z;return}if(!((f[T>>2]|0)==1&(f[R>>2]|0)==2)){f[C>>2]=0;do{j=(f[p>>2]|0)+((re(f[C>>2]|0,f[L>>2]|0)|0)<<2)|0;Y=(f[E>>2]|0)+((re(f[C>>2]|0,f[D>>2]|0)|0)<<2)|0;un(f[d>>2]|0,j,o,Y,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[(f[m>>2]|0)+(f[C>>2]<<2)>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=(f[C>>2]|0)+1|0;f[C>>2]=Y}while((Y|0)<(f[T>>2]|0));Y=f[_>>2]|0;de(Y|0);h=z;return}f[B>>2]=(f[f[m>>2]>>2]|0)+(((f[N>>2]|0)/2|0)<<2);un(f[d>>2]|0,f[p>>2]|0,o,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);un(f[d>>2]|0,(f[p>>2]|0)+(f[L>>2]<<2)|0,f[B>>2]|0,(f[E>>2]|0)+(f[D>>2]<<2)|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[L>>2]|0))break;s[o+(f[j>>2]<<2)>>2]=(+s[o+(f[j>>2]<<2)>>2]+ +s[(f[B>>2]|0)+(f[j>>2]<<2)>>2])*.5;f[j>>2]=(f[j>>2]|0)+1}f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[f[m>>2]>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=f[_>>2]|0;de(Y|0);h=z;return}function me(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;n=h;h=h+4112|0;s=n+4108|0;l=n+4104|0;a=n+4100|0;t=n+4096|0;o=n;f[s>>2]=e;f[l>>2]=r;f[a>>2]=i;vr(f[s>>2]|0,o,2048,f[l>>2]|0,f[a>>2]|0);Er(o+1440|0,o,1328,620,t,f[a>>2]|0);f[t>>2]=720-(f[t>>2]|0);h=n;return f[t>>2]|0}function Ee(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;M=h;h=h+80|0;u=M+72|0;c=M+68|0;b=M+64|0;w=M+60|0;k=M+56|0;x=M+52|0;d=M+48|0;y=M+40|0;v=M+36|0;g=M+32|0;_=M+28|0;p=M+24|0;m=M+20|0;R=M+16|0;T=M+12|0;E=M+8|0;A=M+4|0;S=M;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=n;f[x>>2]=a;f[d>>2]=o;f[M+44>>2]=l;f[g>>2]=0;r=f[b>>2]|0;f[p>>2]=he()|0;t=h;h=h+((1*(r<<2)|0)+15&-16)|0;s[_>>2]=+s[f[x>>2]>>2];f[v>>2]=(f[b>>2]|0)/(f[k>>2]|0)|0;f[y>>2]=0;do{s[E>>2]=+s[(f[d>>2]|0)+(f[y>>2]<<2)>>2];f[R>>2]=f[(f[u>>2]|0)+(f[y>>2]<<2)>>2];f[T>>2]=(f[c>>2]|0)+(f[y>>2]<<2);x=(f[k>>2]|0)>1;f[m>>2]=0;e:do{if(x){while(1){if((f[m>>2]|0)>=(f[b>>2]|0))break;s[A>>2]=+s[(f[R>>2]|0)+(f[m>>2]<<2)>>2]+ +s[E>>2]+1.0000000031710769e-30;s[E>>2]=+s[_>>2]*+s[A>>2];s[t+(f[m>>2]<<2)>>2]=+s[A>>2];f[m>>2]=(f[m>>2]|0)+1}f[g>>2]=1}else while(1){if((f[m>>2]|0)>=(f[b>>2]|0))break e;s[S>>2]=+s[(f[R>>2]|0)+(f[m>>2]<<2)>>2]+ +s[E>>2]+1.0000000031710769e-30;s[E>>2]=+s[_>>2]*+s[S>>2];x=re(f[m>>2]|0,f[w>>2]|0)|0;s[(f[T>>2]|0)+(x<<2)>>2]=+s[S>>2]*30517578125e-15;f[m>>2]=(f[m>>2]|0)+1}}while(0);s[(f[d>>2]|0)+(f[y>>2]<<2)>>2]=+s[E>>2];e:do{if(f[g>>2]|0){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[v>>2]|0))break e;O=+s[t+((re(f[m>>2]|0,f[k>>2]|0)|0)<<2)>>2]*30517578125e-15;x=re(f[m>>2]|0,f[w>>2]|0)|0;s[(f[T>>2]|0)+(x<<2)>>2]=O;f[m>>2]=(f[m>>2]|0)+1}}}while(0);x=(f[y>>2]|0)+1|0;f[y>>2]=x}while((x|0)<(f[w>>2]|0));de(f[p>>2]|0);h=M;return}function Ae(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Se(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+64|0;l=E+52|0;s=E+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;p=E+28|0;d=E+24|0;_=E+20|0;m=E+16|0;y=E+12|0;v=E+8|0;k=E+4|0;g=E;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=n;f[b>>2]=a;f[w>>2]=o;f[k>>2]=f[(f[w>>2]|0)+4>>2]<<3;f[g>>2]=Ae(f[w>>2]|0)|0;f[v>>2]=f[u>>2]|0?2:4;if((f[b>>2]|0)>0)a=((f[g>>2]|0)+(f[v>>2]|0)+1|0)>>>0<=(f[k>>2]|0)>>>0;else a=0;f[m>>2]=a&1;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);f[d>>2]=0;f[y>>2]=0;f[p>>2]=f[l>>2];while(1){if((f[p>>2]|0)>=(f[s>>2]|0))break;if(((f[g>>2]|0)+(f[v>>2]|0)|0)>>>0<=(f[k>>2]|0)>>>0){n=Ne(f[w>>2]|0,f[v>>2]|0)|0;f[d>>2]=f[d>>2]^n;f[g>>2]=Ae(f[w>>2]|0)|0;f[y>>2]=f[y>>2]|f[d>>2]}f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=f[d>>2];f[v>>2]=f[u>>2]|0?4:5;f[p>>2]=(f[p>>2]|0)+1}f[_>>2]=0;if(f[m>>2]|0?(t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+0+(f[y>>2]|0))>>0]|0)!=(t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+2+(f[y>>2]|0))>>0]|0):0)f[_>>2]=Ne(f[w>>2]|0,1)|0;f[p>>2]=f[l>>2];while(1){if((f[p>>2]|0)>=(f[s>>2]|0))break;f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+(f[_>>2]<<1)+(f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]|0))>>0];f[p>>2]=(f[p>>2]|0)+1}h=E;return}function Re(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+44>>2]|0}function Te(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0;n=h;h=h+16|0;l=n+12|0;o=n+8|0;a=n+4|0;s=n;f[l>>2]=e;f[o>>2]=r;f[a>>2]=i;f[s>>2]=t;r=f[s>>2]|0;e=Me(f[o>>2]|0,f[l>>2]|0)|0;Qe(r,e,(f[(f[364+(((f[o>>2]|0)<(f[a>>2]|0)?f[o>>2]|0:f[a>>2]|0)<<2)>>2]|0)+(((f[o>>2]|0)>(f[a>>2]|0)?f[o>>2]|0:f[a>>2]|0)<<2)>>2]|0)+(f[(f[364+(((f[o>>2]|0)<((f[a>>2]|0)+1|0)?f[o>>2]|0:(f[a>>2]|0)+1|0)<<2)>>2]|0)+(((f[o>>2]|0)>((f[a>>2]|0)+1|0)?f[o>>2]|0:(f[a>>2]|0)+1|0)<<2)>>2]|0)|0);h=n;return}function Me(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[i>>2]=e;f[t>>2]=r;f[a>>2]=(f[i>>2]|0)-1;f[n>>2]=(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)<0&1;f[o>>2]=Y(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)|0;do{f[a>>2]=(f[a>>2]|0)+-1;if(((f[i>>2]|0)-(f[a>>2]|0)|0)>(f[o>>2]|0))r=(f[i>>2]|0)-(f[a>>2]|0)|0;else r=f[o>>2]|0;if(((f[i>>2]|0)-(f[a>>2]|0)|0)<(f[o>>2]|0))e=(f[i>>2]|0)-(f[a>>2]|0)|0;else e=f[o>>2]|0;f[n>>2]=(f[n>>2]|0)+(f[(f[364+(e<<2)>>2]|0)+(r<<2)>>2]|0);r=Y(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+r;if((f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)<0){if(((f[i>>2]|0)-(f[a>>2]|0)|0)>((f[o>>2]|0)+1|0))r=(f[i>>2]|0)-(f[a>>2]|0)|0;else r=(f[o>>2]|0)+1|0;if(((f[i>>2]|0)-(f[a>>2]|0)|0)<((f[o>>2]|0)+1|0))e=(f[i>>2]|0)-(f[a>>2]|0)|0;else e=(f[o>>2]|0)+1|0;f[n>>2]=(f[n>>2]|0)+(f[(f[364+(e<<2)>>2]|0)+(r<<2)>>2]|0)}}while((f[a>>2]|0)>0);h=l;return f[n>>2]|0}function xe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;a=h;h=h+16|0;o=a+12|0;s=a+8|0;l=a+4|0;u=a;f[o>>2]=e;f[s>>2]=r;f[l>>2]=i;f[u>>2]=t;i=f[s>>2]|0;r=f[l>>2]|0;e=ze(f[u>>2]|0,(f[(f[364+(((f[s>>2]|0)<(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0)<<2)>>2]|0)+(((f[s>>2]|0)>(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0)<<2)>>2]|0)+(f[(f[364+(((f[s>>2]|0)<((f[l>>2]|0)+1|0)?f[s>>2]|0:(f[l>>2]|0)+1|0)<<2)>>2]|0)+(((f[s>>2]|0)>((f[l>>2]|0)+1|0)?f[s>>2]|0:(f[l>>2]|0)+1|0)<<2)>>2]|0)|0)|0;n=+Oe(i,r,e,f[o>>2]|0);h=a;return+n}function Oe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;g=h;h=h+48|0;a=g+36|0;o=g+32|0;l=g+28|0;u=g+24|0;b=g+20|0;d=g+16|0;c=g+12|0;p=g+40|0;v=g+8|0;w=g+4|0;k=g;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;s[v>>2]=0;while(1){i=f[o>>2]|0;if((f[a>>2]|0)<=2)break;r=f[a>>2]|0;do{if((i|0)>=(f[a>>2]|0)){f[k>>2]=f[364+(r<<2)>>2];f[b>>2]=f[(f[k>>2]|0)+((f[o>>2]|0)+1<<2)>>2];f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[b>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[b>>2]&f[d>>2]);f[c>>2]=f[o>>2];f[w>>2]=f[(f[k>>2]|0)+(f[a>>2]<<2)>>2];e:do{if((f[w>>2]|0)>>>0>(f[l>>2]|0)>>>0){f[o>>2]=f[a>>2];do{t=f[a>>2]|0;e=(f[o>>2]|0)+-1|0;f[o>>2]=e;f[b>>2]=f[(f[364+(e<<2)>>2]|0)+(t<<2)>>2]}while((f[b>>2]|0)>>>0>(f[l>>2]|0)>>>0)}else{f[b>>2]=f[(f[k>>2]|0)+(f[o>>2]<<2)>>2];while(1){if((f[b>>2]|0)>>>0<=(f[l>>2]|0)>>>0)break e;f[o>>2]=(f[o>>2]|0)+-1;f[b>>2]=f[(f[k>>2]|0)+(f[o>>2]<<2)>>2]}}}while(0);f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);n[p>>1]=(f[c>>2]|0)-(f[o>>2]|0)+(f[d>>2]|0)^f[d>>2];e=n[p>>1]|0;t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=e;s[v>>2]=+s[v>>2]+ +(n[p>>1]|0)*+(n[p>>1]|0)}else{f[b>>2]=f[(f[364+(f[o>>2]<<2)>>2]|0)+(r<<2)>>2];f[w>>2]=f[(f[364+((f[o>>2]|0)+1<<2)>>2]|0)+(f[a>>2]<<2)>>2];if((f[b>>2]|0)>>>0<=(f[l>>2]|0)>>>0?(f[l>>2]|0)>>>0<(f[w>>2]|0)>>>0:0){f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=0;break}f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[w>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[w>>2]&f[d>>2]);f[c>>2]=f[o>>2];do{t=f[a>>2]|0;e=(f[o>>2]|0)+-1|0;f[o>>2]=e;f[b>>2]=f[(f[364+(e<<2)>>2]|0)+(t<<2)>>2]}while((f[b>>2]|0)>>>0>(f[l>>2]|0)>>>0);f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);n[p>>1]=(f[c>>2]|0)-(f[o>>2]|0)+(f[d>>2]|0)^f[d>>2];e=n[p>>1]|0;t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=e;s[v>>2]=+s[v>>2]+ +(n[p>>1]|0)*+(n[p>>1]|0)}}while(0);f[a>>2]=(f[a>>2]|0)+-1}f[b>>2]=(i<<1)+1;f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[b>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[b>>2]&f[d>>2]);f[c>>2]=f[o>>2];f[o>>2]=((f[l>>2]|0)+1|0)>>>1;if(!(f[o>>2]|0)){k=f[c>>2]|0;w=f[o>>2]|0;w=k-w|0;k=f[d>>2]|0;k=w+k|0;w=f[d>>2]|0;w=k^w;w=w&65535;n[p>>1]=w;w=n[p>>1]|0;w=w<<16>>16;k=f[u>>2]|0;b=k+4|0;f[u>>2]=b;f[k>>2]=w;m=+s[v>>2];k=n[p>>1]|0;y=+(k<<16>>16);k=n[p>>1]|0;_=+(k<<16>>16);_=y*_;_=m+_;s[v>>2]=_;k=f[l>>2]|0;k=0-k|0;f[d>>2]=k;k=f[o>>2]|0;w=f[d>>2]|0;w=k+w|0;k=f[d>>2]|0;k=w^k;k=k&65535;n[p>>1]=k;k=n[p>>1]|0;k=k<<16>>16;d=f[u>>2]|0;f[d>>2]=k;_=+s[v>>2];d=n[p>>1]|0;m=+(d<<16>>16);p=n[p>>1]|0;y=+(p<<16>>16);y=m*y;y=_+y;s[v>>2]=y;y=+s[v>>2];h=g;return+y}f[l>>2]=(f[l>>2]|0)-((f[o>>2]<<1)-1);k=f[c>>2]|0;w=f[o>>2]|0;w=k-w|0;k=f[d>>2]|0;k=w+k|0;w=f[d>>2]|0;w=k^w;w=w&65535;n[p>>1]=w;w=n[p>>1]|0;w=w<<16>>16;k=f[u>>2]|0;b=k+4|0;f[u>>2]=b;f[k>>2]=w;y=+s[v>>2];k=n[p>>1]|0;m=+(k<<16>>16);k=n[p>>1]|0;_=+(k<<16>>16);_=m*_;_=y+_;s[v>>2]=_;k=f[l>>2]|0;k=0-k|0;f[d>>2]=k;k=f[o>>2]|0;w=f[d>>2]|0;w=k+w|0;k=f[d>>2]|0;k=w^k;k=k&65535;n[p>>1]=k;k=n[p>>1]|0;k=k<<16>>16;d=f[u>>2]|0;f[d>>2]=k;_=+s[v>>2];d=n[p>>1]|0;y=+(d<<16>>16);p=n[p>>1]|0;m=+(p<<16>>16);m=y*m;m=_+m;s[v>>2]=m;m=+s[v>>2];h=g;return+m}function Le(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;t=h;h=h+32|0;o=t+16|0;i=t+12|0;a=t+8|0;r=t+4|0;n=t;f[o>>2]=e;f[i>>2]=f[(f[o>>2]|0)+20>>2]<<3;f[r>>2]=32-(te(f[(f[o>>2]|0)+28>>2]|0)|0);f[a>>2]=(f[(f[o>>2]|0)+28>>2]|0)>>>((f[r>>2]|0)-16|0);f[n>>2]=((f[a>>2]|0)>>>12)-8;f[n>>2]=(f[n>>2]|0)+((f[a>>2]|0)>>>0>(f[5512+(f[n>>2]<<2)>>2]|0)>>>0&1);f[r>>2]=(f[r>>2]<<3)+(f[n>>2]|0);h=t;return(f[i>>2]|0)-(f[r>>2]|0)|0}function Pe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;f[f[n>>2]>>2]=f[o>>2];f[(f[n>>2]|0)+4>>2]=f[a>>2];f[(f[n>>2]|0)+8>>2]=0;f[(f[n>>2]|0)+12>>2]=0;f[(f[n>>2]|0)+16>>2]=0;f[(f[n>>2]|0)+20>>2]=9;f[(f[n>>2]|0)+24>>2]=0;f[(f[n>>2]|0)+28>>2]=128;e=Ie(f[n>>2]|0)|0;f[(f[n>>2]|0)+40>>2]=e;f[(f[n>>2]|0)+32>>2]=(f[(f[n>>2]|0)+28>>2]|0)-1-(f[(f[n>>2]|0)+40>>2]>>1);f[(f[n>>2]|0)+44>>2]=0;Ce(f[n>>2]|0);h=t;return}function Ie(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if((f[(f[r>>2]|0)+24>>2]|0)>>>0>=(f[(f[r>>2]|0)+4>>2]|0)>>>0){e=0;h=i;return e|0}t=(f[r>>2]|0)+24|0;e=f[t>>2]|0;f[t>>2]=e+1;e=a[(f[f[r>>2]>>2]|0)+e>>0]|0;h=i;return e|0}function Ce(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[r>>2]=e;while(1){if((f[(f[r>>2]|0)+28>>2]|0)>>>0>8388608)break;e=(f[r>>2]|0)+20|0;f[e>>2]=(f[e>>2]|0)+8;e=(f[r>>2]|0)+28|0;f[e>>2]=f[e>>2]<<8;f[i>>2]=f[(f[r>>2]|0)+40>>2];e=Ie(f[r>>2]|0)|0;f[(f[r>>2]|0)+40>>2]=e;f[i>>2]=(f[i>>2]<<8|f[(f[r>>2]|0)+40>>2])>>1;f[(f[r>>2]|0)+32>>2]=(f[(f[r>>2]|0)+32>>2]<<8)+(255&~f[i>>2])&2147483647}h=t;return}function Ue(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;n=h;h=h+16|0;a=n+8|0;t=n+4|0;i=n;f[a>>2]=e;f[t>>2]=r;e=Be(f[(f[a>>2]|0)+28>>2]|0,f[t>>2]|0)|0;f[(f[a>>2]|0)+36>>2]=e;f[i>>2]=((f[(f[a>>2]|0)+32>>2]|0)>>>0)/((f[(f[a>>2]|0)+36>>2]|0)>>>0)|0;h=n;return(f[t>>2]|0)-((f[i>>2]|0)+1+((f[t>>2]|0)-((f[i>>2]|0)+1)&0-((f[t>>2]|0)>>>0<((f[i>>2]|0)+1|0)>>>0&1)))|0}function Be(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function je(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;n=h;h=h+16|0;a=n+8|0;t=n+4|0;i=n;f[a>>2]=e;f[t>>2]=r;f[(f[a>>2]|0)+36>>2]=(f[(f[a>>2]|0)+28>>2]|0)>>>(f[t>>2]|0);f[i>>2]=((f[(f[a>>2]|0)+32>>2]|0)>>>0)/((f[(f[a>>2]|0)+36>>2]|0)>>>0)|0;h=n;return(1<>2])-((f[i>>2]|0)+1+((1<>2])-((f[i>>2]|0)+1)&0-(1<>2]>>>0<((f[i>>2]|0)+1|0)>>>0&1)))|0}function De(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;n=s+16|0;a=s+12|0;o=s+8|0;u=s+4|0;l=s;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[u>>2]=t;f[l>>2]=re(f[(f[n>>2]|0)+36>>2]|0,(f[u>>2]|0)-(f[o>>2]|0)|0)|0;i=(f[n>>2]|0)+32|0;f[i>>2]=(f[i>>2]|0)-(f[l>>2]|0);i=f[n>>2]|0;if((f[a>>2]|0)>>>0>0){l=re(f[i+36>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;u=f[n>>2]|0;u=u+28|0;f[u>>2]=l;u=f[n>>2]|0;Ce(u);h=s;return}else{l=(f[i+28>>2]|0)-(f[l>>2]|0)|0;u=f[n>>2]|0;u=u+28|0;f[u>>2]=l;u=f[n>>2]|0;Ce(u);h=s;return}}function Ne(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;l=h;h=h+32|0;i=l+20|0;s=l+16|0;n=l+12|0;t=l+8|0;o=l+4|0;a=l;f[i>>2]=e;f[s>>2]=r;f[n>>2]=f[(f[i>>2]|0)+28>>2];f[t>>2]=f[(f[i>>2]|0)+32>>2];f[o>>2]=(f[n>>2]|0)>>>(f[s>>2]|0);f[a>>2]=(f[t>>2]|0)>>>0<(f[o>>2]|0)>>>0&1;if(!(f[a>>2]|0))f[(f[i>>2]|0)+32>>2]=(f[t>>2]|0)-(f[o>>2]|0);if(f[a>>2]|0){o=f[o>>2]|0;s=f[i>>2]|0;s=s+28|0;f[s>>2]=o;s=f[i>>2]|0;Ce(s);s=f[a>>2]|0;h=l;return s|0}else{o=(f[n>>2]|0)-(f[o>>2]|0)|0;s=f[i>>2]|0;s=s+28|0;f[s>>2]=o;s=f[i>>2]|0;Ce(s);s=f[a>>2]|0;h=l;return s|0}return 0}function Fe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;b=h;h=h+32|0;t=b+28|0;n=b+24|0;w=b+20|0;l=b+16|0;o=b+12|0;u=b+8|0;c=b+4|0;s=b;f[t>>2]=e;f[n>>2]=r;f[w>>2]=i;f[u>>2]=f[(f[t>>2]|0)+28>>2];f[o>>2]=f[(f[t>>2]|0)+32>>2];f[l>>2]=(f[u>>2]|0)>>>(f[w>>2]|0);f[s>>2]=-1;do{f[c>>2]=f[u>>2];e=f[l>>2]|0;w=(f[s>>2]|0)+1|0;f[s>>2]=w;f[u>>2]=re(e,a[(f[n>>2]|0)+w>>0]|0)|0}while((f[o>>2]|0)>>>0<(f[u>>2]|0)>>>0);f[(f[t>>2]|0)+32>>2]=(f[o>>2]|0)-(f[u>>2]|0);f[(f[t>>2]|0)+28>>2]=(f[c>>2]|0)-(f[u>>2]|0);Ce(f[t>>2]|0);h=b;return f[s>>2]|0}function ze(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;i=u+24|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[n>>2]=(f[n>>2]|0)+-1;f[o>>2]=32-(te(f[n>>2]|0)|0);if((f[o>>2]|0)<=8){f[n>>2]=(f[n>>2]|0)+1;f[l>>2]=Ue(f[t>>2]|0,f[n>>2]|0)|0;De(f[t>>2]|0,f[l>>2]|0,(f[l>>2]|0)+1|0,f[n>>2]|0);f[i>>2]=f[l>>2];s=f[i>>2]|0;h=u;return s|0}f[o>>2]=(f[o>>2]|0)-8;f[a>>2]=((f[n>>2]|0)>>>(f[o>>2]|0))+1;f[l>>2]=Ue(f[t>>2]|0,f[a>>2]|0)|0;De(f[t>>2]|0,f[l>>2]|0,(f[l>>2]|0)+1|0,f[a>>2]|0);l=f[l>>2]<>2];f[s>>2]=l|(Ye(f[t>>2]|0,f[o>>2]|0)|0);if((f[s>>2]|0)>>>0<=(f[n>>2]|0)>>>0){f[i>>2]=f[s>>2];s=f[i>>2]|0;h=u;return s|0}else{f[(f[t>>2]|0)+44>>2]=1;f[i>>2]=f[n>>2];s=f[i>>2]|0;h=u;return s|0}return 0}function Ye(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+16|0;t=l+12|0;o=l+8|0;n=l+4|0;a=l;f[i>>2]=e;f[t>>2]=r;f[o>>2]=f[(f[i>>2]|0)+12>>2];f[n>>2]=f[(f[i>>2]|0)+16>>2];if((f[n>>2]|0)>>>0<(f[t>>2]|0)>>>0)do{e=He(f[i>>2]|0)|0;f[o>>2]=f[o>>2]|e<>2];f[n>>2]=(f[n>>2]|0)+8}while((f[n>>2]|0)<=24);f[a>>2]=f[o>>2]&(1<>2])-1;f[o>>2]=(f[o>>2]|0)>>>(f[t>>2]|0);f[n>>2]=(f[n>>2]|0)-(f[t>>2]|0);f[(f[i>>2]|0)+12>>2]=f[o>>2];f[(f[i>>2]|0)+16>>2]=f[n>>2];o=(f[i>>2]|0)+20|0;f[o>>2]=(f[o>>2]|0)+(f[t>>2]|0);h=l;return f[a>>2]|0}function He(e){e=e|0;var r=0,i=0,t=0,n=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if((f[(f[r>>2]|0)+8>>2]|0)>>>0>=(f[(f[r>>2]|0)+4>>2]|0)>>>0){e=0;h=i;return e|0}t=f[(f[r>>2]|0)+4>>2]|0;n=(f[r>>2]|0)+8|0;e=(f[n>>2]|0)+1|0;f[n>>2]=e;e=a[(f[f[r>>2]>>2]|0)+(t-e)>>0]|0;h=i;return e|0}function qe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;f[f[n>>2]>>2]=f[o>>2];f[(f[n>>2]|0)+8>>2]=0;f[(f[n>>2]|0)+12>>2]=0;f[(f[n>>2]|0)+16>>2]=0;f[(f[n>>2]|0)+20>>2]=33;f[(f[n>>2]|0)+24>>2]=0;f[(f[n>>2]|0)+28>>2]=-2147483648;f[(f[n>>2]|0)+40>>2]=-1;f[(f[n>>2]|0)+32>>2]=0;f[(f[n>>2]|0)+36>>2]=0;f[(f[n>>2]|0)+4>>2]=f[a>>2];f[(f[n>>2]|0)+44>>2]=0;h=t;return}function We(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=Ze(f[(f[n>>2]|0)+28>>2]|0,f[l>>2]|0)|0;if((f[a>>2]|0)>>>0>0){t=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,(f[l>>2]|0)-(f[a>>2]|0)|0)|0)|0;e=(f[n>>2]|0)+32|0;f[e>>2]=(f[e>>2]|0)+t;s=re(f[s>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=s;s=f[n>>2]|0;Ve(s);h=u;return}else{e=re(f[s>>2]|0,(f[l>>2]|0)-(f[o>>2]|0)|0)|0;s=(f[n>>2]|0)+28|0;f[s>>2]=(f[s>>2]|0)-e;s=f[n>>2]|0;Ve(s);h=u;return}}function Ze(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Ve(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;while(1){if((f[(f[r>>2]|0)+28>>2]|0)>>>0>8388608)break;Je(f[r>>2]|0,(f[(f[r>>2]|0)+32>>2]|0)>>>23);f[(f[r>>2]|0)+32>>2]=f[(f[r>>2]|0)+32>>2]<<8&2147483647;e=(f[r>>2]|0)+28|0;f[e>>2]=f[e>>2]<<8;e=(f[r>>2]|0)+20|0;f[e>>2]=(f[e>>2]|0)+8}h=i;return}function Je(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[t>>2]=r;if((f[t>>2]|0)==255){a=(f[i>>2]|0)+36|0;f[a>>2]=(f[a>>2]|0)+1;h=o;return}f[n>>2]=f[t>>2]>>8;if((f[(f[i>>2]|0)+40>>2]|0)>=0){r=Ge(f[i>>2]|0,(f[(f[i>>2]|0)+40>>2]|0)+(f[n>>2]|0)|0)|0;e=(f[i>>2]|0)+44|0;f[e>>2]=f[e>>2]|r}if((f[(f[i>>2]|0)+36>>2]|0)>>>0>0){f[a>>2]=255+(f[n>>2]|0)&255;do{n=Ge(f[i>>2]|0,f[a>>2]|0)|0;e=(f[i>>2]|0)+44|0;f[e>>2]=f[e>>2]|n;e=(f[i>>2]|0)+36|0;n=(f[e>>2]|0)+-1|0;f[e>>2]=n}while(n>>>0>0)}f[(f[i>>2]|0)+40>>2]=f[t>>2]&255;h=o;return}function Ge(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[n>>2]=e;f[a>>2]=r;if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[i>>2]=-1;r=f[i>>2]|0;h=o;return r|0}else{e=f[a>>2]&255;a=(f[n>>2]|0)+24|0;r=f[a>>2]|0;f[a>>2]=r+1;t[(f[f[n>>2]>>2]|0)+r>>0]=e;f[i>>2]=0;r=f[i>>2]|0;h=o;return r|0}return 0}function Ke(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+28>>2]|0)>>>(f[l>>2]|0);if((f[a>>2]|0)>>>0>0){r=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,(1<>2])-(f[a>>2]|0)|0)|0)|0;e=(f[n>>2]|0)+32|0;f[e>>2]=(f[e>>2]|0)+r;s=re(f[s>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=s;s=f[n>>2]|0;Ve(s);h=u;return}else{e=re(f[s>>2]|0,(1<>2])-(f[o>>2]|0)|0)|0;s=(f[n>>2]|0)+28|0;f[s>>2]=(f[s>>2]|0)-e;s=f[n>>2]|0;Ve(s);h=u;return}}function Xe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;t=s+20|0;n=s+16|0;u=s+12|0;o=s+8|0;l=s+4|0;a=s;f[t>>2]=e;f[n>>2]=r;f[u>>2]=i;f[o>>2]=f[(f[t>>2]|0)+28>>2];f[a>>2]=f[(f[t>>2]|0)+32>>2];f[l>>2]=(f[o>>2]|0)>>>(f[u>>2]|0);f[o>>2]=(f[o>>2]|0)-(f[l>>2]|0);if(f[n>>2]|0)f[(f[t>>2]|0)+32>>2]=(f[a>>2]|0)+(f[o>>2]|0);f[(f[t>>2]|0)+28>>2]=f[n>>2]|0?f[l>>2]|0:f[o>>2]|0;Ve(f[t>>2]|0);h=s;return}function $e(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,l=0,s=0,u=0,c=0;u=h;h=h+32|0;n=u+16|0;o=u+12|0;l=u+8|0;c=u+4|0;s=u;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[c>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+28>>2]|0)>>>(f[c>>2]|0);if((f[o>>2]|0)>0){e=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,a[(f[l>>2]|0)+((f[o>>2]|0)-1)>>0]|0)|0)|0;c=(f[n>>2]|0)+32|0;f[c>>2]=(f[c>>2]|0)+e;c=re(f[s>>2]|0,(a[(f[l>>2]|0)+((f[o>>2]|0)-1)>>0]|0)-(a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=c;c=f[n>>2]|0;Ve(c);h=u;return}else{s=re(f[s>>2]|0,a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)|0;c=(f[n>>2]|0)+28|0;f[c>>2]=(f[c>>2]|0)-s;c=f[n>>2]|0;Ve(c);h=u;return}}function Qe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[a>>2]=(f[a>>2]|0)+-1;f[s>>2]=32-(te(f[a>>2]|0)|0);if((f[s>>2]|0)>8){f[s>>2]=(f[s>>2]|0)-8;f[l>>2]=((f[a>>2]|0)>>>(f[s>>2]|0))+1;f[o>>2]=(f[n>>2]|0)>>>(f[s>>2]|0);We(f[t>>2]|0,f[o>>2]|0,(f[o>>2]|0)+1|0,f[l>>2]|0);er(f[t>>2]|0,f[n>>2]&(1<>2])-1,f[s>>2]|0);h=u;return}else{We(f[t>>2]|0,f[n>>2]|0,(f[n>>2]|0)+1|0,(f[a>>2]|0)+1|0);h=u;return}}function er(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+16|0;n=s+12|0;a=s+8|0;l=s+4|0;o=s;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=f[(f[t>>2]|0)+12>>2];f[o>>2]=f[(f[t>>2]|0)+16>>2];if(((f[o>>2]|0)+(f[a>>2]|0)|0)>>>0>32)do{r=rr(f[t>>2]|0,f[l>>2]&255)|0;e=(f[t>>2]|0)+44|0;f[e>>2]=f[e>>2]|r;f[l>>2]=(f[l>>2]|0)>>>8;f[o>>2]=(f[o>>2]|0)-8}while((f[o>>2]|0)>=8);f[l>>2]=f[l>>2]|f[n>>2]<>2];f[o>>2]=(f[o>>2]|0)+(f[a>>2]|0);f[(f[t>>2]|0)+12>>2]=f[l>>2];f[(f[t>>2]|0)+16>>2]=f[o>>2];l=(f[t>>2]|0)+20|0;f[l>>2]=(f[l>>2]|0)+(f[a>>2]|0);h=s;return}function rr(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0,l=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[n>>2]=e;f[a>>2]=r;if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[i>>2]=-1;r=f[i>>2]|0;h=o;return r|0}else{a=f[a>>2]&255;e=f[(f[n>>2]|0)+4>>2]|0;l=(f[n>>2]|0)+8|0;r=(f[l>>2]|0)+1|0;f[l>>2]=r;t[(f[f[n>>2]>>2]|0)+(e-r)>>0]=a;f[i>>2]=0;r=f[i>>2]|0;h=o;return r|0}return 0}function ir(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;o=c+12|0;l=c+8|0;u=c+4|0;s=c;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=8-(f[l>>2]|0);f[s>>2]=(1<>2])-1<>2];i=f[n>>2]|0;if((f[(f[n>>2]|0)+24>>2]|0)>>>0>0){t[f[f[n>>2]>>2]>>0]=(a[f[i>>2]>>0]|0)&~f[s>>2]|f[o>>2]<>2];h=c;return}e=f[n>>2]|0;if((f[i+40>>2]|0)>=0){f[(f[n>>2]|0)+40>>2]=f[e+40>>2]&~f[s>>2]|f[o>>2]<>2];h=c;return}i=f[n>>2]|0;if((f[e+28>>2]|0)>>>0<=-2147483648>>>(f[l>>2]|0)>>>0){f[(f[n>>2]|0)+32>>2]=f[i+32>>2]&~(f[s>>2]<<23)|f[o>>2]<<23+(f[u>>2]|0);h=c;return}else{f[i+44>>2]=-1;h=c;return}}function tr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;i=h;h=h+16|0;t=i+4|0;n=i;f[t>>2]=e;f[n>>2]=r;ys((f[f[t>>2]>>2]|0)+(f[n>>2]|0)+(0-(f[(f[t>>2]|0)+8>>2]|0))|0,(f[f[t>>2]>>2]|0)+(f[(f[t>>2]|0)+4>>2]|0)+(0-(f[(f[t>>2]|0)+8>>2]|0))|0,(f[(f[t>>2]|0)+8>>2]|0)+0|0)|0;f[(f[t>>2]|0)+4>>2]=f[n>>2];h=i;return}function nr(e){e=e|0;var r=0,i=0,n=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+20|0;s=u+16|0;l=u+12|0;r=u+8|0;i=u+4|0;o=u;f[n>>2]=e;f[o>>2]=32-(32-(te(f[(f[n>>2]|0)+28>>2]|0)|0));f[r>>2]=2147483647>>>(f[o>>2]|0);f[i>>2]=(f[(f[n>>2]|0)+32>>2]|0)+(f[r>>2]|0)&~f[r>>2];if((f[i>>2]|f[r>>2])>>>0>=((f[(f[n>>2]|0)+32>>2]|0)+(f[(f[n>>2]|0)+28>>2]|0)|0)>>>0){f[o>>2]=(f[o>>2]|0)+1;f[r>>2]=(f[r>>2]|0)>>>1;f[i>>2]=(f[(f[n>>2]|0)+32>>2]|0)+(f[r>>2]|0)&~f[r>>2]}while(1){e=f[n>>2]|0;if((f[o>>2]|0)<=0)break;Je(e,(f[i>>2]|0)>>>23);f[i>>2]=f[i>>2]<<8&2147483647;f[o>>2]=(f[o>>2]|0)-8}if(!((f[e+40>>2]|0)<0?(f[(f[n>>2]|0)+36>>2]|0)>>>0<=0:0))Je(f[n>>2]|0,0);f[s>>2]=f[(f[n>>2]|0)+12>>2];f[l>>2]=f[(f[n>>2]|0)+16>>2];while(1){e=f[n>>2]|0;if((f[l>>2]|0)<8)break;r=rr(e,f[s>>2]&255)|0;i=(f[n>>2]|0)+44|0;f[i>>2]=f[i>>2]|r;f[s>>2]=(f[s>>2]|0)>>>8;f[l>>2]=(f[l>>2]|0)-8}if(f[e+44>>2]|0){h=u;return}vs((f[f[n>>2]>>2]|0)+(f[(f[n>>2]|0)+24>>2]|0)|0,0,(f[(f[n>>2]|0)+4>>2]|0)-(f[(f[n>>2]|0)+24>>2]|0)-(f[(f[n>>2]|0)+8>>2]|0)|0)|0;if((f[l>>2]|0)<=0){h=u;return}if((f[(f[n>>2]|0)+8>>2]|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[(f[n>>2]|0)+44>>2]=-1;h=u;return}f[o>>2]=0-(f[o>>2]|0);if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0?(f[o>>2]|0)<(f[l>>2]|0):0){f[s>>2]=f[s>>2]&(1<>2])-1;f[(f[n>>2]|0)+44>>2]=-1}l=(f[f[n>>2]>>2]|0)+((f[(f[n>>2]|0)+4>>2]|0)-(f[(f[n>>2]|0)+8>>2]|0)-1)|0;t[l>>0]=a[l>>0]|0|f[s>>2]&255;h=u;return}function fr(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+64|0;i=w+60|0;t=w+56|0;u=w+52|0;s=w+48|0;c=w+44|0;a=w+40|0;o=w+8|0;l=w+4|0;b=w;f[i>>2]=e;f[t>>2]=r;if((f[(f[i>>2]|0)+8>>2]|0)>0)r=f[(f[i>>2]|0)+8>>2]|0;else r=0;f[b>>2]=r;f[o>>2]=1;f[a>>2]=0;do{f[c>>2]=n[(f[i>>2]|0)+12+(f[a>>2]<<1<<1)>>1];f[s>>2]=n[(f[i>>2]|0)+12+((f[a>>2]<<1)+1<<1)>>1];e=re(f[o+(f[a>>2]<<2)>>2]|0,f[c>>2]|0)|0;f[o+((f[a>>2]|0)+1<<2)>>2]=e;f[a>>2]=(f[a>>2]|0)+1}while((f[s>>2]|0)!=1);f[s>>2]=n[(f[i>>2]|0)+12+((f[a>>2]<<1)-1<<1)>>1];f[l>>2]=(f[a>>2]|0)-1;while(1){if((f[l>>2]|0)<0)break;if(f[l>>2]|0)f[u>>2]=n[(f[i>>2]|0)+12+((f[l>>2]<<1)-1<<1)>>1];else f[u>>2]=1;switch(n[(f[i>>2]|0)+12+(f[l>>2]<<1<<1)>>1]|0){case 2:{ar(f[t>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0);break}case 4:{or(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}case 3:{lr(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}case 5:{sr(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}default:{}}f[s>>2]=f[u>>2];f[l>>2]=(f[l>>2]|0)+-1}h=w;return}function ar(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;t=c+28|0;n=c+20|0;a=c+16|0;o=c+12|0;u=c+8|0;l=c;f[t>>2]=e;f[c+24>>2]=r;f[n>>2]=i;s[u>>2]=.7071067690849304;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;f[a>>2]=(f[t>>2]|0)+32;r=f[a>>2]|0;f[l>>2]=f[r>>2];f[l+4>>2]=f[r+4>>2];s[f[a>>2]>>2]=+s[f[t>>2]>>2]-+s[l>>2];s[(f[a>>2]|0)+4>>2]=+s[(f[t>>2]|0)+4>>2]-+s[l+4>>2];r=f[t>>2]|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=(+s[(f[a>>2]|0)+8>>2]+ +s[(f[a>>2]|0)+8+4>>2])*+s[u>>2];s[l+4>>2]=(+s[(f[a>>2]|0)+8+4>>2]-+s[(f[a>>2]|0)+8>>2])*+s[u>>2];s[(f[a>>2]|0)+8>>2]=+s[(f[t>>2]|0)+8>>2]-+s[l>>2];s[(f[a>>2]|0)+8+4>>2]=+s[(f[t>>2]|0)+8+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+8|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+8+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=+s[(f[a>>2]|0)+16+4>>2];s[l+4>>2]=-+s[(f[a>>2]|0)+16>>2];s[(f[a>>2]|0)+16>>2]=+s[(f[t>>2]|0)+16>>2]-+s[l>>2];s[(f[a>>2]|0)+16+4>>2]=+s[(f[t>>2]|0)+16+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+16|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+16+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=(+s[(f[a>>2]|0)+24+4>>2]-+s[(f[a>>2]|0)+24>>2])*+s[u>>2];s[l+4>>2]=(-+s[(f[a>>2]|0)+24+4>>2]-+s[(f[a>>2]|0)+24>>2])*+s[u>>2];s[(f[a>>2]|0)+24>>2]=+s[(f[t>>2]|0)+24>>2]-+s[l>>2];s[(f[a>>2]|0)+24+4>>2]=+s[(f[t>>2]|0)+24+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+24|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+24+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];f[t>>2]=(f[t>>2]|0)+64;f[o>>2]=(f[o>>2]|0)+1}h=c;return}function or(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+128|0;o=R+120|0;l=R+116|0;u=R+112|0;c=R+108|0;b=R+104|0;w=R+100|0;d=R+96|0;_=R+88|0;m=R+80|0;p=R+72|0;y=R+24|0;E=R+20|0;A=R+16|0;S=R+12|0;v=R+8|0;g=R+4|0;k=R;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;if((f[c>>2]|0)==1){f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;s[_>>2]=+s[f[o>>2]>>2]-+s[(f[o>>2]|0)+16>>2];s[_+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[(f[o>>2]|0)+16+4>>2];S=f[o>>2]|0;s[S>>2]=+s[S>>2]+ +s[(f[o>>2]|0)+16>>2];S=(f[o>>2]|0)+4|0;s[S>>2]=+s[S>>2]+ +s[(f[o>>2]|0)+16+4>>2];s[m>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[(f[o>>2]|0)+24>>2];s[m+4>>2]=+s[(f[o>>2]|0)+8+4>>2]+ +s[(f[o>>2]|0)+24+4>>2];s[(f[o>>2]|0)+16>>2]=+s[f[o>>2]>>2]-+s[m>>2];s[(f[o>>2]|0)+16+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[m+4>>2];S=f[o>>2]|0;s[S>>2]=+s[S>>2]+ +s[m>>2];S=(f[o>>2]|0)+4|0;s[S>>2]=+s[S>>2]+ +s[m+4>>2];s[m>>2]=+s[(f[o>>2]|0)+8>>2]-+s[(f[o>>2]|0)+24>>2];s[m+4>>2]=+s[(f[o>>2]|0)+8+4>>2]-+s[(f[o>>2]|0)+24+4>>2];s[(f[o>>2]|0)+8>>2]=+s[_>>2]+ +s[m+4>>2];s[(f[o>>2]|0)+8+4>>2]=+s[_+4>>2]-+s[m>>2];s[(f[o>>2]|0)+24>>2]=+s[_>>2]-+s[m+4>>2];s[(f[o>>2]|0)+24+4>>2]=+s[_+4>>2]+ +s[m>>2];f[o>>2]=(f[o>>2]|0)+32;f[d>>2]=(f[d>>2]|0)+1}h=R;return}f[v>>2]=f[c>>2]<<1;f[g>>2]=(f[c>>2]|0)*3;f[k>>2]=f[o>>2];f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[o>>2]=(f[k>>2]|0)+((re(f[d>>2]|0,f[w>>2]|0)|0)<<3);i=f[(f[u>>2]|0)+48>>2]|0;f[E>>2]=i;f[A>>2]=i;f[S>>2]=i;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[c>>2]|0))break;s[y>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[f[E>>2]>>2]-+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[(f[E>>2]|0)+4>>2];s[y+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[(f[E>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[f[E>>2]>>2];s[y+8>>2]=+s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]*+s[f[A>>2]>>2]-+s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]*+s[(f[A>>2]|0)+4>>2];s[y+8+4>>2]=+s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]*+s[(f[A>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]*+s[f[A>>2]>>2];s[y+16>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[f[S>>2]>>2]-+s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[(f[S>>2]|0)+4>>2];s[y+16+4>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[(f[S>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[f[S>>2]>>2];s[y+40>>2]=+s[f[o>>2]>>2]-+s[y+8>>2];s[y+40+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+8+4>>2];i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+8>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+8+4>>2];s[y+24>>2]=+s[y>>2]+ +s[y+16>>2];s[y+24+4>>2]=+s[y+4>>2]+ +s[y+16+4>>2];s[y+32>>2]=+s[y>>2]-+s[y+16>>2];s[y+32+4>>2]=+s[y+4>>2]-+s[y+16+4>>2];s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]=+s[f[o>>2]>>2]-+s[y+24>>2];s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+24+4>>2];f[E>>2]=(f[E>>2]|0)+(f[l>>2]<<3);f[A>>2]=(f[A>>2]|0)+(f[l>>2]<<1<<3);f[S>>2]=(f[S>>2]|0)+((f[l>>2]|0)*3<<3);i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+24>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+24+4>>2];s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]=+s[y+40>>2]+ +s[y+32+4>>2];s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]=+s[y+40+4>>2]-+s[y+32>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]=+s[y+40>>2]-+s[y+32+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]=+s[y+40+4>>2]+ +s[y+32>>2];f[o>>2]=(f[o>>2]|0)+8;f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}h=R;return}function lr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+112|0;o=E+96|0;l=E+92|0;u=E+88|0;c=E+84|0;b=E+80|0;w=E+76|0;p=E+72|0;v=E+68|0;g=E+64|0;_=E+60|0;m=E+56|0;y=E+16|0;d=E+8|0;k=E;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[g>>2]=f[c>>2]<<1;f[k>>2]=f[o>>2];i=re(f[l>>2]|0,f[c>>2]|0)|0;i=(f[(f[u>>2]|0)+48>>2]|0)+(i<<3)|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;f[o>>2]=(f[k>>2]|0)+((re(f[p>>2]|0,f[w>>2]|0)|0)<<3);i=f[(f[u>>2]|0)+48>>2]|0;f[m>>2]=i;f[_>>2]=i;f[v>>2]=f[c>>2];do{s[y+8>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[f[_>>2]>>2]-+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[(f[_>>2]|0)+4>>2];s[y+8+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[(f[_>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[f[_>>2]>>2];s[y+16>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[f[m>>2]>>2]-+s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[(f[m>>2]|0)+4>>2];s[y+16+4>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[(f[m>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[f[m>>2]>>2];s[y+24>>2]=+s[y+8>>2]+ +s[y+16>>2];s[y+24+4>>2]=+s[y+8+4>>2]+ +s[y+16+4>>2];s[y>>2]=+s[y+8>>2]-+s[y+16>>2];s[y+4>>2]=+s[y+8+4>>2]-+s[y+16+4>>2];f[_>>2]=(f[_>>2]|0)+(f[l>>2]<<3);f[m>>2]=(f[m>>2]|0)+(f[l>>2]<<1<<3);s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]=+s[f[o>>2]>>2]-+s[y+24>>2]*.5;s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+24+4>>2]*.5;s[y>>2]=+s[y>>2]*+s[d+4>>2];i=y+4|0;s[i>>2]=+s[i>>2]*+s[d+4>>2];i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+24>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+24+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]+ +s[y+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]-+s[y>>2];i=(f[o>>2]|0)+(f[c>>2]<<3)|0;s[i>>2]=+s[i>>2]-+s[y+4>>2];i=(f[o>>2]|0)+(f[c>>2]<<3)+4|0;s[i>>2]=+s[i>>2]+ +s[y>>2];f[o>>2]=(f[o>>2]|0)+8;i=(f[v>>2]|0)+-1|0;f[v>>2]=i}while((i|0)!=0);f[p>>2]=(f[p>>2]|0)+1}h=E;return}function sr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0;R=h;h=h+192|0;o=R+184|0;l=R+180|0;T=R+176|0;u=R+172|0;c=R+168|0;b=R+164|0;w=R+160|0;k=R+156|0;d=R+152|0;p=R+148|0;v=R+144|0;y=R+140|0;E=R+136|0;_=R+32|0;m=R+24|0;A=R+16|0;S=R+8|0;g=R;f[o>>2]=e;f[l>>2]=r;f[T>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[g>>2]=f[o>>2];i=re(f[l>>2]|0,f[u>>2]|0)|0;i=(f[(f[T>>2]|0)+48>>2]|0)+(i<<3)|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];i=re(f[l>>2]<<1,f[u>>2]|0)|0;i=(f[(f[T>>2]|0)+48>>2]|0)+(i<<3)|0;f[S>>2]=f[i>>2];f[S+4>>2]=f[i+4>>2];f[m>>2]=f[(f[T>>2]|0)+48>>2];f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[c>>2]|0))break;f[o>>2]=(f[g>>2]|0)+((re(f[y>>2]|0,f[b>>2]|0)|0)<<3);f[w>>2]=f[o>>2];f[k>>2]=(f[w>>2]|0)+(f[u>>2]<<3);f[d>>2]=(f[w>>2]|0)+(f[u>>2]<<1<<3);f[p>>2]=(f[w>>2]|0)+((f[u>>2]|0)*3<<3);f[v>>2]=(f[w>>2]|0)+(f[u>>2]<<2<<3);f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[u>>2]|0))break;T=f[w>>2]|0;f[_>>2]=f[T>>2];f[_+4>>2]=f[T+4>>2];T=re(f[E>>2]|0,f[l>>2]|0)|0;i=re(f[E>>2]|0,f[l>>2]|0)|0;s[_+8>>2]=+s[f[k>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[k>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]|0,f[l>>2]|0)|0;T=re(f[E>>2]|0,f[l>>2]|0)|0;s[_+8+4>>2]=+s[f[k>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[k>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re(f[E>>2]<<1,f[l>>2]|0)|0;i=re(f[E>>2]<<1,f[l>>2]|0)|0;s[_+16>>2]=+s[f[d>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[d>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]<<1,f[l>>2]|0)|0;T=re(f[E>>2]<<1,f[l>>2]|0)|0;s[_+16+4>>2]=+s[f[d>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[d>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;i=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;s[_+24>>2]=+s[f[p>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[p>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;T=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;s[_+24+4>>2]=+s[f[p>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[p>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re(f[E>>2]<<2,f[l>>2]|0)|0;i=re(f[E>>2]<<2,f[l>>2]|0)|0;s[_+32>>2]=+s[f[v>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[v>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]<<2,f[l>>2]|0)|0;T=re(f[E>>2]<<2,f[l>>2]|0)|0;s[_+32+4>>2]=+s[f[v>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[v>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];s[_+56>>2]=+s[_+8>>2]+ +s[_+32>>2];s[_+56+4>>2]=+s[_+8+4>>2]+ +s[_+32+4>>2];s[_+80>>2]=+s[_+8>>2]-+s[_+32>>2];s[_+80+4>>2]=+s[_+8+4>>2]-+s[_+32+4>>2];s[_+64>>2]=+s[_+16>>2]+ +s[_+24>>2];s[_+64+4>>2]=+s[_+16+4>>2]+ +s[_+24+4>>2];s[_+72>>2]=+s[_+16>>2]-+s[_+24>>2];s[_+72+4>>2]=+s[_+16+4>>2]-+s[_+24+4>>2];T=f[w>>2]|0;s[T>>2]=+s[T>>2]+(+s[_+56>>2]+ +s[_+64>>2]);T=(f[w>>2]|0)+4|0;s[T>>2]=+s[T>>2]+(+s[_+56+4>>2]+ +s[_+64+4>>2]);s[_+40>>2]=+s[_>>2]+ +s[_+56>>2]*+s[A>>2]+ +s[_+64>>2]*+s[S>>2];s[_+40+4>>2]=+s[_+4>>2]+ +s[_+56+4>>2]*+s[A>>2]+ +s[_+64+4>>2]*+s[S>>2];s[_+48>>2]=+s[_+80+4>>2]*+s[A+4>>2]+ +s[_+72+4>>2]*+s[S+4>>2];s[_+48+4>>2]=-(+s[_+80>>2]*+s[A+4>>2])-+s[_+72>>2]*+s[S+4>>2];s[f[k>>2]>>2]=+s[_+40>>2]-+s[_+48>>2];s[(f[k>>2]|0)+4>>2]=+s[_+40+4>>2]-+s[_+48+4>>2];s[f[v>>2]>>2]=+s[_+40>>2]+ +s[_+48>>2];s[(f[v>>2]|0)+4>>2]=+s[_+40+4>>2]+ +s[_+48+4>>2];s[_+88>>2]=+s[_>>2]+ +s[_+56>>2]*+s[S>>2]+ +s[_+64>>2]*+s[A>>2];s[_+88+4>>2]=+s[_+4>>2]+ +s[_+56+4>>2]*+s[S>>2]+ +s[_+64+4>>2]*+s[A>>2];s[_+96>>2]=-(+s[_+80+4>>2]*+s[S+4>>2])+ +s[_+72+4>>2]*+s[A+4>>2];s[_+96+4>>2]=+s[_+80>>2]*+s[S+4>>2]-+s[_+72>>2]*+s[A+4>>2];s[f[d>>2]>>2]=+s[_+88>>2]+ +s[_+96>>2];s[(f[d>>2]|0)+4>>2]=+s[_+88+4>>2]+ +s[_+96+4>>2];s[f[p>>2]>>2]=+s[_+88>>2]-+s[_+96>>2];s[(f[p>>2]|0)+4>>2]=+s[_+88+4>>2]-+s[_+96+4>>2];f[w>>2]=(f[w>>2]|0)+8;f[k>>2]=(f[k>>2]|0)+8;f[d>>2]=(f[d>>2]|0)+8;f[p>>2]=(f[p>>2]|0)+8;f[v>>2]=(f[v>>2]|0)+8;f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=(f[y>>2]|0)+1}h=R;return}function ur(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;a=b+20|0;o=b+16|0;l=b+12|0;u=b+8|0;c=b;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=+s[(f[t>>2]|0)+4>>2];f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[f[t>>2]>>2]|0))break;e=(f[a>>2]|0)+(f[l>>2]<<3)|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];s[(f[o>>2]|0)+(n[(f[(f[t>>2]|0)+44>>2]|0)+(f[l>>2]<<1)>>1]<<3)>>2]=+s[u>>2]*+s[c>>2];s[(f[o>>2]|0)+(n[(f[(f[t>>2]|0)+44>>2]|0)+(f[l>>2]<<1)>>1]<<3)+4>>2]=+s[u>>2]*+s[c+4>>2];f[l>>2]=(f[l>>2]|0)+1}fr(f[t>>2]|0,f[o>>2]|0);h=b;return}function hr(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;l=d+36|0;s=d+32|0;u=d+28|0;n=d+24|0;b=d+20|0;o=d+16|0;k=d+12|0;w=d+8|0;c=d+4|0;a=d;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[n>>2]=t;f[o>>2]=f[f[s>>2]>>2];f[b>>2]=0;if(!(f[o>>2]|0)){c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}f[k>>2]=0-((f[o>>2]|0)<0&1);f[o>>2]=(f[o>>2]|0)+(f[k>>2]|0)^f[k>>2];f[b>>2]=f[u>>2];f[u>>2]=cr(f[u>>2]|0,f[n>>2]|0)|0;f[w>>2]=1;while(1){if((f[u>>2]|0)>>>0>0)e=(f[w>>2]|0)<(f[o>>2]|0);else e=0;t=f[u>>2]|0;if(!e)break;f[u>>2]=t<<1;f[b>>2]=(f[b>>2]|0)+((f[u>>2]|0)+2);f[u>>2]=(re(f[u>>2]|0,f[n>>2]|0)|0)>>>15;f[w>>2]=(f[w>>2]|0)+1}if(t|0){f[u>>2]=(f[u>>2]|0)+1;f[b>>2]=(f[b>>2]|0)+(f[u>>2]&~f[k>>2]);c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}f[a>>2]=(32768-(f[b>>2]|0)+1-1|0)>>>0;f[a>>2]=(f[a>>2]|0)-(f[k>>2]|0)>>1;if(((f[o>>2]|0)-(f[w>>2]|0)|0)<((f[a>>2]|0)-1|0))t=(f[o>>2]|0)-(f[w>>2]|0)|0;else t=(f[a>>2]|0)-1|0;f[c>>2]=t;f[b>>2]=(f[b>>2]|0)+((f[c>>2]<<1)+1+(f[k>>2]|0));f[u>>2]=1<(32768-(f[b>>2]|0)|0)>>>0?1:32768-(f[b>>2]|0)|0;f[f[s>>2]>>2]=(f[w>>2]|0)+(f[c>>2]|0)+(f[k>>2]|0)^f[k>>2];c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}function cr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;i=h;h=h+16|0;a=i+8|0;t=i+4|0;n=i;f[a>>2]=e;f[t>>2]=r;f[n>>2]=32736-(f[a>>2]|0);e=(re(f[n>>2]|0,16384-(f[t>>2]|0)|0)|0)>>>15;h=i;return e|0}function br(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;t=c+24|0;l=c+20|0;n=c+16|0;u=c+12|0;s=c+8|0;o=c+4|0;a=c;f[t>>2]=e;f[l>>2]=r;f[n>>2]=i;f[u>>2]=0;f[o>>2]=je(f[t>>2]|0,15)|0;f[s>>2]=0;do{if((f[o>>2]|0)>>>0>=(f[l>>2]|0)>>>0){f[u>>2]=(f[u>>2]|0)+1;f[s>>2]=f[l>>2];f[l>>2]=(cr(f[l>>2]|0,f[n>>2]|0)|0)+1;while(1){if((f[l>>2]|0)>>>0>1)i=(f[o>>2]|0)>>>0>=((f[s>>2]|0)+(f[l>>2]<<1)|0)>>>0;else i=0;e=f[l>>2]|0;if(!i)break;f[l>>2]=e<<1;f[s>>2]=(f[s>>2]|0)+(f[l>>2]|0);f[l>>2]=(re((f[l>>2]|0)-2|0,f[n>>2]|0)|0)>>>15;f[l>>2]=(f[l>>2]|0)+1;f[u>>2]=(f[u>>2]|0)+1}if(e>>>0<=1){f[a>>2]=((f[o>>2]|0)-(f[s>>2]|0)|0)>>>1;f[u>>2]=(f[u>>2]|0)+(f[a>>2]|0);f[s>>2]=(f[s>>2]|0)+(f[a>>2]<<1)}if((f[o>>2]|0)>>>0<((f[s>>2]|0)+(f[l>>2]|0)|0)>>>0){f[u>>2]=0-(f[u>>2]|0);break}else{f[s>>2]=(f[s>>2]|0)+(f[l>>2]|0);break}}}while(0);e=f[t>>2]|0;i=f[s>>2]|0;if(((f[s>>2]|0)+(f[l>>2]|0)|0)>>>0>=32768){s=32768;De(e,i,s,32768);u=f[u>>2]|0;h=c;return u|0}s=(f[s>>2]|0)+(f[l>>2]|0)|0;De(e,i,s,32768);u=f[u>>2]|0;h=c;return u|0}function wr(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;n=o+8|0;t=o+4|0;a=o;f[r>>2]=e;f[n>>2]=0;f[t>>2]=32-(te(f[r>>2]|0)|0)-1>>1;f[i>>2]=1<>2];do{f[a>>2]=(f[n>>2]<<1)+(f[i>>2]|0)<>2];if((f[a>>2]|0)>>>0<=(f[r>>2]|0)>>>0){f[n>>2]=(f[n>>2]|0)+(f[i>>2]|0);f[r>>2]=(f[r>>2]|0)-(f[a>>2]|0)}f[i>>2]=(f[i>>2]|0)>>>1;f[t>>2]=(f[t>>2]|0)+-1}while((f[t>>2]|0)>=0);h=o;return f[n>>2]|0}function kr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0;Z=h;h=h+160|0;V=Z+144|0;w=Z+140|0;k=Z+136|0;d=Z+132|0;p=Z+128|0;c=Z+124|0;v=Z+120|0;E=Z+112|0;b=Z+108|0;y=Z+104|0;_=Z+100|0;T=Z+96|0;P=Z+92|0;R=Z+88|0;g=Z+84|0;U=Z+80|0;B=Z+76|0;F=Z+72|0;I=Z+68|0;C=Z+64|0;z=Z+60|0;M=Z+56|0;j=Z+48|0;x=Z+44|0;O=Z+40|0;S=Z+36|0;A=Z+32|0;q=Z+28|0;D=Z+24|0;m=Z+20|0;Y=Z+16|0;H=Z+12|0;L=Z+8|0;W=Z+4|0;N=Z;f[V>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[c>>2]=o;f[v>>2]=l;f[Z+116>>2]=u;f[T>>2]=f[(f[V>>2]|0)+8+(f[c>>2]<<2)>>2];s[R>>2]=+s[(f[T>>2]|0)+4>>2];f[b>>2]=f[f[V>>2]>>2];f[P>>2]=f[(f[V>>2]|0)+24>>2];f[E>>2]=0;while(1){u=f[b>>2]>>1;if((f[E>>2]|0)>=(f[c>>2]|0))break;f[b>>2]=u;f[P>>2]=(f[P>>2]|0)+(f[b>>2]<<2);f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=u;f[_>>2]=f[b>>2]>>2;r=f[y>>2]|0;f[g>>2]=he()|0;u=h;h=h+((1*(r<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[_>>2]<<3)|0)+15&-16)|0;f[U>>2]=(f[w>>2]|0)+(f[p>>2]>>1<<2);f[B>>2]=(f[w>>2]|0)+(f[y>>2]<<2)+-4+(f[p>>2]>>1<<2);f[F>>2]=u;f[I>>2]=(f[d>>2]|0)+(f[p>>2]>>1<<2);f[C>>2]=(f[d>>2]|0)+(f[p>>2]>>1<<2)+-4;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[p>>2]|0)+3>>2|0))break;J=+s[f[C>>2]>>2]*+s[(f[U>>2]|0)+(f[y>>2]<<2)>>2]+ +s[f[I>>2]>>2]*+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[I>>2]>>2]*+s[f[U>>2]>>2]-+s[f[C>>2]>>2]*+s[(f[B>>2]|0)+(0-(f[y>>2]|0)<<2)>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[I>>2]=(f[I>>2]|0)+8;f[C>>2]=(f[C>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[I>>2]=f[d>>2];f[C>>2]=(f[d>>2]|0)+(f[p>>2]<<2)+-4;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-((f[p>>2]|0)+3>>2)|0))break;J=+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[U>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;J=-(+s[f[I>>2]>>2]*+s[(f[U>>2]|0)+(0-(f[y>>2]|0)<<2)>>2])+ +s[f[C>>2]>>2]*+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[C>>2]>>2]*+s[f[U>>2]>>2]+ +s[f[I>>2]>>2]*+s[(f[B>>2]|0)+(f[y>>2]<<2)>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[I>>2]=(f[I>>2]|0)+8;f[C>>2]=(f[C>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[z>>2]=u;f[M>>2]=f[P>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;s[x>>2]=+s[(f[M>>2]|0)+(f[E>>2]<<2)>>2];s[O>>2]=+s[(f[M>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];V=f[z>>2]|0;f[z>>2]=V+4;s[S>>2]=+s[V>>2];V=f[z>>2]|0;f[z>>2]=V+4;s[A>>2]=+s[V>>2];s[q>>2]=+s[S>>2]*+s[x>>2]-+s[A>>2]*+s[O>>2];s[D>>2]=+s[A>>2]*+s[x>>2]+ +s[S>>2]*+s[O>>2];s[j>>2]=+s[q>>2];s[j+4>>2]=+s[D>>2];s[j>>2]=+s[R>>2]*+s[j>>2];s[j+4>>2]=+s[R>>2]*+s[j+4>>2];V=r+(n[(f[(f[T>>2]|0)+44>>2]|0)+(f[E>>2]<<1)>>1]<<3)|0;f[V>>2]=f[j>>2];f[V+4>>2]=f[j+4>>2];f[E>>2]=(f[E>>2]|0)+1}fr(f[T>>2]|0,r);f[m>>2]=r;f[Y>>2]=f[k>>2];f[H>>2]=(f[k>>2]|0)+((re(f[v>>2]|0,(f[y>>2]|0)-1|0)|0)<<2);f[L>>2]=f[P>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;s[W>>2]=+s[(f[m>>2]|0)+4>>2]*+s[(f[L>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2]-+s[f[m>>2]>>2]*+s[(f[L>>2]|0)+(f[E>>2]<<2)>>2];s[N>>2]=+s[f[m>>2]>>2]*+s[(f[L>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2]+ +s[(f[m>>2]|0)+4>>2]*+s[(f[L>>2]|0)+(f[E>>2]<<2)>>2];s[f[Y>>2]>>2]=+s[W>>2];s[f[H>>2]>>2]=+s[N>>2];f[m>>2]=(f[m>>2]|0)+8;f[Y>>2]=(f[Y>>2]|0)+(f[v>>2]<<1<<2);f[H>>2]=(f[H>>2]|0)+(0-(f[v>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+1}de(f[g>>2]|0);h=Z;return}function dr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0;V=h;h=h+144|0;c=V+140|0;b=V+136|0;w=V+132|0;k=V+128|0;d=V+124|0;p=V+120|0;v=V+116|0;E=V+108|0;g=V+104|0;y=V+100|0;_=V+96|0;L=V+92|0;B=V+88|0;D=V+84|0;z=V+80|0;T=V+76|0;m=V+72|0;R=V+68|0;W=V+64|0;N=V+60|0;Y=V+56|0;H=V+52|0;x=V+48|0;S=V+44|0;A=V+40|0;Z=V+36|0;F=V+32|0;M=V+28|0;O=V+24|0;j=V+20|0;q=V+16|0;P=V+12|0;I=V+8|0;C=V+4|0;U=V;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[V+112>>2]=u;f[g>>2]=f[f[c>>2]>>2];f[L>>2]=f[(f[c>>2]|0)+24>>2];f[E>>2]=0;while(1){u=f[g>>2]>>1;if((f[E>>2]|0)>=(f[p>>2]|0))break;f[g>>2]=u;f[L>>2]=(f[L>>2]|0)+(f[g>>2]<<2);f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=u;f[_>>2]=f[g>>2]>>2;f[B>>2]=f[b>>2];f[D>>2]=(f[b>>2]|0)+((re(f[v>>2]|0,(f[y>>2]|0)-1|0)|0)<<2);f[z>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2);f[T>>2]=f[L>>2];f[m>>2]=f[(f[(f[c>>2]|0)+8+(f[p>>2]<<2)>>2]|0)+44>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;g=f[m>>2]|0;f[m>>2]=g+2;f[R>>2]=n[g>>1];s[W>>2]=+s[f[D>>2]>>2]*+s[(f[T>>2]|0)+(f[E>>2]<<2)>>2]+ +s[f[B>>2]>>2]*+s[(f[T>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[N>>2]=+s[f[B>>2]>>2]*+s[(f[T>>2]|0)+(f[E>>2]<<2)>>2]-+s[f[D>>2]>>2]*+s[(f[T>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[(f[z>>2]|0)+((f[R>>2]<<1)+1<<2)>>2]=+s[W>>2];s[(f[z>>2]|0)+(f[R>>2]<<1<<2)>>2]=+s[N>>2];f[B>>2]=(f[B>>2]|0)+(f[v>>2]<<1<<2);f[D>>2]=(f[D>>2]|0)+(0-(f[v>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+1}fr(f[(f[c>>2]|0)+8+(f[p>>2]<<2)>>2]|0,(f[w>>2]|0)+(f[d>>2]>>1<<2)|0);f[Y>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2);f[H>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2)+(f[y>>2]<<2)+-8;f[x>>2]=f[L>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)+1>>1|0))break;s[S>>2]=+s[(f[Y>>2]|0)+4>>2];s[A>>2]=+s[f[Y>>2]>>2];s[M>>2]=+s[(f[x>>2]|0)+(f[E>>2]<<2)>>2];s[O>>2]=+s[(f[x>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[Z>>2]=+s[S>>2]*+s[M>>2]+ +s[A>>2]*+s[O>>2];s[F>>2]=+s[S>>2]*+s[O>>2]-+s[A>>2]*+s[M>>2];s[S>>2]=+s[(f[H>>2]|0)+4>>2];s[A>>2]=+s[f[H>>2]>>2];s[f[Y>>2]>>2]=+s[Z>>2];s[(f[H>>2]|0)+4>>2]=+s[F>>2];s[M>>2]=+s[(f[x>>2]|0)+((f[_>>2]|0)-(f[E>>2]|0)-1<<2)>>2];s[O>>2]=+s[(f[x>>2]|0)+((f[y>>2]|0)-(f[E>>2]|0)-1<<2)>>2];s[Z>>2]=+s[S>>2]*+s[M>>2]+ +s[A>>2]*+s[O>>2];s[F>>2]=+s[S>>2]*+s[O>>2]-+s[A>>2]*+s[M>>2];s[f[H>>2]>>2]=+s[Z>>2];s[(f[Y>>2]|0)+4>>2]=+s[F>>2];f[Y>>2]=(f[Y>>2]|0)+8;f[H>>2]=(f[H>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[j>>2]=(f[w>>2]|0)+(f[d>>2]<<2)+-4;f[q>>2]=f[w>>2];f[P>>2]=f[k>>2];f[I>>2]=(f[k>>2]|0)+(f[d>>2]<<2)+-4;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[d>>2]|0)/2|0|0))break;s[C>>2]=+s[f[j>>2]>>2];s[U>>2]=+s[f[q>>2]>>2];J=+s[f[I>>2]>>2]*+s[U>>2]-+s[f[P>>2]>>2]*+s[C>>2];Z=f[q>>2]|0;f[q>>2]=Z+4;s[Z>>2]=J;J=+s[f[P>>2]>>2]*+s[U>>2]+ +s[f[I>>2]>>2]*+s[C>>2];Z=f[j>>2]|0;f[j>>2]=Z+-4;s[Z>>2]=J;f[P>>2]=(f[P>>2]|0)+4;f[I>>2]=(f[I>>2]|0)+-4;f[E>>2]=(f[E>>2]|0)+1}h=V;return}function pr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;o=u+20|0;t=u+16|0;n=u+12|0;l=u+8|0;s=u+4|0;a=u;f[t>>2]=e;f[n>>2]=r;f[l>>2]=i;f[s>>2]=0;e:while(1){if((f[s>>2]|0)>=1){t=12;break}f[a>>2]=0;while(1){if((f[a>>2]|0)>=4)break;if((f[t>>2]|0)==(f[f[5544+(f[s>>2]<<2)>>2]>>2]|0)?(f[n>>2]<>2]|0)==(re(f[(f[5544+(f[s>>2]<<2)>>2]|0)+44>>2]|0,f[(f[5544+(f[s>>2]<<2)>>2]|0)+40>>2]|0)|0):0){t=7;break e}f[a>>2]=(f[a>>2]|0)+1}f[s>>2]=(f[s>>2]|0)+1}if((t|0)==7){if(f[l>>2]|0)f[f[l>>2]>>2]=0;f[o>>2]=f[5544+(f[s>>2]<<2)>>2];s=f[o>>2]|0;h=u;return s|0}else if((t|0)==12){if(f[l>>2]|0)f[f[l>>2]>>2]=-1;f[o>>2]=0;s=f[o>>2]|0;h=u;return s|0}return 0}function vr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+112|0;a=y+108|0;o=y+104|0;l=y+100|0;u=y+96|0;c=y+92|0;k=y+88|0;b=y+68|0;g=y+64|0;d=y+48|0;v=y+24|0;p=y+4|0;w=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;s[g>>2]=1;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;s[w>>2]=.800000011920929;f[k>>2]=1;while(1){if((f[k>>2]|0)>=(f[l>>2]>>1|0))break;s[(f[o>>2]|0)+(f[k>>2]<<2)>>2]=((+s[(f[f[a>>2]>>2]|0)+((f[k>>2]<<1)-1<<2)>>2]+ +s[(f[f[a>>2]>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])*.5+ +s[(f[f[a>>2]>>2]|0)+(f[k>>2]<<1<<2)>>2])*.5;f[k>>2]=(f[k>>2]|0)+1}s[f[o>>2]>>2]=(+s[(f[f[a>>2]>>2]|0)+4>>2]*.5+ +s[f[f[a>>2]>>2]>>2])*.5;if((f[u>>2]|0)==2){f[k>>2]=1;while(1){if((f[k>>2]|0)>=(f[l>>2]>>1|0))break;r=(f[o>>2]|0)+(f[k>>2]<<2)|0;s[r>>2]=+s[r>>2]+((+s[(f[(f[a>>2]|0)+4>>2]|0)+((f[k>>2]<<1)-1<<2)>>2]+ +s[(f[(f[a>>2]|0)+4>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])*.5+ +s[(f[(f[a>>2]|0)+4>>2]|0)+(f[k>>2]<<1<<2)>>2])*.5;f[k>>2]=(f[k>>2]|0)+1}r=f[o>>2]|0;s[r>>2]=+s[r>>2]+(+s[(f[(f[a>>2]|0)+4>>2]|0)+4>>2]*.5+ +s[f[(f[a>>2]|0)+4>>2]>>2])*.5}Pr(f[o>>2]|0,b,0,0,4,f[l>>2]>>1,f[c>>2]|0)|0;s[b>>2]=+s[b>>2]*1.000100016593933;f[k>>2]=1;while(1){if((f[k>>2]|0)>4)break;r=b+(f[k>>2]<<2)|0;s[r>>2]=+s[r>>2]-+s[b+(f[k>>2]<<2)>>2]*(+(f[k>>2]|0)*.00800000037997961)*(+(f[k>>2]|0)*.00800000037997961);f[k>>2]=(f[k>>2]|0)+1}Mr(d,b,4);f[k>>2]=0;while(1){if((f[k>>2]|0)>=4)break;s[g>>2]=+s[g>>2]*.8999999761581421;s[d+(f[k>>2]<<2)>>2]=+s[d+(f[k>>2]<<2)>>2]*+s[g>>2];f[k>>2]=(f[k>>2]|0)+1}s[p>>2]=+s[d>>2]+.800000011920929;s[p+4>>2]=+s[d+4>>2]+ +s[w>>2]*+s[d>>2];s[p+8>>2]=+s[d+8>>2]+ +s[w>>2]*+s[d+4>>2];s[p+12>>2]=+s[d+12>>2]+ +s[w>>2]*+s[d+8>>2];s[p+16>>2]=+s[w>>2]*+s[d+12>>2];gr(f[o>>2]|0,p,f[o>>2]|0,f[l>>2]>>1,v);h=y;return}function gr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+80|0;a=A+64|0;S=A+60|0;o=A+56|0;l=A+52|0;u=A+48|0;c=A+44|0;v=A+40|0;g=A+36|0;y=A+32|0;_=A+28|0;m=A+24|0;b=A+20|0;w=A+16|0;k=A+12|0;d=A+8|0;p=A+4|0;E=A;f[a>>2]=e;f[S>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=n;s[v>>2]=+s[f[S>>2]>>2];s[g>>2]=+s[(f[S>>2]|0)+4>>2];s[y>>2]=+s[(f[S>>2]|0)+8>>2];s[_>>2]=+s[(f[S>>2]|0)+12>>2];s[m>>2]=+s[(f[S>>2]|0)+16>>2];s[b>>2]=+s[f[u>>2]>>2];s[w>>2]=+s[(f[u>>2]|0)+4>>2];s[k>>2]=+s[(f[u>>2]|0)+8>>2];s[d>>2]=+s[(f[u>>2]|0)+12>>2];s[p>>2]=+s[(f[u>>2]|0)+16>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[E>>2]=+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];s[E>>2]=+s[E>>2]+ +s[v>>2]*+s[b>>2];s[E>>2]=+s[E>>2]+ +s[g>>2]*+s[w>>2];s[E>>2]=+s[E>>2]+ +s[y>>2]*+s[k>>2];s[E>>2]=+s[E>>2]+ +s[_>>2]*+s[d>>2];s[E>>2]=+s[E>>2]+ +s[m>>2]*+s[p>>2];s[p>>2]=+s[d>>2];s[d>>2]=+s[k>>2];s[k>>2]=+s[w>>2];s[w>>2]=+s[b>>2];s[b>>2]=+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]=+s[E>>2];f[c>>2]=(f[c>>2]|0)+1}s[f[u>>2]>>2]=+s[b>>2];s[(f[u>>2]|0)+4>>2]=+s[w>>2];s[(f[u>>2]|0)+8>>2]=+s[k>>2];s[(f[u>>2]|0)+12>>2]=+s[d>>2];s[(f[u>>2]|0)+16>>2]=+s[p>>2];h=A;return}function yr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+64|0;o=p+48|0;l=p+44|0;u=p+40|0;c=p+36|0;b=p+32|0;w=p+24|0;k=p+8|0;d=p;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[p+28>>2]=a;f[w>>2]=0;while(1){if((f[w>>2]|0)>=((f[b>>2]|0)-3|0))break;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;_r(f[o>>2]|0,(f[l>>2]|0)+(f[w>>2]<<2)|0,k,f[c>>2]|0);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=+s[k>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+1<<2)>>2]=+s[k+4>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+2<<2)>>2]=+s[k+8>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+3<<2)>>2]=+s[k+12>>2];f[w>>2]=(f[w>>2]|0)+4}while(1){if((f[w>>2]|0)>=(f[b>>2]|0))break;s[d>>2]=+mr(f[o>>2]|0,(f[l>>2]|0)+(f[w>>2]<<2)|0,f[c>>2]|0);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=+s[d>>2];f[w>>2]=(f[w>>2]|0)+1}h=p;return}function _r(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;n=y+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;d=y+28|0;p=y+24|0;v=y+20|0;g=y+16|0;c=y+12|0;b=y+8|0;w=y+4|0;k=y;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;s[g>>2]=0;r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=((f[l>>2]|0)-3|0))break;r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[g>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[d>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[p>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[v>>2];f[u>>2]=(f[u>>2]|0)+4}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[b>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[b>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[b>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[b>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[b>>2]*+s[g>>2]}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[w>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[w>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[w>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[w>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[w>>2]*+s[d>>2]}if((f[u>>2]|0)>=(f[l>>2]|0)){h=y;return}r=f[n>>2]|0;f[n>>2]=r+4;s[k>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[k>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[k>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[k>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[k>>2]*+s[p>>2];h=y;return}function mr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function Er(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+80|0;o=S+64|0;l=S+60|0;u=S+56|0;c=S+52|0;b=S+48|0;w=S+44|0;y=S+40|0;_=S+36|0;m=S+32|0;v=S+24|0;E=S+20|0;k=S+16|0;A=S+12|0;d=S+8|0;p=S+4|0;g=S;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[v>>2]=0;f[v+4>>2]=0;f[m>>2]=(f[u>>2]|0)+(f[c>>2]|0);i=f[u>>2]>>2;f[k>>2]=he()|0;a=h;h=h+((1*(i<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[m>>2]>>2<<2)|0)+15&-16)|0;t=h;h=h+((1*(f[c>>2]>>1<<2)|0)+15&-16)|0;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[u>>2]>>2|0))break;s[a+(f[_>>2]<<2)>>2]=+s[(f[o>>2]|0)+(f[_>>2]<<1<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[m>>2]>>2|0))break;s[i+(f[_>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[_>>2]<<1<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}yr(a,i,t,f[u>>2]>>2,f[c>>2]>>2,f[w>>2]|0);Ar(t,i,f[u>>2]>>2,f[c>>2]>>2,v);f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[c>>2]>>1|0))break;s[t+(f[y>>2]<<2)>>2]=0;if(!((Y((f[y>>2]|0)-(f[v>>2]<<1)|0)|0)>2?(Y((f[y>>2]|0)-(f[v+4>>2]<<1)|0)|0)>2:0)){s[A>>2]=+mr(f[o>>2]|0,(f[l>>2]|0)+(f[y>>2]<<2)|0,f[u>>2]>>1);s[t+(f[y>>2]<<2)>>2]=-1>+s[A>>2]?-1:+s[A>>2]}f[y>>2]=(f[y>>2]|0)+1}Ar(t,f[l>>2]|0,f[u>>2]>>1,f[c>>2]>>1,v);if((f[v>>2]|0)>0?(f[v>>2]|0)<((f[c>>2]>>1)-1|0):0){s[d>>2]=+s[t+((f[v>>2]|0)-1<<2)>>2];s[p>>2]=+s[t+(f[v>>2]<<2)>>2];s[g>>2]=+s[t+((f[v>>2]|0)+1<<2)>>2];if(+s[g>>2]-+s[d>>2]>(+s[p>>2]-+s[d>>2])*.699999988079071){f[E>>2]=1;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}if(+s[d>>2]-+s[g>>2]>(+s[p>>2]-+s[g>>2])*.699999988079071){f[E>>2]=-1;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}else{f[E>>2]=0;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}}f[E>>2]=0;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}function Ar(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;a=y+52|0;o=y+48|0;l=y+44|0;u=y+40|0;c=y+36|0;d=y+32|0;p=y+28|0;b=y+24|0;k=y+16|0;w=y+8|0;v=y+4|0;g=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;s[b>>2]=1;s[k>>2]=-1;s[k+4>>2]=-1;s[w>>2]=0;s[w+4>>2]=0;f[f[c>>2]>>2]=0;f[(f[c>>2]|0)+4>>2]=1;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[l>>2]|0))break;s[b>>2]=+s[b>>2]+ +s[(f[o>>2]|0)+(f[p>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[u>>2]|0))break;do{if(+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2]>0?(s[g>>2]=+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2],s[g>>2]=+s[g>>2]*9.999999960041972e-13,s[v>>2]=+s[g>>2]*+s[g>>2],+s[v>>2]*+s[w+4>>2]>+s[k+4>>2]*+s[b>>2]):0)if(+s[v>>2]*+s[w>>2]>+s[k>>2]*+s[b>>2]){s[k+4>>2]=+s[k>>2];s[w+4>>2]=+s[w>>2];f[(f[c>>2]|0)+4>>2]=f[f[c>>2]>>2];s[k>>2]=+s[v>>2];s[w>>2]=+s[b>>2];f[f[c>>2]>>2]=f[d>>2];break}else{s[k+4>>2]=+s[v>>2];s[w+4>>2]=+s[b>>2];f[(f[c>>2]|0)+4>>2]=f[d>>2];break}}while(0);s[b>>2]=+s[b>>2]+(+s[(f[o>>2]|0)+((f[d>>2]|0)+(f[l>>2]|0)<<2)>>2]*+s[(f[o>>2]|0)+((f[d>>2]|0)+(f[l>>2]|0)<<2)>>2]-+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]);s[b>>2]=1>+s[b>>2]?1:+s[b>>2];f[d>>2]=(f[d>>2]|0)+1}h=y;return}function Sr(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=+o;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;F=h;h=h+128|0;c=F+124|0;b=F+120|0;w=F+116|0;k=F+112|0;d=F+108|0;p=F+104|0;v=F+100|0;O=F+92|0;u=F+88|0;y=F+84|0;_=F+80|0;T=F+76|0;M=F+72|0;I=F+68|0;j=F+64|0;B=F+60|0;N=F+56|0;D=F+52|0;U=F+40|0;A=F+36|0;S=F+32|0;P=F+28|0;L=F+24|0;g=F+20|0;m=F+16|0;E=F+12|0;x=F+8|0;R=F+4|0;C=F;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;s[v>>2]=o;f[F+96>>2]=l;f[L>>2]=f[w>>2];f[b>>2]=(f[b>>2]|0)/2|0;f[w>>2]=(f[w>>2]|0)/2|0;e=f[d>>2]|0;f[e>>2]=(f[e>>2]|0)/2|0;f[p>>2]=(f[p>>2]|0)/2|0;f[k>>2]=(f[k>>2]|0)/2|0;f[c>>2]=(f[c>>2]|0)+(f[b>>2]<<2);if((f[f[d>>2]>>2]|0)>=(f[b>>2]|0))f[f[d>>2]>>2]=(f[b>>2]|0)-1;e=f[f[d>>2]>>2]|0;f[_>>2]=e;f[y>>2]=e;e=(f[b>>2]|0)+1|0;f[g>>2]=he()|0;n=h;h=h+((1*(e<<2)|0)+15&-16)|0;Rr(f[c>>2]|0,f[c>>2]|0,(f[c>>2]|0)+(0-(f[_>>2]|0)<<2)|0,f[k>>2]|0,B,j);s[n>>2]=+s[B>>2];s[N>>2]=+s[B>>2];f[u>>2]=1;while(1){if((f[u>>2]|0)>(f[b>>2]|0))break;s[N>>2]=+s[N>>2]+ +s[(f[c>>2]|0)+(0-(f[u>>2]|0)<<2)>>2]*+s[(f[c>>2]|0)+(0-(f[u>>2]|0)<<2)>>2]-+s[(f[c>>2]|0)+((f[k>>2]|0)-(f[u>>2]|0)<<2)>>2]*+s[(f[c>>2]|0)+((f[k>>2]|0)-(f[u>>2]|0)<<2)>>2];s[n+(f[u>>2]<<2)>>2]=0>+s[N>>2]?0:+s[N>>2];f[u>>2]=(f[u>>2]|0)+1}s[N>>2]=+s[n+(f[_>>2]<<2)>>2];s[A>>2]=+s[j>>2];s[S>>2]=+s[N>>2];o=+s[j>>2]/+H(+(+s[B>>2]*+s[N>>2]+1));s[M>>2]=o;s[T>>2]=o;f[O>>2]=2;while(1){if((f[O>>2]|0)>15)break;s[R>>2]=0;f[m>>2]=Tr((f[_>>2]<<1)+(f[O>>2]|0)|0,f[O>>2]<<1)|0;if((f[m>>2]|0)<(f[w>>2]|0))break;do{if((f[O>>2]|0)==2){t=f[_>>2]|0;if(((f[m>>2]|0)+(f[_>>2]|0)|0)>(f[b>>2]|0)){f[E>>2]=t;break}else{f[E>>2]=t+(f[m>>2]|0);break}}else{u=re(f[17400+(f[O>>2]<<2)>>2]<<1,f[_>>2]|0)|0;f[E>>2]=Tr(u+(f[O>>2]|0)|0,f[O>>2]<<1)|0}}while(0);Rr(f[c>>2]|0,(f[c>>2]|0)+(0-(f[m>>2]|0)<<2)|0,(f[c>>2]|0)+(0-(f[E>>2]|0)<<2)|0,f[k>>2]|0,j,D);s[j>>2]=+s[j>>2]+ +s[D>>2];s[N>>2]=+s[n+(f[m>>2]<<2)>>2]+ +s[n+(f[E>>2]<<2)>>2];s[x>>2]=+s[j>>2]/+H(+(+s[B>>2]*2*1*+s[N>>2]+1));do{if((Y((f[m>>2]|0)-(f[p>>2]|0)|0)|0)<=1)s[R>>2]=+s[v>>2];else{if((Y((f[m>>2]|0)-(f[p>>2]|0)|0)|0)<=2?(u=re((f[O>>2]|0)*5|0,f[O>>2]|0)|0,(u|0)<(f[_>>2]|0)):0){s[R>>2]=+s[v>>2]*.5;break}s[R>>2]=0}}while(0);if(.30000001192092896>+s[M>>2]*.699999988079071-+s[R>>2])o=.30000001192092896;else o=+s[M>>2]*.699999988079071-+s[R>>2];s[C>>2]=o;if((f[m>>2]|0)>=((f[w>>2]|0)*3|0)){if((f[m>>2]|0)<(f[w>>2]<<1|0)){if(.5>+s[M>>2]*.8999999761581421-+s[R>>2])o=.5;else o=+s[M>>2]*.8999999761581421-+s[R>>2];s[C>>2]=o}}else{if(.4000000059604645>+s[M>>2]*.8500000238418579-+s[R>>2])o=.4000000059604645;else o=+s[M>>2]*.8500000238418579-+s[R>>2];s[C>>2]=o}if(+s[x>>2]>+s[C>>2]){s[A>>2]=+s[j>>2];s[S>>2]=+s[N>>2];f[y>>2]=f[m>>2];s[T>>2]=+s[x>>2]}f[O>>2]=(f[O>>2]|0)+1}s[A>>2]=0>+s[A>>2]?0:+s[A>>2];if(+s[S>>2]<=+s[A>>2])s[I>>2]=1;else s[I>>2]=+s[A>>2]/(+s[S>>2]+1);f[O>>2]=0;while(1){if((f[O>>2]|0)>=3)break;o=+mr(f[c>>2]|0,(f[c>>2]|0)+(0-((f[y>>2]|0)+(f[O>>2]|0)-1)<<2)|0,f[k>>2]|0);s[U+(f[O>>2]<<2)>>2]=o;f[O>>2]=(f[O>>2]|0)+1}do{if(!(+s[U+8>>2]-+s[U>>2]>(+s[U+4>>2]-+s[U>>2])*.699999988079071))if(+s[U>>2]-+s[U+8>>2]>(+s[U+4>>2]-+s[U+8>>2])*.699999988079071){f[P>>2]=-1;break}else{f[P>>2]=0;break}else f[P>>2]=1}while(0);if(+s[I>>2]>+s[T>>2])s[I>>2]=+s[T>>2];f[f[d>>2]>>2]=(f[y>>2]<<1)+(f[P>>2]|0);if((f[f[d>>2]>>2]|0)>=(f[L>>2]|0)){o=+s[I>>2];N=f[g>>2]|0;de(N|0);h=F;return+o}f[f[d>>2]>>2]=f[L>>2];o=+s[I>>2];N=f[g>>2]|0;de(N|0);h=F;return+o}function Rr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;d=g+8|0;p=g+4|0;v=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[p>>2]=0;s[v>>2]=0;f[d>>2]=0;while(1){o=+s[p>>2];if((f[d>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=o+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[u>>2]|0)+(f[d>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[f[w>>2]>>2]=o;s[f[k>>2]>>2]=+s[v>>2];h=g;return}function Tr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Mr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;d=h;h=h+48|0;p=d+40|0;t=d+36|0;n=d+32|0;o=d+28|0;l=d+24|0;c=d+20|0;a=d+16|0;u=d+12|0;b=d+8|0;w=d+4|0;k=d;f[p>>2]=e;f[t>>2]=r;f[n>>2]=i;s[a>>2]=+s[f[t>>2]>>2];f[u>>2]=f[p>>2];f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;s[(f[u>>2]|0)+(f[o>>2]<<2)>>2]=0;f[o>>2]=(f[o>>2]|0)+1}if(!(+s[f[t>>2]>>2]!=0)){h=d;return}f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0)){t=15;break}s[b>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;s[b>>2]=+s[b>>2]+ +s[(f[u>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[t>>2]|0)+((f[o>>2]|0)-(f[l>>2]|0)<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}s[b>>2]=+s[b>>2]+ +s[(f[t>>2]|0)+((f[o>>2]|0)+1<<2)>>2];s[c>>2]=-(+s[b>>2]/+s[a>>2]);s[(f[u>>2]|0)+(f[o>>2]<<2)>>2]=+s[c>>2];f[l>>2]=0;while(1){if((f[l>>2]|0)>=((f[o>>2]|0)+1>>1|0))break;s[w>>2]=+s[(f[u>>2]|0)+(f[l>>2]<<2)>>2];s[k>>2]=+s[(f[u>>2]|0)+((f[o>>2]|0)-1-(f[l>>2]|0)<<2)>>2];s[(f[u>>2]|0)+(f[l>>2]<<2)>>2]=+s[w>>2]+ +s[c>>2]*+s[k>>2];s[(f[u>>2]|0)+((f[o>>2]|0)-1-(f[l>>2]|0)<<2)>>2]=+s[k>>2]+ +s[c>>2]*+s[w>>2];f[l>>2]=(f[l>>2]|0)+1}s[a>>2]=+s[a>>2]-+s[c>>2]*+s[c>>2]*+s[a>>2];if(+s[a>>2]<+s[f[t>>2]>>2]*.0010000000474974513){t=15;break}f[o>>2]=(f[o>>2]|0)+1}if((t|0)==15){h=d;return}}function xr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;l=_+60|0;u=_+56|0;c=_+52|0;b=_+48|0;w=_+44|0;k=_+40|0;p=_+32|0;v=_+28|0;d=_+24|0;g=_+8|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_+36>>2]=o;e=f[w>>2]|0;f[d>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;e=h;h=h+((1*((f[b>>2]|0)+(f[w>>2]|0)<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[t+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[e+(f[p>>2]<<2)>>2]=+s[(f[k>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[(f[k>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+((f[b>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=((f[b>>2]|0)-3|0))break;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Or(t,e+(f[p>>2]<<2)|0,g,f[w>>2]|0);s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]+ +s[g>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+1<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+1<<2)>>2]+ +s[g+4>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+2<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+2<<2)>>2]+ +s[g+8>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+3<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+3<<2)>>2]+ +s[g+12>>2];f[p>>2]=(f[p>>2]|0)+4}while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[y>>2]=0;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[w>>2]|0))break;s[y>>2]=+s[y>>2]+ +s[t+(f[v>>2]<<2)>>2]*+s[e+((f[p>>2]|0)+(f[v>>2]|0)<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]+ +s[y>>2];f[p>>2]=(f[p>>2]|0)+1}de(f[d>>2]|0);h=_;return}function Or(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;n=y+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;d=y+28|0;p=y+24|0;v=y+20|0;g=y+16|0;c=y+12|0;b=y+8|0;w=y+4|0;k=y;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;s[g>>2]=0;r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=((f[l>>2]|0)-3|0))break;r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[g>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[d>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[p>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[v>>2];f[u>>2]=(f[u>>2]|0)+4}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[b>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[b>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[b>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[b>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[b>>2]*+s[g>>2]}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[w>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[w>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[w>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[w>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[w>>2]*+s[d>>2]}if((f[u>>2]|0)>=(f[l>>2]|0)){h=y;return}r=f[n>>2]|0;f[n>>2]=r+4;s[k>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[k>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[k>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[k>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[k>>2]*+s[p>>2];h=y;return}function Lr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;l=_+60|0;u=_+56|0;c=_+52|0;b=_+48|0;w=_+44|0;k=_+40|0;p=_+32|0;v=_+28|0;d=_+24|0;g=_+8|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_+36>>2]=o;e=f[w>>2]|0;f[d>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;e=h;h=h+((1*((f[b>>2]|0)+(f[w>>2]|0)<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[t+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[e+(f[p>>2]<<2)>>2]=-+s[(f[k>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}while(1){if((f[p>>2]|0)>=((f[b>>2]|0)+(f[w>>2]|0)|0))break;s[e+(f[p>>2]<<2)>>2]=0;f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=((f[b>>2]|0)-3|0))break;s[g>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];s[g+4>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+1<<2)>>2];s[g+8>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+2<<2)>>2];s[g+12>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+3<<2)>>2];Or(t,e+(f[p>>2]<<2)|0,g,f[w>>2]|0);s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=-+s[g>>2];s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[g>>2];s[g+4>>2]=+s[g+4>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[f[u>>2]>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]=-+s[g+4>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+1<<2)>>2]=+s[g+4>>2];s[g+8>>2]=+s[g+8>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]*+s[f[u>>2]>>2];s[g+8>>2]=+s[g+8>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[(f[u>>2]|0)+4>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+2<<2)>>2]=-+s[g+8>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+2<<2)>>2]=+s[g+8>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+2<<2)>>2]*+s[f[u>>2]>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]*+s[(f[u>>2]|0)+4>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[(f[u>>2]|0)+8>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+3<<2)>>2]=-+s[g+12>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+3<<2)>>2]=+s[g+12>>2];f[p>>2]=(f[p>>2]|0)+4}while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[y>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[w>>2]|0))break;s[y>>2]=+s[y>>2]-+s[t+(f[v>>2]<<2)>>2]*+s[e+((f[p>>2]|0)+(f[v>>2]|0)<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=+s[y>>2];s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[y>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[(f[k>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[c>>2]|0)+((f[b>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}de(f[d>>2]|0);h=_;return}function Pr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+64|0;u=S+52|0;k=S+48|0;c=S+44|0;b=S+40|0;d=S+36|0;p=S+32|0;w=S+28|0;g=S+24|0;_=S+20|0;m=S+16|0;y=S+12|0;E=S+8|0;A=S+4|0;v=S;f[u>>2]=e;f[k>>2]=r;f[c>>2]=i;f[b>>2]=t;f[d>>2]=n;f[p>>2]=a;f[w>>2]=o;f[y>>2]=(f[p>>2]|0)-(f[d>>2]|0);e=f[p>>2]|0;f[v>>2]=he()|0;r=h;h=h+((1*(e<<2)|0)+15&-16)|0;if(!(f[b>>2]|0))f[A>>2]=f[u>>2];else{f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[p>>2]|0))break;s[r+(f[_>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[_>>2]<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[b>>2]|0))break;s[r+(f[_>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[_>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[_>>2]<<2)>>2];s[r+((f[p>>2]|0)-(f[_>>2]|0)-1<<2)>>2]=+s[(f[u>>2]|0)+((f[p>>2]|0)-(f[_>>2]|0)-1<<2)>>2]*+s[(f[c>>2]|0)+(f[_>>2]<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[A>>2]=r}f[E>>2]=0;yr(f[A>>2]|0,f[A>>2]|0,f[k>>2]|0,f[y>>2]|0,(f[d>>2]|0)+1|0,f[w>>2]|0);f[m>>2]=0;while(1){if((f[m>>2]|0)>(f[d>>2]|0))break;f[_>>2]=(f[m>>2]|0)+(f[y>>2]|0);s[g>>2]=0;while(1){l=+s[g>>2];if((f[_>>2]|0)>=(f[p>>2]|0))break;s[g>>2]=l+ +s[(f[A>>2]|0)+(f[_>>2]<<2)>>2]*+s[(f[A>>2]|0)+((f[_>>2]|0)-(f[m>>2]|0)<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}w=(f[k>>2]|0)+(f[m>>2]<<2)|0;s[w>>2]=+s[w>>2]+l;f[m>>2]=(f[m>>2]|0)+1}A=f[E>>2]|0;de(f[v>>2]|0);h=S;return A|0}function Ir(e,r,i,t,n,a,o,l,u,c,b,w,k,d,p,v,g){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;var y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0;Q=h;h=h+224|0;S=Q+216|0;R=Q+212|0;I=Q+208|0;E=Q+204|0;C=Q+200|0;U=Q+196|0;B=Q+192|0;j=Q+188|0;D=Q+184|0;N=Q+180|0;T=Q+176|0;_=Q+172|0;ee=Q+168|0;M=Q+164|0;x=Q+160|0;m=Q+156|0;O=Q+152|0;q=Q+148|0;V=Q+144|0;H=Q+96|0;X=Q+92|0;F=Q+88|0;W=Q+84|0;J=Q+80|0;L=Q+76|0;Z=Q+72|0;Y=Q+24|0;$=Q+20|0;K=Q+16|0;G=Q+12|0;A=Q+8|0;z=Q+4|0;P=Q;f[S>>2]=e;f[R>>2]=r;f[I>>2]=i;f[E>>2]=t;f[C>>2]=n;f[U>>2]=a;f[B>>2]=o;f[j>>2]=l;f[D>>2]=u;f[N>>2]=c;f[T>>2]=b;f[_>>2]=w;f[ee>>2]=k;f[M>>2]=d;f[x>>2]=p;f[m>>2]=v;f[O>>2]=g;f[F>>2]=0;if(!(f[ee>>2]|0))if(!(f[x>>2]|0)?+s[f[M>>2]>>2]>+(re(f[N>>2]<<1,(f[I>>2]|0)-(f[R>>2]|0)|0)|0):0)c=(f[_>>2]|0)>(re((f[I>>2]|0)-(f[R>>2]|0)|0,f[N>>2]|0)|0);else c=0;else c=1;f[q>>2]=c&1;f[W>>2]=~~(+((f[B>>2]|0)>>>0)*+s[f[M>>2]>>2]*+(f[m>>2]|0)/+(f[N>>2]<<9|0));s[J>>2]=+Cr(f[C>>2]|0,f[U>>2]|0,f[R>>2]|0,f[E>>2]|0,f[(f[S>>2]|0)+8>>2]|0,f[N>>2]|0);f[X>>2]=Ur(f[D>>2]|0)|0;if(((f[X>>2]|0)+3|0)>>>0>(f[B>>2]|0)>>>0){f[q>>2]=0;f[x>>2]=0}s[V>>2]=16;if(((f[I>>2]|0)-(f[R>>2]|0)|0)>10){if(+s[V>>2]<+(f[_>>2]|0)*.125)y=+s[V>>2];else y=+(f[_>>2]|0)*.125;s[V>>2]=y}if(f[O>>2]|0)s[V>>2]=3;d=H;n=f[D>>2]|0;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));ee=re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[L>>2]=he()|0;b=h;h=h+((1*(ee<<2)|0)+15&-16)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;o=h;h=h+((1*ee|0)+15&-16)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(b|0,f[U>>2]|0,ee+0|0)|0;if((f[x>>2]|0)!=0|(f[q>>2]|0)!=0)f[F>>2]=Br(f[S>>2]|0,f[R>>2]|0,f[I>>2]|0,f[C>>2]|0,b,f[B>>2]|0,f[X>>2]|0,26384+((f[T>>2]|0)*84|0)+42|0,o,f[D>>2]|0,f[N>>2]|0,f[T>>2]|0,1,+s[V>>2],f[O>>2]|0)|0;if(f[q>>2]|0){ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[U>>2]|0,b|0,ee+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[j>>2]|0,o|0,ee+0|0)|0}else{f[$>>2]=Le(f[D>>2]|0)|0;d=Y;n=f[D>>2]|0;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));f[K>>2]=jr(H)|0;f[G>>2]=jr(Y)|0;d=Dr(Y)|0;f[Z>>2]=d+(f[K>>2]|0);d=(f[G>>2]|0)-(f[K>>2]|0)|0;f[A>>2]=d;f[A>>2]=(f[A>>2]|0)==0?1:d;d=f[A>>2]|0;f[P>>2]=he()|0;c=h;h=h+((1*d|0)+15&-16)|0;gs(c|0,f[Z>>2]|0,(f[G>>2]|0)-(f[K>>2]|0)+0|0)|0;d=f[D>>2]|0;n=H;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));f[z>>2]=Br(f[S>>2]|0,f[R>>2]|0,f[I>>2]|0,f[C>>2]|0,f[U>>2]|0,f[B>>2]|0,f[X>>2]|0,26384+((f[T>>2]|0)*84|0)+((f[q>>2]|0)*42|0)|0,f[j>>2]|0,f[D>>2]|0,f[N>>2]|0,f[T>>2]|0,0,+s[V>>2],f[O>>2]|0)|0;do{if(f[x>>2]|0){if((f[F>>2]|0)>=(f[z>>2]|0)){if((f[F>>2]|0)!=(f[z>>2]|0))break;ee=Le(f[D>>2]|0)|0;if((ee+(f[W>>2]|0)|0)<=(f[$>>2]|0))break}d=f[D>>2]|0;n=Y;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));gs(f[Z>>2]|0,c|0,(f[G>>2]|0)-(f[K>>2]|0)+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[U>>2]|0,b|0,ee+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[j>>2]|0,o|0,ee+0|0)|0;f[q>>2]=1}}while(0);de(f[P>>2]|0)}if(f[q>>2]|0){s[f[M>>2]>>2]=+s[J>>2];ee=f[L>>2]|0;de(ee|0);h=Q;return}else{s[f[M>>2]>>2]=+s[17580+(f[T>>2]<<2)>>2]*+s[17580+(f[T>>2]<<2)>>2]*+s[f[M>>2]>>2]+ +s[J>>2];ee=f[L>>2]|0;de(ee|0);h=Q;return}}function Cr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;o=g+36|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;v=g+8|0;p=g+4|0;d=g;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;s[p>>2]=0;f[k>>2]=0;do{f[v>>2]=f[u>>2];while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;r=(f[v>>2]|0)+(re(f[k>>2]|0,f[b>>2]|0)|0)|0;i=(f[v>>2]|0)+(re(f[k>>2]|0,f[b>>2]|0)|0)|0;s[d>>2]=+s[(f[o>>2]|0)+(r<<2)>>2]-+s[(f[l>>2]|0)+(i<<2)>>2];s[p>>2]=+s[p>>2]+ +s[d>>2]*+s[d>>2];f[v>>2]=(f[v>>2]|0)+1}i=(f[k>>2]|0)+1|0;f[k>>2]=i}while((i|0)<(f[w>>2]|0));h=g;return+(200<+s[p>>2]?200:+s[p>>2])}function Ur(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Br(e,r,i,t,n,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=+p;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0;$=h;h=h+128|0;_=$+124|0;m=$+120|0;R=$+116|0;T=$+112|0;M=$+108|0;x=$+104|0;O=$+100|0;L=$+96|0;P=$+92|0;I=$+88|0;E=$+84|0;g=$+80|0;y=$+76|0;A=$+72|0;S=$+68|0;H=$+64|0;j=$+60|0;C=$+56|0;Z=$+48|0;D=$+44|0;U=$+40|0;B=$+36|0;J=$+32|0;G=$+28|0;V=$+24|0;X=$+20|0;F=$+16|0;K=$+12|0;q=$+8|0;N=$+4|0;W=$;f[_>>2]=e;f[m>>2]=r;f[R>>2]=i;f[T>>2]=t;f[M>>2]=n;f[x>>2]=o;f[O>>2]=l;f[L>>2]=u;f[P>>2]=c;f[I>>2]=b;f[E>>2]=w;f[g>>2]=k;f[y>>2]=d;s[A>>2]=p;f[S>>2]=v;f[C>>2]=0;f[Z>>2]=0;f[Z+4>>2]=0;if(((f[O>>2]|0)+3|0)<=(f[x>>2]|0))Xe(f[I>>2]|0,f[y>>2]|0,3);if(f[y>>2]|0){s[D>>2]=0;s[U>>2]=.149993896484375}else{s[U>>2]=+s[17564+(f[g>>2]<<2)>>2];s[D>>2]=+s[17580+(f[g>>2]<<2)>>2]}f[H>>2]=f[m>>2];while(1){if((f[H>>2]|0)>=(f[R>>2]|0))break;f[j>>2]=0;do{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[X>>2]=+s[(f[T>>2]|0)+(l<<2)>>2];l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;if(-9>+s[(f[M>>2]|0)+(l<<2)>>2])p=-9;else{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;p=+s[(f[M>>2]|0)+(l<<2)>>2]}s[q>>2]=p;s[F>>2]=+s[X>>2]-+s[D>>2]*+s[q>>2]-+s[Z+(f[j>>2]<<2)>>2];f[J>>2]=~~+z(+(+s[F>>2]+.5));l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;if(-28>+s[(f[M>>2]|0)+(l<<2)>>2])p=-28;else{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;p=+s[(f[M>>2]|0)+(l<<2)>>2]}s[N>>2]=p-+s[A>>2];if((f[J>>2]|0)<0?+s[X>>2]<+s[N>>2]:0){l=(f[J>>2]|0)+~~(+s[N>>2]-+s[X>>2])|0;f[J>>2]=l;f[J>>2]=(f[J>>2]|0)>0?0:l}f[G>>2]=f[J>>2];f[O>>2]=Ur(f[I>>2]|0)|0;f[B>>2]=(f[x>>2]|0)-(f[O>>2]|0)-(re((f[E>>2]|0)*3|0,(f[R>>2]|0)-(f[H>>2]|0)|0)|0);if((f[B>>2]|0)<30?(f[H>>2]|0)!=(f[m>>2]|0):0){if((f[B>>2]|0)<24)f[J>>2]=1<(f[J>>2]|0)?1:f[J>>2]|0;if((f[B>>2]|0)<16)f[J>>2]=-1>(f[J>>2]|0)?-1:f[J>>2]|0}if((f[S>>2]|0)!=0&(f[H>>2]|0)>=2)f[J>>2]=(f[J>>2]|0)<0?f[J>>2]|0:0;do{if(((f[x>>2]|0)-(f[O>>2]|0)|0)<15)if(((f[x>>2]|0)-(f[O>>2]|0)|0)<2)if(((f[x>>2]|0)-(f[O>>2]|0)|0)>=1){f[J>>2]=0<(f[J>>2]|0)?0:f[J>>2]|0;Xe(f[I>>2]|0,0-(f[J>>2]|0)|0,1);break}else{f[J>>2]=-1;break}else{if(-1>(((f[J>>2]|0)<1?f[J>>2]|0:1)|0))g=-1;else g=(f[J>>2]|0)<1?f[J>>2]|0:1;f[J>>2]=g;$e(f[I>>2]|0,f[J>>2]<<1^0-((f[J>>2]|0)<0&1),26720,2);break}else{f[W>>2]=((f[H>>2]|0)<20?f[H>>2]|0:20)<<1;hr(f[I>>2]|0,J,(a[(f[L>>2]|0)+(f[W>>2]|0)>>0]|0)<<7,(a[(f[L>>2]|0)+((f[W>>2]|0)+1)>>0]|0)<<6)}}while(0);l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[(f[P>>2]|0)+(l<<2)>>2]=+s[F>>2]-+(f[J>>2]|0);l=Y((f[G>>2]|0)-(f[J>>2]|0)|0)|0;f[C>>2]=(f[C>>2]|0)+l;s[V>>2]=+(f[J>>2]|0);s[K>>2]=+s[D>>2]*+s[q>>2]+ +s[Z+(f[j>>2]<<2)>>2]+ +s[V>>2];l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[(f[M>>2]|0)+(l<<2)>>2]=+s[K>>2];s[Z+(f[j>>2]<<2)>>2]=+s[Z+(f[j>>2]<<2)>>2]+ +s[V>>2]-+s[U>>2]*+s[V>>2];l=(f[j>>2]|0)+1|0;f[j>>2]=l}while((l|0)<(f[E>>2]|0));f[H>>2]=(f[H>>2]|0)+1}h=$;return(f[S>>2]|0?0:f[C>>2]|0)|0}function jr(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+24>>2]|0}function Dr(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[f[r>>2]>>2]|0}function Nr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+64|0;c=A+44|0;S=A+40|0;b=A+36|0;w=A+32|0;k=A+28|0;d=A+24|0;p=A+20|0;v=A+16|0;_=A+12|0;g=A+8|0;y=A+48|0;E=A+4|0;m=A;f[c>>2]=e;f[S>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[v>>2]=u;f[_>>2]=f[S>>2];while(1){if((f[_>>2]|0)>=(f[b>>2]|0))break;n[y>>1]=1<>2]|0)+(f[_>>2]<<2)>>2];if((f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0)>0){f[g>>2]=0;do{S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;f[E>>2]=~~+z(+((+s[(f[k>>2]|0)+(S<<2)>>2]+.5)*+(n[y>>1]|0)));if((f[E>>2]|0)>((n[y>>1]|0)-1|0))f[E>>2]=(n[y>>1]|0)-1;if((f[E>>2]|0)<0)f[E>>2]=0;er(f[p>>2]|0,f[E>>2]|0,f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0);s[m>>2]=(+(f[E>>2]|0)+.5)*+(1<<14-(f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0)|0)*6103515625e-14-.5;S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;S=(f[w>>2]|0)+(S<<2)|0;s[S>>2]=+s[S>>2]+ +s[m>>2];S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;S=(f[k>>2]|0)+(S<<2)|0;s[S>>2]=+s[S>>2]-+s[m>>2];S=(f[g>>2]|0)+1|0;f[g>>2]=S}while((S|0)<(f[v>>2]|0))}f[_>>2]=(f[_>>2]|0)+1}h=A;return}function Fr(e,r,i,t,n,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+64|0;b=M+56|0;w=M+52|0;k=M+48|0;d=M+44|0;p=M+40|0;v=M+36|0;g=M+32|0;y=M+28|0;_=M+24|0;m=M+20|0;A=M+16|0;R=M+12|0;E=M+8|0;T=M+4|0;S=M;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=n;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[_>>2]=u;f[m>>2]=c;f[R>>2]=0;while(1){if((f[R>>2]|0)>=2)break;f[A>>2]=f[w>>2];while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;if((f[y>>2]|0)<(f[m>>2]|0))break;if((f[(f[v>>2]|0)+(f[A>>2]<<2)>>2]|0)<8?(f[(f[g>>2]|0)+(f[A>>2]<<2)>>2]|0)==(f[R>>2]|0):0){f[E>>2]=0;do{r=(f[A>>2]|0)+(re(f[E>>2]|0,f[(f[b>>2]|0)+8>>2]|0)|0)|0;f[T>>2]=+s[(f[p>>2]|0)+(r<<2)>>2]<0?0:1;er(f[_>>2]|0,f[T>>2]|0,1);s[S>>2]=(+(f[T>>2]|0)-.5)*+(1<<14-(f[(f[v>>2]|0)+(f[A>>2]<<2)>>2]|0)-1|0)*6103515625e-14;r=(f[A>>2]|0)+(re(f[E>>2]|0,f[(f[b>>2]|0)+8>>2]|0)|0)|0;r=(f[d>>2]|0)+(r<<2)|0;s[r>>2]=+s[r>>2]+ +s[S>>2];f[y>>2]=(f[y>>2]|0)+-1;r=(f[E>>2]|0)+1|0;f[E>>2]=r}while((r|0)<(f[m>>2]|0))}f[A>>2]=(f[A>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}h=M;return}function zr(e,r,i,t,n,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;P=h;h=h+96|0;k=P+80|0;b=P+76|0;d=P+72|0;p=P+68|0;I=P+64|0;v=P+60|0;g=P+56|0;w=P+52|0;T=P+48|0;A=P+44|0;m=P+40|0;R=P+32|0;E=P+28|0;y=P+24|0;_=P+20|0;O=P+16|0;x=P+12|0;M=P+8|0;L=P+4|0;S=P;f[k>>2]=e;f[b>>2]=r;f[d>>2]=i;f[p>>2]=t;f[I>>2]=n;f[v>>2]=o;f[g>>2]=l;f[w>>2]=u;f[T>>2]=26384+((f[w>>2]|0)*84|0)+((f[I>>2]|0)*42|0);f[R>>2]=0;f[R+4>>2]=0;if(f[I>>2]|0){s[E>>2]=0;s[y>>2]=.149993896484375}else{s[y>>2]=+s[17564+(f[w>>2]<<2)>>2];s[E>>2]=+s[17580+(f[w>>2]<<2)>>2]}f[_>>2]=f[(f[v>>2]|0)+4>>2]<<3;f[A>>2]=f[b>>2];while(1){if((f[A>>2]|0)>=(f[d>>2]|0))break;f[m>>2]=0;do{f[O>>2]=Ur(f[v>>2]|0)|0;do{if(((f[_>>2]|0)-(f[O>>2]|0)|0)<15){if(((f[_>>2]|0)-(f[O>>2]|0)|0)>=2){f[x>>2]=Fe(f[v>>2]|0,26720,2)|0;f[x>>2]=f[x>>2]>>1^0-(f[x>>2]&1);break}if(((f[_>>2]|0)-(f[O>>2]|0)|0)>=1){f[x>>2]=0-(Ne(f[v>>2]|0,1)|0);break}else{f[x>>2]=-1;break}}else{f[S>>2]=((f[A>>2]|0)<20?f[A>>2]|0:20)<<1;f[x>>2]=br(f[v>>2]|0,(a[(f[T>>2]|0)+(f[S>>2]|0)>>0]|0)<<7,(a[(f[T>>2]|0)+((f[S>>2]|0)+1)>>0]|0)<<6)|0}}while(0);s[M>>2]=+(f[x>>2]|0);I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;if(-9>+s[(f[p>>2]|0)+(I<<2)>>2])c=-9;else{I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;c=+s[(f[p>>2]|0)+(I<<2)>>2]}I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[(f[p>>2]|0)+(I<<2)>>2]=c;I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[L>>2]=+s[E>>2]*+s[(f[p>>2]|0)+(I<<2)>>2]+ +s[R+(f[m>>2]<<2)>>2]+ +s[M>>2];I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[(f[p>>2]|0)+(I<<2)>>2]=+s[L>>2];s[R+(f[m>>2]<<2)>>2]=+s[R+(f[m>>2]<<2)>>2]+ +s[M>>2]-+s[y>>2]*+s[M>>2];I=(f[m>>2]|0)+1|0;f[m>>2]=I}while((I|0)<(f[g>>2]|0));f[A>>2]=(f[A>>2]|0)+1}h=P;return}function Yr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;l=y+40|0;_=y+36|0;u=y+32|0;c=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;p=y+12|0;d=y+8|0;g=y+4|0;v=y;f[l>>2]=e;f[_>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[p>>2]=f[_>>2];while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;if((f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)>0){f[d>>2]=0;do{f[g>>2]=Ye(f[w>>2]|0,f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)|0;s[v>>2]=(+(f[g>>2]|0)+.5)*+(1<<14-(f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)|0)*6103515625e-14-.5;_=(f[p>>2]|0)+(re(f[d>>2]|0,f[(f[l>>2]|0)+8>>2]|0)|0)|0;_=(f[c>>2]|0)+(_<<2)|0;s[_>>2]=+s[_>>2]+ +s[v>>2];_=(f[d>>2]|0)+1|0;f[d>>2]=_}while((_|0)<(f[k>>2]|0))}f[p>>2]=(f[p>>2]|0)+1}h=y;return}function Hr(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+64|0;c=R+52|0;b=R+48|0;w=R+44|0;k=R+40|0;d=R+36|0;p=R+32|0;v=R+28|0;g=R+24|0;y=R+20|0;m=R+16|0;A=R+12|0;_=R+8|0;S=R+4|0;E=R;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[A>>2]=0;while(1){if((f[A>>2]|0)>=2)break;f[m>>2]=f[b>>2];while(1){if((f[m>>2]|0)>=(f[w>>2]|0))break;if((f[v>>2]|0)<(f[y>>2]|0))break;if((f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]|0)<8?(f[(f[p>>2]|0)+(f[m>>2]<<2)>>2]|0)==(f[A>>2]|0):0){f[_>>2]=0;do{f[S>>2]=Ye(f[g>>2]|0,1)|0;s[E>>2]=(+(f[S>>2]|0)-.5)*+(1<<14-(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]|0)-1|0)*6103515625e-14;r=(f[m>>2]|0)+(re(f[_>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;r=(f[k>>2]|0)+(r<<2)|0;s[r>>2]=+s[r>>2]+ +s[E>>2];f[v>>2]=(f[v>>2]|0)+-1;r=(f[_>>2]|0)+1|0;f[_>>2]=r}while((r|0)<(f[y>>2]|0))}f[m>>2]=(f[m>>2]|0)+1}f[A>>2]=(f[A>>2]|0)+1}h=R;return}function qr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+32|0;o=p+28|0;l=p+24|0;u=p+20|0;c=p+16|0;b=p+12|0;w=p+8|0;k=p+4|0;d=p;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=0;do{f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[l>>2]|0))break;e=(f[d>>2]|0)+(re(f[k>>2]|0,f[(f[o>>2]|0)+8>>2]|0)|0)|0;v=+Q(+ +s[(f[c>>2]|0)+(e<<2)>>2])*1.4426950408889634;e=(f[d>>2]|0)+(re(f[k>>2]|0,f[(f[o>>2]|0)+8>>2]|0)|0)|0;s[(f[b>>2]|0)+(e<<2)>>2]=v-+s[17464+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}f[d>>2]=f[l>>2];while(1){a=f[k>>2]|0;if((f[d>>2]|0)>=(f[u>>2]|0))break;e=re(a,f[(f[o>>2]|0)+8>>2]|0)|0;s[(f[b>>2]|0)+(e+(f[d>>2]|0)<<2)>>2]=-14;f[d>>2]=(f[d>>2]|0)+1}e=a+1|0;f[k>>2]=e}while((e|0)<(f[w>>2]|0));h=p;return}function Wr(e,r,i,t,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0;oe=h;h=h+160|0;x=oe+144|0;O=oe+140|0;z=oe+136|0;Y=oe+132|0;H=oe+128|0;E=oe+124|0;q=oe+120|0;W=oe+116|0;Z=oe+112|0;V=oe+108|0;L=oe+104|0;P=oe+100|0;I=oe+96|0;C=oe+92|0;U=oe+88|0;B=oe+84|0;j=oe+80|0;D=oe+76|0;N=oe+72|0;ne=oe+68|0;Q=oe+64|0;te=oe+60|0;ie=oe+56|0;X=oe+52|0;ae=oe+48|0;fe=oe+44|0;ee=oe+40|0;$=oe+36|0;F=oe+32|0;R=oe+28|0;M=oe+24|0;T=oe+20|0;S=oe+16|0;A=oe+12|0;G=oe+8|0;K=oe+4|0;J=oe;f[x>>2]=e;f[O>>2]=r;f[z>>2]=i;f[Y>>2]=t;f[H>>2]=o;f[E>>2]=l;f[q>>2]=s;f[W>>2]=u;f[Z>>2]=c;f[V>>2]=b;f[L>>2]=w;f[P>>2]=k;f[I>>2]=d;f[C>>2]=p;f[U>>2]=v;f[B>>2]=g;f[j>>2]=y;f[D>>2]=_;f[N>>2]=m;f[Z>>2]=(f[Z>>2]|0)>0?f[Z>>2]|0:0;f[te>>2]=f[(f[x>>2]|0)+8>>2];f[ae>>2]=f[O>>2];f[fe>>2]=(f[Z>>2]|0)>=8?8:0;f[Z>>2]=(f[Z>>2]|0)-(f[fe>>2]|0);f[$>>2]=0;f[ee>>2]=0;do{if((f[C>>2]|0)==2){f[ee>>2]=a[26723+((f[z>>2]|0)-(f[O>>2]|0))>>0];if((f[ee>>2]|0)>(f[Z>>2]|0)){f[ee>>2]=0;break}else{f[Z>>2]=(f[Z>>2]|0)-(f[ee>>2]|0);f[$>>2]=(f[Z>>2]|0)>=8?8:0;f[Z>>2]=(f[Z>>2]|0)-(f[$>>2]|0);break}}}while(0);l=f[te>>2]|0;f[F>>2]=he()|0;v=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;b=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;o=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;f[ie>>2]=f[O>>2];while(1){if((f[ie>>2]|0)>=(f[z>>2]|0))break;if((f[C>>2]<<3|0)>(((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4|0))p=f[C>>2]<<3;else p=((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4;f[b+(f[ie>>2]<<2)>>2]=p;c=re(f[C>>2]|0,(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)|0;c=re(c,(f[E>>2]|0)-5-(f[U>>2]|0)|0)|0;c=re(c,(f[z>>2]|0)-(f[ie>>2]|0)-1|0)|0;c=(re(c,1<<(f[U>>2]|0)+3)|0)>>6;f[o+(f[ie>>2]<<2)>>2]=c;if(((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)<>2]|0)==1){c=o+(f[ie>>2]<<2)|0;f[c>>2]=(f[c>>2]|0)-(f[C>>2]<<3)}f[ie>>2]=(f[ie>>2]|0)+1}f[ne>>2]=1;f[Q>>2]=(f[(f[x>>2]|0)+48>>2]|0)-1;do{f[R>>2]=0;f[M>>2]=0;f[T>>2]=(f[ne>>2]|0)+(f[Q>>2]|0)>>1;f[ie>>2]=f[z>>2];while(1){E=f[ie>>2]|0;f[ie>>2]=E+-1;if((E|0)<=(f[O>>2]|0))break;f[A>>2]=(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0);c=re(f[C>>2]|0,f[A>>2]|0)|0;E=re(f[T>>2]|0,f[te>>2]|0)|0;E=re(c,a[(f[(f[x>>2]|0)+52>>2]|0)+(E+(f[ie>>2]|0))>>0]|0)|0;f[S>>2]=E<>2]>>2;if((f[S>>2]|0)>0){if(0>((f[S>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[S>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[S>>2]=p}f[S>>2]=(f[S>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);if(!(f[R>>2]|0?1:(f[S>>2]|0)>=(f[b+(f[ie>>2]<<2)>>2]|0))){if((f[S>>2]|0)<(f[C>>2]<<3|0))continue;f[M>>2]=(f[M>>2]|0)+(f[C>>2]<<3);continue}f[R>>2]=1;if((f[S>>2]|0)<(f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0))p=f[S>>2]|0;else p=f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0;f[M>>2]=(f[M>>2]|0)+p}p=f[T>>2]|0;if((f[M>>2]|0)>(f[Z>>2]|0))f[Q>>2]=p-1;else f[ne>>2]=p+1}while((f[ne>>2]|0)<=(f[Q>>2]|0));M=f[ne>>2]|0;f[ne>>2]=M+-1;f[Q>>2]=M;f[ie>>2]=f[O>>2];while(1){if((f[ie>>2]|0)>=(f[z>>2]|0))break;f[J>>2]=(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0);T=re(f[C>>2]|0,f[J>>2]|0)|0;M=re(f[ne>>2]|0,f[te>>2]|0)|0;M=re(T,a[(f[(f[x>>2]|0)+52>>2]|0)+(M+(f[ie>>2]|0))>>0]|0)|0;f[G>>2]=M<>2]>>2;if((f[Q>>2]|0)>=(f[(f[x>>2]|0)+48>>2]|0))p=f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0;else{M=re(f[C>>2]|0,f[J>>2]|0)|0;p=re(f[Q>>2]|0,f[te>>2]|0)|0;p=re(M,a[(f[(f[x>>2]|0)+52>>2]|0)+(p+(f[ie>>2]|0))>>0]|0)|0;p=p<>2]>>2}f[K>>2]=p;if((f[G>>2]|0)>0){if(0>((f[G>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[G>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[G>>2]=p}if((f[K>>2]|0)>0){if(0>((f[K>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[K>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[K>>2]=p}if((f[ne>>2]|0)>0)f[G>>2]=(f[G>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);f[K>>2]=(f[K>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);if((f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0)>0)f[ae>>2]=f[ie>>2];if(0>((f[K>>2]|0)-(f[G>>2]|0)|0))p=0;else p=(f[K>>2]|0)-(f[G>>2]|0)|0;f[K>>2]=p;f[v+(f[ie>>2]<<2)>>2]=f[G>>2];f[l+(f[ie>>2]<<2)>>2]=f[K>>2];f[ie>>2]=(f[ie>>2]|0)+1}f[X>>2]=Zr(f[x>>2]|0,f[O>>2]|0,f[z>>2]|0,f[ae>>2]|0,v,l,b,f[H>>2]|0,f[Z>>2]|0,f[V>>2]|0,f[fe>>2]|0,f[q>>2]|0,f[ee>>2]|0,f[W>>2]|0,f[$>>2]|0,f[L>>2]|0,f[P>>2]|0,f[I>>2]|0,f[C>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,f[N>>2]|0)|0;ae=f[X>>2]|0;de(f[F>>2]|0);h=oe;return ae|0}function Zr(e,r,i,t,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R,T){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;T=T|0;var M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0;xe=h;h=h+224|0;ne=xe+208|0;ee=xe+204|0;ce=xe+200|0;z=xe+196|0;P=xe+192|0;I=xe+188|0;Y=xe+184|0;be=xe+180|0;X=xe+176|0;we=xe+172|0;j=xe+168|0;fe=xe+164|0;D=xe+160|0;ae=xe+156|0;J=xe+152|0;oe=xe+148|0;le=xe+144|0;se=xe+140|0;ue=xe+136|0;he=xe+132|0;G=xe+128|0;K=xe+124|0;N=xe+120|0;F=xe+116|0;Q=xe+112|0;U=xe+108|0;M=xe+104|0;x=xe+100|0;Se=xe+96|0;Re=xe+92|0;Me=xe+88|0;ye=xe+84|0;H=xe+80|0;ie=xe+76|0;$=xe+72|0;C=xe+68|0;ve=xe+64|0;O=xe+60|0;L=xe+56|0;B=xe+52|0;W=xe+48|0;q=xe+44|0;Z=xe+40|0;te=xe+36|0;de=xe+32|0;ke=xe+28|0;_e=xe+24|0;Te=xe+20|0;pe=xe+16|0;me=xe+12|0;ge=xe+8|0;Ae=xe+4|0;Ee=xe;f[ne>>2]=e;f[ee>>2]=r;f[ce>>2]=i;f[z>>2]=t;f[P>>2]=o;f[I>>2]=l;f[Y>>2]=s;f[be>>2]=u;f[X>>2]=c;f[we>>2]=b;f[j>>2]=w;f[fe>>2]=k;f[D>>2]=d;f[ae>>2]=p;f[J>>2]=v;f[oe>>2]=g;f[le>>2]=y;f[se>>2]=_;f[ue>>2]=m;f[he>>2]=E;f[G>>2]=A;f[K>>2]=S;f[N>>2]=R;f[F>>2]=T;f[ye>>2]=-1;f[H>>2]=f[ue>>2]<<3;f[Me>>2]=(f[ue>>2]|0)>1&1;f[Re>>2]=f[he>>2]<<3;f[U>>2]=0;f[M>>2]=64;f[x>>2]=0;while(1){if((f[x>>2]|0)>=6)break;f[O>>2]=(f[U>>2]|0)+(f[M>>2]|0)>>1;f[Q>>2]=0;f[C>>2]=0;f[Se>>2]=f[ce>>2];while(1){c=f[Se>>2]|0;f[Se>>2]=c+-1;if((c|0)<=(f[ee>>2]|0))break;f[L>>2]=(f[(f[P>>2]|0)+(f[Se>>2]<<2)>>2]|0)+((re(f[O>>2]|0,f[(f[I>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>>6);if(!(f[C>>2]|0?1:(f[L>>2]|0)>=(f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0))){if((f[L>>2]|0)<(f[H>>2]|0))continue;f[Q>>2]=(f[Q>>2]|0)+(f[H>>2]|0);continue}f[C>>2]=1;if((f[L>>2]|0)<(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0))m=f[L>>2]|0;else m=f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0;f[Q>>2]=(f[Q>>2]|0)+m}m=f[O>>2]|0;if((f[Q>>2]|0)>(f[X>>2]|0))f[M>>2]=m;else f[U>>2]=m;f[x>>2]=(f[x>>2]|0)+1}f[Q>>2]=0;f[C>>2]=0;f[Se>>2]=f[ce>>2];while(1){L=f[Se>>2]|0;f[Se>>2]=L+-1;if((L|0)<=(f[ee>>2]|0))break;f[B>>2]=(f[(f[P>>2]|0)+(f[Se>>2]<<2)>>2]|0)+((re(f[U>>2]|0,f[(f[I>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>>6);do{if(!(f[C>>2]|0?1:(f[B>>2]|0)>=(f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0)))if((f[B>>2]|0)>=(f[H>>2]|0)){f[B>>2]=f[H>>2];break}else{f[B>>2]=0;break}else f[C>>2]=1}while(0);if((f[B>>2]|0)<(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0))m=f[B>>2]|0;else m=f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0;f[B>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=f[B>>2];f[Q>>2]=(f[Q>>2]|0)+(f[B>>2]|0)}f[ye>>2]=f[ce>>2];while(1){f[Se>>2]=(f[ye>>2]|0)-1;if((f[Se>>2]|0)<=(f[z>>2]|0)){V=29;break}f[ie>>2]=(f[X>>2]|0)-(f[Q>>2]|0);f[$>>2]=Vr(f[ie>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0)|0;B=re((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0,f[$>>2]|0)|0;f[ie>>2]=(f[ie>>2]|0)-B;if(((f[ie>>2]|0)-((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0))|0)>0)m=(f[ie>>2]|0)-((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0))|0;else m=0;f[Z>>2]=m;f[W>>2]=(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0);B=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(re(f[$>>2]|0,f[W>>2]|0)|0)|0;f[q>>2]=B+(f[Z>>2]|0);if((f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0)>((f[H>>2]|0)+8|0))m=f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0;else m=(f[H>>2]|0)+8|0;if((f[q>>2]|0)>=(m|0)){if(!(f[K>>2]|0)){if(Ne(f[G>>2]|0,1)|0)break}else{if((f[ye>>2]|0)<=((f[ee>>2]|0)+2|0)){V=40;break}B=re((f[Se>>2]|0)<(f[N>>2]|0)?7:9,f[W>>2]|0)|0;if((f[q>>2]|0)>(B<>2]<<3>>4|0)?(f[Se>>2]|0)<=(f[F>>2]|0):0){V=40;break}Xe(f[G>>2]|0,0,1)}f[Q>>2]=(f[Q>>2]|0)+8;f[q>>2]=(f[q>>2]|0)-8}f[Q>>2]=(f[Q>>2]|0)-((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[D>>2]|0));if((f[D>>2]|0)>0)f[D>>2]=a[26723+((f[Se>>2]|0)-(f[ee>>2]|0))>>0];f[Q>>2]=(f[Q>>2]|0)+(f[D>>2]|0);if((f[q>>2]|0)>=(f[H>>2]|0)){f[Q>>2]=(f[Q>>2]|0)+(f[H>>2]|0);f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=f[H>>2]}else f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[ye>>2]=(f[ye>>2]|0)+-1}if((V|0)==29)f[X>>2]=(f[X>>2]|0)+(f[j>>2]|0);else if((V|0)==40)Xe(f[G>>2]|0,1,1);do{if((f[D>>2]|0)>0){if(!(f[K>>2]|0)){V=f[ee>>2]|0;V=V+(ze(f[G>>2]|0,(f[ye>>2]|0)+1-(f[ee>>2]|0)|0)|0)|0;f[f[fe>>2]>>2]=V;break}if((f[f[fe>>2]>>2]|0)<(f[ye>>2]|0))m=f[f[fe>>2]>>2]|0;else m=f[ye>>2]|0;f[f[fe>>2]>>2]=m;Qe(f[G>>2]|0,(f[f[fe>>2]>>2]|0)-(f[ee>>2]|0)|0,(f[ye>>2]|0)+1-(f[ee>>2]|0)|0)}else f[f[fe>>2]>>2]=0}while(0);if((f[f[fe>>2]>>2]|0)<=(f[ee>>2]|0)){f[X>>2]=(f[X>>2]|0)+(f[J>>2]|0);f[J>>2]=0}do{if((f[J>>2]|0)>0){m=f[G>>2]|0;if(f[K>>2]|0){Xe(m,f[f[ae>>2]>>2]|0,1);break}else{K=Ne(m,1)|0;f[f[ae>>2]>>2]=K;break}}else f[f[ae>>2]>>2]=0}while(0);f[ie>>2]=(f[X>>2]|0)-(f[Q>>2]|0);f[$>>2]=Vr(f[ie>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0)|0;Q=re((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0,f[$>>2]|0)|0;f[ie>>2]=(f[ie>>2]|0)-Q;f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;X=re(f[$>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0)|0;Q=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[Q>>2]=(f[Q>>2]|0)+X;f[Se>>2]=(f[Se>>2]|0)+1}f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;if((f[ie>>2]|0)<((n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0))m=f[ie>>2]|0;else m=(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0;f[te>>2]=m;Q=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(f[te>>2]|0);f[ie>>2]=(f[ie>>2]|0)-(f[te>>2]|0);f[Se>>2]=(f[Se>>2]|0)+1}f[ve>>2]=0;f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;f[de>>2]=(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0);f[ke>>2]=f[de>>2]<>2];f[ge>>2]=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[ve>>2]|0);m=f[ge>>2]|0;if((f[ke>>2]|0)>1){if((m-(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>0)m=(f[ge>>2]|0)-(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;else m=0;f[me>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=(f[ge>>2]|0)-(f[me>>2]|0);m=re(f[ue>>2]|0,f[ke>>2]|0)|0;if((f[ue>>2]|0)==2&(f[ke>>2]|0)>2?!(f[f[ae>>2]>>2]|0):0)E=(f[Se>>2]|0)<(f[f[fe>>2]>>2]|0);else E=0;f[_e>>2]=m+(E?1:0);f[pe>>2]=re(f[_e>>2]|0,(n[(f[(f[ne>>2]|0)+56>>2]|0)+(f[Se>>2]<<1)>>1]|0)+(f[Re>>2]|0)|0)|0;f[Te>>2]=(f[pe>>2]>>1)-((f[_e>>2]|0)*21|0);if((f[ke>>2]|0)==2)f[Te>>2]=(f[Te>>2]|0)+(f[_e>>2]<<3>>2);if(((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)>=(f[_e>>2]<<1<<3|0)){if(((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)<((f[_e>>2]|0)*3<<3|0))f[Te>>2]=(f[Te>>2]|0)+(f[pe>>2]>>3)}else f[Te>>2]=(f[Te>>2]|0)+(f[pe>>2]>>2);if(0>((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)+(f[_e>>2]<<2)|0))m=0;else m=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)+(f[_e>>2]<<2)|0;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=m;te=(Vr(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0,f[_e>>2]|0)|0)>>>3;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=te;te=re(f[ue>>2]|0,f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;if((te|0)>(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>3|0))f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>f[Me>>2]>>3;if((f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)<8)m=f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0;else m=8;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=m;ie=re(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0,f[_e>>2]<<3)|0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(ie|0)>=((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)&1;ie=(re(f[ue>>2]|0,f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)<<3;te=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[te>>2]=(f[te>>2]|0)-ie}else{if(0>(m-(f[ue>>2]<<3)|0))m=0;else m=(f[ge>>2]|0)-(f[ue>>2]<<3)|0;f[me>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=(f[ge>>2]|0)-(f[me>>2]|0);f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=1}if((f[me>>2]|0)>0){if((f[me>>2]>>(f[Me>>2]|0)+3|0)<(8-(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0))m=f[me>>2]>>(f[Me>>2]|0)+3;else m=8-(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;f[Ae>>2]=m;te=(f[le>>2]|0)+(f[Se>>2]<<2)|0;f[te>>2]=(f[te>>2]|0)+(f[Ae>>2]|0);f[Ee>>2]=(re(f[Ae>>2]|0,f[ue>>2]|0)|0)<<3;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(f[Ee>>2]|0)>=((f[me>>2]|0)-(f[ve>>2]|0)|0)&1;f[me>>2]=(f[me>>2]|0)-(f[Ee>>2]|0)}f[ve>>2]=f[me>>2];f[Se>>2]=(f[Se>>2]|0)+1}f[f[we>>2]>>2]=f[ve>>2];while(1){if((f[Se>>2]|0)>=(f[ce>>2]|0))break;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>f[Me>>2]>>3;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)<1&1;f[Se>>2]=(f[Se>>2]|0)+1}h=xe;return f[ye>>2]|0}function Vr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Jr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;O=h;h=h+96|0;o=O+84|0;l=O+80|0;u=O+76|0;L=O+72|0;c=O+68|0;b=O+64|0;_=O+60|0;m=O+56|0;S=O+52|0;E=O+48|0;R=O+44|0;M=O+40|0;x=O+36|0;y=O+32|0;w=O+28|0;A=O+24|0;T=O+20|0;v=O+16|0;g=O+12|0;p=O+8|0;k=O+4|0;d=O;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[L>>2]=t;f[c>>2]=n;f[b>>2]=a;n=f[l>>2]|0;f[w>>2]=he()|0;e=h;h=h+((1*(n<<2)|0)+15&-16)|0;n=h;h=h+((1*(f[l>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[l>>2]<<2)|0)+15&-16)|0;Gr(f[o>>2]|0,f[l>>2]|0,1,f[c>>2]|0,f[u>>2]|0,f[L>>2]|0);s[R>>2]=0;f[m>>2]=0;do{r=i+(f[m>>2]<<2)|0;if(+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]>0)s[r>>2]=1;else{s[r>>2]=-1;s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=-+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]}f[n+(f[m>>2]<<2)>>2]=0;s[e+(f[m>>2]<<2)>>2]=0;L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[x>>2]=0;s[M>>2]=0;f[E>>2]=f[u>>2];if((f[u>>2]|0)>(f[l>>2]>>1|0)){f[m>>2]=0;do{s[R>>2]=+s[R>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));if(!(+s[R>>2]>1.0000000036274937e-15&+s[R>>2]<64)){s[f[o>>2]>>2]=1;f[m>>2]=1;do{s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=0;L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[R>>2]=1}s[A>>2]=+((f[u>>2]|0)-1|0)*(1/+s[R>>2]);f[m>>2]=0;do{L=~~+z(+(+s[A>>2]*+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]));f[n+(f[m>>2]<<2)>>2]=L;s[e+(f[m>>2]<<2)>>2]=+(f[n+(f[m>>2]<<2)>>2]|0);s[x>>2]=+s[x>>2]+ +s[e+(f[m>>2]<<2)>>2]*+s[e+(f[m>>2]<<2)>>2];s[M>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]*+s[e+(f[m>>2]<<2)>>2];L=e+(f[m>>2]<<2)|0;s[L>>2]=+s[L>>2]*2;f[E>>2]=(f[E>>2]|0)-(f[n+(f[m>>2]<<2)>>2]|0);L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0))}if((f[E>>2]|0)>((f[l>>2]|0)+3|0)){s[T>>2]=+(f[E>>2]|0);s[x>>2]=+s[x>>2]+ +s[T>>2]*+s[T>>2];s[x>>2]=+s[x>>2]+ +s[T>>2]*+s[e>>2];f[n>>2]=(f[n>>2]|0)+(f[E>>2]|0);f[E>>2]=0}s[S>>2]=1;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[E>>2]|0))break;s[g>>2]=-999999986991104;s[p>>2]=0;f[v>>2]=0;s[x>>2]=+s[x>>2]+1;f[m>>2]=0;do{s[k>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];s[d>>2]=+s[x>>2]+ +s[e+(f[m>>2]<<2)>>2];s[k>>2]=+s[k>>2]*+s[k>>2];if(+s[p>>2]*+s[k>>2]>+s[d>>2]*+s[g>>2]){s[p>>2]=+s[d>>2];s[g>>2]=+s[k>>2];f[v>>2]=f[m>>2]}L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[M>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[v>>2]<<2)>>2];s[x>>2]=+s[x>>2]+ +s[e+(f[v>>2]<<2)>>2];L=e+(f[v>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +s[S>>2]*2;L=n+(f[v>>2]<<2)|0;f[L>>2]=(f[L>>2]|0)+1;f[_>>2]=(f[_>>2]|0)+1}f[m>>2]=0;do{s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=+s[i+(f[m>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];if(+s[i+(f[m>>2]<<2)>>2]<0)f[n+(f[m>>2]<<2)>>2]=0-(f[n+(f[m>>2]<<2)>>2]|0);L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));Te(n,f[l>>2]|0,f[u>>2]|0,f[b>>2]|0);f[y>>2]=$r(n,f[l>>2]|0,f[c>>2]|0)|0;L=f[y>>2]|0;de(f[w>>2]|0);h=O;return L|0}function Gr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+64|0;o=m+48|0;l=m+44|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;v=m+24|0;k=m+20|0;g=m+16|0;p=m+12|0;_=m+8|0;y=m+4|0;d=m;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[y>>2]=0;if((f[w>>2]|0)==0?1:(f[b>>2]<<1|0)>=(f[l>>2]|0)){h=m;return}f[d>>2]=f[17596+((f[w>>2]|0)-1<<2)>>2];s[p>>2]=+(f[l>>2]|0)*1/+((f[l>>2]|0)+(re(f[d>>2]|0,f[b>>2]|0)|0)|0);s[_>>2]=+s[p>>2]*+s[p>>2]*.5;s[k>>2]=+W(+(+s[_>>2]*1.5707963705062866));s[g>>2]=+W(+((1-+s[_>>2])*1.5707963705062866));e:do{if((f[l>>2]|0)>=(f[c>>2]<<3|0)){f[y>>2]=1;while(1){_=re(f[y>>2]|0,f[y>>2]|0)|0;_=re(_+(f[y>>2]|0)|0,f[c>>2]|0)|0;if((_+(f[c>>2]>>2)|0)>=(f[l>>2]|0))break e;f[y>>2]=(f[y>>2]|0)+1}}}while(0);f[l>>2]=Kr(f[l>>2]|0,f[c>>2]|0)|0;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;if((f[u>>2]|0)>=0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,1,+s[k>>2],-+s[g>>2]);if(f[y>>2]|0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,f[y>>2]|0,+s[g>>2],-+s[k>>2])}}else{if(f[y>>2]|0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,f[y>>2]|0,+s[g>>2],+s[k>>2])}_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,1,+s[k>>2],+s[g>>2])}f[v>>2]=(f[v>>2]|0)+1}h=m;return}function Kr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Xr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;w=y+24|0;k=y+20|0;b=y+16|0;d=y+12|0;v=y+8|0;p=y+4|0;g=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[u>>2]=t;s[c>>2]=n;f[b>>2]=f[a>>2];s[k>>2]=-+s[c>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=((f[o>>2]|0)-(f[l>>2]|0)|0))break;s[d>>2]=+s[f[b>>2]>>2];s[v>>2]=+s[(f[b>>2]|0)+(f[l>>2]<<2)>>2];s[(f[b>>2]|0)+(f[l>>2]<<2)>>2]=+s[u>>2]*+s[v>>2]+ +s[c>>2]*+s[d>>2];n=+s[u>>2]*+s[d>>2]+ +s[k>>2]*+s[v>>2];i=f[b>>2]|0;f[b>>2]=i+4;s[i>>2]=n;f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=(f[a>>2]|0)+((f[o>>2]|0)-(f[l>>2]<<1)-1<<2);f[w>>2]=(f[o>>2]|0)-(f[l>>2]<<1)-1;while(1){if((f[w>>2]|0)<0)break;s[p>>2]=+s[f[b>>2]>>2];s[g>>2]=+s[(f[b>>2]|0)+(f[l>>2]<<2)>>2];s[(f[b>>2]|0)+(f[l>>2]<<2)>>2]=+s[u>>2]*+s[g>>2]+ +s[c>>2]*+s[p>>2];n=+s[u>>2]*+s[p>>2]+ +s[k>>2]*+s[g>>2];v=f[b>>2]|0;f[b>>2]=v+-4;s[v>>2]=n;f[w>>2]=(f[w>>2]|0)+-1}h=y;return}function $r(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+48|0;t=w+32|0;n=w+28|0;a=w+24|0;o=w+20|0;s=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[o>>2]|0)<=1){f[t>>2]=1;b=f[t>>2]|0;h=w;return b|0}f[l>>2]=Kr(f[a>>2]|0,f[o>>2]|0)|0;f[s>>2]=0;f[u>>2]=0;do{f[b>>2]=0;f[c>>2]=0;do{e=re(f[u>>2]|0,f[l>>2]|0)|0;f[b>>2]=f[b>>2]|f[(f[n>>2]|0)+(e+(f[c>>2]|0)<<2)>>2];e=(f[c>>2]|0)+1|0;f[c>>2]=e}while((e|0)<(f[l>>2]|0));f[s>>2]=f[s>>2]|((f[b>>2]|0)!=0&1)<>2];e=(f[u>>2]|0)+1|0;f[u>>2]=e}while((e|0)<(f[o>>2]|0));f[t>>2]=f[s>>2];b=f[t>>2]|0;h=w;return b|0}function Qr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=+o;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;l=h;h=h+48|0;p=l+36|0;w=l+32|0;d=l+28|0;k=l+24|0;b=l+20|0;y=l+16|0;v=l+12|0;g=l+8|0;c=l+4|0;u=l;f[p>>2]=e;f[w>>2]=r;f[d>>2]=i;f[k>>2]=t;f[b>>2]=n;f[y>>2]=a;s[v>>2]=o;a=f[w>>2]|0;f[u>>2]=he()|0;t=h;h=h+((1*(a<<2)|0)+15&-16)|0;s[g>>2]=+xe(t,f[w>>2]|0,f[d>>2]|0,f[y>>2]|0);ei(t,f[p>>2]|0,f[w>>2]|0,+s[g>>2],+s[v>>2]);Gr(f[p>>2]|0,f[w>>2]|0,-1,f[b>>2]|0,f[d>>2]|0,f[k>>2]|0);f[c>>2]=$r(t,f[w>>2]|0,f[b>>2]|0)|0;t=f[c>>2]|0;de(f[u>>2]|0);h=l;return t|0}function ei(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;b=h;h=h+32|0;a=b+28|0;o=b+24|0;l=b+20|0;d=b+16|0;w=b+12|0;c=b+8|0;k=b+4|0;u=b;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[d>>2]=t;s[w>>2]=n;s[k>>2]=+s[d>>2];n=1/+H(+ +s[k>>2]);s[u>>2]=n*+s[w>>2];f[c>>2]=0;do{s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]=+s[u>>2]*+(f[(f[a>>2]|0)+(f[c>>2]<<2)>>2]|0);d=(f[c>>2]|0)+1|0;f[c>>2]=d}while((d|0)<(f[l>>2]|0));h=b;return}function ri(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;u=h;h=h+48|0;c=u+32|0;n=u+28|0;b=u+24|0;o=u+16|0;k=u+12|0;a=u+8|0;w=u+4|0;l=u;f[c>>2]=e;f[n>>2]=r;s[b>>2]=i;f[u+20>>2]=t;s[k>>2]=+ii(f[c>>2]|0,f[c>>2]|0,f[n>>2]|0)+1.0000000036274937e-15;s[w>>2]=+s[k>>2];i=1/+H(+ +s[w>>2]);s[a>>2]=i*+s[b>>2];f[l>>2]=f[c>>2];f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;s[f[l>>2]>>2]=+s[a>>2]*+s[f[l>>2]>>2];f[l>>2]=(f[l>>2]|0)+4;f[o>>2]=(f[o>>2]|0)+1}h=u;return}function ii(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function ti(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+64|0;a=g+48|0;o=g+44|0;y=g+40|0;l=g+36|0;b=g+28|0;w=g+24|0;d=g+20|0;v=g+16|0;u=g+12|0;c=g+8|0;k=g+4|0;p=g;f[a>>2]=e;f[o>>2]=r;f[y>>2]=i;f[l>>2]=t;f[g+32>>2]=n;s[c>>2]=1.0000000036274937e-15;s[u>>2]=1.0000000036274937e-15;e:do{if(f[y>>2]|0){f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break e;s[k>>2]=+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]+ +s[(f[o>>2]|0)+(f[b>>2]<<2)>>2];s[p>>2]=+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]-+s[(f[o>>2]|0)+(f[b>>2]<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[p>>2]*+s[p>>2];f[b>>2]=(f[b>>2]|0)+1}}else{_=+ii(f[a>>2]|0,f[a>>2]|0,f[l>>2]|0);s[u>>2]=+s[u>>2]+_;_=+ii(f[o>>2]|0,f[o>>2]|0,f[l>>2]|0);s[c>>2]=+s[c>>2]+_}}while(0);s[d>>2]=+H(+ +s[u>>2]);s[v>>2]=+H(+ +s[c>>2]);f[w>>2]=~~+z(+(+X(+ +s[v>>2],+ +s[d>>2])*10430.3818359375+.5));h=g;return f[w>>2]|0}function ni(e){e=e|0;var r=0,i=0,t=0,a=0,o=0;o=h;h=h+16|0;r=o+12|0;a=o+8|0;t=o+4|0;i=o;f[r>>2]=e;f[t>>2]=32767/((f[(f[r>>2]|0)+2340>>2]|0)+1|0)|0;f[i>>2]=0;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[(f[r>>2]|0)+2340>>2]|0))break;f[i>>2]=(f[i>>2]|0)+(f[t>>2]|0);n[(f[r>>2]|0)+2772+1280+(f[a>>2]<<1)>>1]=f[i>>2];f[a>>2]=(f[a>>2]|0)+1}f[(f[r>>2]|0)+2772+1376>>2]=0;f[(f[r>>2]|0)+2772+1380>>2]=3176576;h=o;return}function fi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;t=g+40|0;a=g+36|0;o=g+32|0;c=g+28|0;l=g+24|0;b=g+20|0;w=g+16|0;s=g+44|0;u=g+12|0;p=g+8|0;d=g+4|0;k=g;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=20)break;f[p>>2]=(n[f[t>>2]>>1]|0)-(n[f[a>>2]>>1]|0);f[l>>2]=0;f[c>>2]=1;while(1){if((f[c>>2]|0)>((f[o>>2]|0)-1|0))break;f[u>>2]=(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0)-((n[(f[t>>2]|0)+((f[c>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[c>>2]<<1)>>1]|0));if((f[u>>2]|0)<(f[p>>2]|0)){f[p>>2]=f[u>>2];f[l>>2]=f[c>>2]}f[c>>2]=(f[c>>2]|0)+1}f[u>>2]=32768-((n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0));if((f[u>>2]|0)<(f[p>>2]|0)){f[p>>2]=f[u>>2];f[l>>2]=f[o>>2]}if((f[p>>2]|0)>=0){v=41;break}do{if(!(f[l>>2]|0))n[f[t>>2]>>1]=n[f[a>>2]>>1]|0;else{if((f[l>>2]|0)==(f[o>>2]|0)){n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=32768-(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);break}f[d>>2]=0;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[d>>2]=(f[d>>2]|0)+(n[(f[a>>2]|0)+(f[b>>2]<<1)>>1]|0);f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);f[k>>2]=32768;f[b>>2]=f[o>>2];while(1){if((f[b>>2]|0)<=(f[l>>2]|0))break;f[k>>2]=(f[k>>2]|0)-(n[(f[a>>2]|0)+(f[b>>2]<<1)>>1]|0);f[b>>2]=(f[b>>2]|0)+-1}f[k>>2]=(f[k>>2]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;do{if((f[d>>2]|0)>(f[k>>2]|0)){if((i|0)>(f[d>>2]|0)){i=f[d>>2]|0;break}if((((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0)<(f[k>>2]|0)){i=f[k>>2]|0;break}else{i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;break}}else{if((i|0)>(f[k>>2]|0)){i=f[k>>2]|0;break}if((((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0)<(f[d>>2]|0)){i=f[d>>2]|0;break}else{i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;break}}}while(0);n[s>>1]=i;n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]=(n[s>>1]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]=(n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]|0)}}while(0);f[w>>2]=(f[w>>2]|0)+1}if((v|0)==41){h=g;return}if((f[w>>2]|0)!=20){h=g;return}Ai(f[t>>2]|0,f[o>>2]|0);v=(ai(n[f[t>>2]>>1]|0,n[f[a>>2]>>1]|0)|0)&65535;n[f[t>>2]>>1]=v;f[c>>2]=1;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;v=(ai(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0,(n[(f[t>>2]|0)+((f[c>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[c>>2]<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]=v;f[c>>2]=(f[c>>2]|0)+1}v=(oi(n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0,32768-(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=v;f[c>>2]=(f[o>>2]|0)-2;while(1){if((f[c>>2]|0)<0)break;v=(oi(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0,(n[(f[t>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)-(n[(f[a>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]=v;f[c>>2]=(f[c>>2]|0)+-1}h=g;return}function ai(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function oi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function li(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;t=c+20|0;a=c+16|0;o=c+12|0;l=c+8|0;s=c+4|0;u=c;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[s>>2]=si(n[f[a>>2]>>1]|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;f[u>>2]=si((n[(f[a>>2]|0)+2>>1]|0)-(n[f[a>>2]>>1]|0)|0,1)|0;f[u>>2]=131072/(f[u>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[f[t>>2]>>1]=r;f[l>>2]=1;while(1){if((f[l>>2]|0)>=((f[o>>2]|0)-1|0))break;f[s>>2]=si((n[(f[a>>2]|0)+((f[l>>2]|0)+1<<1)>>1]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]|0)|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]=r;f[u>>2]=si((n[(f[a>>2]|0)+((f[l>>2]|0)+2<<1)>>1]|0)-(n[(f[a>>2]|0)+((f[l>>2]|0)+1<<1)>>1]|0)|0,1)|0;f[u>>2]=131072/(f[u>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+((f[l>>2]|0)+1<<1)>>1]=r;f[l>>2]=(f[l>>2]|0)+2}f[s>>2]=si(32768-(n[(f[a>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0)|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;u=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=u;h=c;return}function si(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function ui(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function hi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0;c=h;h=h+32|0;a=c+20|0;o=c+16|0;l=c+12|0;s=c+8|0;b=c+4|0;u=c;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[b>>2]=n;vs(f[o>>2]|0,0,300)|0;r=(f[l>>2]|0)!=8e3&(f[l>>2]|0)!=12e3&(f[l>>2]|0)!=16e3;do{if(f[b>>2]|0){if(!(r&(f[l>>2]|0)!=24e3&(f[l>>2]|0)!=48e3)?!((f[s>>2]|0)!=8e3&(f[s>>2]|0)!=12e3&(f[s>>2]|0)!=16e3):0){f[(f[o>>2]|0)+292>>2]=t[30493+((((f[l>>2]>>12)-((f[l>>2]|0)>16e3&1)>>((f[l>>2]|0)>24e3&1))-1|0)*3|0)+(((f[s>>2]>>12)-((f[s>>2]|0)>16e3&1)>>((f[s>>2]|0)>24e3&1))-1)>>0];break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}else{if(!r?!((f[s>>2]|0)!=8e3&(f[s>>2]|0)!=12e3&(f[s>>2]|0)!=16e3&(f[s>>2]|0)!=24e3&(f[s>>2]|0)!=48e3):0){f[(f[o>>2]|0)+292>>2]=t[30508+((((f[l>>2]>>12)-((f[l>>2]|0)>16e3&1)>>((f[l>>2]|0)>24e3&1))-1|0)*5|0)+(((f[s>>2]>>12)-((f[s>>2]|0)>16e3&1)>>((f[s>>2]|0)>24e3&1))-1)>>0];break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}}while(0);f[(f[o>>2]|0)+284>>2]=(f[l>>2]|0)/1e3|0;f[(f[o>>2]|0)+288>>2]=(f[s>>2]|0)/1e3|0;f[(f[o>>2]|0)+268>>2]=(f[(f[o>>2]|0)+284>>2]|0)*10;f[u>>2]=0;i=f[s>>2]|0;e=f[l>>2]|0;do{if((f[s>>2]|0)>(f[l>>2]|0)){r=(f[o>>2]|0)+264|0;if((i|0)==(e<<1|0)){f[r>>2]=1;break}else{f[r>>2]=2;f[u>>2]=1;break}}else{r=(f[o>>2]|0)+264|0;if((i|0)>=(e|0)){f[r>>2]=0;break}f[r>>2]=3;if((f[s>>2]<<2|0)==((f[l>>2]|0)*3|0)){f[(f[o>>2]|0)+280>>2]=3;f[(f[o>>2]|0)+276>>2]=18;f[(f[o>>2]|0)+296>>2]=24846;break}if(((f[s>>2]|0)*3|0)==(f[l>>2]<<1|0)){f[(f[o>>2]|0)+280>>2]=2;f[(f[o>>2]|0)+276>>2]=18;f[(f[o>>2]|0)+296>>2]=24904;break}if((f[s>>2]<<1|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=24;f[(f[o>>2]|0)+296>>2]=24944;break}if(((f[s>>2]|0)*3|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=24972;break}if((f[s>>2]<<2|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=25012;break}if(((f[s>>2]|0)*6|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=25052;break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}}while(0);f[(f[o>>2]|0)+272>>2]=((f[l>>2]<<14+(f[u>>2]|0)|0)/(f[s>>2]|0)|0)<<2;while(1){b=re(f[(f[o>>2]|0)+272>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;b=b+((re(f[(f[o>>2]|0)+272>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[(f[o>>2]|0)+272>>2]|0,(f[s>>2]>>15)+1>>1)|0)|0;if((b|0)>=(f[l>>2]<>2]|0))break;b=(f[o>>2]|0)+272|0;f[b>>2]=(f[b>>2]|0)+1}f[a>>2]=0;b=f[a>>2]|0;h=c;return b|0}function ci(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+284>>2]|0)-(f[(f[n>>2]|0)+292>>2]|0);gs((f[n>>2]|0)+168+(f[(f[n>>2]|0)+292>>2]<<1)|0,f[o>>2]|0,f[s>>2]<<1|0)|0;switch(f[(f[n>>2]|0)+264>>2]|0){case 1:{_i(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);_i(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}case 2:{vi(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);vi(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}case 3:{di(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);di(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}default:{gs(f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]<<1|0)|0;gs((f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)<<1|0)|0}}gs((f[n>>2]|0)+168|0,(f[o>>2]|0)+((f[l>>2]|0)-(f[(f[n>>2]|0)+292>>2]|0)<<1)|0,f[(f[n>>2]|0)+292>>2]<<1|0)|0;h=u;return 0}function bi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+1968|0;a=d+1964|0;o=d+1960|0;l=d+1956|0;s=d+1952|0;w=d+1948|0;b=d+1944|0;k=d+1940|0;c=d+1936|0;u=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;r=f[a>>2]|0;f[u>>2]=f[r>>2];f[u+4>>2]=f[r+4>>2];f[u+8>>2]=f[r+8>>2];f[u+12>>2]=f[r+12>>2];while(1){f[w>>2]=(f[s>>2]|0)<480?f[s>>2]|0:480;ki((f[a>>2]|0)+16|0,u+16|0,f[l>>2]|0,25092,f[w>>2]|0);f[c>>2]=u;f[b>>2]=f[w>>2];while(1){if((f[b>>2]|0)<=2)break;r=re(f[f[c>>2]>>2]>>16,n[12548]|0)|0;f[k>>2]=r+((re(f[f[c>>2]>>2]&65535,n[12548]|0)|0)>>16);r=re(f[(f[c>>2]|0)+4>>2]>>16,n[12549]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+4>>2]&65535,n[12549]|0)|0)>>16));r=re(f[(f[c>>2]|0)+8>>2]>>16,n[12551]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+8>>2]&65535,n[12551]|0)|0)>>16));r=re(f[(f[c>>2]|0)+12>>2]>>16,n[12550]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+12>>2]&65535,n[12550]|0)|0)>>16));if(((f[k>>2]>>5)+1>>1|0)<=32767)if(((f[k>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>5)+1>>1;else e=32767;r=f[o>>2]|0;f[o>>2]=r+2;n[r>>1]=e;r=re(f[(f[c>>2]|0)+4>>2]>>16,n[12550]|0)|0;f[k>>2]=r+((re(f[(f[c>>2]|0)+4>>2]&65535,n[12550]|0)|0)>>16);r=re(f[(f[c>>2]|0)+8>>2]>>16,n[12551]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+8>>2]&65535,n[12551]|0)|0)>>16));r=re(f[(f[c>>2]|0)+12>>2]>>16,n[12549]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+12>>2]&65535,n[12549]|0)|0)>>16));r=re(f[(f[c>>2]|0)+16>>2]>>16,n[12548]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+16>>2]&65535,n[12548]|0)|0)>>16));if(((f[k>>2]>>5)+1>>1|0)<=32767)if(((f[k>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>5)+1>>1;else e=32767;r=f[o>>2]|0;f[o>>2]=r+2;n[r>>1]=e;f[c>>2]=(f[c>>2]|0)+12;f[b>>2]=(f[b>>2]|0)-3}f[l>>2]=(f[l>>2]|0)+(f[w>>2]<<1);f[s>>2]=(f[s>>2]|0)-(f[w>>2]|0);if((f[s>>2]|0)<=0)break;r=u+(f[w>>2]<<2)|0;f[u>>2]=f[r>>2];f[u+4>>2]=f[r+4>>2];f[u+8>>2]=f[r+8>>2];f[u+12>>2]=f[r+12>>2]}k=f[a>>2]|0;w=u+(f[w>>2]<<2)|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2];f[k+8>>2]=f[w+8>>2];f[k+12>>2]=f[w+12>>2];h=d;return}function wi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;d=h;h=h+48|0;a=d+36|0;o=d+32|0;l=d+28|0;p=d+24|0;b=d+20|0;w=d+16|0;c=d+12|0;k=d+8|0;u=d+4|0;s=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[p>>2]=t;f[w>>2]=f[p>>2]>>1;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[w>>2]|0))break;f[c>>2]=n[(f[l>>2]|0)+(f[b>>2]<<1<<1)>>1]<<10;f[u>>2]=(f[c>>2]|0)-(f[f[a>>2]>>2]|0);p=re(f[u>>2]>>16,-25727)|0;f[s>>2]=(f[u>>2]|0)+(p+((re(f[u>>2]&65535,-25727)|0)>>16));f[k>>2]=(f[f[a>>2]>>2]|0)+(f[s>>2]|0);f[f[a>>2]>>2]=(f[c>>2]|0)+(f[s>>2]|0);f[c>>2]=n[(f[l>>2]|0)+((f[b>>2]<<1)+1<<1)>>1]<<10;f[u>>2]=(f[c>>2]|0)-(f[(f[a>>2]|0)+4>>2]|0);f[s>>2]=((f[u>>2]>>16)*9872|0)+((f[u>>2]&65535)*9872>>16);f[k>>2]=(f[k>>2]|0)+(f[(f[a>>2]|0)+4>>2]|0);f[k>>2]=(f[k>>2]|0)+(f[s>>2]|0);f[(f[a>>2]|0)+4>>2]=(f[c>>2]|0)+(f[s>>2]|0);if(((f[k>>2]>>10)+1>>1|0)<=32767)if(((f[k>>2]>>10)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>10)+1>>1;else e=32767;n[(f[o>>2]|0)+(f[b>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+1}h=d;return}function ki(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;b=k+4|0;w=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;f[w>>2]=(f[f[o>>2]>>2]|0)+(n[(f[s>>2]|0)+(f[b>>2]<<1)>>1]<<8);f[(f[l>>2]|0)+(f[b>>2]<<2)>>2]=f[w>>2];f[w>>2]=f[w>>2]<<2;r=re(f[w>>2]>>16,n[f[u>>2]>>1]|0)|0;r=(f[(f[o>>2]|0)+4>>2]|0)+(r+((re(f[w>>2]&65535,n[f[u>>2]>>1]|0)|0)>>16))|0;f[f[o>>2]>>2]=r;r=re(f[w>>2]>>16,n[(f[u>>2]|0)+2>>1]|0)|0;r=r+((re(f[w>>2]&65535,n[(f[u>>2]|0)+2>>1]|0)|0)>>16)|0;f[(f[o>>2]|0)+4>>2]=r;f[b>>2]=(f[b>>2]|0)+1}h=k;return}function di(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;d=k+36|0;n=k+32|0;a=k+28|0;o=k+24|0;u=k+20|0;w=k+16|0;b=k+12|0;c=k+8|0;s=k+4|0;l=k;f[d>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=t;f[u>>2]=f[d>>2];r=(f[(f[u>>2]|0)+268>>2]|0)+(f[(f[u>>2]|0)+276>>2]|0)|0;f[l>>2]=he()|0;e=h;h=h+((1*(r<<2)|0)+15&-16)|0;gs(e|0,(f[u>>2]|0)+24|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0;f[s>>2]=(f[(f[u>>2]|0)+296>>2]|0)+4;f[c>>2]=f[(f[u>>2]|0)+272>>2];while(1){if((f[o>>2]|0)<(f[(f[u>>2]|0)+268>>2]|0))i=f[o>>2]|0;else i=f[(f[u>>2]|0)+268>>2]|0;f[w>>2]=i;ki(f[u>>2]|0,e+(f[(f[u>>2]|0)+276>>2]<<2)|0,f[a>>2]|0,f[(f[u>>2]|0)+296>>2]|0,f[w>>2]|0);f[b>>2]=f[w>>2]<<16;f[n>>2]=pi(f[n>>2]|0,e,f[s>>2]|0,f[(f[u>>2]|0)+276>>2]|0,f[(f[u>>2]|0)+280>>2]|0,f[b>>2]|0,f[c>>2]|0)|0;f[a>>2]=(f[a>>2]|0)+(f[w>>2]<<1);f[o>>2]=(f[o>>2]|0)-(f[w>>2]|0);if((f[o>>2]|0)<=1)break;gs(e|0,e+(f[w>>2]<<2)|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0}gs((f[u>>2]|0)+24|0,e+(f[w>>2]<<2)|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0;de(f[l>>2]|0);h=k;return}function pi(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;b=_+44|0;w=_+40|0;k=_+36|0;m=_+32|0;s=_+28|0;d=_+24|0;p=_+20|0;g=_+16|0;y=_+12|0;v=_+8|0;u=_+4|0;c=_;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[m>>2]=t;f[s>>2]=a;f[d>>2]=o;f[p>>2]=l;switch(f[m>>2]|0){case 18:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[g>>2]&65535)>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=m+((re(f[g>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16);f[c>>2]=(f[k>>2]|0)+((f[u>>2]|0)*9<<1);m=re(f[f[v>>2]>>2]>>16,n[f[c>>2]>>1]|0)|0;f[y>>2]=m+((re(f[f[v>>2]>>2]&65535,n[f[c>>2]>>1]|0)|0)>>16);m=re(f[(f[v>>2]|0)+4>>2]>>16,n[(f[c>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+4>>2]&65535,n[(f[c>>2]|0)+2>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+8>>2]>>16,n[(f[c>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+8>>2]&65535,n[(f[c>>2]|0)+4>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+12>>2]>>16,n[(f[c>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+12>>2]&65535,n[(f[c>>2]|0)+6>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+16>>2]>>16,n[(f[c>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+16>>2]&65535,n[(f[c>>2]|0)+8>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+20>>2]>>16,n[(f[c>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+20>>2]&65535,n[(f[c>>2]|0)+10>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+24>>2]>>16,n[(f[c>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+24>>2]&65535,n[(f[c>>2]|0)+12>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+28>>2]>>16,n[(f[c>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+28>>2]&65535,n[(f[c>>2]|0)+14>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+32>>2]>>16,n[(f[c>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+32>>2]&65535,n[(f[c>>2]|0)+16>>1]|0)|0)>>16));f[c>>2]=(f[k>>2]|0)+(((f[s>>2]|0)-1-(f[u>>2]|0)|0)*9<<1);m=re(f[(f[v>>2]|0)+68>>2]>>16,n[f[c>>2]>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+68>>2]&65535,n[f[c>>2]>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+64>>2]>>16,n[(f[c>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+64>>2]&65535,n[(f[c>>2]|0)+2>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+60>>2]>>16,n[(f[c>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+60>>2]&65535,n[(f[c>>2]|0)+4>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+56>>2]>>16,n[(f[c>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+56>>2]&65535,n[(f[c>>2]|0)+6>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+52>>2]>>16,n[(f[c>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+52>>2]&65535,n[(f[c>>2]|0)+8>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+48>>2]>>16,n[(f[c>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+48>>2]&65535,n[(f[c>>2]|0)+10>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+44>>2]>>16,n[(f[c>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+44>>2]&65535,n[(f[c>>2]|0)+12>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+40>>2]>>16,n[(f[c>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+40>>2]&65535,n[(f[c>>2]|0)+14>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+36>>2]>>16,n[(f[c>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+36>>2]&65535,n[(f[c>>2]|0)+16>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}case 24:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)>>16,n[f[k>>2]>>1]|0)|0;f[y>>2]=m+((re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)&65535,n[f[k>>2]>>1]|0)|0)>>16);m=re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)>>16,n[(f[k>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)&65535,n[(f[k>>2]|0)+2>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)>>16,n[(f[k>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)&65535,n[(f[k>>2]|0)+4>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)>>16,n[(f[k>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)&65535,n[(f[k>>2]|0)+6>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)>>16,n[(f[k>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)&65535,n[(f[k>>2]|0)+8>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)>>16,n[(f[k>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)&65535,n[(f[k>>2]|0)+10>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+68>>2]|0)>>16,n[(f[k>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+68>>2]|0)&65535,n[(f[k>>2]|0)+12>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+64>>2]|0)>>16,n[(f[k>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+64>>2]|0)&65535,n[(f[k>>2]|0)+14>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+60>>2]|0)>>16,n[(f[k>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+60>>2]|0)&65535,n[(f[k>>2]|0)+16>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+56>>2]|0)>>16,n[(f[k>>2]|0)+18>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+56>>2]|0)&65535,n[(f[k>>2]|0)+18>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+52>>2]|0)>>16,n[(f[k>>2]|0)+20>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+52>>2]|0)&65535,n[(f[k>>2]|0)+20>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+48>>2]|0)>>16,n[(f[k>>2]|0)+22>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+48>>2]|0)&65535,n[(f[k>>2]|0)+22>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}case 36:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+140>>2]|0)>>16,n[f[k>>2]>>1]|0)|0;f[y>>2]=m+((re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+140>>2]|0)&65535,n[f[k>>2]>>1]|0)|0)>>16);m=re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+136>>2]|0)>>16,n[(f[k>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+136>>2]|0)&65535,n[(f[k>>2]|0)+2>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+132>>2]|0)>>16,n[(f[k>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+132>>2]|0)&65535,n[(f[k>>2]|0)+4>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+128>>2]|0)>>16,n[(f[k>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+128>>2]|0)&65535,n[(f[k>>2]|0)+6>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+124>>2]|0)>>16,n[(f[k>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+124>>2]|0)&65535,n[(f[k>>2]|0)+8>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+120>>2]|0)>>16,n[(f[k>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+120>>2]|0)&65535,n[(f[k>>2]|0)+10>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+116>>2]|0)>>16,n[(f[k>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+116>>2]|0)&65535,n[(f[k>>2]|0)+12>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+112>>2]|0)>>16,n[(f[k>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+112>>2]|0)&65535,n[(f[k>>2]|0)+14>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+108>>2]|0)>>16,n[(f[k>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+108>>2]|0)&65535,n[(f[k>>2]|0)+16>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+104>>2]|0)>>16,n[(f[k>>2]|0)+18>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+104>>2]|0)&65535,n[(f[k>>2]|0)+18>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+100>>2]|0)>>16,n[(f[k>>2]|0)+20>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+100>>2]|0)&65535,n[(f[k>>2]|0)+20>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+96>>2]|0)>>16,n[(f[k>>2]|0)+22>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+96>>2]|0)&65535,n[(f[k>>2]|0)+22>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+48>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)>>16,n[(f[k>>2]|0)+24>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+48>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)&65535,n[(f[k>>2]|0)+24>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+52>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)>>16,n[(f[k>>2]|0)+26>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+52>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)&65535,n[(f[k>>2]|0)+26>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+56>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)>>16,n[(f[k>>2]|0)+28>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+56>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)&65535,n[(f[k>>2]|0)+28>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+60>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)>>16,n[(f[k>>2]|0)+30>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+60>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)&65535,n[(f[k>>2]|0)+30>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+64>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)>>16,n[(f[k>>2]|0)+32>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+64>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)&65535,n[(f[k>>2]|0)+32>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+68>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)>>16,n[(f[k>>2]|0)+34>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+68>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)&65535,n[(f[k>>2]|0)+34>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}default:{m=f[b>>2]|0;h=_;return m|0}}return 0}function vi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;d=k+32|0;a=k+28|0;o=k+24|0;l=k+20|0;u=k+16|0;w=k+12|0;b=k+8|0;c=k+4|0;s=k;f[d>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=f[d>>2];r=(f[(f[u>>2]|0)+268>>2]<<1)+8|0;f[s>>2]=he()|0;e=h;h=h+((1*(r<<1)|0)+15&-16)|0;r=(f[u>>2]|0)+24|0;n[e>>1]=n[r>>1]|0;n[e+2>>1]=n[r+2>>1]|0;n[e+4>>1]=n[r+4>>1]|0;n[e+6>>1]=n[r+6>>1]|0;n[e+8>>1]=n[r+8>>1]|0;n[e+10>>1]=n[r+10>>1]|0;n[e+12>>1]=n[r+12>>1]|0;n[e+14>>1]=n[r+14>>1]|0;f[c>>2]=f[(f[u>>2]|0)+272>>2];while(1){if((f[l>>2]|0)<(f[(f[u>>2]|0)+268>>2]|0))i=f[l>>2]|0;else i=f[(f[u>>2]|0)+268>>2]|0;f[w>>2]=i;yi(f[u>>2]|0,e+16|0,f[o>>2]|0,f[w>>2]|0);f[b>>2]=f[w>>2]<<17;f[a>>2]=gi(f[a>>2]|0,e,f[b>>2]|0,f[c>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[w>>2]<<1);f[l>>2]=(f[l>>2]|0)-(f[w>>2]|0);if((f[l>>2]|0)<=0)break;d=e+(f[w>>2]<<1<<1)|0;n[e>>1]=n[d>>1]|0;n[e+2>>1]=n[d+2>>1]|0;n[e+4>>1]=n[d+4>>1]|0;n[e+6>>1]=n[d+6>>1]|0;n[e+8>>1]=n[d+8>>1]|0;n[e+10>>1]=n[d+10>>1]|0;n[e+12>>1]=n[d+12>>1]|0;n[e+14>>1]=n[d+14>>1]|0}d=(f[u>>2]|0)+24|0;w=e+(f[w>>2]<<1<<1)|0;n[d>>1]=n[w>>1]|0;n[d+2>>1]=n[w+2>>1]|0;n[d+4>>1]=n[w+4>>1]|0;n[d+6>>1]=n[w+6>>1]|0;n[d+8>>1]=n[w+8>>1]|0;n[d+10>>1]=n[w+10>>1]|0;n[d+12>>1]=n[w+12>>1]|0;n[d+14>>1]=n[w+14>>1]|0;de(f[s>>2]|0);h=k;return}function gi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;a=k+28|0;o=k+24|0;l=k+20|0;s=k+16|0;c=k+12|0;b=k+8|0;u=k+4|0;w=k;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=(((f[c>>2]&65535)>>16)*12|0)+((f[c>>2]&65535)*12>>16);f[u>>2]=(f[o>>2]|0)+(f[c>>2]>>16<<1);f[b>>2]=re(n[f[u>>2]>>1]|0,n[25104+(f[w>>2]<<3)>>1]|0)|0;f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+2>>1]|0,n[25104+(f[w>>2]<<3)+2>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+4>>1]|0,n[25104+(f[w>>2]<<3)+4>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+6>>1]|0,n[25104+(f[w>>2]<<3)+6>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+8>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+6>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+10>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+4>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+12>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+2>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+14>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)>>1]|0)|0);if(((f[b>>2]>>14)+1>>1|0)<=32767)if(((f[b>>2]>>14)+1>>1|0)<-32768)r=-32768;else r=(f[b>>2]>>14)+1>>1;else r=32767;e=f[a>>2]|0;f[a>>2]=e+2;n[e>>1]=r;f[c>>2]=(f[c>>2]|0)+(f[s>>2]|0)}h=k;return f[a>>2]|0}function yi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;a=p+36|0;o=p+32|0;l=p+28|0;s=p+24|0;w=p+20|0;b=p+16|0;k=p+12|0;d=p+8|0;c=p+4|0;u=p;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[s>>2]|0))break;f[b>>2]=n[(f[l>>2]|0)+(f[w>>2]<<1)>>1]<<10;f[c>>2]=(f[b>>2]|0)-(f[f[a>>2]>>2]|0);r=re(f[c>>2]>>16,n[12417]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12417]|0)|0)>>16);f[k>>2]=(f[f[a>>2]>>2]|0)+(f[u>>2]|0);f[f[a>>2]>>2]=(f[b>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[k>>2]|0)-(f[(f[a>>2]|0)+4>>2]|0);r=re(f[c>>2]>>16,n[12418]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12418]|0)|0)>>16);f[d>>2]=(f[(f[a>>2]|0)+4>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+4>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[d>>2]|0)-(f[(f[a>>2]|0)+8>>2]|0);r=re(f[c>>2]>>16,n[12419]|0)|0;f[u>>2]=(f[c>>2]|0)+(r+((re(f[c>>2]&65535,n[12419]|0)|0)>>16));f[k>>2]=(f[(f[a>>2]|0)+8>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+8>>2]=(f[d>>2]|0)+(f[u>>2]|0);if(((f[k>>2]>>9)+1>>1|0)<=32767)if(((f[k>>2]>>9)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>9)+1>>1;else e=32767;n[(f[o>>2]|0)+(f[w>>2]<<1<<1)>>1]=e;f[c>>2]=(f[b>>2]|0)-(f[(f[a>>2]|0)+12>>2]|0);r=re(f[c>>2]>>16,n[12420]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12420]|0)|0)>>16);f[k>>2]=(f[(f[a>>2]|0)+12>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+12>>2]=(f[b>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[k>>2]|0)-(f[(f[a>>2]|0)+16>>2]|0);r=re(f[c>>2]>>16,n[12421]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12421]|0)|0)>>16);f[d>>2]=(f[(f[a>>2]|0)+16>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+16>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[d>>2]|0)-(f[(f[a>>2]|0)+20>>2]|0);r=re(f[c>>2]>>16,n[12422]|0)|0;f[u>>2]=(f[c>>2]|0)+(r+((re(f[c>>2]&65535,n[12422]|0)|0)>>16));f[k>>2]=(f[(f[a>>2]|0)+20>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+20>>2]=(f[d>>2]|0)+(f[u>>2]|0);if(((f[k>>2]>>9)+1>>1|0)<=32767)if(((f[k>>2]>>9)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>9)+1>>1;else e=32767;n[(f[o>>2]|0)+((f[w>>2]<<1)+1<<1)>>1]=e;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function _i(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;n=h;h=h+32|0;u=n+16|0;l=n+12|0;o=n+8|0;a=n+4|0;s=n;f[u>>2]=e;f[l>>2]=r;f[o>>2]=i;f[a>>2]=t;f[s>>2]=f[u>>2];yi(f[s>>2]|0,f[l>>2]|0,f[o>>2]|0,f[a>>2]|0);h=n;return}function mi(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+8|0;i=n+4|0;t=n;f[i>>2]=e;e=f[i>>2]|0;if((f[i>>2]|0)<0){f[i>>2]=0-e;if((f[i>>2]|0)>=192){f[r>>2]=0;t=f[r>>2]|0;h=n;return t|0}else{f[t>>2]=f[i>>2]>>5;f[r>>2]=(f[17960+(f[t>>2]<<2)>>2]|0)-(re((f[17984+(f[t>>2]<<2)>>2]&65535)<<16>>16,(f[i>>2]&31)<<16>>16)|0);t=f[r>>2]|0;h=n;return t|0}}else if((e|0)>=192){f[r>>2]=32767;t=f[r>>2]|0;h=n;return t|0}else{f[t>>2]=f[i>>2]>>5;f[r>>2]=(f[18008+(f[t>>2]<<2)>>2]|0)+(re((f[17984+(f[t>>2]<<2)>>2]&65535)<<16>>16,(f[i>>2]&31)<<16>>16)|0);t=f[r>>2]|0;h=n;return t|0}return 0}function Ei(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+24|0;a=b+20|0;o=b+16|0;l=b+12|0;c=b+8|0;s=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=0;while(1){if((f[s>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=1;while(1){if((f[s>>2]|0)>=(f[l>>2]|0))break;f[c>>2]=f[(f[n>>2]|0)+(f[s>>2]<<2)>>2];f[u>>2]=(f[s>>2]|0)-1;while(1){if((f[u>>2]|0)<0)break;if((f[c>>2]|0)>=(f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]|0))break;f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+-1}f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[c>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=f[l>>2];while(1){if((f[s>>2]|0)>=(f[o>>2]|0))break;f[c>>2]=f[(f[n>>2]|0)+(f[s>>2]<<2)>>2];if((f[c>>2]|0)<(f[(f[n>>2]|0)+((f[l>>2]|0)-1<<2)>>2]|0)){f[u>>2]=(f[l>>2]|0)-2;while(1){if((f[u>>2]|0)<0)break;if((f[c>>2]|0)>=(f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]|0))break;f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+-1}f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[c>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[s>>2]}f[s>>2]=(f[s>>2]|0)+1}h=b;return}function Ai(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;i=s+16|0;t=s+12|0;l=s+8|0;a=s+4|0;o=s;f[i>>2]=e;f[t>>2]=r;f[a>>2]=1;while(1){if((f[a>>2]|0)>=(f[t>>2]|0))break;f[l>>2]=n[(f[i>>2]|0)+(f[a>>2]<<1)>>1];f[o>>2]=(f[a>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((f[l>>2]|0)>=(n[(f[i>>2]|0)+(f[o>>2]<<1)>>1]|0))break;n[(f[i>>2]|0)+((f[o>>2]|0)+1<<1)>>1]=n[(f[i>>2]|0)+(f[o>>2]<<1)>>1]|0;f[o>>2]=(f[o>>2]|0)+-1}n[(f[i>>2]|0)+((f[o>>2]|0)+1<<1)>>1]=f[l>>2];f[a>>2]=(f[a>>2]|0)+1}h=s;return}function Si(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;c=d+12|0;k=d+8|0;w=d+4|0;b=d;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[b>>2]=0;f[k>>2]=0;f[u>>2]=(f[u>>2]|0)+-1;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;f[b>>2]=(f[b>>2]|0)+(re(n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0,n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0);if((f[b>>2]|0)<0){a=4;break}f[c>>2]=(f[c>>2]|0)+2}if((a|0)==4){f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=2;f[c>>2]=(f[c>>2]|0)+2}while(1){e=f[c>>2]|0;if((f[c>>2]|0)>=(f[u>>2]|0))break;f[w>>2]=re(n[(f[s>>2]|0)+(e<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(re(n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0,n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+((f[w>>2]|0)>>>(f[k>>2]|0));if((f[b>>2]|0)<0){f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=(f[k>>2]|0)+2}f[c>>2]=(f[c>>2]|0)+2}if((e|0)==(f[u>>2]|0)){f[w>>2]=re(n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[w>>2]>>f[k>>2])}if(!(f[b>>2]&-1073741824)){k=f[k>>2]|0;w=f[l>>2]|0;f[w>>2]=k;w=f[b>>2]|0;k=f[o>>2]|0;f[k>>2]=w;h=d;return}f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=(f[k>>2]|0)+2;k=f[k>>2]|0;w=f[l>>2]|0;f[w>>2]=k;w=f[b>>2]|0;k=f[o>>2]|0;f[k>>2]=w;h=d;return}function Ri(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+48|0;i=u+40|0;t=u+36|0;l=u+32|0;a=u+8|0;o=u+4|0;s=u;f[i>>2]=e;f[t>>2]=r;f[l>>2]=Fe(f[i>>2]|0,28978,8)|0;f[a+8>>2]=(f[l>>2]|0)/5|0;f[a+12+8>>2]=(f[l>>2]|0)-((f[a+8>>2]|0)*5|0);f[l>>2]=0;while(1){if((f[l>>2]|0)>=2)break;e=Fe(f[i>>2]|0,29031,8)|0;f[a+((f[l>>2]|0)*12|0)>>2]=e;e=Fe(f[i>>2]|0,29038,8)|0;f[a+((f[l>>2]|0)*12|0)+4>>2]=e;f[l>>2]=(f[l>>2]|0)+1}f[l>>2]=0;while(1){if((f[l>>2]|0)>=2)break;e=a+((f[l>>2]|0)*12|0)|0;f[e>>2]=(f[e>>2]|0)+((f[a+((f[l>>2]|0)*12|0)+8>>2]|0)*3|0);f[o>>2]=n[24526+(f[a+((f[l>>2]|0)*12|0)>>2]<<1)>>1];f[s>>2]=(((n[24526+((f[a+((f[l>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(f[o>>2]|0)>>16)*6554|0)+(((n[24526+((f[a+((f[l>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(f[o>>2]|0)&65535)*6554>>16);e=(f[o>>2]|0)+(re((f[s>>2]&65535)<<16>>16,((f[a+((f[l>>2]|0)*12|0)+4>>2]<<1)+1&65535)<<16>>16)|0)|0;f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=e;f[l>>2]=(f[l>>2]|0)+1}s=f[t>>2]|0;f[s>>2]=(f[s>>2]|0)-(f[(f[t>>2]|0)+4>>2]|0);h=u;return}function Ti(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;i=h;h=h+16|0;n=i+4|0;t=i;f[n>>2]=e;f[t>>2]=r;e=Fe(f[n>>2]|0,29003,8)|0;f[f[t>>2]>>2]=e;h=i;return}function Mi(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[n>>2]=r;f[a>>2]=((t[(f[n>>2]|0)+2>>0]|0)*5|0)+(t[(f[n>>2]|0)+3+2>>0]|0);$e(f[i>>2]|0,f[a>>2]|0,28978,8);f[a>>2]=0;while(1){if((f[a>>2]|0)>=2)break;$e(f[i>>2]|0,t[(f[n>>2]|0)+((f[a>>2]|0)*3|0)>>0]|0,29031,8);$e(f[i>>2]|0,t[(f[n>>2]|0)+((f[a>>2]|0)*3|0)+1>>0]|0,29038,8);f[a>>2]=(f[a>>2]|0)+1}h=o;return}function xi(e,r){e=e|0;r=r|0;var i=0,n=0,a=0;i=h;h=h+16|0;a=i;n=i+4|0;f[a>>2]=e;t[n>>0]=r;$e(f[a>>2]|0,t[n>>0]|0,29003,8);h=i;return}function Oi(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;p=h;h=h+64|0;w=p+52|0;y=p+48|0;g=p+44|0;k=p+40|0;v=p+36|0;o=p+32|0;b=p+28|0;_=p+24|0;m=p+20|0;s=p+16|0;u=p+12|0;l=p+8|0;d=p+4|0;c=p;f[w>>2]=e;f[y>>2]=r;f[g>>2]=i;f[k>>2]=t;f[v>>2]=n;f[o>>2]=a;Si(s,_,f[y>>2]|0,f[v>>2]|0);Si(u,m,f[g>>2]|0,f[v>>2]|0);f[b>>2]=Li(f[_>>2]|0,f[m>>2]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[b>>2]&1);f[u>>2]=f[u>>2]>>(f[b>>2]|0)-(f[m>>2]|0);f[s>>2]=f[s>>2]>>(f[b>>2]|0)-(f[_>>2]|0);f[s>>2]=Li(f[s>>2]|0,1)|0;f[l>>2]=Ua(f[y>>2]|0,f[g>>2]|0,f[b>>2]|0,f[v>>2]|0)|0;f[d>>2]=Pi(f[l>>2]|0,f[s>>2]|0,13)|0;if((f[d>>2]|0)>16384)n=16384;else n=(f[d>>2]|0)<-16384?-16384:f[d>>2]|0;f[d>>2]=n;m=re(f[d>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;f[c>>2]=m+((re(f[d>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16);m=f[c>>2]|0;f[o>>2]=Li(f[o>>2]|0,(f[c>>2]|0)>0?m:0-m|0)|0;f[b>>2]=f[b>>2]>>1;m=f[f[k>>2]>>2]|0;_=Ci(f[s>>2]|0)|0;_=re((_<>2])-(f[f[k>>2]>>2]|0)>>16,(f[o>>2]&65535)<<16>>16)|0;y=Ci(f[s>>2]|0)|0;y=m+(_+((re((y<>2])-(f[f[k>>2]>>2]|0)&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[f[k>>2]>>2]=y;y=re(f[l>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;f[u>>2]=(f[u>>2]|0)-(y+((re(f[l>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16)<<4);y=re(f[s>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[u>>2]=(f[u>>2]|0)+(y+((re(f[s>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16)<<6);y=f[(f[k>>2]|0)+4>>2]|0;_=Ci(f[u>>2]|0)|0;_=re((_<>2])-(f[(f[k>>2]|0)+4>>2]|0)>>16,(f[o>>2]&65535)<<16>>16)|0;m=Ci(f[u>>2]|0)|0;m=y+(_+((re((m<>2])-(f[(f[k>>2]|0)+4>>2]|0)&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[k>>2]|0)+4>>2]=m;if((f[f[k>>2]>>2]|0)>1)n=f[f[k>>2]>>2]|0;else n=1;m=Pi(f[(f[k>>2]|0)+4>>2]|0,n,14)|0;f[f[w>>2]>>2]=m;if((f[f[w>>2]>>2]|0)>32767){_=32767;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}if((f[f[w>>2]>>2]|0)<0){_=0;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}_=f[f[w>>2]>>2]|0;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}function Li(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Pi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(Ii((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(Ii((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ii(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Ci(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Ui(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Ui(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Ii(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Bi(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Bi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function ji(e,r){e=e|0;r=r|0;var i=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;i=p+40|0;a=p+36|0;s=p+32|0;u=p+28|0;w=p+24|0;c=p+20|0;d=p+16|0;b=p+12|0;l=p+8|0;o=p+4|0;k=p;f[i>>2]=e;f[a>>2]=r;f[k>>2]=0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=2)break;f[l>>2]=2147483647;f[s>>2]=0;e:while(1){if((f[s>>2]|0)>=15)break;f[c>>2]=n[24526+(f[s>>2]<<1)>>1];f[d>>2]=(((n[24526+((f[s>>2]|0)+1<<1)>>1]|0)-(f[c>>2]|0)>>16)*6554|0)+(((n[24526+((f[s>>2]|0)+1<<1)>>1]|0)-(f[c>>2]|0)&65535)*6554>>16);f[u>>2]=0;while(1){if((f[u>>2]|0)>=5)break;f[b>>2]=(f[c>>2]|0)+(re((f[d>>2]&65535)<<16>>16,((f[u>>2]<<1)+1&65535)<<16>>16)|0);e=(f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]|0)-(f[b>>2]|0)|0;f[o>>2]=((f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]|0)-(f[b>>2]|0)|0)>0?e:0-e|0;if((f[o>>2]|0)>=(f[l>>2]|0))break e;f[l>>2]=f[o>>2];f[k>>2]=f[b>>2];t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)>>0]=f[s>>2];t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+1>>0]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=(f[s>>2]|0)+1}t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+2>>0]=(t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)>>0]|0)/3|0;e=(f[a>>2]|0)+((f[w>>2]|0)*3|0)|0;t[e>>0]=(t[e>>0]|0)-((t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+2>>0]|0)*3|0);f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]=f[k>>2];f[w>>2]=(f[w>>2]|0)+1}d=f[i>>2]|0;f[d>>2]=(f[d>>2]|0)-(f[(f[i>>2]|0)+4>>2]|0);h=p;return}function Di(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;n=k+32|0;a=k+28|0;d=k+24|0;o=k+20|0;w=k+16|0;b=k+12|0;c=k+8|0;l=k+4|0;u=k;f[n>>2]=e;f[a>>2]=r;f[d>>2]=i;f[o>>2]=t;s[b>>2]=3.1415927410125732/+((f[o>>2]|0)+1|0);s[c>>2]=2-+s[b>>2]*+s[b>>2];if((f[d>>2]|0)<2){s[l>>2]=0;s[u>>2]=+s[b>>2]}else{s[l>>2]=1;s[u>>2]=+s[c>>2]*.5}f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break;s[(f[n>>2]|0)+((f[w>>2]|0)+0<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+0<<2)>>2]*.5*(+s[l>>2]+ +s[u>>2]);s[(f[n>>2]|0)+((f[w>>2]|0)+1<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+1<<2)>>2]*+s[u>>2];s[l>>2]=+s[c>>2]*+s[u>>2]-+s[l>>2];s[(f[n>>2]|0)+((f[w>>2]|0)+2<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+2<<2)>>2]*.5*(+s[u>>2]+ +s[l>>2]);s[(f[n>>2]|0)+((f[w>>2]|0)+3<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+3<<2)>>2]*+s[l>>2];s[u>>2]=+s[c>>2]*+s[l>>2]-+s[u>>2];f[w>>2]=(f[w>>2]|0)+4}h=k;return}function Ni(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;w=h;h=h+32|0;k=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;f[k>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=n;f[b>>2]=(f[k>>2]|0)+((f[l>>2]|0)-1<<2);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;d=+Bt(f[b>>2]|0,f[a>>2]|0,f[o>>2]|0);s[(f[u>>2]|0)+(f[c>>2]<<2)>>2]=d;f[b>>2]=(f[b>>2]|0)+-4;f[c>>2]=(f[c>>2]|0)+1}h=w;return}function Fi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;n=p+36|0;a=p+32|0;o=p+28|0;l=p+24|0;b=p+20|0;w=p+16|0;c=p;k=p+12|0;d=p+8|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[k>>2]=(f[n>>2]|0)+((f[o>>2]|0)-1<<2);u[c>>3]=+Ut(f[k>>2]|0,f[a>>2]|0);s[(f[l>>2]|0)+(0<<2)>>2]=+u[c>>3];f[b>>2]=1;while(1){if((f[b>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+u[c>>3]+(+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]*+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]-+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]*+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]);e=re(f[b>>2]|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+(f[b>>2]|0)<<2)>>2]=+u[c>>3];f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[n>>2]|0)+((f[o>>2]|0)-2<<2);f[w>>2]=1;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+Bt(f[k>>2]|0,f[d>>2]|0,f[a>>2]|0);s[(f[l>>2]|0)+((re(f[w>>2]|0,f[o>>2]|0)|0)+0<<2)>>2]=+u[c>>3];s[(f[l>>2]|0)+(0+(f[w>>2]|0)<<2)>>2]=+u[c>>3];f[b>>2]=1;while(1){if((f[b>>2]|0)>=((f[o>>2]|0)-(f[w>>2]|0)|0))break;u[c>>3]=+u[c>>3]+(+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]*+s[(f[d>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]-+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]*+s[(f[d>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]);e=re((f[w>>2]|0)+(f[b>>2]|0)|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+(f[b>>2]|0)<<2)>>2]=+u[c>>3];e=re(f[b>>2]|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+((f[w>>2]|0)+(f[b>>2]|0))<<2)>>2]=+u[c>>3];f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+-4;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function zi(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;zf(f[r>>2]|0,(f[r>>2]|0)+5128+2|0)|0;e=f[r>>2]|0;if((f[(f[r>>2]|0)+4556>>2]|0)>=13){f[e+6116>>2]=0;f[(f[r>>2]|0)+6112>>2]=0;t[(f[r>>2]|0)+4768+29>>0]=1;t[(f[r>>2]|0)+4752+(f[(f[r>>2]|0)+5780>>2]|0)>>0]=1;h=i;return}t[e+4768+29>>0]=0;e=(f[r>>2]|0)+6116|0;f[e>>2]=(f[e>>2]|0)+1;e=f[r>>2]|0;if((f[(f[r>>2]|0)+6116>>2]|0)>=10){if((f[e+6116>>2]|0)>30){f[(f[r>>2]|0)+6116>>2]=10;f[(f[r>>2]|0)+6112>>2]=0}}else f[e+6112>>2]=0;t[(f[r>>2]|0)+4752+(f[(f[r>>2]|0)+5780>>2]|0)>>0]=0;h=i;return}function Yi(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;G=h;h=h+15152|0;w=G+13856|0;k=G+13852|0;d=G+13848|0;p=G+13844|0;v=G+13840|0;g=G+13836|0;y=G+13832|0;Y=G+12920|0;C=G+12916|0;U=G+12912|0;B=G+12908|0;R=G+12904|0;S=G+12900|0;z=G+12896|0;b=G+12892|0;c=G+12888|0;J=G+11608|0;u=G+8920|0;W=G+8872|0;Z=G+8824|0;H=G+4444|0;q=G+64|0;V=G+60|0;j=G+56|0;D=G+52|0;N=G+48|0;M=G+44|0;x=G+40|0;L=G+36|0;P=G+32|0;I=G+28|0;T=G+13862|0;E=G+13860|0;A=G+24|0;_=G+15139|0;F=G+8|0;m=G+13864|0;O=G;f[k>>2]=e;f[d>>2]=r;f[p>>2]=i;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[z>>2]=0;f[x>>2]=0;f[M>>2]=0;f[N>>2]=0;f[D>>2]=0;t[_>>0]=0;i=(f[k>>2]|0)+4644|0;l=f[i>>2]|0;f[i>>2]=l+1;t[(f[k>>2]|0)+4768+34>>0]=l&3;f[b>>2]=(f[k>>2]|0)+9356+(f[(f[k>>2]|0)+4616>>2]<<2);f[c>>2]=u+(f[(f[k>>2]|0)+4616>>2]<<2);Oo((f[k>>2]|0)+16|0,(f[k>>2]|0)+5128+2|0,f[(f[k>>2]|0)+4608>>2]|0);Hi((f[b>>2]|0)+((f[(f[k>>2]|0)+4600>>2]|0)*5<<2)|0,(f[k>>2]|0)+5128+2|0,f[(f[k>>2]|0)+4608>>2]|0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=8)break;l=((f[(f[k>>2]|0)+4600>>2]|0)*5|0)+(re(f[C>>2]|0,f[(f[k>>2]|0)+4608>>2]>>3)|0)|0;l=(f[b>>2]|0)+(l<<2)|0;s[l>>2]=+s[l>>2]+ +(1-(f[C>>2]&2)|0)*9.999999974752427e-7;f[C>>2]=(f[C>>2]|0)+1}e:do{if(!(f[(f[k>>2]|0)+4712>>2]|0)){$i(f[k>>2]|0,Y,u,f[b>>2]|0,f[(f[k>>2]|0)+5124>>2]|0);lt(f[k>>2]|0,Y,f[c>>2]|0,f[b>>2]|0);Qi(f[k>>2]|0,Y,u,f[b>>2]|0,f[v>>2]|0);dt(f[k>>2]|0,Y,f[v>>2]|0);bt(f[k>>2]|0,Y,J,f[b>>2]|0);qi(f[k>>2]|0,Y,J,f[v>>2]|0);f[B>>2]=6;n[T>>1]=256;f[S>>2]=0;f[R>>2]=0;f[L>>2]=Mo((f[k>>2]|0)+4768|0,f[(f[k>>2]|0)+4604>>2]|0)|0;f[P>>2]=-1;f[I>>2]=-1;a=W;o=f[p>>2]|0;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(H|0,(f[k>>2]|0)+144|0,4380)|0;f[V>>2]=t[(f[k>>2]|0)+4768+34>>0];n[E>>1]=n[(f[k>>2]|0)+5804>>1]|0;f[A>>2]=f[(f[k>>2]|0)+5800>>2];f[U>>2]=0;while(1){do{if((f[L>>2]|0)!=(f[P>>2]|0)){if((f[L>>2]|0)==(f[I>>2]|0)){f[j>>2]=f[N>>2];break}if((f[U>>2]|0)>0){a=f[p>>2]|0;o=W;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs((f[k>>2]|0)+144|0,H|0,4380)|0;t[(f[k>>2]|0)+4768+34>>0]=f[V>>2];n[(f[k>>2]|0)+5804>>1]=n[E>>1]|0;f[(f[k>>2]|0)+5800>>2]=f[A>>2]}Ot(f[k>>2]|0,Y,(f[k>>2]|0)+4768|0,(f[k>>2]|0)+144|0,(f[k>>2]|0)+4804|0,J);_o(f[k>>2]|0,f[p>>2]|0,f[(f[k>>2]|0)+5780>>2]|0,0,f[v>>2]|0);mo(f[p>>2]|0,t[(f[k>>2]|0)+4768+29>>0]|0,t[(f[k>>2]|0)+4768+30>>0]|0,(f[k>>2]|0)+4804|0,f[(f[k>>2]|0)+4608>>2]|0);f[j>>2]=Zi(f[p>>2]|0)|0;if((f[y>>2]|0)==0&(f[U>>2]|0)==0?(f[j>>2]|0)<=(f[g>>2]|0):0)break e}else f[j>>2]=f[D>>2]}while(0);if((f[U>>2]|0)==(f[B>>2]|0))break;do{if((f[j>>2]|0)>(f[g>>2]|0))if((f[S>>2]|0)==0&(f[U>>2]|0)>=2){b=Y+852|0;s[b>>2]=+s[b>>2]*1.5;f[R>>2]=0;f[I>>2]=-1;break}else{f[R>>2]=1;f[N>>2]=f[j>>2];f[x>>2]=n[T>>1];f[I>>2]=f[L>>2];break}else{if((f[j>>2]|0)>=((f[g>>2]|0)-5|0))break e;f[S>>2]=1;f[D>>2]=f[j>>2];f[M>>2]=n[T>>1];if((f[L>>2]|0)!=(f[P>>2]|0)){f[P>>2]=f[L>>2];a=Z;o=f[p>>2]|0;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(m|0,f[f[p>>2]>>2]|0,f[(f[p>>2]|0)+24>>2]|0)|0;gs(q|0,(f[k>>2]|0)+144|0,4380)|0;t[_>>0]=t[(f[k>>2]|0)+7200>>0]|0}}}while(0);do{if(f[S>>2]&f[R>>2]){b=re((f[x>>2]|0)-(f[M>>2]|0)|0,(f[g>>2]|0)-(f[D>>2]|0)|0)|0;n[T>>1]=(f[M>>2]|0)+((b|0)/((f[N>>2]|0)-(f[D>>2]|0)|0)|0);if((n[T>>1]|0)>((f[M>>2]|0)+((f[x>>2]|0)-(f[M>>2]|0)>>2)|0)){n[T>>1]=(f[M>>2]|0)+((f[x>>2]|0)-(f[M>>2]|0)>>2);break}if((n[T>>1]|0)<((f[x>>2]|0)-((f[x>>2]|0)-(f[M>>2]|0)>>2)|0))n[T>>1]=(f[x>>2]|0)-((f[x>>2]|0)-(f[M>>2]|0)>>2)}else{f[O>>2]=Fa((((f[j>>2]|0)-(f[g>>2]|0)<<7|0)/(f[(f[k>>2]|0)+4608>>2]|0)|0)+2048|0)|0;f[O>>2]=Vi(f[O>>2]|0,131072)|0;if((f[j>>2]|0)>(f[g>>2]|0))f[O>>2]=Ji(f[O>>2]|0,85197)|0;b=re(f[O>>2]>>16,n[T>>1]|0)|0;n[T>>1]=b+((re(f[O>>2]&65535,n[T>>1]|0)|0)>>16)}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;b=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;if((b+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0)<=8388607){b=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;if((b+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0)<-8388608)a=-8388608;else{a=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;a=a+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0}}else a=8388607;f[F+(f[C>>2]<<2)>>2]=a<<8;f[C>>2]=(f[C>>2]|0)+1}t[(f[k>>2]|0)+7200>>0]=t[Y+908>>0]|0;Ao((f[k>>2]|0)+4768|0,F,(f[k>>2]|0)+7200|0,(f[v>>2]|0)==2&1,f[(f[k>>2]|0)+4604>>2]|0);f[L>>2]=Mo((f[k>>2]|0)+4768|0,f[(f[k>>2]|0)+4604>>2]|0)|0;f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[Y+(f[C>>2]<<2)>>2]=+(f[F+(f[C>>2]<<2)>>2]|0)/65536;f[C>>2]=(f[C>>2]|0)+1}f[U>>2]=(f[U>>2]|0)+1}if(f[S>>2]|0){if((f[L>>2]|0)!=(f[P>>2]|0)?(f[j>>2]|0)<=(f[g>>2]|0):0)break;a=f[p>>2]|0;o=Z;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(f[f[p>>2]>>2]|0,m|0,f[Z+24>>2]|0)|0;gs((f[k>>2]|0)+144|0,q|0,4380)|0;t[(f[k>>2]|0)+7200>>0]=t[_>>0]|0}}}while(0);ys((f[k>>2]|0)+9356|0,(f[k>>2]|0)+9356+(f[(f[k>>2]|0)+4608>>2]<<2)|0,(f[(f[k>>2]|0)+4616>>2]|0)+((f[(f[k>>2]|0)+4600>>2]|0)*5|0)<<2|0)|0;if(f[(f[k>>2]|0)+4712>>2]|0){f[f[d>>2]>>2]=0;f[w>>2]=f[z>>2];J=f[w>>2]|0;h=G;return J|0}else{f[(f[k>>2]|0)+4568>>2]=f[Y+228+((f[(f[k>>2]|0)+4604>>2]|0)-1<<2)>>2];t[(f[k>>2]|0)+4565>>0]=t[(f[k>>2]|0)+4768+29>>0]|0;f[(f[k>>2]|0)+4696>>2]=0;J=(Zi(f[p>>2]|0)|0)+7>>3;f[f[d>>2]>>2]=J;f[w>>2]=f[z>>2];J=f[w>>2]|0;h=G;return J|0}return 0}function Hi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function qi(e,r,i,a){e=e|0;r=r|0;i=i|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;v=h;h=h+4448|0;o=v+4432|0;l=v+4428|0;u=v+4424|0;c=v+4420|0;k=v+4416|0;b=v+4400|0;w=v+4384|0;d=v+4380|0;p=v;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=a;f[d>>2]=(f[o>>2]|0)+6132+((f[(f[o>>2]|0)+5780>>2]|0)*36|0);if(!(f[(f[o>>2]|0)+6124>>2]|0)){h=v;return}if((f[(f[o>>2]|0)+4556>>2]|0)<=77){h=v;return}f[(f[o>>2]|0)+4756+(f[(f[o>>2]|0)+5780>>2]<<2)>>2]=1;gs(p|0,(f[o>>2]|0)+144|0,4380)|0;a=f[d>>2]|0;e=(f[o>>2]|0)+4768|0;r=a+36|0;do{n[a>>1]=n[e>>1]|0;a=a+2|0;e=e+2|0}while((a|0)<(r|0));gs(w|0,f[l>>2]|0,f[(f[o>>2]|0)+4604>>2]<<2|0)|0;if(!((f[(f[o>>2]|0)+5780>>2]|0)!=0?(f[(f[o>>2]|0)+4756+((f[(f[o>>2]|0)+5780>>2]|0)-1<<2)>>2]|0)!=0:0)){t[(f[o>>2]|0)+4564>>0]=t[(f[o>>2]|0)+7200>>0]|0;i=f[d>>2]|0;t[i>>0]=(t[i>>0]|0)+(f[(f[o>>2]|0)+6128>>2]|0);i=(Wi(t[f[d>>2]>>0]|0,63)|0)&255;t[f[d>>2]>>0]=i}Ro(b,f[d>>2]|0,(f[o>>2]|0)+4564|0,(f[c>>2]|0)==2&1,f[(f[o>>2]|0)+4604>>2]|0);f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[(f[o>>2]|0)+4604>>2]|0))break;s[(f[l>>2]|0)+(f[k>>2]<<2)>>2]=+(f[b+(f[k>>2]<<2)>>2]|0)*152587890625e-16;f[k>>2]=(f[k>>2]|0)+1}Ot(f[o>>2]|0,f[l>>2]|0,f[d>>2]|0,p,(f[o>>2]|0)+6240+((f[(f[o>>2]|0)+5780>>2]|0)*320|0)|0,f[u>>2]|0);gs(f[l>>2]|0,w|0,f[(f[o>>2]|0)+4604>>2]<<2|0)|0;h=v;return}function Wi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zi(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Vi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ji(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Gi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+1744|0;o=_+1700|0;l=_+1696|0;u=_+1692|0;a=_+1688|0;d=_+1684|0;y=_+1680|0;w=_+1616|0;p=_+1608|0;v=_+1604|0;g=_+1600|0;b=_+1704|0;k=_+1536|0;c=_;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;s[a>>2]=n;f[y>>2]=(f[(f[o>>2]|0)+4612>>2]|0)+(f[(f[o>>2]|0)+4664>>2]|0);t[(f[o>>2]|0)+4768+31>>0]=4;s[p>>2]=+It(w,f[u>>2]|0,+s[a>>2],f[y>>2]|0,f[(f[o>>2]|0)+4604>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);e:do{if((f[(f[o>>2]|0)+4656>>2]|0?(f[(f[o>>2]|0)+4696>>2]|0)==0:0)?(f[(f[o>>2]|0)+4604>>2]|0)==4:0){n=+It(k,(f[u>>2]|0)+(f[y>>2]<<1<<2)|0,+s[a>>2],f[y>>2]|0,2,f[(f[o>>2]|0)+4664>>2]|0);s[p>>2]=+s[p>>2]-n;Rt(f[l>>2]|0,k,f[(f[o>>2]|0)+4664>>2]|0);s[v>>2]=3.4028234663852886e38;f[d>>2]=3;while(1){if((f[d>>2]|0)<0)break e;xo(b,(f[o>>2]|0)+4524|0,f[l>>2]|0,f[d>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);Mt(k,b,f[(f[o>>2]|0)+4664>>2]|0);et(c,k,f[u>>2]|0,f[y>>2]<<1,f[(f[o>>2]|0)+4664>>2]|0);n=+Ut(c+(f[(f[o>>2]|0)+4664>>2]<<2)|0,(f[y>>2]|0)-(f[(f[o>>2]|0)+4664>>2]|0)|0);s[g>>2]=n+ +Ut(c+(f[(f[o>>2]|0)+4664>>2]<<2)+(f[y>>2]<<2)|0,(f[y>>2]|0)-(f[(f[o>>2]|0)+4664>>2]|0)|0);n=+s[g>>2];if(!(+s[g>>2]<+s[p>>2])){if(n>+s[v>>2])break e}else{s[p>>2]=n;t[(f[o>>2]|0)+4768+31>>0]=f[d>>2]}s[v>>2]=+s[g>>2];f[d>>2]=(f[d>>2]|0)+-1}}}while(0);if((t[(f[o>>2]|0)+4768+31>>0]|0)!=4){h=_;return}Rt(f[l>>2]|0,w,f[(f[o>>2]|0)+4664>>2]|0);h=_;return}function Ki(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;j=h;h=h+192|0;b=j+188|0;F=j+184|0;w=j+180|0;N=j+176|0;k=j+172|0;d=j+168|0;p=j+164|0;T=j+160|0;D=j+156|0;P=j+152|0;I=j+148|0;M=j+144|0;U=j+140|0;_=j+136|0;g=j+132|0;v=j+128|0;x=j+112|0;C=j+104|0;L=j+100|0;O=j+80|0;B=j+64|0;E=j+48|0;S=j+44|0;y=j+24|0;R=j+8|0;A=j+4|0;m=j;f[b>>2]=e;f[F>>2]=r;f[w>>2]=i;f[N>>2]=t;f[k>>2]=n;f[d>>2]=a;f[p>>2]=o;f[T>>2]=l;f[D>>2]=u;f[M>>2]=f[b>>2];f[_>>2]=f[F>>2];f[A>>2]=(f[N>>2]|0)+(f[D>>2]<<2);f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;f[m>>2]=(f[A>>2]|0)+(0-((f[(f[k>>2]|0)+(f[I>>2]<<2)>>2]|0)+2)<<2);Fi(f[m>>2]|0,f[p>>2]|0,5,f[_>>2]|0);Ni(f[m>>2]|0,f[A>>2]|0,f[p>>2]|0,5,y);c=+Ut(f[A>>2]|0,f[p>>2]|0);s[R+(f[I>>2]<<2)>>2]=c;s[S>>2]=+s[R+(f[I>>2]<<2)>>2]+1+ +s[f[_>>2]>>2]+ +s[(f[_>>2]|0)+96>>2];s[S>>2]=+s[S>>2]*.01666666753590107;vt(f[_>>2]|0,R+(f[I>>2]<<2)|0,+s[S>>2],5);_t(f[_>>2]|0,5,y,f[M>>2]|0);c=+gt(f[M>>2]|0,f[_>>2]|0,y,+s[R+(f[I>>2]<<2)>>2],5);s[E+(f[I>>2]<<2)>>2]=c;s[U>>2]=+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]/(+s[E+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]+ +(f[p>>2]|0)*.009999999776482582);Ko(f[_>>2]|0,+s[U>>2],25);s[B+(f[I>>2]<<2)>>2]=+s[(f[_>>2]|0)+48>>2];f[A>>2]=(f[A>>2]|0)+(f[p>>2]<<2);f[M>>2]=(f[M>>2]|0)+20;f[_>>2]=(f[_>>2]|0)+100;f[I>>2]=(f[I>>2]|0)+1}if(f[w>>2]|0){s[v>>2]=9.999999974752427e-7;s[g>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[g>>2]=+s[g>>2]+ +s[R+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[E+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}c=+Xi(+s[g>>2]/+s[v>>2])*3;s[f[w>>2]>>2]=c}f[M>>2]=f[b>>2];f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[x+(f[I>>2]<<2)>>2]=0;f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;F=x+(f[I>>2]<<2)|0;s[F>>2]=+s[F>>2]+ +s[(f[M>>2]|0)+(f[P>>2]<<2)>>2];f[P>>2]=(f[P>>2]|0)+1}f[M>>2]=(f[M>>2]|0)+20;f[I>>2]=(f[I>>2]|0)+1}s[U>>2]=.0010000000474974513;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[U>>2]=+s[U>>2]+ +s[B+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}s[C>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[C>>2]=+s[C>>2]+ +s[x+(f[I>>2]<<2)>>2]*+s[B+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}s[C>>2]=+s[C>>2]/+s[U>>2];f[M>>2]=f[b>>2];f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[L>>2]=.10000000149011612/(+s[B+(f[I>>2]<<2)>>2]+.10000000149011612)*(+s[C>>2]-+s[x+(f[I>>2]<<2)>>2]);s[U>>2]=0;f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;if(+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]>.10000000149011612)c=+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2];else c=.10000000149011612;s[O+(f[P>>2]<<2)>>2]=c;s[U>>2]=+s[U>>2]+ +s[O+(f[P>>2]<<2)>>2];f[P>>2]=(f[P>>2]|0)+1}s[U>>2]=+s[L>>2]/+s[U>>2];f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]=+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]+ +s[O+(f[P>>2]<<2)>>2]*+s[U>>2];f[P>>2]=(f[P>>2]|0)+1}f[M>>2]=(f[M>>2]|0)+20;f[I>>2]=(f[I>>2]|0)+1}h=j;return}function Xi(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function $i(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;k=h;h=h+1792|0;l=k+1776|0;u=k+1772|0;c=k+1768|0;S=k+1764|0;b=k+1760|0;d=k+1756|0;w=k+1752|0;y=k+1748|0;E=k+1744|0;p=k+1740|0;_=k+1672|0;v=k+1608|0;g=k+1544|0;m=k+8|0;A=k;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[S>>2]=a;f[b>>2]=o;f[d>>2]=(f[(f[l>>2]|0)+4620>>2]|0)+(f[(f[l>>2]|0)+4608>>2]|0)+(f[(f[l>>2]|0)+4616>>2]|0);f[p>>2]=(f[S>>2]|0)+(0-(f[(f[l>>2]|0)+4616>>2]|0)<<2);f[E>>2]=(f[p>>2]|0)+(f[d>>2]<<2)+(0-(f[(f[l>>2]|0)+4572>>2]|0)<<2);f[A>>2]=m;Di(f[A>>2]|0,f[E>>2]|0,1,f[(f[l>>2]|0)+4620>>2]|0);f[A>>2]=(f[A>>2]|0)+(f[(f[l>>2]|0)+4620>>2]<<2);f[E>>2]=(f[E>>2]|0)+(f[(f[l>>2]|0)+4620>>2]<<2);gs(f[A>>2]|0,f[E>>2]|0,(f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2|0)|0;f[A>>2]=(f[A>>2]|0)+((f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+((f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2);Di(f[A>>2]|0,f[E>>2]|0,2,f[(f[l>>2]|0)+4620>>2]|0);Pt(_,m,f[(f[l>>2]|0)+4572>>2]|0,(f[(f[l>>2]|0)+4672>>2]|0)+1|0);s[_>>2]=+s[_>>2]+(+s[_>>2]*.0010000000474974513+1);s[y>>2]=+Xo(g,_,f[(f[l>>2]|0)+4672>>2]|0);s[(f[u>>2]|0)+868>>2]=+s[_>>2]/(+s[y>>2]>1?+s[y>>2]:1);jt(v,g,f[(f[l>>2]|0)+4672>>2]|0);Ct(v,f[(f[l>>2]|0)+4672>>2]|0,.9900000095367432);et(f[c>>2]|0,v,f[p>>2]|0,f[d>>2]|0,f[(f[l>>2]|0)+4672>>2]|0);if(t[(f[l>>2]|0)+4768+29>>0]|0?(f[(f[l>>2]|0)+4696>>2]|0)==0:0){s[w>>2]=.6000000238418579;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4672>>2]|0)*.004000000189989805;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4556>>2]|0)*.10000000149011612*.00390625;s[w>>2]=+s[w>>2]-+(t[(f[l>>2]|0)+4565>>0]>>1|0)*.15000000596046448;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4744>>2]|0)*.10000000149011612*30517578125e-15;S=(Ft(f[c>>2]|0,(f[u>>2]|0)+228|0,(f[l>>2]|0)+4768+26|0,(f[l>>2]|0)+4768+28|0,(f[l>>2]|0)+12236|0,f[(f[l>>2]|0)+4568>>2]|0,+(f[(f[l>>2]|0)+4676>>2]|0)/65536,+s[w>>2],f[(f[l>>2]|0)+4600>>2]|0,f[(f[l>>2]|0)+4668>>2]|0,f[(f[l>>2]|0)+4604>>2]|0,f[b>>2]|0)|0)==0;l=(f[l>>2]|0)+4768+29|0;if(S){t[l>>0]=2;h=k;return}else{t[l>>0]=1;h=k;return}}S=(f[u>>2]|0)+228|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[(f[l>>2]|0)+4768+26>>1]=0;t[(f[l>>2]|0)+4768+28>>0]=0;s[(f[l>>2]|0)+12236>>2]=0;h=k;return}function Qi(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+2048|0;u=A+2004|0;c=A+2e3|0;b=A+1996|0;w=A+1992|0;k=A+1988|0;g=A+1984|0;p=A+1584|0;y=A+1568|0;v=A+1552|0;l=A+2008|0;E=A+1548|0;m=A+1544|0;d=A+8|0;_=A;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=a;f[k>>2]=o;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;s[y+(f[g>>2]<<2)>>2]=1/+s[(f[c>>2]|0)+(f[g>>2]<<2)>>2];s[v+(f[g>>2]<<2)>>2]=+s[y+(f[g>>2]<<2)>>2]*+s[y+(f[g>>2]<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}if((t[(f[u>>2]|0)+4768+29>>0]|0)==2){Ki((f[c>>2]|0)+144|0,p,(f[c>>2]|0)+872|0,f[b>>2]|0,(f[c>>2]|0)+228|0,v,f[(f[u>>2]|0)+4612>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+4616>>2]|0);Lt((f[c>>2]|0)+144|0,(f[u>>2]|0)+4768+4|0,(f[u>>2]|0)+4768+32|0,(f[u>>2]|0)+4688|0,p,f[(f[u>>2]|0)+4684>>2]|0,f[(f[u>>2]|0)+4680>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+5124>>2]|0);ot(f[u>>2]|0,f[c>>2]|0,f[k>>2]|0);at(d,(f[w>>2]|0)+(0-(f[(f[u>>2]|0)+4664>>2]|0)<<2)|0,(f[c>>2]|0)+144|0,(f[c>>2]|0)+228|0,y,f[(f[u>>2]|0)+4612>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+4664>>2]|0)}else{f[E>>2]=(f[w>>2]|0)+(0-(f[(f[u>>2]|0)+4664>>2]|0)<<2);f[m>>2]=d;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;Jt(f[m>>2]|0,f[E>>2]|0,+s[y+(f[g>>2]<<2)>>2],(f[(f[u>>2]|0)+4612>>2]|0)+(f[(f[u>>2]|0)+4664>>2]|0)|0);f[m>>2]=(f[m>>2]|0)+((f[(f[u>>2]|0)+4612>>2]|0)+(f[(f[u>>2]|0)+4664>>2]|0)<<2);f[E>>2]=(f[E>>2]|0)+(f[(f[u>>2]|0)+4612>>2]<<2);f[g>>2]=(f[g>>2]|0)+1}vs((f[c>>2]|0)+144|0,0,(f[(f[u>>2]|0)+4604>>2]|0)*5<<2|0)|0;s[(f[c>>2]|0)+872>>2]=0;f[(f[u>>2]|0)+4688>>2]=0}if(f[(f[u>>2]|0)+4696>>2]|0){s[_>>2]=.009999999776482582;a=f[u>>2]|0;S=+s[_>>2];Gi(a,l,d,S);a=f[u>>2]|0;i=f[c>>2]|0;i=i+16|0;r=f[u>>2]|0;r=r+4524|0;xt(a,i,l,r);r=f[c>>2]|0;r=r+876|0;i=f[c>>2]|0;i=i+16|0;a=f[c>>2]|0;m=f[u>>2]|0;m=m+4612|0;m=f[m>>2]|0;E=f[u>>2]|0;E=E+4604|0;E=f[E>>2]|0;c=f[u>>2]|0;c=c+4664|0;c=f[c>>2]|0;yt(r,d,i,a,m,E,c);c=f[u>>2]|0;c=c+4524|0;u=c+32|0;do{n[c>>1]=n[l>>1]|0;c=c+2|0;l=l+2|0}while((c|0)<(u|0));h=A;return}else{s[_>>2]=+q(2,+(+s[(f[c>>2]|0)+872>>2]/3))/1e4;s[_>>2]=+s[_>>2]/(+s[(f[c>>2]|0)+860>>2]*.75+.25);a=f[u>>2]|0;S=+s[_>>2];Gi(a,l,d,S);a=f[u>>2]|0;i=f[c>>2]|0;i=i+16|0;r=f[u>>2]|0;r=r+4524|0;xt(a,i,l,r);r=f[c>>2]|0;r=r+876|0;i=f[c>>2]|0;i=i+16|0;a=f[c>>2]|0;m=f[u>>2]|0;m=m+4612|0;m=f[m>>2]|0;E=f[u>>2]|0;E=E+4604|0;E=f[E>>2]|0;c=f[u>>2]|0;c=c+4664|0;c=f[c>>2]|0;yt(r,d,i,a,m,E,c);c=f[u>>2]|0;c=c+4524|0;u=c+32|0;do{n[c>>1]=n[l>>1]|0;c=c+2|0;l=l+2|0}while((c|0)<(u|0));h=A;return}}function et(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;a=c+16|0;o=c+12|0;l=c+8|0;s=c+4|0;u=c;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;switch(f[u>>2]|0){case 6:{rt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 8:{it(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 10:{tt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 12:{nt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 16:{ft(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}default:{}}vs(f[a>>2]|0,0,f[u>>2]<<2|0)|0;h=c;return}function rt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=6;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function it(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=8;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function tt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=10;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function nt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=12;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2]+ +s[(f[b>>2]|0)+-40>>2]*+s[(f[a>>2]|0)+40>>2]+ +s[(f[b>>2]|0)+-44>>2]*+s[(f[a>>2]|0)+44>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function ft(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=16;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2]+ +s[(f[b>>2]|0)+-40>>2]*+s[(f[a>>2]|0)+40>>2]+ +s[(f[b>>2]|0)+-44>>2]*+s[(f[a>>2]|0)+44>>2]+ +s[(f[b>>2]|0)+-48>>2]*+s[(f[a>>2]|0)+48>>2]+ +s[(f[b>>2]|0)+-52>>2]*+s[(f[a>>2]|0)+52>>2]+ +s[(f[b>>2]|0)+-56>>2]*+s[(f[a>>2]|0)+56>>2]+ +s[(f[b>>2]|0)+-60>>2]*+s[(f[a>>2]|0)+60>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function at(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0;S=h;h=h+80|0;R=S+76|0;T=S+72|0;u=S+68|0;c=S+64|0;b=S+60|0;w=S+56|0;k=S+52|0;d=S+48|0;A=S+44|0;E=S+40|0;p=S+20|0;v=S+16|0;y=S+12|0;m=S+8|0;g=S+4|0;_=S;f[R>>2]=e;f[T>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[A>>2]=f[T>>2];f[v>>2]=f[R>>2];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[k>>2]|0))break;f[E>>2]=(f[A>>2]|0)+(0-(f[(f[c>>2]|0)+(f[m>>2]<<2)>>2]|0)<<2);s[y>>2]=+s[(f[b>>2]|0)+(f[m>>2]<<2)>>2];f[g>>2]=0;while(1){if((f[g>>2]|0)>=5)break;s[p+(f[g>>2]<<2)>>2]=+s[(f[u>>2]|0)+(((f[m>>2]|0)*5|0)+(f[g>>2]|0)<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}f[g>>2]=0;while(1){if((f[g>>2]|0)>=((f[w>>2]|0)+(f[d>>2]|0)|0))break;s[(f[v>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[A>>2]|0)+(f[g>>2]<<2)>>2];f[_>>2]=0;while(1){if((f[_>>2]|0)>=5)break;T=(f[v>>2]|0)+(f[g>>2]<<2)|0;s[T>>2]=+s[T>>2]-+s[p+(f[_>>2]<<2)>>2]*+s[(f[E>>2]|0)+(2-(f[_>>2]|0)<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}T=(f[v>>2]|0)+(f[g>>2]<<2)|0;s[T>>2]=+s[T>>2]*+s[y>>2];f[E>>2]=(f[E>>2]|0)+4;f[g>>2]=(f[g>>2]|0)+1}f[v>>2]=(f[v>>2]|0)+((f[w>>2]|0)+(f[d>>2]|0)<<2);f[A>>2]=(f[A>>2]|0)+(f[w>>2]<<2);f[m>>2]=(f[m>>2]|0)+1}h=S;return}function ot(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,u=0,c=0,b=0;c=h;h=h+16|0;l=c+12|0;u=c+8|0;b=c+4|0;o=c;f[l>>2]=e;f[u>>2]=r;f[b>>2]=i;i=f[l>>2]|0;if(!(f[b>>2]|0)){f[o>>2]=(f[i+4640>>2]|0)+(f[(f[l>>2]|0)+5776>>2]|0);if(!(+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612>2))if(+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612<0)a=0;else a=+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612;else a=2;t[(f[l>>2]|0)+4768+33>>0]=~~a}else t[i+4768+33>>0]=0;s[(f[u>>2]|0)+224>>2]=+(n[24566+(t[(f[l>>2]|0)+4768+33>>0]<<1)>>1]|0)/16384;h=c;return}function lt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;D=h;h=h+1152|0;x=D+1140|0;O=D+1136|0;a=D+1132|0;F=D+1128|0;B=D+1124|0;U=D+1120|0;c=D+1116|0;d=D+1112|0;L=D+1108|0;P=D+1104|0;I=D+1100|0;m=D+1096|0;E=D+1092|0;l=D+1088|0;u=D+1084|0;o=D+1080|0;v=D+1076|0;w=D+1072|0;k=D+1068|0;_=D+1064|0;y=D+1060|0;j=D+1056|0;C=D+1052|0;R=D+1048|0;M=D+88|0;p=D+20|0;T=D+16|0;b=D+12|0;A=D+8|0;S=D+4|0;g=D;f[x>>2]=e;f[O>>2]=r;f[a>>2]=i;f[F>>2]=n;f[B>>2]=(f[x>>2]|0)+7200;f[T>>2]=(f[F>>2]|0)+(0-(f[(f[x>>2]|0)+4624>>2]|0)<<2);s[d>>2]=+(f[(f[x>>2]|0)+4748>>2]|0)*.0078125;s[(f[O>>2]|0)+856>>2]=+((f[(f[x>>2]|0)+4728>>2]|0)+(f[(f[x>>2]|0)+4728+4>>2]|0)|0)*.5*30517578125e-15;N=+st((+s[d>>2]-20)*.25);s[(f[O>>2]|0)+860>>2]=N;if(!(f[(f[x>>2]|0)+4708>>2]|0)){s[C>>2]=1-+(f[(f[x>>2]|0)+4556>>2]|0)*.00390625;s[d>>2]=+s[d>>2]-+s[(f[O>>2]|0)+860>>2]*2*(+s[(f[O>>2]|0)+856>>2]*.5+.5)*+s[C>>2]*+s[C>>2]}i=f[x>>2]|0;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2)s[d>>2]=+s[d>>2]+ +s[i+12236>>2]*2;else s[d>>2]=+s[d>>2]+(+(f[i+4748>>2]|0)*-.4000000059604645*.0078125+6)*(1-+s[(f[O>>2]|0)+856>>2]);i=f[x>>2]|0;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){t[i+4768+30>>0]=0;s[(f[O>>2]|0)+864>>2]=0}else{f[c>>2]=f[i+4600>>2]<<1;s[o>>2]=0;s[u>>2]=0;f[b>>2]=f[a>>2];f[U>>2]=0;while(1){if((f[U>>2]|0)>=((((f[(f[x>>2]|0)+4604>>2]&65535)<<16>>16)*5|0)/2|0|0))break;N=+(f[c>>2]|0);s[m>>2]=N+ +Ut(f[b>>2]|0,f[c>>2]|0);s[l>>2]=+ut(+s[m>>2]);if((f[U>>2]|0)>0){N=+Y(+(+s[l>>2]-+s[u>>2]));s[o>>2]=+s[o>>2]+N}s[u>>2]=+s[l>>2];f[b>>2]=(f[b>>2]|0)+(f[c>>2]<<2);f[U>>2]=(f[U>>2]|0)+1}N=+st((+s[o>>2]-5)*.4000000059604645);s[(f[O>>2]|0)+864>>2]=N;i=(f[x>>2]|0)+4768+30|0;if(+s[(f[O>>2]|0)+864>>2]>.75)t[i>>0]=0;else t[i>>0]=1;s[d>>2]=+s[d>>2]+(+s[(f[O>>2]|0)+864>>2]-.5)*2}s[j>>2]=+s[(f[O>>2]|0)+868>>2]*.0010000000474974513;N=.949999988079071/(+s[j>>2]*+s[j>>2]+1);s[k>>2]=N;s[w>>2]=N;s[v>>2]=(1-+s[(f[O>>2]|0)+860>>2]*.75)*.009999999776482582;s[w>>2]=+s[w>>2]-+s[v>>2];s[k>>2]=+s[k>>2]+ +s[v>>2];s[w>>2]=+s[w>>2]/+s[k>>2];if((f[(f[x>>2]|0)+4704>>2]|0)>0)s[R>>2]=+(f[(f[x>>2]|0)+4704>>2]|0)/65536+ +s[(f[O>>2]|0)+860>>2]*.009999999776482582;else s[R>>2]=0;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;f[g>>2]=(f[(f[x>>2]|0)+4600>>2]|0)*3;f[S>>2]=((f[(f[x>>2]|0)+4628>>2]|0)-(f[g>>2]|0)|0)/2|0;Di(M,f[T>>2]|0,1,f[S>>2]|0);f[A>>2]=f[S>>2];gs(M+(f[A>>2]<<2)|0,(f[T>>2]|0)+(f[A>>2]<<2)|0,f[g>>2]<<2|0)|0;f[A>>2]=(f[A>>2]|0)+(f[g>>2]|0);Di(M+(f[A>>2]<<2)|0,(f[T>>2]|0)+(f[A>>2]<<2)|0,2,f[S>>2]|0);f[T>>2]=(f[T>>2]|0)+(f[(f[x>>2]|0)+4612>>2]<<2);if((f[(f[x>>2]|0)+4704>>2]|0)>0)St(p,M,+s[R>>2],f[(f[x>>2]|0)+4628>>2]|0,f[(f[x>>2]|0)+4660>>2]|0);else Pt(p,M,f[(f[x>>2]|0)+4628>>2]|0,(f[(f[x>>2]|0)+4660>>2]|0)+1|0);s[p>>2]=+s[p>>2]+ +s[p>>2]*4999999873689376e-20;s[m>>2]=+Dt((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,p,f[(f[x>>2]|0)+4660>>2]|0);N=+H(+ +s[m>>2]);s[(f[O>>2]|0)+(f[U>>2]<<2)>>2]=N;if((f[(f[x>>2]|0)+4704>>2]|0)>0){N=+ht((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,+s[R>>2],f[(f[x>>2]|0)+4660>>2]|0);F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*N}Ct((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0,+s[k>>2]);gs((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,(f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]<<2|0)|0;Ct((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0,+s[w>>2]);s[E>>2]=+Nt((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0);s[m>>2]=+Nt((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0);s[(f[O>>2]|0)+788+(f[U>>2]<<2)>>2]=1-(1-+s[E>>2]/+s[m>>2])*.699999988079071;ct((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,(f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,+s[R>>2],3.999000072479248,f[(f[x>>2]|0)+4660>>2]|0);f[U>>2]=(f[U>>2]|0)+1}s[_>>2]=+q(2,+(+s[d>>2]*-.1599999964237213));s[y>>2]=+q(2,.3199999928474426);f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*+s[_>>2];F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]+ +s[y>>2];f[U>>2]=(f[U>>2]|0)+1}s[_>>2]=+s[(f[O>>2]|0)+860>>2]*.10000000149011612+1.0499999523162842;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[O>>2]|0)+788+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*+s[_>>2];f[U>>2]=(f[U>>2]|0)+1}s[j>>2]=((+(f[(f[x>>2]|0)+4728>>2]|0)*30517578125e-15-1)*.5+1)*4;s[j>>2]=+s[j>>2]*(+(f[(f[x>>2]|0)+4556>>2]|0)*.00390625);if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){f[U>>2]=0;while(1){i=f[x>>2]|0;if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;s[C>>2]=.20000000298023224/+(f[i+4600>>2]|0)+3/+(f[(f[O>>2]|0)+228+(f[U>>2]<<2)>>2]|0);s[(f[O>>2]|0)+756+(f[U>>2]<<2)>>2]=+s[C>>2]+-1;s[(f[O>>2]|0)+772+(f[U>>2]<<2)>>2]=1-+s[C>>2]-+s[C>>2]*+s[j>>2];f[U>>2]=(f[U>>2]|0)+1}s[I>>2]=-.25-+(f[i+4556>>2]|0)*.26249998807907104*.00390625}else{s[C>>2]=1.2999999523162842/+(f[(f[x>>2]|0)+4600>>2]|0);s[(f[O>>2]|0)+756>>2]=+s[C>>2]+-1;s[(f[O>>2]|0)+772>>2]=1-+s[C>>2]-+s[C>>2]*+s[j>>2]*.6000000238418579;f[U>>2]=1;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;s[(f[O>>2]|0)+756+(f[U>>2]<<2)>>2]=+s[(f[O>>2]|0)+756>>2];s[(f[O>>2]|0)+772+(f[U>>2]<<2)>>2]=+s[(f[O>>2]|0)+772>>2];f[U>>2]=(f[U>>2]|0)+1}s[I>>2]=-.25}s[L>>2]=(1-+s[(f[O>>2]|0)+860>>2])*.10000000149011612*+s[(f[x>>2]|0)+12236>>2];s[L>>2]=+s[L>>2]+(1-+s[(f[O>>2]|0)+856>>2])*.10000000149011612;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){s[P>>2]=.30000001192092896;s[P>>2]=+s[P>>2]+(1-(1-+s[(f[O>>2]|0)+860>>2])*+s[(f[O>>2]|0)+856>>2])*.20000000298023224;N=+H(+ +s[(f[x>>2]|0)+12236>>2]);s[P>>2]=+s[P>>2]*N}else s[P>>2]=0;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[B>>2]|0)+4|0;s[F>>2]=+s[F>>2]+(+s[L>>2]-+s[(f[B>>2]|0)+4>>2])*.4000000059604645;s[(f[O>>2]|0)+804+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+4>>2];F=(f[B>>2]|0)+8|0;s[F>>2]=+s[F>>2]+(+s[P>>2]-+s[(f[B>>2]|0)+8>>2])*.4000000059604645;s[(f[O>>2]|0)+836+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+8>>2];F=(f[B>>2]|0)+12|0;s[F>>2]=+s[F>>2]+(+s[I>>2]-+s[(f[B>>2]|0)+12>>2])*.4000000059604645;s[(f[O>>2]|0)+820+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+12>>2];f[U>>2]=(f[U>>2]|0)+1}h=D;return}function st(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;s[i>>2]=e;e=1/(+$(+-+s[i>>2])+1);h=r;return+e}function ut(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function ht(e,r,i){e=e|0;r=+r;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;u=l+8|0;o=l+4|0;a=l;f[t>>2]=e;s[n>>2]=r;f[u>>2]=i;s[n>>2]=-+s[n>>2];s[a>>2]=+s[(f[t>>2]|0)+((f[u>>2]|0)-1<<2)>>2];f[o>>2]=(f[u>>2]|0)-2;while(1){r=+s[n>>2]*+s[a>>2];if((f[o>>2]|0)<0)break;s[a>>2]=r+ +s[(f[t>>2]|0)+(f[o>>2]<<2)>>2];f[o>>2]=(f[o>>2]|0)+-1}h=l;return+(1/(1-r))}function ct(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=+t;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;a=_+48|0;o=_+44|0;l=_+40|0;u=_+36|0;c=_+32|0;d=_+28|0;v=_+24|0;p=_+20|0;y=_+16|0;g=_+12|0;b=_+8|0;k=_+4|0;w=_;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;s[u>>2]=t;f[c>>2]=n;f[p>>2]=0;f[d>>2]=(f[c>>2]|0)-1;while(1){i=+s[l>>2];if((f[d>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-i*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-+s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+-1}s[k>>2]=(1-i*+s[l>>2])/(+s[l>>2]*+s[f[a>>2]>>2]+1);s[w>>2]=(1-+s[l>>2]*+s[l>>2])/(+s[l>>2]*+s[f[o>>2]>>2]+1);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}f[v>>2]=0;while(1){if((f[v>>2]|0)>=10){r=31;break}s[g>>2]=-1;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;t=+Y(+ +s[(f[a>>2]|0)+(f[d>>2]<<2)>>2]);n=t>+Y(+ +s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]);r=f[d>>2]|0;if(n)i=+s[(f[a>>2]|0)+(r<<2)>>2];else i=+s[(f[o>>2]|0)+(r<<2)>>2];s[y>>2]=+Y(+i);if(+s[y>>2]>+s[g>>2]){s[g>>2]=+s[y>>2];f[p>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}if(+s[g>>2]<=+s[u>>2]){r=31;break}f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]+ +s[l>>2]*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]+ +s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[k>>2]=1/+s[k>>2];s[w>>2]=1/+s[w>>2];f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}s[b>>2]=.9900000095367432-(+(f[v>>2]|0)*.10000000149011612+.800000011920929)*(+s[g>>2]-+s[u>>2])/(+s[g>>2]*+((f[p>>2]|0)+1|0));Ct(f[a>>2]|0,f[c>>2]|0,+s[b>>2]);Ct(f[o>>2]|0,f[c>>2]|0,+s[b>>2]);f[d>>2]=(f[c>>2]|0)-1;while(1){i=+s[l>>2];if((f[d>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-i*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-+s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+-1}s[k>>2]=(1-i*+s[l>>2])/(+s[l>>2]*+s[f[a>>2]>>2]+1);s[w>>2]=(1-+s[l>>2]*+s[l>>2])/(+s[l>>2]*+s[f[o>>2]>>2]+1);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}f[v>>2]=(f[v>>2]|0)+1}if((r|0)==31){h=_;return}}function bt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;A=h;h=h+464|0;a=A+460|0;o=A+456|0;S=A+452|0;R=A+448|0;d=A+444|0;v=A+440|0;g=A+436|0;y=A+432|0;b=A+428|0;p=A+424|0;k=A+420|0;w=A+416|0;u=A+408|0;l=A+404|0;_=A+400|0;m=A+396|0;c=A+384|0;E=A;f[a>>2]=e;f[o>>2]=r;f[S>>2]=i;f[R>>2]=n;f[d>>2]=(f[a>>2]|0)+7216;f[_>>2]=f[R>>2];f[m>>2]=f[S>>2];f[y>>2]=f[(f[d>>2]|0)+2136>>2];f[g>>2]=0;while(1){e=f[a>>2]|0;if((f[g>>2]|0)>=(f[(f[a>>2]|0)+4604>>2]|0))break;if((t[e+4768+29>>0]|0)==2)f[y>>2]=f[(f[o>>2]|0)+228+(f[g>>2]<<2)>>2];s[b>>2]=+s[(f[o>>2]|0)+836+(f[g>>2]<<2)>>2]*(1-+s[(f[o>>2]|0)+804+(f[g>>2]<<2)>>2]);s[c>>2]=+s[b>>2]*.25;s[c+4>>2]=+s[b>>2]*.4999847412109375;s[c+8>>2]=+s[b>>2]*.25;s[p>>2]=+s[(f[o>>2]|0)+820+(f[g>>2]<<2)>>2];s[k>>2]=+s[(f[o>>2]|0)+756+(f[g>>2]<<2)>>2];s[w>>2]=+s[(f[o>>2]|0)+772+(f[g>>2]<<2)>>2];f[l>>2]=(f[o>>2]|0)+244+(f[g>>2]<<4<<2);wt((f[d>>2]|0)+2048|0,E,f[l>>2]|0,f[_>>2]|0,+(f[(f[a>>2]|0)+4704>>2]|0)/65536,f[(f[a>>2]|0)+4612>>2]|0,f[(f[a>>2]|0)+4660>>2]|0);s[u>>2]=+s[(f[o>>2]|0)+788+(f[g>>2]<<2)>>2];s[u+4>>2]=-+s[(f[o>>2]|0)+788+(f[g>>2]<<2)>>2]*(+s[(f[o>>2]|0)+804+(f[g>>2]<<2)>>2]*+s[b>>2]+.05000000074505806+ +s[(f[o>>2]|0)+860>>2]*.10000000149011612);s[f[m>>2]>>2]=+s[u>>2]*+s[E>>2]+ +s[u+4>>2]*+s[(f[d>>2]|0)+2128>>2];f[v>>2]=1;while(1){if((f[v>>2]|0)>=(f[(f[a>>2]|0)+4612>>2]|0))break;s[(f[m>>2]|0)+(f[v>>2]<<2)>>2]=+s[u>>2]*+s[E+(f[v>>2]<<2)>>2]+ +s[u+4>>2]*+s[E+((f[v>>2]|0)-1<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[(f[d>>2]|0)+2128>>2]=+s[E+((f[(f[a>>2]|0)+4612>>2]|0)-1<<2)>>2];kt(f[d>>2]|0,f[m>>2]|0,f[m>>2]|0,c,+s[p>>2],+s[k>>2],+s[w>>2],f[y>>2]|0,f[(f[a>>2]|0)+4612>>2]|0);f[_>>2]=(f[_>>2]|0)+(f[(f[a>>2]|0)+4612>>2]<<2);f[m>>2]=(f[m>>2]|0)+(f[(f[a>>2]|0)+4612>>2]<<2);f[g>>2]=(f[g>>2]|0)+1}f[(f[d>>2]|0)+2136>>2]=f[(f[o>>2]|0)+228+((f[e+4604>>2]|0)-1<<2)>>2];h=A;return}function wt(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+48|0;l=m+44|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;k=m+24|0;d=m+20|0;g=m+16|0;v=m+12|0;p=m+8|0;y=m+4|0;_=m;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;s[w>>2]=n;f[k>>2]=a;f[d>>2]=o;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[k>>2]|0))break;s[_>>2]=+s[f[l>>2]>>2]+ +s[w>>2]*+s[(f[l>>2]|0)+4>>2];s[f[l>>2]>>2]=+s[(f[b>>2]|0)+(f[g>>2]<<2)>>2];s[y>>2]=+s[(f[l>>2]|0)+4>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+8>>2]-+s[_>>2]);s[(f[l>>2]|0)+4>>2]=+s[_>>2];s[p>>2]=+s[f[c>>2]>>2]*+s[_>>2];f[v>>2]=2;while(1){if((f[v>>2]|0)>=(f[d>>2]|0))break;s[_>>2]=+s[(f[l>>2]|0)+(f[v>>2]<<2)>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]-+s[y>>2]);s[(f[l>>2]|0)+(f[v>>2]<<2)>>2]=+s[y>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+((f[v>>2]|0)-1<<2)>>2]*+s[y>>2];s[y>>2]=+s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+((f[v>>2]|0)+2<<2)>>2]-+s[_>>2]);s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]=+s[_>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+(f[v>>2]<<2)>>2]*+s[_>>2];f[v>>2]=(f[v>>2]|0)+2}s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]=+s[y>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+((f[d>>2]|0)-1<<2)>>2]*+s[y>>2];s[(f[u>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[b>>2]|0)+(f[g>>2]<<2)>>2]-+s[p>>2];f[g>>2]=(f[g>>2]|0)+1}h=m;return}function kt(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=+a;o=+o;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;O=h;h=h+80|0;c=O+68|0;b=O+64|0;w=O+60|0;k=O+56|0;d=O+52|0;p=O+48|0;v=O+44|0;g=O+40|0;y=O+36|0;E=O+32|0;A=O+28|0;m=O+24|0;T=O+20|0;S=O+16|0;R=O+12|0;M=O+8|0;x=O+4|0;_=O;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;s[d>>2]=n;s[p>>2]=a;s[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=f[c>>2];f[m>>2]=f[(f[c>>2]|0)+2116>>2];s[M>>2]=+s[(f[c>>2]|0)+2120>>2];s[x>>2]=+s[(f[c>>2]|0)+2124>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[y>>2]|0))break;if((f[g>>2]|0)>0){f[A>>2]=(f[g>>2]|0)+(f[m>>2]|0);s[R>>2]=+s[(f[_>>2]|0)+(((f[A>>2]|0)-1-1&511)<<2)>>2]*+s[f[k>>2]>>2];s[R>>2]=+s[R>>2]+ +s[(f[_>>2]|0)+(((f[A>>2]|0)-1&511)<<2)>>2]*+s[(f[k>>2]|0)+4>>2];s[R>>2]=+s[R>>2]+ +s[(f[_>>2]|0)+(((f[A>>2]|0)-1+1&511)<<2)>>2]*+s[(f[k>>2]|0)+8>>2]}else s[R>>2]=0;s[T>>2]=+s[M>>2]*+s[d>>2];s[S>>2]=+s[M>>2]*+s[v>>2]+ +s[x>>2]*+s[p>>2];s[M>>2]=+s[(f[b>>2]|0)+(f[E>>2]<<2)>>2]-+s[T>>2];s[x>>2]=+s[M>>2]-+s[S>>2];f[m>>2]=(f[m>>2]|0)-1&511;s[(f[_>>2]|0)+(f[m>>2]<<2)>>2]=+s[x>>2];s[(f[w>>2]|0)+(f[E>>2]<<2)>>2]=+s[x>>2]-+s[R>>2];f[E>>2]=(f[E>>2]|0)+1}s[(f[c>>2]|0)+2120>>2]=+s[M>>2];s[(f[c>>2]|0)+2124>>2]=+s[x>>2];f[(f[c>>2]|0)+2116>>2]=f[m>>2];h=O;return}function dt(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;v=h;h=h+64|0;k=v+48|0;d=v+44|0;a=v+40|0;b=v+36|0;u=v+32|0;c=v+16|0;w=v+12|0;o=v+8|0;l=v+4|0;p=v;f[k>>2]=e;f[d>>2]=r;f[a>>2]=i;f[b>>2]=(f[k>>2]|0)+7200;e:do{if((t[(f[k>>2]|0)+4768+29>>0]|0)==2){s[w>>2]=1-+pt((+s[(f[d>>2]|0)+872>>2]-12)*.25)*.5;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break e;r=(f[d>>2]|0)+(f[u>>2]<<2)|0;s[r>>2]=+s[r>>2]*+s[w>>2];f[u>>2]=(f[u>>2]|0)+1}}}while(0);g=+q(2,+((21-+(f[(f[k>>2]|0)+4748>>2]|0)*.0078125)*.33000001311302185));s[o>>2]=g/+(f[(f[k>>2]|0)+4612>>2]|0);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[l>>2]=+s[(f[d>>2]|0)+(f[u>>2]<<2)>>2];s[l>>2]=+H(+(+s[l>>2]*+s[l>>2]+ +s[(f[d>>2]|0)+876+(f[u>>2]<<2)>>2]*+s[o>>2]));s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]=+s[l>>2]<32767?+s[l>>2]:32767;f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;f[c+(f[u>>2]<<2)>>2]=~~(+s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]*65536);f[u>>2]=(f[u>>2]|0)+1}gs((f[d>>2]|0)+892|0,c|0,f[(f[k>>2]|0)+4604>>2]<<2|0)|0;t[(f[d>>2]|0)+908>>0]=t[f[b>>2]>>0]|0;Ao((f[k>>2]|0)+4768|0,c,f[b>>2]|0,(f[a>>2]|0)==2&1,f[(f[k>>2]|0)+4604>>2]|0);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]=+(f[c+(f[u>>2]<<2)>>2]|0)/65536;f[u>>2]=(f[u>>2]|0)+1}do{if((t[(f[k>>2]|0)+4768+29>>0]|0)==2){a=(f[k>>2]|0)+4768+30|0;if(+s[(f[d>>2]|0)+872>>2]+ +(f[(f[k>>2]|0)+4744>>2]|0)*30517578125e-15>1){t[a>>0]=0;break}else{t[a>>0]=1;break}}}while(0);s[p>>2]=+(n[24558+(t[(f[k>>2]|0)+4768+29>>0]>>1<<2)+(t[(f[k>>2]|0)+4768+30>>0]<<1)>>1]|0)/1024;s[(f[d>>2]|0)+852>>2]=+(f[(f[k>>2]|0)+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(f[(f[k>>2]|0)+4556>>2]|0)*-.20000000298023224*.00390625+ +s[(f[d>>2]|0)+856>>2]*-.10000000149011612+ +s[(f[d>>2]|0)+860>>2]*-.20000000298023224+ +s[p>>2]*.800000011920929;h=v;return}function pt(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;s[i>>2]=e;e=1/(+$(+-+s[i>>2])+1);h=r;return+e}function vt(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;s[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){i=+s[o>>2];if((f[u>>2]|0)>=(f[l>>2]|0))break;r=re(f[u>>2]|0,f[l>>2]|0)|0;r=(f[n>>2]|0)+(r+(f[u>>2]|0)<<2)|0;s[r>>2]=+s[r>>2]+i;f[u>>2]=(f[u>>2]|0)+1}u=f[a>>2]|0;s[u>>2]=+s[u>>2]+i;h=c;return}function gt(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;a=g+40|0;o=g+36|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;v=g+8|0;d=g+4|0;p=g;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[u>>2]=t;f[c>>2]=n;s[d>>2]=0;i=(re(f[c>>2]|0,f[c>>2]|0)|0)-1|0;s[p>>2]=(+s[f[o>>2]>>2]+ +s[(f[o>>2]|0)+(i<<2)>>2])*9.99999993922529e-9;f[k>>2]=0;while(1){if((f[k>>2]|0)>=10)break;s[d>>2]=+s[u>>2];s[v>>2]=0;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[b>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}s[d>>2]=+s[d>>2]-+s[v>>2]*2;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[v>>2]=0;f[w>>2]=(f[b>>2]|0)+1;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;t=+s[(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[w>>2]|0)|0)<<2)>>2];s[v>>2]=+s[v>>2]+t*+s[(f[a>>2]|0)+(f[w>>2]<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}t=+s[(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[b>>2]|0)|0)<<2)>>2];s[d>>2]=+s[d>>2]+ +s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]*(+s[v>>2]*2+t*+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]);f[b>>2]=(f[b>>2]|0)+1}if(+s[d>>2]>0)break;f[b>>2]=0;while(1){t=+s[p>>2];if((f[b>>2]|0)>=(f[c>>2]|0))break;i=(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[b>>2]|0)|0)<<2)|0;s[i>>2]=+s[i>>2]+t;f[b>>2]=(f[b>>2]|0)+1}s[p>>2]=t*2;f[k>>2]=(f[k>>2]|0)+1}if((f[k>>2]|0)!=10){t=+s[d>>2];h=g;return+t}s[d>>2]=1;t=+s[d>>2];h=g;return+t}function yt(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+816|0;l=g+800|0;u=g+796|0;c=g+792|0;b=g+788|0;w=g+784|0;y=g+780|0;k=g+776|0;v=g+772|0;p=g+768|0;d=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[y>>2]=a;f[k>>2]=o;f[p>>2]=d+(f[k>>2]<<2);f[v>>2]=(f[k>>2]|0)+(f[w>>2]|0);et(d,f[c>>2]|0,(f[u>>2]|0)+(0<<2)|0,f[v>>2]<<1,f[k>>2]|0);_=+s[f[b>>2]>>2]*+s[f[b>>2]>>2];_=_*+Ut((f[p>>2]|0)+(0<<2)|0,f[w>>2]|0);s[f[l>>2]>>2]=_;_=+s[(f[b>>2]|0)+4>>2]*+s[(f[b>>2]|0)+4>>2];_=_*+Ut((f[p>>2]|0)+(f[v>>2]<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+4>>2]=_;if((f[y>>2]|0)!=4){h=g;return}et(d,(f[c>>2]|0)+64|0,(f[u>>2]|0)+(f[v>>2]<<1<<2)|0,f[v>>2]<<1,f[k>>2]|0);_=+s[(f[b>>2]|0)+8>>2]*+s[(f[b>>2]|0)+8>>2];_=_*+Ut((f[p>>2]|0)+(0<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+8>>2]=_;_=+s[(f[b>>2]|0)+12>>2]*+s[(f[b>>2]|0)+12>>2];_=_*+Ut((f[p>>2]|0)+(f[v>>2]<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+12>>2]=_;h=g;return}function _t(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;b=h;h=h+1184|0;k=b+1168|0;n=b+1164|0;w=b+1160|0;a=b+1156|0;c=b+1152|0;l=b+128|0;u=b+64|0;o=b;f[k>>2]=e;f[n>>2]=r;f[w>>2]=i;f[a>>2]=t;mt(f[k>>2]|0,f[n>>2]|0,l,o);Et(l,f[n>>2]|0,f[w>>2]|0,u);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[n>>2]|0))break;s[u+(f[c>>2]<<2)>>2]=+s[u+(f[c>>2]<<2)>>2]*+s[o+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}At(l,f[n>>2]|0,u,f[a>>2]|0);h=b;return}function mt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+192|0;n=A+184|0;a=A+180|0;o=A+176|0;l=A+172|0;k=A+168|0;d=A+164|0;p=A+160|0;v=A+156|0;w=A+152|0;g=A+148|0;y=A+144|0;_=A+8|0;b=A;m=A+80|0;c=A+16|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[w>>2]=1;r=(re(f[a>>2]|0,f[a>>2]|0)|0)-1|0;u[b>>3]=(+s[f[n>>2]>>2]+ +s[(f[n>>2]|0)+(r<<2)>>2])*4999999873689376e-21;f[v>>2]=0;while(1){if(!((f[v>>2]|0)<(f[a>>2]|0)?(f[w>>2]|0)==1:0))break;f[w>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[a>>2]|0))break;f[g>>2]=(f[o>>2]|0)+((re(f[d>>2]|0,f[a>>2]|0)|0)+0<<2);r=re(f[d>>2]|0,f[a>>2]|0)|0;u[_>>3]=+s[(f[n>>2]|0)+(r+(f[d>>2]|0)<<2)>>2];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[d>>2]|0))break;s[m+(f[k>>2]<<2)>>2]=+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]*+s[c+(f[k>>2]<<2)>>2];u[_>>3]=+u[_>>3]-+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]*+s[m+(f[k>>2]<<2)>>2];f[k>>2]=(f[k>>2]|0)+1}if(+u[_>>3]<+u[b>>3]){E=9;break}s[c+(f[d>>2]<<2)>>2]=+u[_>>3];s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]=1/+u[_>>3];r=re(f[d>>2]|0,f[a>>2]|0)|0;s[(f[o>>2]|0)+(r+(f[d>>2]|0)<<2)>>2]=1;f[g>>2]=(f[n>>2]|0)+((re(f[d>>2]|0,f[a>>2]|0)|0)+0<<2);f[y>>2]=(f[o>>2]|0)+((re((f[d>>2]|0)+1|0,f[a>>2]|0)|0)+0<<2);f[k>>2]=(f[d>>2]|0)+1;while(1){if((f[k>>2]|0)>=(f[a>>2]|0))break;u[_>>3]=0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break;u[_>>3]=+u[_>>3]+ +s[(f[y>>2]|0)+(f[p>>2]<<2)>>2]*+s[m+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}r=re(f[k>>2]|0,f[a>>2]|0)|0;s[(f[o>>2]|0)+(r+(f[d>>2]|0)<<2)>>2]=(+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]-+u[_>>3])*+s[(f[l>>2]|0)+(f[d>>2]<<2)>>2];f[y>>2]=(f[y>>2]|0)+(f[a>>2]<<2);f[k>>2]=(f[k>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}if((E|0)==9){E=0;u[_>>3]=+((f[v>>2]|0)+1|0)*+u[b>>3]-+u[_>>3];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[a>>2]|0))break;r=re(f[k>>2]|0,f[a>>2]|0)|0;r=(f[n>>2]|0)+(r+(f[k>>2]|0)<<2)|0;s[r>>2]=+s[r>>2]+ +u[_>>3];f[k>>2]=(f[k>>2]|0)+1}f[w>>2]=1}f[v>>2]=(f[v>>2]|0)+1}h=A;return}function Et(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;n=k+28|0;a=k+24|0;o=k+20|0;l=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[a>>2]|0))break;f[b>>2]=(f[n>>2]|0)+((re(f[u>>2]|0,f[a>>2]|0)|0)+0<<2);s[w>>2]=0;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;s[w>>2]=+s[w>>2]+ +s[(f[b>>2]|0)+(f[c>>2]<<2)>>2]*+s[(f[l>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}s[w>>2]=+s[(f[o>>2]|0)+(f[u>>2]<<2)>>2]-+s[w>>2];s[(f[l>>2]|0)+(f[u>>2]<<2)>>2]=+s[w>>2];f[u>>2]=(f[u>>2]|0)+1}h=k;return}function At(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;n=k+28|0;a=k+24|0;o=k+20|0;l=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=(f[a>>2]|0)-1;while(1){if((f[u>>2]|0)<0)break;f[b>>2]=(f[n>>2]|0)+(0+(f[u>>2]|0)<<2);s[w>>2]=0;f[c>>2]=(f[a>>2]|0)-1;while(1){if((f[c>>2]|0)<=(f[u>>2]|0))break;t=re(f[c>>2]|0,f[a>>2]|0)|0;s[w>>2]=+s[w>>2]+ +s[(f[b>>2]|0)+(t<<2)>>2]*+s[(f[l>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[w>>2]=+s[(f[o>>2]|0)+(f[u>>2]<<2)>>2]-+s[w>>2];s[(f[l>>2]|0)+(f[u>>2]<<2)>>2]=+s[w>>2];f[u>>2]=(f[u>>2]|0)+-1}h=k;return}function St(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;var a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+320|0;a=y+312|0;o=y+308|0;l=y+304|0;c=y+300|0;b=y+296|0;d=y+292|0;k=y+288|0;v=y+280|0;g=y+272|0;p=y+136|0;w=y;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;f[c>>2]=t;f[b>>2]=n;vs(p|0,0,136)|0;vs(w|0,0,136)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;u[v>>3]=+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[b>>2]|0))break;u[g>>3]=+u[p+(f[k>>2]<<3)>>3]+ +s[l>>2]*(+u[p+((f[k>>2]|0)+1<<3)>>3]-+u[v>>3]);u[p+(f[k>>2]<<3)>>3]=+u[v>>3];n=w+(f[k>>2]<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[v>>3];u[v>>3]=+u[p+((f[k>>2]|0)+1<<3)>>3]+ +s[l>>2]*(+u[p+((f[k>>2]|0)+2<<3)>>3]-+u[g>>3]);u[p+((f[k>>2]|0)+1<<3)>>3]=+u[g>>3];n=w+((f[k>>2]|0)+1<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[g>>3];f[k>>2]=(f[k>>2]|0)+2}u[p+(f[b>>2]<<3)>>3]=+u[v>>3];n=w+(f[b>>2]<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[v>>3];f[d>>2]=(f[d>>2]|0)+1}f[k>>2]=0;while(1){if((f[k>>2]|0)>=((f[b>>2]|0)+1|0))break;s[(f[a>>2]|0)+(f[k>>2]<<2)>>2]=+u[w+(f[k>>2]<<3)>>3];f[k>>2]=(f[k>>2]|0)+1}h=y;return}function Rt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+80|0;t=u+76|0;n=u+72|0;a=u+68|0;l=u+64|0;o=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;r=Tt(+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*65536)|0;f[o+(f[l>>2]<<2)>>2]=r;f[l>>2]=(f[l>>2]|0)+1}Sa(f[t>>2]|0,o,f[a>>2]|0);h=u;return}function Tt(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;r=cs(+s[r>>2])|0;h=i;return r|0}function Mt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0;u=h;h=h+48|0;t=u+12|0;c=u+8|0;a=u+4|0;l=u;o=u+16|0;f[t>>2]=e;f[c>>2]=r;f[a>>2]=i;Za(o,f[c>>2]|0,f[a>>2]|0);f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=+(n[o+(f[l>>2]<<1)>>1]|0)*.000244140625;f[l>>2]=(f[l>>2]|0)+1}h=u;return}function xt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;b=h;h=h+96|0;a=b+20|0;o=b+16|0;k=b+12|0;w=b+8|0;u=b+4|0;c=b;l=b+24|0;f[a>>2]=e;f[o>>2]=r;f[k>>2]=i;f[w>>2]=t;oa(f[a>>2]|0,l,f[k>>2]|0,f[w>>2]|0);f[c>>2]=0;while(1){if((f[c>>2]|0)>=2)break;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[a>>2]|0)+4664>>2]|0))break;s[(f[o>>2]|0)+(f[c>>2]<<6)+(f[u>>2]<<2)>>2]=+(n[l+(f[c>>2]<<5)+(f[u>>2]<<1)>>1]|0)*.000244140625;f[u>>2]=(f[u>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}h=b;return}function Ot(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+1632|0;u=x+1388|0;c=x+1384|0;b=x+1380|0;w=x+1376|0;k=x+1372|0;d=x+1368|0;R=x+1364|0;T=x+1360|0;M=x+80|0;v=x+64|0;A=x+1560|0;_=x+1520|0;m=x+56|0;p=x+1392|0;y=x+40|0;E=x+32|0;S=x+16|0;g=x;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;f[T>>2]=0;while(1){e=f[R>>2]|0;if((f[T>>2]|0)>=(f[(f[u>>2]|0)+4660>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+500+((e<<4)+(f[T>>2]|0)<<2)>>2]*8192)|0)&65535;n[p+((f[R>>2]<<4)+(f[T>>2]|0)<<1)>>1]=l;f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=e+1}f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+772+(f[R>>2]<<2)>>2]*16384)|0)<<16;l=l|(Tt(+s[(f[c>>2]|0)+756+(f[R>>2]<<2)>>2]*16384)|0)&65535;f[y+(f[R>>2]<<2)>>2]=l;l=Tt(+s[(f[c>>2]|0)+820+(f[R>>2]<<2)>>2]*16384)|0;f[S+(f[R>>2]<<2)>>2]=l;l=Tt(+s[(f[c>>2]|0)+836+(f[R>>2]<<2)>>2]*16384)|0;f[g+(f[R>>2]<<2)>>2]=l;f[R>>2]=(f[R>>2]|0)+1}f[E>>2]=Tt(+s[(f[c>>2]|0)+852>>2]*1024)|0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=((f[(f[u>>2]|0)+4604>>2]|0)*5|0))break;l=(Tt(+s[(f[c>>2]|0)+144+(f[R>>2]<<2)>>2]*16384)|0)&65535;n[_+(f[R>>2]<<1)>>1]=l;f[R>>2]=(f[R>>2]|0)+1}f[T>>2]=0;while(1){l=(f[T>>2]|0)<2;f[R>>2]=0;if(!l)break;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4664>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+16+(f[T>>2]<<6)+(f[R>>2]<<2)>>2]*4096)|0)&65535;n[A+(f[T>>2]<<5)+(f[R>>2]<<1)>>1]=l;f[R>>2]=(f[R>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;T=Tt(+s[(f[c>>2]|0)+(f[R>>2]<<2)>>2]*65536)|0;f[v+(f[R>>2]<<2)>>2]=T;f[R>>2]=(f[R>>2]|0)+1}if((t[(f[b>>2]|0)+29>>0]|0)==2)f[m>>2]=n[24566+(t[(f[b>>2]|0)+33>>0]<<1)>>1];else f[m>>2]=0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4608>>2]|0))break;T=Tt(+s[(f[d>>2]|0)+(f[R>>2]<<2)>>2]*8)|0;f[M+(f[R>>2]<<2)>>2]=T;f[R>>2]=(f[R>>2]|0)+1}if((f[(f[u>>2]|0)+4652>>2]|0)<=1?(f[(f[u>>2]|0)+4704>>2]|0)<=0:0){Do(f[u>>2]|0,f[w>>2]|0,f[b>>2]|0,M,f[k>>2]|0,A,_,p,g,S,y,v,(f[c>>2]|0)+228|0,f[E>>2]|0,f[m>>2]|0);h=x;return}qo(f[u>>2]|0,f[w>>2]|0,f[b>>2]|0,M,f[k>>2]|0,A,_,p,g,S,y,v,(f[c>>2]|0)+228|0,f[E>>2]|0,f[m>>2]|0);h=x;return}function Lt(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+480|0;b=S+436|0;w=S+432|0;k=S+428|0;d=S+424|0;p=S+420|0;v=S+416|0;g=S+412|0;y=S+408|0;_=S+404|0;A=S+400|0;m=S+440|0;E=S;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=c;f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[y>>2]|0)*5|0))break;t=(Tt(+s[(f[b>>2]|0)+(f[A>>2]<<2)>>2]*16384)|0)&65535;n[m+(f[A>>2]<<1)>>1]=t;f[A>>2]=(f[A>>2]|0)+1}f[A>>2]=0;while(1){if((f[A>>2]|0)>=(((f[y>>2]|0)*5|0)*5|0))break;t=Tt(+s[(f[p>>2]|0)+(f[A>>2]<<2)>>2]*262144)|0;f[E+(f[A>>2]<<2)>>2]=t;f[A>>2]=(f[A>>2]|0)+1}Kf(m,f[w>>2]|0,f[k>>2]|0,f[d>>2]|0,E,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0,f[_>>2]|0);f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[y>>2]|0)*5|0))break;s[(f[b>>2]|0)+(f[A>>2]<<2)>>2]=+(n[m+(f[A>>2]<<1)>>1]|0)*6103515625e-14;f[A>>2]=(f[A>>2]|0)+1}h=S;return}function Pt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;if((f[l>>2]|0)>(f[o>>2]|0))f[l>>2]=f[o>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;b=+Bt(f[a>>2]|0,(f[a>>2]|0)+(f[u>>2]<<2)|0,(f[o>>2]|0)-(f[u>>2]|0)|0);s[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=b;f[u>>2]=(f[u>>2]|0)+1}h=c;return}function It(e,r,i,t,n,a){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;a=a|0;var o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0;B=h;h=h+784|0;o=B+768|0;l=B+764|0;c=B+760|0;b=B+756|0;w=B+752|0;k=B+748|0;A=B+744|0;S=B+740|0;L=B+736|0;O=B+732|0;v=B+720|0;E=B+712|0;M=B+704|0;T=B+696|0;R=B+688|0;x=B+680|0;p=B+672|0;P=B+664|0;I=B+656|0;C=B+728|0;_=B+528|0;m=B+400|0;y=B+264|0;g=B+128|0;d=B;f[o>>2]=e;f[l>>2]=r;s[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;u[v>>3]=+Ut(f[l>>2]|0,re(f[w>>2]|0,f[b>>2]|0)|0);e=_;n=e+128|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(n|0));f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;f[C>>2]=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2);f[S>>2]=1;while(1){if((f[S>>2]|0)>=((f[k>>2]|0)+1|0))break;i=+Bt(f[C>>2]|0,(f[C>>2]|0)+(f[S>>2]<<2)|0,(f[b>>2]|0)-(f[S>>2]|0)|0);r=_+((f[S>>2]|0)-1<<3)|0;u[r>>3]=+u[r>>3]+i;f[S>>2]=(f[S>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}e=m;a=_;n=e+128|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(n|0));i=+u[v>>3]+ +u[v>>3]*9999999747378752e-21+9.999999717180685e-10;u[y>>3]=i;u[g>>3]=i;u[E>>3]=1;f[O>>2]=0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[k>>2]|0))break;f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;f[C>>2]=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2);u[P>>3]=+s[(f[C>>2]|0)+(f[S>>2]<<2)>>2];u[I>>3]=+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)-1<<2)>>2];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;r=_+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+s[(f[C>>2]|0)+(f[S>>2]<<2)>>2]*+s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)-1<<2)>>2];r=m+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)-1<<2)>>2]*+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)<<2)>>2];u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[P>>3]=+u[P>>3]+ +s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)-1<<2)>>2]*+u[p>>3];u[I>>3]=+u[I>>3]+ +s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)<<2)>>2]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}f[A>>2]=0;while(1){if((f[A>>2]|0)>(f[S>>2]|0))break;r=y+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+u[P>>3]*+s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)<<2)>>2];r=g+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+u[I>>3]*+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)-1<<2)>>2];f[A>>2]=(f[A>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}u[P>>3]=+u[_+(f[S>>2]<<3)>>3];u[I>>3]=+u[m+(f[S>>2]<<3)>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[P>>3]=+u[P>>3]+ +u[m+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]*+u[p>>3];u[I>>3]=+u[I>>3]+ +u[_+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[y+((f[S>>2]|0)+1<<3)>>3]=+u[P>>3];u[g+((f[S>>2]|0)+1<<3)>>3]=+u[I>>3];u[M>>3]=+u[g+((f[S>>2]|0)+1<<3)>>3];u[R>>3]=+u[g>>3];u[T>>3]=+u[y>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[M>>3]=+u[M>>3]+ +u[g+((f[S>>2]|0)-(f[A>>2]|0)<<3)>>3]*+u[p>>3];u[R>>3]=+u[R>>3]+ +u[g+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];u[T>>3]=+u[T>>3]+ +u[y+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[x>>3]=+u[M>>3]*-2/(+u[T>>3]+ +u[R>>3]);u[P>>3]=+u[E>>3]*(1-+u[x>>3]*+u[x>>3]);if(+u[P>>3]<=+s[c>>2]){u[x>>3]=+H(+(1-+s[c>>2]/+u[E>>3]));if(+u[M>>3]>0)u[x>>3]=-+u[x>>3];u[E>>3]=+s[c>>2];f[O>>2]=1}else u[E>>3]=+u[P>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[S>>2]|0)+1>>1|0))break;u[P>>3]=+u[d+(f[A>>2]<<3)>>3];u[I>>3]=+u[d+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3];u[d+(f[A>>2]<<3)>>3]=+u[P>>3]+ +u[x>>3]*+u[I>>3];u[d+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]=+u[I>>3]+ +u[x>>3]*+u[P>>3];f[A>>2]=(f[A>>2]|0)+1}u[d+(f[S>>2]<<3)>>3]=+u[x>>3];if(f[O>>2]|0){U=33;break}f[A>>2]=0;while(1){if((f[A>>2]|0)>((f[S>>2]|0)+1|0))break;u[P>>3]=+u[y+(f[A>>2]<<3)>>3];r=y+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]+ +u[x>>3]*+u[g+((f[S>>2]|0)-(f[A>>2]|0)+1<<3)>>3];r=g+((f[S>>2]|0)-(f[A>>2]|0)+1<<3)|0;u[r>>3]=+u[r>>3]+ +u[x>>3]*+u[P>>3];f[A>>2]=(f[A>>2]|0)+1}f[S>>2]=(f[S>>2]|0)+1}e:do{if((U|0)==33){f[A>>2]=(f[S>>2]|0)+1;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break e;u[d+(f[A>>2]<<3)>>3]=0;f[A>>2]=(f[A>>2]|0)+1}}}while(0);if(!(f[O>>2]|0)){u[T>>3]=+u[y>>3];u[P>>3]=1;f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[T>>3]=+u[T>>3]+ +u[y+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];u[P>>3]=+u[P>>3]+ +u[p>>3]*+u[p>>3];s[(f[o>>2]|0)+(f[A>>2]<<2)>>2]=-+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[T>>3]=+u[T>>3]-+u[v>>3]*9999999747378752e-21*+u[P>>3];i=+u[T>>3];h=B;return+i}f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;s[(f[o>>2]|0)+(f[A>>2]<<2)>>2]=-+u[d+(f[A>>2]<<3)>>3];f[A>>2]=(f[A>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;U=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2)|0;i=+Ut(U,f[k>>2]|0);u[v>>3]=+u[v>>3]-i;f[L>>2]=(f[L>>2]|0)+1}u[T>>3]=+u[v>>3]*+u[E>>3];i=+u[T>>3];h=B;return+i}function Ct(e,r,i){e=e|0;r=r|0;i=+i;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;l=u+4|0;o=u;f[t>>2]=e;f[n>>2]=r;s[a>>2]=i;s[o>>2]=+s[a>>2];f[l>>2]=0;while(1){i=+s[o>>2];if((f[l>>2]|0)>=((f[n>>2]|0)-1|0))break;r=(f[t>>2]|0)+(f[l>>2]<<2)|0;s[r>>2]=+s[r>>2]*i;s[o>>2]=+s[o>>2]*+s[a>>2];f[l>>2]=(f[l>>2]|0)+1}l=(f[t>>2]|0)+((f[n>>2]|0)-1<<2)|0;s[l>>2]=+s[l>>2]*i;h=u;return}function Ut(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+20|0;t=l+16|0;a=l+12|0;n=l+8|0;o=l;f[i>>2]=e;f[t>>2]=r;u[o>>3]=0;f[n>>2]=f[t>>2]&65532;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[n>>2]|0))break;u[o>>3]=+u[o>>3]+(+s[(f[i>>2]|0)+((f[a>>2]|0)+0<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+0<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+1<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+1<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+2<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+2<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+3<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+3<<2)>>2]);f[a>>2]=(f[a>>2]|0)+4}while(1){if((f[a>>2]|0)>=(f[t>>2]|0))break;u[o>>3]=+u[o>>3]+ +s[(f[i>>2]|0)+(f[a>>2]<<2)>>2]*+s[(f[i>>2]|0)+(f[a>>2]<<2)>>2];f[a>>2]=(f[a>>2]|0)+1}h=l;return+ +u[o>>3]}function Bt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;n=b+20|0;a=b+16|0;l=b+12|0;o=b+8|0;c=b;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;u[c>>3]=0;f[o>>2]=f[a>>2]&65532;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+u[c>>3]+(+s[(f[t>>2]|0)+((f[l>>2]|0)+0<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+0<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+1<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+1<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+2<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+2<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+3<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+3<<2)>>2]);f[l>>2]=(f[l>>2]|0)+4}while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;u[c>>3]=+u[c>>3]+ +s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=b;return+ +u[c>>3]}function jt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+96|0;t=c+80|0;n=c+76|0;a=c+72|0;l=c+68|0;u=c+64|0;o=c;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;s[o+(f[u>>2]<<2)>>2]=+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=0;while(1){e=f[l>>2]|0;if((f[u>>2]|0)>=(f[l>>2]|0))break;r=(f[t>>2]|0)+(f[u>>2]<<2)|0;s[r>>2]=+s[r>>2]+ +s[o+(e-(f[u>>2]|0)-1<<2)>>2]*+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=-+s[(f[n>>2]|0)+(e<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return}function Dt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;v=h;h=h+48|0;t=v+44|0;n=v+40|0;a=v+36|0;u=v+32|0;w=v+28|0;b=v+24|0;k=v+20|0;d=v+16|0;p=v+12|0;c=v+8|0;o=v+4|0;l=v;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;s[k>>2]=+s[f[n>>2]>>2]*9.999999960041972e-13+9.999999717180685e-10;s[d>>2]=+s[f[n>>2]>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];s[f[t>>2]>>2]=+s[(f[n>>2]|0)+4>>2]/+s[d>>2];s[d>>2]=+s[d>>2]-+s[f[t>>2]>>2]*+s[(f[n>>2]|0)+4>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];f[b>>2]=1;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;s[p>>2]=+s[(f[n>>2]|0)+((f[b>>2]|0)+1<<2)>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=+s[p>>2]-+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2]*+s[(f[n>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[c>>2]=+s[p>>2]/+s[d>>2];s[d>>2]=+s[d>>2]-+s[c>>2]*+s[p>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];f[w>>2]=f[b>>2]>>1;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[w>>2]|0))break;s[o>>2]=+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2];s[l>>2]=+s[(f[t>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)-1<<2)>>2];i=(f[t>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)-1<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[o>>2];i=(f[t>>2]|0)+(f[u>>2]<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[l>>2];f[u>>2]=(f[u>>2]|0)+1}if(f[b>>2]&1|0){i=(f[t>>2]|0)+(f[w>>2]<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[(f[t>>2]|0)+(f[w>>2]<<2)>>2]}s[(f[t>>2]|0)+(f[b>>2]<<2)>>2]=+s[c>>2];f[b>>2]=(f[b>>2]|0)+1}h=v;return+ +s[d>>2]}function Nt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;p=h;h=h+192|0;i=p+184|0;g=p+180|0;v=p+176|0;l=p+172|0;c=p+168|0;o=p+24|0;b=p+16|0;w=p+8|0;k=p;a=p+40|0;n=p+36|0;t=p+32|0;f[g>>2]=e;f[v>>2]=r;f[t>>2]=a+((f[v>>2]&1)<<6);gs(f[t>>2]|0,f[g>>2]|0,f[v>>2]<<2|0)|0;u[o>>3]=1;f[l>>2]=(f[v>>2]|0)-1;while(1){if((f[l>>2]|0)<=0)break;u[b>>3]=-+s[(f[t>>2]|0)+(f[l>>2]<<2)>>2];if(+u[b>>3]>.9998999834060669|+u[b>>3]<-.9998999834060669){d=4;break}u[w>>3]=1-+u[b>>3]*+u[b>>3];u[k>>3]=1/+u[w>>3];u[o>>3]=+u[o>>3]*+u[w>>3];f[n>>2]=f[t>>2];f[t>>2]=a+((f[l>>2]&1)<<6);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[(f[t>>2]|0)+(f[c>>2]<<2)>>2]=(+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]-+s[(f[n>>2]|0)+((f[l>>2]|0)-(f[c>>2]|0)-1<<2)>>2]*+u[b>>3])*+u[k>>3];f[c>>2]=(f[c>>2]|0)+1}f[l>>2]=(f[l>>2]|0)+-1}if((d|0)==4){s[i>>2]=0;y=+s[i>>2];h=p;return+y}u[b>>3]=-+s[f[t>>2]>>2];if(+u[b>>3]>.9998999834060669|+u[b>>3]<-.9998999834060669){s[i>>2]=0;y=+s[i>>2];h=p;return+y}else{u[w>>3]=1-+u[b>>3]*+u[b>>3];u[o>>3]=+u[o>>3]*+u[w>>3];s[i>>2]=+u[o>>3];y=+s[i>>2];h=p;return+y}return 0}function Ft(e,r,i,a,o,l,c,b,w,k,d,p){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;c=+c;b=+b;w=w|0;k=k|0;d=d|0;p=p|0;var v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0;je=h;h=h+13936|0;Me=je+10416|0;te=je+10412|0;Oe=je+10408|0;Le=je+10404|0;Pe=je+10400|0;I=je+10396|0;C=je+10392|0;v=je+10388|0;U=je+10384|0;Ae=je+10380|0;ne=je+10376|0;xe=je+10372|0;fe=je+10368|0;Z=je+10364|0;Be=je+10360|0;he=je+10356|0;de=je+10352|0;W=je+9072|0;A=je+8432|0;S=je+13288|0;E=je+12968|0;y=je+8408|0;ee=je+8404|0;le=je+8400|0;B=je+6016|0;P=je+5756|0;D=je+5712|0;Ee=je+5708|0;z=je+5704|0;se=je+24|0;O=je+16|0;we=je+8|0;ke=je;H=je+5608|0;Y=je+12664|0;G=je+5600|0;J=je+5596|0;g=je+5592|0;ae=je+5588|0;N=je+5584|0;F=je+5580|0;oe=je+5576|0;Ie=je+5572|0;j=je+5568|0;Se=je+5564|0;me=je+5560|0;ce=je+5556|0;Re=je+5552|0;Ue=je+5548|0;V=je+5544|0;$=je+5540|0;q=je+5536|0;be=je+2816|0;ue=je+96|0;pe=je+88|0;R=je+84|0;M=je+80|0;T=je+76|0;_e=je+72|0;Q=je+68|0;L=je+64|0;Te=je+60|0;ge=je+56|0;X=je+52|0;ve=je+48|0;K=je+44|0;x=je+40|0;ye=je+36|0;Ce=je+32|0;m=je+11384|0;_=je+10424|0;f[te>>2]=e;f[Oe>>2]=r;f[Le>>2]=i;f[Pe>>2]=a;f[I>>2]=o;f[C>>2]=l;s[v>>2]=c;s[U>>2]=b;f[Ae>>2]=w;f[ne>>2]=k;f[xe>>2]=d;f[fe>>2]=p;f[R>>2]=re(20+((f[xe>>2]|0)*5|0)|0,f[Ae>>2]|0)|0;f[T>>2]=20+((f[xe>>2]|0)*5|0)<<2;f[M>>2]=20+((f[xe>>2]|0)*5|0)<<3;f[_e>>2]=(f[Ae>>2]|0)*5;f[L>>2]=20;f[Q>>2]=40;f[Te>>2]=f[Ae>>2]<<1;f[X>>2]=8;f[ge>>2]=16;f[ve>>2]=((f[Ae>>2]|0)*18|0)-1;f[x>>2]=72;f[K>>2]=143;do{if((f[Ae>>2]|0)!=16)if((f[Ae>>2]|0)==12){zt(_,f[te>>2]|0,f[R>>2]|0);f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;bi(y,S,_,f[R>>2]|0);Yt(W,S,f[M>>2]|0);break}else{zt(S,f[te>>2]|0,f[M>>2]|0);break}else{zt(m,f[te>>2]|0,f[R>>2]|0);f[y>>2]=0;f[y+4>>2]=0;wi(y,S,m,f[R>>2]|0);Yt(W,S,f[M>>2]|0)}}while(0);f[y>>2]=0;f[y+4>>2]=0;wi(y,E,S,f[M>>2]|0);Yt(A,E,f[T>>2]|0);f[Z>>2]=(f[T>>2]|0)-1;while(1){if((f[Z>>2]|0)<=0)break;l=A+(f[Z>>2]<<2)|0;s[l>>2]=+s[l>>2]+ +s[A+((f[Z>>2]|0)-1<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+-1}vs(B|0,0,(f[xe>>2]<<2)*149|0)|0;f[Ee>>2]=A+(f[L>>2]<<2<<2);f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]>>1|0))break;f[z>>2]=(f[Ee>>2]|0)+(0-(f[X>>2]|0)<<2);yr(f[Ee>>2]|0,(f[Ee>>2]|0)+(0-(f[x>>2]|0)<<2)|0,P,f[Q>>2]|0,(f[x>>2]|0)-(f[X>>2]|0)+1|0,f[fe>>2]|0);u[se>>3]=+s[P+((f[x>>2]|0)-(f[X>>2]|0)<<2)>>2];b=+Ut(f[Ee>>2]|0,f[Q>>2]|0);b=b+ +Ut(f[z>>2]|0,f[Q>>2]|0);u[O>>3]=b+ +(f[Q>>2]|0)*4e3;L=B+(f[X>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +u[se>>3]*2/+u[O>>3];f[he>>2]=(f[X>>2]|0)+1;while(1){if((f[he>>2]|0)>(f[x>>2]|0))break;f[z>>2]=(f[z>>2]|0)+-4;u[se>>3]=+s[P+((f[x>>2]|0)-(f[he>>2]|0)<<2)>>2];u[O>>3]=+u[O>>3]+(+s[f[z>>2]>>2]*+s[f[z>>2]>>2]-+s[(f[z>>2]|0)+(f[Q>>2]<<2)>>2]*+s[(f[z>>2]|0)+(f[Q>>2]<<2)>>2]);L=B+(f[he>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +u[se>>3]*2/+u[O>>3];f[he>>2]=(f[he>>2]|0)+1}f[Ee>>2]=(f[Ee>>2]|0)+(f[Q>>2]<<2);f[Be>>2]=(f[Be>>2]|0)+1}f[Z>>2]=f[x>>2];while(1){if((f[Z>>2]|0)<(f[X>>2]|0))break;P=B+(f[Z>>2]<<2)|0;s[P>>2]=+s[P>>2]-+s[B+(f[Z>>2]<<2)>>2]*+(f[Z>>2]|0)/4096;f[Z>>2]=(f[Z>>2]|0)+-1}f[G>>2]=4+(f[ne>>2]<<1);$o(B+(f[X>>2]<<2)|0,H,(f[x>>2]|0)-(f[X>>2]|0)+1|0,f[G>>2]|0);s[g>>2]=+s[B+(f[X>>2]<<2)>>2];if(+s[g>>2]<.20000000298023224){vs(f[Oe>>2]|0,0,f[xe>>2]<<2|0)|0;s[f[I>>2]>>2]=0;n[f[Le>>2]>>1]=0;t[f[Pe>>2]>>0]=0;f[Me>>2]=1;Be=f[Me>>2]|0;h=je;return Be|0}s[ee>>2]=+s[v>>2]*+s[g>>2];f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[G>>2]|0))break;v=f[Z>>2]|0;if(!(+s[B+((f[X>>2]|0)+(f[Z>>2]|0)<<2)>>2]>+s[ee>>2])){ie=24;break}f[H+(f[Z>>2]<<2)>>2]=(f[H+(v<<2)>>2]|0)+(f[X>>2]|0)<<1;f[Z>>2]=(f[Z>>2]|0)+1}if((ie|0)==24)f[G>>2]=v;f[Z>>2]=(f[ge>>2]|0)-5;while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+5|0))break;n[Y+(f[Z>>2]<<1)>>1]=0;f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[G>>2]|0))break;n[Y+(f[H+(f[Z>>2]<<2)>>2]<<1)>>1]=1;f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=(f[K>>2]|0)+3;while(1){if((f[Z>>2]|0)<(f[ge>>2]|0))break;ie=Y+(f[Z>>2]<<1)|0;n[ie>>1]=(n[ie>>1]|0)+((n[Y+((f[Z>>2]|0)-1<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-2<<1)>>1]|0));f[Z>>2]=(f[Z>>2]|0)+-1}f[G>>2]=0;f[Z>>2]=f[ge>>2];while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+1|0))break;if((n[Y+((f[Z>>2]|0)+1<<1)>>1]|0)>0){f[H+(f[G>>2]<<2)>>2]=f[Z>>2];f[G>>2]=(f[G>>2]|0)+1}f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=(f[K>>2]|0)+3;while(1){if((f[Z>>2]|0)<(f[ge>>2]|0))break;ie=Y+(f[Z>>2]<<1)|0;n[ie>>1]=(n[ie>>1]|0)+((n[Y+((f[Z>>2]|0)-1<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-2<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-3<<1)>>1]|0));f[Z>>2]=(f[Z>>2]|0)+-1}f[J>>2]=0;f[Z>>2]=f[ge>>2];while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+4|0))break;if((n[Y+(f[Z>>2]<<1)>>1]|0)>0){n[Y+(f[J>>2]<<1)>>1]=(f[Z>>2]|0)-2;f[J>>2]=(f[J>>2]|0)+1}f[Z>>2]=(f[Z>>2]|0)+1}vs(B|0,0,2384)|0;if((f[Ae>>2]|0)==8)f[Ee>>2]=(f[te>>2]|0)+640;else f[Ee>>2]=W+640;f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]|0))break;u[ke>>3]=+Ut(f[Ee>>2]|0,f[Q>>2]|0)+1;f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[J>>2]|0))break;f[he>>2]=n[Y+(f[de>>2]<<1)>>1];f[z>>2]=(f[Ee>>2]|0)+(0-(f[he>>2]|0)<<2);u[se>>3]=+Bt(f[z>>2]|0,f[Ee>>2]|0,f[Q>>2]|0);if(+u[se>>3]>0){u[we>>3]=+Ut(f[z>>2]|0,f[Q>>2]|0);s[B+((f[Be>>2]|0)*596|0)+(f[he>>2]<<2)>>2]=+u[se>>3]*2/(+u[we>>3]+ +u[ke>>3])}else s[B+((f[Be>>2]|0)*596|0)+(f[he>>2]<<2)>>2]=0;f[de>>2]=(f[de>>2]|0)+1}f[Ee>>2]=(f[Ee>>2]|0)+(f[Q>>2]<<2);f[Be>>2]=(f[Be>>2]|0)+1}s[ae>>2]=0;s[N>>2]=-1e3;f[Ie>>2]=0;f[Se>>2]=-1;if((f[C>>2]|0)>0){if((f[Ae>>2]|0)!=12){if((f[Ae>>2]|0)==16)f[C>>2]=f[C>>2]>>1}else f[C>>2]=(f[C>>2]<<1|0)/3|0;s[$>>2]=+Ht(+(f[C>>2]|0))}else s[$>>2]=0;do{if((f[xe>>2]|0)==4){f[Ue>>2]=11;f[Ce>>2]=30286;if((f[Ae>>2]|0)==8&(f[ne>>2]|0)>0){f[ye>>2]=11;break}else{f[ye>>2]=3;break}}else{f[Ue>>2]=3;f[Ce>>2]=30252;f[ye>>2]=3}}while(0);f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[G>>2]|0))break;f[he>>2]=f[H+(f[Be>>2]<<2)>>2];f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[ye>>2]|0))break;s[D+(f[de>>2]<<2)>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[xe>>2]|0))break;ee=re(f[Z>>2]|0,f[Ue>>2]|0)|0;ie=D+(f[de>>2]<<2)|0;s[ie>>2]=+s[ie>>2]+ +s[B+((f[Z>>2]|0)*596|0)+((f[he>>2]|0)+(t[(f[Ce>>2]|0)+(ee+(f[de>>2]|0))>>0]|0)<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+1}f[de>>2]=(f[de>>2]|0)+1}s[oe>>2]=-1e3;f[j>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[ye>>2]|0))break;if(+s[D+(f[Z>>2]<<2)>>2]>+s[oe>>2]){s[oe>>2]=+s[D+(f[Z>>2]<<2)>>2];f[j>>2]=f[Z>>2]}f[Z>>2]=(f[Z>>2]|0)+1}s[V>>2]=+Ht(+(f[he>>2]|0));s[F>>2]=+s[oe>>2]-+(f[xe>>2]|0)*.20000000298023224*+s[V>>2];if((f[C>>2]|0)>0){s[q>>2]=+s[V>>2]-+s[$>>2];s[q>>2]=+s[q>>2]*+s[q>>2];s[F>>2]=+s[F>>2]-+(f[xe>>2]|0)*.20000000298023224*+s[f[I>>2]>>2]*+s[q>>2]/(+s[q>>2]+.5)}if(+s[F>>2]>+s[N>>2]?+s[oe>>2]>+(f[xe>>2]|0)*+s[U>>2]:0){s[N>>2]=+s[F>>2];s[ae>>2]=+s[oe>>2];f[Se>>2]=f[he>>2];f[Ie>>2]=f[j>>2]}f[Be>>2]=(f[Be>>2]|0)+1}if((f[Se>>2]|0)==-1){Be=f[Oe>>2]|0;f[Be>>2]=0;f[Be+4>>2]=0;f[Be+8>>2]=0;f[Be+12>>2]=0;s[f[I>>2]>>2]=0;n[f[Le>>2]>>1]=0;t[f[Pe>>2]>>0]=0;f[Me>>2]=1;Be=f[Me>>2]|0;h=je;return Be|0}s[f[I>>2]>>2]=+s[ae>>2]/+(f[xe>>2]|0);if((f[Ae>>2]|0)>8){v=f[Se>>2]|0;if((f[Ae>>2]|0)==12)f[Se>>2]=(((v&65535)<<16>>16)*3>>1)+(((f[Se>>2]&65535)<<16>>16)*3&1);else f[Se>>2]=v<<1;v=f[Se>>2]|0;do{if((f[Te>>2]|0)>(f[ve>>2]|0))if((v|0)>(f[Te>>2]|0)){v=f[Te>>2]|0;break}else{v=(f[Se>>2]|0)<(f[ve>>2]|0)?f[ve>>2]|0:f[Se>>2]|0;break}else if((v|0)>(f[ve>>2]|0)){v=f[ve>>2]|0;break}else{v=(f[Se>>2]|0)<(f[Te>>2]|0)?f[Te>>2]|0:f[Se>>2]|0;break}}while(0);f[Se>>2]=v;f[me>>2]=qt((f[Se>>2]|0)-2|0,f[Te>>2]|0)|0;f[ce>>2]=Wt((f[Se>>2]|0)+2|0,f[ve>>2]|0)|0;f[Re>>2]=f[Se>>2];f[Ie>>2]=0;s[ae>>2]=-1e3;Zt(ue,f[te>>2]|0,f[me>>2]|0,f[_e>>2]|0,f[xe>>2]|0,f[ne>>2]|0,f[fe>>2]|0);Vt(be,f[te>>2]|0,f[me>>2]|0,f[_e>>2]|0,f[xe>>2]|0,f[ne>>2]|0);f[pe>>2]=0;s[le>>2]=.05000000074505806/+(f[Se>>2]|0);if((f[xe>>2]|0)==4){f[ye>>2]=t[30490+(f[ne>>2]|0)>>0];f[Ue>>2]=34;f[Ce>>2]=30330}else{f[ye>>2]=12;f[Ue>>2]=12;f[Ce>>2]=30258}f[Ee>>2]=(f[te>>2]|0)+((f[Ae>>2]|0)*20<<2);u[ke>>3]=+Ut(f[Ee>>2]|0,re(f[xe>>2]|0,f[_e>>2]|0)|0)+1;f[he>>2]=f[me>>2];while(1){if((f[he>>2]|0)>(f[ce>>2]|0))break;f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[ye>>2]|0))break;u[se>>3]=0;u[we>>3]=+u[ke>>3];f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]|0))break;u[se>>3]=+u[se>>3]+ +s[ue+((f[Be>>2]|0)*680|0)+((f[de>>2]|0)*20|0)+(f[pe>>2]<<2)>>2];u[we>>3]=+u[we>>3]+ +s[be+((f[Be>>2]|0)*680|0)+((f[de>>2]|0)*20|0)+(f[pe>>2]<<2)>>2];f[Be>>2]=(f[Be>>2]|0)+1}if(+u[se>>3]>0){s[oe>>2]=+u[se>>3]*2/+u[we>>3];s[oe>>2]=+s[oe>>2]*(1-+s[le>>2]*+(f[de>>2]|0))}else s[oe>>2]=0;if(+s[oe>>2]>+s[ae>>2]?((f[he>>2]|0)+(t[30330+(f[de>>2]|0)>>0]|0)|0)<=(f[ve>>2]|0):0){s[ae>>2]=+s[oe>>2];f[Re>>2]=f[he>>2];f[Ie>>2]=f[de>>2]}f[de>>2]=(f[de>>2]|0)+1}f[pe>>2]=(f[pe>>2]|0)+1;f[he>>2]=(f[he>>2]|0)+1}f[Be>>2]=0;while(1){v=f[Re>>2]|0;if((f[Be>>2]|0)>=(f[xe>>2]|0))break;Se=re(f[Be>>2]|0,f[Ue>>2]|0)|0;f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v+(t[(f[Ce>>2]|0)+(Se+(f[Ie>>2]|0))>>0]|0);v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;do{if((f[Te>>2]|0)>((f[Ae>>2]|0)*18|0)){if((v|0)>(f[Te>>2]|0)){v=f[Te>>2]|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<((f[Ae>>2]|0)*18|0)){v=(f[Ae>>2]|0)*18|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}}else{if((v|0)>((f[Ae>>2]|0)*18|0)){v=(f[Ae>>2]|0)*18|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<(f[Te>>2]|0)){v=f[Te>>2]|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}}}while(0);f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v;f[Be>>2]=(f[Be>>2]|0)+1}n[f[Le>>2]>>1]=v-(f[Te>>2]|0);t[f[Pe>>2]>>0]=f[Ie>>2]}else{f[Be>>2]=0;while(1){v=f[Se>>2]|0;if((f[Be>>2]|0)>=(f[xe>>2]|0))break;Te=re(f[Be>>2]|0,f[Ue>>2]|0)|0;f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v+(t[(f[Ce>>2]|0)+(Te+(f[Ie>>2]|0))>>0]|0);v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;do{if((f[ge>>2]|0)>144){if((v|0)>(f[ge>>2]|0)){v=f[ge>>2]|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<144)v=144;else v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0}else if((v|0)<=144)if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<(f[ge>>2]|0)){v=f[ge>>2]|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}else v=144}while(0);f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v;f[Be>>2]=(f[Be>>2]|0)+1}n[f[Le>>2]>>1]=v-(f[ge>>2]|0);t[f[Pe>>2]>>0]=f[Ie>>2]}f[Me>>2]=0;Be=f[Me>>2]|0;h=je;return Be|0}function zt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<=32767)if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<-32768)r=-32768;else r=cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0;else r=32767;n[(f[t>>2]|0)+(f[o>>2]<<1)>>1]=r;f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function Yt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function Ht(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function qt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Wt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zt(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;I=h;h=h+256|0;u=I+252|0;c=I+248|0;b=I+244|0;w=I+240|0;k=I+236|0;d=I+232|0;p=I+228|0;L=I+224|0;m=I+220|0;A=I+216|0;S=I+212|0;R=I+208|0;M=I+204|0;T=I+200|0;x=I+196|0;_=I+192|0;E=I+188|0;y=I+184|0;O=I+96|0;P=I+8|0;g=I+4|0;v=I;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=n;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;if((f[k>>2]|0)==4){f[g>>2]=30466+(f[d>>2]<<3);f[v>>2]=30330;f[x>>2]=t[30490+(f[d>>2]|0)>>0];f[y>>2]=34}else{f[g>>2]=30282;f[v>>2]=30258;f[x>>2]=12;f[y>>2]=12}f[L>>2]=(f[c>>2]|0)+(f[w>>2]<<2<<2);f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[k>>2]|0))break;f[R>>2]=0;f[M>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+0)>>0];f[T>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+1)>>0];yr(f[L>>2]|0,(f[L>>2]|0)+(0-(f[b>>2]|0)<<2)+(0-(f[T>>2]|0)<<2)|0,P,f[w>>2]|0,(f[T>>2]|0)-(f[M>>2]|0)+1|0,f[p>>2]|0);f[A>>2]=f[M>>2];while(1){if((f[A>>2]|0)>(f[T>>2]|0))break;s[O+(f[R>>2]<<2)>>2]=+s[P+((f[T>>2]|0)-(f[A>>2]|0)<<2)>>2];f[R>>2]=(f[R>>2]|0)+1;f[A>>2]=(f[A>>2]|0)+1}f[_>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+0)>>0];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[x>>2]|0))break;i=re(f[S>>2]|0,f[y>>2]|0)|0;f[E>>2]=(t[(f[v>>2]|0)+(i+(f[m>>2]|0))>>0]|0)-(f[_>>2]|0);f[A>>2]=0;while(1){if((f[A>>2]|0)>=5)break;s[(f[u>>2]|0)+((f[S>>2]|0)*680|0)+((f[m>>2]|0)*20|0)+(f[A>>2]<<2)>>2]=+s[O+((f[E>>2]|0)+(f[A>>2]|0)<<2)>>2];f[A>>2]=(f[A>>2]|0)+1}f[m>>2]=(f[m>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+(f[w>>2]<<2);f[S>>2]=(f[S>>2]|0)+1}h=I;return}function Vt(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;P=h;h=h+176|0;l=P+168|0;c=P+164|0;b=P+160|0;w=P+156|0;k=P+152|0;d=P+148|0;L=P+144|0;g=P+140|0;m=P;R=P+136|0;E=P+132|0;S=P+128|0;T=P+124|0;x=P+120|0;_=P+116|0;A=P+112|0;y=P+108|0;M=P+104|0;O=P+16|0;v=P+12|0;p=P+8|0;f[l>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=n;f[k>>2]=a;f[d>>2]=o;if((f[k>>2]|0)==4){f[v>>2]=30466+(f[d>>2]<<3);f[p>>2]=30330;f[x>>2]=t[30490+(f[d>>2]|0)>>0];f[y>>2]=34}else{f[v>>2]=30282;f[p>>2]=30258;f[x>>2]=12;f[y>>2]=12}f[L>>2]=(f[c>>2]|0)+(f[w>>2]<<2<<2);f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[k>>2]|0))break;f[T>>2]=0;f[g>>2]=(f[L>>2]|0)+(0-((f[b>>2]|0)+(t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0]|0))<<2);u[m>>3]=+Ut(f[g>>2]|0,f[w>>2]|0)+.001;s[O+(f[T>>2]<<2)>>2]=+u[m>>3];f[T>>2]=(f[T>>2]|0)+1;f[M>>2]=(t[(f[v>>2]|0)+((f[R>>2]<<1)+1)>>0]|0)-(t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0]|0)+1;f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[M>>2]|0))break;u[m>>3]=+u[m>>3]-+s[(f[g>>2]|0)+((f[w>>2]|0)-(f[E>>2]|0)<<2)>>2]*+s[(f[g>>2]|0)+((f[w>>2]|0)-(f[E>>2]|0)<<2)>>2];u[m>>3]=+u[m>>3]+ +s[(f[g>>2]|0)+(0-(f[E>>2]|0)<<2)>>2]*+s[(f[g>>2]|0)+(0-(f[E>>2]|0)<<2)>>2];s[O+(f[T>>2]<<2)>>2]=+u[m>>3];f[T>>2]=(f[T>>2]|0)+1;f[E>>2]=(f[E>>2]|0)+1}f[_>>2]=t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[x>>2]|0))break;i=re(f[R>>2]|0,f[y>>2]|0)|0;f[A>>2]=(t[(f[p>>2]|0)+(i+(f[E>>2]|0))>>0]|0)-(f[_>>2]|0);f[S>>2]=0;while(1){if((f[S>>2]|0)>=5)break;s[(f[l>>2]|0)+((f[R>>2]|0)*680|0)+((f[E>>2]|0)*20|0)+(f[S>>2]<<2)>>2]=+s[O+((f[A>>2]|0)+(f[S>>2]|0)<<2)>>2];f[S>>2]=(f[S>>2]|0)+1}f[E>>2]=(f[E>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+(f[w>>2]<<2);f[R>>2]=(f[R>>2]|0)+1}h=P;return}function Jt(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;c=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;s[o>>2]=i;f[l>>2]=t;f[u>>2]=f[l>>2]&65532;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;s[(f[n>>2]|0)+((f[c>>2]|0)+0<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+0<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+2<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+2<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+3<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+3<<2)>>2];f[c>>2]=(f[c>>2]|0)+4}while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}h=b;return}function Gt(e){e=e|0;var r=0;r=h;h=h+e|0;h=h+15&-16;return r|0}function Kt(){return h|0}function Xt(e){e=e|0;h=e}function $t(e,r){e=e|0;r=r|0;h=e;c=r}function Qt(e,r){e=e|0;r=r|0;if(!d){d=e;p=r}}function en(e){e=e|0;t[b>>0]=t[e>>0];t[b+1>>0]=t[e+1>>0];t[b+2>>0]=t[e+2>>0];t[b+3>>0]=t[e+3>>0]}function rn(e){e=e|0;t[b>>0]=t[e>>0];t[b+1>>0]=t[e+1>>0];t[b+2>>0]=t[e+2>>0];t[b+3>>0]=t[e+3>>0];t[b+4>>0]=t[e+4>>0];t[b+5>>0]=t[e+5>>0];t[b+6>>0]=t[e+6>>0];t[b+7>>0]=t[e+7>>0]}function tn(e){e=e|0;L=e}function nn(){return L|0}function fn(e,r,i,t,n){e=+e;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;a=w+20|0;o=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;s[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[u>>2]|0))break;if(+s[a>>2]<+s[(f[o>>2]|0)+(f[b>>2]<<2)>>2])break;f[b>>2]=(f[b>>2]|0)+1}if((f[b>>2]|0)>(f[c>>2]|0)?+s[a>>2]<+s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]+ +s[(f[l>>2]|0)+(f[c>>2]<<2)>>2]:0)f[b>>2]=f[c>>2];if((f[b>>2]|0)>=(f[c>>2]|0)){r=f[b>>2]|0;h=w;return r|0}if(!(+s[a>>2]>+s[(f[o>>2]|0)+((f[c>>2]|0)-1<<2)>>2]-+s[(f[l>>2]|0)+((f[c>>2]|0)-1<<2)>>2])){r=f[b>>2]|0;h=w;return r|0}f[b>>2]=f[c>>2];r=f[b>>2]|0;h=w;return r|0}function an(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(re(1664525,f[i>>2]|0)|0)+1013904223|0;h=r;return e|0}function on(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;l=_+40|0;u=_+36|0;c=_+32|0;b=_+28|0;w=_+24|0;k=_+20|0;g=_+16|0;p=_+12|0;d=_+8|0;v=_+4|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[k>>2]=o;f[v>>2]=f[(f[l>>2]|0)+32>>2];f[d>>2]=f[(f[l>>2]|0)+44>>2]<>2];f[p>>2]=0;do{f[g>>2]=0;while(1){a=f[p>>2]|0;if((f[g>>2]|0)>=(f[b>>2]|0))break;t=re(a,f[d>>2]|0)|0;e=re(f[p>>2]|0,f[d>>2]|0)|0;s[y>>2]=+ln((f[u>>2]|0)+(t+(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]<>2])<<2)|0,(f[u>>2]|0)+(e+(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]<>2])<<2)|0,(n[(f[v>>2]|0)+((f[g>>2]|0)+1<<1)>>1]|0)-(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]|0)<>2])+1.0000000272452012e-27;m=+H(+ +s[y>>2]);e=(f[g>>2]|0)+(re(f[p>>2]|0,f[(f[l>>2]|0)+8>>2]|0)|0)|0;s[(f[c>>2]|0)+(e<<2)>>2]=m;f[g>>2]=(f[g>>2]|0)+1}e=a+1|0;f[p>>2]=e}while((e|0)<(f[w>>2]|0));h=_;return}function ln(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function sn(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+64|0;u=A+48|0;c=A+44|0;b=A+40|0;w=A+36|0;k=A+32|0;d=A+28|0;p=A+24|0;m=A+20|0;g=A+16|0;v=A+12|0;y=A+8|0;E=A+4|0;_=A;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[y>>2]=f[(f[u>>2]|0)+32>>2];f[v>>2]=re(f[p>>2]|0,f[(f[u>>2]|0)+44>>2]|0)|0;f[g>>2]=0;do{f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[k>>2]|0))break;e=(f[m>>2]|0)+(re(f[g>>2]|0,f[(f[u>>2]|0)+8>>2]|0)|0)|0;s[_>>2]=1/(+s[(f[w>>2]|0)+(e<<2)>>2]+1.0000000272452012e-27);f[E>>2]=re(f[p>>2]|0,n[(f[y>>2]|0)+(f[m>>2]<<1)>>1]|0)|0;while(1){if((f[E>>2]|0)>=(re(f[p>>2]|0,n[(f[y>>2]|0)+((f[m>>2]|0)+1<<1)>>1]|0)|0))break;r=(f[E>>2]|0)+(re(f[g>>2]|0,f[v>>2]|0)|0)|0;e=(f[E>>2]|0)+(re(f[g>>2]|0,f[v>>2]|0)|0)|0;s[(f[b>>2]|0)+(e<<2)>>2]=+s[(f[c>>2]|0)+(r<<2)>>2]*+s[_>>2];f[E>>2]=(f[E>>2]|0)+1}f[m>>2]=(f[m>>2]|0)+1}e=(f[g>>2]|0)+1|0;f[g>>2]=e}while((e|0)<(f[d>>2]|0));h=A;return}function un(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;L=h;h=h+80|0;P=L+72|0;w=L+68|0;k=L+64|0;d=L+60|0;p=L+56|0;v=L+52|0;g=L+48|0;b=L+44|0;y=L+40|0;T=L+36|0;_=L+32|0;E=L+28|0;S=L+24|0;O=L+20|0;A=L+16|0;M=L+12|0;m=L+8|0;R=L+4|0;x=L;f[P>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[b>>2]=u;f[y>>2]=c;f[A>>2]=f[(f[P>>2]|0)+32>>2];f[_>>2]=re(f[g>>2]|0,f[(f[P>>2]|0)+44>>2]|0)|0;f[E>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+(f[v>>2]<<1)>>1]|0)|0;if((f[b>>2]|0)!=1){if((f[E>>2]|0)<((f[_>>2]|0)/(f[b>>2]|0)|0|0))b=f[E>>2]|0;else b=(f[_>>2]|0)/(f[b>>2]|0)|0;f[E>>2]=b}if(f[y>>2]|0){f[E>>2]=0;f[v>>2]=0;f[p>>2]=0}f[S>>2]=f[k>>2];f[O>>2]=(f[w>>2]|0)+((re(f[g>>2]|0,n[(f[A>>2]|0)+(f[p>>2]<<1)>>1]|0)|0)<<2);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(re(f[g>>2]|0,n[(f[A>>2]|0)+(f[p>>2]<<1)>>1]|0)|0))break;P=f[S>>2]|0;f[S>>2]=P+4;s[P>>2]=0;f[T>>2]=(f[T>>2]|0)+1}f[T>>2]=f[p>>2];while(1){if((f[T>>2]|0)>=(f[v>>2]|0))break;f[M>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+(f[T>>2]<<1)>>1]|0)|0;f[m>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+((f[T>>2]|0)+1<<1)>>1]|0)|0;s[x>>2]=+s[(f[d>>2]|0)+(f[T>>2]<<2)>>2]+ +s[17464+(f[T>>2]<<2)>>2];s[R>>2]=+$(+(+s[x>>2]*.6931471805599453));do{P=f[O>>2]|0;f[O>>2]=P+4;I=+s[P>>2]*+s[R>>2];P=f[S>>2]|0;f[S>>2]=P+4;s[P>>2]=I;P=(f[M>>2]|0)+1|0;f[M>>2]=P}while((P|0)<(f[m>>2]|0));f[T>>2]=(f[T>>2]|0)+1}vs((f[k>>2]|0)+(f[E>>2]<<2)|0,0,(f[_>>2]|0)-(f[E>>2]|0)<<2|0)|0;h=L;return}function hn(e,r,i,t,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,q=0,W=0,Z=0,V=0,J=0,G=0;J=h;h=h+112|0;y=J+108|0;_=J+104|0;R=J+100|0;T=J+96|0;M=J+92|0;x=J+88|0;G=J+84|0;O=J+80|0;L=J+76|0;P=J+72|0;m=J+68|0;E=J+64|0;A=J+60|0;S=J+56|0;B=J+52|0;D=J+48|0;N=J+44|0;F=J+40|0;C=J+36|0;V=J+32|0;Z=J+28|0;j=J+24|0;U=J+20|0;z=J+16|0;Y=J+12|0;I=J+8|0;q=J+4|0;W=J;f[y>>2]=e;f[_>>2]=r;f[R>>2]=i;f[T>>2]=t;f[M>>2]=o;f[x>>2]=l;f[G>>2]=u;f[O>>2]=c;f[L>>2]=b;f[P>>2]=w;f[m>>2]=k;f[E>>2]=d;f[A>>2]=p;f[S>>2]=v;f[D>>2]=f[G>>2];while(1){if((f[D>>2]|0)>=(f[O>>2]|0))break;f[C>>2]=(n[(f[(f[y>>2]|0)+32>>2]|0)+((f[D>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]|0);G=cn(1+(f[(f[E>>2]|0)+(f[D>>2]<<2)>>2]|0)|0,(n[(f[(f[y>>2]|0)+32>>2]|0)+((f[D>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]|0)|0)|0;f[j>>2]=G>>>(f[T>>2]|0);s[V>>2]=+$(+(+(f[j>>2]|0)*-.125*.6931471805599453))*.5;s[Z>>2]=1/+H(+ +(f[C>>2]<>2]|0));f[B>>2]=0;do{f[W>>2]=0;G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[z>>2]=+s[(f[P>>2]|0)+(G+(f[D>>2]|0)<<2)>>2];G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[Y>>2]=+s[(f[m>>2]|0)+(G+(f[D>>2]|0)<<2)>>2];if((f[M>>2]|0)==1){if(+s[z>>2]>+s[(f[P>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2])g=+s[z>>2];else g=+s[(f[P>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2];s[z>>2]=g;if(+s[Y>>2]>+s[(f[m>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2])g=+s[Y>>2];else g=+s[(f[m>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2];s[Y>>2]=g}G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[I>>2]=+s[(f[L>>2]|0)+(G+(f[D>>2]|0)<<2)>>2]-(+s[z>>2]<+s[Y>>2]?+s[z>>2]:+s[Y>>2]);s[I>>2]=0>+s[I>>2]?0:+s[I>>2];s[q>>2]=+$(+(-+s[I>>2]*.6931471805599453))*2;if((f[T>>2]|0)==3)s[q>>2]=+s[q>>2]*1.4142135381698608;s[q>>2]=+s[V>>2]<+s[q>>2]?+s[V>>2]:+s[q>>2];s[q>>2]=+s[q>>2]*+s[Z>>2];G=(f[_>>2]|0)+((re(f[B>>2]|0,f[x>>2]|0)|0)<<2)|0;f[U>>2]=G+(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]<>2]<<2);f[F>>2]=0;while(1){if((f[F>>2]|0)>=(1<>2]|0))break;G=re(f[D>>2]|0,f[M>>2]|0)|0;if(!(a[(f[R>>2]|0)+(G+(f[B>>2]|0))>>0]&1<>2])){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(f[C>>2]|0))break;f[A>>2]=an(f[A>>2]|0)|0;g=+s[q>>2];s[(f[U>>2]|0)+((f[N>>2]<>2])+(f[F>>2]|0)<<2)>>2]=f[A>>2]&32768|0?g:-g;f[N>>2]=(f[N>>2]|0)+1}f[W>>2]=1}f[F>>2]=(f[F>>2]|0)+1}if(f[W>>2]|0)ri(f[U>>2]|0,f[C>>2]<>2],1,f[S>>2]|0);G=(f[B>>2]|0)+1|0;f[B>>2]=G}while((G|0)<(f[M>>2]|0));f[D>>2]=(f[D>>2]|0)+1}h=J;return}function cn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function bn(e,r,i,t,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+112|0;P=N+104|0;w=N+100|0;d=N+96|0;I=N+92|0;C=N+88|0;p=N+84|0;v=N+80|0;g=N+76|0;y=N+72|0;_=N+68|0;k=N+64|0;R=N+60|0;A=N+56|0;E=N+52|0;D=N+48|0;j=N+44|0;S=N+40|0;U=N+36|0;B=N+32|0;T=N+28|0;m=N+24|0;x=N+20|0;M=N+8|0;O=N+4|0;L=N;f[w>>2]=e;f[d>>2]=r;f[I>>2]=i;f[C>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=c;f[k>>2]=b;f[D>>2]=0;f[j>>2]=0;f[S>>2]=f[(f[w>>2]|0)+32>>2];f[B>>2]=0;f[E>>2]=re(f[k>>2]|0,f[(f[w>>2]|0)+44>>2]|0)|0;if((re(f[k>>2]|0,(n[(f[S>>2]|0)+(f[y>>2]<<1)>>1]|0)-(n[(f[S>>2]|0)+((f[y>>2]|0)-1<<1)>>1]|0)|0)|0)<=8){f[P>>2]=0;D=f[P>>2]|0;h=N;return D|0}f[A>>2]=0;do{f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[y>>2]|0))break;f[x>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;l=(f[d>>2]|0)+((re(f[k>>2]|0,n[(f[S>>2]|0)+(f[R>>2]<<1)>>1]|0)|0)<<2)|0;f[O>>2]=l+((re(f[A>>2]|0,f[E>>2]|0)|0)<<2);f[m>>2]=re(f[k>>2]|0,(n[(f[S>>2]|0)+((f[R>>2]|0)+1<<1)>>1]|0)-(n[(f[S>>2]|0)+(f[R>>2]<<1)>>1]|0)|0)|0;if((f[m>>2]|0)>8){f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[m>>2]|0))break;s[L>>2]=+s[(f[O>>2]|0)+(f[T>>2]<<2)>>2]*+s[(f[O>>2]|0)+(f[T>>2]<<2)>>2]*+(f[m>>2]|0);if(+s[L>>2]<.25)f[M>>2]=(f[M>>2]|0)+1;if(+s[L>>2]<.0625){l=M+4|0;f[l>>2]=(f[l>>2]|0)+1}if(+s[L>>2]<.015625){l=M+8|0;f[l>>2]=(f[l>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}if((f[R>>2]|0)>((f[(f[w>>2]|0)+8>>2]|0)-4|0)){l=cn((f[M+4>>2]|0)+(f[M>>2]|0)<<5,f[m>>2]|0)|0;f[B>>2]=(f[B>>2]|0)+l}f[x>>2]=((f[M+8>>2]<<1|0)>=(f[m>>2]|0)&1)+((f[M+4>>2]<<1|0)>=(f[m>>2]|0)&1)+((f[M>>2]<<1|0)>=(f[m>>2]|0)&1);f[D>>2]=(f[D>>2]|0)+(f[x>>2]<<8);f[j>>2]=(f[j>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}l=(f[A>>2]|0)+1|0;f[A>>2]=l}while((l|0)<(f[_>>2]|0));do{if(f[g>>2]|0){if(f[B>>2]|0)f[B>>2]=cn(f[B>>2]|0,re(f[_>>2]|0,4-(f[(f[w>>2]|0)+8>>2]|0)+(f[y>>2]|0)|0)|0)|0;f[f[p>>2]>>2]=(f[f[p>>2]>>2]|0)+(f[B>>2]|0)>>1;f[B>>2]=f[f[p>>2]>>2];if((f[f[v>>2]>>2]|0)!=2){if(!(f[f[v>>2]>>2]|0))f[B>>2]=(f[B>>2]|0)-4}else f[B>>2]=(f[B>>2]|0)+4;if((f[B>>2]|0)>22){f[f[v>>2]>>2]=2;break}w=f[v>>2]|0;if((f[B>>2]|0)>18){f[w>>2]=1;break}else{f[w>>2]=0;break}}}while(0);f[D>>2]=cn(f[D>>2]|0,f[j>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+(f[f[I>>2]>>2]|0)>>1;f[f[I>>2]>>2]=f[D>>2];f[D>>2]=((f[D>>2]|0)*3|0)+((3-(f[C>>2]|0)<<7)+64)+2>>2;do{if((f[D>>2]|0)>=80){if((f[D>>2]|0)<256){f[U>>2]=2;break}if((f[D>>2]|0)<384){f[U>>2]=1;break}else{f[U>>2]=0;break}}else f[U>>2]=3}while(0);f[P>>2]=f[U>>2];D=f[P>>2]|0;h=N;return D|0}function wn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;u=b+4|0;c=b;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[n>>2]=f[n>>2]>>1;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[n>>2]|0))break;i=re(f[a>>2]<<1,f[l>>2]|0)|0;s[u>>2]=+s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]*.7071067690849304;i=re(f[a>>2]|0,(f[l>>2]<<1)+1|0)|0;s[c>>2]=+s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]*.7071067690849304;i=re(f[a>>2]<<1,f[l>>2]|0)|0;s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]=+s[u>>2]+ +s[c>>2];i=re(f[a>>2]|0,(f[l>>2]<<1)+1|0)|0;s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]=+s[u>>2]-+s[c>>2];f[l>>2]=(f[l>>2]|0)+1}f[o>>2]=(f[o>>2]|0)+1}h=b;return}function kn(e,r,i,o,l,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;var T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0;Ee=h;h=h+256|0;Se=Ee+240|0;T=Ee+236|0;D=Ee+232|0;F=Ee+228|0;z=Ee+224|0;Y=Ee+220|0;H=Ee+216|0;Re=Ee+212|0;q=Ee+208|0;Te=Ee+204|0;M=Ee+200|0;x=Ee+196|0;O=Ee+192|0;L=Ee+188|0;P=Ee+184|0;I=Ee+180|0;C=Ee+176|0;U=Ee+172|0;B=Ee+168|0;j=Ee+164|0;Ae=Ee+160|0;ae=Ee+156|0;ke=Ee+152|0;ee=Ee+148|0;ce=Ee+144|0;be=Ee+140|0;ue=Ee+136|0;W=Ee+132|0;V=Ee+128|0;se=Ee+124|0;ye=Ee+120|0;Z=Ee+116|0;we=Ee+112|0;pe=Ee+108|0;$=Ee+64|0;N=Ee+60|0;ve=Ee+56|0;X=Ee+52|0;J=Ee+48|0;Q=Ee+44|0;ie=Ee+40|0;G=Ee+36|0;K=Ee+32|0;ge=Ee+28|0;_e=Ee+24|0;me=Ee+20|0;le=Ee+16|0;fe=Ee+12|0;te=Ee+8|0;ne=Ee+4|0;oe=Ee;f[Se>>2]=e;f[T>>2]=r;f[D>>2]=i;f[F>>2]=o;f[z>>2]=l;f[Y>>2]=u;f[H>>2]=c;f[Re>>2]=b;f[q>>2]=w;f[Te>>2]=k;f[M>>2]=d;f[x>>2]=p;f[O>>2]=v;f[L>>2]=g;f[P>>2]=y;f[I>>2]=_;f[C>>2]=m;f[U>>2]=E;f[B>>2]=A;f[j>>2]=S;f[Ae>>2]=R;f[ee>>2]=f[(f[T>>2]|0)+32>>2];f[ye>>2]=1;f[Z>>2]=f[Y>>2]|0?2:1;f[pe>>2]=((f[Se>>2]|0)!=0^1)&1;f[V>>2]=1<>2];f[W>>2]=f[Te>>2]|0?f[V>>2]|0:1;f[we>>2]=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[D>>2]<<1)>>1]|0)|0;g=re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0;g=re(f[Z>>2]|0,g-(f[we>>2]|0)|0)|0;f[N>>2]=he()|0;y=h;h=h+((1*(g<<2)|0)+15&-16)|0;f[ce>>2]=y;y=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2)|0;f[be>>2]=y+(0-(f[we>>2]|0)<<2);f[ue>>2]=(f[z>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2);f[se>>2]=0;f[$+32>>2]=f[Re>>2];f[$+24>>2]=f[C>>2];f[$>>2]=f[Se>>2];f[$+12>>2]=f[O>>2];f[$+4>>2]=f[T>>2];f[$+36>>2]=f[f[j>>2]>>2];f[$+16>>2]=f[M>>2];f[$+40>>2]=f[Ae>>2];f[ae>>2]=f[D>>2];while(1){if((f[ae>>2]|0)>=(f[F>>2]|0))break;f[ie>>2]=-1;f[ge>>2]=0;f[$+8>>2]=f[ae>>2];f[le>>2]=(f[ae>>2]|0)==((f[F>>2]|0)-1|0)&1;f[G>>2]=(f[z>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2);if(f[Y>>2]|0)f[K>>2]=(f[Y>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2);else f[K>>2]=0;Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[ae>>2]|0)+1<<1)>>1]|0)|0;f[J>>2]=Te-(re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0);f[ve>>2]=Le(f[C>>2]|0)|0;if((f[ae>>2]|0)!=(f[D>>2]|0))f[I>>2]=(f[I>>2]|0)-(f[ve>>2]|0);f[ke>>2]=(f[P>>2]|0)-(f[ve>>2]|0)-1;f[$+28>>2]=f[ke>>2];if((f[ae>>2]|0)<=((f[B>>2]|0)-1|0)){if(3<((f[B>>2]|0)-(f[ae>>2]|0)|0))E=3;else E=(f[B>>2]|0)-(f[ae>>2]|0)|0;f[Q>>2]=dn(f[I>>2]|0,E)|0;if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0))E=(f[ke>>2]|0)+1|0;else E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;do{if(16383>=(E|0))if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0)){E=(f[ke>>2]|0)+1|0;break}else{E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;break}else E=16383}while(0);do{if(0<=(E|0)){if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0))E=(f[ke>>2]|0)+1|0;else E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;if(16383>=(E|0))if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0)){E=(f[ke>>2]|0)+1|0;break}else{E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;break}else E=16383}else E=0}while(0);f[X>>2]=E}else f[X>>2]=0;if((f[pe>>2]|0?(Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0,(Te-(f[J>>2]|0)|0)>=(re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[D>>2]<<1)>>1]|0)|0)):0)?(f[ye>>2]|0)!=0|(f[se>>2]|0)==0:0)f[se>>2]=f[ae>>2];f[ge>>2]=f[(f[L>>2]|0)+(f[ae>>2]<<2)>>2];f[$+20>>2]=f[ge>>2];if((f[ae>>2]|0)>=(f[(f[T>>2]|0)+12>>2]|0)){f[G>>2]=f[ce>>2];if(f[Y>>2]|0)f[K>>2]=f[ce>>2];f[ue>>2]=0}if((f[ae>>2]|0)==((f[F>>2]|0)-1|0))f[ue>>2]=0;if(f[se>>2]|0?(f[M>>2]|0)!=3|(f[W>>2]|0)>1|(f[ge>>2]|0)<0:0){Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[se>>2]<<1)>>1]|0)|0;if(0>(Te-(f[we>>2]|0)-(f[J>>2]|0)|0))E=0;else{E=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[se>>2]<<1)>>1]|0)|0;E=E-(f[we>>2]|0)-(f[J>>2]|0)|0}f[ie>>2]=E;f[fe>>2]=f[se>>2];do{Re=f[V>>2]|0;Te=(f[fe>>2]|0)+-1|0;f[fe>>2]=Te;Te=re(Re,n[(f[ee>>2]|0)+(Te<<1)>>1]|0)|0}while((Te|0)>((f[ie>>2]|0)+(f[we>>2]|0)|0));f[te>>2]=(f[se>>2]|0)-1;do{Re=f[V>>2]|0;Te=(f[te>>2]|0)+1|0;f[te>>2]=Te;Te=re(Re,n[(f[ee>>2]|0)+(Te<<1)>>1]|0)|0}while((Te|0)<((f[ie>>2]|0)+(f[we>>2]|0)+(f[J>>2]|0)|0));f[me>>2]=0;f[_e>>2]=0;f[ne>>2]=f[fe>>2];do{Te=(re(f[ne>>2]|0,f[Z>>2]|0)|0)+0|0;f[_e>>2]=f[_e>>2]|a[(f[H>>2]|0)+Te>>0];Te=re(f[ne>>2]|0,f[Z>>2]|0)|0;f[me>>2]=f[me>>2]|a[(f[H>>2]|0)+(Te+(f[Z>>2]|0)-1)>>0];Te=(f[ne>>2]|0)+1|0;f[ne>>2]=Te}while((Te|0)<(f[te>>2]|0))}else{Te=(1<>2])-1|0;f[me>>2]=Te;f[_e>>2]=Te}e:do{if((f[x>>2]|0?(f[ae>>2]|0)==(f[O>>2]|0):0)?(f[x>>2]=0,f[pe>>2]|0):0){f[oe>>2]=0;while(1){Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0;if((f[oe>>2]|0)>=(Te-(f[we>>2]|0)|0))break e;s[(f[ce>>2]|0)+(f[oe>>2]<<2)>>2]=(+s[(f[ce>>2]|0)+(f[oe>>2]<<2)>>2]+ +s[(f[be>>2]|0)+(f[oe>>2]<<2)>>2])*.5;f[oe>>2]=(f[oe>>2]|0)+1}}}while(0);if(f[x>>2]|0){if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=pn($,f[G>>2]|0,f[J>>2]|0,(f[X>>2]|0)/2|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[_e>>2]|0)|0;if((f[ie>>2]|0)!=-1)E=(f[be>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[be>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[me>>2]=pn($,f[K>>2]|0,f[J>>2]|0,(f[X>>2]|0)/2|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[me>>2]|0)|0}else{u=f[G>>2]|0;if(f[K>>2]|0){if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=vn($,u,f[K>>2]|0,f[J>>2]|0,f[X>>2]|0,f[W>>2]|0,E,f[U>>2]|0,l,f[ue>>2]|0,f[_e>>2]|f[me>>2])|0}else{if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=pn($,u,f[J>>2]|0,f[X>>2]|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[_e>>2]|f[me>>2])|0}f[me>>2]=f[_e>>2]}Te=(re(f[ae>>2]|0,f[Z>>2]|0)|0)+0|0;t[(f[H>>2]|0)+Te>>0]=f[_e>>2];Te=re(f[ae>>2]|0,f[Z>>2]|0)|0;t[(f[H>>2]|0)+(Te+(f[Z>>2]|0)-1)>>0]=f[me>>2];f[I>>2]=(f[I>>2]|0)+((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[ve>>2]|0));f[ye>>2]=(f[X>>2]|0)>(f[J>>2]<<3|0)&1;f[ae>>2]=(f[ae>>2]|0)+1}f[f[j>>2]>>2]=f[$+36>>2];de(f[N>>2]|0);h=Ee;return}function dn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return(f[t>>2]|0)/(f[i>>2]|0)|0|0}function pn(e,r,i,t,n,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;c=+c;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0;z=h;h=h+112|0;k=z+100|0;d=z+96|0;g=z+92|0;y=z+88|0;_=z+84|0;m=z+80|0;E=z+76|0;A=z+72|0;S=z+68|0;R=z+64|0;p=z+60|0;v=z+56|0;M=z+52|0;x=z+48|0;O=z+44|0;T=z+40|0;F=z+36|0;j=z+32|0;U=z+28|0;L=z+24|0;D=z+20|0;C=z+16|0;P=z+12|0;N=z+8|0;I=z+4|0;B=z;f[d>>2]=e;f[g>>2]=r;f[y>>2]=i;f[_>>2]=t;f[m>>2]=n;f[E>>2]=o;f[A>>2]=l;f[S>>2]=u;s[R>>2]=c;f[p>>2]=b;f[v>>2]=w;f[M>>2]=f[y>>2];f[x>>2]=f[y>>2];f[T>>2]=f[m>>2];f[F>>2]=0;f[j>>2]=0;f[L>>2]=0;f[D>>2]=((f[f[d>>2]>>2]|0)!=0^1)&1;f[P>>2]=f[f[d>>2]>>2];f[N>>2]=f[(f[d>>2]|0)+20>>2];f[U>>2]=(f[T>>2]|0)==1&1;f[x>>2]=cn(f[x>>2]|0,f[m>>2]|0)|0;if((f[y>>2]|0)==1){f[k>>2]=gn(f[d>>2]|0,f[g>>2]|0,0,f[_>>2]|0,f[S>>2]|0)|0;F=f[k>>2]|0;h=z;return F|0}if((f[N>>2]|0)>0)f[j>>2]=f[N>>2];do{if((f[p>>2]|0)!=0&(f[E>>2]|0)!=0){if((f[j>>2]|0)==0?!((f[x>>2]&1|0)==0&(f[N>>2]|0)<0|(f[T>>2]|0)>1):0)break;gs(f[p>>2]|0,f[E>>2]|0,(f[y>>2]<<2)+0|0)|0;f[E>>2]=f[p>>2]}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[j>>2]|0))break;if(f[P>>2]|0)wn(f[g>>2]|0,f[y>>2]>>f[C>>2],1<>2]);if(f[E>>2]|0)wn(f[E>>2]|0,f[y>>2]>>f[C>>2],1<>2]);f[v>>2]=a[25200+(f[v>>2]&15)>>0]|0|(a[25200+(f[v>>2]>>4)>>0]|0)<<2;f[C>>2]=(f[C>>2]|0)+1}f[m>>2]=f[m>>2]>>f[j>>2];f[x>>2]=f[x>>2]<>2];while(1){if(!((f[x>>2]&1|0)==0?(f[N>>2]|0)<0:0))break;if(f[P>>2]|0)wn(f[g>>2]|0,f[x>>2]|0,f[m>>2]|0);if(f[E>>2]|0)wn(f[E>>2]|0,f[x>>2]|0,f[m>>2]|0);f[v>>2]=f[v>>2]|f[v>>2]<>2];f[m>>2]=f[m>>2]<<1;f[x>>2]=f[x>>2]>>1;f[F>>2]=(f[F>>2]|0)+1;f[N>>2]=(f[N>>2]|0)+1}f[T>>2]=f[m>>2];f[O>>2]=f[x>>2];if((f[T>>2]|0)>1){if(f[P>>2]|0)yn(f[g>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0);if(f[E>>2]|0)yn(f[E>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0)}f[L>>2]=_n(f[d>>2]|0,f[g>>2]|0,f[y>>2]|0,f[_>>2]|0,f[m>>2]|0,f[E>>2]|0,f[A>>2]|0,+s[R>>2],f[v>>2]|0)|0;if(f[D>>2]|0){if((f[T>>2]|0)>1)mn(f[g>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0);f[x>>2]=f[O>>2];f[m>>2]=f[T>>2];f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[F>>2]|0))break;f[m>>2]=f[m>>2]>>1;f[x>>2]=f[x>>2]<<1;f[L>>2]=f[L>>2]|(f[L>>2]|0)>>>(f[m>>2]|0);wn(f[g>>2]|0,f[x>>2]|0,f[m>>2]|0);f[C>>2]=(f[C>>2]|0)+1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[j>>2]|0))break;f[L>>2]=a[25216+(f[L>>2]|0)>>0];wn(f[g>>2]|0,f[M>>2]>>f[C>>2],1<>2]);f[C>>2]=(f[C>>2]|0)+1}f[m>>2]=f[m>>2]<>2];e:do{if(f[S>>2]|0){s[B>>2]=+H(+ +(f[M>>2]|0));f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[M>>2]|0))break e;s[(f[S>>2]|0)+(f[I>>2]<<2)>>2]=+s[B>>2]*+s[(f[g>>2]|0)+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}}}while(0);f[L>>2]=f[L>>2]&(1<>2])-1}f[k>>2]=f[L>>2];F=f[k>>2]|0;h=z;return F|0}function vn(e,r,i,t,n,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;G=h;h=h+160|0;M=G+156|0;x=G+152|0;P=G+148|0;I=G+144|0;C=G+140|0;R=G+136|0;U=G+132|0;B=G+128|0;j=G+124|0;D=G+120|0;O=G+116|0;L=G+112|0;p=G+108|0;v=G+104|0;F=G+100|0;q=G+96|0;J=G+92|0;N=G+88|0;Z=G+84|0;H=G+80|0;V=G+76|0;S=G+72|0;z=G+68|0;T=G+64|0;y=G+40|0;g=G+36|0;d=G+32|0;k=G+28|0;w=G+24|0;_=G+20|0;E=G+16|0;A=G+12|0;m=G+8|0;W=G+4|0;Y=G;f[x>>2]=e;f[P>>2]=r;f[I>>2]=i;f[C>>2]=t;f[R>>2]=n;f[U>>2]=a;f[B>>2]=o;f[j>>2]=l;f[D>>2]=u;f[O>>2]=c;f[L>>2]=b;f[p>>2]=0;f[v>>2]=0;f[F>>2]=0;s[q>>2]=0;s[J>>2]=0;f[N>>2]=0;f[Z>>2]=((f[f[x>>2]>>2]|0)!=0^1)&1;f[d>>2]=f[f[x>>2]>>2];f[k>>2]=f[(f[x>>2]|0)+24>>2];if((f[C>>2]|0)==1){f[M>>2]=gn(f[x>>2]|0,f[P>>2]|0,f[I>>2]|0,f[R>>2]|0,f[D>>2]|0)|0;J=f[M>>2]|0;h=G;return J|0}f[g>>2]=f[L>>2];En(f[x>>2]|0,y,f[P>>2]|0,f[I>>2]|0,f[C>>2]|0,R,f[U>>2]|0,f[U>>2]|0,f[j>>2]|0,1,L);f[F>>2]=f[y>>2];f[p>>2]=f[y+4>>2];f[v>>2]=f[y+8>>2];f[S>>2]=f[y+12>>2];f[z>>2]=f[y+16>>2];f[T>>2]=f[y+20>>2];s[q>>2]=+(f[p>>2]|0)*30517578125e-15;s[J>>2]=+(f[v>>2]|0)*30517578125e-15;do{if((f[C>>2]|0)==2){f[_>>2]=0;f[H>>2]=f[R>>2];f[V>>2]=0;f[V>>2]=(f[z>>2]|0)!=0&(f[z>>2]|0)!=16384?8:0;f[H>>2]=(f[H>>2]|0)-(f[V>>2]|0);f[w>>2]=(f[z>>2]|0)>8192&1;W=(f[x>>2]|0)+28|0;f[W>>2]=(f[W>>2]|0)-((f[T>>2]|0)+(f[V>>2]|0));f[E>>2]=f[w>>2]|0?f[I>>2]|0:f[P>>2]|0;f[A>>2]=f[w>>2]|0?f[P>>2]|0:f[I>>2]|0;do{if(f[V>>2]|0)if(f[d>>2]|0){f[_>>2]=+s[f[E>>2]>>2]*+s[(f[A>>2]|0)+4>>2]-+s[(f[E>>2]|0)+4>>2]*+s[f[A>>2]>>2]<0&1;er(f[k>>2]|0,f[_>>2]|0,1);break}else{f[_>>2]=Ye(f[k>>2]|0,1)|0;break}}while(0);f[_>>2]=1-(f[_>>2]<<1);f[N>>2]=pn(f[x>>2]|0,f[E>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[g>>2]|0)|0;s[f[A>>2]>>2]=+(0-(f[_>>2]|0)|0)*+s[(f[E>>2]|0)+4>>2];s[(f[A>>2]|0)+4>>2]=+(f[_>>2]|0)*+s[f[E>>2]>>2];if(f[Z>>2]|0){s[f[P>>2]>>2]=+s[q>>2]*+s[f[P>>2]>>2];s[(f[P>>2]|0)+4>>2]=+s[q>>2]*+s[(f[P>>2]|0)+4>>2];s[f[I>>2]>>2]=+s[J>>2]*+s[f[I>>2]>>2];s[(f[I>>2]|0)+4>>2]=+s[J>>2]*+s[(f[I>>2]|0)+4>>2];s[m>>2]=+s[f[P>>2]>>2];s[f[P>>2]>>2]=+s[m>>2]-+s[f[I>>2]>>2];s[f[I>>2]>>2]=+s[m>>2]+ +s[f[I>>2]>>2];s[m>>2]=+s[(f[P>>2]|0)+4>>2];s[(f[P>>2]|0)+4>>2]=+s[m>>2]-+s[(f[I>>2]|0)+4>>2];s[(f[I>>2]|0)+4>>2]=+s[m>>2]+ +s[(f[I>>2]|0)+4>>2]}}else{a=f[R>>2]|0;if((f[R>>2]|0)>=(((f[R>>2]|0)-(f[S>>2]|0)|0)/2|0|0))a=(a-(f[S>>2]|0)|0)/2|0;if(0<=(a|0)){a=f[R>>2]|0;if((f[R>>2]|0)>=(((f[R>>2]|0)-(f[S>>2]|0)|0)/2|0|0))a=(a-(f[S>>2]|0)|0)/2|0}else a=0;f[H>>2]=a;f[V>>2]=(f[R>>2]|0)-(f[H>>2]|0);a=(f[x>>2]|0)+28|0;f[a>>2]=(f[a>>2]|0)-(f[T>>2]|0);f[W>>2]=f[(f[x>>2]|0)+28>>2];a=f[x>>2]|0;if((f[H>>2]|0)>=(f[V>>2]|0)){f[N>>2]=pn(a,f[P>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[L>>2]|0)|0;f[W>>2]=(f[H>>2]|0)-((f[W>>2]|0)-(f[(f[x>>2]|0)+28>>2]|0));if((f[W>>2]|0)>24&(f[z>>2]|0)!=0)f[V>>2]=(f[V>>2]|0)+((f[W>>2]|0)-24);J=pn(f[x>>2]|0,f[I>>2]|0,f[C>>2]|0,f[V>>2]|0,f[U>>2]|0,0,f[j>>2]|0,0,+s[J>>2],0,f[L>>2]>>f[U>>2])|0;f[N>>2]=f[N>>2]|J;break}else{f[N>>2]=pn(a,f[I>>2]|0,f[C>>2]|0,f[V>>2]|0,f[U>>2]|0,0,f[j>>2]|0,0,+s[J>>2],0,f[L>>2]>>f[U>>2])|0;f[W>>2]=(f[V>>2]|0)-((f[W>>2]|0)-(f[(f[x>>2]|0)+28>>2]|0));if((f[W>>2]|0)>24&(f[z>>2]|0)!=16384)f[H>>2]=(f[H>>2]|0)+((f[W>>2]|0)-24);J=pn(f[x>>2]|0,f[P>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[L>>2]|0)|0;f[N>>2]=f[N>>2]|J;break}}}while(0);e:do{if(f[Z>>2]|0){if((f[C>>2]|0)!=2)Pn(f[P>>2]|0,f[I>>2]|0,+s[q>>2],f[C>>2]|0,f[(f[x>>2]|0)+40>>2]|0);if(f[F>>2]|0){f[Y>>2]=0;while(1){if((f[Y>>2]|0)>=(f[C>>2]|0))break e;s[(f[I>>2]|0)+(f[Y>>2]<<2)>>2]=-+s[(f[I>>2]|0)+(f[Y>>2]<<2)>>2];f[Y>>2]=(f[Y>>2]|0)+1}}}}while(0);f[M>>2]=f[N>>2];J=f[M>>2]|0;h=G;return J|0}function gn(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;d=y+24|0;b=y+20|0;v=y+16|0;g=y+12|0;k=y+8|0;w=y+4|0;p=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;f[d>>2]=((f[f[a>>2]>>2]|0)!=0^1)&1;f[g>>2]=f[o>>2];f[k>>2]=f[f[a>>2]>>2];f[w>>2]=f[(f[a>>2]|0)+24>>2];f[v>>2]=(f[l>>2]|0)!=0&1;f[b>>2]=0;do{f[p>>2]=0;if((f[(f[a>>2]|0)+28>>2]|0)>=8){if(f[k>>2]|0){f[p>>2]=+s[f[g>>2]>>2]<0&1;er(f[w>>2]|0,f[p>>2]|0,1)}else f[p>>2]=Ye(f[w>>2]|0,1)|0;n=(f[a>>2]|0)+28|0;f[n>>2]=(f[n>>2]|0)-8;f[u>>2]=(f[u>>2]|0)-8}if(f[d>>2]|0)s[f[g>>2]>>2]=f[p>>2]|0?-1:1;f[g>>2]=f[l>>2];n=(f[b>>2]|0)+1|0;f[b>>2]=n}while((n|0)<(1+(f[v>>2]|0)|0));if(!(f[c>>2]|0)){h=y;return 1}s[f[c>>2]>>2]=+s[f[o>>2]>>2];h=y;return 1}function yn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;n=k+32|0;a=k+28|0;o=k+24|0;d=k+20|0;c=k+16|0;b=k+12|0;u=k+8|0;l=k+4|0;w=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[d>>2]=t;f[u>>2]=re(f[a>>2]|0,f[o>>2]|0)|0;i=f[u>>2]|0;f[l>>2]=he()|0;r=h;h=h+((1*(i<<2)|0)+15&-16)|0;if(f[d>>2]|0){f[w>>2]=8+(f[o>>2]<<2)+-8;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;i=re(f[b>>2]|0,f[o>>2]|0)|0;d=re(f[(f[w>>2]|0)+(f[c>>2]<<2)>>2]|0,f[a>>2]|0)|0;s[r+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[n>>2]|0)+(i+(f[c>>2]|0)<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}w=f[n>>2]|0;b=f[u>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,r|0,d|0)|0;d=f[l>>2]|0;de(d|0);h=k;return}else{f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;w=re(f[b>>2]|0,f[o>>2]|0)|0;d=re(f[c>>2]|0,f[a>>2]|0)|0;s[r+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[n>>2]|0)+(w+(f[c>>2]|0)<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}w=f[n>>2]|0;b=f[u>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,r|0,d|0)|0;d=f[l>>2]|0;de(d|0);h=k;return}}function _n(e,r,i,t,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;u=u|0;c=+c;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0;K=h;h=h+176|0;P=K+164|0;I=K+160|0;Z=K+156|0;x=K+152|0;V=K+148|0;C=K+144|0;U=K+140|0;J=K+136|0;B=K+132|0;X=K+128|0;_=K+124|0;k=K+120|0;p=K+116|0;v=K+112|0;j=K+108|0;z=K+104|0;W=K+100|0;G=K+96|0;m=K+92|0;D=K+88|0;O=K+84|0;y=K+80|0;d=K+76|0;R=K+72|0;M=K+68|0;F=K+64|0;q=K+60|0;T=K+56|0;N=K+52|0;L=K+48|0;E=K+24|0;Y=K+20|0;H=K+16|0;S=K+12|0;g=K+8|0;w=K+4|0;A=K;f[P>>2]=e;f[I>>2]=r;f[Z>>2]=i;f[x>>2]=t;f[V>>2]=o;f[C>>2]=l;f[U>>2]=u;s[J>>2]=c;f[B>>2]=b;f[p>>2]=0;f[v>>2]=0;f[j>>2]=f[V>>2];s[z>>2]=0;s[W>>2]=0;f[G>>2]=0;f[m>>2]=((f[f[P>>2]>>2]|0)!=0^1)&1;f[D>>2]=0;f[O>>2]=f[f[P>>2]>>2];f[y>>2]=f[(f[P>>2]|0)+4>>2];f[d>>2]=f[(f[P>>2]|0)+8>>2];f[R>>2]=f[(f[P>>2]|0)+16>>2];f[M>>2]=f[(f[P>>2]|0)+24>>2];l=re((f[U>>2]|0)+1|0,f[(f[y>>2]|0)+8>>2]|0)|0;f[X>>2]=(f[(f[y>>2]|0)+92+8>>2]|0)+(n[(f[(f[y>>2]|0)+92+4>>2]|0)+(l+(f[d>>2]|0)<<1)>>1]|0);if((f[U>>2]|0)!=-1?(f[Z>>2]|0)>2?(f[x>>2]|0)>((a[(f[X>>2]|0)+(a[f[X>>2]>>0]|0)>>0]|0)+12|0):0:0){f[Y>>2]=0;f[Z>>2]=f[Z>>2]>>1;f[D>>2]=(f[I>>2]|0)+(f[Z>>2]<<2);f[U>>2]=(f[U>>2]|0)-1;if((f[V>>2]|0)==1)f[B>>2]=f[B>>2]&1|f[B>>2]<<1;f[V>>2]=(f[V>>2]|0)+1>>1;En(f[P>>2]|0,E,f[I>>2]|0,f[D>>2]|0,f[Z>>2]|0,x,f[V>>2]|0,f[j>>2]|0,f[U>>2]|0,0,B);f[p>>2]=f[E+4>>2];f[v>>2]=f[E+8>>2];f[T>>2]=f[E+12>>2];f[N>>2]=f[E+16>>2];f[L>>2]=f[E+20>>2];s[z>>2]=+(f[p>>2]|0)*30517578125e-15;s[W>>2]=+(f[v>>2]|0)*30517578125e-15;do{if((f[j>>2]|0)>1?f[N>>2]&16383|0:0){o=f[T>>2]|0;if((f[N>>2]|0)>8192){f[T>>2]=(f[T>>2]|0)-(o>>4-(f[U>>2]|0));break}if(0<(o+(f[Z>>2]<<3>>5-(f[U>>2]|0))|0))o=0;else o=(f[T>>2]|0)+(f[Z>>2]<<3>>5-(f[U>>2]|0))|0;f[T>>2]=o}}while(0);o=f[x>>2]|0;if((f[x>>2]|0)>=(((f[x>>2]|0)-(f[T>>2]|0)|0)/2|0|0))o=(o-(f[T>>2]|0)|0)/2|0;if(0<=(o|0)){o=f[x>>2]|0;if((f[x>>2]|0)>=(((f[x>>2]|0)-(f[T>>2]|0)|0)/2|0|0))o=(o-(f[T>>2]|0)|0)/2|0}else o=0;f[F>>2]=o;f[q>>2]=(f[x>>2]|0)-(f[F>>2]|0);X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[L>>2]|0);if(f[C>>2]|0)f[Y>>2]=(f[C>>2]|0)+(f[Z>>2]<<2);f[H>>2]=f[(f[P>>2]|0)+28>>2];o=f[P>>2]|0;if((f[F>>2]|0)>=(f[q>>2]|0)){f[G>>2]=_n(o,f[I>>2]|0,f[Z>>2]|0,f[F>>2]|0,f[V>>2]|0,f[C>>2]|0,f[U>>2]|0,+s[J>>2]*+s[z>>2],f[B>>2]|0)|0;f[H>>2]=(f[F>>2]|0)-((f[H>>2]|0)-(f[(f[P>>2]|0)+28>>2]|0));if((f[H>>2]|0)>24&(f[N>>2]|0)!=0)f[q>>2]=(f[q>>2]|0)+((f[H>>2]|0)-24);X=_n(f[P>>2]|0,f[D>>2]|0,f[Z>>2]|0,f[q>>2]|0,f[V>>2]|0,f[Y>>2]|0,f[U>>2]|0,+s[J>>2]*+s[W>>2],f[B>>2]>>f[V>>2])|0;f[G>>2]=f[G>>2]|X<<(f[j>>2]>>1);X=f[G>>2]|0;h=K;return X|0}else{X=_n(o,f[D>>2]|0,f[Z>>2]|0,f[q>>2]|0,f[V>>2]|0,f[Y>>2]|0,f[U>>2]|0,+s[J>>2]*+s[W>>2],f[B>>2]>>f[V>>2])|0;f[G>>2]=X<<(f[j>>2]>>1);f[H>>2]=(f[q>>2]|0)-((f[H>>2]|0)-(f[(f[P>>2]|0)+28>>2]|0));if((f[H>>2]|0)>24&(f[N>>2]|0)!=16384)f[F>>2]=(f[F>>2]|0)+((f[H>>2]|0)-24);X=_n(f[P>>2]|0,f[I>>2]|0,f[Z>>2]|0,f[F>>2]|0,f[V>>2]|0,f[C>>2]|0,f[U>>2]|0,+s[J>>2]*+s[z>>2],f[B>>2]|0)|0;f[G>>2]=f[G>>2]|X;X=f[G>>2]|0;h=K;return X|0}}f[_>>2]=An(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[x>>2]|0)|0;f[k>>2]=Sn(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[_>>2]|0)|0;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[k>>2]|0);while(1){if(!((f[(f[P>>2]|0)+28>>2]|0)<0?(f[_>>2]|0)>0:0))break;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)+(f[k>>2]|0);f[_>>2]=(f[_>>2]|0)+-1;f[k>>2]=Sn(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[_>>2]|0)|0;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[k>>2]|0)}if(f[_>>2]|0){f[S>>2]=Rn(f[_>>2]|0)|0;w=f[I>>2]|0;t=f[Z>>2]|0;r=f[S>>2]|0;i=f[R>>2]|0;u=f[V>>2]|0;o=f[M>>2]|0;if(f[O>>2]|0){f[G>>2]=Jr(w,t,r,i,u,o)|0;X=f[G>>2]|0;h=K;return X|0}else{f[G>>2]=Qr(w,t,r,i,u,o,+s[J>>2])|0;X=f[G>>2]|0;h=K;return X|0}}if(!(f[m>>2]|0)){X=f[G>>2]|0;h=K;return X|0}f[w>>2]=(1<>2])-1;f[B>>2]=f[B>>2]&f[w>>2];if(!(f[B>>2]|0)){vs(f[I>>2]|0,0,f[Z>>2]<<2|0)|0;X=f[G>>2]|0;h=K;return X|0}X=(f[C>>2]|0)==0;f[g>>2]=0;if(X){while(1){if((f[g>>2]|0)>=(f[Z>>2]|0))break;X=an(f[(f[P>>2]|0)+36>>2]|0)|0;f[(f[P>>2]|0)+36>>2]=X;s[(f[I>>2]|0)+(f[g>>2]<<2)>>2]=+(f[(f[P>>2]|0)+36>>2]>>20|0);f[g>>2]=(f[g>>2]|0)+1}f[G>>2]=f[w>>2]}else{while(1){if((f[g>>2]|0)>=(f[Z>>2]|0))break;X=an(f[(f[P>>2]|0)+36>>2]|0)|0;f[(f[P>>2]|0)+36>>2]=X;s[A>>2]=.00390625;c=+s[A>>2];s[A>>2]=f[(f[P>>2]|0)+36>>2]&32768|0?c:-c;s[(f[I>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[C>>2]|0)+(f[g>>2]<<2)>>2]+ +s[A>>2];f[g>>2]=(f[g>>2]|0)+1}f[G>>2]=f[B>>2]}ri(f[I>>2]|0,f[Z>>2]|0,+s[J>>2],f[(f[P>>2]|0)+40>>2]|0);X=f[G>>2]|0;h=K;return X|0}function mn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;a=k+32|0;o=k+28|0;l=k+24|0;d=k+20|0;b=k+16|0;w=k+12|0;c=k+8|0;u=k+4|0;n=k;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[d>>2]=t;f[c>>2]=re(f[o>>2]|0,f[l>>2]|0)|0;i=f[c>>2]|0;f[u>>2]=he()|0;e=h;h=h+((1*(i<<2)|0)+15&-16)|0;if(f[d>>2]|0){f[n>>2]=8+(f[l>>2]<<2)+-8;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=0;while(1){r=f[b>>2]|0;if((f[w>>2]|0)>=(f[o>>2]|0))break;i=re(f[(f[n>>2]|0)+(r<<2)>>2]|0,f[o>>2]|0)|0;d=re(f[w>>2]|0,f[l>>2]|0)|0;s[e+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[a>>2]|0)+(i+(f[w>>2]|0)<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=r+1}w=f[a>>2]|0;b=f[c>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,e|0,d|0)|0;d=f[u>>2]|0;de(d|0);h=k;return}else{f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=0;while(1){r=f[b>>2]|0;if((f[w>>2]|0)>=(f[o>>2]|0))break;n=re(r,f[o>>2]|0)|0;d=re(f[w>>2]|0,f[l>>2]|0)|0;s[e+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[a>>2]|0)+(n+(f[w>>2]|0)<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=r+1}w=f[a>>2]|0;b=f[c>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,e|0,d|0)|0;d=f[u>>2]|0;de(d|0);h=k;return}}function En(e,r,i,t,a,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0;K=h;h=h+160|0;k=K+148|0;B=K+144|0;x=K+140|0;O=K+136|0;D=K+132|0;N=K+128|0;F=K+124|0;d=K+120|0;ee=K+116|0;L=K+112|0;j=K+108|0;U=K+104|0;V=K+100|0;z=K+96|0;q=K+92|0;Z=K+88|0;J=K+84|0;$=K+80|0;Q=K+76|0;G=K+72|0;W=K+68|0;H=K+64|0;C=K+60|0;I=K+56|0;X=K+52|0;Y=K+48|0;P=K+44|0;S=K+40|0;T=K+36|0;R=K+32|0;M=K+28|0;y=K+24|0;E=K+20|0;A=K+16|0;m=K+12|0;p=K+8|0;v=K+4|0;g=K;f[k>>2]=e;f[B>>2]=r;f[x>>2]=i;f[O>>2]=t;f[D>>2]=a;f[N>>2]=o;f[F>>2]=l;f[d>>2]=u;f[ee>>2]=c;f[L>>2]=b;f[j>>2]=w;f[V>>2]=0;f[W>>2]=0;f[H>>2]=f[f[k>>2]>>2];f[C>>2]=f[(f[k>>2]|0)+4>>2];f[I>>2]=f[(f[k>>2]|0)+8>>2];f[X>>2]=f[(f[k>>2]|0)+12>>2];f[Y>>2]=f[(f[k>>2]|0)+24>>2];f[P>>2]=f[(f[k>>2]|0)+32>>2];f[$>>2]=(n[(f[(f[C>>2]|0)+56>>2]|0)+(f[I>>2]<<1)>>1]|0)+(f[ee>>2]<<3);f[Q>>2]=(f[$>>2]>>1)-((f[L>>2]|0?(f[D>>2]|0)==2:0)?16:4);f[U>>2]=Tn(f[D>>2]|0,f[f[N>>2]>>2]|0,f[Q>>2]|0,f[$>>2]|0,f[L>>2]|0)|0;if(f[L>>2]|0?(f[I>>2]|0)>=(f[X>>2]|0):0)f[U>>2]=1;if(f[H>>2]|0)f[V>>2]=ti(f[x>>2]|0,f[O>>2]|0,f[L>>2]|0,f[D>>2]|0,f[(f[k>>2]|0)+40>>2]|0)|0;f[G>>2]=Le(f[Y>>2]|0)|0;do{if((f[U>>2]|0)!=1){if(f[H>>2]|0)f[V>>2]=(re(f[V>>2]|0,f[U>>2]|0)|0)+8192>>14;do{if((f[L>>2]|0)!=0&(f[D>>2]|0)>2){f[S>>2]=3;f[T>>2]=f[V>>2];f[R>>2]=(f[U>>2]|0)/2|0;l=re(f[S>>2]|0,(f[R>>2]|0)+1|0)|0;f[M>>2]=l+(f[R>>2]|0);l=f[Y>>2]|0;if(f[H>>2]|0){if((f[T>>2]|0)<=(f[R>>2]|0))d=re(f[S>>2]|0,f[T>>2]|0)|0;else d=(f[T>>2]|0)-1-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;if((f[T>>2]|0)<=(f[R>>2]|0))k=re(f[S>>2]|0,(f[T>>2]|0)+1|0)|0;else k=(f[T>>2]|0)-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;We(l,d,k,f[M>>2]|0);break}f[y>>2]=Ue(l,f[M>>2]|0)|0;if((f[y>>2]|0)<(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0))f[T>>2]=(f[y>>2]|0)/(f[S>>2]|0)|0;else f[T>>2]=(f[R>>2]|0)+1+((f[y>>2]|0)-(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0));if((f[T>>2]|0)<=(f[R>>2]|0))d=re(f[S>>2]|0,f[T>>2]|0)|0;else d=(f[T>>2]|0)-1-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;if((f[T>>2]|0)<=(f[R>>2]|0))k=re(f[S>>2]|0,(f[T>>2]|0)+1|0)|0;else k=(f[T>>2]|0)-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;De(f[Y>>2]|0,d,k,f[M>>2]|0);f[V>>2]=f[T>>2]}else{if((f[d>>2]|0)>1|(f[L>>2]|0)!=0){k=f[Y>>2]|0;if(f[H>>2]|0){Qe(k,f[V>>2]|0,(f[U>>2]|0)+1|0);break}else{f[V>>2]=ze(k,(f[U>>2]|0)+1|0)|0;break}}f[E>>2]=1;f[A>>2]=re((f[U>>2]>>1)+1|0,(f[U>>2]>>1)+1|0)|0;if(!(f[H>>2]|0)){f[p>>2]=0;f[v>>2]=Ue(f[Y>>2]|0,f[A>>2]|0)|0;if((f[v>>2]|0)<((re(f[U>>2]>>1,(f[U>>2]>>1)+1|0)|0)>>1|0)){f[V>>2]=((wr((f[v>>2]<<3)+1|0)|0)-1|0)>>>1;f[E>>2]=(f[V>>2]|0)+1;f[p>>2]=(re(f[V>>2]|0,(f[V>>2]|0)+1|0)|0)>>1}else{ee=(f[U>>2]|0)+1<<1;f[V>>2]=(ee-(wr(((f[A>>2]|0)-(f[v>>2]|0)-1<<3)+1|0)|0)|0)>>>1;f[E>>2]=(f[U>>2]|0)+1-(f[V>>2]|0);f[p>>2]=(f[A>>2]|0)-((re((f[U>>2]|0)+1-(f[V>>2]|0)|0,(f[U>>2]|0)+2-(f[V>>2]|0)|0)|0)>>1)}De(f[Y>>2]|0,f[p>>2]|0,(f[p>>2]|0)+(f[E>>2]|0)|0,f[A>>2]|0);break}if((f[V>>2]|0)<=(f[U>>2]>>1|0))k=(f[V>>2]|0)+1|0;else k=(f[U>>2]|0)+1-(f[V>>2]|0)|0;f[E>>2]=k;if((f[V>>2]|0)<=(f[U>>2]>>1|0))k=(re(f[V>>2]|0,(f[V>>2]|0)+1|0)|0)>>1;else k=(f[A>>2]|0)-((re((f[U>>2]|0)+1-(f[V>>2]|0)|0,(f[U>>2]|0)+2-(f[V>>2]|0)|0)|0)>>1)|0;f[m>>2]=k;We(f[Y>>2]|0,f[m>>2]|0,(f[m>>2]|0)+(f[E>>2]|0)|0,f[A>>2]|0)}}while(0);f[V>>2]=cn(f[V>>2]<<14,f[U>>2]|0)|0;if((f[H>>2]|0)!=0&(f[L>>2]|0)!=0)if(!(f[V>>2]|0)){Mn(f[C>>2]|0,f[x>>2]|0,f[O>>2]|0,f[P>>2]|0,f[I>>2]|0,f[D>>2]|0);break}else{xn(f[x>>2]|0,f[O>>2]|0,f[D>>2]|0);break}}else if(f[L>>2]|0){if(f[H>>2]|0){f[W>>2]=(f[V>>2]|0)>8192&1;e:do{if(f[W>>2]|0){f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[D>>2]|0))break e;s[(f[O>>2]|0)+(f[g>>2]<<2)>>2]=-+s[(f[O>>2]|0)+(f[g>>2]<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}}}while(0);Mn(f[C>>2]|0,f[x>>2]|0,f[O>>2]|0,f[P>>2]|0,f[I>>2]|0,f[D>>2]|0)}do{if((f[f[N>>2]>>2]|0)>16?(f[(f[k>>2]|0)+28>>2]|0)>16:0){k=f[Y>>2]|0;if(f[H>>2]|0){Xe(k,f[W>>2]|0,2);break}else{f[W>>2]=Ne(k,2)|0;break}}else _=60}while(0);if((_|0)==60)f[W>>2]=0;f[V>>2]=0}}while(0);ee=Le(f[Y>>2]|0)|0;f[J>>2]=ee-(f[G>>2]|0);ee=f[N>>2]|0;f[ee>>2]=(f[ee>>2]|0)-(f[J>>2]|0);if(!(f[V>>2]|0)){f[q>>2]=32767;f[Z>>2]=0;ee=f[j>>2]|0;f[ee>>2]=f[ee>>2]&(1<>2])-1;f[z>>2]=-16384;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}if((f[V>>2]|0)==16384){f[q>>2]=0;f[Z>>2]=32767;ee=f[j>>2]|0;f[ee>>2]=f[ee>>2]&(1<>2])-1<>2];f[z>>2]=16384;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}else{f[q>>2]=(On(f[V>>2]&65535)|0)<<16>>16;f[Z>>2]=(On(16384-(f[V>>2]|0)&65535)|0)<<16>>16;ee=((f[D>>2]|0)-1<<7&65535)<<16>>16;f[z>>2]=16384+(re(ee,((Ln(f[Z>>2]|0,f[q>>2]|0)|0)&65535)<<16>>16)|0)>>15;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}}function An(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;k=h;h=h+48|0;s=k+36|0;p=k+32|0;d=k+28|0;v=k+24|0;u=k+20|0;o=k+16|0;w=k+12|0;b=k+8|0;c=k+4|0;l=k;f[p>>2]=e;f[d>>2]=r;f[v>>2]=i;f[u>>2]=t;f[v>>2]=(f[v>>2]|0)+1;e=re(f[v>>2]|0,f[(f[p>>2]|0)+8>>2]|0)|0;f[c>>2]=(f[(f[p>>2]|0)+92+8>>2]|0)+(n[(f[(f[p>>2]|0)+92+4>>2]|0)+(e+(f[d>>2]|0)<<1)>>1]|0);f[w>>2]=0;f[b>>2]=a[f[c>>2]>>0];f[u>>2]=(f[u>>2]|0)+-1;f[o>>2]=0;while(1){if((f[o>>2]|0)>=6)break;f[l>>2]=(f[w>>2]|0)+(f[b>>2]|0)+1>>1;i=f[l>>2]|0;if((a[(f[c>>2]|0)+(f[l>>2]|0)>>0]|0)>=(f[u>>2]|0))f[b>>2]=i;else f[w>>2]=i;f[o>>2]=(f[o>>2]|0)+1}if(!(f[w>>2]|0))i=-1;else i=a[(f[c>>2]|0)+(f[w>>2]|0)>>0]|0;if(((f[u>>2]|0)-i|0)<=((a[(f[c>>2]|0)+(f[b>>2]|0)>>0]|0)-(f[u>>2]|0)|0)){f[s>>2]=f[w>>2];v=f[s>>2]|0;h=k;return v|0}else{f[s>>2]=f[b>>2];v=f[s>>2]|0;h=k;return v|0}return 0}function Sn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0;s=h;h=h+32|0;c=s+16|0;u=s+12|0;b=s+8|0;o=s+4|0;l=s;f[c>>2]=e;f[u>>2]=r;f[b>>2]=i;f[o>>2]=t;f[b>>2]=(f[b>>2]|0)+1;t=re(f[b>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0;f[l>>2]=(f[(f[c>>2]|0)+92+8>>2]|0)+(n[(f[(f[c>>2]|0)+92+4>>2]|0)+(t+(f[u>>2]|0)<<1)>>1]|0);if(!(f[o>>2]|0)){b=0;h=s;return b|0}b=(a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)+1|0;h=s;return b|0}function Rn(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;e=f[r>>2]|0;if((f[r>>2]|0)<8){r=e;h=i;return r|0}r=8+(e&7)<<(f[r>>2]>>3)-1;h=i;return r|0}function Tn(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;w=h;h=h+32|0;k=w+28|0;o=w+24|0;l=w+20|0;s=w+16|0;d=w+12|0;b=w+8|0;c=w+4|0;u=w;f[k>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[d>>2]=a;f[u>>2]=(f[k>>2]<<1)-1;if((f[d>>2]|0)!=0&(f[k>>2]|0)==2)f[u>>2]=(f[u>>2]|0)+-1;d=(f[o>>2]|0)+(re(f[u>>2]|0,f[l>>2]|0)|0)|0;f[c>>2]=dn(d,f[u>>2]|0)|0;if(((f[o>>2]|0)-(f[s>>2]|0)-32|0)<(f[c>>2]|0))o=(f[o>>2]|0)-(f[s>>2]|0)-32|0;else o=f[c>>2]|0;f[c>>2]=o;f[c>>2]=64<(f[c>>2]|0)?64:f[c>>2]|0;if((f[c>>2]|0)<4){f[b>>2]=1;d=f[b>>2]|0;h=w;return d|0}else{f[b>>2]=n[22328+((f[c>>2]&7)<<1)>>1]>>14-(f[c>>2]>>3);f[b>>2]=(f[b>>2]|0)+1>>1<<1;d=f[b>>2]|0;h=w;return d|0}return 0}function Mn(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;p=h;h=h+64|0;_=p+56|0;o=p+52|0;l=p+48|0;E=p+44|0;A=p+40|0;u=p+36|0;m=p+32|0;w=p+28|0;c=p+24|0;b=p+20|0;y=p+16|0;g=p+12|0;v=p+8|0;d=p+4|0;k=p;f[_>>2]=e;f[o>>2]=r;f[l>>2]=i;f[E>>2]=t;f[A>>2]=n;f[u>>2]=a;f[m>>2]=f[A>>2];s[y>>2]=+s[(f[E>>2]|0)+(f[m>>2]<<2)>>2];s[g>>2]=+s[(f[E>>2]|0)+((f[m>>2]|0)+(f[(f[_>>2]|0)+8>>2]|0)<<2)>>2];s[v>>2]=+H(+(+s[y>>2]*+s[y>>2]+1.0000000036274937e-15+ +s[g>>2]*+s[g>>2]))+1.0000000036274937e-15;s[c>>2]=+s[y>>2]/+s[v>>2];s[b>>2]=+s[g>>2]/+s[v>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[u>>2]|0))break;s[k>>2]=+s[(f[o>>2]|0)+(f[w>>2]<<2)>>2];s[d>>2]=+s[(f[l>>2]|0)+(f[w>>2]<<2)>>2];s[(f[o>>2]|0)+(f[w>>2]<<2)>>2]=+s[c>>2]*+s[k>>2]+ +s[b>>2]*+s[d>>2];f[w>>2]=(f[w>>2]|0)+1}h=p;return}function xn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;t=c+20|0;n=c+16|0;a=c+12|0;o=c+8|0;u=c+4|0;l=c;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;s[l>>2]=+s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]*.7071067690849304;s[u>>2]=+s[(f[n>>2]|0)+(f[o>>2]<<2)>>2]*.7071067690849304;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+s[l>>2]+ +s[u>>2];s[(f[n>>2]|0)+(f[o>>2]<<2)>>2]=+s[u>>2]-+s[l>>2];f[o>>2]=(f[o>>2]|0)+1}h=c;return}function On(e){e=e|0;var r=0,i=0,t=0,a=0;i=h;h=h+16|0;a=i+6|0;t=i;r=i+4|0;n[a>>1]=e;f[t>>2]=4096+(re(n[a>>1]|0,n[a>>1]|0)|0)>>13;n[r>>1]=f[t>>2];n[r>>1]=32767-(n[r>>1]|0)+(16384+(re(n[r>>1]|0,((16384+(re(n[r>>1]|0,(8277+(16384+(re(-626,n[r>>1]|0)|0)>>15)&65535)<<16>>16)|0)>>15)+-7651&65535)<<16>>16)|0)>>15);h=i;return 1+(n[r>>1]|0)&65535|0}function Ln(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;i=h;h=h+16|0;n=i+12|0;t=i+8|0;a=i+4|0;o=i;f[n>>2]=e;f[t>>2]=r;f[a>>2]=32-(te(f[t>>2]|0)|0);f[o>>2]=32-(te(f[n>>2]|0)|0);f[t>>2]=f[t>>2]<<15-(f[a>>2]|0);f[n>>2]=f[n>>2]<<15-(f[o>>2]|0);e=((f[o>>2]|0)-(f[a>>2]|0)<<11)+(16384+(re((f[n>>2]&65535)<<16>>16,((16384+(re((f[n>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;e=e-(16384+(re((f[t>>2]&65535)<<16>>16,((16384+(re((f[t>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;h=i;return e|0}function Pn(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;y=h;h=h+64|0;a=y+60|0;o=y+56|0;l=y+52|0;u=y+48|0;w=y+40|0;_=y+36|0;m=y+32|0;c=y+28|0;b=y+24|0;E=y+20|0;g=y+16|0;d=y+12|0;v=y+8|0;p=y+4|0;k=y;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;f[u>>2]=t;f[y+44>>2]=n;s[_>>2]=0;s[m>>2]=0;In(f[o>>2]|0,f[a>>2]|0,f[o>>2]|0,f[u>>2]|0,_,m);s[_>>2]=+s[l>>2]*+s[_>>2];s[E>>2]=+s[l>>2];s[c>>2]=+s[E>>2]*+s[E>>2]+ +s[m>>2]-+s[_>>2]*2;s[b>>2]=+s[E>>2]*+s[E>>2]+ +s[m>>2]+ +s[_>>2]*2;if(+s[b>>2]<.0006000000284984708|+s[c>>2]<.0006000000284984708){gs(f[o>>2]|0,f[a>>2]|0,(f[u>>2]<<2)+0|0)|0;h=y;return}s[g>>2]=+s[c>>2];s[d>>2]=1/+H(+ +s[g>>2]);s[g>>2]=+s[b>>2];s[v>>2]=1/+H(+ +s[g>>2]);f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[u>>2]|0))break;s[k>>2]=+s[l>>2]*+s[(f[a>>2]|0)+(f[w>>2]<<2)>>2];s[p>>2]=+s[(f[o>>2]|0)+(f[w>>2]<<2)>>2];s[(f[a>>2]|0)+(f[w>>2]<<2)>>2]=+s[d>>2]*(+s[k>>2]-+s[p>>2]);s[(f[o>>2]|0)+(f[w>>2]<<2)>>2]=+s[v>>2]*(+s[k>>2]+ +s[p>>2]);f[w>>2]=(f[w>>2]|0)+1}h=y;return}function In(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;d=g+8|0;p=g+4|0;v=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[p>>2]=0;s[v>>2]=0;f[d>>2]=0;while(1){o=+s[p>>2];if((f[d>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=o+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[u>>2]|0)+(f[d>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[f[w>>2]>>2]=o;s[f[k>>2]>>2]=+s[v>>2];h=g;return}function Cn(e){e=e|0;var r=0,i=0,t=0,n=0;t=h;h=h+16|0;n=t+4|0;r=t;f[n>>2]=e;e=f[n>>2]|0;e:do{if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break;default:{i=7;break e}}f[r>>2]=6;break}else{switch(e|0){case 12e3:break;default:{i=7;break e}}f[r>>2]=4;break}else{if((e|0)<24e3){switch(e|0){case 16e3:break;default:{i=7;break e}}f[r>>2]=3;break}if((e|0)<48e3){switch(e|0){case 24e3:break;default:{i=7;break e}}f[r>>2]=2;break}else{switch(e|0){case 48e3:break;default:{i=7;break e}}f[r>>2]=1;break}}}while(0);if((i|0)==7)f[r>>2]=0;h=t;return f[r>>2]|0}function Un(e,r,i,t,n,a,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=+a;o=+o;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+112|0;k=N+96|0;d=N+92|0;v=N+88|0;g=N+84|0;y=N+80|0;_=N+76|0;m=N+72|0;E=N+68|0;A=N+64|0;S=N+60|0;p=N+56|0;I=N+48|0;T=N+44|0;M=N+40|0;x=N+36|0;O=N+32|0;L=N+28|0;P=N+24|0;C=N+20|0;U=N+16|0;B=N+12|0;j=N+8|0;D=N+4|0;R=N;f[k>>2]=e;f[d>>2]=r;f[v>>2]=i;f[g>>2]=t;f[y>>2]=n;s[_>>2]=a;s[m>>2]=o;f[E>>2]=l;f[A>>2]=u;f[S>>2]=c;f[p>>2]=b;f[N+52>>2]=w;if(+s[_>>2]==0&+s[m>>2]==0){if((f[d>>2]|0)==(f[k>>2]|0)){h=N;return}ys(f[k>>2]|0,f[d>>2]|0,(f[y>>2]<<2)+0|0)|0;h=N;return}s[T>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)>>2];s[M>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)+4>>2];s[x>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)+8>>2];s[O>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)>>2];s[L>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)+4>>2];s[P>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)+8>>2];s[U>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)+1<<2)>>2];s[B>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)<<2)>>2];s[j>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)-1<<2)>>2];s[D>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)-2<<2)>>2];if((+s[_>>2]==+s[m>>2]?(f[v>>2]|0)==(f[g>>2]|0):0)?(f[E>>2]|0)==(f[A>>2]|0):0)f[p>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[p>>2]|0))break;s[C>>2]=+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[g>>2]|0)+2<<2)>>2];s[R>>2]=+s[(f[S>>2]|0)+(f[I>>2]<<2)>>2]*+s[(f[S>>2]|0)+(f[I>>2]<<2)>>2];s[(f[k>>2]|0)+(f[I>>2]<<2)>>2]=+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]+(1-+s[R>>2])*+s[T>>2]*+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)<<2)>>2]+(1-+s[R>>2])*+s[M>>2]*(+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)+1<<2)>>2]+ +s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)-1<<2)>>2])+(1-+s[R>>2])*+s[x>>2]*(+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)+2<<2)>>2]+ +s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)-2<<2)>>2])+ +s[R>>2]*+s[O>>2]*+s[B>>2]+ +s[R>>2]*+s[L>>2]*(+s[U>>2]+ +s[j>>2])+ +s[R>>2]*+s[P>>2]*(+s[C>>2]+ +s[D>>2]);s[D>>2]=+s[j>>2];s[j>>2]=+s[B>>2];s[B>>2]=+s[U>>2];s[U>>2]=+s[C>>2];f[I>>2]=(f[I>>2]|0)+1}if(!(+s[m>>2]==0)){Bn((f[k>>2]|0)+(f[I>>2]<<2)|0,(f[d>>2]|0)+(f[I>>2]<<2)|0,f[g>>2]|0,(f[y>>2]|0)-(f[I>>2]|0)|0,+s[O>>2],+s[L>>2],+s[P>>2]);h=N;return}if((f[d>>2]|0)==(f[k>>2]|0)){h=N;return}ys((f[k>>2]|0)+(f[p>>2]<<2)|0,(f[d>>2]|0)+(f[p>>2]<<2)|0,((f[y>>2]|0)-(f[p>>2]|0)<<2)+0|0)|0;h=N;return}function Bn(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=+a;o=+o;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+64|0;l=E+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;d=E+24|0;v=E+20|0;g=E+16|0;y=E+12|0;_=E+8|0;m=E+4|0;p=E;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;s[w>>2]=n;s[k>>2]=a;s[d>>2]=o;s[m>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)-2<<2)>>2];s[_>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)-1<<2)>>2];s[y>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)<<2)>>2];s[g>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)+1<<2)>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[v>>2]=+s[(f[u>>2]|0)+((f[p>>2]|0)-(f[c>>2]|0)+2<<2)>>2];s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[p>>2]<<2)>>2]+ +s[w>>2]*+s[y>>2]+ +s[k>>2]*(+s[g>>2]+ +s[_>>2])+ +s[d>>2]*(+s[v>>2]+ +s[m>>2]);s[m>>2]=+s[_>>2];s[_>>2]=+s[y>>2];s[y>>2]=+s[g>>2];s[g>>2]=+s[v>>2];f[p>>2]=(f[p>>2]|0)+1}h=E;return}function jn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;b=w+4|0;c=w;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[(f[o>>2]|0)+8>>2]|0))break;f[c>>2]=(n[(f[(f[o>>2]|0)+32>>2]|0)+((f[b>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[o>>2]|0)+32>>2]|0)+(f[b>>2]<<1)>>1]|0)<>2];e=re(f[(f[o>>2]|0)+8>>2]|0,(f[s>>2]<<1)+(f[u>>2]|0)-1|0)|0;e=re((a[(f[(f[o>>2]|0)+92+12>>2]|0)+(e+(f[b>>2]|0))>>0]|0)+64|0,f[u>>2]|0)|0;e=(re(e,f[c>>2]|0)|0)>>2;f[(f[l>>2]|0)+(f[b>>2]<<2)>>2]=e;f[b>>2]=(f[b>>2]|0)+1}h=w;return}function Dn(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[i>>2]=e;if((f[i>>2]|0)>0|(f[i>>2]|0)<-7){f[r>>2]=25264;e=f[r>>2]|0;h=t;return e|0}else{f[r>>2]=f[164+(0-(f[i>>2]|0)<<2)>>2];e=f[r>>2]|0;h=t;return e|0}return 0}function Nn(){return 25415}function Fn(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=pr(48e3,960,0)|0;e=zn(f[t>>2]|0,f[i>>2]|0)|0;h=r;return e|0}function zn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;e=204+((re(f[a>>2]|0,f[(f[n>>2]|0)+4>>2]|0)|0)-1<<2)|0;f[i>>2]=e+(f[a>>2]<<10<<2)+((re((f[a>>2]|0)*3|0,f[(f[n>>2]|0)+8>>2]|0)|0)<<2);h=t;return f[i>>2]|0}function Yn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0;s=h;h=h+32|0;n=s+20|0;a=s+16|0;o=s+12|0;c=s+8|0;u=s+4|0;l=s;f[a>>2]=e;f[o>>2]=r;f[c>>2]=i;f[u>>2]=t;r=f[a>>2]|0;e=pr(48e3,960,0)|0;f[l>>2]=Hn(r,e,f[c>>2]|0,f[u>>2]|0)|0;if(f[l>>2]|0){f[n>>2]=f[l>>2];c=f[n>>2]|0;h=s;return c|0}else{c=Cn(f[o>>2]|0)|0;f[(f[a>>2]|0)+28>>2]=c;f[n>>2]=0;c=f[n>>2]|0;h=s;return c|0}return 0}function Hn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+20|0;a=u+16|0;o=u+12|0;l=u+8|0;s=u+4|0;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;if((f[l>>2]|0)<0|(f[l>>2]|0)>2){f[n>>2]=-1;e=f[n>>2]|0;h=u;return e|0}if((f[a>>2]|0)==0|(f[o>>2]|0)==0){f[n>>2]=-7;e=f[n>>2]|0;h=u;return e|0}else{e=f[a>>2]|0;vs(e|0,0,zn(f[o>>2]|0,f[l>>2]|0)|0)|0;f[f[a>>2]>>2]=f[o>>2];e=f[l>>2]|0;f[(f[a>>2]|0)+4>>2]=e;f[(f[a>>2]|0)+8>>2]=e;f[(f[a>>2]|0)+28>>2]=1;f[(f[a>>2]|0)+32>>2]=0;f[(f[a>>2]|0)+36>>2]=f[(f[f[a>>2]>>2]|0)+12>>2];f[(f[a>>2]|0)+48>>2]=1;f[(f[a>>2]|0)+72>>2]=f[s>>2];f[(f[a>>2]|0)+52>>2]=1;f[(f[a>>2]|0)+16>>2]=1;f[(f[a>>2]|0)+40>>2]=-1;f[(f[a>>2]|0)+44>>2]=0;f[(f[a>>2]|0)+12>>2]=0;f[(f[a>>2]|0)+24>>2]=5;f[(f[a>>2]|0)+60>>2]=24;qn(f[a>>2]|0,4028,u)|0;f[n>>2]=0;e=f[n>>2]|0;h=u;return e|0}return 0}function qn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;L=h;h=h+128|0;O=L+112|0;M=L+108|0;P=L+104|0;t=L+88|0;c=L+84|0;b=L+80|0;_=L+76|0;m=L+72|0;E=L+68|0;A=L+64|0;S=L+60|0;x=L+56|0;R=L+52|0;T=L+48|0;w=L+44|0;k=L+40|0;n=L+36|0;o=L+32|0;l=L+28|0;u=L+24|0;d=L+20|0;a=L+16|0;p=L+12|0;v=L+8|0;g=L+4|0;y=L;f[M>>2]=e;f[P>>2]=r;f[t>>2]=i;do{switch(f[P>>2]|0){case 4010:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[c>>2]=P;if((f[c>>2]|0)<0|(f[c>>2]|0)>10)t=41;else{f[(f[M>>2]|0)+24>>2]=f[c>>2];t=40}break}case 10010:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[b>>2]=P;if((f[b>>2]|0)>=0?(f[b>>2]|0)<(f[(f[f[M>>2]>>2]|0)+8>>2]|0):0){f[(f[M>>2]|0)+32>>2]=f[b>>2];t=40}else t=41;break}case 10012:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[_>>2]=P;if((f[_>>2]|0)>=1?(f[_>>2]|0)<=(f[(f[f[M>>2]>>2]|0)+8>>2]|0):0){f[(f[M>>2]|0)+36>>2]=f[_>>2];t=40}else t=41;break}case 10002:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[m>>2]=P;if((f[m>>2]|0)<0|(f[m>>2]|0)>2)t=41;else{f[(f[M>>2]|0)+20>>2]=(f[m>>2]|0)<=1&1;f[(f[M>>2]|0)+12>>2]=(f[m>>2]|0)==0&1;t=40}break}case 4014:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[E>>2]=P;if((f[E>>2]|0)<0|(f[E>>2]|0)>100)t=41;else{f[(f[M>>2]|0)+56>>2]=f[E>>2];t=40}break}case 4020:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[A>>2]=P;f[(f[M>>2]|0)+52>>2]=f[A>>2];t=40;break}case 4006:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[S>>2]=P;f[(f[M>>2]|0)+44>>2]=f[S>>2];t=40;break}case 4002:{i=(f[t>>2]|0)+(4-1)&~(4-1);P=f[i>>2]|0;f[t>>2]=i+4;f[x>>2]=P;if((f[x>>2]|0)<=500&(f[x>>2]|0)!=-1)t=41;else{if((f[x>>2]|0)<((f[(f[M>>2]|0)+4>>2]|0)*26e4|0))t=f[x>>2]|0;else t=(f[(f[M>>2]|0)+4>>2]|0)*26e4|0;f[x>>2]=t;f[(f[M>>2]|0)+40>>2]=f[x>>2];t=40}break}case 10008:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[R>>2]=P;if((f[R>>2]|0)<1|(f[R>>2]|0)>2)t=41;else{f[(f[M>>2]|0)+8>>2]=f[R>>2];t=40}break}case 4036:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[T>>2]=P;if((f[T>>2]|0)<8|(f[T>>2]|0)>24)t=41;else{f[(f[M>>2]|0)+60>>2]=f[T>>2];t=40}break}case 4037:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[w>>2]=P;f[f[w>>2]>>2]=f[(f[M>>2]|0)+60>>2];t=40;break}case 4040:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[k>>2]=P;f[(f[M>>2]|0)+64>>2]=f[k>>2];t=40;break}case 4028:{f[o>>2]=(f[M>>2]|0)+200+((re(f[(f[M>>2]|0)+4>>2]|0,(f[(f[f[M>>2]>>2]|0)+4>>2]|0)+1024|0)|0)<<2);f[l>>2]=(f[o>>2]|0)+((re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0)<<2);f[u>>2]=(f[l>>2]|0)+((re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0)<<2);vs((f[M>>2]|0)+76|0,0,(zn(f[f[M>>2]>>2]|0,f[(f[M>>2]|0)+4>>2]|0)|0)-((f[M>>2]|0)+76-(f[M>>2]|0))|0)|0;f[n>>2]=0;while(1){if((f[n>>2]|0)>=(re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0))break;s[(f[u>>2]|0)+(f[n>>2]<<2)>>2]=-28;s[(f[l>>2]|0)+(f[n>>2]<<2)>>2]=-28;f[n>>2]=(f[n>>2]|0)+1}f[(f[M>>2]|0)+172>>2]=0;s[(f[M>>2]|0)+84>>2]=1;f[(f[M>>2]|0)+80>>2]=2;f[(f[M>>2]|0)+88>>2]=256;f[(f[M>>2]|0)+96>>2]=0;f[(f[M>>2]|0)+100>>2]=0;t=40;break}case 10016:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[d>>2]=P;f[(f[M>>2]|0)+48>>2]=f[d>>2];t=40;break}case 10022:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[a>>2]=P;if(f[a>>2]|0){gs((f[M>>2]|0)+120|0,f[a>>2]|0,28|0)|0;t=40}else t=40;break}case 10015:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[p>>2]=P;if(!(f[p>>2]|0))t=41;else{f[f[p>>2]>>2]=f[f[M>>2]>>2];t=40}break}case 4031:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[v>>2]=P;if(!(f[v>>2]|0))t=41;else{f[f[v>>2]>>2]=f[(f[M>>2]|0)+76>>2];t=40}break}case 10024:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[g>>2]=P;f[(f[M>>2]|0)+68>>2]=f[g>>2];t=40;break}case 10026:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[y>>2]=P;f[(f[M>>2]|0)+192>>2]=f[y>>2];t=40;break}default:{f[O>>2]=-5;P=f[O>>2]|0;h=L;return P|0}}}while(0);if((t|0)==40){f[O>>2]=0;P=f[O>>2]|0;h=L;return P|0}else if((t|0)==41){f[O>>2]=-1;P=f[O>>2]|0;h=L;return P|0}return 0}function Wn(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;S=h;h=h+64|0;c=S+52|0;d=S+48|0;p=S+44|0;b=S+40|0;v=S+36|0;R=S+32|0;g=S+28|0;w=S+24|0;m=S+20|0;_=S+16|0;E=S+12|0;y=S+8|0;k=S+4|0;A=S;f[c>>2]=e;f[d>>2]=r;f[p>>2]=i;f[b>>2]=t;f[v>>2]=n;f[R>>2]=a;f[g>>2]=o;f[w>>2]=l;s[_>>2]=+s[f[R>>2]>>2];s[E>>2]=+s[f[g>>2]>>2];if(!(((f[v>>2]|0)==1?+s[(f[R>>2]|0)+4>>2]==0:0)^1|(f[w>>2]|0)!=0)){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[p>>2]|0))break;R=re(f[b>>2]|0,f[m>>2]|0)|0;s[k>>2]=+s[(f[c>>2]|0)+(R<<2)>>2]*32768;s[(f[d>>2]|0)+(f[m>>2]<<2)>>2]=+s[k>>2]-+s[E>>2];s[E>>2]=+s[_>>2]*+s[k>>2];f[m>>2]=(f[m>>2]|0)+1}s[f[g>>2]>>2]=+s[E>>2];h=S;return}f[y>>2]=(f[p>>2]|0)/(f[v>>2]|0)|0;if((f[v>>2]|0)!=1)vs(f[d>>2]|0,0,f[p>>2]<<2|0)|0;f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[y>>2]|0))break;k=re(f[b>>2]|0,f[m>>2]|0)|0;R=re(f[m>>2]|0,f[v>>2]|0)|0;s[(f[d>>2]|0)+(R<<2)>>2]=+s[(f[c>>2]|0)+(k<<2)>>2]*32768;f[m>>2]=(f[m>>2]|0)+1}e:do{if(f[w>>2]|0){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[y>>2]|0))break e;R=re(f[m>>2]|0,f[v>>2]|0)|0;if(65536<+s[(f[d>>2]|0)+(R<<2)>>2])u=65536;else{R=re(f[m>>2]|0,f[v>>2]|0)|0;u=+s[(f[d>>2]|0)+(R<<2)>>2]}if(!(-65536>u)){R=re(f[m>>2]|0,f[v>>2]|0)|0;if(65536<+s[(f[d>>2]|0)+(R<<2)>>2])u=65536;else{R=re(f[m>>2]|0,f[v>>2]|0)|0;u=+s[(f[d>>2]|0)+(R<<2)>>2]}}else u=-65536;R=re(f[m>>2]|0,f[v>>2]|0)|0;s[(f[d>>2]|0)+(R<<2)>>2]=u;f[m>>2]=(f[m>>2]|0)+1}}}while(0);f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[p>>2]|0))break;s[A>>2]=+s[(f[d>>2]|0)+(f[m>>2]<<2)>>2];s[(f[d>>2]|0)+(f[m>>2]<<2)>>2]=+s[A>>2]-+s[E>>2];s[E>>2]=+s[_>>2]*+s[A>>2];f[m>>2]=(f[m>>2]|0)+1}s[f[g>>2]>>2]=+s[E>>2];h=S;return}function Zn(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,We=0,Ze=0,Ve=0,Je=0,Ge=0,Ke=0,rr=0,ir=0,fr=0,ar=0,or=0,lr=0,sr=0,ur=0,hr=0,cr=0,br=0,wr=0,kr=0,dr=0;dr=h;h=h+448|0;lr=dr+440|0;sr=dr+436|0;v=dr+432|0;l=dr+428|0;w=dr+424|0;ur=dr+420|0;hr=dr+416|0;Ke=dr+412|0;Je=dr+408|0;Ce=dr+404|0;xe=dr+400|0;k=dr+352|0;A=dr+348|0;ir=dr+344|0;fr=dr+340|0;ar=dr+336|0;We=dr+332|0;wr=dr+328|0;Ve=dr+324|0;Pe=dr+320|0;Ie=dr+316|0;W=dr+312|0;q=dr+308|0;Ee=dr+304|0;me=dr+300|0;or=dr+296|0;Ge=dr+292|0;Z=dr+288|0;De=dr+284|0;z=dr+280|0;Me=dr+276|0;Ye=dr+272|0;Fe=dr+268|0;Ne=dr+264|0;V=dr+260|0;G=dr+256|0;Se=dr+252|0;fe=dr+248|0;pe=dr+244|0;je=dr+240|0;ce=dr+236|0;He=dr+232|0;H=dr+228|0;Be=dr+224|0;Ue=dr+220|0;Ze=dr+216|0;F=dr+212|0;we=dr+208|0;se=dr+204|0;ke=dr+200|0;y=dr+196|0;oe=dr+192|0;ze=dr+188|0;rr=dr+184|0;E=dr+180|0;X=dr+176|0;D=dr+172|0;Oe=dr+168|0;kr=dr+164|0;ue=dr+160|0;be=dr+156|0;ne=dr+152|0;Re=dr+148|0;c=dr+144|0;b=dr+140|0;d=dr+136|0;p=dr+132|0;cr=dr+128|0;g=dr+124|0;_=dr+120|0;S=dr+116|0;m=dr+112|0;C=dr+108|0;O=dr+104|0;M=dr+100|0;I=dr+96|0;P=dr+92|0;R=dr+88|0;T=dr+84|0;x=dr+80|0;L=dr+76|0;U=dr+72|0;B=dr+68|0;j=dr+64|0;N=dr+60|0;ie=dr+56|0;ee=dr+52|0;K=dr+48|0;J=dr+44|0;Q=dr+40|0;$=dr+36|0;ge=dr+32|0;ye=dr+28|0;Ae=dr+24|0;ae=dr+20|0;le=dr+16|0;_e=dr+12|0;ve=dr+8|0;Te=dr+4|0;br=dr;f[sr>>2]=e;f[v>>2]=r;f[l>>2]=i;f[w>>2]=t;f[ur>>2]=a;f[hr>>2]=o;f[We>>2]=0;f[wr>>2]=0;f[Ve>>2]=f[(f[sr>>2]|0)+4>>2];f[Pe>>2]=f[(f[sr>>2]|0)+8>>2];f[Ye>>2]=15;s[Fe>>2]=0;f[Ne>>2]=0;f[He>>2]=0;f[Ue>>2]=0;f[Ze>>2]=0;f[F>>2]=0;f[se>>2]=0;f[kr>>2]=0;s[ue>>2]=0;s[be>>2]=0;s[ne>>2]=0;f[Re>>2]=51e4;f[ze>>2]=f[f[sr>>2]>>2];f[rr>>2]=f[(f[ze>>2]|0)+8>>2];f[E>>2]=f[(f[ze>>2]|0)+4>>2];f[X>>2]=f[(f[ze>>2]|0)+32>>2];f[or>>2]=f[(f[sr>>2]|0)+32>>2];f[Ge>>2]=f[(f[sr>>2]|0)+36>>2];s[we>>2]=0;if((f[ur>>2]|0)<2|(f[v>>2]|0)==0){f[lr>>2]=-1;kr=f[lr>>2]|0;h=dr;return kr|0}f[l>>2]=re(f[l>>2]|0,f[(f[sr>>2]|0)+28>>2]|0)|0;f[Ie>>2]=0;while(1){if((f[Ie>>2]|0)>(f[(f[ze>>2]|0)+36>>2]|0))break;if((f[(f[ze>>2]|0)+44>>2]<>2]|0)==(f[l>>2]|0))break;f[Ie>>2]=(f[Ie>>2]|0)+1}if((f[Ie>>2]|0)>(f[(f[ze>>2]|0)+36>>2]|0)){f[lr>>2]=-1;kr=f[lr>>2]|0;h=dr;return kr|0}f[W>>2]=1<>2];f[Ce>>2]=re(f[W>>2]|0,f[(f[ze>>2]|0)+44>>2]|0)|0;f[A>>2]=(f[sr>>2]|0)+200+((re(f[Ve>>2]|0,f[E>>2]|0)|0)<<2);f[ir>>2]=(f[sr>>2]|0)+200+((re(f[Ve>>2]|0,(f[E>>2]|0)+1024|0)|0)<<2);f[fr>>2]=(f[ir>>2]|0)+((re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2);f[ar>>2]=(f[fr>>2]|0)+((re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2);if(!(f[hr>>2]|0)){f[ce>>2]=1;f[Ee>>2]=0}else{f[ce>>2]=Vn(f[hr>>2]|0)|0;f[Ee>>2]=(f[ce>>2]|0)+4>>3}f[ur>>2]=(f[ur>>2]|0)<1275?f[ur>>2]|0:1275;f[me>>2]=(f[ur>>2]|0)-(f[Ee>>2]|0);if(f[(f[sr>>2]|0)+44>>2]|0?(f[(f[sr>>2]|0)+40>>2]|0)!=-1:0){f[c>>2]=f[f[ze>>2]>>2]>>3;b=re(f[(f[sr>>2]|0)+40>>2]|0,f[l>>2]|0)|0;f[Se>>2]=(b+(f[c>>2]>>1)|0)/(f[c>>2]|0)|0;f[V>>2]=f[Se>>2]>>6}else{f[Se>>2]=0;f[b>>2]=re(f[(f[sr>>2]|0)+40>>2]|0,f[l>>2]|0)|0;if((f[ce>>2]|0)>1)f[b>>2]=(f[b>>2]|0)+(f[ce>>2]|0);if((f[(f[sr>>2]|0)+40>>2]|0)!=-1){if((f[ur>>2]|0)<((((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0))l=f[ur>>2]|0;else l=(((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;do{if(2<=(l|0))if((f[ur>>2]|0)<((((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0)){l=f[ur>>2]|0;break}else{l=(((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;break}else l=2}while(0);f[ur>>2]=l}f[V>>2]=f[ur>>2]}if((f[(f[sr>>2]|0)+40>>2]|0)!=-1)f[Re>>2]=(f[(f[sr>>2]|0)+40>>2]|0)-(re(((f[Pe>>2]|0)*40|0)+20|0,(400>>f[Ie>>2])-50|0)|0);if(!(f[hr>>2]|0)){qe(k,f[w>>2]|0,f[ur>>2]|0);f[hr>>2]=k}if((f[Se>>2]|0)>0?f[(f[sr>>2]|0)+52>>2]|0:0){f[d>>2]=f[Se>>2];if((((f[ce>>2]|0)==1?2:0)|0)>((f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6|0))l=(f[ce>>2]|0)==1?2:0;else l=(f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6;do{if((l|0)<(f[me>>2]|0))if((((f[ce>>2]|0)==1?2:0)|0)>((f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6|0)){l=(f[ce>>2]|0)==1?2:0;break}else{l=(f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6;break}else l=f[me>>2]|0}while(0);f[p>>2]=l;if((f[p>>2]|0)<(f[me>>2]|0)){f[ur>>2]=(f[Ee>>2]|0)+(f[p>>2]|0);f[me>>2]=f[p>>2];tr(f[hr>>2]|0,f[ur>>2]|0)}}f[fe>>2]=f[ur>>2]<<3;f[Z>>2]=f[Ge>>2];if((f[Z>>2]|0)>(f[(f[ze>>2]|0)+12>>2]|0))f[Z>>2]=f[(f[ze>>2]|0)+12>>2];p=re(f[Ve>>2]|0,(f[Ce>>2]|0)+(f[E>>2]|0)|0)|0;f[cr>>2]=he()|0;i=h;h=h+((1*(p<<2)|0)+15&-16)|0;u=+s[(f[sr>>2]|0)+180>>2];p=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;if(u>+Jn(f[v>>2]|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0))u=+s[(f[sr>>2]|0)+180>>2];else{p=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;u=+Jn(f[v>>2]|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0)}s[y>>2]=u;d=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;p=re(f[Pe>>2]|0,f[E>>2]|0)|0;u=+Jn((f[v>>2]|0)+(((d|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0)<<2)|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0);s[(f[sr>>2]|0)+180>>2]=u;if(+s[y>>2]>+s[(f[sr>>2]|0)+180>>2])u=+s[y>>2];else u=+s[(f[sr>>2]|0)+180>>2];s[y>>2]=u;f[Ze>>2]=+s[y>>2]<=1/+(1<>2]|0)+60>>2]|0)&1;if((f[ce>>2]|0)==1)Xe(f[hr>>2]|0,f[Ze>>2]|0,15);else f[Ze>>2]=0;if(f[Ze>>2]|0){if((f[Se>>2]|0)>0){p=(f[ur>>2]|0)<((f[Ee>>2]|0)+2|0)?f[ur>>2]|0:(f[Ee>>2]|0)+2|0;f[ur>>2]=p;f[V>>2]=p;f[fe>>2]=f[ur>>2]<<3;f[me>>2]=2;tr(f[hr>>2]|0,f[ur>>2]|0)}f[ce>>2]=f[ur>>2]<<3;d=f[ce>>2]|0;d=d-(Vn(f[hr>>2]|0)|0)|0;p=(f[hr>>2]|0)+20|0;f[p>>2]=(f[p>>2]|0)+d}f[Je>>2]=0;do{f[g>>2]=0;f[g>>2]=(f[(f[sr>>2]|0)+16>>2]|0?+s[y>>2]>65536:0)&1;p=i+((re(f[Je>>2]|0,(f[Ce>>2]|0)+(f[E>>2]|0)|0)|0)<<2)|0;Wn((f[v>>2]|0)+(f[Je>>2]<<2)|0,p+(f[E>>2]<<2)|0,f[Ce>>2]|0,f[Ve>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,(f[ze>>2]|0)+16|0,(f[sr>>2]|0)+148+(f[Je>>2]<<2)|0,f[g>>2]|0);p=(f[Je>>2]|0)+1|0;f[Je>>2]=p}while((p|0)<(f[Ve>>2]|0));if((f[me>>2]|0)>3?(f[(f[sr>>2]|0)+68>>2]|0)!=0:0)if((f[or>>2]|0)!=0|(f[Ze>>2]|0)!=0)l=0;else Y=63;else if(((f[or>>2]|0)==0?(f[me>>2]|0)>((f[Pe>>2]|0)*12|0):0)^1|(f[Ze>>2]|0)!=0)l=0;else Y=63;if((Y|0)==63)if(!(f[(f[sr>>2]|0)+20>>2]|0)?(f[(f[sr>>2]|0)+24>>2]|0)>=5:0){if((f[Ie>>2]|0)!=3?(f[(f[sr>>2]|0)+116>>2]|0)!=0:0)l=(f[(f[sr>>2]|0)+64>>2]|0)==5010;else l=0;l=l^1}else l=0;f[_>>2]=l&1;f[He>>2]=f[(f[sr>>2]|0)+100>>2];f[H>>2]=Gn(f[sr>>2]|0,i,f[A>>2]|0,f[Ve>>2]|0,f[Ce>>2]|0,f[He>>2]|0,Ye,Fe,S,f[_>>2]|0,f[me>>2]|0)|0;if(!(!(+s[Fe>>2]>.4000000059604645)?!(+s[(f[sr>>2]|0)+108>>2]>.4000000059604645):0))Y=70;do{if((Y|0)==70){if(f[(f[sr>>2]|0)+120>>2]|0?!(+s[(f[sr>>2]|0)+120+4>>2]>.3):0)break;if(!(+(f[Ye>>2]|0)>+(f[(f[sr>>2]|0)+104>>2]|0)*1.26)?!(+(f[Ye>>2]|0)<+(f[(f[sr>>2]|0)+104>>2]|0)*.79):0)break;f[se>>2]=1}}while(0);if(!(f[H>>2]|0)){if((f[or>>2]|0)==0?((f[ce>>2]|0)+16|0)<=(f[fe>>2]|0):0)Xe(f[hr>>2]|0,0,1)}else{Xe(f[hr>>2]|0,1,1);f[Ye>>2]=(f[Ye>>2]|0)+1;f[m>>2]=32-(te(f[Ye>>2]|0)|0)-5;Qe(f[hr>>2]|0,f[m>>2]|0,6);er(f[hr>>2]|0,(f[Ye>>2]|0)-(16<>2])|0,4+(f[m>>2]|0)|0);f[Ye>>2]=(f[Ye>>2]|0)-1;er(f[hr>>2]|0,f[S>>2]|0,3);$e(f[hr>>2]|0,f[He>>2]|0,25429,2)}f[wr>>2]=0;f[We>>2]=0;if((f[(f[sr>>2]|0)+24>>2]|0)>=1?(f[(f[sr>>2]|0)+68>>2]|0)==0:0)f[wr>>2]=Kn(i,(f[Ce>>2]|0)+(f[E>>2]|0)|0,f[Ve>>2]|0,we,F)|0;if((f[Ie>>2]|0)>0?(S=(Vn(f[hr>>2]|0)|0)+3|0,(S|0)<=(f[fe>>2]|0)):0){if(f[wr>>2]|0)f[We>>2]=f[W>>2]}else{f[wr>>2]=0;f[kr>>2]=1}S=(re(f[Ve>>2]|0,f[Ce>>2]|0)|0)<<2;t=h;h=h+((1*S|0)+15&-16)|0;S=(re(f[rr>>2]|0,f[Ve>>2]|0)|0)<<2;k=h;h=h+((1*S|0)+15&-16)|0;S=(re(f[rr>>2]|0,f[Ve>>2]|0)|0)<<2;w=h;h=h+((1*S|0)+15&-16)|0;if(f[We>>2]|0)l=(f[(f[sr>>2]|0)+24>>2]|0)>=8;else l=0;f[D>>2]=l&1;S=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;o=h;h=h+((1*S|0)+15&-16)|0;e:do{if(f[D>>2]|0){Xn(f[ze>>2]|0,0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,o,f[Pe>>2]|0);f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break e;S=o+(f[Ke>>2]<<2)|0;s[S>>2]=+s[S>>2]+ +(f[Ie>>2]|0)*.5;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);Xn(f[ze>>2]|0,f[We>>2]|0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);if((f[Ve>>2]|0)==2&(f[Pe>>2]|0)==1)f[F>>2]=0;on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);e:do{if(f[(f[sr>>2]|0)+68>>2]|0){f[Ke>>2]=2;while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break e;if(+s[k+(f[Ke>>2]<<2)>>2]<+s[k>>2]*9999999747378752e-20)u=+s[k+(f[Ke>>2]<<2)>>2];else u=+s[k>>2]*9999999747378752e-20;s[k+(f[Ke>>2]<<2)>>2]=u;if(+s[k+(f[Ke>>2]<<2)>>2]>1.0000000036274937e-15)u=+s[k+(f[Ke>>2]<<2)>>2];else u=1.0000000036274937e-15;s[k+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,w,f[Pe>>2]|0);S=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;c=h;h=h+((1*S|0)+15&-16)|0;vs(c|0,0,f[Ge>>2]<<2|0)|0;do{if(!(f[or>>2]|0)){if(!(f[(f[sr>>2]|0)+192>>2]|0))break;if(f[(f[sr>>2]|0)+68>>2]|0)break;s[I>>2]=0;s[P>>2]=0;f[R>>2]=0;if(2>(f[(f[sr>>2]|0)+92>>2]|0))l=2;else l=f[(f[sr>>2]|0)+92>>2]|0;f[C>>2]=l;f[Je>>2]=0;while(1){if((f[Je>>2]|0)>=(f[Pe>>2]|0))break;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break;S=re(f[rr>>2]|0,f[Je>>2]|0)|0;if(+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]<.25){S=re(f[rr>>2]|0,f[Je>>2]|0)|0;u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]}else u=.25;do{if(u>-2){S=re(f[rr>>2]|0,f[Je>>2]|0)|0;if(!(+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]<.25)){u=.25;break}S=re(f[rr>>2]|0,f[Je>>2]|0)|0;u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]}else u=-2}while(0);s[T>>2]=u;if(+s[T>>2]>0)s[T>>2]=+s[T>>2]*.5;s[I>>2]=+s[I>>2]+ +s[T>>2]*+((n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0)|0);f[R>>2]=(f[R>>2]|0)+((n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0));s[P>>2]=+s[P>>2]+ +s[T>>2]*+(1+(f[Ke>>2]<<1)-(f[C>>2]|0)|0);f[Ke>>2]=(f[Ke>>2]|0)+1}f[Je>>2]=(f[Je>>2]|0)+1}s[I>>2]=+s[I>>2]/+(f[R>>2]|0);s[I>>2]=+s[I>>2]+.20000000298023224;T=re(f[Pe>>2]|0,(f[C>>2]|0)-1|0)|0;T=re(T,(f[C>>2]|0)+1|0)|0;s[P>>2]=+s[P>>2]*6/+(re(T,f[C>>2]|0)|0);s[P>>2]=+s[P>>2]*.5;if((+s[P>>2]<.03099999949336052?+s[P>>2]:.03099999949336052)>-.03099999949336052)u=+s[P>>2]<.03099999949336052?+s[P>>2]:.03099999949336052;else u=-.03099999949336052;s[P>>2]=u;f[O>>2]=0;while(1){if((n[(f[X>>2]|0)+((f[O>>2]|0)+1<<1)>>1]|0)>=((n[(f[X>>2]|0)+(f[C>>2]<<1)>>1]|0)/2|0|0))break;f[O>>2]=(f[O>>2]|0)+1}f[M>>2]=0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break;s[x>>2]=+s[I>>2]+ +s[P>>2]*+((f[Ke>>2]|0)-(f[O>>2]|0)|0);u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(f[Ke>>2]<<2)>>2];if((f[Pe>>2]|0)==2){if(u>+s[(f[(f[sr>>2]|0)+192>>2]|0)+((f[rr>>2]|0)+(f[Ke>>2]|0)<<2)>>2])u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(f[Ke>>2]<<2)>>2];else u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+((f[rr>>2]|0)+(f[Ke>>2]|0)<<2)>>2];s[L>>2]=u}else s[L>>2]=u;s[L>>2]=+s[L>>2]<0?+s[L>>2]:0;s[L>>2]=+s[L>>2]-+s[x>>2];if(+s[L>>2]>.25){s[c+(f[Ke>>2]<<2)>>2]=+s[L>>2]-.25;f[M>>2]=(f[M>>2]|0)+1}f[Ke>>2]=(f[Ke>>2]|0)+1}e:do{if((f[M>>2]|0)>=3){s[I>>2]=+s[I>>2]+.25;if(+s[I>>2]>0){s[I>>2]=0;s[P>>2]=0;vs(c|0,0,f[C>>2]<<2|0)|0;break}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break e;if(0>+s[c+(f[Ke>>2]<<2)>>2]-.25)u=0;else u=+s[c+(f[Ke>>2]<<2)>>2]-.25;s[c+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);s[I>>2]=+s[I>>2]+.20000000298023224;s[ne>>2]=+s[P>>2]*64;s[ue>>2]=+s[I>>2]}}while(0);if(!(f[(f[sr>>2]|0)+68>>2]|0)){s[U>>2]=-10;s[B>>2]=0;if(f[We>>2]|0)u=+(f[Ie>>2]|0)*.5;else u=0;s[j>>2]=u;f[Ke>>2]=f[or>>2];while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;if(+s[U>>2]-1>+s[w+(f[Ke>>2]<<2)>>2]-+s[j>>2])u=+s[U>>2]-1;else u=+s[w+(f[Ke>>2]<<2)>>2]-+s[j>>2];s[U>>2]=u;if((f[Pe>>2]|0)==2){if(+s[U>>2]>+s[w+((f[Ke>>2]|0)+(f[rr>>2]|0)<<2)>>2]-+s[j>>2])u=+s[U>>2];else u=+s[w+((f[Ke>>2]|0)+(f[rr>>2]|0)<<2)>>2]-+s[j>>2];s[U>>2]=u}s[B>>2]=+s[B>>2]+ +s[U>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}s[B>>2]=+s[B>>2]/+((f[Ge>>2]|0)-(f[or>>2]|0)|0);s[be>>2]=+s[B>>2]-+s[(f[sr>>2]|0)+196>>2];if(3<(-1.5>+s[be>>2]?-1.5:+s[be>>2]))u=3;else u=-1.5>+s[be>>2]?-1.5:+s[be>>2];s[be>>2]=u;j=(f[sr>>2]|0)+196|0;s[j>>2]=+s[j>>2]+ +s[be>>2]*.019999999552965164}if(!(f[D>>2]|0)){D=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;gs(o|0,w|0,D+0|0)|0}do{if((f[Ie>>2]|0)>0){D=(Vn(f[hr>>2]|0)|0)+3|0;if(f[wr>>2]|0?1:(D|0)>(f[fe>>2]|0))break;if((f[(f[sr>>2]|0)+24>>2]|0)<5)break;if(f[(f[sr>>2]|0)+68>>2]|0)break;if(!($n(w,f[ir>>2]|0,f[rr>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Pe>>2]|0)|0))break;f[wr>>2]=1;f[We>>2]=f[W>>2];Xn(f[ze>>2]|0,f[We>>2]|0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,w,f[Pe>>2]|0);f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break;D=o+(f[Ke>>2]<<2)|0;s[D>>2]=+s[D>>2]+ +(f[Ie>>2]|0)*.5;f[Ke>>2]=(f[Ke>>2]|0)+1}s[we>>2]=.20000000298023224}}while(0);do{if((f[Ie>>2]|0)>0){D=(Vn(f[hr>>2]|0)|0)+3|0;if((D|0)>(f[fe>>2]|0))break;Xe(f[hr>>2]|0,f[wr>>2]|0,3)}}while(0);e=(re(f[Pe>>2]|0,f[Ce>>2]|0)|0)<<2;b=h;h=h+((1*e|0)+15&-16)|0;sn(f[ze>>2]|0,t,b,k,f[Z>>2]|0,f[Pe>>2]|0,f[W>>2]|0);e=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;e:do{if((f[or>>2]|0)==0?(f[V>>2]|0)>=((f[Pe>>2]|0)*15|0):0){if((f[(f[sr>>2]|0)+24>>2]|0)<2){Y=192;break}if(f[(f[sr>>2]|0)+68>>2]|0){Y=192;break}do{if((f[V>>2]|0)>=40){if((f[V>>2]|0)<60){f[N>>2]=6;break}if((f[V>>2]|0)<100){f[N>>2]=4;break}else{f[N>>2]=3;break}}else f[N>>2]=12}while(0);f[N>>2]=f[N>>2]<<1;f[q>>2]=Qn(f[ze>>2]|0,f[Z>>2]|0,f[wr>>2]|0,e,f[N>>2]|0,b,f[Ce>>2]|0,f[Ie>>2]|0,z,+s[we>>2],f[F>>2]|0)|0;f[Ke>>2]=f[Z>>2];while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break e;f[e+(f[Ke>>2]<<2)>>2]=f[e+((f[Z>>2]|0)-1<<2)>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}}else Y=192}while(0);if((Y|0)==192){f[z>>2]=0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;f[e+(f[Ke>>2]<<2)>>2]=f[wr>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}f[q>>2]=0}Y=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;r=h;h=h+((1*Y|0)+15&-16)|0;Ir(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Z>>2]|0,w,f[ir>>2]|0,f[fe>>2]|0,r,f[hr>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0,f[me>>2]|0,f[(f[sr>>2]|0)+12>>2]|0,(f[sr>>2]|0)+84|0,(f[(f[sr>>2]|0)+24>>2]|0)>=4&1,f[(f[sr>>2]|0)+56>>2]|0,f[(f[sr>>2]|0)+68>>2]|0);rf(f[or>>2]|0,f[Ge>>2]|0,f[wr>>2]|0,e,f[Ie>>2]|0,f[q>>2]|0,f[hr>>2]|0);q=(Vn(f[hr>>2]|0)|0)+4|0;if((q|0)<=(f[fe>>2]|0)){e:do{if(!(f[(f[sr>>2]|0)+68>>2]|0)){do{if(!(f[We>>2]|0)){if((f[(f[sr>>2]|0)+24>>2]|0)<3)break;if(f[or>>2]|0?1:(f[me>>2]|0)<((f[Pe>>2]|0)*10|0))break;if(f[H>>2]|0)l=(f[We>>2]|0)!=0^1;else l=0;Z=bn(f[ze>>2]|0,b,(f[sr>>2]|0)+88|0,f[(f[sr>>2]|0)+80>>2]|0,(f[sr>>2]|0)+96|0,(f[sr>>2]|0)+100|0,l&1,f[Z>>2]|0,f[Pe>>2]|0,f[W>>2]|0)|0;f[(f[sr>>2]|0)+80>>2]=Z;break e}}while(0);l=(f[sr>>2]|0)+80|0;if(!(f[(f[sr>>2]|0)+24>>2]|0)){f[l>>2]=0;break}else{f[l>>2]=2;break}}else{f[(f[sr>>2]|0)+100>>2]=0;f[(f[sr>>2]|0)+80>>2]=2}}while(0);$e(f[hr>>2]|0,f[(f[sr>>2]|0)+80>>2]|0,25560,5)}a=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;s[oe>>2]=+tf(w,o,f[rr>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Pe>>2]|0,a,f[(f[sr>>2]|0)+60>>2]|0,f[(f[ze>>2]|0)+56>>2]|0,f[wr>>2]|0,f[(f[sr>>2]|0)+44>>2]|0,f[(f[sr>>2]|0)+52>>2]|0,f[X>>2]|0,f[Ie>>2]|0,f[V>>2]|0,ke,f[(f[sr>>2]|0)+68>>2]|0,c);if(f[(f[sr>>2]|0)+68>>2]|0){if(8<((f[V>>2]|0)/3|0|0))l=8;else l=(f[V>>2]|0)/3|0;f[a>>2]=l}t=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;jn(f[ze>>2]|0,t,f[Ie>>2]|0,f[Pe>>2]|0);f[G>>2]=6;f[fe>>2]=f[fe>>2]<<3;f[pe>>2]=0;f[ce>>2]=Le(f[hr>>2]|0)|0;f[Ke>>2]=f[or>>2];while(1){l=f[Pe>>2]|0;if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;l=re(l,(n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0)|0)|0;f[ie>>2]=l<>2];l=f[ie>>2]|0;if((f[ie>>2]<<3|0)<((48>(f[ie>>2]|0)?48:f[ie>>2]|0)|0))l=l<<3;else l=48>(l|0)?48:f[ie>>2]|0;f[ee>>2]=l;f[K>>2]=f[G>>2];f[J>>2]=0;f[Q>>2]=0;while(1){if(((f[ce>>2]|0)+(f[K>>2]<<3)|0)>=((f[fe>>2]|0)-(f[pe>>2]|0)|0))break;if((f[J>>2]|0)>=(f[t+(f[Ke>>2]<<2)>>2]|0))break;f[$>>2]=(f[Q>>2]|0)<(f[a+(f[Ke>>2]<<2)>>2]|0)&1;Xe(f[hr>>2]|0,f[$>>2]|0,f[K>>2]|0);f[ce>>2]=Le(f[hr>>2]|0)|0;if(!(f[$>>2]|0))break;f[J>>2]=(f[J>>2]|0)+(f[ee>>2]|0);f[pe>>2]=(f[pe>>2]|0)+(f[ee>>2]|0);f[K>>2]=1;f[Q>>2]=(f[Q>>2]|0)+1}if(f[Q>>2]|0)f[G>>2]=2>((f[G>>2]|0)-1|0)?2:(f[G>>2]|0)-1|0;f[a+(f[Ke>>2]<<2)>>2]=f[J>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}if((l|0)==2){if(f[Ie>>2]|0)f[Ne>>2]=af(f[ze>>2]|0,b,f[Ie>>2]|0,f[Ce>>2]|0)|0;ie=fn(+((f[Re>>2]|0)/1e3|0|0),196,280,21,f[(f[sr>>2]|0)+188>>2]|0)|0;f[(f[sr>>2]|0)+188>>2]=ie;if((f[or>>2]|0)>(f[(f[sr>>2]|0)+188>>2]|0))l=f[or>>2]|0;else l=f[(f[sr>>2]|0)+188>>2]|0;do{if((f[Ge>>2]|0)>=(l|0))if((f[or>>2]|0)>(f[(f[sr>>2]|0)+188>>2]|0)){l=f[or>>2]|0;break}else{l=f[(f[sr>>2]|0)+188>>2]|0;break}else l=f[Ge>>2]|0}while(0);f[(f[sr>>2]|0)+188>>2]=l}f[Me>>2]=5;if(((f[ce>>2]|0)+48|0)<=((f[fe>>2]|0)-(f[pe>>2]|0)|0)){if(f[(f[sr>>2]|0)+68>>2]|0)f[Me>>2]=5;else f[Me>>2]=of(f[ze>>2]|0,b,w,f[Ge>>2]|0,f[Ie>>2]|0,f[Pe>>2]|0,f[Ce>>2]|0,(f[sr>>2]|0)+120|0,(f[sr>>2]|0)+184|0,+s[we>>2],f[(f[sr>>2]|0)+188>>2]|0,+s[ne>>2],f[(f[sr>>2]|0)+72>>2]|0)|0;$e(f[hr>>2]|0,f[Me>>2]|0,25564,7);f[ce>>2]=Le(f[hr>>2]|0)|0}if((f[Se>>2]|0)>0){f[_e>>2]=(f[(f[ze>>2]|0)+36>>2]|0)-(f[Ie>>2]|0);if((f[ur>>2]|0)<(1275>>3-(f[Ie>>2]|0)|0))l=f[ur>>2]|0;else l=1275>>3-(f[Ie>>2]|0);f[ur>>2]=l;f[ae>>2]=(f[Se>>2]|0)-(((f[Pe>>2]|0)*40|0)+20<<3);if(f[(f[sr>>2]|0)+52>>2]|0)f[ae>>2]=(f[ae>>2]|0)+(f[(f[sr>>2]|0)+172>>2]>>f[_e>>2]);f[Ae>>2]=sf(f[ze>>2]|0,(f[sr>>2]|0)+120|0,f[ae>>2]|0,f[Ie>>2]|0,f[Re>>2]|0,f[(f[sr>>2]|0)+92>>2]|0,f[Pe>>2]|0,f[(f[sr>>2]|0)+188>>2]|0,f[(f[sr>>2]|0)+52>>2]|0,+s[(f[sr>>2]|0)+184>>2],f[ke>>2]|0,+s[we>>2],f[se>>2]|0,+s[oe>>2],f[(f[sr>>2]|0)+64>>2]|0,f[(f[sr>>2]|0)+68>>2]|0,(f[(f[sr>>2]|0)+192>>2]|0)!=0&1,+s[ue>>2],+s[be>>2])|0;f[Ae>>2]=(f[Ae>>2]|0)+(f[ce>>2]|0);f[le>>2]=((f[ce>>2]|0)+(f[pe>>2]|0)+64-1>>6)+2-(f[Ee>>2]|0);f[me>>2]=(f[Ae>>2]|0)+32>>6;f[me>>2]=(f[le>>2]|0)>(f[me>>2]|0)?f[le>>2]|0:f[me>>2]|0;if((f[ur>>2]|0)<((f[me>>2]|0)+(f[Ee>>2]|0)|0))l=f[ur>>2]|0;else l=(f[me>>2]|0)+(f[Ee>>2]|0)|0;f[me>>2]=l-(f[Ee>>2]|0);f[ye>>2]=(f[Ae>>2]|0)-(f[Se>>2]|0);f[Ae>>2]=f[me>>2]<<6;if(f[Ze>>2]|0){f[me>>2]=2;f[Ae>>2]=128;f[ye>>2]=0}if((f[(f[sr>>2]|0)+176>>2]|0)<970){pe=(f[sr>>2]|0)+176|0;f[pe>>2]=(f[pe>>2]|0)+1;s[ge>>2]=1/+((f[(f[sr>>2]|0)+176>>2]|0)+20|0)}else s[ge>>2]=.0010000000474974513;if(f[(f[sr>>2]|0)+52>>2]|0){pe=(f[sr>>2]|0)+164|0;f[pe>>2]=(f[pe>>2]|0)+((f[Ae>>2]|0)-(f[Se>>2]|0))}if(f[(f[sr>>2]|0)+52>>2]|0){Ae=re(f[ye>>2]|0,1<>2])|0;Se=(f[sr>>2]|0)+168|0;f[Se>>2]=(f[Se>>2]|0)+~~(+s[ge>>2]*+(Ae-(f[(f[sr>>2]|0)+172>>2]|0)-(f[(f[sr>>2]|0)+168>>2]|0)|0));f[(f[sr>>2]|0)+172>>2]=0-(f[(f[sr>>2]|0)+168>>2]|0)}do{if(f[(f[sr>>2]|0)+52>>2]|0){if((f[(f[sr>>2]|0)+164>>2]|0)>=0)break;f[ve>>2]=(0-(f[(f[sr>>2]|0)+164>>2]|0)|0)/64|0;f[me>>2]=(f[me>>2]|0)+(f[Ze>>2]|0?0:f[ve>>2]|0);f[(f[sr>>2]|0)+164>>2]=0}}while(0);if((f[ur>>2]|0)<((f[me>>2]|0)+(f[Ee>>2]|0)|0))l=f[ur>>2]|0;else l=(f[me>>2]|0)+(f[Ee>>2]|0)|0;f[ur>>2]=l;tr(f[hr>>2]|0,f[ur>>2]|0)}c=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;o=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;Se=f[ur>>2]<<3<<3;f[xe>>2]=Se-(Le(f[hr>>2]|0)|0)-1;if((f[wr>>2]|0)!=0&(f[Ie>>2]|0)>=2)l=(f[xe>>2]|0)>=((f[Ie>>2]|0)+2<<3|0);else l=0;f[Be>>2]=l?8:0;f[xe>>2]=(f[xe>>2]|0)-(f[Be>>2]|0);f[Oe>>2]=(f[Ge>>2]|0)-1;if(f[(f[sr>>2]|0)+120>>2]|0){do{if((f[Re>>2]|0)>=((f[Pe>>2]|0)*32e3|0)){if((f[Re>>2]|0)<((f[Pe>>2]|0)*48e3|0)){f[Te>>2]=16;break}if((f[Re>>2]|0)<((f[Pe>>2]|0)*6e4|0)){f[Te>>2]=18;break}if((f[Re>>2]|0)<((f[Pe>>2]|0)*8e4|0)){f[Te>>2]=19;break}else{f[Te>>2]=20;break}}else f[Te>>2]=13}while(0);if((f[(f[sr>>2]|0)+120+24>>2]|0)>(f[Te>>2]|0))l=f[(f[sr>>2]|0)+120+24>>2]|0;else l=f[Te>>2]|0;f[Oe>>2]=l}if(f[(f[sr>>2]|0)+68>>2]|0)f[Oe>>2]=1;f[De>>2]=Wr(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,a,t,f[Me>>2]|0,(f[sr>>2]|0)+188|0,Ne,f[xe>>2]|0,je,o,c,i,f[Pe>>2]|0,f[Ie>>2]|0,f[hr>>2]|0,1,f[(f[sr>>2]|0)+92>>2]|0,f[Oe>>2]|0)|0;if(f[(f[sr>>2]|0)+92>>2]|0){if(((f[(f[sr>>2]|0)+92>>2]|0)-1|0)>(f[De>>2]|0))l=(f[(f[sr>>2]|0)+92>>2]|0)-1|0;else l=f[De>>2]|0;t=f[(f[sr>>2]|0)+92>>2]|0;do{if(((f[(f[sr>>2]|0)+92>>2]|0)+1|0)>=(l|0))if((t-1|0)>(f[De>>2]|0)){l=(f[(f[sr>>2]|0)+92>>2]|0)-1|0;break}else{l=f[De>>2]|0;break}else l=t+1|0}while(0);f[(f[sr>>2]|0)+92>>2]=l}else f[(f[sr>>2]|0)+92>>2]=f[De>>2];Nr(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[ir>>2]|0,r,c,f[hr>>2]|0,f[Pe>>2]|0);xe=re(f[Pe>>2]|0,f[rr>>2]|0)|0;Oe=h;h=h+((1*xe|0)+15&-16)|0;kn(1,f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,b,(f[Pe>>2]|0)==2?b+(f[Ce>>2]<<2)|0:0,Oe,k,o,f[We>>2]|0,f[(f[sr>>2]|0)+80>>2]|0,f[Ne>>2]|0,f[(f[sr>>2]|0)+188>>2]|0,e,(f[ur>>2]<<6)-(f[Be>>2]|0)|0,f[je>>2]|0,f[hr>>2]|0,f[Ie>>2]|0,f[De>>2]|0,(f[sr>>2]|0)+76|0,f[(f[sr>>2]|0)+72>>2]|0);if((f[Be>>2]|0)>0){f[Ue>>2]=(f[(f[sr>>2]|0)+116>>2]|0)<2&1;er(f[hr>>2]|0,f[Ue>>2]|0,1)}je=f[ze>>2]|0;De=f[or>>2]|0;Ne=f[Ge>>2]|0;ze=f[ir>>2]|0;We=f[ur>>2]<<3;We=We-(Vn(f[hr>>2]|0)|0)|0;Fr(je,De,Ne,ze,r,c,i,We,f[hr>>2]|0,f[Pe>>2]|0);e:do{if(f[Ze>>2]|0){f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break e;s[(f[ir>>2]|0)+(f[Ke>>2]<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);f[(f[sr>>2]|0)+104>>2]=f[Ye>>2];s[(f[sr>>2]|0)+108>>2]=+s[Fe>>2];f[(f[sr>>2]|0)+112>>2]=f[He>>2];if((f[Ve>>2]|0)==2&(f[Pe>>2]|0)==1)gs((f[ir>>2]|0)+(f[rr>>2]<<2)|0,f[ir>>2]|0,(f[rr>>2]<<2)+0|0)|0;e:do{if(f[wr>>2]|0){f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Ve>>2]|0,f[rr>>2]|0)|0))break e;l=f[Ke>>2]|0;if(+s[(f[fr>>2]|0)+(f[Ke>>2]<<2)>>2]<+s[(f[ir>>2]|0)+(f[Ke>>2]<<2)>>2])u=+s[(f[fr>>2]|0)+(l<<2)>>2];else u=+s[(f[ir>>2]|0)+(l<<2)>>2];s[(f[fr>>2]|0)+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}else{Ze=(re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2;gs(f[ar>>2]|0,f[fr>>2]|0,Ze+0|0)|0;Ze=(re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2;gs(f[fr>>2]|0,f[ir>>2]|0,Ze+0|0)|0}}while(0);f[Je>>2]=0;do{f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[or>>2]|0))break;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ir>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=0;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ar>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[fr>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}f[Ke>>2]=f[Ge>>2];while(1){l=f[Je>>2]|0;if((f[Ke>>2]|0)>=(f[rr>>2]|0))break;Ze=re(l,f[rr>>2]|0)|0;s[(f[ir>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=0;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ar>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[fr>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}Ze=l+1|0;f[Je>>2]=Ze}while((Ze|0)<(f[Ve>>2]|0));l=(f[sr>>2]|0)+116|0;if((f[wr>>2]|0)!=0|(f[kr>>2]|0)!=0)f[l>>2]=(f[l>>2]|0)+1;else f[l>>2]=0;f[(f[sr>>2]|0)+76>>2]=f[(f[hr>>2]|0)+28>>2];nr(f[hr>>2]|0);if(uf(f[hr>>2]|0)|0){f[lr>>2]=-3;f[br>>2]=1}else{f[lr>>2]=f[ur>>2];f[br>>2]=1}de(f[cr>>2]|0);kr=f[lr>>2]|0;h=dr;return kr|0}function Vn(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Jn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;o=u+4|0;l=u;f[t>>2]=e;f[n>>2]=r;s[o>>2]=0;s[l>>2]=0;f[a>>2]=0;while(1){i=+s[o>>2];if((f[a>>2]|0)>=(f[n>>2]|0))break;if(i>+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2])i=+s[o>>2];else i=+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2];s[o>>2]=i;if(+s[l>>2]<+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2])i=+s[l>>2];else i=+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2];s[l>>2]=i;f[a>>2]=(f[a>>2]|0)+1}h=u;return+(i>-+s[l>>2]?+s[o>>2]:-+s[l>>2])}function Gn(e,r,i,t,n,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;j=h;h=h+96|0;v=j+92|0;g=j+88|0;_=j+84|0;m=j+80|0;E=j+76|0;A=j+72|0;S=j+68|0;R=j+64|0;T=j+60|0;d=j+56|0;w=j+52|0;M=j+48|0;U=j+40|0;O=j+36|0;C=j+32|0;x=j+28|0;p=j+24|0;I=j+20|0;B=j+16|0;P=j+12|0;y=j+8|0;k=j+4|0;L=j;f[v>>2]=e;f[g>>2]=r;f[_>>2]=i;f[m>>2]=t;f[E>>2]=n;f[A>>2]=a;f[S>>2]=o;f[R>>2]=l;f[T>>2]=u;f[d>>2]=c;f[w>>2]=b;f[O>>2]=f[f[v>>2]>>2];f[P>>2]=f[(f[O>>2]|0)+4>>2];u=re(f[m>>2]|0,(f[E>>2]|0)+1024|0)|0;f[y>>2]=he()|0;e=h;h=h+((1*(u<<2)|0)+15&-16)|0;f[U>>2]=e;f[U+4>>2]=e+((f[E>>2]|0)+1024<<2);f[M>>2]=0;do{gs(f[U+(f[M>>2]<<2)>>2]|0,(f[_>>2]|0)+(f[M>>2]<<10<<2)|0,4096|0)|0;e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;gs((f[U+(f[M>>2]<<2)>>2]|0)+4096|0,e+(f[P>>2]<<2)|0,(f[E>>2]<<2)+0|0)|0;e=(f[M>>2]|0)+1|0;f[M>>2]=e}while((e|0)<(f[m>>2]|0));if(f[d>>2]|0){u=1024+(f[E>>2]|0)>>1;f[k>>2]=he()|0;e=h;h=h+((1*(u<<2)|0)+15&-16)|0;vr(U,e,1024+(f[E>>2]|0)|0,f[m>>2]|0,f[(f[v>>2]|0)+72>>2]|0);Er(e+2048|0,e,f[E>>2]|0,979,C,f[(f[v>>2]|0)+72>>2]|0);f[C>>2]=1024-(f[C>>2]|0);s[x>>2]=+Sr(e,1024,15,f[E>>2]|0,C,f[(f[v>>2]|0)+104>>2]|0,+s[(f[v>>2]|0)+108>>2],f[(f[v>>2]|0)+72>>2]|0);if((f[C>>2]|0)>1022)f[C>>2]=1022;s[x>>2]=+s[x>>2]*.699999988079071;if((f[(f[v>>2]|0)+56>>2]|0)>2)s[x>>2]=+s[x>>2]*.5;if((f[(f[v>>2]|0)+56>>2]|0)>4)s[x>>2]=+s[x>>2]*.5;if((f[(f[v>>2]|0)+56>>2]|0)>8)s[x>>2]=0;de(f[k>>2]|0)}else{s[x>>2]=0;f[C>>2]=15}s[p>>2]=.20000000298023224;e=(Y((f[C>>2]|0)-(f[(f[v>>2]|0)+104>>2]|0)|0)|0)*10|0;if((e|0)>(f[C>>2]|0))s[p>>2]=+s[p>>2]+.20000000298023224;if((f[w>>2]|0)<25)s[p>>2]=+s[p>>2]+.10000000149011612;if((f[w>>2]|0)<35)s[p>>2]=+s[p>>2]+.10000000149011612;if(+s[(f[v>>2]|0)+108>>2]>.4000000059604645)s[p>>2]=+s[p>>2]-.10000000149011612;if(+s[(f[v>>2]|0)+108>>2]>.550000011920929)s[p>>2]=+s[p>>2]-.10000000149011612;s[p>>2]=+s[p>>2]>.20000000298023224?+s[p>>2]:.20000000298023224;if(+s[x>>2]<+s[p>>2]){s[x>>2]=0;f[I>>2]=0;f[B>>2]=0}else{if(+Y(+(+s[x>>2]-+s[(f[v>>2]|0)+108>>2]))<.10000000149011612)s[x>>2]=+s[(f[v>>2]|0)+108>>2];f[B>>2]=~~+z(+(+s[x>>2]*32/3+.5))-1;if(0>((7<(f[B>>2]|0)?7:f[B>>2]|0)|0))w=0;else w=7<(f[B>>2]|0)?7:f[B>>2]|0;f[B>>2]=w;s[x>>2]=+((f[B>>2]|0)+1|0)*.09375;f[I>>2]=1}f[M>>2]=0;do{f[L>>2]=(f[(f[O>>2]|0)+44>>2]|0)-(f[P>>2]|0);if((f[(f[v>>2]|0)+104>>2]|0)>15)w=f[(f[v>>2]|0)+104>>2]|0;else w=15;f[(f[v>>2]|0)+104>>2]=w;u=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;e=(f[v>>2]|0)+200+((re(f[M>>2]|0,f[P>>2]|0)|0)<<2)|0;gs(u|0,e|0,(f[P>>2]<<2)+0|0)|0;if(f[L>>2]|0){e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;Un(e+(f[P>>2]<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096|0,f[(f[v>>2]|0)+104>>2]|0,f[(f[v>>2]|0)+104>>2]|0,f[L>>2]|0,-+s[(f[v>>2]|0)+108>>2],-+s[(f[v>>2]|0)+108>>2],f[(f[v>>2]|0)+112>>2]|0,f[(f[v>>2]|0)+112>>2]|0,0,0,f[(f[v>>2]|0)+72>>2]|0)}e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;Un(e+(f[P>>2]<<2)+(f[L>>2]<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096+(f[L>>2]<<2)|0,f[(f[v>>2]|0)+104>>2]|0,f[C>>2]|0,(f[E>>2]|0)-(f[L>>2]|0)|0,-+s[(f[v>>2]|0)+108>>2],-+s[x>>2],f[(f[v>>2]|0)+112>>2]|0,f[A>>2]|0,f[(f[O>>2]|0)+60>>2]|0,f[P>>2]|0,f[(f[v>>2]|0)+72>>2]|0);e=(f[v>>2]|0)+200+((re(f[M>>2]|0,f[P>>2]|0)|0)<<2)|0;w=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;gs(e|0,w+(f[E>>2]<<2)|0,(f[P>>2]<<2)+0|0)|0;w=(f[_>>2]|0)+(f[M>>2]<<10<<2)|0;if((f[E>>2]|0)>1024)ys(w|0,(f[U+(f[M>>2]<<2)>>2]|0)+(f[E>>2]<<2)|0,4096|0)|0;else{ys(w|0,(f[_>>2]|0)+(f[M>>2]<<10<<2)+(f[E>>2]<<2)|0,(1024-(f[E>>2]|0)<<2)+0|0)|0;ys((f[_>>2]|0)+(f[M>>2]<<10<<2)+4096+(0-(f[E>>2]|0)<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096|0,(f[E>>2]<<2)+0|0)|0}e=(f[M>>2]|0)+1|0;f[M>>2]=e}while((e|0)<(f[m>>2]|0));s[f[R>>2]>>2]=+s[x>>2];f[f[S>>2]>>2]=f[C>>2];f[f[T>>2]>>2]=f[B>>2];B=f[I>>2]|0;de(f[y>>2]|0);h=j;return B|0}function Kn(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;P=h;h=h+96|0;l=P+84|0;u=P+80|0;c=P+76|0;M=P+72|0;b=P+68|0;k=P+64|0;_=P+60|0;m=P+56|0;O=P+52|0;v=P+48|0;w=P+44|0;L=P+40|0;p=P+36|0;x=P+32|0;y=P+28|0;A=P+24|0;E=P+20|0;g=P+16|0;S=P+12|0;T=P+8|0;R=P+4|0;d=P;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[M>>2]=t;f[b>>2]=n;f[O>>2]=0;f[v>>2]=0;t=f[u>>2]|0;f[x>>2]=he()|0;r=h;h=h+((1*(t<<2)|0)+15&-16)|0;f[p>>2]=(f[u>>2]|0)/2|0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;f[A>>2]=0;s[_>>2]=0;s[m>>2]=0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[u>>2]|0))break;t=(f[k>>2]|0)+(re(f[w>>2]|0,f[u>>2]|0)|0)|0;s[S>>2]=+s[(f[l>>2]|0)+(t<<2)>>2];s[T>>2]=+s[_>>2]+ +s[S>>2];s[_>>2]=+s[m>>2]+ +s[T>>2]-+s[S>>2]*2;s[m>>2]=+s[S>>2]-+s[T>>2]*.5;s[r+(f[k>>2]<<2)>>2]=+s[T>>2];f[k>>2]=(f[k>>2]|0)+1}i=r;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));s[y>>2]=0;s[_>>2]=0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[p>>2]|0))break;s[R>>2]=+s[r+(f[k>>2]<<1<<2)>>2]*+s[r+(f[k>>2]<<1<<2)>>2]+ +s[r+((f[k>>2]<<1)+1<<2)>>2]*+s[r+((f[k>>2]<<1)+1<<2)>>2];s[y>>2]=+s[y>>2]+ +s[R>>2];s[r+(f[k>>2]<<2)>>2]=+s[_>>2]+(+s[R>>2]-+s[_>>2])*.0625;s[_>>2]=+s[r+(f[k>>2]<<2)>>2];f[k>>2]=(f[k>>2]|0)+1}s[_>>2]=0;s[g>>2]=0;f[k>>2]=(f[p>>2]|0)-1;while(1){if((f[k>>2]|0)<0)break;s[r+(f[k>>2]<<2)>>2]=+s[_>>2]+(+s[r+(f[k>>2]<<2)>>2]-+s[_>>2])*.125;s[_>>2]=+s[r+(f[k>>2]<<2)>>2];s[g>>2]=+s[g>>2]>+s[_>>2]?+s[g>>2]:+s[_>>2];f[k>>2]=(f[k>>2]|0)+-1}s[y>>2]=+H(+(+s[y>>2]*+s[g>>2]*.5*+(f[p>>2]|0)));s[E>>2]=+(f[p>>2]|0)/(+s[y>>2]+1.0000000036274937e-15);f[A>>2]=0;f[k>>2]=12;while(1){if((f[k>>2]|0)>=((f[p>>2]|0)-5|0))break;if(127<+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15))))o=127;else o=+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15)));if(!(0>o))if(127<+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15))))o=127;else o=+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15)));else o=0;f[d>>2]=~~o;f[A>>2]=(f[A>>2]|0)+(a[25432+(f[d>>2]|0)>>0]|0);f[k>>2]=(f[k>>2]|0)+4}f[A>>2]=(f[A>>2]<<6<<2|0)/(((f[p>>2]|0)-17|0)*6|0)|0;if((f[A>>2]|0)>(f[v>>2]|0)){f[f[b>>2]>>2]=f[w>>2];f[v>>2]=f[A>>2]}f[w>>2]=(f[w>>2]|0)+1}f[O>>2]=(f[v>>2]|0)>200&1;if(0>+H(+ +((f[v>>2]|0)*27|0))-42)o=0;else o=+H(+ +((f[v>>2]|0)*27|0))-42;s[L>>2]=o;if(0>(163<+s[L>>2]?163:+s[L>>2])*.006899999920278788-.139){o=0;o=+H(+o);L=f[M>>2]|0;s[L>>2]=o;L=f[O>>2]|0;O=f[x>>2]|0;de(O|0);h=P;return L|0}o=(163<+s[L>>2]?163:+s[L>>2])*.006899999920278788-.139;o=+H(+o);L=f[M>>2]|0;s[L>>2]=o;L=f[O>>2]|0;O=f[x>>2]|0;de(O|0);h=P;return L|0}function Xn(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+80|0;c=x+64|0;b=x+60|0;w=x+56|0;k=x+52|0;d=x+48|0;p=x+44|0;v=x+40|0;g=x+36|0;y=x+32|0;T=x+28|0;m=x+24|0;_=x+20|0;M=x+16|0;R=x+12|0;E=x+8|0;S=x+4|0;A=x;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[T>>2]=f[(f[c>>2]|0)+4>>2];if(f[b>>2]|0){f[_>>2]=f[b>>2];f[m>>2]=f[(f[c>>2]|0)+44>>2];f[M>>2]=f[(f[c>>2]|0)+36>>2]}else{f[_>>2]=1;f[m>>2]=f[(f[c>>2]|0)+44>>2]<>2];f[M>>2]=(f[(f[c>>2]|0)+36>>2]|0)-(f[v>>2]|0)}f[S>>2]=0;do{f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;r=re(f[_>>2]|0,f[m>>2]|0)|0;r=(f[w>>2]|0)+((re(f[S>>2]|0,r+(f[T>>2]|0)|0)|0)<<2)|0;r=r+((re(f[E>>2]|0,f[m>>2]|0)|0)<<2)|0;l=re(f[S>>2]|0,f[m>>2]|0)|0;l=(f[E>>2]|0)+(re(l,f[_>>2]|0)|0)|0;kr((f[c>>2]|0)+64|0,r,(f[k>>2]|0)+(l<<2)|0,f[(f[c>>2]|0)+60>>2]|0,f[T>>2]|0,f[M>>2]|0,f[_>>2]|0,f[y>>2]|0);f[E>>2]=(f[E>>2]|0)+1}l=(f[S>>2]|0)+1|0;f[S>>2]=l}while((l|0)<(f[p>>2]|0));e:do{if((f[p>>2]|0)==2&(f[d>>2]|0)==1){f[R>>2]=0;while(1){if((f[R>>2]|0)>=(re(f[_>>2]|0,f[m>>2]|0)|0))break e;l=re(f[_>>2]|0,f[m>>2]|0)|0;s[(f[k>>2]|0)+(f[R>>2]<<2)>>2]=+s[(f[k>>2]|0)+(f[R>>2]<<2)>>2]*.5+ +s[(f[k>>2]|0)+(l+(f[R>>2]|0)<<2)>>2]*.5;f[R>>2]=(f[R>>2]|0)+1}}}while(0);if((f[g>>2]|0)==1){h=x;return}f[S>>2]=0;do{l=re(f[_>>2]|0,f[m>>2]|0)|0;f[A>>2]=(l|0)/(f[g>>2]|0)|0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[A>>2]|0))break;l=re(f[S>>2]|0,f[_>>2]|0)|0;l=re(l,f[m>>2]|0)|0;l=(f[k>>2]|0)+(l+(f[R>>2]|0)<<2)|0;s[l>>2]=+s[l>>2]*+(f[g>>2]|0);f[R>>2]=(f[R>>2]|0)+1}r=re(f[S>>2]|0,f[_>>2]|0)|0;r=re(r,f[m>>2]|0)|0;l=re(f[_>>2]|0,f[m>>2]|0)|0;vs((f[k>>2]|0)+(r+(f[A>>2]|0)<<2)|0,0,l-(f[A>>2]|0)<<2|0)|0;l=(f[S>>2]|0)+1|0;f[S>>2]=l}while((l|0)<(f[d>>2]|0));h=x;return}function $n(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+160|0;u=m+144|0;l=m+140|0;c=m+136|0;b=m+132|0;w=m+128|0;k=m+124|0;p=m+120|0;d=m+116|0;v=m+112|0;g=m+8|0;y=m+4|0;_=m;f[u>>2]=e;f[l>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[v>>2]=0;o=+s[(f[l>>2]|0)+(f[b>>2]<<2)>>2];a=f[b>>2]|0;e:do{if((f[k>>2]|0)==1){s[g+(a<<2)>>2]=o;f[p>>2]=(f[b>>2]|0)+1;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break e;a=f[p>>2]|0;if(+s[g+((f[p>>2]|0)-1<<2)>>2]-1>+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2])o=+s[g+(a-1<<2)>>2]-1;else o=+s[(f[l>>2]|0)+(a<<2)>>2];s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+1}}else{n=f[b>>2]|0;if(o>+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2])o=+s[(f[l>>2]|0)+(n<<2)>>2];else o=+s[(f[l>>2]|0)+(n+(f[c>>2]|0)<<2)>>2];s[g+(f[b>>2]<<2)>>2]=o;f[p>>2]=(f[b>>2]|0)+1;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break e;a=f[p>>2]|0;if(+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]>+s[(f[l>>2]|0)+((f[p>>2]|0)+(f[c>>2]|0)<<2)>>2])o=+s[(f[l>>2]|0)+(a<<2)>>2];else o=+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2];n=f[p>>2]|0;do{if(!(+s[g+((f[p>>2]|0)-1<<2)>>2]-1>o)){a=f[p>>2]|0;if(+s[(f[l>>2]|0)+(n<<2)>>2]>+s[(f[l>>2]|0)+((f[p>>2]|0)+(f[c>>2]|0)<<2)>>2]){o=+s[(f[l>>2]|0)+(a<<2)>>2];break}else{o=+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2];break}}else o=+s[g+(n-1<<2)>>2]-1}while(0);s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+1}}}while(0);f[p>>2]=(f[w>>2]|0)-2;while(1){if((f[p>>2]|0)<(f[b>>2]|0))break;a=f[p>>2]|0;if(+s[g+(f[p>>2]<<2)>>2]>+s[g+((f[p>>2]|0)+1<<2)>>2]-1)o=+s[g+(a<<2)>>2];else o=+s[g+(a+1<<2)>>2]-1;s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+-1}f[d>>2]=0;do{f[p>>2]=2>(f[b>>2]|0)?2:f[b>>2]|0;while(1){if((f[p>>2]|0)>=((f[w>>2]|0)-1|0))break;l=(f[p>>2]|0)+(re(f[d>>2]|0,f[c>>2]|0)|0)|0;if(0>+s[(f[u>>2]|0)+(l<<2)>>2])o=0;else{l=(f[p>>2]|0)+(re(f[d>>2]|0,f[c>>2]|0)|0)|0;o=+s[(f[u>>2]|0)+(l<<2)>>2]}s[y>>2]=o;if(0>+s[g+(f[p>>2]<<2)>>2])o=0;else o=+s[g+(f[p>>2]<<2)>>2];s[_>>2]=o;if(0>+s[y>>2]-+s[_>>2])o=0;else o=+s[y>>2]-+s[_>>2];s[v>>2]=+s[v>>2]+o;f[p>>2]=(f[p>>2]|0)+1}l=(f[d>>2]|0)+1|0;f[d>>2]=l}while((l|0)<(f[k>>2]|0));s[v>>2]=+s[v>>2]/+(re(f[k>>2]|0,(f[w>>2]|0)-1-(2>(f[b>>2]|0)?2:f[b>>2]|0)|0)|0);h=m;return+s[v>>2]>1|0}function Qn(e,r,i,a,o,l,u,c,b,w,k){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=+w;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;J=h;h=h+144|0;d=J+128|0;I=J+124|0;C=J+120|0;W=J+116|0;U=J+112|0;v=J+108|0;g=J+104|0;B=J+100|0;y=J+96|0;G=J+92|0;p=J+88|0;Z=J+84|0;j=J+80|0;D=J+76|0;L=J+72|0;P=J+64|0;V=J+60|0;R=J+56|0;q=J+52|0;T=J+48|0;E=J+44|0;M=J+40|0;m=J+36|0;A=J+32|0;S=J+28|0;_=J+24|0;x=J+20|0;O=J+16|0;N=J+12|0;F=J+8|0;z=J+4|0;H=J;f[d>>2]=e;f[I>>2]=r;f[C>>2]=i;f[W>>2]=a;f[U>>2]=o;f[v>>2]=l;f[g>>2]=u;f[B>>2]=c;f[y>>2]=b;s[G>>2]=w;f[p>>2]=k;f[V>>2]=0;s[R>>2]=(-.25>.5-+s[G>>2]?-.25:.5-+s[G>>2])*.03999999910593033;l=f[I>>2]|0;f[q>>2]=he()|0;o=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=h;h=h+((1*((n[(f[(f[d>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[I>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*((n[(f[(f[d>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[I>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[I>>2]<<2)|0)+15&-16)|0;e=h;h=h+((1*(f[I>>2]<<2)|0)+15&-16)|0;f[f[y>>2]>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[I>>2]|0))break;f[S>>2]=0;f[E>>2]=(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[Z>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]|0)<>2];f[M>>2]=((n[(f[(f[d>>2]|0)+32>>2]|0)+((f[Z>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]|0)|0)==1&1;G=re(f[p>>2]|0,f[g>>2]|0)|0;gs(l|0,(f[v>>2]|0)+(G+(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]<>2])<<2)|0,(f[E>>2]<<2)+0|0)|0;s[m>>2]=+ef(l,f[E>>2]|0,f[C>>2]|0?f[B>>2]|0:0,+s[R>>2]);s[A>>2]=+s[m>>2];if(!((f[C>>2]|0)==0|(f[M>>2]|0)!=0)?(gs(i|0,l|0,(f[E>>2]<<2)+0|0)|0,wn(i,f[E>>2]>>f[B>>2],1<>2]),s[m>>2]=+ef(i,f[E>>2]|0,(f[B>>2]|0)+1|0,+s[R>>2]),+s[m>>2]<+s[A>>2]):0){s[A>>2]=+s[m>>2];f[S>>2]=-1}f[T>>2]=0;while(1){c=(f[C>>2]|0)!=0;if((f[T>>2]|0)>=((f[B>>2]|0)+(((f[C>>2]|0?1:(f[M>>2]|0)!=0)^1)&1)|0))break;if(c)f[_>>2]=(f[B>>2]|0)-(f[T>>2]|0)-1;else f[_>>2]=(f[T>>2]|0)+1;wn(l,f[E>>2]>>f[T>>2],1<>2]);s[m>>2]=+ef(l,f[E>>2]|0,f[_>>2]|0,+s[R>>2]);if(+s[m>>2]<+s[A>>2]){s[A>>2]=+s[m>>2];f[S>>2]=(f[T>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}u=f[S>>2]|0;if(c)f[o+(f[Z>>2]<<2)>>2]=u<<1;else{G=re(-2,u)|0;f[o+(f[Z>>2]<<2)>>2]=G}G=f[y>>2]|0;f[G>>2]=(f[G>>2]|0)+((f[C>>2]|0?f[B>>2]|0:0)-((f[o+(f[Z>>2]<<2)>>2]|0)/2|0));do{if(f[M>>2]|0){if(f[o+(f[Z>>2]<<2)>>2]|0?(f[o+(f[Z>>2]<<2)>>2]|0)!=(re(-2,f[B>>2]|0)|0):0)break;G=o+(f[Z>>2]<<2)|0;f[G>>2]=(f[G>>2]|0)-1}}while(0);f[Z>>2]=(f[Z>>2]|0)+1}f[V>>2]=0;f[L>>2]=0;while(1){if((f[L>>2]|0)>=2)break;f[j>>2]=0;f[D>>2]=f[C>>2]|0?0:f[U>>2]|0;f[Z>>2]=1;while(1){c=f[j>>2]|0;u=f[D>>2]|0;if((f[Z>>2]|0)>=(f[I>>2]|0))break;if((c|0)<(u+(f[U>>2]|0)|0))c=f[j>>2]|0;else c=(f[D>>2]|0)+(f[U>>2]|0)|0;f[x>>2]=c;if(((f[j>>2]|0)+(f[U>>2]|0)|0)<(f[D>>2]|0))c=(f[j>>2]|0)+(f[U>>2]|0)|0;else c=f[D>>2]|0;f[O>>2]=c;f[j>>2]=(f[x>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[L>>2]<<1)+0)>>0]<<1)|0)|0);f[D>>2]=(f[O>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[L>>2]<<1)+1)>>0]<<1)|0)|0);f[Z>>2]=(f[Z>>2]|0)+1}f[j>>2]=(c|0)<(u|0)?f[j>>2]|0:f[D>>2]|0;f[P+(f[L>>2]<<2)>>2]=f[j>>2];f[L>>2]=(f[L>>2]|0)+1}if(f[C>>2]|0?(f[P+4>>2]|0)<(f[P>>2]|0):0)f[V>>2]=1;f[j>>2]=0;f[D>>2]=f[C>>2]|0?0:f[U>>2]|0;f[Z>>2]=1;while(1){c=f[j>>2]|0;if((f[Z>>2]|0)>=(f[I>>2]|0))break;f[z>>2]=c;f[H>>2]=(f[D>>2]|0)+(f[U>>2]|0);if((f[z>>2]|0)<(f[H>>2]|0)){f[N>>2]=f[z>>2];f[r+(f[Z>>2]<<2)>>2]=0}else{f[N>>2]=f[H>>2];f[r+(f[Z>>2]<<2)>>2]=1}f[z>>2]=(f[j>>2]|0)+(f[U>>2]|0);f[H>>2]=f[D>>2];if((f[z>>2]|0)<(f[H>>2]|0)){f[F>>2]=f[z>>2];f[e+(f[Z>>2]<<2)>>2]=0}else{f[F>>2]=f[H>>2];f[e+(f[Z>>2]<<2)>>2]=1}f[j>>2]=(f[N>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[V>>2]<<1)+0)>>0]<<1)|0)|0);f[D>>2]=(f[F>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[V>>2]<<1)+1)>>0]<<1)|0)|0);f[Z>>2]=(f[Z>>2]|0)+1}f[(f[W>>2]|0)+((f[I>>2]|0)-1<<2)>>2]=(c|0)<(f[D>>2]|0)?0:1;f[Z>>2]=(f[I>>2]|0)-2;while(1){if((f[Z>>2]|0)<0)break;c=(f[Z>>2]|0)+1|0;if((f[(f[W>>2]|0)+((f[Z>>2]|0)+1<<2)>>2]|0)==1)f[(f[W>>2]|0)+(f[Z>>2]<<2)>>2]=f[e+(c<<2)>>2];else f[(f[W>>2]|0)+(f[Z>>2]<<2)>>2]=f[r+(c<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+-1}G=f[V>>2]|0;de(f[q>>2]|0);h=J;return G|0}function ef(e,r,i,t){e=e|0;r=r|0;i=i|0;t=+t;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;c=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[l>>2]=t;s[u>>2]=0;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[a>>2]|0))break;t=+Y(+ +s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]);s[u>>2]=+s[u>>2]+t;f[c>>2]=(f[c>>2]|0)+1}s[u>>2]=+s[u>>2]+ +(f[o>>2]|0)*+s[l>>2]*+s[u>>2];h=b;return+ +s[u>>2]}function rf(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+64|0;s=A+52|0;u=A+48|0;c=A+44|0;b=A+40|0;w=A+36|0;k=A+32|0;d=A+28|0;v=A+24|0;g=A+20|0;E=A+16|0;m=A+12|0;y=A+8|0;p=A+4|0;_=A;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[p>>2]=f[(f[d>>2]|0)+4>>2]<<3;f[_>>2]=Vn(f[d>>2]|0)|0;f[y>>2]=f[c>>2]|0?2:4;if((f[w>>2]|0)>0)a=((f[_>>2]|0)+(f[y>>2]|0)+1|0)>>>0<=(f[p>>2]|0)>>>0;else a=0;f[E>>2]=a&1;f[p>>2]=(f[p>>2]|0)-(f[E>>2]|0);f[m>>2]=0;f[v>>2]=0;f[g>>2]=f[s>>2];while(1){if((f[g>>2]|0)>=(f[u>>2]|0))break;if(((f[_>>2]|0)+(f[y>>2]|0)|0)>>>0<=(f[p>>2]|0)>>>0){Xe(f[d>>2]|0,f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]^f[v>>2],f[y>>2]|0);f[_>>2]=Vn(f[d>>2]|0)|0;f[v>>2]=f[(f[b>>2]|0)+(f[g>>2]<<2)>>2];f[m>>2]=f[m>>2]|f[v>>2]}else f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]=f[v>>2];f[y>>2]=f[c>>2]|0?4:5;f[g>>2]=(f[g>>2]|0)+1}if(f[E>>2]|0?(t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+0+(f[m>>2]|0))>>0]|0)!=(t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+2+(f[m>>2]|0))>>0]|0):0)Xe(f[d>>2]|0,f[k>>2]|0,1);else f[k>>2]=0;f[g>>2]=f[s>>2];while(1){if((f[g>>2]|0)>=(f[u>>2]|0))break;f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]=t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+(f[k>>2]<<1)+(f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]|0))>>0];f[g>>2]=(f[g>>2]|0)+1}h=A;return}function tf(e,r,i,t,a,o,l,u,c,b,w,k,d,p,v,g,y,_){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;var m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0;te=h;h=h+128|0;C=te+120|0;T=te+116|0;I=te+112|0;B=te+108|0;q=te+104|0;W=te+100|0;Z=te+96|0;A=te+92|0;S=te+88|0;V=te+84|0;j=te+80|0;D=te+76|0;N=te+72|0;F=te+68|0;z=te+64|0;Y=te+60|0;R=te+56|0;U=te+52|0;X=te+48|0;M=te+44|0;Q=te+40|0;$=te+36|0;H=te+32|0;O=te+28|0;L=te+24|0;P=te+20|0;x=te+16|0;ee=te+12|0;J=te+8|0;G=te+4|0;K=te;f[C>>2]=e;f[T>>2]=r;f[I>>2]=i;f[B>>2]=t;f[q>>2]=a;f[W>>2]=o;f[Z>>2]=l;f[A>>2]=u;f[S>>2]=c;f[V>>2]=b;f[j>>2]=w;f[D>>2]=k;f[N>>2]=d;f[F>>2]=p;f[z>>2]=v;f[Y>>2]=g;f[R>>2]=y;f[U>>2]=_;f[Q>>2]=0;w=re(f[W>>2]|0,f[I>>2]|0)|0;f[H>>2]=he()|0;e=h;h=h+((1*(w<<2)|0)+15&-16)|0;w=(re(f[W>>2]|0,f[I>>2]|0)|0)<<2;p=h;h=h+((1*w|0)+15&-16)|0;vs(f[Z>>2]|0,0,f[I>>2]<<2|0)|0;s[$>>2]=-31.899999618530273;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;E=+(n[(f[S>>2]|0)+(f[X>>2]<<1)>>1]|0)*.0625+.5+ +(9-(f[A>>2]|0)|0)-+s[17464+(f[X>>2]<<2)>>2]+ +(re((f[X>>2]|0)+5|0,(f[X>>2]|0)+5|0)|0)*.006200000178068876;s[p+(f[X>>2]<<2)>>2]=E;f[X>>2]=(f[X>>2]|0)+1}f[M>>2]=0;do{f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;S=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[$>>2]>+s[(f[C>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]-+s[p+(f[X>>2]<<2)>>2])m=+s[$>>2];else{S=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[C>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]-+s[p+(f[X>>2]<<2)>>2]}s[$>>2]=m;f[X>>2]=(f[X>>2]|0)+1}S=(f[M>>2]|0)+1|0;f[M>>2]=S}while((S|0)<(f[W>>2]|0));if((f[z>>2]|0)>50&(f[F>>2]|0)>=1^1|(f[R>>2]|0)!=0){ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}f[O>>2]=0;f[M>>2]=0;do{f[x>>2]=e+((re(f[M>>2]|0,f[I>>2]|0)|0)<<2);R=re(f[M>>2]|0,f[I>>2]|0)|0;s[f[x>>2]>>2]=+s[(f[T>>2]|0)+(R<<2)>>2];f[X>>2]=1;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;S=re(f[M>>2]|0,f[I>>2]|0)|0;R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[T>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]>+s[(f[T>>2]|0)+(R+(f[X>>2]|0)-1<<2)>>2]+.5)f[O>>2]=f[X>>2];R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+((f[X>>2]|0)-1<<2)>>2]+1.5<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2])m=+s[(f[x>>2]|0)+((f[X>>2]|0)-1<<2)>>2]+1.5;else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]}s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}f[X>>2]=(f[O>>2]|0)-1;while(1){if((f[X>>2]|0)<0)break;R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2])m=+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2;else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]}o=f[X>>2]|0;do{if(!(+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+(o+1<<2)>>2]+2<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]){m=+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2;break}else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2];break}}else m=+s[(f[x>>2]|0)+(o<<2)>>2]}while(0);s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+-1}s[L>>2]=1;f[X>>2]=2;while(1){if((f[X>>2]|0)>=((f[q>>2]|0)-2|0))break;m=+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2];R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+nf((f[T>>2]|0)+(R+(f[X>>2]|0)-2<<2)|0);if(m>E-+s[L>>2])m=+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2];else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+nf((f[T>>2]|0)+(R+(f[X>>2]|0)-2<<2)|0);m=m-+s[L>>2]}s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+ff((f[T>>2]|0)+(R<<2)|0);s[P>>2]=E-+s[L>>2];if(+s[f[x>>2]>>2]>+s[P>>2])m=+s[f[x>>2]>>2];else m=+s[P>>2];s[f[x>>2]>>2]=m;if(+s[(f[x>>2]|0)+4>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+4>>2];else m=+s[P>>2];s[(f[x>>2]|0)+4>>2]=m;R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+ff((f[T>>2]|0)+(R+(f[q>>2]|0)-3<<2)|0);s[P>>2]=E-+s[L>>2];if(+s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2];else m=+s[P>>2];s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2]=m;if(+s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2];else m=+s[P>>2];s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2]=m;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;o=f[X>>2]|0;if(+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]>+s[p+(f[X>>2]<<2)>>2])m=+s[(f[x>>2]|0)+(o<<2)>>2];else m=+s[p+(o<<2)>>2];s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}R=(f[M>>2]|0)+1|0;f[M>>2]=R}while((R|0)<(f[W>>2]|0));P=(f[W>>2]|0)==2;f[X>>2]=f[B>>2];e:do{if(P)while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;if(+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]>+s[e+(f[X>>2]<<2)>>2]-4)m=+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2];else m=+s[e+(f[X>>2]<<2)>>2]-4;s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]=m;if(+s[e+(f[X>>2]<<2)>>2]>+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-4)m=+s[e+(f[X>>2]<<2)>>2];else m=+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-4;s[e+(f[X>>2]<<2)>>2]=m;if(0>+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2])E=0;else E=+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2];if(0>+s[(f[C>>2]|0)+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2])m=0;else m=+s[(f[C>>2]|0)+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2];s[e+(f[X>>2]<<2)>>2]=(E+m)*.5;f[X>>2]=(f[X>>2]|0)+1}else while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;if(0>+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2])m=0;else m=+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2];s[e+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}}while(0);f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;o=f[X>>2]|0;if(+s[e+(f[X>>2]<<2)>>2]>+s[(f[U>>2]|0)+(f[X>>2]<<2)>>2])m=+s[e+(o<<2)>>2];else m=+s[(f[U>>2]|0)+(o<<2)>>2];s[e+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}e:do{if(!(((f[j>>2]|0)==0|(f[D>>2]|0)!=0)^1|(f[V>>2]|0)!=0)){f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;s[e+(f[X>>2]<<2)>>2]=+s[e+(f[X>>2]<<2)>>2]*.5;f[X>>2]=(f[X>>2]|0)+1}}}while(0);f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0)){ie=103;break}if((f[X>>2]|0)<8){B=e+(f[X>>2]<<2)|0;s[B>>2]=+s[B>>2]*2}if((f[X>>2]|0)>=12)s[e+(f[X>>2]<<2)>>2]=+s[e+(f[X>>2]<<2)>>2]*.5;if(+s[e+(f[X>>2]<<2)>>2]<4)m=+s[e+(f[X>>2]<<2)>>2];else m=4;s[e+(f[X>>2]<<2)>>2]=m;B=re(f[W>>2]|0,(n[(f[N>>2]|0)+((f[X>>2]|0)+1<<1)>>1]|0)-(n[(f[N>>2]|0)+(f[X>>2]<<1)>>1]|0)|0)|0;f[ee>>2]=B<>2];do{if((f[ee>>2]|0)>=6){m=+s[e+(f[X>>2]<<2)>>2];if((f[ee>>2]|0)>48){f[J>>2]=~~(m*8);f[G>>2]=((re(f[J>>2]|0,f[ee>>2]|0)|0)<<3|0)/8|0;break}else{f[J>>2]=~~(m*+(f[ee>>2]|0)/6);f[G>>2]=(f[J>>2]|0)*6<<3;break}}else{f[J>>2]=~~+s[e+(f[X>>2]<<2)>>2];f[G>>2]=(re(f[J>>2]|0,f[ee>>2]|0)|0)<<3}}while(0);if(!(f[j>>2]|0?(f[D>>2]|0)==0|(f[V>>2]|0)!=0:0))ie=100;if((ie|0)==100?(ie=0,((f[Q>>2]|0)+(f[G>>2]|0)>>3>>3|0)>((f[z>>2]|0)/4|0|0)):0)break;f[(f[Z>>2]|0)+(f[X>>2]<<2)>>2]=f[J>>2];f[Q>>2]=(f[Q>>2]|0)+(f[G>>2]|0);f[X>>2]=(f[X>>2]|0)+1}if((ie|0)==103){ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}f[K>>2]=((f[z>>2]|0)/4|0)<<3<<3;f[(f[Z>>2]|0)+(f[X>>2]<<2)>>2]=(f[K>>2]|0)-(f[Q>>2]|0);f[Q>>2]=f[K>>2];ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}function nf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;b=h;h=h+48|0;r=b+32|0;i=b+28|0;t=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;u=b+4|0;c=b;f[i>>2]=e;s[a>>2]=+s[(f[i>>2]|0)+8>>2];e=f[i>>2]|0;if(+s[f[i>>2]>>2]>+s[(f[i>>2]|0)+4>>2]){s[t>>2]=+s[e+4>>2];s[n>>2]=+s[f[i>>2]>>2]}else{s[t>>2]=+s[e>>2];s[n>>2]=+s[(f[i>>2]|0)+4>>2]}e=f[i>>2]|0;if(+s[(f[i>>2]|0)+12>>2]>+s[(f[i>>2]|0)+16>>2]){s[o>>2]=+s[e+16>>2];s[l>>2]=+s[(f[i>>2]|0)+12>>2]}else{s[o>>2]=+s[e+12>>2];s[l>>2]=+s[(f[i>>2]|0)+16>>2]}if(+s[t>>2]>+s[o>>2]){s[u>>2]=+s[t>>2];s[t>>2]=+s[o>>2];s[o>>2]=+s[u>>2];s[c>>2]=+s[n>>2];s[n>>2]=+s[l>>2];s[l>>2]=+s[c>>2]}if(+s[a>>2]>+s[n>>2])if(+s[n>>2]<+s[o>>2]){s[r>>2]=+s[a>>2]<+s[o>>2]?+s[a>>2]:+s[o>>2];w=+s[r>>2];h=b;return+w}else{s[r>>2]=+s[l>>2]<+s[n>>2]?+s[l>>2]:+s[n>>2];w=+s[r>>2];h=b;return+w}else if(+s[a>>2]<+s[o>>2]){s[r>>2]=+s[n>>2]<+s[o>>2]?+s[n>>2]:+s[o>>2];w=+s[r>>2];h=b;return+w}else{s[r>>2]=+s[a>>2]<+s[l>>2]?+s[a>>2]:+s[l>>2];w=+s[r>>2];h=b;return+w}return 0}function ff(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;e=f[i>>2]|0;if(+s[f[i>>2]>>2]>+s[(f[i>>2]|0)+4>>2]){s[t>>2]=+s[e+4>>2];s[n>>2]=+s[f[i>>2]>>2]}else{s[t>>2]=+s[e>>2];s[n>>2]=+s[(f[i>>2]|0)+4>>2]}s[a>>2]=+s[(f[i>>2]|0)+8>>2];if(+s[n>>2]<+s[a>>2]){s[r>>2]=+s[n>>2];l=+s[r>>2];h=o;return+l}if(+s[t>>2]<+s[a>>2]){s[r>>2]=+s[a>>2];l=+s[r>>2];h=o;return+l}else{s[r>>2]=+s[t>>2];l=+s[r>>2];h=o;return+l}return 0}function af(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+64|0;a=_+48|0;o=_+44|0;l=_+40|0;u=_+36|0;d=_+32|0;y=_+28|0;v=_+24|0;g=_+20|0;p=_+16|0;c=_+12|0;w=_+8|0;b=_+4|0;k=_;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;s[v>>2]=1.0000000036274937e-15;s[g>>2]=1.0000000036274937e-15;f[d>>2]=0;while(1){if((f[d>>2]|0)>=13)break;f[p>>2]=n[(f[(f[a>>2]|0)+32>>2]|0)+(f[d>>2]<<1)>>1]<>2];while(1){if((f[p>>2]|0)>=(n[(f[(f[a>>2]|0)+32>>2]|0)+((f[d>>2]|0)+1<<1)>>1]<>2]|0))break;s[c>>2]=+s[(f[o>>2]|0)+(f[p>>2]<<2)>>2];s[w>>2]=+s[(f[o>>2]|0)+((f[u>>2]|0)+(f[p>>2]|0)<<2)>>2];s[b>>2]=+s[c>>2]+ +s[w>>2];s[k>>2]=+s[c>>2]-+s[w>>2];m=+Y(+ +s[c>>2]);s[v>>2]=+s[v>>2]+(m+ +Y(+ +s[w>>2]));m=+Y(+ +s[b>>2]);s[g>>2]=+s[g>>2]+(m+ +Y(+ +s[k>>2]));f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}s[g>>2]=+s[g>>2]*.7071070075035095;f[y>>2]=13;if((f[l>>2]|0)<=1)f[y>>2]=(f[y>>2]|0)-8;h=_;return+((n[(f[(f[a>>2]|0)+32>>2]|0)+26>>1]<<(f[l>>2]|0)+1)+(f[y>>2]|0)|0)*+s[g>>2]>+(n[(f[(f[a>>2]|0)+32>>2]|0)+26>>1]<<(f[l>>2]|0)+1|0)*+s[v>>2]|0}function of(e,r,i,t,a,o,l,u,c,b,w,k,d){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=+b;w=w|0;k=+k;d=d|0;var p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;F=h;h=h+96|0;T=F+92|0;v=F+88|0;M=F+84|0;x=F+80|0;y=F+76|0;O=F+72|0;_=F+68|0;j=F+64|0;L=F+60|0;B=F+56|0;g=F+52|0;U=F+48|0;I=F+40|0;C=F+36|0;P=F+32|0;N=F+28|0;D=F+24|0;S=F+20|0;R=F+16|0;A=F+12|0;E=F+8|0;p=F+4|0;m=F;f[T>>2]=e;f[v>>2]=r;f[M>>2]=i;f[x>>2]=t;f[y>>2]=a;f[O>>2]=o;f[_>>2]=l;f[j>>2]=u;f[L>>2]=c;s[B>>2]=b;f[g>>2]=w;s[U>>2]=k;f[F+44>>2]=d;s[C>>2]=0;s[D>>2]=5;if((f[O>>2]|0)==2){s[A>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=8)break;s[p>>2]=+lf((f[v>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2]<<2)|0,(f[v>>2]|0)+((f[_>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2])<<2)|0,(n[(f[(f[T>>2]|0)+32>>2]|0)+((f[I>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)<>2]);s[A>>2]=+s[A>>2]+ +s[p>>2];f[I>>2]=(f[I>>2]|0)+1}s[A>>2]=+s[A>>2]*.125;if(1<+Y(+ +s[A>>2]))k=1;else k=+Y(+ +s[A>>2]);s[A>>2]=k;s[E>>2]=+s[A>>2];f[I>>2]=8;while(1){if((f[I>>2]|0)>=(f[g>>2]|0))break;s[m>>2]=+lf((f[v>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2]<<2)|0,(f[v>>2]|0)+((f[_>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2])<<2)|0,(n[(f[(f[T>>2]|0)+32>>2]|0)+((f[I>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)<>2]);if(+s[E>>2]<+Y(+ +s[m>>2]))k=+s[E>>2];else k=+Y(+ +s[m>>2]);s[E>>2]=k;f[I>>2]=(f[I>>2]|0)+1}if(1<+Y(+ +s[E>>2]))k=1;else k=+Y(+ +s[E>>2]);s[E>>2]=k;s[S>>2]=+Q(+(1.0010000467300415-+s[A>>2]*+s[A>>2]))*1.4426950408889634;if(+s[S>>2]*.5>+Q(+(1.0010000467300415-+s[E>>2]*+s[E>>2]))*1.4426950408889634)k=+s[S>>2]*.5;else k=+Q(+(1.0010000467300415-+s[E>>2]*+s[E>>2]))*1.4426950408889634;s[R>>2]=k;s[D>>2]=+s[D>>2]+(-4>+s[S>>2]*.75?-4:+s[S>>2]*.75);if(+s[f[L>>2]>>2]+.25<-(+s[R>>2]*.5))k=+s[f[L>>2]>>2]+.25;else k=-(+s[R>>2]*.5);s[f[L>>2]>>2]=k}f[P>>2]=0;do{f[I>>2]=0;while(1){if((f[I>>2]|0)>=((f[x>>2]|0)-1|0))break;L=(f[I>>2]|0)+(re(f[P>>2]|0,f[(f[T>>2]|0)+8>>2]|0)|0)|0;s[C>>2]=+s[C>>2]+ +s[(f[M>>2]|0)+(L<<2)>>2]*+(2+(f[I>>2]<<1)-(f[x>>2]|0)|0);f[I>>2]=(f[I>>2]|0)+1}L=(f[P>>2]|0)+1|0;f[P>>2]=L}while((L|0)<(f[O>>2]|0));b=+(re(f[O>>2]|0,(f[x>>2]|0)-1|0)|0);s[C>>2]=+s[C>>2]/b;if(2<(+s[C>>2]+1)/6)k=2;else k=(+s[C>>2]+1)/6;if(!(-2>k))if(2<(+s[C>>2]+1)/6)k=2;else k=(+s[C>>2]+1)/6;else k=-2;s[D>>2]=+s[D>>2]-k;s[D>>2]=+s[D>>2]-+s[U>>2];s[D>>2]=+s[D>>2]-+s[B>>2]*2;if(f[f[j>>2]>>2]|0){if(2<(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2)k=2;else k=(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2;if(!(-2>k))if(2<(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2)k=2;else k=(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2;else k=-2;s[D>>2]=+s[D>>2]-k}f[N>>2]=~~+z(+(+s[D>>2]+.5));if(0>((10<(f[N>>2]|0)?10:f[N>>2]|0)|0)){D=0;f[N>>2]=D;N=f[N>>2]|0;h=F;return N|0}D=10<(f[N>>2]|0)?10:f[N>>2]|0;f[N>>2]=D;N=f[N>>2]|0;h=F;return N|0}function lf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function sf(e,r,i,t,a,o,l,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=+b;w=w|0;k=+k;d=d|0;p=+p;v=v|0;g=g|0;y=y|0;_=+_;m=+m;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0;ne=h;h=h+144|0;ae=ne+140|0;x=ne+136|0;Q=ne+132|0;z=ne+128|0;G=ne+124|0;fe=ne+120|0;Y=ne+116|0;E=ne+112|0;K=ne+108|0;A=ne+104|0;O=ne+100|0;V=ne+96|0;I=ne+92|0;N=ne+88|0;L=ne+84|0;F=ne+80|0;J=ne+76|0;C=ne+72|0;$=ne+68|0;ie=ne+64|0;U=ne+60|0;S=ne+56|0;P=ne+52|0;Z=ne+48|0;q=ne+44|0;R=ne+40|0;T=ne+36|0;M=ne+32|0;D=ne+28|0;j=ne+24|0;B=ne+20|0;W=ne+16|0;H=ne+12|0;X=ne+8|0;ee=ne+4|0;te=ne;f[ae>>2]=e;f[x>>2]=r;f[Q>>2]=i;f[z>>2]=t;f[G>>2]=a;f[fe>>2]=o;f[Y>>2]=l;f[E>>2]=u;f[K>>2]=c;s[A>>2]=b;f[O>>2]=w;s[V>>2]=k;f[I>>2]=d;s[N>>2]=p;f[L>>2]=v;f[F>>2]=g;f[J>>2]=y;s[C>>2]=_;s[$>>2]=m;f[Z>>2]=f[(f[ae>>2]|0)+8>>2];f[q>>2]=f[(f[ae>>2]|0)+32>>2];f[S>>2]=f[fe>>2]|0?f[fe>>2]|0:f[Z>>2]|0;f[U>>2]=n[(f[q>>2]|0)+(f[S>>2]<<1)>>1]<>2];if((f[Y>>2]|0)==2)f[U>>2]=(f[U>>2]|0)+(n[(f[q>>2]|0)+(((f[E>>2]|0)<(f[S>>2]|0)?f[E>>2]|0:f[S>>2]|0)<<1)>>1]<>2]);f[ie>>2]=f[Q>>2];if(f[f[x>>2]>>2]|0?+s[(f[x>>2]|0)+16>>2]<.4:0)f[ie>>2]=(f[ie>>2]|0)-~~(+(f[U>>2]<<3|0)*(.4000000059604645-+s[(f[x>>2]|0)+16>>2]));if((f[Y>>2]|0)==2){f[R>>2]=(f[E>>2]|0)<(f[S>>2]|0)?f[E>>2]|0:f[S>>2]|0;f[T>>2]=(n[(f[q>>2]|0)+(f[R>>2]<<1)>>1]<>2])-(f[R>>2]|0);s[M>>2]=+(f[T>>2]|0)*.800000011920929/+(f[U>>2]|0);s[A>>2]=+s[A>>2]<1?+s[A>>2]:1;if(+s[M>>2]*+(f[ie>>2]|0)<(+s[A>>2]-.10000000149011612)*+(f[T>>2]<<3|0))p=+s[M>>2]*+(f[ie>>2]|0);else p=(+s[A>>2]-.10000000149011612)*+(f[T>>2]<<3|0);f[ie>>2]=(f[ie>>2]|0)-~~p}f[ie>>2]=(f[ie>>2]|0)+((f[O>>2]|0)-(16<>2]));s[P>>2]=(f[L>>2]|0)==5010?.019999999552965164:.03999999910593033;f[ie>>2]=(f[ie>>2]|0)+~~((+s[V>>2]-+s[P>>2])*+(f[ie>>2]|0));if(!(f[F>>2]|0?1:(f[f[x>>2]>>2]|0)==0)){if(0>+s[(f[x>>2]|0)+4>>2]-.15000000596046448)p=0;else p=+s[(f[x>>2]|0)+4>>2]-.15000000596046448;s[j>>2]=p-.09000000357627869;f[D>>2]=(f[ie>>2]|0)+~~(+(f[U>>2]<<3|0)*1.2000000476837158*+s[j>>2]);if(f[I>>2]|0)f[D>>2]=(f[D>>2]|0)+~~(+(f[U>>2]<<3|0)*.800000011920929);f[ie>>2]=f[D>>2]}if(!((f[J>>2]|0)==0|(f[F>>2]|0)!=0)){f[B>>2]=(f[ie>>2]|0)+~~(+s[C>>2]*+(f[U>>2]<<3|0));if(((f[ie>>2]|0)/4|0|0)>(f[B>>2]|0))E=(f[ie>>2]|0)/4|0;else E=f[B>>2]|0;f[ie>>2]=E}f[H>>2]=n[(f[q>>2]|0)+((f[Z>>2]|0)-2<<1)>>1]<>2];k=+((re(f[Y>>2]|0,f[H>>2]|0)|0)<<3|0);f[W>>2]=~~(k*+s[N>>2]);f[W>>2]=(f[W>>2]|0)>(f[ie>>2]>>2|0)?f[W>>2]|0:f[ie>>2]>>2;f[ie>>2]=(f[ie>>2]|0)<(f[W>>2]|0)?f[ie>>2]|0:f[W>>2]|0;if((f[J>>2]|0)==0|(f[F>>2]|0)!=0?(f[K>>2]|0)!=0|(f[G>>2]|0)<64e3:0){if(0>+((f[G>>2]|0)-32e3|0)*30517578125e-15)p=0;else p=+((f[G>>2]|0)-32e3|0)*30517578125e-15;s[X>>2]=p;if(f[K>>2]|0)s[X>>2]=+s[X>>2]<.6700000166893005?+s[X>>2]:.6700000166893005;f[ie>>2]=(f[Q>>2]|0)+~~(+s[X>>2]*+((f[ie>>2]|0)-(f[Q>>2]|0)|0))}if(!((f[J>>2]|0)==0&+s[V>>2]<.20000000298023224)){fe=f[Q>>2]|0;fe=fe<<1;te=f[ie>>2]|0;te=(fe|0)<(te|0);fe=f[Q>>2]|0;fe=fe<<1;ae=f[ie>>2]|0;ae=te?fe:ae;f[ie>>2]=ae;ae=f[ie>>2]|0;h=ne;return ae|0}if(0>((32e3<(96e3-(f[G>>2]|0)|0)?32e3:96e3-(f[G>>2]|0)|0)|0))E=0;else E=32e3<(96e3-(f[G>>2]|0)|0)?32e3:96e3-(f[G>>2]|0)|0;s[ee>>2]=+(E|0)*3099999958067201e-21;s[te>>2]=+s[$>>2]*+s[ee>>2];f[ie>>2]=(f[ie>>2]|0)+~~(+s[te>>2]*+(f[ie>>2]|0));fe=f[Q>>2]|0;fe=fe<<1;te=f[ie>>2]|0;te=(fe|0)<(te|0);fe=f[Q>>2]|0;fe=fe<<1;ae=f[ie>>2]|0;ae=te?fe:ae;f[ie>>2]=ae;ae=f[ie>>2]|0;h=ne;return ae|0}function uf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+44>>2]|0}function hf(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=pr(48e3,960,0)|0;e=cf(f[t>>2]|0,f[i>>2]|0)|0;h=r;return e|0}function cf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;e=88+((re(f[a>>2]|0,2048+(f[(f[n>>2]|0)+4>>2]|0)|0)|0)-1<<2)|0;f[i>>2]=e+((f[a>>2]|0)*24<<2)+(f[(f[n>>2]|0)+8>>2]<<3<<2);h=t;return f[i>>2]|0}function bf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;a=l+8|0;s=l+4|0;o=l;f[n>>2]=e;f[a>>2]=r;f[s>>2]=i;r=f[n>>2]|0;e=pr(48e3,960,0)|0;f[o>>2]=wf(r,e,f[s>>2]|0)|0;if(f[o>>2]|0){f[t>>2]=f[o>>2];s=f[t>>2]|0;h=l;return s|0}s=Cn(f[a>>2]|0)|0;f[(f[n>>2]|0)+16>>2]=s;if(!(f[(f[n>>2]|0)+16>>2]|0)){f[t>>2]=-1;s=f[t>>2]|0;h=l;return s|0}else{f[t>>2]=0;s=f[t>>2]|0;h=l;return s|0}return 0}function wf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;a=l+8|0;o=l+4|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[o>>2]|0)<0|(f[o>>2]|0)>2){f[t>>2]=-1;e=f[t>>2]|0;h=l;return e|0}if(!(f[n>>2]|0)){f[t>>2]=-7;e=f[t>>2]|0;h=l;return e|0}else{e=f[n>>2]|0;vs(e|0,0,cf(f[a>>2]|0,f[o>>2]|0)|0)|0;f[f[n>>2]>>2]=f[a>>2];f[(f[n>>2]|0)+4>>2]=f[(f[a>>2]|0)+4>>2];e=f[o>>2]|0;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+12>>2]=e;f[(f[n>>2]|0)+16>>2]=1;f[(f[n>>2]|0)+20>>2]=0;f[(f[n>>2]|0)+24>>2]=f[(f[f[n>>2]>>2]|0)+12>>2];f[(f[n>>2]|0)+28>>2]=1;e=kf()|0;f[(f[n>>2]|0)+32>>2]=e;f[(f[n>>2]|0)+48>>2]=0;df(f[n>>2]|0,4028,l)|0;f[t>>2]=0;e=f[t>>2]|0;h=l;return e|0}return 0}function kf(){return 0}function df(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;E=h;h=h+96|0;m=E+80|0;t=E+76|0;A=E+72|0;n=E+56|0;b=E+52|0;w=E+48|0;k=E+44|0;d=E+40|0;p=E+36|0;a=E+32|0;o=E+28|0;l=E+24|0;u=E+20|0;c=E+16|0;v=E+12|0;g=E+8|0;y=E+4|0;_=E;f[t>>2]=e;f[A>>2]=r;f[n>>2]=i;e:do{switch(f[A>>2]|0){case 10010:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[b>>2]=A;if((f[b>>2]|0)>=0?(f[b>>2]|0)<(f[(f[f[t>>2]>>2]|0)+8>>2]|0):0){f[(f[t>>2]|0)+20>>2]=f[b>>2];t=24}else t=25;break}case 10012:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[w>>2]=A;if((f[w>>2]|0)>=1?(f[w>>2]|0)<=(f[(f[f[t>>2]>>2]|0)+8>>2]|0):0){f[(f[t>>2]|0)+24>>2]=f[w>>2];t=24}else t=25;break}case 10008:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[k>>2]=A;if((f[k>>2]|0)<1|(f[k>>2]|0)>2)t=25;else{f[(f[t>>2]|0)+12>>2]=f[k>>2];t=24}break}case 10007:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[d>>2]=A;if(!(f[d>>2]|0))t=25;else{f[f[d>>2]>>2]=f[(f[t>>2]|0)+40>>2];f[(f[t>>2]|0)+40>>2]=0;t=24}break}case 4027:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[p>>2]=A;if(!(f[p>>2]|0))t=25;else{f[f[p>>2]>>2]=(f[(f[t>>2]|0)+4>>2]|0)/(f[(f[t>>2]|0)+16>>2]|0)|0;t=24}break}case 4028:{f[o>>2]=(f[t>>2]|0)+84+((re(2048+(f[(f[t>>2]|0)+4>>2]|0)|0,f[(f[t>>2]|0)+8>>2]|0)|0)<<2);f[l>>2]=(f[o>>2]|0)+((f[(f[t>>2]|0)+8>>2]|0)*24<<2);f[u>>2]=(f[l>>2]|0)+(f[(f[f[t>>2]>>2]|0)+8>>2]<<1<<2);f[c>>2]=(f[u>>2]|0)+(f[(f[f[t>>2]>>2]|0)+8>>2]<<1<<2);vs((f[t>>2]|0)+36|0,0,(cf(f[f[t>>2]>>2]|0,f[(f[t>>2]|0)+8>>2]|0)|0)-((f[t>>2]|0)+36-(f[t>>2]|0))|0)|0;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[(f[f[t>>2]>>2]|0)+8>>2]<<1|0)){t=24;break e}s[(f[c>>2]|0)+(f[a>>2]<<2)>>2]=-28;s[(f[u>>2]|0)+(f[a>>2]<<2)>>2]=-28;f[a>>2]=(f[a>>2]|0)+1}}case 4033:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[v>>2]=A;if(!(f[v>>2]|0))t=25;else{f[f[v>>2]>>2]=f[(f[t>>2]|0)+52>>2];t=24}break}case 10015:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[g>>2]=A;if(!(f[g>>2]|0))t=25;else{f[f[g>>2]>>2]=f[f[t>>2]>>2];t=24}break}case 10016:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[y>>2]=A;f[(f[t>>2]|0)+28>>2]=f[y>>2];t=24;break}case 4031:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[_>>2]=A;if(!(f[_>>2]|0))t=25;else{f[f[_>>2]>>2]=f[(f[t>>2]|0)+36>>2];t=24}break}default:{f[m>>2]=-5;A=f[m>>2]|0;h=E;return A|0}}}while(0);if((t|0)==24){f[m>>2]=0;A=f[m>>2]|0;h=E;return A|0}else if((t|0)==25){f[m>>2]=-1;A=f[m>>2]|0;h=E;return A|0}return 0}function pf(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R,T,M,x){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;T=T|0;M=M|0;x=x|0;var O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0;Ne=h;h=h+256|0;O=Ne+240|0;Ie=Ne+236|0;N=Ne+232|0;W=Ne+228|0;Z=Ne+224|0;V=Ne+220|0;J=Ne+216|0;G=Ne+212|0;K=Ne+208|0;X=Ne+204|0;L=Ne+200|0;P=Ne+196|0;I=Ne+192|0;C=Ne+188|0;U=Ne+184|0;Fe=Ne+180|0;B=Ne+176|0;j=Ne+172|0;Ce=Ne+168|0;D=Ne+164|0;F=Ne+160|0;z=Ne+156|0;Y=Ne+152|0;Ue=Ne+148|0;H=Ne+144|0;q=Ne+140|0;ue=Ne+136|0;ce=Ne+132|0;je=Ne+128|0;oe=Ne+124|0;ae=Ne+120|0;ne=Ne+116|0;be=Ne+112|0;le=Ne+108|0;ie=Ne+104|0;ee=Ne+100|0;we=Ne+96|0;pe=Ne+92|0;ke=Ne+88|0;Ae=Ne+84|0;Te=Ne+80|0;Se=Ne+76|0;Re=Ne+72|0;fe=Ne+68|0;te=Ne+64|0;_e=Ne+60|0;me=Ne+56|0;Ee=Ne+52|0;se=Ne+48|0;Q=Ne+44|0;Pe=Ne+40|0;$=Ne+36|0;Oe=Ne+32|0;Le=Ne+28|0;Me=Ne+24|0;ve=Ne+20|0;xe=Ne+16|0;ge=Ne+12|0;De=Ne+8|0;ye=Ne+4|0;Be=Ne;f[O>>2]=e;f[Ie>>2]=r;f[N>>2]=i;f[W>>2]=a;f[Z>>2]=o;f[V>>2]=l;f[J>>2]=s;f[G>>2]=u;f[K>>2]=c;f[X>>2]=b;f[L>>2]=w;f[P>>2]=k;f[I>>2]=d;f[C>>2]=p;f[U>>2]=v;f[Fe>>2]=g;f[B>>2]=y;f[j>>2]=_;f[Ce>>2]=m;f[D>>2]=E;f[F>>2]=A;f[z>>2]=S;f[Y>>2]=R;f[Ue>>2]=T;f[H>>2]=M;f[q>>2]=x;l=f[Ue>>2]|0;f[Be>>2]=he()|0;g=h;h=h+((1*(l*48|0)|0)+15&-16)|0;f[xe>>2]=(f[O>>2]|0)+1280+((f[(f[O>>2]|0)+4364>>2]|0)-(f[P>>2]|0)+1<<2);f[ve>>2]=(f[J>>2]|0)+((f[(f[O>>2]|0)+4360>>2]|0)-(f[P>>2]|0)+2<<2);f[$>>2]=f[Fe>>2]>>6;f[ue>>2]=0;while(1){if((f[ue>>2]|0)>=(f[Ce>>2]|0))break;if((f[N>>2]|0)==2){f[ie>>2]=2;Fe=re(f[f[ve>>2]>>2]>>16,n[f[X>>2]>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[f[ve>>2]>>2]&65535,n[f[X>>2]>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-4>>2]>>16,n[(f[X>>2]|0)+2>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-4>>2]&65535,n[(f[X>>2]|0)+2>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-8>>2]>>16,n[(f[X>>2]|0)+4>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-8>>2]&65535,n[(f[X>>2]|0)+4>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-12>>2]>>16,n[(f[X>>2]|0)+6>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-12>>2]&65535,n[(f[X>>2]|0)+6>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-16>>2]>>16,n[(f[X>>2]|0)+8>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-16>>2]&65535,n[(f[X>>2]|0)+8>>1]|0)|0)>>16));f[ie>>2]=f[ie>>2]<<1;f[ve>>2]=(f[ve>>2]|0)+4}else f[ie>>2]=0;if((f[P>>2]|0)>0){Fe=re((f[f[xe>>2]>>2]|0)+(f[(f[xe>>2]|0)+-8>>2]|0)>>16,(f[I>>2]&65535)<<16>>16)|0;f[pe>>2]=Fe+((re((f[f[xe>>2]>>2]|0)+(f[(f[xe>>2]|0)+-8>>2]|0)&65535,(f[I>>2]&65535)<<16>>16)|0)>>16);Fe=(f[pe>>2]|0)+(re(f[(f[xe>>2]|0)+-4>>2]>>16,f[I>>2]>>16)|0)|0;f[pe>>2]=Fe+((re(f[(f[xe>>2]|0)+-4>>2]&65535,f[I>>2]>>16)|0)>>16);f[pe>>2]=(f[ie>>2]|0)-(f[pe>>2]<<2);f[xe>>2]=(f[xe>>2]|0)+4}else f[pe>>2]=0;f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);f[ye>>2]=g+((f[je>>2]|0)*48|0);Fe=907633515+(re(f[(f[De>>2]|0)+1156>>2]|0,196314165)|0)|0;f[(f[De>>2]|0)+1156>>2]=Fe;f[ge>>2]=(f[De>>2]|0)+(31+(f[ue>>2]|0)<<2);f[ee>>2]=f[z>>2]>>1;Fe=re(f[f[ge>>2]>>2]>>16,n[f[K>>2]>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[f[ge>>2]>>2]&65535,n[f[K>>2]>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-4>>2]>>16,n[(f[K>>2]|0)+2>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-4>>2]&65535,n[(f[K>>2]|0)+2>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-8>>2]>>16,n[(f[K>>2]|0)+4>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-8>>2]&65535,n[(f[K>>2]|0)+4>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-12>>2]>>16,n[(f[K>>2]|0)+6>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-12>>2]&65535,n[(f[K>>2]|0)+6>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-16>>2]>>16,n[(f[K>>2]|0)+8>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-16>>2]&65535,n[(f[K>>2]|0)+8>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-20>>2]>>16,n[(f[K>>2]|0)+10>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-20>>2]&65535,n[(f[K>>2]|0)+10>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-24>>2]>>16,n[(f[K>>2]|0)+12>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-24>>2]&65535,n[(f[K>>2]|0)+12>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-28>>2]>>16,n[(f[K>>2]|0)+14>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-28>>2]&65535,n[(f[K>>2]|0)+14>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-32>>2]>>16,n[(f[K>>2]|0)+16>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-32>>2]&65535,n[(f[K>>2]|0)+16>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-36>>2]>>16,n[(f[K>>2]|0)+18>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-36>>2]&65535,n[(f[K>>2]|0)+18>>1]|0)|0)>>16));if((f[z>>2]|0)==16){Fe=re(f[(f[ge>>2]|0)+-40>>2]>>16,n[(f[K>>2]|0)+20>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-40>>2]&65535,n[(f[K>>2]|0)+20>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-44>>2]>>16,n[(f[K>>2]|0)+22>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-44>>2]&65535,n[(f[K>>2]|0)+22>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-48>>2]>>16,n[(f[K>>2]|0)+24>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-48>>2]&65535,n[(f[K>>2]|0)+24>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-52>>2]>>16,n[(f[K>>2]|0)+26>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-52>>2]&65535,n[(f[K>>2]|0)+26>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-56>>2]>>16,n[(f[K>>2]|0)+28>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-56>>2]&65535,n[(f[K>>2]|0)+28>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-60>>2]>>16,n[(f[K>>2]|0)+30>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-60>>2]&65535,n[(f[K>>2]|0)+30>>1]|0)|0)>>16))}f[ee>>2]=f[ee>>2]<<4;Fe=re(f[(f[De>>2]|0)+1088>>2]>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Le>>2]=(f[f[ge>>2]>>2]|0)+(Fe+((re(f[(f[De>>2]|0)+1088>>2]&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));Fe=re((f[(f[De>>2]|0)+1088+4>>2]|0)-(f[Le>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Oe>>2]=(f[(f[De>>2]|0)+1088>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+4>>2]|0)-(f[Le>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088>>2]=f[Le>>2];f[we>>2]=f[F>>2]>>1;Fe=re(f[Le>>2]>>16,n[f[L>>2]>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Le>>2]&65535,n[f[L>>2]>>1]|0)|0)>>16));f[ce>>2]=2;while(1){if((f[ce>>2]|0)>=(f[F>>2]|0))break;Fe=re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)-(f[Oe>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Le>>2]=(f[(f[De>>2]|0)+1088+((f[ce>>2]|0)-1<<2)>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)-(f[Oe>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088+((f[ce>>2]|0)-1<<2)>>2]=f[Oe>>2];Fe=re(f[Oe>>2]>>16,n[(f[L>>2]|0)+((f[ce>>2]|0)-1<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Oe>>2]&65535,n[(f[L>>2]|0)+((f[ce>>2]|0)-1<<1)>>1]|0)|0)>>16));Fe=re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+1<<2)>>2]|0)-(f[Le>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Oe>>2]=(f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+1<<2)>>2]|0)-(f[Le>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]=f[Le>>2];Fe=re(f[Le>>2]>>16,n[(f[L>>2]|0)+(f[ce>>2]<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Le>>2]&65535,n[(f[L>>2]|0)+(f[ce>>2]<<1)>>1]|0)|0)>>16));f[ce>>2]=(f[ce>>2]|0)+2}f[(f[De>>2]|0)+1088+((f[F>>2]|0)-1<<2)>>2]=f[Oe>>2];Fe=re(f[Oe>>2]>>16,n[(f[L>>2]|0)+((f[F>>2]|0)-1<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Oe>>2]&65535,n[(f[L>>2]|0)+((f[F>>2]|0)-1<<1)>>1]|0)|0)>>16));f[we>>2]=f[we>>2]<<1;Fe=re(f[(f[De>>2]|0)+1152>>2]>>16,(f[C>>2]&65535)<<16>>16)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[(f[De>>2]|0)+1152>>2]&65535,(f[C>>2]&65535)<<16>>16)|0)>>16));f[we>>2]=f[we>>2]<<2;Fe=re(f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]>>16,(f[U>>2]&65535)<<16>>16)|0;f[ke>>2]=Fe+((re(f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]&65535,(f[U>>2]&65535)<<16>>16)|0)>>16);Fe=(f[ke>>2]|0)+(re(f[(f[De>>2]|0)+1152>>2]>>16,f[U>>2]>>16)|0)|0;f[ke>>2]=Fe+((re(f[(f[De>>2]|0)+1152>>2]&65535,f[U>>2]>>16)|0)>>16);f[ke>>2]=f[ke>>2]<<2;f[Oe>>2]=(f[we>>2]|0)+(f[ke>>2]|0);f[Le>>2]=(f[pe>>2]|0)+(f[ee>>2]|0);f[Oe>>2]=(f[Le>>2]|0)-(f[Oe>>2]|0);f[Oe>>2]=(f[Oe>>2]>>3)+1>>1;f[Ae>>2]=(f[(f[W>>2]|0)+(f[ue>>2]<<2)>>2]|0)-(f[Oe>>2]|0);if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[Ae>>2]=0-(f[Ae>>2]|0);if((f[Ae>>2]|0)>30720)w=30720;else w=(f[Ae>>2]|0)<-31744?-31744:f[Ae>>2]|0;f[Ae>>2]=w;f[me>>2]=(f[Ae>>2]|0)-(f[j>>2]|0);f[_e>>2]=f[me>>2]>>10;w=f[_e>>2]|0;do{if((f[_e>>2]|0)<=0){if(!w){f[me>>2]=f[j>>2];f[Ee>>2]=(f[me>>2]|0)+944;f[Se>>2]=re((f[me>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}if((f[_e>>2]|0)==-1){f[Ee>>2]=f[j>>2];f[me>>2]=(f[Ee>>2]|0)-944;f[Se>>2]=re((0-(f[me>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}else{f[me>>2]=(f[_e>>2]<<10)+80;f[me>>2]=(f[me>>2]|0)+(f[j>>2]|0);f[Ee>>2]=(f[me>>2]|0)+1024;f[Se>>2]=re((0-(f[me>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((0-(f[Ee>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}}else{f[me>>2]=(w<<10)-80;f[me>>2]=(f[me>>2]|0)+(f[j>>2]|0);f[Ee>>2]=(f[me>>2]|0)+1024;f[Se>>2]=re((f[me>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0}}while(0);f[Te>>2]=(f[Ae>>2]|0)-(f[me>>2]|0);f[Se>>2]=(f[Se>>2]|0)+(re((f[Te>>2]&65535)<<16>>16,(f[Te>>2]&65535)<<16>>16)|0)>>10;f[Te>>2]=(f[Ae>>2]|0)-(f[Ee>>2]|0);f[Re>>2]=(f[Re>>2]|0)+(re((f[Te>>2]&65535)<<16>>16,(f[Te>>2]&65535)<<16>>16)|0)>>10;w=f[(f[De>>2]|0)+1164>>2]|0;if((f[Se>>2]|0)<(f[Re>>2]|0)){f[(f[ye>>2]|0)+4>>2]=w+(f[Se>>2]|0);f[(f[ye>>2]|0)+24+4>>2]=(f[(f[De>>2]|0)+1164>>2]|0)+(f[Re>>2]|0);f[f[ye>>2]>>2]=f[me>>2];f[(f[ye>>2]|0)+24>>2]=f[Ee>>2]}else{f[(f[ye>>2]|0)+4>>2]=w+(f[Re>>2]|0);f[(f[ye>>2]|0)+24+4>>2]=(f[(f[De>>2]|0)+1164>>2]|0)+(f[Se>>2]|0);f[f[ye>>2]>>2]=f[Ee>>2];f[(f[ye>>2]|0)+24>>2]=f[me>>2]}f[se>>2]=f[f[ye>>2]>>2]<<4;if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[se>>2]=0-(f[se>>2]|0);f[Q>>2]=(f[se>>2]|0)+(f[ie>>2]|0);f[Pe>>2]=(f[Q>>2]|0)+(f[ee>>2]|0);f[Me>>2]=(f[Pe>>2]|0)-(f[we>>2]|0);f[(f[ye>>2]|0)+16>>2]=(f[Me>>2]|0)-(f[ke>>2]|0);f[(f[ye>>2]|0)+12>>2]=f[Me>>2];f[(f[ye>>2]|0)+20>>2]=f[Q>>2];f[(f[ye>>2]|0)+8>>2]=f[Pe>>2];f[se>>2]=f[(f[ye>>2]|0)+24>>2]<<4;if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[se>>2]=0-(f[se>>2]|0);f[Q>>2]=(f[se>>2]|0)+(f[ie>>2]|0);f[Pe>>2]=(f[Q>>2]|0)+(f[ee>>2]|0);f[Me>>2]=(f[Pe>>2]|0)-(f[we>>2]|0);f[(f[ye>>2]|0)+24+16>>2]=(f[Me>>2]|0)-(f[ke>>2]|0);f[(f[ye>>2]|0)+24+12>>2]=f[Me>>2];f[(f[ye>>2]|0)+24+20>>2]=f[Q>>2];f[(f[ye>>2]|0)+24+8>>2]=f[Pe>>2];f[je>>2]=(f[je>>2]|0)+1}f[f[H>>2]>>2]=(f[f[H>>2]>>2]|0)-1&31;f[be>>2]=(f[f[H>>2]>>2]|0)+(f[q>>2]|0)&31;f[fe>>2]=f[g+4>>2];f[oe>>2]=0;f[je>>2]=1;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[g+((f[je>>2]|0)*48|0)+4>>2]|0)<(f[fe>>2]|0)){f[fe>>2]=f[g+((f[je>>2]|0)*48|0)+4>>2];f[oe>>2]=f[je>>2]}f[je>>2]=(f[je>>2]|0)+1}f[le>>2]=f[(f[Ie>>2]|0)+((f[oe>>2]|0)*1168|0)+448+(f[be>>2]<<2)>>2];f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0)+448+(f[be>>2]<<2)>>2]|0)!=(f[le>>2]|0)){f[g+((f[je>>2]|0)*48|0)+4>>2]=(f[g+((f[je>>2]|0)*48|0)+4>>2]|0)+134217727;f[g+((f[je>>2]|0)*48|0)+24+4>>2]=(f[g+((f[je>>2]|0)*48|0)+24+4>>2]|0)+134217727}f[je>>2]=(f[je>>2]|0)+1}f[te>>2]=f[g+4>>2];f[fe>>2]=f[g+24+4>>2];f[ne>>2]=0;f[ae>>2]=0;f[je>>2]=1;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[g+((f[je>>2]|0)*48|0)+4>>2]|0)>(f[te>>2]|0)){f[te>>2]=f[g+((f[je>>2]|0)*48|0)+4>>2];f[ne>>2]=f[je>>2]}if((f[g+((f[je>>2]|0)*48|0)+24+4>>2]|0)<(f[fe>>2]|0)){f[fe>>2]=f[g+((f[je>>2]|0)*48|0)+24+4>>2];f[ae>>2]=f[je>>2]}f[je>>2]=(f[je>>2]|0)+1}if((f[fe>>2]|0)<(f[te>>2]|0)){gs((f[Ie>>2]|0)+((f[ne>>2]|0)*1168|0)+(f[ue>>2]<<2)|0,(f[Ie>>2]|0)+((f[ae>>2]|0)*1168|0)+(f[ue>>2]<<2)|0,1168-(f[ue>>2]<<2)|0)|0;Fe=g+((f[ne>>2]|0)*48|0)|0;l=g+((f[ae>>2]|0)*48|0)+24|0;f[Fe>>2]=f[l>>2];f[Fe+4>>2]=f[l+4>>2];f[Fe+8>>2]=f[l+8>>2];f[Fe+12>>2]=f[l+12>>2];f[Fe+16>>2]=f[l+16>>2];f[Fe+20>>2]=f[l+20>>2]}f[De>>2]=(f[Ie>>2]|0)+((f[oe>>2]|0)*1168|0);if(!((f[D>>2]|0)<=0?(f[ue>>2]|0)<(f[q>>2]|0):0)){t[(f[Z>>2]|0)+((f[ue>>2]|0)-(f[q>>2]|0))>>0]=(f[(f[De>>2]|0)+576+(f[be>>2]<<2)>>2]>>9)+1>>1;Fe=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;Fe=Fe+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Fe+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){Fe=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;Fe=Fe+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Fe+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)w=-32768;else{w=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;w=w+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;w=(w+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1}}else w=32767;n[(f[V>>2]|0)+((f[ue>>2]|0)-(f[q>>2]|0)<<1)>>1]=w;f[(f[O>>2]|0)+1280+((f[(f[O>>2]|0)+4364>>2]|0)-(f[q>>2]|0)<<2)>>2]=f[(f[De>>2]|0)+960+(f[be>>2]<<2)>>2];f[(f[J>>2]|0)+((f[(f[O>>2]|0)+4360>>2]|0)-(f[q>>2]|0)<<2)>>2]=f[(f[De>>2]|0)+832+(f[be>>2]<<2)>>2]}Fe=(f[O>>2]|0)+4364|0;f[Fe>>2]=(f[Fe>>2]|0)+1;Fe=(f[O>>2]|0)+4360|0;f[Fe>>2]=(f[Fe>>2]|0)+1;f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);f[ye>>2]=g+((f[je>>2]|0)*48|0);f[(f[De>>2]|0)+1152>>2]=f[(f[ye>>2]|0)+12>>2];f[(f[De>>2]|0)+(32+(f[ue>>2]|0)<<2)>>2]=f[(f[ye>>2]|0)+8>>2];f[(f[De>>2]|0)+704+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+8>>2];f[(f[De>>2]|0)+576+(f[f[H>>2]>>2]<<2)>>2]=f[f[ye>>2]>>2];f[(f[De>>2]|0)+832+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+20>>2]<<1;f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+16>>2];f[(f[De>>2]|0)+1156>>2]=(f[(f[De>>2]|0)+1156>>2]|0)+((f[f[ye>>2]>>2]>>9)+1>>1);f[(f[De>>2]|0)+448+(f[f[H>>2]>>2]<<2)>>2]=f[(f[De>>2]|0)+1156>>2];f[(f[De>>2]|0)+1164>>2]=f[(f[ye>>2]|0)+4>>2];f[je>>2]=(f[je>>2]|0)+1}f[(f[G>>2]|0)+(f[f[H>>2]>>2]<<2)>>2]=f[$>>2];f[ue>>2]=(f[ue>>2]|0)+1}f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);w=f[De>>2]|0;g=(f[De>>2]|0)+(f[Ce>>2]<<2)|0;d=w+128|0;do{f[w>>2]=f[g>>2];w=w+4|0;g=g+4|0}while((w|0)<(d|0));f[je>>2]=(f[je>>2]|0)+1}de(f[Be>>2]|0);h=Ne;return}function vf(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;f[(f[i>>2]|0)+4168>>2]=f[(f[i>>2]|0)+2328>>2]<<7;f[(f[i>>2]|0)+4168+72>>2]=65536;f[(f[i>>2]|0)+4168+72+4>>2]=65536;f[(f[i>>2]|0)+4168+88>>2]=20;f[(f[i>>2]|0)+4168+84>>2]=2;h=r;return}function gf(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;o=c+16|0;a=c+12|0;l=c+8|0;s=c+4|0;u=c;f[o>>2]=e;f[a>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;if((f[(f[o>>2]|0)+2316>>2]|0)!=(f[(f[o>>2]|0)+4168+80>>2]|0)){vf(f[o>>2]|0);f[(f[o>>2]|0)+4168+80>>2]=f[(f[o>>2]|0)+2316>>2]}i=f[o>>2]|0;n=f[a>>2]|0;if(f[s>>2]|0){yf(i,n,f[l>>2]|0,f[u>>2]|0);u=(f[o>>2]|0)+4160|0;f[u>>2]=(f[u>>2]|0)+1;h=c;return}else{xf(i,n);h=c;return}}function yf(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+176|0;S=N+120|0;R=N+116|0;T=N+112|0;c=N+108|0;L=N+104|0;P=N+100|0;y=N+96|0;I=N+92|0;p=N+88|0;A=N+84|0;s=N+80|0;u=N+76|0;j=N+72|0;d=N+68|0;m=N+64|0;g=N+60|0;o=N+56|0;l=N+52|0;E=N+48|0;_=N+44|0;O=N+40|0;w=N+36|0;B=N+160|0;b=N+32|0;D=N+28|0;x=N+128|0;U=N+24|0;C=N+16|0;M=N+8|0;v=N+4|0;k=N;f[S>>2]=e;f[R>>2]=r;f[T>>2]=i;f[c>>2]=t;f[U>>2]=(f[S>>2]|0)+4168;a=(f[(f[S>>2]|0)+2336>>2]|0)+(f[(f[S>>2]|0)+2328>>2]|0)|0;f[M>>2]=he()|0;r=h;h=h+((1*(a<<2)|0)+15&-16)|0;a=h;h=h+((1*(f[(f[S>>2]|0)+2336>>2]<<1)|0)+15&-16)|0;f[C>>2]=f[(f[U>>2]|0)+72>>2]>>6;f[C+4>>2]=f[(f[U>>2]|0)+72+4>>2]>>6;if(f[(f[S>>2]|0)+2376>>2]|0){i=(f[U>>2]|0)+14|0;e=i+32|0;do{n[i>>1]=0;i=i+2|0}while((i|0)<(e|0))}_f(o,s,l,u,(f[S>>2]|0)+4|0,C,f[(f[S>>2]|0)+2332>>2]|0,f[(f[S>>2]|0)+2324>>2]|0);t=f[(f[U>>2]|0)+84>>2]|0;if((f[o>>2]>>f[u>>2]|0)<(f[l>>2]>>f[s>>2]|0)){u=mf(0,(re(t-1|0,f[(f[U>>2]|0)+88>>2]|0)|0)-128|0)|0;f[E>>2]=(f[S>>2]|0)+4+(u<<2)}else{u=mf(0,(re(t,f[(f[U>>2]|0)+88>>2]|0)|0)-128|0)|0;f[E>>2]=(f[S>>2]|0)+4+(u<<2)}f[b>>2]=(f[U>>2]|0)+4;n[B>>1]=n[(f[U>>2]|0)+56>>1]|0;f[d>>2]=n[24440+((Ef(1,f[(f[S>>2]|0)+4160>>2]|0)|0)<<1)>>1];u=(f[(f[S>>2]|0)+4164>>2]|0)==2;t=Ef(1,f[(f[S>>2]|0)+4160>>2]|0)|0;if(u)f[m>>2]=n[24444+(t<<1)>>1];else f[m>>2]=n[24448+(t<<1)>>1];Ia((f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]|0,64881);gs(x|0,(f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]<<1|0)|0;do{if(!(f[(f[S>>2]|0)+4160>>2]|0)){n[B>>1]=16384;if((f[(f[S>>2]|0)+4164>>2]|0)!=2){f[v>>2]=Ya((f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]|0)|0;f[k>>2]=Sf(134217728,f[v>>2]|0)|0;f[k>>2]=Rf(4194304,f[k>>2]|0)|0;f[k>>2]=f[k>>2]<<3;v=re(f[k>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[m>>2]=v+((re(f[k>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)>>14;break}f[L>>2]=0;while(1){if((f[L>>2]|0)>=5)break;n[B>>1]=(n[B>>1]|0)-(n[(f[b>>2]|0)+(f[L>>2]<<1)>>1]|0);f[L>>2]=(f[L>>2]|0)+1}n[B>>1]=Af(3277,n[B>>1]|0)|0;n[B>>1]=(re(n[B>>1]|0,n[(f[U>>2]|0)+68>>1]|0)|0)>>14}}while(0);f[j>>2]=f[(f[U>>2]|0)+52>>2];f[I>>2]=(f[f[U>>2]>>2]>>7)+1>>1;f[A>>2]=f[(f[S>>2]|0)+2336>>2];f[p>>2]=(f[(f[S>>2]|0)+2336>>2]|0)-(f[I>>2]|0)-(f[(f[S>>2]|0)+2340>>2]|0)-2;za(a+(f[p>>2]<<1)|0,(f[S>>2]|0)+1348+(f[p>>2]<<1)|0,x,(f[(f[S>>2]|0)+2336>>2]|0)-(f[p>>2]|0)|0,f[(f[S>>2]|0)+2340>>2]|0,f[c>>2]|0);f[g>>2]=Tf(f[(f[U>>2]|0)+72+4>>2]|0,46)|0;f[g>>2]=(f[g>>2]|0)<1073741823?f[g>>2]|0:1073741823;f[L>>2]=(f[p>>2]|0)+(f[(f[S>>2]|0)+2340>>2]|0);while(1){if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2336>>2]|0))break;v=re(f[g>>2]>>16,n[a+(f[L>>2]<<1)>>1]|0)|0;v=v+((re(f[g>>2]&65535,n[a+(f[L>>2]<<1)>>1]|0)|0)>>16)|0;f[r+(f[L>>2]<<2)>>2]=v;f[L>>2]=(f[L>>2]|0)+1}f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[(f[S>>2]|0)+2324>>2]|0))break;f[_>>2]=r+((f[A>>2]|0)-(f[I>>2]|0)+2<<2);f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2332>>2]|0))break;f[w>>2]=2;g=re(f[f[_>>2]>>2]>>16,n[f[b>>2]>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[f[_>>2]>>2]&65535,n[f[b>>2]>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-4>>2]>>16,n[(f[b>>2]|0)+2>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-4>>2]&65535,n[(f[b>>2]|0)+2>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-8>>2]>>16,n[(f[b>>2]|0)+4>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-8>>2]&65535,n[(f[b>>2]|0)+4>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-12>>2]>>16,n[(f[b>>2]|0)+6>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-12>>2]&65535,n[(f[b>>2]|0)+6>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-16>>2]>>16,n[(f[b>>2]|0)+8>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-16>>2]&65535,n[(f[b>>2]|0)+8>>1]|0)|0)>>16));f[_>>2]=(f[_>>2]|0)+4;f[j>>2]=907633515+(re(f[j>>2]|0,196314165)|0);f[p>>2]=f[j>>2]>>25&127;g=re(f[(f[E>>2]|0)+(f[p>>2]<<2)>>2]>>16,n[B>>1]|0)|0;g=(f[w>>2]|0)+(g+((re(f[(f[E>>2]|0)+(f[p>>2]<<2)>>2]&65535,n[B>>1]|0)|0)>>16))<<2;f[r+(f[A>>2]<<2)>>2]=g;f[A>>2]=(f[A>>2]|0)+1;f[L>>2]=(f[L>>2]|0)+1}f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;g=(re((f[d>>2]&65535)<<16>>16,n[(f[b>>2]|0)+(f[P>>2]<<1)>>1]|0)|0)>>15&65535;n[(f[b>>2]|0)+(f[P>>2]<<1)>>1]=g;f[P>>2]=(f[P>>2]|0)+1}n[B>>1]=(re(n[B>>1]|0,(f[m>>2]&65535)<<16>>16)|0)>>15;f[f[U>>2]>>2]=(f[f[U>>2]>>2]|0)+(((f[f[U>>2]>>2]>>16)*655|0)+((f[f[U>>2]>>2]&65535)*655>>16));g=Sf(f[f[U>>2]>>2]|0,((f[(f[S>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8)|0;f[f[U>>2]>>2]=g;f[I>>2]=(f[f[U>>2]>>2]>>7)+1>>1;f[y>>2]=(f[y>>2]|0)+1}f[D>>2]=r+((f[(f[S>>2]|0)+2336>>2]|0)-16<<2);i=f[D>>2]|0;t=(f[S>>2]|0)+1284|0;e=i+64|0;do{f[i>>2]=f[t>>2];i=i+4|0;t=t+4|0}while((i|0)<(e|0));f[L>>2]=0;while(1){t=f[S>>2]|0;if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2328>>2]|0))break;f[O>>2]=f[t+2340>>2]>>1;A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-1<<2)>>2]>>16,n[x>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-1<<2)>>2]&65535,n[x>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-2<<2)>>2]>>16,n[x+2>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-2<<2)>>2]&65535,n[x+2>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-3<<2)>>2]>>16,n[x+4>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-3<<2)>>2]&65535,n[x+4>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-4<<2)>>2]>>16,n[x+6>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-4<<2)>>2]&65535,n[x+6>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-5<<2)>>2]>>16,n[x+8>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-5<<2)>>2]&65535,n[x+8>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-6<<2)>>2]>>16,n[x+10>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-6<<2)>>2]&65535,n[x+10>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-7<<2)>>2]>>16,n[x+12>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-7<<2)>>2]&65535,n[x+12>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-8<<2)>>2]>>16,n[x+14>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-8<<2)>>2]&65535,n[x+14>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-9<<2)>>2]>>16,n[x+16>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-9<<2)>>2]&65535,n[x+16>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-10<<2)>>2]>>16,n[x+18>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-10<<2)>>2]&65535,n[x+18>>1]|0)|0)>>16));f[P>>2]=10;while(1){if((f[P>>2]|0)>=(f[(f[S>>2]|0)+2340>>2]|0))break;A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-(f[P>>2]|0)-1<<2)>>2]>>16,n[x+(f[P>>2]<<1)>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-(f[P>>2]|0)-1<<2)>>2]&65535,n[x+(f[P>>2]<<1)>>1]|0)|0)>>16));f[P>>2]=(f[P>>2]|0)+1}f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]=(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0)+(f[O>>2]<<4);A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767;if((t|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767;if((t|0)>=-32768){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767}else t=-32768}else t=32767;n[(f[T>>2]|0)+(f[L>>2]<<1)>>1]=t;f[L>>2]=(f[L>>2]|0)+1}i=t+1284|0;t=(f[D>>2]|0)+(f[(f[S>>2]|0)+2328>>2]<<2)|0;e=i+64|0;do{f[i>>2]=f[t>>2];i=i+4|0;t=t+4|0}while((i|0)<(e|0));f[(f[U>>2]|0)+52>>2]=f[j>>2];n[(f[U>>2]|0)+56>>1]=n[B>>1]|0;f[L>>2]=0;while(1){if((f[L>>2]|0)>=4)break;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=f[I>>2];f[L>>2]=(f[L>>2]|0)+1}de(f[M>>2]|0);h=N;return}function _f(e,r,i,t,a,o,l,s){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;d=E+24|0;p=E+20|0;v=E+16|0;_=E+12|0;m=E+8|0;y=E+4|0;g=E;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[v>>2]=s;l=f[p>>2]<<1;f[g>>2]=he()|0;e=h;h=h+((1*(l<<1)|0)+15&-16)|0;f[y>>2]=e;f[m>>2]=0;while(1){if((f[m>>2]|0)>=2)break;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[p>>2]|0))break;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=re(f[(f[k>>2]|0)+(l<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;t=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;t=l+((re(f[(f[k>>2]|0)+(t<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;if((t+(re(f[(f[k>>2]|0)+(l<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<=32767){l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=re(f[(f[k>>2]|0)+(l<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;t=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;t=l+((re(f[(f[k>>2]|0)+(t<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;if((t+(re(f[(f[k>>2]|0)+(l<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<-32768)i=-32768;else{i=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;i=re(f[(f[k>>2]|0)+(i<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=i+((re(f[(f[k>>2]|0)+(l<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;i=l+(re(f[(f[k>>2]|0)+(i<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8}}else i=32767;n[(f[y>>2]|0)+(f[_>>2]<<1)>>1]=i;f[_>>2]=(f[_>>2]|0)+1}f[y>>2]=(f[y>>2]|0)+(f[p>>2]<<1);f[m>>2]=(f[m>>2]|0)+1}Si(f[u>>2]|0,f[c>>2]|0,e,f[p>>2]|0);Si(f[b>>2]|0,f[w>>2]|0,e+(f[p>>2]<<1)|0,f[p>>2]|0);de(f[g>>2]|0);h=E;return}function mf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ef(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Af(e,r){e=e|0;r=r|0;var i=0,t=0,f=0;f=h;h=h+16|0;t=f+2|0;i=f;n[t>>1]=e;n[i>>1]=r;h=f;return((n[t>>1]|0)>(n[i>>1]|0)?n[t>>1]|0:n[i>>1]|0)&65535|0}function Sf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Rf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Tf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(Mf((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Mf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function xf(e,r){e=e|0;r=r|0;var i=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;i=p+40|0;a=p+36|0;o=p+32|0;w=p+28|0;l=p+24|0;s=p+20|0;u=p+16|0;c=p+12|0;k=p+8|0;b=p+4|0;d=p;f[i>>2]=e;f[a>>2]=r;f[u>>2]=(f[i>>2]|0)+4168;f[(f[i>>2]|0)+4164>>2]=t[(f[i>>2]|0)+2736+29>>0];f[o>>2]=0;e:do{if((t[(f[i>>2]|0)+2736+29>>0]|0)==2){f[s>>2]=0;while(1){r=re(f[s>>2]|0,f[(f[i>>2]|0)+2332>>2]|0)|0;if((r|0)>=(f[(f[a>>2]|0)+((f[(f[i>>2]|0)+2324>>2]|0)-1<<2)>>2]|0))break;if((f[s>>2]|0)==(f[(f[i>>2]|0)+2324>>2]|0))break;f[w>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break;f[w>>2]=(f[w>>2]|0)+(n[(f[a>>2]|0)+96+((((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)|0)*5|0)+(f[l>>2]|0)<<1)>>1]|0);f[l>>2]=(f[l>>2]|0)+1}if((f[w>>2]|0)>(f[o>>2]|0)){f[o>>2]=f[w>>2];r=(f[u>>2]|0)+4|0;e=(f[a>>2]|0)+96+((((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)&65535)<<16>>16)*5<<1)|0;n[r>>1]=n[e>>1]|0;n[r+2>>1]=n[e+2>>1]|0;n[r+4>>1]=n[e+4>>1]|0;n[r+6>>1]=n[e+6>>1]|0;n[r+8>>1]=n[e+8>>1]|0;f[f[u>>2]>>2]=f[(f[a>>2]|0)+((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)<<2)>>2]<<8}f[s>>2]=(f[s>>2]|0)+1}w=(f[u>>2]|0)+4|0;f[w>>2]=0;f[w+4>>2]=0;n[w+8>>1]=0;n[(f[u>>2]|0)+4+4>>1]=f[o>>2];if((f[o>>2]|0)<11469){f[k>>2]=11744256;f[c>>2]=(f[k>>2]|0)/(((f[o>>2]|0)>1?f[o>>2]|0:1)|0)|0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break e;d=(re(n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]|0,(f[c>>2]&65535)<<16>>16)|0)>>10&65535;n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]=d;f[l>>2]=(f[l>>2]|0)+1}}if((f[o>>2]|0)>15565){f[d>>2]=255016960;f[b>>2]=(f[d>>2]|0)/(((f[o>>2]|0)>1?f[o>>2]|0:1)|0)|0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break e;d=(re(n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]|0,(f[b>>2]&65535)<<16>>16)|0)>>14&65535;n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]=d;f[l>>2]=(f[l>>2]|0)+1}}}else{f[f[u>>2]>>2]=((f[(f[i>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8;d=(f[u>>2]|0)+4|0;f[d>>2]=0;f[d+4>>2]=0;n[d+8>>1]=0}}while(0);gs((f[u>>2]|0)+14|0,(f[a>>2]|0)+32+32|0,f[(f[i>>2]|0)+2340>>2]<<1|0)|0;n[(f[u>>2]|0)+68>>1]=f[(f[a>>2]|0)+136>>2];d=(f[u>>2]|0)+72|0;k=(f[a>>2]|0)+16+((f[(f[i>>2]|0)+2324>>2]|0)-2<<2)|0;f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[(f[u>>2]|0)+88>>2]=f[(f[i>>2]|0)+2332>>2];f[(f[u>>2]|0)+84>>2]=f[(f[i>>2]|0)+2324>>2];h=p;return}function Of(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;t=p+40|0;a=p+36|0;o=p+32|0;w=p+28|0;u=p+24|0;s=p+20|0;k=p+16|0;c=p+12|0;l=p+8|0;b=p+4|0;d=p;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[k>>2]=(f[t>>2]|0)+4168;if(f[(f[t>>2]|0)+4160>>2]|0){Si((f[k>>2]|0)+60|0,(f[k>>2]|0)+64|0,f[a>>2]|0,f[o>>2]|0);f[(f[k>>2]|0)+48>>2]=1;h=p;return}e:do{if(f[(f[t>>2]|0)+4168+48>>2]|0){Si(s,u,f[a>>2]|0,f[o>>2]|0);if((f[u>>2]|0)<=(f[(f[k>>2]|0)+64>>2]|0)){if((f[u>>2]|0)<(f[(f[k>>2]|0)+64>>2]|0))f[s>>2]=f[s>>2]>>(f[(f[k>>2]|0)+64>>2]|0)-(f[u>>2]|0)}else f[(f[k>>2]|0)+60>>2]=f[(f[k>>2]|0)+60>>2]>>(f[u>>2]|0)-(f[(f[k>>2]|0)+64>>2]|0);if((f[s>>2]|0)>(f[(f[k>>2]|0)+60>>2]|0)){f[l>>2]=Mf(f[(f[k>>2]|0)+60>>2]|0)|0;f[l>>2]=(f[l>>2]|0)-1;f[(f[k>>2]|0)+60>>2]=f[(f[k>>2]|0)+60>>2]<>2];e=f[s>>2]|0;f[s>>2]=e>>(Rf(24-(f[l>>2]|0)|0,0)|0);f[c>>2]=(f[(f[k>>2]|0)+60>>2]|0)/(((f[s>>2]|0)>1?f[s>>2]|0:1)|0)|0;f[b>>2]=(Lf(f[c>>2]|0)|0)<<4;f[d>>2]=(65536-(f[b>>2]|0)|0)/(f[o>>2]|0)|0;f[d>>2]=f[d>>2]<<2;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break e;e=re(f[b>>2]>>16,n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]|0)|0;e=e+((re(f[b>>2]&65535,n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]|0)|0)>>16)&65535;n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+(f[d>>2]|0);if((f[b>>2]|0)>65536)break e;f[w>>2]=(f[w>>2]|0)+1}}}}while(0);f[(f[k>>2]|0)+48>>2]=0;h=p;return}function Lf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Pf(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Pf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Mf(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(If(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function If(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Cf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;i=h;h=h+80|0;a=i+68|0;n=i+64|0;t=i+32|0;o=i+16|0;l=i+8|0;s=i;f[a>>2]=e;f[n>>2]=r;Uf(t,f[n>>2]|0,8);Uf(o,t,4);Uf(l,o,2);Uf(s,l,1);Bf(f[a>>2]|0,f[l>>2]|0,f[s>>2]|0,30015);Bf(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,29863);Bf(f[a>>2]|0,f[t>>2]|0,f[o>>2]|0,29711);Bf(f[a>>2]|0,f[f[n>>2]>>2]|0,f[t>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+8>>2]|0,f[t+4>>2]|0,29559);Bf(f[a>>2]|0,f[t+8>>2]|0,f[o+4>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+16>>2]|0,f[t+8>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+24>>2]|0,f[t+12>>2]|0,29559);Bf(f[a>>2]|0,f[o+8>>2]|0,f[l+4>>2]|0,29863);Bf(f[a>>2]|0,f[t+16>>2]|0,f[o+8>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+32>>2]|0,f[t+16>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+40>>2]|0,f[t+20>>2]|0,29559);Bf(f[a>>2]|0,f[t+24>>2]|0,f[o+12>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+48>>2]|0,f[t+24>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+56>>2]|0,f[t+28>>2]|0,29559);h=i;return}function Uf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;f[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=(f[(f[n>>2]|0)+(f[o>>2]<<1<<2)>>2]|0)+(f[(f[n>>2]|0)+((f[o>>2]<<1)+1<<2)>>2]|0);f[o>>2]=(f[o>>2]|0)+1}h=l;return}function Bf(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,l=0,s=0,u=0;u=h;h=h+16|0;n=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;if((f[l>>2]|0)<=0){h=u;return}$e(f[n>>2]|0,f[o>>2]|0,(f[s>>2]|0)+(a[30167+(f[l>>2]|0)>>0]|0)|0,8);h=u;return}function jf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0;t=h;h=h+48|0;l=t+8|0;o=t+4|0;c=t;u=t+40|0;s=t+32|0;a=t+16|0;f[l>>2]=e;f[o>>2]=r;f[c>>2]=i;Df(u,u+2|0,f[o>>2]|0,f[c>>2]|0,30015);Df(s,s+2|0,f[o>>2]|0,n[u>>1]|0,29863);Df(a,a+2|0,f[o>>2]|0,n[s>>1]|0,29711);Df(f[l>>2]|0,(f[l>>2]|0)+2|0,f[o>>2]|0,n[a>>1]|0,29559);Df((f[l>>2]|0)+4|0,(f[l>>2]|0)+6|0,f[o>>2]|0,n[a+2>>1]|0,29559);Df(a+4|0,a+6|0,f[o>>2]|0,n[s+2>>1]|0,29711);Df((f[l>>2]|0)+8|0,(f[l>>2]|0)+10|0,f[o>>2]|0,n[a+4>>1]|0,29559);Df((f[l>>2]|0)+12|0,(f[l>>2]|0)+14|0,f[o>>2]|0,n[a+6>>1]|0,29559);Df(s+4|0,s+6|0,f[o>>2]|0,n[u+2>>1]|0,29863);Df(a+8|0,a+10|0,f[o>>2]|0,n[s+4>>1]|0,29711);Df((f[l>>2]|0)+16|0,(f[l>>2]|0)+18|0,f[o>>2]|0,n[a+8>>1]|0,29559);Df((f[l>>2]|0)+20|0,(f[l>>2]|0)+22|0,f[o>>2]|0,n[a+10>>1]|0,29559);Df(a+12|0,a+14|0,f[o>>2]|0,n[s+6>>1]|0,29711);Df((f[l>>2]|0)+24|0,(f[l>>2]|0)+26|0,f[o>>2]|0,n[a+12>>1]|0,29559);Df((f[l>>2]|0)+28|0,(f[l>>2]|0)+30|0,f[o>>2]|0,n[a+14>>1]|0,29559);h=t;return}function Df(e,r,i,t,o){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;l=w+16|0;s=w+12|0;u=w+8|0;c=w+4|0;b=w;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=o;if((f[c>>2]|0)>0){o=(Fe(f[u>>2]|0,(f[b>>2]|0)+(a[30167+(f[c>>2]|0)>>0]|0)|0,8)|0)&65535;n[f[l>>2]>>1]=o;n[f[s>>2]>>1]=(f[c>>2]|0)-(n[f[l>>2]>>1]|0);h=w;return}else{n[f[l>>2]>>1]=0;n[f[s>>2]>>1]=0;h=w;return}}function Nf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0;a=h;h=h+16|0;i=a+8|0;t=a+4|0;n=a;f[i>>2]=e;f[n>>2]=0;e=f[i>>2]|0;r=e+112|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(r|0));f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;r=Ff(50/((f[t>>2]|0)+1|0)|0,1)|0;f[(f[i>>2]|0)+92+(f[t>>2]<<2)>>2]=r;f[t>>2]=(f[t>>2]|0)+1}f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;f[(f[i>>2]|0)+60+(f[t>>2]<<2)>>2]=(f[(f[i>>2]|0)+92+(f[t>>2]<<2)>>2]|0)*100;f[(f[i>>2]|0)+76+(f[t>>2]<<2)>>2]=2147483647/(f[(f[i>>2]|0)+60+(f[t>>2]<<2)>>2]|0)|0;f[t>>2]=(f[t>>2]|0)+1}f[(f[i>>2]|0)+108>>2]=15;f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;f[(f[i>>2]|0)+40+(f[t>>2]<<2)>>2]=25600;f[t>>2]=(f[t>>2]|0)+1}h=a;return f[n>>2]|0}function Ff(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function zf(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;M=h;h=h+144|0;v=M+132|0;L=M+128|0;_=M+124|0;d=M+120|0;k=M+116|0;O=M+112|0;x=M+108|0;s=M+104|0;o=M+100|0;l=M+96|0;m=M+92|0;u=M+88|0;E=M+84|0;c=M+80|0;p=M+76|0;R=M+72|0;i=M+136|0;w=M+56|0;y=M+40|0;T=M+36|0;b=M+32|0;a=M+16|0;S=M+8|0;A=M+4|0;g=M;f[v>>2]=e;f[L>>2]=r;f[S>>2]=0;f[A>>2]=(f[v>>2]|0)+32;f[O>>2]=f[(f[v>>2]|0)+4608>>2]>>1;f[x>>2]=f[(f[v>>2]|0)+4608>>2]>>2;f[s>>2]=f[(f[v>>2]|0)+4608>>2]>>3;f[a>>2]=0;f[a+4>>2]=(f[s>>2]|0)+(f[x>>2]|0);f[a+8>>2]=(f[a+4>>2]|0)+(f[s>>2]|0);f[a+12>>2]=(f[a+8>>2]|0)+(f[x>>2]|0);e=(f[a+12>>2]|0)+(f[O>>2]|0)|0;f[g>>2]=he()|0;t=h;h=h+((1*(e<<1)|0)+15&-16)|0;Oa(f[L>>2]|0,f[A>>2]|0,t,t+(f[a+12>>2]<<1)|0,f[(f[v>>2]|0)+4608>>2]|0);Oa(t,(f[A>>2]|0)+8|0,t,t+(f[a+8>>2]<<1)|0,f[O>>2]|0);Oa(t,(f[A>>2]|0)+16|0,t,t+(f[a+4>>2]<<1)|0,f[x>>2]|0);n[t+((f[s>>2]|0)-1<<1)>>1]=n[t+((f[s>>2]|0)-1<<1)>>1]>>1;n[i>>1]=n[t+((f[s>>2]|0)-1<<1)>>1]|0;f[u>>2]=(f[s>>2]|0)-1;while(1){if((f[u>>2]|0)<=0)break;n[t+((f[u>>2]|0)-1<<1)>>1]=n[t+((f[u>>2]|0)-1<<1)>>1]>>1;L=t+(f[u>>2]<<1)|0;n[L>>1]=(n[L>>1]|0)-(n[t+((f[u>>2]|0)-1<<1)>>1]|0);f[u>>2]=(f[u>>2]|0)+-1}n[t>>1]=(n[t>>1]|0)-(n[(f[A>>2]|0)+56>>1]|0);n[(f[A>>2]|0)+56>>1]=n[i>>1]|0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=f[(f[v>>2]|0)+4608>>2]|0;f[s>>2]=L>>(Yf(4-(f[E>>2]|0)|0,3)|0);f[o>>2]=f[s>>2]>>2;f[l>>2]=0;f[w+(f[E>>2]<<2)>>2]=f[(f[A>>2]|0)+24+(f[E>>2]<<2)>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=4)break;f[p>>2]=0;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=n[t+((f[a+(f[E>>2]<<2)>>2]|0)+(f[u>>2]|0)+(f[l>>2]|0)<<1)>>1]>>3;f[p>>2]=(f[p>>2]|0)+(re((f[b>>2]&65535)<<16>>16,(f[b>>2]&65535)<<16>>16)|0);f[u>>2]=(f[u>>2]|0)+1}r=f[w+(f[E>>2]<<2)>>2]|0;e=f[p>>2]|0;if((f[c>>2]|0)<3){if(r+e&-2147483648|0)r=2147483647;else r=(f[w+(f[E>>2]<<2)>>2]|0)+(f[p>>2]|0)|0;f[w+(f[E>>2]<<2)>>2]=r}else{if(r+(e>>1)&-2147483648|0)r=2147483647;else r=(f[w+(f[E>>2]<<2)>>2]|0)+(f[p>>2]>>1)|0;f[w+(f[E>>2]<<2)>>2]=r}f[l>>2]=(f[l>>2]|0)+(f[o>>2]|0);f[c>>2]=(f[c>>2]|0)+1}f[(f[A>>2]|0)+24+(f[E>>2]<<2)>>2]=f[p>>2];f[E>>2]=(f[E>>2]|0)+1}Hf(w,f[A>>2]|0);f[p>>2]=0;f[k>>2]=0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;f[T>>2]=(f[w+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0);r=f[E>>2]|0;if((f[T>>2]|0)>0){e=f[w+(f[E>>2]<<2)>>2]|0;if(!(f[w+(r<<2)>>2]&-8388608))f[y+(f[E>>2]<<2)>>2]=(e<<8|0)/((f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0)+1|0)|0;else f[y+(f[E>>2]<<2)>>2]=(e|0)/((f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]>>8)+1|0)|0;f[m>>2]=(Ba(f[y+(f[E>>2]<<2)>>2]|0)|0)-1024;f[p>>2]=(f[p>>2]|0)+(re((f[m>>2]&65535)<<16>>16,(f[m>>2]&65535)<<16>>16)|0);if((f[T>>2]|0)<1048576){O=(Wf(f[T>>2]|0)|0)<<6>>16;O=re(O,(f[m>>2]&65535)<<16>>16)|0;L=(Wf(f[T>>2]|0)|0)<<6&65535;f[m>>2]=O+((re(L,(f[m>>2]&65535)<<16>>16)|0)>>16)}L=re(f[17944+(f[E>>2]<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[k>>2]=(f[k>>2]|0)+(L+((re(f[17944+(f[E>>2]<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16))}else f[y+(r<<2)>>2]=256;f[E>>2]=(f[E>>2]|0)+1}f[p>>2]=(f[p>>2]|0)/4|0;f[d>>2]=((Wf(f[p>>2]|0)|0)*3&65535)<<16>>16;f[_>>2]=mi(0+(((f[d>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;L=(mi(f[k>>2]|0)|0)-16384<<1;f[(f[v>>2]|0)+4744>>2]=L;f[T>>2]=0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=re((f[E>>2]|0)+1|0,(f[w+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0)>>4)|0;f[T>>2]=(f[T>>2]|0)+L;f[E>>2]=(f[E>>2]|0)+1}if((f[T>>2]|0)>0){if((f[T>>2]|0)<32768){r=f[T>>2]|0;if((f[(f[v>>2]|0)+4608>>2]|0)==((f[(f[v>>2]|0)+4600>>2]|0)*10|0)){if((r|0)>32767)r=32767;else r=(f[T>>2]|0)<-32768?-32768:f[T>>2]|0;f[T>>2]=r<<16}else{if((r|0)>65535)r=65535;else r=(f[T>>2]|0)<-65536?-65536:f[T>>2]|0;f[T>>2]=r<<15}f[T>>2]=Wf(f[T>>2]|0)|0;L=re(32768+(f[T>>2]|0)>>16,(f[_>>2]&65535)<<16>>16)|0;f[_>>2]=L+((re(32768+(f[T>>2]|0)&65535,(f[_>>2]&65535)<<16>>16)|0)>>16)}}else f[_>>2]=f[_>>2]>>1;L=Yf(f[_>>2]>>7,255)|0;f[(f[v>>2]|0)+4556>>2]=L;L=re(f[_>>2]>>16,(f[_>>2]&65535)<<16>>16)|0;f[R>>2]=0+((L+((re(f[_>>2]&65535,(f[_>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((f[(f[v>>2]|0)+4608>>2]|0)==((f[(f[v>>2]|0)+4600>>2]|0)*10|0))f[R>>2]=f[R>>2]>>1;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=re((f[y+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)>>16,(f[R>>2]&65535)<<16>>16)|0;L=(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)+(L+((re((f[y+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)&65535,(f[R>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]=L;f[m>>2]=((Ba(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)|0)-1024|0)*3;L=mi((f[m>>2]|0)-2048>>4)|0;f[(f[v>>2]|0)+4728+(f[E>>2]<<2)>>2]=L;f[E>>2]=(f[E>>2]|0)+1}L=f[S>>2]|0;de(f[g>>2]|0);h=M;return L|0}function Yf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Hf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;i=c+28|0;t=c+24|0;o=c+20|0;s=c+16|0;u=c+12|0;a=c+8|0;n=c+4|0;l=c;f[i>>2]=e;f[t>>2]=r;if((f[(f[t>>2]|0)+108>>2]|0)<1e3)f[l>>2]=32767/((f[(f[t>>2]|0)+108>>2]>>4)+1|0)|0;else f[l>>2]=0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=4)break;f[s>>2]=f[(f[t>>2]|0)+60+(f[o>>2]<<2)>>2];if((f[(f[i>>2]|0)+(f[o>>2]<<2)>>2]|0)+(f[(f[t>>2]|0)+92+(f[o>>2]<<2)>>2]|0)&-2147483648|0)e=2147483647;else e=(f[(f[i>>2]|0)+(f[o>>2]<<2)>>2]|0)+(f[(f[t>>2]|0)+92+(f[o>>2]<<2)>>2]|0)|0;f[u>>2]=e;f[a>>2]=2147483647/(f[u>>2]|0)|0;do{if((f[u>>2]|0)<=(f[s>>2]<<3|0))if((f[u>>2]|0)<(f[s>>2]|0)){f[n>>2]=1024;break}else{e=re(f[a>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;e=e+((re(f[a>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;e=e+(re(f[a>>2]|0,(f[s>>2]>>15)+1>>1)|0)>>16<<11;r=re(f[a>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=r+((re(f[a>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;f[n>>2]=e+((r+(re(f[a>>2]|0,(f[s>>2]>>15)+1>>1)|0)&65535)<<11>>16);break}else f[n>>2]=128}while(0);f[n>>2]=qf(f[n>>2]|0,f[l>>2]|0)|0;r=re((f[a>>2]|0)-(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)>>16,(f[n>>2]&65535)<<16>>16)|0;r=(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)+(r+((re((f[a>>2]|0)-(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)&65535,(f[n>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]=r;f[s>>2]=2147483647/(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)|0;f[s>>2]=(f[s>>2]|0)<16777215?f[s>>2]|0:16777215;f[(f[t>>2]|0)+60+(f[o>>2]<<2)>>2]=f[s>>2];f[o>>2]=(f[o>>2]|0)+1}u=(f[t>>2]|0)+108|0;f[u>>2]=(f[u>>2]|0)+1;h=c;return}function qf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Wf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Zf(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Zf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Vf(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Jf(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Vf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Jf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Gf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;n=o+12|0;i=o+8|0;a=o+4|0;t=o;f[n>>2]=e;f[i>>2]=r;f[a>>2]=f[(f[n>>2]|0)+4600>>2];f[t>>2]=((f[a>>2]&65535)<<16>>16)*1e3;if(!(f[t>>2]|0)){r=f[n>>2]|0;if((f[(f[n>>2]|0)+4596>>2]|0)<(f[(f[n>>2]|0)+4580>>2]|0))r=f[r+4596>>2]|0;else r=f[r+4580>>2]|0;f[t>>2]=r;f[a>>2]=(f[t>>2]|0)/1e3|0;a=f[a>>2]|0;h=o;return a|0}if(((f[t>>2]|0)<=(f[(f[n>>2]|0)+4580>>2]|0)?(f[t>>2]|0)<=(f[(f[n>>2]|0)+4588>>2]|0):0)?(f[t>>2]|0)>=(f[(f[n>>2]|0)+4592>>2]|0):0){if((f[(f[n>>2]|0)+16+8>>2]|0)>=256)f[(f[n>>2]|0)+16+12>>2]=0;if((f[(f[n>>2]|0)+4560>>2]|0)==0?(f[(f[i>>2]|0)+60>>2]|0)==0:0){a=f[a>>2]|0;h=o;return a|0}r=f[n>>2]|0;if((((f[(f[n>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0)>(f[(f[n>>2]|0)+4596>>2]|0)){if(!(f[r+16+12>>2]|0)){f[(f[n>>2]|0)+16+8>>2]=256;t=(f[n>>2]|0)+16|0;f[t>>2]=0;f[t+4>>2]=0}r=(f[n>>2]|0)+16|0;if(f[(f[i>>2]|0)+60>>2]|0){f[r+12>>2]=0;f[a>>2]=(f[(f[n>>2]|0)+4600>>2]|0)==16?12:8;a=f[a>>2]|0;h=o;return a|0}if((f[r+8>>2]|0)<=0){f[(f[i>>2]|0)+84>>2]=1;n=(f[i>>2]|0)+52|0;f[n>>2]=(f[n>>2]|0)-(((f[(f[i>>2]|0)+52>>2]|0)*5|0)/((f[(f[i>>2]|0)+24>>2]|0)+5|0)|0);a=f[a>>2]|0;h=o;return a|0}else{f[(f[n>>2]|0)+16+12>>2]=-2;a=f[a>>2]|0;h=o;return a|0}}if((((f[r+4600>>2]&65535)<<16>>16)*1e3|0)>=(f[(f[n>>2]|0)+4596>>2]|0)){if((f[(f[n>>2]|0)+16+12>>2]|0)>=0){a=f[a>>2]|0;h=o;return a|0}f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}r=f[n>>2]|0;if(f[(f[i>>2]|0)+60>>2]|0){f[a>>2]=(f[r+4600>>2]|0)==8?12:16;f[(f[n>>2]|0)+16+8>>2]=0;t=(f[n>>2]|0)+16|0;f[t>>2]=0;f[t+4>>2]=0;f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}if(!(f[r+16+12>>2]|0)){f[(f[i>>2]|0)+84>>2]=1;n=(f[i>>2]|0)+52|0;f[n>>2]=(f[n>>2]|0)-(((f[(f[i>>2]|0)+52>>2]|0)*5|0)/((f[(f[i>>2]|0)+24>>2]|0)+5|0)|0);a=f[a>>2]|0;h=o;return a|0}else{f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}}f[t>>2]=f[(f[n>>2]|0)+4580>>2];if((f[t>>2]|0)<(f[(f[n>>2]|0)+4588>>2]|0))r=f[t>>2]|0;else r=f[(f[n>>2]|0)+4588>>2]|0;f[t>>2]=r;if((f[t>>2]|0)>(f[(f[n>>2]|0)+4592>>2]|0))r=f[t>>2]|0;else r=f[(f[n>>2]|0)+4592>>2]|0;f[t>>2]=r;f[a>>2]=(f[t>>2]|0)/1e3|0;a=f[a>>2]|0;h=o;return a|0}function Kf(e,r,i,a,o,l,s,u,c){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;D=h;h=h+112|0;O=D+96|0;L=D+92|0;b=D+88|0;P=D+84|0;w=D+80|0;k=D+76|0;d=D+72|0;I=D+68|0;B=D+60|0;j=D+56|0;y=D+52|0;x=D+100|0;_=D+48|0;U=D+44|0;g=D+40|0;v=D+36|0;p=D+32|0;T=D+28|0;R=D+24|0;S=D+20|0;M=D+16|0;C=D+12|0;A=D+8|0;m=D+4|0;E=D;f[O>>2]=e;f[L>>2]=r;f[b>>2]=i;f[P>>2]=a;f[w>>2]=o;f[k>>2]=l;f[d>>2]=s;f[I>>2]=u;f[D+64>>2]=c;f[S>>2]=2147483647;f[C>>2]=0;f[j>>2]=0;while(1){if((f[j>>2]|0)>=3)break;f[E>>2]=51;f[_>>2]=f[17632+(f[j>>2]<<2)>>2];f[U>>2]=f[17644+(f[j>>2]<<2)>>2];f[g>>2]=f[17656+(f[j>>2]<<2)>>2];f[y>>2]=t[27263+(f[j>>2]|0)>>0];f[p>>2]=f[w>>2];f[v>>2]=f[O>>2];f[R>>2]=0;f[M>>2]=f[f[P>>2]>>2];f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[I>>2]|0))break;a=Fa(5333-(f[M>>2]|0)+896|0)|0;f[A>>2]=a-(f[E>>2]|0);Xf(x+(f[B>>2]|0)|0,T,m,f[v>>2]|0,f[p>>2]|0,f[U>>2]|0,f[g>>2]|0,f[_>>2]|0,f[k>>2]|0,f[A>>2]|0,f[y>>2]|0);if((f[R>>2]|0)+(f[T>>2]|0)&-2147483648|0)e=2147483647;else e=(f[R>>2]|0)+(f[T>>2]|0)|0;f[R>>2]=e;a=f[M>>2]|0;if(0>(a+(Ba((f[E>>2]|0)+(f[m>>2]|0)|0)|0)-896|0))e=0;else{e=f[M>>2]|0;e=e+(Ba((f[E>>2]|0)+(f[m>>2]|0)|0)|0)-896|0}f[M>>2]=e;f[v>>2]=(f[v>>2]|0)+10;f[p>>2]=(f[p>>2]|0)+100;f[B>>2]=(f[B>>2]|0)+1}f[R>>2]=2147483646<(f[R>>2]|0)?2147483646:f[R>>2]|0;if((f[R>>2]|0)<(f[S>>2]|0)){f[S>>2]=f[R>>2];t[f[b>>2]>>0]=f[j>>2];gs(f[L>>2]|0,x|0,f[I>>2]|0)|0;f[C>>2]=f[M>>2]}if(f[d>>2]|0?(f[R>>2]|0)<(n[12226]|0):0)break;f[j>>2]=(f[j>>2]|0)+1}f[U>>2]=f[17644+(t[f[b>>2]>>0]<<2)>>2];f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[I>>2]|0))break;f[j>>2]=0;while(1){e=f[B>>2]|0;if((f[j>>2]|0)>=5)break;n[(f[O>>2]|0)+(((f[B>>2]|0)*5|0)+(f[j>>2]|0)<<1)>>1]=t[(f[U>>2]|0)+(((t[(f[L>>2]|0)+e>>0]|0)*5|0)+(f[j>>2]|0))>>0]<<7;f[j>>2]=(f[j>>2]|0)+1}f[B>>2]=e+1}f[f[P>>2]>>2]=f[C>>2];h=D;return}function Xf(e,r,i,o,l,s,u,c,b,w,k){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;P=h;h=h+80|0;d=P+60|0;p=P+56|0;g=P+52|0;y=P+48|0;_=P+44|0;I=P+40|0;m=P+36|0;E=P+32|0;A=P+28|0;S=P+24|0;v=P+20|0;x=P+16|0;M=P+12|0;R=P+8|0;T=P+64|0;O=P+4|0;L=P;f[d>>2]=e;f[p>>2]=r;f[g>>2]=i;f[y>>2]=o;f[_>>2]=l;f[I>>2]=s;f[m>>2]=u;f[E>>2]=c;f[A>>2]=b;f[S>>2]=w;f[v>>2]=k;f[f[p>>2]>>2]=2147483647;f[R>>2]=f[I>>2];f[x>>2]=0;while(1){if((f[x>>2]|0)>=(f[v>>2]|0))break;f[M>>2]=a[(f[m>>2]|0)+(f[x>>2]|0)>>0];n[T>>1]=(n[f[y>>2]>>1]|0)-(t[f[R>>2]>>0]<<7);n[T+2>>1]=(n[(f[y>>2]|0)+2>>1]|0)-(t[(f[R>>2]|0)+1>>0]<<7);n[T+4>>1]=(n[(f[y>>2]|0)+4>>1]|0)-(t[(f[R>>2]|0)+2>>0]<<7);n[T+6>>1]=(n[(f[y>>2]|0)+6>>1]|0)-(t[(f[R>>2]|0)+3>>0]<<7);n[T+8>>1]=(n[(f[y>>2]|0)+8>>1]|0)-(t[(f[R>>2]|0)+4>>0]<<7);f[O>>2]=re((f[A>>2]&65535)<<16>>16,a[(f[E>>2]|0)+(f[x>>2]|0)>>0]|0)|0;if(((f[M>>2]|0)-(f[S>>2]|0)|0)>0)k=(f[M>>2]|0)-(f[S>>2]|0)|0;else k=0;f[O>>2]=(f[O>>2]|0)+(k<<10);I=re(f[(f[_>>2]|0)+4>>2]>>16,n[T+2>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+4>>2]&65535,n[T+2>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+8>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+8>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+12>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+12>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+16>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+16>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[f[_>>2]>>2]>>16,n[T>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[f[_>>2]>>2]&65535,n[T>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+28>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+28>>2]&65535,n[T+4>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+32>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+32>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+36>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+36>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+24>>2]>>16,n[T+2>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+24>>2]&65535,n[T+2>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+2>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+2>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+52>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+52>>2]&65535,n[T+6>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+56>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+56>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+48>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+48>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+4>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+76>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+76>>2]&65535,n[T+8>>1]|0)|0)>>16);f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+72>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+72>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+6>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+96>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+96>>2]&65535,n[T+8>>1]|0)|0)>>16);I=re(f[L>>2]>>16,n[T+8>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+8>>1]|0)|0)>>16));if((f[O>>2]|0)<(f[f[p>>2]>>2]|0)){f[f[p>>2]>>2]=f[O>>2];t[f[d>>2]>>0]=f[x>>2];f[f[g>>2]>>2]=f[M>>2]}f[R>>2]=(f[R>>2]|0)+5;f[x>>2]=(f[x>>2]|0)+1}h=P;return}function $f(e){e=e|0;var r=0,i=0,n=0,a=0,o=0,l=0,s=0,u=0;l=h;h=h+32|0;s=l+20|0;n=l+16|0;r=l+12|0;i=l+8|0;a=l+4|0;o=l;f[s>>2]=e;f[o>>2]=f[s>>2];if((t[(f[o>>2]|0)+4565>>0]|0)!=2){h=l;return}f[r>>2]=((f[(f[o>>2]|0)+4600>>2]|0)*1e3<<16|0)/(f[(f[o>>2]|0)+4568>>2]|0)|0;f[i>>2]=(Ba(f[r>>2]|0)|0)-2048;f[n>>2]=f[(f[o>>2]|0)+4728>>2];u=f[i>>2]|0;e=re(0-(f[n>>2]|0)<<2>>16,(f[n>>2]&65535)<<16>>16)|0;e=e+((re(0-(f[n>>2]|0)<<2&65535,(f[n>>2]&65535)<<16>>16)|0)>>16)>>16;r=f[i>>2]|0;r=re(e,(r-((Ba(3932160)|0)-2048)&65535)<<16>>16)|0;e=re(0-(f[n>>2]|0)<<2>>16,(f[n>>2]&65535)<<16>>16)|0;e=e+((re(0-(f[n>>2]|0)<<2&65535,(f[n>>2]&65535)<<16>>16)|0)>>16)&65535;s=f[i>>2]|0;f[i>>2]=u+(r+((re(e,(s-((Ba(3932160)|0)-2048)&65535)<<16>>16)|0)>>16));f[a>>2]=(f[i>>2]|0)-(f[(f[o>>2]|0)+8>>2]>>8);if((f[a>>2]|0)<0)f[a>>2]=(f[a>>2]|0)*3;if((f[a>>2]|0)>51)r=51;else r=(f[a>>2]|0)<-51?-51:f[a>>2]|0;f[a>>2]=r;u=((re((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0)>>16)*6554|0;u=(f[(f[o>>2]|0)+8>>2]|0)+(u+(((re((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0)&65535)*6554>>16))|0;f[(f[o>>2]|0)+8>>2]=u;u=(Ba(60)|0)<<8;u=(u|0)>((Ba(100)|0)<<8|0);r=f[(f[o>>2]|0)+8>>2]|0;do{if(u){if((r|0)>((Ba(60)|0)<<8|0)){r=(Ba(60)|0)<<8;break}u=f[(f[o>>2]|0)+8>>2]|0;if((u|0)<((Ba(100)|0)<<8|0)){r=(Ba(100)|0)<<8;break}else{r=f[(f[o>>2]|0)+8>>2]|0;break}}else{if((r|0)>((Ba(100)|0)<<8|0)){r=(Ba(100)|0)<<8;break}u=f[(f[o>>2]|0)+8>>2]|0;if((u|0)<((Ba(60)|0)<<8|0)){r=(Ba(60)|0)<<8;break}else{r=f[(f[o>>2]|0)+8>>2]|0;break}}}while(0);f[(f[o>>2]|0)+8>>2]=r;h=l;return}function Qf(e,r,i,l,s,u,c){e=e|0;r=r|0;i=i|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;j=h;h=h+288|0;b=j+64|0;w=j+60|0;k=j+56|0;d=j+52|0;p=j+48|0;v=j+44|0;g=j+40|0;M=j+36|0;B=j+32|0;O=j+28|0;S=j+24|0;I=j+20|0;R=j+16|0;E=j+12|0;U=j+232|0;C=j+200|0;_=j+168|0;A=j+136|0;m=j+104|0;P=j+264|0;T=j+72|0;L=j+8|0;x=j+4|0;y=j;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=l;f[p>>2]=s;f[v>>2]=u;f[g>>2]=c;fi(f[w>>2]|0,f[(f[k>>2]|0)+32>>2]|0,n[(f[k>>2]|0)+2>>1]|0);s=o[f[k>>2]>>1]|0;f[y>>2]=he()|0;u=h;h=h+((1*(s<<2)|0)+15&-16)|0;na(u,f[w>>2]|0,f[(f[k>>2]|0)+8>>2]|0,n[f[k>>2]>>1]|0,n[(f[k>>2]|0)+2>>1]|0);s=h;h=h+((1*(f[v>>2]<<2)|0)+15&-16)|0;Ei(u,s,n[f[k>>2]>>1]|0,f[v>>2]|0);u=h;h=h+((1*(f[v>>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[v>>2]<<4)|0)+15&-16)|0;f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[v>>2]|0))break;f[O>>2]=f[s+(f[B>>2]<<2)>>2];c=re(f[O>>2]|0,n[(f[k>>2]|0)+2>>1]|0)|0;f[L>>2]=(f[(f[k>>2]|0)+8>>2]|0)+c;f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;n[_+(f[M>>2]<<1)>>1]=(a[(f[L>>2]|0)+(f[M>>2]|0)>>0]&65535)<<7;n[U+(f[M>>2]<<1)>>1]=(n[(f[w>>2]|0)+(f[M>>2]<<1)>>1]|0)-(n[_+(f[M>>2]<<1)>>1]|0);f[M>>2]=(f[M>>2]|0)+1}li(A,_,n[(f[k>>2]|0)+2>>1]|0);f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;f[E>>2]=ea(n[A+(f[M>>2]<<1)>>1]<<16)|0;c=(re(n[U+(f[M>>2]<<1)>>1]|0,(f[E>>2]&65535)<<16>>16)|0)>>14&65535;n[C+(f[M>>2]<<1)>>1]=c;f[M>>2]=(f[M>>2]|0)+1}f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;n[m+(f[M>>2]<<1)>>1]=(n[(f[d>>2]|0)+(f[M>>2]<<1)>>1]<<5|0)/(n[A+(f[M>>2]<<1)>>1]|0)|0;f[M>>2]=(f[M>>2]|0)+1}fa(T,P,f[k>>2]|0,f[O>>2]|0);e=aa(r+(f[B>>2]<<4)|0,C,m,P,T,f[(f[k>>2]|0)+28>>2]|0,n[(f[k>>2]|0)+4>>1]|0,n[(f[k>>2]|0)+6>>1]|0,f[p>>2]|0,n[(f[k>>2]|0)+2>>1]|0)|0;f[u+(f[B>>2]<<2)>>2]=e;e=re(f[g>>2]>>1,n[f[k>>2]>>1]|0)|0;f[x>>2]=(f[(f[k>>2]|0)+12>>2]|0)+e;e=f[O>>2]|0;if(!(f[O>>2]|0))f[I>>2]=256-(a[(f[x>>2]|0)+e>>0]|0);else f[I>>2]=(a[(f[x>>2]|0)+(e-1)>>0]|0)-(a[(f[x>>2]|0)+(f[O>>2]|0)>>0]|0);f[R>>2]=1024-(Ba(f[I>>2]|0)|0);c=(f[u+(f[B>>2]<<2)>>2]|0)+(re((f[R>>2]&65535)<<16>>16,(f[p>>2]>>2&65535)<<16>>16)|0)|0;f[u+(f[B>>2]<<2)>>2]=c;f[B>>2]=(f[B>>2]|0)+1}Ei(u,S,f[v>>2]|0,1);t[f[b>>2]>>0]=f[s+(f[S>>2]<<2)>>2];gs((f[b>>2]|0)+1|0,r+(f[S>>2]<<4)|0,n[(f[k>>2]|0)+2>>1]|0)|0;Po(f[w>>2]|0,f[b>>2]|0,f[k>>2]|0);B=f[u>>2]|0;de(f[y>>2]|0);h=j;return B|0}function ea(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}ra(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function ra(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=ia(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(ta(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function ia(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ta(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function na(e,r,i,t,o){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+36|0;s=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;k=g+16|0;d=g+12|0;w=g+8|0;v=g+4|0;p=g;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=o;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;f[p>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;i=n[(f[s>>2]|0)+(f[d>>2]<<1)>>1]|0;r=f[u>>2]|0;f[u>>2]=r+1;f[w>>2]=i-(a[r>>0]<<7);f[v>>2]=re((f[w>>2]&65535)<<16>>16,(f[w>>2]&65535)<<16>>16)|0;r=n[(f[s>>2]|0)+((f[d>>2]|0)+1<<1)>>1]|0;i=f[u>>2]|0;f[u>>2]=i+1;f[w>>2]=r-(a[i>>0]<<7);f[v>>2]=(f[v>>2]|0)+(re((f[w>>2]&65535)<<16>>16,(f[w>>2]&65535)<<16>>16)|0);f[p>>2]=(f[p>>2]|0)+(f[v>>2]>>4);f[d>>2]=(f[d>>2]|0)+2}f[(f[l>>2]|0)+(f[k>>2]<<2)>>2]=f[p>>2];f[k>>2]=(f[k>>2]|0)+1}h=g;return}function fa(e,r,i,o){e=e|0;r=r|0;i=i|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+32|0;l=k+20|0;s=k+16|0;u=k+12|0;d=k+8|0;w=k+4|0;b=k+24|0;c=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[d>>2]=o;i=(re(f[d>>2]|0,n[(f[u>>2]|0)+2>>1]|0)|0)/2|0;f[c>>2]=(f[(f[u>>2]|0)+20>>2]|0)+i;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(n[(f[u>>2]|0)+2>>1]|0))break;d=f[c>>2]|0;f[c>>2]=d+1;t[b>>0]=t[d>>0]|0;n[(f[l>>2]|0)+(f[w>>2]<<1)>>1]=((a[b>>0]>>1&7)<<16>>16)*9;d=(f[w>>2]|0)+(re(a[b>>0]&1,(n[(f[u>>2]|0)+2>>1]|0)-1|0)|0)|0;t[(f[s>>2]|0)+(f[w>>2]|0)>>0]=t[(f[(f[u>>2]|0)+16>>2]|0)+d>>0]|0;n[(f[l>>2]|0)+((f[w>>2]|0)+1<<1)>>1]=((a[b>>0]>>5&7)<<16>>16)*9;d=(f[w>>2]|0)+(re(a[b>>0]>>4&1,(n[(f[u>>2]|0)+2>>1]|0)-1|0)|0)+1|0;t[(f[s>>2]|0)+((f[w>>2]|0)+1)>>0]=t[(f[(f[u>>2]|0)+16>>2]|0)+d>>0]|0;f[w>>2]=(f[w>>2]|0)+2}h=k;return}function aa(e,r,i,o,l,s,u,c,b,w){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0;Q=h;h=h+448|0;d=Q+352|0;p=Q+348|0;v=Q+344|0;g=Q+340|0;y=Q+336|0;_=Q+332|0;k=Q+328|0;m=Q+378|0;E=Q+324|0;A=Q+376|0;O=Q+320|0;j=Q+316|0;z=Q+312|0;B=Q+308|0;C=Q+304|0;I=Q+300|0;L=Q+296|0;$=Q+292|0;Z=Q+288|0;x=Q+284|0;Y=Q+280|0;q=Q+276|0;G=Q+272|0;K=Q+268|0;M=Q+264|0;N=Q+260|0;F=Q+256|0;D=Q+252|0;V=Q+248|0;U=Q+232|0;P=Q+384|0;J=Q+360|0;S=Q+200|0;T=Q+184|0;R=Q+168|0;X=Q+160|0;H=Q+80|0;W=Q;f[d>>2]=e;f[p>>2]=r;f[v>>2]=i;f[g>>2]=o;f[y>>2]=l;f[_>>2]=s;f[k>>2]=u;n[m>>1]=c;f[E>>2]=b;n[A>>1]=w;f[O>>2]=-10;while(1){if((f[O>>2]|0)>9)break;f[Y>>2]=f[O>>2]<<10;f[q>>2]=(f[Y>>2]|0)+1024;do{if((f[O>>2]|0)<=0){if(!(f[O>>2]|0)){f[q>>2]=(f[q>>2]|0)-102;break}r=(f[O>>2]|0)==-1;f[Y>>2]=(f[Y>>2]|0)+102;if(!r)f[q>>2]=(f[q>>2]|0)+102}else{f[Y>>2]=(f[Y>>2]|0)-102;f[q>>2]=(f[q>>2]|0)-102}}while(0);r=re(f[Y>>2]>>16,(f[k>>2]&65535)<<16>>16)|0;r=r+((re(f[Y>>2]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16)|0;f[H+((f[O>>2]|0)+10<<2)>>2]=r;r=re(f[q>>2]>>16,(f[k>>2]&65535)<<16>>16)|0;r=r+((re(f[q>>2]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16)|0;f[W+((f[O>>2]|0)+10<<2)>>2]=r;f[O>>2]=(f[O>>2]|0)+1}f[z>>2]=1;f[S>>2]=0;n[J>>1]=0;f[O>>2]=(n[A>>1]|0)-1;e:while(1){f[X>>2]=(f[_>>2]|0)+(n[(f[y>>2]|0)+(f[O>>2]<<1)>>1]|0);f[V>>2]=a[(f[g>>2]|0)+(f[O>>2]|0)>>0]<<8;f[L>>2]=n[(f[p>>2]|0)+(f[O>>2]<<1)>>1];f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[z>>2]|0))break;r=re(f[V>>2]>>16,n[J+(f[j>>2]<<1)>>1]|0)|0;f[Z>>2]=r+((re(f[V>>2]&65535,n[J+(f[j>>2]<<1)>>1]|0)|0)>>16);f[$>>2]=(f[L>>2]|0)-(f[Z>>2]|0);r=re(n[m>>1]>>16,(f[$>>2]&65535)<<16>>16)|0;f[B>>2]=r+((re(n[m>>1]&65535,(f[$>>2]&65535)<<16>>16)|0)>>16);if((f[B>>2]|0)>9)k=9;else k=(f[B>>2]|0)<-10?-10:f[B>>2]|0;f[B>>2]=k;t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]=f[B>>2];f[Y>>2]=f[H+((f[B>>2]|0)+10<<2)>>2];f[q>>2]=f[W+((f[B>>2]|0)+10<<2)>>2];f[Y>>2]=(f[Y>>2]|0)+(f[Z>>2]|0);f[q>>2]=(f[q>>2]|0)+(f[Z>>2]|0);n[J+(f[j>>2]<<1)>>1]=f[Y>>2];n[J+((f[j>>2]|0)+(f[z>>2]|0)<<1)>>1]=f[q>>2];l=f[B>>2]|0;do{if(((f[B>>2]|0)+1|0)>=4){k=f[B>>2]|0;if((l+1|0)==4){f[G>>2]=a[(f[X>>2]|0)+(k+4)>>0];f[K>>2]=280;break}else{f[G>>2]=108+(((k&65535)<<16>>16)*43|0);f[K>>2]=(f[G>>2]|0)+43;break}}else{k=f[B>>2]|0;if((l|0)>-4){f[G>>2]=a[(f[X>>2]|0)+(k+4)>>0];f[K>>2]=a[(f[X>>2]|0)+((f[B>>2]|0)+1+4)>>0];break}if((k|0)==-4){f[G>>2]=280;f[K>>2]=a[(f[X>>2]|0)+((f[B>>2]|0)+1+4)>>0];break}else{f[G>>2]=108+(re(-43,(f[B>>2]&65535)<<16>>16)|0);f[K>>2]=(f[G>>2]|0)-43;break}}}while(0);f[M>>2]=f[S+(f[j>>2]<<2)>>2];f[x>>2]=(f[L>>2]|0)-(f[Y>>2]|0);r=re((f[x>>2]&65535)<<16>>16,(f[x>>2]&65535)<<16>>16)|0;r=(f[M>>2]|0)+(re(r,n[(f[v>>2]|0)+(f[O>>2]<<1)>>1]|0)|0)|0;r=r+(re((f[E>>2]&65535)<<16>>16,(f[G>>2]&65535)<<16>>16)|0)|0;f[S+(f[j>>2]<<2)>>2]=r;f[x>>2]=(f[L>>2]|0)-(f[q>>2]|0);r=re((f[x>>2]&65535)<<16>>16,(f[x>>2]&65535)<<16>>16)|0;r=(f[M>>2]|0)+(re(r,n[(f[v>>2]|0)+(f[O>>2]<<1)>>1]|0)|0)|0;r=r+(re((f[E>>2]&65535)<<16>>16,(f[K>>2]&65535)<<16>>16)|0)|0;f[S+((f[j>>2]|0)+(f[z>>2]|0)<<2)>>2]=r;f[j>>2]=(f[j>>2]|0)+1}r:do{if((f[z>>2]|0)<=2){f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[z>>2]|0))break;t[P+((f[j>>2]|0)+(f[z>>2]|0)<<4)+(f[O>>2]|0)>>0]=(t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]|0)+1;f[j>>2]=(f[j>>2]|0)+1}f[z>>2]=f[z>>2]<<1;f[j>>2]=f[z>>2];while(1){if((f[j>>2]|0)>=4)break r;t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]=t[P+((f[j>>2]|0)-(f[z>>2]|0)<<4)+(f[O>>2]|0)>>0]|0;f[j>>2]=(f[j>>2]|0)+1}}else{if((f[O>>2]|0)<=0)break e;f[j>>2]=0;while(1){if((f[j>>2]|0)>=4)break;k=f[S+(f[j>>2]<<2)>>2]|0;l=f[j>>2]|0;if((f[S+(f[j>>2]<<2)>>2]|0)>(f[S+((f[j>>2]|0)+4<<2)>>2]|0)){f[R+(l<<2)>>2]=k;f[T+(f[j>>2]<<2)>>2]=f[S+((f[j>>2]|0)+4<<2)>>2];f[S+(f[j>>2]<<2)>>2]=f[T+(f[j>>2]<<2)>>2];f[S+((f[j>>2]|0)+4<<2)>>2]=f[R+(f[j>>2]<<2)>>2];f[Y>>2]=n[J+(f[j>>2]<<1)>>1];n[J+(f[j>>2]<<1)>>1]=n[J+((f[j>>2]|0)+4<<1)>>1]|0;n[J+((f[j>>2]|0)+4<<1)>>1]=f[Y>>2];f[U+(f[j>>2]<<2)>>2]=(f[j>>2]|0)+4}else{f[T+(l<<2)>>2]=k;f[R+(f[j>>2]<<2)>>2]=f[S+((f[j>>2]|0)+4<<2)>>2];f[U+(f[j>>2]<<2)>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}while(1){f[F>>2]=2147483647;f[D>>2]=0;f[C>>2]=0;f[I>>2]=0;f[j>>2]=0;while(1){k=f[F>>2]|0;if((f[j>>2]|0)>=4)break;if((k|0)>(f[R+(f[j>>2]<<2)>>2]|0)){f[F>>2]=f[R+(f[j>>2]<<2)>>2];f[C>>2]=f[j>>2]}if((f[D>>2]|0)<(f[T+(f[j>>2]<<2)>>2]|0)){f[D>>2]=f[T+(f[j>>2]<<2)>>2];f[I>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}if((k|0)>=(f[D>>2]|0))break;f[U+(f[I>>2]<<2)>>2]=f[U+(f[C>>2]<<2)>>2]^4;f[S+(f[I>>2]<<2)>>2]=f[S+((f[C>>2]|0)+4<<2)>>2];n[J+(f[I>>2]<<1)>>1]=n[J+((f[C>>2]|0)+4<<1)>>1]|0;f[T+(f[I>>2]<<2)>>2]=0;f[R+(f[C>>2]<<2)>>2]=2147483647;k=P+(f[I>>2]<<4)|0;l=P+(f[C>>2]<<4)|0;s=k+16|0;do{t[k>>0]=t[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(s|0))}f[j>>2]=0;while(1){if((f[j>>2]|0)>=4)break r;r=P+(f[j>>2]<<4)+(f[O>>2]|0)|0;t[r>>0]=(t[r>>0]|0)+(f[U+(f[j>>2]<<2)>>2]>>2);f[j>>2]=(f[j>>2]|0)+1}}}while(0);f[O>>2]=(f[O>>2]|0)+-1}f[B>>2]=0;f[N>>2]=2147483647;f[j>>2]=0;while(1){if((f[j>>2]|0)>=8)break;if((f[N>>2]|0)>(f[S+(f[j>>2]<<2)>>2]|0)){f[N>>2]=f[S+(f[j>>2]<<2)>>2];f[B>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}f[j>>2]=0;while(1){if((f[j>>2]|0)>=(n[A>>1]|0))break;t[(f[d>>2]|0)+(f[j>>2]|0)>>0]=t[P+((f[B>>2]&3)<<4)+(f[j>>2]|0)>>0]|0;f[j>>2]=(f[j>>2]|0)+1}$=f[d>>2]|0;t[$>>0]=(t[$>>0]|0)+(f[B>>2]>>2);h=Q;return f[N>>2]|0}function oa(e,r,i,a){e=e|0;r=r|0;i=i|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+128|0;o=g+28|0;l=g+24|0;s=g+20|0;u=g+16|0;w=g+12|0;b=g+8|0;c=g+4|0;k=g;d=g+96|0;v=g+64|0;p=g+32|0;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=a;e=re(-5,(f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16)|0;f[c>>2]=3146+(e+(((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16)*59246>>16));if((f[(f[o>>2]|0)+4604>>2]|0)==2)f[c>>2]=(f[c>>2]|0)+(f[c>>2]>>1);li(v,f[s>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);if((f[(f[o>>2]|0)+4656>>2]|0)==1)r=(t[(f[o>>2]|0)+4768+31>>0]|0)<4;else r=0;f[b>>2]=r&1;e:do{if(f[b>>2]|0){xo(d,f[u>>2]|0,f[s>>2]|0,t[(f[o>>2]|0)+4768+31>>0]|0,f[(f[o>>2]|0)+4664>>2]|0);li(p,d,f[(f[o>>2]|0)+4664>>2]|0);f[k>>2]=(re(t[(f[o>>2]|0)+4768+31>>0]<<16>>16,t[(f[o>>2]|0)+4768+31>>0]<<16>>16)|0)<<11;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[o>>2]|0)+4664>>2]|0))break e;e=re(n[p+(f[w>>2]<<1)>>1]>>16,(f[k>>2]&65535)<<16>>16)|0;e=(n[v+(f[w>>2]<<1)>>1]>>1)+(e+((re(n[p+(f[w>>2]<<1)>>1]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16))&65535;n[v+(f[w>>2]<<1)>>1]=e;f[w>>2]=(f[w>>2]|0)+1}}}while(0);Qf((f[o>>2]|0)+4768+8|0,f[s>>2]|0,f[(f[o>>2]|0)+4724>>2]|0,v,f[c>>2]|0,f[(f[o>>2]|0)+4692>>2]|0,t[(f[o>>2]|0)+4768+29>>0]|0)|0;Za((f[l>>2]|0)+32|0,f[s>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);if(f[b>>2]|0){xo(d,f[u>>2]|0,f[s>>2]|0,t[(f[o>>2]|0)+4768+31>>0]|0,f[(f[o>>2]|0)+4664>>2]|0);Za(f[l>>2]|0,d,f[(f[o>>2]|0)+4664>>2]|0);h=g;return}else{gs(f[l>>2]|0,(f[l>>2]|0)+32|0,f[(f[o>>2]|0)+4664>>2]<<1|0)|0;h=g;return}}function la(e,r,i,a,o,l,s,u,c,b,w){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0;V=h;h=h+144|0;U=V+128|0;k=V+124|0;D=V+120|0;m=V+116|0;E=V+112|0;A=V+108|0;S=V+104|0;p=V+100|0;R=V+96|0;L=V+92|0;B=V+88|0;F=V+84|0;_=V+80|0;T=V+76|0;P=V+72|0;I=V+68|0;q=V+64|0;d=V+60|0;O=V+56|0;H=V+48|0;z=V+44|0;Y=V+40|0;g=V+36|0;v=V+32|0;M=V+28|0;y=V+24|0;x=V+20|0;Z=V+16|0;W=V+12|0;C=V+8|0;N=V+4|0;j=V;f[U>>2]=e;f[k>>2]=r;f[D>>2]=i;f[m>>2]=a;f[E>>2]=o;f[A>>2]=l;f[S>>2]=s;f[p>>2]=u;f[R>>2]=c;f[L>>2]=b;f[B>>2]=w;f[N>>2]=(f[k>>2]|0)+-4;i=(f[B>>2]|0)+2|0;f[j>>2]=he()|0;l=h;h=h+((1*(i<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=((f[B>>2]|0)+2|0))break;f[q>>2]=(n[(f[k>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0)+(n[(f[D>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0);f[d>>2]=(n[(f[k>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0)-(n[(f[D>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0);n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]=(f[q>>2]>>1)+(f[q>>2]&1);if(((f[d>>2]>>1)+(f[d>>2]&1)|0)<=32767)if(((f[d>>2]>>1)+(f[d>>2]&1)|0)<-32768)w=-32768;else w=(f[d>>2]>>1)+(f[d>>2]&1)|0;else w=32767;n[l+(f[F>>2]<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}a=f[N>>2]|0;o=(f[U>>2]|0)+4|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=(f[U>>2]|0)+8|0;n[l>>1]=n[a>>1]|0;n[l+2>>1]=n[a+2>>1]|0;a=(f[U>>2]|0)+4|0;o=(f[N>>2]|0)+(f[B>>2]<<1)|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=(f[U>>2]|0)+8|0;o=l+(f[B>>2]<<1)|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;o=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=((n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;n[a+(f[F>>2]<<1)>>1]=f[q>>2];n[o+(f[F>>2]<<1)>>1]=(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]|0)-(f[q>>2]|0);f[F>>2]=(f[F>>2]|0)+1}w=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;b=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=((n[l+(f[F>>2]<<1)>>1]|0)+(n[l+((f[F>>2]|0)+2<<1)>>1]|0)+(n[l+((f[F>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;n[w+(f[F>>2]<<1)>>1]=f[q>>2];n[b+(f[F>>2]<<1)>>1]=(n[l+((f[F>>2]|0)+1<<1)>>1]|0)-(f[q>>2]|0);f[F>>2]=(f[F>>2]|0)+1}f[_>>2]=(f[B>>2]|0)==((f[L>>2]|0)*10|0)&1;f[O>>2]=f[_>>2]|0?328:655;d=(re((f[p>>2]&65535)<<16>>16,(f[p>>2]&65535)<<16>>16)|0)>>16;d=re(d,(f[O>>2]&65535)<<16>>16)|0;p=(re((f[p>>2]&65535)<<16>>16,(f[p>>2]&65535)<<16>>16)|0)&65535;f[O>>2]=d+((re(p,(f[O>>2]&65535)<<16>>16)|0)>>16);f[H>>2]=Oi(g,a,w,(f[U>>2]|0)+12|0,f[B>>2]|0,f[O>>2]|0)|0;f[H+4>>2]=Oi(v,o,b,(f[U>>2]|0)+12+8|0,f[B>>2]|0,f[O>>2]|0)|0;f[M>>2]=(f[v>>2]|0)+(((f[g>>2]&65535)<<16>>16)*3|0);f[M>>2]=(f[M>>2]|0)<65536?f[M>>2]|0:65536;_=(f[S>>2]|0)-(f[_>>2]|0?1200:600)|0;f[S>>2]=_;f[S>>2]=(f[S>>2]|0)<1?1:_;f[x>>2]=2e3+(((f[L>>2]&65535)<<16>>16)*900|0);f[y>>2]=(f[M>>2]|0)*3;_=sa(f[S>>2]|0,851968+(f[y>>2]|0)|0,19)|0;f[f[A>>2]>>2]=_;if((f[f[A>>2]>>2]|0)<(f[x>>2]|0)){f[f[A>>2]>>2]=f[x>>2];f[(f[A>>2]|0)+4>>2]=(f[S>>2]|0)-(f[f[A>>2]>>2]|0);_=re(65536+(f[y>>2]|0)>>16,(f[x>>2]&65535)<<16>>16)|0;f[Z>>2]=sa((f[(f[A>>2]|0)+4>>2]<<1)-(f[x>>2]|0)|0,_+((re(65536+(f[y>>2]|0)&65535,(f[x>>2]&65535)<<16>>16)|0)>>16)|0,16)|0;if((f[Z>>2]|0)>16384)w=16384;else w=(f[Z>>2]|0)<0?0:f[Z>>2]|0;f[Z>>2]=w}else{f[(f[A>>2]|0)+4>>2]=(f[S>>2]|0)-(f[f[A>>2]>>2]|0);f[Z>>2]=16384}_=re((f[Z>>2]|0)-(n[(f[U>>2]|0)+28>>1]|0)>>16,(f[O>>2]&65535)<<16>>16)|0;O=(n[(f[U>>2]|0)+28>>1]|0)+(_+((re((f[Z>>2]|0)-(n[(f[U>>2]|0)+28>>1]|0)&65535,(f[O>>2]&65535)<<16>>16)|0)>>16))&65535;n[(f[U>>2]|0)+28>>1]=O;t[f[E>>2]>>0]=0;e:do{if(!(f[R>>2]|0)){do{if(!(n[(f[U>>2]|0)+30>>1]|0)){if((f[S>>2]<<3|0)>=((f[x>>2]|0)*13|0)?(O=re(f[M>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0,(O+((re(f[M>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16)|0)>=819):0)break;f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[f[A>>2]>>2]=f[S>>2];f[(f[A>>2]|0)+4>>2]=0;t[f[E>>2]>>0]=1;break e}}while(0);do{if(n[(f[U>>2]|0)+30>>1]|0){if((f[S>>2]<<3|0)>=((f[x>>2]|0)*11|0)?(O=re(f[M>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0,(O+((re(f[M>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16)|0)>=328):0)break;f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;break e}}while(0);if((n[(f[U>>2]|0)+28>>1]|0)>15565){ji(H,f[m>>2]|0);f[Z>>2]=16384;break}else{f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=n[(f[U>>2]|0)+28>>1];break}}else{f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;ji(H,f[m>>2]|0)}}while(0);do{if((t[f[E>>2]>>0]|0)==1){O=(f[U>>2]|0)+32|0;n[O>>1]=(n[O>>1]|0)+((f[B>>2]|0)-(f[L>>2]<<3));if((n[(f[U>>2]|0)+32>>1]|0)<((f[L>>2]|0)*5|0)){t[f[E>>2]>>0]=0;break}else{n[(f[U>>2]|0)+32>>1]=1e4;break}}else n[(f[U>>2]|0)+32>>1]=0}while(0);if((t[f[E>>2]>>0]|0)==0?(f[(f[A>>2]|0)+4>>2]|0)<1:0){f[(f[A>>2]|0)+4>>2]=1;O=ha(1,(f[S>>2]|0)-(f[(f[A>>2]|0)+4>>2]|0)|0)|0;f[f[A>>2]>>2]=O}f[z>>2]=0-(n[f[U>>2]>>1]|0);f[Y>>2]=0-(n[(f[U>>2]|0)+2>>1]|0);f[W>>2]=n[(f[U>>2]|0)+30>>1]<<10;f[T>>2]=65536/(f[L>>2]<<3|0)|0;f[P>>2]=0-(((re(((f[H>>2]|0)-(n[f[U>>2]>>1]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0)>>15)+1>>1);f[I>>2]=0-(((re(((f[H+4>>2]|0)-(n[(f[U>>2]|0)+2>>1]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0)>>15)+1>>1);O=re((f[Z>>2]|0)-(n[(f[U>>2]|0)+30>>1]|0)>>16,(f[T>>2]&65535)<<16>>16)|0;f[C>>2]=O+((re((f[Z>>2]|0)-(n[(f[U>>2]|0)+30>>1]|0)&65535,(f[T>>2]&65535)<<16>>16)|0)>>16)<<10;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[L>>2]<<3|0))break;f[z>>2]=(f[z>>2]|0)+(f[P>>2]|0);f[Y>>2]=(f[Y>>2]|0)+(f[I>>2]|0);f[W>>2]=(f[W>>2]|0)+(f[C>>2]|0);f[q>>2]=(n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)<<9;x=re(f[W>>2]>>16,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0;x=x+((re(f[W>>2]&65535,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;O=re(f[q>>2]>>16,(f[z>>2]&65535)<<16>>16)|0;f[q>>2]=x+(O+((re(f[q>>2]&65535,(f[z>>2]&65535)<<16>>16)|0)>>16));O=re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11>>16,(f[Y>>2]&65535)<<16>>16)|0;f[q>>2]=(f[q>>2]|0)+(O+((re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));if(((f[q>>2]>>7)+1>>1|0)<=32767)if(((f[q>>2]>>7)+1>>1|0)<-32768)w=-32768;else w=(f[q>>2]>>7)+1>>1;else w=32767;n[(f[D>>2]|0)+((f[F>>2]|0)-1<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}f[z>>2]=0-(f[H>>2]|0);f[Y>>2]=0-(f[H+4>>2]|0);f[W>>2]=f[Z>>2]<<10;f[F>>2]=f[L>>2]<<3;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=(n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)<<9;I=re(f[W>>2]>>16,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0;I=I+((re(f[W>>2]&65535,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;C=re(f[q>>2]>>16,(f[z>>2]&65535)<<16>>16)|0;f[q>>2]=I+(C+((re(f[q>>2]&65535,(f[z>>2]&65535)<<16>>16)|0)>>16));C=re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11>>16,(f[Y>>2]&65535)<<16>>16)|0;f[q>>2]=(f[q>>2]|0)+(C+((re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));if(((f[q>>2]>>7)+1>>1|0)<=32767)if(((f[q>>2]>>7)+1>>1|0)<-32768)w=-32768;else w=(f[q>>2]>>7)+1>>1;else w=32767;n[(f[D>>2]|0)+((f[F>>2]|0)-1<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}n[f[U>>2]>>1]=f[H>>2];n[(f[U>>2]|0)+2>>1]=f[H+4>>2];n[(f[U>>2]|0)+30>>1]=f[Z>>2];de(f[j>>2]|0);h=V;return}function sa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(ua((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(ua((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function ua(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ha(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function ca(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;m=h;h=h+64|0;c=m+52|0;d=m+48|0;p=m+44|0;b=m+40|0;l=m+36|0;v=m+32|0;y=m+28|0;E=m+24|0;s=m+20|0;u=m+16|0;_=m+12|0;g=m+8|0;w=m+4|0;k=m;f[c>>2]=e;f[d>>2]=r;f[p>>2]=i;f[b>>2]=t;f[l>>2]=a;f[v>>2]=o;i=f[d>>2]|0;r=(f[c>>2]|0)+4|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=f[p>>2]|0;r=(f[c>>2]|0)+8|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=(f[c>>2]|0)+4|0;r=(f[d>>2]|0)+(f[v>>2]<<1)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=(f[c>>2]|0)+8|0;r=(f[p>>2]|0)+(f[v>>2]<<1)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;f[w>>2]=n[f[c>>2]>>1];f[k>>2]=n[(f[c>>2]|0)+2>>1];f[E>>2]=65536/(f[l>>2]<<3|0)|0;f[s>>2]=((re(((f[f[b>>2]>>2]|0)-(n[f[c>>2]>>1]|0)&65535)<<16>>16,(f[E>>2]&65535)<<16>>16)|0)>>15)+1>>1;f[u>>2]=((re(((f[(f[b>>2]|0)+4>>2]|0)-(n[(f[c>>2]|0)+2>>1]|0)&65535)<<16>>16,(f[E>>2]&65535)<<16>>16)|0)>>15)+1>>1;f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[l>>2]<<3|0))break;f[w>>2]=(f[w>>2]|0)+(f[s>>2]|0);f[k>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[_>>2]=(n[(f[d>>2]|0)+(f[y>>2]<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+2<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<1)<<9;E=re(f[_>>2]>>16,(f[w>>2]&65535)<<16>>16)|0;f[_>>2]=(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<8)+(E+((re(f[_>>2]&65535,(f[w>>2]&65535)<<16>>16)|0)>>16));E=re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11>>16,(f[k>>2]&65535)<<16>>16)|0;f[_>>2]=(f[_>>2]|0)+(E+((re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11&65535,(f[k>>2]&65535)<<16>>16)|0)>>16));if(((f[_>>2]>>7)+1>>1|0)<=32767)if(((f[_>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(f[_>>2]>>7)+1>>1;else o=32767;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}f[w>>2]=f[f[b>>2]>>2];f[k>>2]=f[(f[b>>2]|0)+4>>2];f[y>>2]=f[l>>2]<<3;while(1){if((f[y>>2]|0)>=(f[v>>2]|0))break;f[_>>2]=(n[(f[d>>2]|0)+(f[y>>2]<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+2<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<1)<<9;E=re(f[_>>2]>>16,(f[w>>2]&65535)<<16>>16)|0;f[_>>2]=(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<8)+(E+((re(f[_>>2]&65535,(f[w>>2]&65535)<<16>>16)|0)>>16));E=re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11>>16,(f[k>>2]&65535)<<16>>16)|0;f[_>>2]=(f[_>>2]|0)+(E+((re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11&65535,(f[k>>2]&65535)<<16>>16)|0)>>16));if(((f[_>>2]>>7)+1>>1|0)<=32767)if(((f[_>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(f[_>>2]>>7)+1>>1;else o=32767;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}n[f[c>>2]>>1]=f[f[b>>2]>>2];n[(f[c>>2]|0)+2>>1]=f[(f[b>>2]|0)+4>>2];f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[v>>2]|0))break;f[_>>2]=(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0)+(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0);f[g>>2]=(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0)-(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0);if((f[_>>2]|0)>32767)o=32767;else o=(f[_>>2]|0)<-32768?-32768:f[_>>2]|0;n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;if((f[g>>2]|0)>32767)o=32767;else o=(f[g>>2]|0)<-32768?-32768:f[g>>2]|0;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}h=m;return}function ba(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+4|0;i=n;f[i>>2]=e;if(!(((((((f[(f[i>>2]|0)+8>>2]|0)!=8e3?(f[(f[i>>2]|0)+8>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=16e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=24e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=32e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=44100:0)?(f[(f[i>>2]|0)+8>>2]|0)!=48e3:0))t=8;do{if((t|0)==8){if(((f[(f[i>>2]|0)+20>>2]|0)!=8e3?(f[(f[i>>2]|0)+20>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+20>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+12>>2]|0)!=8e3?(f[(f[i>>2]|0)+12>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+12>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+16>>2]|0)!=8e3?(f[(f[i>>2]|0)+16>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+16>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+16>>2]|0)<=(f[(f[i>>2]|0)+20>>2]|0)?(f[(f[i>>2]|0)+12>>2]|0)>=(f[(f[i>>2]|0)+20>>2]|0):0)?(f[(f[i>>2]|0)+16>>2]|0)<=(f[(f[i>>2]|0)+12>>2]|0):0){if((((f[(f[i>>2]|0)+24>>2]|0)!=10?(f[(f[i>>2]|0)+24>>2]|0)!=20:0)?(f[(f[i>>2]|0)+24>>2]|0)!=40:0)?(f[(f[i>>2]|0)+24>>2]|0)!=60:0){f[r>>2]=-103;t=f[r>>2]|0;h=n;return t|0}if((f[(f[i>>2]|0)+32>>2]|0)>=0?(f[(f[i>>2]|0)+32>>2]|0)<=100:0){if((f[(f[i>>2]|0)+44>>2]|0)>=0?(f[(f[i>>2]|0)+44>>2]|0)<=1:0){if((f[(f[i>>2]|0)+48>>2]|0)>=0?(f[(f[i>>2]|0)+48>>2]|0)<=1:0){do{if((f[(f[i>>2]|0)+40>>2]|0)>=0){if((f[(f[i>>2]|0)+40>>2]|0)>1)break;do{if((f[f[i>>2]>>2]|0)>=1){if((f[f[i>>2]>>2]|0)>2)break;do{if((f[(f[i>>2]|0)+4>>2]|0)>=1){if((f[(f[i>>2]|0)+4>>2]|0)>2)break;if((f[(f[i>>2]|0)+4>>2]|0)>(f[f[i>>2]>>2]|0)){f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}do{if((f[(f[i>>2]|0)+36>>2]|0)>=0){if((f[(f[i>>2]|0)+36>>2]|0)>10)break;f[r>>2]=0;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-106;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-107;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-109;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-108;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-105;t=f[r>>2]|0;h=n;return t|0}}}while(0);f[r>>2]=-102;t=f[r>>2]|0;h=n;return t|0}function wa(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;i=c+20|0;t=c+16|0;o=c+12|0;s=c+8|0;a=c+4|0;l=c;f[i>>2]=e;f[t>>2]=r;f[s>>2]=0;if((f[t>>2]|0)>8e4)r=8e4;else r=(f[t>>2]|0)<5e3?5e3:f[t>>2]|0;f[t>>2]=r;if((f[t>>2]|0)==(f[(f[i>>2]|0)+4632>>2]|0)){u=f[s>>2]|0;h=c;return u|0}f[(f[i>>2]|0)+4632>>2]=f[t>>2];do{if((f[(f[i>>2]|0)+4600>>2]|0)!=8)if((f[(f[i>>2]|0)+4600>>2]|0)==12){f[l>>2]=17772;break}else{f[l>>2]=17804;break}else f[l>>2]=17740}while(0);if((f[(f[i>>2]|0)+4604>>2]|0)==2)f[t>>2]=(f[t>>2]|0)-2200;f[o>>2]=1;while(1){if((f[o>>2]|0)>=8){u=16;break}if((f[t>>2]|0)<=(f[(f[l>>2]|0)+(f[o>>2]<<2)>>2]|0))break;f[o>>2]=(f[o>>2]|0)+1}if((u|0)==16){u=f[s>>2]|0;h=c;return u|0}f[a>>2]=((f[t>>2]|0)-(f[(f[l>>2]|0)+((f[o>>2]|0)-1<<2)>>2]|0)<<6|0)/((f[(f[l>>2]|0)+(f[o>>2]<<2)>>2]|0)-(f[(f[l>>2]|0)+((f[o>>2]|0)-1<<2)>>2]|0)|0)|0;u=(n[24510+((f[o>>2]|0)-1<<1)>>1]<<6)+(re(f[a>>2]|0,(n[24510+(f[o>>2]<<1)>>1]|0)-(n[24510+((f[o>>2]|0)-1<<1)>>1]|0)|0)|0)|0;f[(f[i>>2]|0)+4748>>2]=u;u=f[s>>2]|0;h=c;return u|0}function ka(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;f[i>>2]=0;vs(f[n>>2]|0,0,12240)|0;f[(f[n>>2]|0)+5124>>2]=f[a>>2];e=(Ba(3932160)|0)-2048<<8;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+12>>2]=f[(f[n>>2]|0)+8>>2];f[(f[n>>2]|0)+4696>>2]=1;e=Nf((f[n>>2]|0)+32|0)|0;f[i>>2]=(f[i>>2]|0)+e;h=t;return f[i>>2]|0}function da(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;k=h;h=h+48|0;o=k+32|0;l=k+28|0;s=k+24|0;u=k+20|0;p=k+16|0;d=k+12|0;c=k+8|0;b=k+4|0;w=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[p>>2]=t;f[d>>2]=n;f[c>>2]=a;f[w>>2]=0;f[(f[l>>2]|0)+6108>>2]=f[(f[s>>2]|0)+44>>2];f[(f[l>>2]|0)+4708>>2]=f[(f[s>>2]|0)+48>>2];f[(f[l>>2]|0)+4580>>2]=f[(f[s>>2]|0)+8>>2];f[(f[l>>2]|0)+4588>>2]=f[(f[s>>2]|0)+12>>2];f[(f[l>>2]|0)+4592>>2]=f[(f[s>>2]|0)+16>>2];f[(f[l>>2]|0)+4596>>2]=f[(f[s>>2]|0)+20>>2];f[(f[l>>2]|0)+6120>>2]=f[(f[s>>2]|0)+40>>2];f[(f[l>>2]|0)+5784>>2]=f[f[s>>2]>>2];f[(f[l>>2]|0)+5788>>2]=f[(f[s>>2]|0)+4>>2];f[(f[l>>2]|0)+4560>>2]=f[p>>2];f[(f[l>>2]|0)+5792>>2]=f[d>>2];if(f[(f[l>>2]|0)+4700>>2]|0?(f[(f[l>>2]|0)+4712>>2]|0)==0:0){if((f[(f[l>>2]|0)+4580>>2]|0)!=(f[(f[l>>2]|0)+4584>>2]|0)?(f[(f[l>>2]|0)+4600>>2]|0)>0:0){p=pa(f[l>>2]|0,f[(f[l>>2]|0)+4600>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p}f[o>>2]=f[w>>2];p=f[o>>2]|0;h=k;return p|0}f[b>>2]=Gf(f[l>>2]|0,f[s>>2]|0)|0;if(f[c>>2]|0)f[b>>2]=f[c>>2];p=pa(f[l>>2]|0,f[b>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;p=ya(f[l>>2]|0,f[b>>2]|0,f[(f[s>>2]|0)+24>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;p=_a(f[l>>2]|0,f[(f[s>>2]|0)+36>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;f[(f[l>>2]|0)+4640>>2]=f[(f[s>>2]|0)+32>>2];p=Ea(f[l>>2]|0,f[u>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;f[(f[l>>2]|0)+4700>>2]=1;f[o>>2]=f[w>>2];p=f[o>>2]|0;h=k;return p|0}function pa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+336|0;i=b+328|0;t=b+324|0;u=b+320|0;l=b+316|0;a=b+312|0;s=b+308|0;o=b+304|0;n=b+300|0;c=b;f[i>>2]=e;f[t>>2]=r;f[u>>2]=0;if((f[(f[i>>2]|0)+4600>>2]|0)==(f[t>>2]|0)?(f[(f[i>>2]|0)+4584>>2]|0)==(f[(f[i>>2]|0)+4580>>2]|0):0){s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}r=f[i>>2]|0;if(!(f[(f[i>>2]|0)+4600>>2]|0)){s=hi(r+5808|0,f[(f[i>>2]|0)+4580>>2]|0,(f[t>>2]|0)*1e3|0,1)|0;f[u>>2]=(f[u>>2]|0)+s;s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}else{f[o>>2]=((f[r+4604>>2]|0)*5<<1)+5;f[s>>2]=re(f[o>>2]|0,f[(f[i>>2]|0)+4600>>2]|0)|0;f[l>>2]=re(f[o>>2]|0,f[t>>2]|0)|0;r=(f[s>>2]|0)>(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0;f[n>>2]=he()|0;e=h;h=h+((1*(r<<1)|0)+15&-16)|0;va(e,(f[i>>2]|0)+9356|0,f[s>>2]|0);r=hi(c,((f[(f[i>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0,f[(f[i>>2]|0)+4580>>2]|0,0)|0;f[u>>2]=(f[u>>2]|0)+r;f[a>>2]=re(f[o>>2]|0,(f[(f[i>>2]|0)+4580>>2]|0)/1e3|0)|0;o=h;h=h+((1*(f[a>>2]<<1)|0)+15&-16)|0;s=ci(c,o,e,f[s>>2]|0)|0;f[u>>2]=(f[u>>2]|0)+s;s=hi((f[i>>2]|0)+5808|0,f[(f[i>>2]|0)+4580>>2]|0,((f[t>>2]&65535)<<16>>16)*1e3|0,1)|0;f[u>>2]=(f[u>>2]|0)+s;s=ci((f[i>>2]|0)+5808|0,e,o,f[a>>2]|0)|0;f[u>>2]=(f[u>>2]|0)+s;ga((f[i>>2]|0)+9356|0,e,f[l>>2]|0);de(f[n>>2]|0);s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}return 0}function va(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<=32767)if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<-32768)r=-32768;else r=cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0;else r=32767;n[(f[t>>2]|0)+(f[o>>2]<<1)>>1]=r;f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function ga(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function ya(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0,s=0;s=h;h=h+16|0;o=s+12|0;a=s+8|0;n=s+4|0;l=s;f[o>>2]=e;f[a>>2]=r;f[n>>2]=i;f[l>>2]=0;if((f[n>>2]|0)!=(f[(f[o>>2]|0)+4636>>2]|0)){if((f[n>>2]|0)!=10&(f[n>>2]|0)!=20&(f[n>>2]|0)!=40&(f[n>>2]|0)!=60)f[l>>2]=-103;do{if((f[n>>2]|0)<=10){f[(f[o>>2]|0)+5776>>2]=1;f[(f[o>>2]|0)+4604>>2]=(f[n>>2]|0)==10?2:1;i=re((f[n>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0;f[(f[o>>2]|0)+4608>>2]=i;f[(f[o>>2]|0)+4572>>2]=((f[a>>2]&65535)<<16>>16)*14;i=(f[o>>2]|0)+4720|0;if((f[(f[o>>2]|0)+4600>>2]|0)==8){f[i>>2]=29174;break}else{f[i>>2]=29162;break}}else{f[(f[o>>2]|0)+5776>>2]=(f[n>>2]|0)/20|0;f[(f[o>>2]|0)+4604>>2]=4;f[(f[o>>2]|0)+4608>>2]=((f[a>>2]&65535)<<16>>16)*20;f[(f[o>>2]|0)+4572>>2]=((f[a>>2]&65535)<<16>>16)*24;i=(f[o>>2]|0)+4720|0;if((f[(f[o>>2]|0)+4600>>2]|0)==8){f[i>>2]=29151;break}else{f[i>>2]=29117;break}}}while(0);f[(f[o>>2]|0)+4636>>2]=f[n>>2];f[(f[o>>2]|0)+4632>>2]=0}if((f[(f[o>>2]|0)+4600>>2]|0)==(f[a>>2]|0)){l=f[l>>2]|0;h=s;return l|0}i=(f[o>>2]|0)+7200|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;vs((f[o>>2]|0)+7216|0,0,2140)|0;vs((f[o>>2]|0)+144|0,0,4380)|0;i=(f[o>>2]|0)+4524|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;i=(f[o>>2]|0)+16|0;f[i>>2]=0;f[i+4>>2]=0;f[(f[o>>2]|0)+5772>>2]=0;f[(f[o>>2]|0)+5780>>2]=0;f[(f[o>>2]|0)+4632>>2]=0;f[(f[o>>2]|0)+4568>>2]=100;f[(f[o>>2]|0)+4696>>2]=1;f[(f[o>>2]|0)+7216+2136>>2]=100;t[(f[o>>2]|0)+7200>>0]=10;f[(f[o>>2]|0)+144+4356>>2]=100;f[(f[o>>2]|0)+144+4372>>2]=65536;t[(f[o>>2]|0)+4565>>0]=0;f[(f[o>>2]|0)+4600>>2]=f[a>>2];i=(f[(f[o>>2]|0)+4604>>2]|0)==4;r=(f[o>>2]|0)+4720|0;do{if((f[(f[o>>2]|0)+4600>>2]|0)==8)if(i){f[r>>2]=29151;break}else{f[r>>2]=29174;break}else if(i){f[r>>2]=29117;break}else{f[r>>2]=29162;break}}while(0);if((f[(f[o>>2]|0)+4600>>2]|0)!=8?(f[(f[o>>2]|0)+4600>>2]|0)!=12:0){f[(f[o>>2]|0)+4664>>2]=16;f[(f[o>>2]|0)+4724>>2]=17704}else{f[(f[o>>2]|0)+4664>>2]=10;f[(f[o>>2]|0)+4724>>2]=17668}f[(f[o>>2]|0)+4612>>2]=(f[a>>2]|0)*5;i=re((f[(f[o>>2]|0)+4612>>2]&65535)<<16>>16,(f[(f[o>>2]|0)+4604>>2]&65535)<<16>>16)|0;f[(f[o>>2]|0)+4608>>2]=i;f[(f[o>>2]|0)+4616>>2]=((f[a>>2]&65535)<<16>>16)*20;f[(f[o>>2]|0)+4620>>2]=(f[a>>2]&65535)<<16>>16<<1;f[(f[o>>2]|0)+4576>>2]=((f[a>>2]&65535)<<16>>16)*18;i=(f[a>>2]&65535)<<16>>16;if((f[(f[o>>2]|0)+4604>>2]|0)==4)f[(f[o>>2]|0)+4572>>2]=i*24;else f[(f[o>>2]|0)+4572>>2]=i*14;i=f[o>>2]|0;if((f[(f[o>>2]|0)+4600>>2]|0)==16){f[i+4684>>2]=10;f[(f[o>>2]|0)+4716>>2]=29049;l=f[l>>2]|0;h=s;return l|0}r=(f[o>>2]|0)+4684|0;if((f[i+4600>>2]|0)==12){f[r>>2]=13;f[(f[o>>2]|0)+4716>>2]=29043;l=f[l>>2]|0;h=s;return l|0}else{f[r>>2]=15;f[(f[o>>2]|0)+4716>>2]=29034;l=f[l>>2]|0;h=s;return l|0}return 0}function _a(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;a=h;h=h+16|0;i=a+8|0;t=a+4|0;n=a;f[i>>2]=e;f[t>>2]=r;f[n>>2]=0;do{if((f[t>>2]|0)>=2){if((f[t>>2]|0)<4){f[(f[i>>2]|0)+4668>>2]=1;f[(f[i>>2]|0)+4676>>2]=49807;f[(f[i>>2]|0)+4672>>2]=8;f[(f[i>>2]|0)+4660>>2]=10;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=1;f[(f[i>>2]|0)+4656>>2]=0;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=4;f[(f[i>>2]|0)+4704>>2]=0;break}if((f[t>>2]|0)<6){f[(f[i>>2]|0)+4668>>2]=1;f[(f[i>>2]|0)+4676>>2]=48497;f[(f[i>>2]|0)+4672>>2]=10;f[(f[i>>2]|0)+4660>>2]=12;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=2;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=8;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}r=(f[i>>2]|0)+4668|0;if((f[t>>2]|0)<8){f[r>>2]=1;f[(f[i>>2]|0)+4676>>2]=47186;f[(f[i>>2]|0)+4672>>2]=12;f[(f[i>>2]|0)+4660>>2]=14;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=3;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=16;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}else{f[r>>2]=2;f[(f[i>>2]|0)+4676>>2]=45875;f[(f[i>>2]|0)+4672>>2]=16;f[(f[i>>2]|0)+4660>>2]=16;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=4;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=32;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}}else{f[(f[i>>2]|0)+4668>>2]=0;f[(f[i>>2]|0)+4676>>2]=52429;f[(f[i>>2]|0)+4672>>2]=6;f[(f[i>>2]|0)+4660>>2]=8;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*3;f[(f[i>>2]|0)+4652>>2]=1;f[(f[i>>2]|0)+4656>>2]=0;f[(f[i>>2]|0)+4680>>2]=1;f[(f[i>>2]|0)+4692>>2]=2;f[(f[i>>2]|0)+4704>>2]=0}}while(0);e=ma(f[(f[i>>2]|0)+4672>>2]|0,f[(f[i>>2]|0)+4664>>2]|0)|0;f[(f[i>>2]|0)+4672>>2]=e;f[(f[i>>2]|0)+4628>>2]=((f[(f[i>>2]|0)+4600>>2]|0)*5|0)+(f[(f[i>>2]|0)+4624>>2]<<1);f[(f[i>>2]|0)+4648>>2]=f[t>>2];h=a;return f[n>>2]|0}function ma(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ea(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;n=l+16|0;i=l+12|0;a=l+8|0;o=l+4|0;t=l;f[n>>2]=e;f[i>>2]=r;f[o>>2]=0;f[a>>2]=f[(f[n>>2]|0)+6124>>2];f[(f[n>>2]|0)+6124>>2]=0;if(!(f[(f[n>>2]|0)+6120>>2]|0)){o=f[o>>2]|0;h=l;return o|0}if((f[(f[n>>2]|0)+4640>>2]|0)<=0){o=f[o>>2]|0;h=l;return o|0}do{if((f[(f[n>>2]|0)+4600>>2]|0)!=8)if((f[(f[n>>2]|0)+4600>>2]|0)==12){f[t>>2]=14e3;break}else{f[t>>2]=16e3;break}else f[t>>2]=12e3}while(0);if((f[(f[n>>2]|0)+4640>>2]|0)<25)r=f[(f[n>>2]|0)+4640>>2]|0;else r=25;r=((re(f[t>>2]|0,125-r|0)|0)>>16)*655|0;if((f[(f[n>>2]|0)+4640>>2]|0)<25)e=f[(f[n>>2]|0)+4640>>2]|0;else e=25;f[t>>2]=r+(((re(f[t>>2]|0,125-e|0)|0)&65535)*655>>16);if((f[i>>2]|0)<=(f[t>>2]|0)){o=f[o>>2]|0;h=l;return o|0}r=f[n>>2]|0;if(!(f[a>>2]|0))f[r+6128>>2]=7;else{a=Aa(7-(((f[r+4640>>2]>>16)*26214|0)+((f[(f[n>>2]|0)+4640>>2]&65535)*26214>>16))|0,2)|0;f[(f[n>>2]|0)+6128>>2]=a}f[(f[n>>2]|0)+6124>>2]=1;o=f[o>>2]|0;h=l;return o|0}function Aa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Sa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+160|0;t=x+156|0;a=x+152|0;o=x+148|0;k=x+144|0;d=x+140|0;p=x+136|0;c=x+132|0;y=x+128|0;w=x+124|0;E=x+120|0;m=x+116|0;A=x+112|0;R=x+108|0;S=x+104|0;T=x+100|0;_=x+96|0;v=x+92|0;b=x+88|0;l=x+52|0;u=x+16|0;s=x+8|0;g=x;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[s>>2]=l;f[s+4>>2]=u;f[c>>2]=f[o>>2]>>1;Ra(f[a>>2]|0,l,u,f[c>>2]|0);f[g>>2]=l;f[E>>2]=n[12288];f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;if((f[R>>2]|0)<0){n[f[t>>2]>>1]=0;f[g>>2]=u;f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;f[y>>2]=1}else f[y>>2]=0;f[d>>2]=1;f[k>>2]=0;f[_>>2]=0;e:while(1){f[m>>2]=n[24576+(f[d>>2]<<1)>>1];f[S>>2]=Ma(f[g>>2]|0,f[m>>2]|0,f[c>>2]|0)|0;if(!((f[R>>2]|0)<=0?(f[S>>2]|0)>=(f[_>>2]|0):0))M=7;do{if((M|0)==7){M=0;if((f[R>>2]|0)>=0?(f[S>>2]|0)<=(0-(f[_>>2]|0)|0):0)break;f[d>>2]=(f[d>>2]|0)+1;f[E>>2]=f[m>>2];f[R>>2]=f[S>>2];f[_>>2]=0;if((f[d>>2]|0)<=128)continue e;f[k>>2]=(f[k>>2]|0)+1;if((f[k>>2]|0)>30)break e;Pa(f[a>>2]|0,f[o>>2]|0,65536-(re((10+(f[k>>2]|0)&65535)<<16>>16,(f[k>>2]&65535)<<16>>16)|0)|0);Ra(f[a>>2]|0,l,u,f[c>>2]|0);f[g>>2]=l;f[E>>2]=n[12288];f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;if((f[R>>2]|0)<0){n[f[t>>2]>>1]=0;f[g>>2]=u;f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;f[y>>2]=1}else f[y>>2]=0;f[d>>2]=1;continue e}}while(0);if(!(f[S>>2]|0))f[_>>2]=1;else f[_>>2]=0;f[w>>2]=-256;f[p>>2]=0;while(1){if((f[p>>2]|0)>=3)break;f[A>>2]=((f[E>>2]|0)+(f[m>>2]|0)>>1)+((f[E>>2]|0)+(f[m>>2]|0)&1);f[T>>2]=Ma(f[g>>2]|0,f[A>>2]|0,f[c>>2]|0)|0;if(!((f[R>>2]|0)<=0&(f[T>>2]|0)>=0)?!((f[R>>2]|0)>=0&(f[T>>2]|0)<=0):0){f[E>>2]=f[A>>2];f[R>>2]=f[T>>2];f[w>>2]=(f[w>>2]|0)+(128>>f[p>>2])}else{f[m>>2]=f[A>>2];f[S>>2]=f[T>>2]}f[p>>2]=(f[p>>2]|0)+1}i=f[R>>2]|0;e=f[R>>2]|0;if((((f[R>>2]|0)>0?i:0-i|0)|0)<65536){f[b>>2]=e-(f[S>>2]|0);f[v>>2]=(f[R>>2]<<5)+(f[b>>2]>>1);if(f[b>>2]|0)f[w>>2]=(f[w>>2]|0)+((f[v>>2]|0)/(f[b>>2]|0)|0)}else f[w>>2]=(f[w>>2]|0)+((e|0)/((f[R>>2]|0)-(f[S>>2]|0)>>5|0)|0);i=(xa((f[d>>2]<<8)+(f[w>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+(f[y>>2]<<1)>>1]=i;f[y>>2]=(f[y>>2]|0)+1;if((f[y>>2]|0)>=(f[o>>2]|0)){M=34;break}f[g>>2]=f[s+((f[y>>2]&1)<<2)>>2];f[E>>2]=n[24576+((f[d>>2]|0)-1<<1)>>1];f[R>>2]=1-(f[y>>2]&2)<<12}if((M|0)==34){h=x;return}n[f[t>>2]>>1]=32768/((f[o>>2]|0)+1|0)|0;f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[o>>2]|0))break;M=(re(((f[d>>2]|0)+1&65535)<<16>>16,n[f[t>>2]>>1]|0)|0)&65535;n[(f[t>>2]|0)+(f[d>>2]<<1)>>1]=M;f[d>>2]=(f[d>>2]|0)+1}h=x;return}function Ra(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[(f[a>>2]|0)+(f[l>>2]<<2)>>2]=65536;f[(f[o>>2]|0)+(f[l>>2]<<2)>>2]=65536;f[s>>2]=0;while(1){r=f[l>>2]|0;if((f[s>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=0-(f[(f[n>>2]|0)+(r-(f[s>>2]|0)-1<<2)>>2]|0)-(f[(f[n>>2]|0)+((f[l>>2]|0)+(f[s>>2]|0)<<2)>>2]|0);f[(f[o>>2]|0)+(f[s>>2]<<2)>>2]=0-(f[(f[n>>2]|0)+((f[l>>2]|0)-(f[s>>2]|0)-1<<2)>>2]|0)+(f[(f[n>>2]|0)+((f[l>>2]|0)+(f[s>>2]|0)<<2)>>2]|0);f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=r;while(1){if((f[s>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[s>>2]|0)-1<<2)|0;f[n>>2]=(f[n>>2]|0)-(f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]|0);n=(f[o>>2]|0)+((f[s>>2]|0)-1<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[(f[o>>2]|0)+(f[s>>2]<<2)>>2]|0);f[s>>2]=(f[s>>2]|0)+-1}Ta(f[a>>2]|0,f[l>>2]|0);Ta(f[o>>2]|0,f[l>>2]|0);h=u;return}function Ta(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[t>>2]=r;f[n>>2]=2;while(1){if((f[n>>2]|0)>(f[t>>2]|0))break;f[a>>2]=f[t>>2];while(1){if((f[a>>2]|0)<=(f[n>>2]|0))break;e=(f[i>>2]|0)+((f[a>>2]|0)-2<<2)|0;f[e>>2]=(f[e>>2]|0)-(f[(f[i>>2]|0)+(f[a>>2]<<2)>>2]|0);f[a>>2]=(f[a>>2]|0)+-1}e=(f[i>>2]|0)+((f[n>>2]|0)-2<<2)|0;f[e>>2]=(f[e>>2]|0)-(f[(f[i>>2]|0)+(f[n>>2]<<2)>>2]<<1);f[n>>2]=(f[n>>2]|0)+1}h=o;return}function Ma(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;t=s+20|0;u=s+16|0;n=s+12|0;a=s+8|0;o=s+4|0;l=s;f[t>>2]=e;f[u>>2]=r;f[n>>2]=i;f[l>>2]=f[(f[t>>2]|0)+(f[n>>2]<<2)>>2];f[o>>2]=f[u>>2]<<4;if(8==(f[n>>2]|0)^1^1){u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+28>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+24>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+20>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+16>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+12>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+8>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+4>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[f[t>>2]>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=f[l>>2]|0;h=s;return u|0}f[a>>2]=(f[n>>2]|0)-1;while(1){if((f[a>>2]|0)<0)break;u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);f[a>>2]=(f[a>>2]|0)+-1}u=f[l>>2]|0;h=s;return u|0}function xa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Oa(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;g=h;h=h+48|0;o=g+44|0;l=g+40|0;s=g+36|0;u=g+32|0;y=g+28|0;d=g+24|0;c=g+20|0;k=g+16|0;b=g+12|0;w=g+8|0;p=g+4|0;v=g;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[y>>2]=a;f[c>>2]=f[y>>2]>>1;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;f[k>>2]=n[(f[o>>2]|0)+(f[d>>2]<<1<<1)>>1]<<10;f[w>>2]=(f[k>>2]|0)-(f[f[l>>2]>>2]|0);y=re(f[w>>2]>>16,n[12286]|0)|0;f[b>>2]=(f[w>>2]|0)+(y+((re(f[w>>2]&65535,n[12286]|0)|0)>>16));f[p>>2]=(f[f[l>>2]>>2]|0)+(f[b>>2]|0);f[f[l>>2]>>2]=(f[k>>2]|0)+(f[b>>2]|0);f[k>>2]=n[(f[o>>2]|0)+((f[d>>2]<<1)+1<<1)>>1]<<10;f[w>>2]=(f[k>>2]|0)-(f[(f[l>>2]|0)+4>>2]|0);y=re(f[w>>2]>>16,n[12287]|0)|0;f[b>>2]=y+((re(f[w>>2]&65535,n[12287]|0)|0)>>16);f[v>>2]=(f[(f[l>>2]|0)+4>>2]|0)+(f[b>>2]|0);f[(f[l>>2]|0)+4>>2]=(f[k>>2]|0)+(f[b>>2]|0);if((((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1|0)<=32767)if((((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1;else a=32767;n[(f[s>>2]|0)+(f[d>>2]<<1)>>1]=a;if((((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1|0)<=32767)if((((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1;else a=32767;n[(f[u>>2]|0)+(f[d>>2]<<1)>>1]=a;f[d>>2]=(f[d>>2]|0)+1}h=g;return}function La(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;E=h;h=h+64|0;s=E+52|0;u=E+48|0;A=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;_=E+24|0;y=E+20|0;p=E+16|0;d=E+12|0;g=E+8|0;v=E+4|0;m=E;f[s>>2]=e;f[u>>2]=r;f[A>>2]=i;f[c>>2]=t;f[b>>2]=a;f[w>>2]=o;f[k>>2]=l;f[d>>2]=0-(f[f[A>>2]>>2]|0)&16383;f[p>>2]=0-(f[f[A>>2]>>2]|0)>>14;f[v>>2]=0-(f[(f[A>>2]|0)+4>>2]|0)&16383;f[g>>2]=0-(f[(f[A>>2]|0)+4>>2]|0)>>14;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[w>>2]|0))break;A=re(f[_>>2]|0,f[k>>2]|0)|0;f[y>>2]=n[(f[s>>2]|0)+(A<<1)>>1];A=re(f[f[u>>2]>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;f[m>>2]=(f[f[c>>2]>>2]|0)+(A+((re(f[f[u>>2]>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))<<2;A=re(f[m>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+((A+((re(f[m>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1)|0;f[f[c>>2]>>2]=A;A=re(f[m>>2]>>16,(f[p>>2]&65535)<<16>>16)|0;A=(f[f[c>>2]>>2]|0)+(A+((re(f[m>>2]&65535,(f[p>>2]&65535)<<16>>16)|0)>>16))|0;f[f[c>>2]>>2]=A;A=re(f[(f[u>>2]|0)+4>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;A=(f[f[c>>2]>>2]|0)+(A+((re(f[(f[u>>2]|0)+4>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))|0;f[f[c>>2]>>2]=A;A=re(f[m>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;A=(A+((re(f[m>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1;f[(f[c>>2]|0)+4>>2]=A;A=re(f[m>>2]>>16,(f[g>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+(A+((re(f[m>>2]&65535,(f[g>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[c>>2]|0)+4>>2]=A;A=re(f[(f[u>>2]|0)+8>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+(A+((re(f[(f[u>>2]|0)+8>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[c>>2]|0)+4>>2]=A;if(((f[m>>2]|0)+16384-1>>14|0)<=32767)if(((f[m>>2]|0)+16384-1>>14|0)<-32768)i=-32768;else i=(f[m>>2]|0)+16384-1>>14;else i=32767;A=re(f[_>>2]|0,f[k>>2]|0)|0;n[(f[b>>2]|0)+(A<<1)>>1]=i;f[_>>2]=(f[_>>2]|0)+1}h=E;return}function Pa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+16|0;n=s+12|0;a=s+8|0;l=s+4|0;o=s;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=(f[a>>2]|0)-65536;f[l>>2]=0;while(1){e=f[a>>2]>>16;if((f[l>>2]|0)>=((f[n>>2]|0)-1|0))break;r=re(e,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]&65535)<<16>>16)|0;r=r+((re(f[a>>2]&65535,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;r=r+(re(f[a>>2]|0,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=r;r=((re(f[a>>2]|0,f[o>>2]|0)|0)>>15)+1>>1;f[a>>2]=(f[a>>2]|0)+r;f[l>>2]=(f[l>>2]|0)+1}l=re(e,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;l=l+((re(f[a>>2]&65535,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=l+(re(f[a>>2]|0,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]=l;h=s;return}function Ia(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+16|0;a=u+12|0;o=u+8|0;s=u+4|0;l=u;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=(f[o>>2]|0)-65536;f[s>>2]=0;while(1){e=f[o>>2]|0;if((f[s>>2]|0)>=((f[a>>2]|0)-1|0))break;r=((re(e,n[(f[t>>2]|0)+(f[s>>2]<<1)>>1]|0)|0)>>15)+1>>1&65535;n[(f[t>>2]|0)+(f[s>>2]<<1)>>1]=r;r=((re(f[o>>2]|0,f[l>>2]|0)|0)>>15)+1>>1;f[o>>2]=(f[o>>2]|0)+r;f[s>>2]=(f[s>>2]|0)+1}s=((re(e,n[(f[t>>2]|0)+((f[a>>2]|0)-1<<1)>>1]|0)|0)>>15)+1>>1&65535;n[(f[t>>2]|0)+((f[a>>2]|0)-1<<1)>>1]=s;h=u;return}function Ca(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;l=y+36|0;u=y+38|0;c=y+32|0;s=y+28|0;b=y+24|0;p=y+20|0;d=y+16|0;g=y+12|0;v=y+8|0;k=y+4|0;w=y;n[l>>1]=e;t[u>>0]=r;f[c>>2]=i;f[s>>2]=a;f[b>>2]=o;a=(f[b>>2]|0)==4;do{if((f[s>>2]|0)==8)if(a){f[w>>2]=30286;f[k>>2]=11;break}else{f[w>>2]=30252;f[k>>2]=3;break}else if(a){f[w>>2]=30330;f[k>>2]=34;break}else{f[w>>2]=30258;f[k>>2]=12;break}}while(0);f[g>>2]=(f[s>>2]&65535)<<16>>16<<1;f[v>>2]=((f[s>>2]&65535)<<16>>16)*18;f[p>>2]=(f[g>>2]|0)+(n[l>>1]|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;a=re(f[d>>2]|0,f[k>>2]|0)|0;f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]=(f[p>>2]|0)+(t[(f[w>>2]|0)+(a+(t[u>>0]|0))>>0]|0);a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;do{if((f[g>>2]|0)>(f[v>>2]|0)){if((a|0)>(f[g>>2]|0)){a=f[g>>2]|0;break}if((f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0)<(f[v>>2]|0)){a=f[v>>2]|0;break}else{a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;break}}else{if((a|0)>(f[v>>2]|0)){a=f[v>>2]|0;break}if((f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0)<(f[g>>2]|0)){a=f[g>>2]|0;break}else{a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;break}}}while(0);f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]=a;f[d>>2]=(f[d>>2]|0)+1}h=y;return}function Ua(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;a=b+20|0;o=b+16|0;l=b+12|0;s=b+8|0;u=b+4|0;c=b;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[c>>2]=0;f[u>>2]=0;while(1){e=f[c>>2]|0;if((f[u>>2]|0)>=(f[s>>2]|0))break;i=re(n[(f[a>>2]|0)+(f[u>>2]<<1)>>1]|0,n[(f[o>>2]|0)+(f[u>>2]<<1)>>1]|0)|0;f[c>>2]=e+(i>>f[l>>2]);f[u>>2]=(f[u>>2]|0)+1}h=b;return e|0}function Ba(e){e=e|0;var r=0,i=0,t=0,n=0;r=h;h=h+16|0;n=r+8|0;t=r+4|0;i=r;f[n>>2]=e;ja(f[n>>2]|0,t,i);e=((re(f[i>>2]|0,128-(f[i>>2]|0)|0)|0)>>16)*179|0;e=(31-(f[t>>2]|0)<<7)+((f[i>>2]|0)+(e+(((re(f[i>>2]|0,128-(f[i>>2]|0)|0)|0)&65535)*179>>16)))|0;h=r;return e|0}function ja(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Da(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Na(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Da(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Na(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Fa(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;a=o+4|0;n=o;f[t>>2]=e;if((f[t>>2]|0)<0){f[i>>2]=0;a=f[i>>2]|0;h=o;return a|0}if((f[t>>2]|0)>=3967){f[i>>2]=2147483647;a=f[i>>2]|0;h=o;return a|0}f[a>>2]=1<<(f[t>>2]>>7);f[n>>2]=f[t>>2]&127;e=f[a>>2]|0;r=f[a>>2]|0;if((f[t>>2]|0)<2048){t=re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;f[a>>2]=e+((re(r,(f[n>>2]|0)+(t+((re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)>>7)}else{t=re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;f[a>>2]=e+(re(r>>7,(f[n>>2]|0)+(t+((re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)}f[i>>2]=f[a>>2];a=f[i>>2]|0;h=o;return a|0}function za(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+40|0;s=g+36|0;u=g+32|0;c=g+28|0;b=g+24|0;d=g+16|0;k=g+12|0;v=g+8|0;p=g+4|0;w=g;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=a;f[g+20>>2]=o;f[k>>2]=f[b>>2];while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;f[w>>2]=(f[s>>2]|0)+((f[k>>2]|0)-1<<1);f[v>>2]=re(n[f[w>>2]>>1]|0,n[f[u>>2]>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-2>>1]|0,n[(f[u>>2]|0)+2>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-4>>1]|0,n[(f[u>>2]|0)+4>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-6>>1]|0,n[(f[u>>2]|0)+6>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-8>>1]|0,n[(f[u>>2]|0)+8>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-10>>1]|0,n[(f[u>>2]|0)+10>>1]|0)|0);f[d>>2]=6;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+(0-(f[d>>2]|0)<<1)>>1]|0,n[(f[u>>2]|0)+(f[d>>2]<<1)>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+(0-(f[d>>2]|0)-1<<1)>>1]|0,n[(f[u>>2]|0)+((f[d>>2]|0)+1<<1)>>1]|0)|0);f[d>>2]=(f[d>>2]|0)+2}f[v>>2]=(n[(f[w>>2]|0)+2>>1]<<12)-(f[v>>2]|0);f[p>>2]=(f[v>>2]>>11)+1>>1;if((f[p>>2]|0)>32767)i=32767;else i=(f[p>>2]|0)<-32768?-32768:f[p>>2]|0;n[(f[l>>2]|0)+(f[k>>2]<<1)>>1]=i;f[k>>2]=(f[k>>2]|0)+1}vs(f[l>>2]|0,0,f[b>>2]<<1|0)|0;h=g;return}function Ya(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+160|0;i=c+148|0;t=c+144|0;a=c+140|0;u=c+136|0;l=c+8|0;o=c+4|0;s=c;f[t>>2]=e;f[a>>2]=r;f[s>>2]=0;f[o>>2]=l+((f[a>>2]&1)<<6);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[a>>2]|0))break;f[s>>2]=(f[s>>2]|0)+(n[(f[t>>2]|0)+(f[u>>2]<<1)>>1]|0);f[(f[o>>2]|0)+(f[u>>2]<<2)>>2]=n[(f[t>>2]|0)+(f[u>>2]<<1)>>1]<<12;f[u>>2]=(f[u>>2]|0)+1}if((f[s>>2]|0)>=4096){f[i>>2]=0;r=f[i>>2]|0;h=c;return r|0}else{f[i>>2]=Ha(l,f[a>>2]|0)|0;r=f[i>>2]|0;h=c;return r|0}return 0}function Ha(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;p=h;h=h+64|0;i=p+48|0;t=p+44|0;v=p+40|0;l=p+36|0;u=p+32|0;s=p+28|0;o=p+24|0;c=p+20|0;b=p+16|0;w=p+12|0;k=p+8|0;a=p+4|0;n=p;f[t>>2]=e;f[v>>2]=r;f[n>>2]=(f[t>>2]|0)+((f[v>>2]&1)<<6);f[o>>2]=1073741824;f[l>>2]=(f[v>>2]|0)-1;while(1){if((f[l>>2]|0)<=0)break;if((f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]|0)>16773022){d=5;break}if((f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]|0)<-16773022){d=5;break}f[c>>2]=0-(f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]<<7);v=f[c>>2]|0;r=f[c>>2]|0;r=Ms(v|0,((v|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;r=ps(r|0,L|0,32)|0;f[b>>2]=1073741824-r;r=f[b>>2]|0;f[s>>2]=32-(qa((f[b>>2]|0)>0?r:0-r|0)|0);f[w>>2]=Wa(f[b>>2]|0,(f[s>>2]|0)+30|0)|0;r=f[o>>2]|0;v=f[b>>2]|0;v=Ms(r|0,((r|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,32)|0;f[o>>2]=v<<2;f[a>>2]=f[n>>2];f[n>>2]=(f[t>>2]|0)+((f[l>>2]&1)<<6);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;r=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2]|0;e=f[(f[a>>2]|0)+((f[l>>2]|0)-(f[u>>2]|0)-1<<2)>>2]|0;v=f[c>>2]|0;v=Ms(e|0,((e|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,30)|0;v=ds(v|0,L|0,1,0)|0;v=ps(v|0,L|0,1)|0;f[k>>2]=r-v;v=(f[s>>2]|0)==1;r=f[k>>2]|0;e=f[w>>2]|0;e=Ms(r|0,((r|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;r=L;if(v){r=ps(e|0,r|0,1)|0;v=L;g=f[k>>2]|0;e=f[w>>2]|0;e=Ms(g|0,((g|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ds(r|0,v|0,e&1|0,0)|0}else{e=ps(e|0,r|0,(f[s>>2]|0)-1|0)|0;e=ds(e|0,L|0,1,0)|0;e=ps(e|0,L|0,1)|0}f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=e;f[u>>2]=(f[u>>2]|0)+1}f[l>>2]=(f[l>>2]|0)+-1}if((d|0)==5){f[i>>2]=0;g=f[i>>2]|0;h=p;return g|0}if((f[f[n>>2]>>2]|0)<=16773022?(f[f[n>>2]>>2]|0)>=-16773022:0){f[c>>2]=0-(f[f[n>>2]>>2]<<7);g=f[c>>2]|0;v=f[c>>2]|0;v=Ms(g|0,((g|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,32)|0;f[b>>2]=1073741824-v;v=f[o>>2]|0;g=f[b>>2]|0;g=Ms(v|0,((v|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;g=ps(g|0,L|0,32)|0;f[o>>2]=g<<2;f[i>>2]=f[o>>2];g=f[i>>2]|0;h=p;return g|0}f[i>>2]=0;g=f[i>>2]|0;h=p;return g|0}function qa(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Wa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(qa((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Za(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+272|0;E=M+264|0;t=M+260|0;A=M+256|0;_=M+252|0;T=M+248|0;R=M+244|0;k=M+240|0;b=M+176|0;o=M+140|0;s=M+104|0;l=M+100|0;u=M+96|0;v=M+92|0;p=M+88|0;w=M+84|0;d=M+80|0;S=M+16|0;y=M+12|0;c=M+8|0;g=M+4|0;m=M;f[E>>2]=e;f[t>>2]=r;f[A>>2]=i;f[g>>2]=0;f[_>>2]=(f[A>>2]|0)==16?30226:30242;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;f[v>>2]=n[(f[t>>2]|0)+(f[T>>2]<<1)>>1]>>8;f[p>>2]=(n[(f[t>>2]|0)+(f[T>>2]<<1)>>1]|0)-(f[v>>2]<<8);f[w>>2]=n[24576+(f[v>>2]<<1)>>1];f[d>>2]=(n[24576+((f[v>>2]|0)+1<<1)>>1]|0)-(f[w>>2]|0);i=((f[w>>2]<<8)+(re(f[d>>2]|0,f[p>>2]|0)|0)>>3)+1>>1;f[b+(a[(f[_>>2]|0)+(f[T>>2]|0)>>0]<<2)>>2]=i;f[T>>2]=(f[T>>2]|0)+1}f[k>>2]=f[A>>2]>>1;Va(o,b,f[k>>2]|0);Va(s,b+4|0,f[k>>2]|0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[k>>2]|0))break;f[l>>2]=(f[o+((f[T>>2]|0)+1<<2)>>2]|0)+(f[o+(f[T>>2]<<2)>>2]|0);f[u>>2]=(f[s+((f[T>>2]|0)+1<<2)>>2]|0)-(f[s+(f[T>>2]<<2)>>2]|0);f[S+(f[T>>2]<<2)>>2]=0-(f[u>>2]|0)-(f[l>>2]|0);f[S+((f[A>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=(f[u>>2]|0)-(f[l>>2]|0);f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=0;while(1){if((f[R>>2]|0)>=10)break;f[y>>2]=0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;_=f[S+(f[T>>2]<<2)>>2]|0;f[c>>2]=(f[S+(f[T>>2]<<2)>>2]|0)>0?_:0-_|0;if((f[c>>2]|0)>(f[y>>2]|0)){f[y>>2]=f[c>>2];f[g>>2]=f[T>>2]}f[T>>2]=(f[T>>2]|0)+1}f[y>>2]=(f[y>>2]>>4)+1>>1;if((f[y>>2]|0)<=32767)break;f[y>>2]=(f[y>>2]|0)<163838?f[y>>2]|0:163838;f[m>>2]=65470-(((f[y>>2]|0)-32767<<14|0)/((re(f[y>>2]|0,(f[g>>2]|0)+1|0)|0)>>2|0)|0);Pa(S,f[A>>2]|0,f[m>>2]|0);f[R>>2]=(f[R>>2]|0)+1}m=(f[R>>2]|0)==10;f[T>>2]=0;e:do{if(m)while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break e;if(((f[S+(f[T>>2]<<2)>>2]>>4)+1>>1|0)<=32767)if(((f[S+(f[T>>2]<<2)>>2]>>4)+1>>1|0)<-32768)t=-32768;else t=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;else t=32767;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=t;f[S+(f[T>>2]<<2)>>2]=n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]<<5;f[T>>2]=(f[T>>2]|0)+1}else while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break e;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;f[T>>2]=(f[T>>2]|0)+1}}while(0);f[R>>2]=0;while(1){if((f[R>>2]|0)>=16){t=31;break}if((Ya(f[E>>2]|0,f[A>>2]|0)|0)>=107374){t=31;break}Pa(S,f[A>>2]|0,65536-(2<>2])|0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}if((t|0)==31){h=M;return}}function Va(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;s=u+4|0;o=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[f[t>>2]>>2]=65536;f[(f[t>>2]|0)+4>>2]=0-(f[f[n>>2]>>2]|0);f[l>>2]=1;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;f[o>>2]=f[(f[n>>2]|0)+(f[l>>2]<<1<<2)>>2];i=f[(f[t>>2]|0)+((f[l>>2]|0)-1<<2)>>2]<<1;r=f[o>>2]|0;e=f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]|0;e=Ms(r|0,((r|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ps(e|0,L|0,15)|0;e=ds(e|0,L|0,1,0)|0;e=ps(e|0,L|0,1)|0;f[(f[t>>2]|0)+((f[l>>2]|0)+1<<2)>>2]=i-e;f[s>>2]=f[l>>2];while(1){if((f[s>>2]|0)<=1)break;r=f[(f[t>>2]|0)+((f[s>>2]|0)-2<<2)>>2]|0;e=f[o>>2]|0;i=f[(f[t>>2]|0)+((f[s>>2]|0)-1<<2)>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,15)|0;i=ds(i|0,L|0,1,0)|0;i=ps(i|0,L|0,1)|0;e=(f[t>>2]|0)+(f[s>>2]<<2)|0;f[e>>2]=(f[e>>2]|0)+(r-i);f[s>>2]=(f[s>>2]|0)+-1}e=(f[t>>2]|0)+4|0;f[e>>2]=(f[e>>2]|0)-(f[o>>2]|0);f[l>>2]=(f[l>>2]|0)+1}h=u;return}function Ja(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+80|0;u=g+40|0;a=g+36|0;c=g+32|0;b=g+28|0;d=g+24|0;l=g+20|0;v=g+16|0;o=g+12|0;s=g+8|0;k=g+48|0;p=g+4|0;w=g;f[u>>2]=e;f[a>>2]=r;f[c>>2]=i;f[b>>2]=t;f[p>>2]=(f[u>>2]|0)+2772;if((f[(f[u>>2]|0)+2316>>2]|0)!=(f[(f[p>>2]|0)+1384>>2]|0)){ni(f[u>>2]|0);f[(f[p>>2]|0)+1384>>2]=f[(f[u>>2]|0)+2316>>2]}e:do{if((f[(f[u>>2]|0)+4160>>2]|0)==0?(f[(f[u>>2]|0)+4164>>2]|0)==0:0){f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2340>>2]|0))break;r=(f[p>>2]|0)+1280+(f[d>>2]<<1)|0;n[r>>1]=(n[r>>1]|0)+((((n[(f[u>>2]|0)+2344+(f[d>>2]<<1)>>1]|0)-(n[(f[p>>2]|0)+1280+(f[d>>2]<<1)>>1]|0)>>16)*16348|0)+(((n[(f[u>>2]|0)+2344+(f[d>>2]<<1)>>1]|0)-(n[(f[p>>2]|0)+1280+(f[d>>2]<<1)>>1]|0)&65535)*16348>>16));f[d>>2]=(f[d>>2]|0)+1}f[o>>2]=0;f[l>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2324>>2]|0))break;if((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)>(f[o>>2]|0)){f[o>>2]=f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2];f[l>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}ys((f[p>>2]|0)+(f[(f[u>>2]|0)+2332>>2]<<2)|0,f[p>>2]|0,(re((f[(f[u>>2]|0)+2324>>2]|0)-1|0,f[(f[u>>2]|0)+2332>>2]|0)|0)<<2|0)|0;l=re(f[l>>2]|0,f[(f[u>>2]|0)+2332>>2]|0)|0;gs(f[p>>2]|0,(f[u>>2]|0)+4+(l<<2)|0,f[(f[u>>2]|0)+2332>>2]<<2|0)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2324>>2]|0))break e;l=(f[p>>2]|0)+1376|0;f[l>>2]=(f[l>>2]|0)+((((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)-(f[(f[p>>2]|0)+1376>>2]|0)>>16)*4634|0)+(((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)-(f[(f[p>>2]|0)+1376>>2]|0)&65535)*4634>>16));f[d>>2]=(f[d>>2]|0)+1}}}while(0);if(!(f[(f[u>>2]|0)+4160>>2]|0)){vs((f[p>>2]|0)+1312|0,0,f[(f[u>>2]|0)+2340>>2]<<2|0)|0;h=g;return}l=(f[b>>2]|0)+16|0;f[w>>2]=he()|0;o=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=re(n[(f[u>>2]|0)+4168+56>>1]>>16,(f[(f[u>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0;l=l+((re(n[(f[u>>2]|0)+4168+56>>1]&65535,(f[(f[u>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0)>>16)|0;f[s>>2]=l+(re(n[(f[u>>2]|0)+4168+56>>1]|0,(f[(f[u>>2]|0)+4168+72+4>>2]>>15)+1>>1)|0);if((f[s>>2]|0)<2097152?(f[(f[p>>2]|0)+1376>>2]|0)<=8388608:0){l=re(f[s>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;l=l+((re(f[s>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;f[s>>2]=l+(re(f[s>>2]|0,(f[s>>2]>>15)+1>>1)|0);l=re(f[(f[p>>2]|0)+1376>>2]>>16,(f[(f[p>>2]|0)+1376>>2]&65535)<<16>>16)|0;l=l+((re(f[(f[p>>2]|0)+1376>>2]&65535,(f[(f[p>>2]|0)+1376>>2]&65535)<<16>>16)|0)>>16)|0;l=l+(re(f[(f[p>>2]|0)+1376>>2]|0,(f[(f[p>>2]|0)+1376>>2]>>15)+1>>1)|0)|0;f[s>>2]=l-(f[s>>2]<<5);f[s>>2]=(Ga(f[s>>2]|0)|0)<<8}else{f[s>>2]=re(f[s>>2]>>16,f[s>>2]>>16)|0;l=re(f[(f[p>>2]|0)+1376>>2]>>16,f[(f[p>>2]|0)+1376>>2]>>16)|0;f[s>>2]=l-(f[s>>2]<<5);f[s>>2]=(Ga(f[s>>2]|0)|0)<<16}Qa(o+64|0,f[p>>2]|0,f[s>>2]|0,f[b>>2]|0,(f[p>>2]|0)+1380|0);Za(k,(f[p>>2]|0)+1280|0,f[(f[u>>2]|0)+2340>>2]|0);a=o;i=(f[p>>2]|0)+1312|0;t=a+64|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[v>>2]=f[(f[u>>2]|0)+2340>>2]>>1;s=re(f[o+(16+(f[d>>2]|0)-1<<2)>>2]>>16,n[k>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-1<<2)>>2]&65535,n[k>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-2<<2)>>2]>>16,n[k+2>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-2<<2)>>2]&65535,n[k+2>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-3<<2)>>2]>>16,n[k+4>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-3<<2)>>2]&65535,n[k+4>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-4<<2)>>2]>>16,n[k+6>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-4<<2)>>2]&65535,n[k+6>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-5<<2)>>2]>>16,n[k+8>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-5<<2)>>2]&65535,n[k+8>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-6<<2)>>2]>>16,n[k+10>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-6<<2)>>2]&65535,n[k+10>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-7<<2)>>2]>>16,n[k+12>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-7<<2)>>2]&65535,n[k+12>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-8<<2)>>2]>>16,n[k+14>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-8<<2)>>2]&65535,n[k+14>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-9<<2)>>2]>>16,n[k+16>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-9<<2)>>2]&65535,n[k+16>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-10<<2)>>2]>>16,n[k+18>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-10<<2)>>2]&65535,n[k+18>>1]|0)|0)>>16));if((f[(f[u>>2]|0)+2340>>2]|0)==16){s=re(f[o+(16+(f[d>>2]|0)-11<<2)>>2]>>16,n[k+20>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-11<<2)>>2]&65535,n[k+20>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-12<<2)>>2]>>16,n[k+22>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-12<<2)>>2]&65535,n[k+22>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-13<<2)>>2]>>16,n[k+24>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-13<<2)>>2]&65535,n[k+24>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-14<<2)>>2]>>16,n[k+26>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-14<<2)>>2]&65535,n[k+26>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-15<<2)>>2]>>16,n[k+28>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-15<<2)>>2]&65535,n[k+28>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-16<<2)>>2]>>16,n[k+30>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-16<<2)>>2]&65535,n[k+30>>1]|0)|0)>>16))}f[o+(16+(f[d>>2]|0)<<2)>>2]=(f[o+(16+(f[d>>2]|0)<<2)>>2]|0)+(f[v>>2]<<4);if(((n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0)<=32767)if(((n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0)<-32768)a=-32768;else a=(n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0;else a=32767;n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]=a;f[d>>2]=(f[d>>2]|0)+1}a=(f[p>>2]|0)+1312|0;i=o+(f[b>>2]<<2)|0;t=a+64|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));de(f[w>>2]|0);h=g;return}function Ga(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Ka(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Ka(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Xa(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=($a(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Xa(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function $a(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Qa(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;a=d+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;k=d+12|0;b=d+8|0;w=d+4|0;c=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;f[c>>2]=255;while(1){if((f[c>>2]|0)<=(f[s>>2]|0))break;f[c>>2]=f[c>>2]>>1}f[k>>2]=f[f[u>>2]>>2];f[b>>2]=0;while(1){i=f[k>>2]|0;if((f[b>>2]|0)>=(f[s>>2]|0))break;f[k>>2]=907633515+(re(i,196314165)|0);f[w>>2]=f[k>>2]>>24&f[c>>2];n=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;n=n+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((n+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0)<=32767){n=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;n=n+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((n+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0)<-32768)i=-32768;else{i=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;i=i+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;i=i+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0}}else i=32767;f[(f[a>>2]|0)+(f[b>>2]<<2)>>2]=(i&65535)<<16>>16;f[b>>2]=(f[b>>2]|0)+1}f[f[u>>2]>>2]=i;h=d;return}function eo(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;v=h;h=h+48|0;l=v+40|0;_=v+36|0;s=v+32|0;g=v+28|0;y=v+24|0;u=v+20|0;c=v+16|0;k=v+12|0;d=v+8|0;b=v+44|0;p=v+4|0;w=v;f[l>>2]=e;f[_>>2]=r;f[s>>2]=i;f[g>>2]=n;f[y>>2]=a;f[u>>2]=o;t[b+1>>0]=0;f[p>>2]=f[_>>2];f[c>>2]=(((f[y>>2]|0)+(f[g>>2]<<1)&65535)<<16>>16)*7;f[w>>2]=30184+(f[c>>2]|0);f[s>>2]=(f[s>>2]|0)+8>>4;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[s>>2]|0))break;f[d>>2]=f[(f[u>>2]|0)+(f[c>>2]<<2)>>2];e:do{if((f[d>>2]|0)>0){t[b>>0]=t[(f[w>>2]|0)+((f[d>>2]&31|0)<6?f[d>>2]&31:6)>>0]|0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=16)break e;if(t[(f[p>>2]|0)+(f[k>>2]|0)>>0]|0)$e(f[l>>2]|0,(t[(f[p>>2]|0)+(f[k>>2]|0)>>0]>>15)+1|0,b,8);f[k>>2]=(f[k>>2]|0)+1}}}while(0);f[p>>2]=(f[p>>2]|0)+16;f[c>>2]=(f[c>>2]|0)+1}h=v;return}function ro(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;g=h;h=h+48|0;s=g+40|0;m=g+36|0;u=g+32|0;y=g+28|0;_=g+24|0;c=g+20|0;b=g+16|0;d=g+12|0;p=g+8|0;w=g+44|0;v=g+4|0;k=g;f[s>>2]=e;f[m>>2]=r;f[u>>2]=i;f[y>>2]=a;f[_>>2]=o;f[c>>2]=l;t[w+1>>0]=0;f[v>>2]=f[m>>2];f[b>>2]=(((f[_>>2]|0)+(f[y>>2]<<1)&65535)<<16>>16)*7;f[k>>2]=30184+(f[b>>2]|0);f[u>>2]=(f[u>>2]|0)+8>>4;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[u>>2]|0))break;f[p>>2]=f[(f[c>>2]|0)+(f[b>>2]<<2)>>2];e:do{if((f[p>>2]|0)>0){t[w>>0]=t[(f[k>>2]|0)+((f[p>>2]&31|0)<6?f[p>>2]&31:6)>>0]|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=16)break e;if((n[(f[v>>2]|0)+(f[d>>2]<<1)>>1]|0)>0){_=((Fe(f[s>>2]|0,w,8)|0)<<1)-1|0;m=(f[v>>2]|0)+(f[d>>2]<<1)|0;n[m>>1]=re(n[m>>1]|0,_)|0}f[d>>2]=(f[d>>2]|0)+1}}}while(0);f[v>>2]=(f[v>>2]|0)+32;f[b>>2]=(f[b>>2]|0)+1}h=g;return}function io(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;vs(f[i>>2]|0,0,4260)|0;f[(f[i>>2]|0)+2376>>2]=1;f[f[i>>2]>>2]=65536;ni(f[i>>2]|0);vf(f[i>>2]|0);h=r;return 0}function to(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;D=h;h=h+144|0;w=D+100|0;k=D+96|0;d=D+92|0;u=D+88|0;p=D+84|0;T=D+80|0;x=D+76|0;O=D+72|0;j=D+68|0;U=D+64|0;S=D+60|0;B=D+56|0;g=D+52|0;_=D+48|0;C=D+44|0;y=D+104|0;A=D+40|0;E=D+36|0;m=D+32|0;M=D+28|0;R=D+24|0;b=D+20|0;c=D+16|0;P=D+12|0;L=D+8|0;I=D+4|0;v=D;f[w>>2]=e;f[k>>2]=r;f[d>>2]=i;f[u>>2]=a;f[p>>2]=o;f[O>>2]=0;i=f[(f[w>>2]|0)+2336>>2]|0;f[v>>2]=he()|0;a=h;h=h+((1*(i<<1)|0)+15&-16)|0;i=h;h=h+((1*((f[(f[w>>2]|0)+2336>>2]|0)+(f[(f[w>>2]|0)+2328>>2]|0)<<2)|0)+15&-16)|0;l=h;h=h+((1*(f[(f[w>>2]|0)+2332>>2]<<2)|0)+15&-16)|0;s=h;h=h+((1*((f[(f[w>>2]|0)+2332>>2]|0)+16<<2)|0)+15&-16)|0;f[c>>2]=n[24558+(t[(f[w>>2]|0)+2736+29>>0]>>1<<2)+(t[(f[w>>2]|0)+2736+30>>0]<<1)>>1];if((t[(f[w>>2]|0)+2736+31>>0]|0)<4)f[S>>2]=1;else f[S>>2]=0;f[b>>2]=t[(f[w>>2]|0)+2736+34>>0];f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2328>>2]|0))break;f[b>>2]=907633515+(re(f[b>>2]|0,196314165)|0);f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]=n[(f[u>>2]|0)+(f[T>>2]<<1)>>1]<<14;o=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;e=f[o>>2]|0;if((f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]|0)<=0){if((e|0)<0){r=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+1280}}else f[o>>2]=e-1280;r=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+(f[c>>2]<<4);if((f[b>>2]|0)<0)f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]=0-(f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]|0);f[b>>2]=(f[b>>2]|0)+(n[(f[u>>2]|0)+(f[T>>2]<<1)>>1]|0);f[T>>2]=(f[T>>2]|0)+1}o=s;e=(f[w>>2]|0)+1284|0;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));f[L>>2]=(f[w>>2]|0)+4;f[C>>2]=f[d>>2];f[U>>2]=f[(f[w>>2]|0)+2336>>2];f[x>>2]=0;while(1){if((f[x>>2]|0)>=(f[(f[w>>2]|0)+2324>>2]|0))break;f[I>>2]=l;f[g>>2]=(f[k>>2]|0)+32+(f[x>>2]>>1<<5);gs(y|0,f[g>>2]|0,f[(f[w>>2]|0)+2340>>2]<<1|0)|0;f[_>>2]=(f[k>>2]|0)+96+((f[x>>2]|0)*5<<1);f[B>>2]=t[(f[w>>2]|0)+2736+29>>0];f[m>>2]=f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]>>6;f[M>>2]=no(f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0,47)|0;e:do{if((f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0)!=(f[f[w>>2]>>2]|0)){f[R>>2]=ao(f[f[w>>2]>>2]|0,f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0,16)|0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=16)break e;b=re(f[R>>2]>>16,(f[s+(f[T>>2]<<2)>>2]&65535)<<16>>16)|0;b=b+((re(f[R>>2]&65535,(f[s+(f[T>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[R>>2]|0,(f[s+(f[T>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[s+(f[T>>2]<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}else f[R>>2]=65536}while(0);f[f[w>>2]>>2]=f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2];if((f[(f[w>>2]|0)+4160>>2]|0?(f[(f[w>>2]|0)+4164>>2]|0)==2:0)?(f[x>>2]|0)<2?(t[(f[w>>2]|0)+2736+29>>0]|0)!=2:0:0){b=f[_>>2]|0;n[b>>1]=0;n[b+2>>1]=0;n[b+4>>1]=0;n[b+6>>1]=0;n[b+8>>1]=0;n[(f[_>>2]|0)+4>>1]=4096;f[B>>2]=2;f[(f[k>>2]|0)+(f[x>>2]<<2)>>2]=f[(f[w>>2]|0)+2308>>2]}e:do{if((f[B>>2]|0)==2){f[O>>2]=f[(f[k>>2]|0)+(f[x>>2]<<2)>>2];if(f[x>>2]|0?!((f[x>>2]|0)==2&(f[S>>2]|0)!=0):0){if((f[R>>2]|0)==65536)break;f[T>>2]=0;while(1){if((f[T>>2]|0)>=((f[O>>2]|0)+2|0))break e;b=re(f[R>>2]>>16,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;b=b+((re(f[R>>2]&65535,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[R>>2]|0,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}f[j>>2]=(f[(f[w>>2]|0)+2336>>2]|0)-(f[O>>2]|0)-(f[(f[w>>2]|0)+2340>>2]|0)-2;if((f[x>>2]|0)==2)gs((f[w>>2]|0)+1348+(f[(f[w>>2]|0)+2336>>2]<<1)|0,f[d>>2]|0,f[(f[w>>2]|0)+2332>>2]<<1<<1|0)|0;b=(f[j>>2]|0)+(re(f[x>>2]|0,f[(f[w>>2]|0)+2332>>2]|0)|0)|0;za(a+(f[j>>2]<<1)|0,(f[w>>2]|0)+1348+(b<<1)|0,f[g>>2]|0,(f[(f[w>>2]|0)+2336>>2]|0)-(f[j>>2]|0)|0,f[(f[w>>2]|0)+2340>>2]|0,f[p>>2]|0);if(!(f[x>>2]|0)){b=re(f[M>>2]>>16,(f[(f[k>>2]|0)+136>>2]&65535)<<16>>16)|0;f[M>>2]=b+((re(f[M>>2]&65535,(f[(f[k>>2]|0)+136>>2]&65535)<<16>>16)|0)>>16)<<2}f[T>>2]=0;while(1){if((f[T>>2]|0)>=((f[O>>2]|0)+2|0))break e;b=re(f[M>>2]>>16,n[a+((f[(f[w>>2]|0)+2336>>2]|0)-(f[T>>2]|0)-1<<1)>>1]|0)|0;b=b+((re(f[M>>2]&65535,n[a+((f[(f[w>>2]|0)+2336>>2]|0)-(f[T>>2]|0)-1<<1)>>1]|0)|0)>>16)|0;f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}}while(0);e:do{if((f[B>>2]|0)==2){f[P>>2]=i+((f[U>>2]|0)-(f[O>>2]|0)+2<<2);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2332>>2]|0))break e;f[A>>2]=2;b=re(f[f[P>>2]>>2]>>16,n[f[_>>2]>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[f[P>>2]>>2]&65535,n[f[_>>2]>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-4>>2]>>16,n[(f[_>>2]|0)+2>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-4>>2]&65535,n[(f[_>>2]|0)+2>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-8>>2]>>16,n[(f[_>>2]|0)+4>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-8>>2]&65535,n[(f[_>>2]|0)+4>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-12>>2]>>16,n[(f[_>>2]|0)+6>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-12>>2]&65535,n[(f[_>>2]|0)+6>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-16>>2]>>16,n[(f[_>>2]|0)+8>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-16>>2]&65535,n[(f[_>>2]|0)+8>>1]|0)|0)>>16));f[P>>2]=(f[P>>2]|0)+4;f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]=(f[(f[L>>2]|0)+(f[T>>2]<<2)>>2]|0)+(f[A>>2]<<1);f[i+(f[U>>2]<<2)>>2]=f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]<<1;f[U>>2]=(f[U>>2]|0)+1;f[T>>2]=(f[T>>2]|0)+1}}else f[I>>2]=f[L>>2]}while(0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2332>>2]|0))break;f[E>>2]=f[(f[w>>2]|0)+2340>>2]>>1;b=re(f[s+(16+(f[T>>2]|0)-1<<2)>>2]>>16,n[y>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-1<<2)>>2]&65535,n[y>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-2<<2)>>2]>>16,n[y+2>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-2<<2)>>2]&65535,n[y+2>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-3<<2)>>2]>>16,n[y+4>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-3<<2)>>2]&65535,n[y+4>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-4<<2)>>2]>>16,n[y+6>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-4<<2)>>2]&65535,n[y+6>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-5<<2)>>2]>>16,n[y+8>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-5<<2)>>2]&65535,n[y+8>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-6<<2)>>2]>>16,n[y+10>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-6<<2)>>2]&65535,n[y+10>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-7<<2)>>2]>>16,n[y+12>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-7<<2)>>2]&65535,n[y+12>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-8<<2)>>2]>>16,n[y+14>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-8<<2)>>2]&65535,n[y+14>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-9<<2)>>2]>>16,n[y+16>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-9<<2)>>2]&65535,n[y+16>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-10<<2)>>2]>>16,n[y+18>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-10<<2)>>2]&65535,n[y+18>>1]|0)|0)>>16));if((f[(f[w>>2]|0)+2340>>2]|0)==16){b=re(f[s+(16+(f[T>>2]|0)-11<<2)>>2]>>16,n[y+20>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-11<<2)>>2]&65535,n[y+20>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-12<<2)>>2]>>16,n[y+22>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-12<<2)>>2]&65535,n[y+22>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-13<<2)>>2]>>16,n[y+24>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-13<<2)>>2]&65535,n[y+24>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-14<<2)>>2]>>16,n[y+26>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-14<<2)>>2]&65535,n[y+26>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-15<<2)>>2]>>16,n[y+28>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-15<<2)>>2]&65535,n[y+28>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-16<<2)>>2]>>16,n[y+30>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-16<<2)>>2]&65535,n[y+30>>1]|0)|0)>>16))}f[s+(16+(f[T>>2]|0)<<2)>>2]=(f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]|0)+(f[E>>2]<<4);b=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;b=b+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;if(((b+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){b=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;b=b+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;if(((b+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)o=-32768;else{o=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;o=o+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;o=(o+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1}}else o=32767;n[(f[C>>2]|0)+(f[T>>2]<<1)>>1]=o;f[T>>2]=(f[T>>2]|0)+1}o=s;e=s+(f[(f[w>>2]|0)+2332>>2]<<2)|0;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));f[L>>2]=(f[L>>2]|0)+(f[(f[w>>2]|0)+2332>>2]<<2);f[C>>2]=(f[C>>2]|0)+(f[(f[w>>2]|0)+2332>>2]<<1);f[x>>2]=(f[x>>2]|0)+1}o=(f[w>>2]|0)+1284|0;e=s;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));de(f[v>>2]|0);h=D;return}function no(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(fo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function fo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ao(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(fo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(fo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function oo(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+192|0;s=E+180|0;u=E+176|0;c=E+172|0;b=E+168|0;w=E+164|0;k=E+160|0;d=E+156|0;v=E+152|0;g=E+148|0;_=E+144|0;y=E+4|0;p=E;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[_>>2]=0;f[v>>2]=f[(f[s>>2]|0)+2328>>2];f[y+136>>2]=0;do{if(!(f[w>>2]|0))m=4;else{if((f[w>>2]|0)==2?(f[(f[s>>2]|0)+2420+(f[(f[s>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){m=4;break}gf(f[s>>2]|0,y,f[c>>2]|0,1,f[d>>2]|0)}}while(0);if((m|0)==4){r=(f[v>>2]|0)+16-1&-16;f[p>>2]=he()|0;m=h;h=h+((1*(r<<1)|0)+15&-16)|0;so(f[s>>2]|0,f[u>>2]|0,f[(f[s>>2]|0)+2388>>2]|0,f[w>>2]|0,f[k>>2]|0);uo(f[u>>2]|0,m,t[(f[s>>2]|0)+2736+29>>0]|0,t[(f[s>>2]|0)+2736+30>>0]|0,f[(f[s>>2]|0)+2328>>2]|0);lo(f[s>>2]|0,y,f[k>>2]|0);to(f[s>>2]|0,y,f[c>>2]|0,m,f[d>>2]|0);gf(f[s>>2]|0,y,f[c>>2]|0,0,f[d>>2]|0);f[(f[s>>2]|0)+4160>>2]=0;f[(f[s>>2]|0)+4164>>2]=t[(f[s>>2]|0)+2736+29>>0];f[(f[s>>2]|0)+2376>>2]=0;de(f[p>>2]|0)}f[g>>2]=(f[(f[s>>2]|0)+2336>>2]|0)-(f[(f[s>>2]|0)+2328>>2]|0);ys((f[s>>2]|0)+1348|0,(f[s>>2]|0)+1348+(f[(f[s>>2]|0)+2328>>2]<<1)|0,f[g>>2]<<1|0)|0;gs((f[s>>2]|0)+1348+(f[g>>2]<<1)|0,f[c>>2]|0,f[(f[s>>2]|0)+2328>>2]<<1|0)|0;Ja(f[s>>2]|0,y,f[c>>2]|0,f[v>>2]|0);Of(f[s>>2]|0,f[c>>2]|0,f[v>>2]|0);f[(f[s>>2]|0)+2308>>2]=f[y+((f[(f[s>>2]|0)+2324>>2]|0)-1<<2)>>2];f[f[b>>2]>>2]=f[v>>2];h=E;return f[_>>2]|0}function lo(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+96|0;a=k+24|0;o=k+20|0;d=k+16|0;u=k+12|0;c=k+8|0;l=k+4|0;w=k+64|0;b=k+32|0;s=k;f[a>>2]=e;f[o>>2]=r;f[d>>2]=i;Ro((f[o>>2]|0)+16|0,(f[a>>2]|0)+2736|0,(f[a>>2]|0)+2312|0,(f[d>>2]|0)==2&1,f[(f[a>>2]|0)+2324>>2]|0);Po(w,(f[a>>2]|0)+2736+8|0,f[(f[a>>2]|0)+2732>>2]|0);Za((f[o>>2]|0)+32+32|0,w,f[(f[a>>2]|0)+2340>>2]|0);if((f[(f[a>>2]|0)+2376>>2]|0)==1)t[(f[a>>2]|0)+2736+31>>0]=4;if((t[(f[a>>2]|0)+2736+31>>0]|0)<4){f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[a>>2]|0)+2340>>2]|0))break;d=(n[(f[a>>2]|0)+2344+(f[u>>2]<<1)>>1]|0)+((re(t[(f[a>>2]|0)+2736+31>>0]|0,(n[w+(f[u>>2]<<1)>>1]|0)-(n[(f[a>>2]|0)+2344+(f[u>>2]<<1)>>1]|0)|0)|0)>>2)&65535;n[b+(f[u>>2]<<1)>>1]=d;f[u>>2]=(f[u>>2]|0)+1}Za((f[o>>2]|0)+32|0,b,f[(f[a>>2]|0)+2340>>2]|0)}else gs((f[o>>2]|0)+32|0,(f[o>>2]|0)+32+32|0,f[(f[a>>2]|0)+2340>>2]<<1|0)|0;gs((f[a>>2]|0)+2344|0,w|0,f[(f[a>>2]|0)+2340>>2]<<1|0)|0;if(f[(f[a>>2]|0)+4160>>2]|0){Ia((f[o>>2]|0)+32|0,f[(f[a>>2]|0)+2340>>2]|0,63570);Ia((f[o>>2]|0)+32+32|0,f[(f[a>>2]|0)+2340>>2]|0,63570)}if((t[(f[a>>2]|0)+2736+29>>0]|0)!=2){vs(f[o>>2]|0,0,f[(f[a>>2]|0)+2324>>2]<<2|0)|0;vs((f[o>>2]|0)+96|0,0,(f[(f[a>>2]|0)+2324>>2]|0)*5<<1|0)|0;t[(f[a>>2]|0)+2736+32>>0]=0;f[(f[o>>2]|0)+136>>2]=0;h=k;return}Ca(n[(f[a>>2]|0)+2736+26>>1]|0,t[(f[a>>2]|0)+2736+28>>0]|0,f[o>>2]|0,f[(f[a>>2]|0)+2316>>2]|0,f[(f[a>>2]|0)+2324>>2]|0);f[s>>2]=f[17644+(t[(f[a>>2]|0)+2736+32>>0]<<2)>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[(f[a>>2]|0)+2324>>2]|0))break;f[l>>2]=t[(f[a>>2]|0)+2736+4+(f[c>>2]|0)>>0];f[u>>2]=0;while(1){if((f[u>>2]|0)>=5)break;n[(f[o>>2]|0)+96+(((f[c>>2]|0)*5|0)+(f[u>>2]|0)<<1)>>1]=t[(f[s>>2]|0)+(((f[l>>2]|0)*5|0)+(f[u>>2]|0))>>0]<<7;f[u>>2]=(f[u>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}f[l>>2]=t[(f[a>>2]|0)+2736+33>>0];f[(f[o>>2]|0)+136>>2]=n[24566+(f[l>>2]<<1)>>1];h=k;return}function so(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+96|0;l=g+36|0;s=g+32|0;y=g+28|0;_=g+24|0;u=g+20|0;d=g+16|0;p=g+12|0;c=g+8|0;b=g+4|0;w=g;k=g+40|0;v=g+72|0;f[l>>2]=e;f[s>>2]=r;f[y>>2]=i;f[_>>2]=a;f[u>>2]=o;if(!(f[_>>2]|0)?!(f[(f[l>>2]|0)+2404+(f[y>>2]<<2)>>2]|0):0)f[c>>2]=Fe(f[s>>2]|0,29024,8)|0;else f[c>>2]=(Fe(f[s>>2]|0,29020,8)|0)+2;t[(f[l>>2]|0)+2736+29>>0]=f[c>>2]>>1;t[(f[l>>2]|0)+2736+30>>0]=f[c>>2]&1;i=f[s>>2]|0;if((f[u>>2]|0)==2){_=(Fe(i,26771,8)|0)&255;t[(f[l>>2]|0)+2736>>0]=_}else{y=(Fe(i,26747+(t[(f[l>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;t[(f[l>>2]|0)+2736>>0]=y;y=((Fe(f[s>>2]|0,29049,8)|0)&255)<<24>>24;_=(f[l>>2]|0)+2736|0;t[_>>0]=(t[_>>0]|0)+y}f[d>>2]=1;while(1){i=f[s>>2]|0;if((f[d>>2]|0)>=(f[(f[l>>2]|0)+2324>>2]|0))break;_=(Fe(i,26771,8)|0)&255;t[(f[l>>2]|0)+2736+(f[d>>2]|0)>>0]=_;f[d>>2]=(f[d>>2]|0)+1}_=re(t[(f[l>>2]|0)+2736+29>>0]>>1,n[f[(f[l>>2]|0)+2732>>2]>>1]|0)|0;_=(Fe(i,(f[(f[(f[l>>2]|0)+2732>>2]|0)+12>>2]|0)+_|0,8)|0)&255;t[(f[l>>2]|0)+2736+8>>0]=_;fa(k,v,f[(f[l>>2]|0)+2732>>2]|0,t[(f[l>>2]|0)+2736+8>>0]|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(n[(f[(f[l>>2]|0)+2732>>2]|0)+2>>1]|0))break;f[c>>2]=Fe(f[s>>2]|0,(f[(f[(f[l>>2]|0)+2732>>2]|0)+24>>2]|0)+(n[k+(f[d>>2]<<1)>>1]|0)|0,8)|0;if(f[c>>2]|0){if((f[c>>2]|0)==8){_=Fe(f[s>>2]|0,29057,8)|0;f[c>>2]=(f[c>>2]|0)+_}}else{_=Fe(f[s>>2]|0,29057,8)|0;f[c>>2]=(f[c>>2]|0)-_}t[(f[l>>2]|0)+2736+8+((f[d>>2]|0)+1)>>0]=(f[c>>2]|0)-4;f[d>>2]=(f[d>>2]|0)+1}if((f[(f[l>>2]|0)+2324>>2]|0)==4){_=(Fe(f[s>>2]|0,29026,8)|0)&255;t[(f[l>>2]|0)+2736+31>>0]=_}else t[(f[l>>2]|0)+2736+31>>0]=4;if((t[(f[l>>2]|0)+2736+29>>0]|0)!=2){_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}f[b>>2]=1;if(((f[u>>2]|0)==2?(f[(f[l>>2]|0)+2396>>2]|0)==2:0)?(f[w>>2]=((Fe(f[s>>2]|0,29096,8)|0)&65535)<<16>>16,(f[w>>2]|0)>0):0){f[w>>2]=(f[w>>2]|0)-9;n[(f[l>>2]|0)+2736+26>>1]=(n[(f[l>>2]|0)+2400>>1]|0)+(f[w>>2]|0);f[b>>2]=0}if(f[b>>2]|0){y=((Fe(f[s>>2]|0,29064,8)|0)&65535)<<16>>16;y=(re(y,f[(f[l>>2]|0)+2316>>2]>>1)|0)&65535;n[(f[l>>2]|0)+2736+26>>1]=y;y=((Fe(f[s>>2]|0,f[(f[l>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;_=(f[l>>2]|0)+2736+26|0;n[_>>1]=(n[_>>1]|0)+y}n[(f[l>>2]|0)+2400>>1]=n[(f[l>>2]|0)+2736+26>>1]|0;_=(Fe(f[s>>2]|0,f[(f[l>>2]|0)+2384>>2]|0,8)|0)&255;t[(f[l>>2]|0)+2736+28>>0]=_;_=(Fe(f[s>>2]|0,26812,8)|0)&255;t[(f[l>>2]|0)+2736+32>>0]=_;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[(f[l>>2]|0)+2324>>2]|0))break;_=(Fe(f[s>>2]|0,f[17620+(t[(f[l>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;t[(f[l>>2]|0)+2736+4+(f[p>>2]|0)>>0]=_;f[p>>2]=(f[p>>2]|0)+1}if(!(f[u>>2]|0)){_=(Fe(f[s>>2]|0,29017,8)|0)&255;t[(f[l>>2]|0)+2736+33>>0]=_;_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}else{t[(f[l>>2]|0)+2736+33>>0]=0;_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}}function uo(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+224|0;s=A+212|0;u=A+208|0;c=A+204|0;b=A+200|0;w=A+196|0;d=A+192|0;v=A+188|0;g=A+184|0;p=A+180|0;k=A+176|0;y=A+172|0;o=A+168|0;E=A+88|0;_=A+8|0;m=A+4|0;l=A;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[o>>2]=Fe(f[s>>2]|0,29523+((f[c>>2]>>1)*9|0)|0,8)|0;f[p>>2]=f[w>>2]>>4;if((f[p>>2]<<4|0)<(f[w>>2]|0))f[p>>2]=(f[p>>2]|0)+1;f[l>>2]=29181+((f[o>>2]|0)*18|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;f[_+(f[d>>2]<<2)>>2]=0;i=Fe(f[s>>2]|0,f[l>>2]|0,8)|0;f[E+(f[d>>2]<<2)>>2]=i;while(1){o=f[d>>2]|0;if((f[E+(f[d>>2]<<2)>>2]|0)!=17)break;i=_+(o<<2)|0;f[i>>2]=(f[i>>2]|0)+1;i=Fe(f[s>>2]|0,29343+((f[_+(f[d>>2]<<2)>>2]|0)==10&1)|0,8)|0;f[E+(f[d>>2]<<2)>>2]=i}f[d>>2]=o+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;o=(f[u>>2]|0)+((f[d>>2]&65535)<<16>>16<<4<<1)|0;if((f[E+(f[d>>2]<<2)>>2]|0)>0)jf(o,f[s>>2]|0,f[E+(f[d>>2]<<2)>>2]|0);else{a=o+32|0;do{n[o>>1]=0;o=o+2|0}while((o|0)<(a|0))}f[d>>2]=(f[d>>2]|0)+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;if((f[_+(f[d>>2]<<2)>>2]|0)>0){f[y>>2]=f[_+(f[d>>2]<<2)>>2];f[m>>2]=(f[u>>2]|0)+((f[d>>2]&65535)<<16>>16<<4<<1);f[g>>2]=0;while(1){if((f[g>>2]|0)>=16)break;f[k>>2]=n[(f[m>>2]|0)+(f[g>>2]<<1)>>1];f[v>>2]=0;while(1){o=f[k>>2]|0;if((f[v>>2]|0)>=(f[y>>2]|0))break;f[k>>2]=o<<1;l=Fe(f[s>>2]|0,29015,8)|0;f[k>>2]=(f[k>>2]|0)+l;f[v>>2]=(f[v>>2]|0)+1}n[(f[m>>2]|0)+(f[g>>2]<<1)>>1]=o;f[g>>2]=(f[g>>2]|0)+1}l=E+(f[d>>2]<<2)|0;f[l>>2]=f[l>>2]|f[y>>2]<<5}f[d>>2]=(f[d>>2]|0)+1}ro(f[s>>2]|0,f[u>>2]|0,f[w>>2]|0,f[c>>2]|0,f[b>>2]|0,E);h=A;return}function ho(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;a=u+16|0;o=u+12|0;n=u+8|0;l=u+4|0;s=u;f[a>>2]=e;f[o>>2]=r;f[n>>2]=i;f[s>>2]=0;f[(f[a>>2]|0)+2332>>2]=((f[o>>2]&65535)<<16>>16)*5;f[l>>2]=re((f[(f[a>>2]|0)+2324>>2]&65535)<<16>>16,(f[(f[a>>2]|0)+2332>>2]&65535)<<16>>16)|0;if(!((f[(f[a>>2]|0)+2316>>2]|0)==(f[o>>2]|0)?(f[(f[a>>2]|0)+2320>>2]|0)==(f[n>>2]|0):0)){e=hi((f[a>>2]|0)+2432|0,((f[o>>2]&65535)<<16>>16)*1e3|0,f[n>>2]|0,0)|0;f[s>>2]=(f[s>>2]|0)+e;f[(f[a>>2]|0)+2320>>2]=f[n>>2]}if((f[(f[a>>2]|0)+2316>>2]|0)==(f[o>>2]|0)?(f[l>>2]|0)==(f[(f[a>>2]|0)+2328>>2]|0):0){s=f[s>>2]|0;h=u;return s|0}n=(f[(f[a>>2]|0)+2324>>2]|0)==4;i=(f[a>>2]|0)+2384|0;do{if((f[o>>2]|0)==8)if(n){f[i>>2]=29151;break}else{f[i>>2]=29174;break}else if(n){f[i>>2]=29117;break}else{f[i>>2]=29162;break}}while(0);if((f[(f[a>>2]|0)+2316>>2]|0)!=(f[o>>2]|0)){f[(f[a>>2]|0)+2336>>2]=((f[o>>2]&65535)<<16>>16)*20;n=(f[a>>2]|0)+2340|0;if((f[o>>2]|0)==8|(f[o>>2]|0)==12){f[n>>2]=10;f[(f[a>>2]|0)+2732>>2]=17668}else{f[n>>2]=16;f[(f[a>>2]|0)+2732>>2]=17704}do{if((f[o>>2]|0)!=16){if((f[o>>2]|0)==12){f[(f[a>>2]|0)+2380>>2]=29043;break}if((f[o>>2]|0)==8)f[(f[a>>2]|0)+2380>>2]=29034}else f[(f[a>>2]|0)+2380>>2]=29049}while(0);f[(f[a>>2]|0)+2376>>2]=1;f[(f[a>>2]|0)+2308>>2]=100;t[(f[a>>2]|0)+2312>>0]=10;f[(f[a>>2]|0)+4164>>2]=0;vs((f[a>>2]|0)+1348|0,0,960)|0;n=(f[a>>2]|0)+1284|0;i=n+64|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}f[(f[a>>2]|0)+2316>>2]=f[o>>2];f[(f[a>>2]|0)+2328>>2]=f[l>>2];s=f[s>>2]|0;h=u;return s|0}function co(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;t=i+4|0;r=i;f[t>>2]=e;f[r>>2]=0;f[f[t>>2]>>2]=8544;h=i;return f[r>>2]|0}function bo(e){e=e|0;var r=0,i=0,t=0,n=0,a=0;a=h;h=h+16|0;r=a+12|0;t=a+8|0;n=a+4|0;i=a;f[r>>2]=e;f[n>>2]=0;f[i>>2]=f[r>>2];f[t>>2]=0;while(1){if((f[t>>2]|0)>=2)break;f[n>>2]=io((f[i>>2]|0)+((f[t>>2]|0)*4260|0)|0)|0;f[t>>2]=(f[t>>2]|0)+1}t=(f[r>>2]|0)+8520|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[(f[r>>2]|0)+8540>>2]=0;h=a;return f[n>>2]|0}function wo(e,r,i,a,o,l,s,u){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0;z=h;h=h+784|0;A=z+128|0;H=z+124|0;S=z+120|0;R=z+116|0;Y=z+112|0;p=z+108|0;T=z+104|0;M=z+100|0;v=z+96|0;P=z+92|0;C=z+88|0;L=z+84|0;D=z+80|0;U=z+76|0;b=z+72|0;N=z+64|0;y=z+56|0;j=z+52|0;B=z+48|0;O=z+44|0;m=z+40|0;F=z+36|0;E=z+32|0;c=z+28|0;k=z+136|0;w=z+24|0;x=z+20|0;g=z+16|0;_=z+12|0;I=z;f[H>>2]=e;f[S>>2]=r;f[R>>2]=i;f[Y>>2]=a;f[p>>2]=o;f[T>>2]=l;f[M>>2]=s;f[v>>2]=u;f[L>>2]=0;f[D>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[B>>2]=f[H>>2];f[O>>2]=f[B>>2];e:do{if(f[Y>>2]|0){f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break e;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2388>>2]=0;f[C>>2]=(f[C>>2]|0)+1}}}while(0);if((f[(f[S>>2]|0)+4>>2]|0)>(f[(f[B>>2]|0)+8536>>2]|0)){H=io((f[O>>2]|0)+4260|0)|0;f[D>>2]=(f[D>>2]|0)+H}if((f[(f[S>>2]|0)+4>>2]|0)==1?(f[(f[B>>2]|0)+8536>>2]|0)==2:0)u=(f[(f[S>>2]|0)+12>>2]|0)==((f[(f[O>>2]|0)+2316>>2]|0)*1e3|0);else u=0;f[F>>2]=u&1;e:do{if(!(f[(f[O>>2]|0)+2388>>2]|0)){f[C>>2]=0;r:while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break e;do{if(!(f[(f[S>>2]|0)+16>>2]|0)){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=2}else{if((f[(f[S>>2]|0)+16>>2]|0)==10){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=2;break}if((f[(f[S>>2]|0)+16>>2]|0)==20){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4;break}if((f[(f[S>>2]|0)+16>>2]|0)==40){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=2;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4;break}if((f[(f[S>>2]|0)+16>>2]|0)!=60){d=23;break r}f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=3;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4}}while(0);f[c>>2]=(f[(f[S>>2]|0)+12>>2]>>10)+1;if((f[c>>2]|0)!=8&(f[c>>2]|0)!=12&(f[c>>2]|0)!=16){d=25;break}H=ho((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[c>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;f[C>>2]=(f[C>>2]|0)+1}if((d|0)==23){f[A>>2]=-203;H=f[A>>2]|0;h=z;return H|0}else if((d|0)==25){f[A>>2]=-200;H=f[A>>2]|0;h=z;return H|0}}}while(0);do{if((f[f[S>>2]>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0){if((f[(f[B>>2]|0)+8532>>2]|0)!=1?(f[(f[B>>2]|0)+8536>>2]|0)!=1:0)break;f[(f[B>>2]|0)+8520>>2]=0;f[(f[B>>2]|0)+8520+8>>2]=0;gs((f[O>>2]|0)+4260+2432|0,(f[O>>2]|0)+2432|0,300)|0}}while(0);f[(f[B>>2]|0)+8532>>2]=f[f[S>>2]>>2];f[(f[B>>2]|0)+8536>>2]=f[(f[S>>2]|0)+4>>2];if((f[(f[S>>2]|0)+8>>2]|0)<=48e3?(f[(f[S>>2]|0)+8>>2]|0)>=8e3:0){e:do{if((f[R>>2]|0)!=1?(f[(f[O>>2]|0)+2388>>2]|0)==0:0){f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;f[P>>2]=0;while(1){H=(f[P>>2]|0)<(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0);u=Ne(f[p>>2]|0,1)|0;if(!H)break;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2404+(f[P>>2]<<2)>>2]=u;f[P>>2]=(f[P>>2]|0)+1}f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2416>>2]=u;f[C>>2]=(f[C>>2]|0)+1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;H=(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;r:do{if(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2416>>2]|0){if((f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0)==1){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420>>2]=1;break}f[b>>2]=(Fe(f[p>>2]|0,f[17836+((f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0)-2<<2)>>2]|0,8)|0)+1;f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0))break r;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+(f[P>>2]<<2)>>2]=f[b>>2]>>f[P>>2]&1;f[P>>2]=(f[P>>2]|0)+1}}}while(0);f[C>>2]=(f[C>>2]|0)+1}if(!(f[R>>2]|0)){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[O>>2]|0)+2392>>2]|0))break e;f[C>>2]=0;while(1){u=f[P>>2]|0;if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;if(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+(u<<2)>>2]|0){do{if((f[C>>2]|0)==0?(f[(f[S>>2]|0)+4>>2]|0)==2:0){Ri(f[p>>2]|0,y);if(f[(f[O>>2]|0)+4260+2420+(f[P>>2]<<2)>>2]|0)break;Ti(f[p>>2]|0,L)}}while(0);do{if((f[P>>2]|0)>0){if(!(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+((f[P>>2]|0)-1<<2)>>2]|0)){d=64;break}f[w>>2]=2}else d=64}while(0);if((d|0)==64){d=0;f[w>>2]=0}so((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[p>>2]|0,f[P>>2]|0,1,f[w>>2]|0);uo(f[p>>2]|0,k,t[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2736+29>>0]|0,t[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2736+30>>0]|0,f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2328>>2]|0)}f[C>>2]=(f[C>>2]|0)+1}f[P>>2]=u+1}}}}while(0);e:do{if((f[(f[S>>2]|0)+4>>2]|0)==2){do{if(f[R>>2]|0){if((f[R>>2]|0)==2?(f[(f[O>>2]|0)+2420+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0)==1:0)break;f[C>>2]=0;while(1){if((f[C>>2]|0)>=2)break e;f[y+(f[C>>2]<<2)>>2]=n[(f[B>>2]|0)+8520+(f[C>>2]<<1)>>1];f[C>>2]=(f[C>>2]|0)+1}}}while(0);Ri(f[p>>2]|0,y);if(!((f[R>>2]|0)==0?!(f[(f[O>>2]|0)+4260+2404+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0):0))d=74;do{if((d|0)==74){if((f[R>>2]|0)==2?(f[(f[O>>2]|0)+4260+2420+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0)==0:0)break;f[L>>2]=0;break e}}while(0);Ti(f[p>>2]|0,L)}}while(0);if(((f[L>>2]|0)==0?(f[(f[S>>2]|0)+4>>2]|0)==2:0)?(f[(f[B>>2]|0)+8540>>2]|0)==1:0){vs((f[B>>2]|0)+4260+1348|0,0,960)|0;u=(f[B>>2]|0)+4260+1284|0;r=u+64|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(r|0));f[(f[B>>2]|0)+4260+2308>>2]=100;t[(f[B>>2]|0)+4260+2312>>0]=10;f[(f[B>>2]|0)+4260+4164>>2]=0;f[(f[B>>2]|0)+4260+2376>>2]=1}H=re(f[(f[S>>2]|0)+12>>2]|0,f[(f[S>>2]|0)+4>>2]|0)|0;f[E>>2]=(H|0)<(re(f[(f[S>>2]|0)+8>>2]|0,f[f[S>>2]>>2]|0)|0)&1;if(f[E>>2]|0)u=1;else u=re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0;f[x>>2]=he()|0;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if(f[E>>2]|0){f[N>>2]=f[T>>2];f[N+4>>2]=(f[T>>2]|0)+(f[(f[O>>2]|0)+2328>>2]<<1)+4}else{f[N>>2]=r;f[N+4>>2]=r+(f[(f[O>>2]|0)+2328>>2]<<1)+4}if(!(f[R>>2]|0))f[m>>2]=((f[L>>2]|0)!=0^1)&1;else{if(f[(f[B>>2]|0)+8540>>2]|0)if((f[R>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0)u=(f[(f[O>>2]|0)+4260+2420+(f[(f[O>>2]|0)+4260+2388>>2]<<2)>>2]|0)==1;else u=0;else u=1;f[m>>2]=u&1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;if((f[C>>2]|0)==0|(f[m>>2]|0)!=0){f[g>>2]=(f[(f[O>>2]|0)+2388>>2]|0)-(f[C>>2]|0);e:do{if((f[g>>2]|0)<=0)f[_>>2]=0;else{if((f[R>>2]|0)==2){f[_>>2]=f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+((f[g>>2]|0)-1<<2)>>2]|0?2:0;break}do{if((f[C>>2]|0)>0){if(!(f[(f[B>>2]|0)+8540>>2]|0))break;f[_>>2]=1;break e}}while(0);f[_>>2]=2}}while(0);H=oo((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[p>>2]|0,(f[N+(f[C>>2]<<2)>>2]|0)+4|0,U,f[R>>2]|0,f[_>>2]|0,f[v>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H}else vs((f[N+(f[C>>2]<<2)>>2]|0)+4|0,0,f[U>>2]<<1|0)|0;H=(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2388|0;f[H>>2]=(f[H>>2]|0)+1;f[C>>2]=(f[C>>2]|0)+1}if((f[f[S>>2]>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0)ca((f[B>>2]|0)+8520|0,f[N>>2]|0,f[N+4>>2]|0,y,f[(f[O>>2]|0)+2316>>2]|0,f[U>>2]|0);else{H=f[N>>2]|0;Y=(f[B>>2]|0)+8520+4|0;n[H>>1]=n[Y>>1]|0;n[H+2>>1]=n[Y+2>>1]|0;H=(f[B>>2]|0)+8520+4|0;Y=(f[N>>2]|0)+(f[U>>2]<<1)|0;n[H>>1]=n[Y>>1]|0;n[H+2>>1]=n[Y+2>>1]|0}H=re(f[U>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[f[M>>2]>>2]=(H|0)/(((f[(f[O>>2]|0)+2316>>2]&65535)<<16>>16)*1e3|0)|0;if((f[f[S>>2]>>2]|0)==2)u=f[f[M>>2]>>2]|0;else u=1;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if((f[f[S>>2]>>2]|0)==2)f[j>>2]=r;else f[j>>2]=f[T>>2];if(f[E>>2]|0)u=re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0;else u=1;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if(f[E>>2]|0){H=(re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0)<<1;gs(r|0,f[T>>2]|0,H+0|0)|0;f[N>>2]=r;f[N+4>>2]=r+(f[(f[O>>2]|0)+2328>>2]<<1)+4}f[C>>2]=0;while(1){u=f[S>>2]|0;if((f[f[S>>2]>>2]|0)<(f[(f[S>>2]|0)+4>>2]|0))u=f[u>>2]|0;else u=f[u+4>>2]|0;if((f[C>>2]|0)>=(u|0))break;H=ci((f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2432|0,f[j>>2]|0,(f[N+(f[C>>2]<<2)>>2]|0)+2|0,f[U>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;e:do{if((f[f[S>>2]>>2]|0)==2){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+((f[C>>2]|0)+(f[P>>2]<<1)<<1)>>1]=n[(f[j>>2]|0)+(f[P>>2]<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}}while(0);f[C>>2]=(f[C>>2]|0)+1}e:do{if((f[f[S>>2]>>2]|0)==2){if((f[(f[S>>2]|0)+4>>2]|0)!=1)break;if(f[F>>2]|0){H=ci((f[O>>2]|0)+4260+2432|0,f[j>>2]|0,(f[N>>2]|0)+2|0,f[U>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+(1+(f[P>>2]<<1)<<1)>>1]=n[(f[j>>2]|0)+(f[P>>2]<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}else{f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+(1+(f[P>>2]<<1)<<1)>>1]=n[(f[T>>2]|0)+(0+(f[P>>2]<<1)<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}}}while(0);if((f[(f[O>>2]|0)+4164>>2]|0)==2){f[I>>2]=f[4402];f[I+4>>2]=f[4403];f[I+8>>2]=f[4404];H=re(f[(f[O>>2]|0)+2308>>2]|0,f[I+((f[(f[O>>2]|0)+2316>>2]|0)-8>>2<<2)>>2]|0)|0;f[(f[S>>2]|0)+20>>2]=H}else f[(f[S>>2]|0)+20>>2]=0;e:do{if((f[R>>2]|0)==1){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[B>>2]|0)+8536>>2]|0))break e;t[(f[B>>2]|0)+((f[P>>2]|0)*4260|0)+2312>>0]=10;f[P>>2]=(f[P>>2]|0)+1}}else f[(f[B>>2]|0)+8540>>2]=f[L>>2]}while(0);f[A>>2]=f[D>>2];de(f[x>>2]|0);H=f[A>>2]|0;h=z;return H|0}f[D>>2]=-200;f[A>>2]=f[D>>2];H=f[A>>2]|0;h=z;return H|0}function ko(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;t=i+4|0;r=i;f[t>>2]=e;f[r>>2]=0;f[f[t>>2]>>2]=24568;h=i;return f[r>>2]|0}function po(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[s>>2]=0;f[l>>2]=f[t>>2];vs(f[l>>2]|0,0,24568)|0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=2)break;i=ka((f[l>>2]|0)+((f[o>>2]|0)*12240|0)|0,f[n>>2]|0)|0;f[s>>2]=(f[s>>2]|0)+i;f[o>>2]=(f[o>>2]|0)+1}f[(f[l>>2]|0)+24544>>2]=1;f[(f[l>>2]|0)+24548>>2]=1;l=vo(f[t>>2]|0,f[a>>2]|0)|0;f[s>>2]=(f[s>>2]|0)+l;h=u;return f[s>>2]|0}function vo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;a=h;h=h+32|0;l=a+16|0;i=a+12|0;t=a+8|0;n=a+4|0;o=a;f[l>>2]=e;f[i>>2]=r;f[t>>2]=0;f[o>>2]=f[l>>2];f[n>>2]=f[o>>2];f[f[i>>2]>>2]=f[(f[o>>2]|0)+24544>>2];f[(f[i>>2]|0)+4>>2]=f[(f[o>>2]|0)+24548>>2];f[(f[i>>2]|0)+8>>2]=f[(f[n>>2]|0)+4580>>2];f[(f[i>>2]|0)+12>>2]=f[(f[n>>2]|0)+4588>>2];f[(f[i>>2]|0)+16>>2]=f[(f[n>>2]|0)+4592>>2];f[(f[i>>2]|0)+20>>2]=f[(f[n>>2]|0)+4596>>2];f[(f[i>>2]|0)+24>>2]=f[(f[n>>2]|0)+4636>>2];f[(f[i>>2]|0)+28>>2]=f[(f[n>>2]|0)+4632>>2];f[(f[i>>2]|0)+32>>2]=f[(f[n>>2]|0)+4640>>2];f[(f[i>>2]|0)+36>>2]=f[(f[n>>2]|0)+4648>>2];f[(f[i>>2]|0)+40>>2]=f[(f[n>>2]|0)+6120>>2];f[(f[i>>2]|0)+44>>2]=f[(f[n>>2]|0)+6108>>2];f[(f[i>>2]|0)+48>>2]=f[(f[n>>2]|0)+4708>>2];f[(f[i>>2]|0)+68>>2]=((f[(f[n>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;f[(f[i>>2]|0)+72>>2]=f[(f[n>>2]|0)+4560>>2];if((f[(f[n>>2]|0)+4600>>2]|0)!=16){o=0;o=o&1;l=f[i>>2]|0;l=l+76|0;f[l>>2]=o;l=f[t>>2]|0;h=a;return l|0}o=(f[(f[n>>2]|0)+16+12>>2]|0)==0;o=o&1;l=f[i>>2]|0;l=l+76|0;f[l>>2]=o;l=f[t>>2]|0;h=a;return l|0}function go(e,r,i,a,o,l,s){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0;K=h;h=h+176|0;z=K+156|0;X=K+152|0;Y=K+148|0;w=K+144|0;k=K+140|0;d=K+136|0;p=K+132|0;H=K+128|0;W=K+124|0;T=K+120|0;L=K+116|0;R=K+112|0;G=K+108|0;J=K+104|0;V=K+100|0;C=K+96|0;U=K+92|0;P=K+88|0;I=K+84|0;c=K+80|0;B=K+76|0;y=K+72|0;g=K+64|0;m=K+56|0;v=K+52|0;j=K+48|0;Z=K+44|0;b=K+40|0;S=K+36|0;D=K+32|0;u=K+28|0;q=K+24|0;x=K+20|0;M=K+160|0;E=K+16|0;_=K+12|0;O=K+8|0;N=K+4|0;A=K;f[X>>2]=e;f[Y>>2]=r;f[w>>2]=i;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[H>>2]=s;f[G>>2]=0;f[J>>2]=0;f[V>>2]=0;f[I>>2]=0;f[Z>>2]=f[X>>2];if(f[(f[Y>>2]|0)+64>>2]|0){f[(f[Z>>2]|0)+4696>>2]=1;f[(f[Z>>2]|0)+12240+4696>>2]=1}f[(f[Z>>2]|0)+12240+5780>>2]=0;f[(f[Z>>2]|0)+5780>>2]=0;X=ba(f[Y>>2]|0)|0;f[V>>2]=X;if(X|0){f[z>>2]=f[V>>2];X=f[z>>2]|0;h=K;return X|0}f[(f[Y>>2]|0)+84>>2]=0;if((f[(f[Y>>2]|0)+4>>2]|0)>(f[(f[Z>>2]|0)+24548>>2]|0)?(X=ka((f[Z>>2]|0)+12240|0,f[(f[Z>>2]|0)+5124>>2]|0)|0,f[V>>2]=(f[V>>2]|0)+X,f[(f[Z>>2]|0)+24480>>2]=0,f[(f[Z>>2]|0)+24480+8>>2]=0,f[(f[Z>>2]|0)+24480+12>>2]=0,f[(f[Z>>2]|0)+24480+12+4>>2]=1,f[(f[Z>>2]|0)+24480+12+8>>2]=0,f[(f[Z>>2]|0)+24480+12+12>>2]=1,n[(f[Z>>2]|0)+24480+30>>1]=0,n[(f[Z>>2]|0)+24480+28>>1]=16384,(f[(f[Z>>2]|0)+24544>>2]|0)==2):0){gs((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+5808|0,300)|0;X=(f[Z>>2]|0)+12240|0;i=f[Z>>2]|0;f[X>>2]=f[i>>2];f[X+4>>2]=f[i+4>>2]}if((f[(f[Y>>2]|0)+24>>2]|0)!=(f[(f[Z>>2]|0)+4636>>2]|0))r=1;else r=(f[(f[Z>>2]|0)+24548>>2]|0)!=(f[(f[Y>>2]|0)+4>>2]|0);f[b>>2]=r&1;f[(f[Z>>2]|0)+24544>>2]=f[f[Y>>2]>>2];f[(f[Z>>2]|0)+24548>>2]=f[(f[Y>>2]|0)+4>>2];f[P>>2]=((f[k>>2]|0)*100|0)/(f[(f[Y>>2]|0)+8>>2]|0)|0;f[D>>2]=(f[P>>2]|0)>1?f[P>>2]>>1:1;f[S>>2]=0;r=f[P>>2]|0;e:do{if(!(f[H>>2]|0)){X=re(r,f[(f[Y>>2]|0)+8>>2]|0)|0;if((f[k>>2]|0)<0?1:(X|0)!=((f[k>>2]|0)*100|0)){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}if(((f[k>>2]|0)*1e3|0)>(re(f[(f[Y>>2]|0)+24>>2]|0,f[(f[Y>>2]|0)+8>>2]|0)|0)){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}}else{if((r|0)!=1){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[V>>2]=ka((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5124>>2]|0)|0;f[W>>2]=(f[W>>2]|0)+1}f[G>>2]=f[(f[Y>>2]|0)+24>>2];f[(f[Y>>2]|0)+24>>2]=10;f[J>>2]=f[(f[Y>>2]|0)+36>>2];f[(f[Y>>2]|0)+36>>2]=0;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4712>>2]=1;f[W>>2]=(f[W>>2]|0)+1}}}while(0);f[y>>2]=f[(f[Y>>2]|0)+28>>2]>>(f[(f[Y>>2]|0)+4>>2]|0)-1;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;if((f[W>>2]|0)==1)r=f[(f[Z>>2]|0)+4600>>2]|0;else r=0;f[u>>2]=r;X=da((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[Y>>2]|0,f[y>>2]|0,f[(f[Z>>2]|0)+24560>>2]|0,f[W>>2]|0,f[u>>2]|0)|0;f[V>>2]=X;if(X|0){F=28;break}e:do{if(f[b>>2]|0?1:(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4696>>2]|0)!=0){f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[Z>>2]|0)+5776>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(f[T>>2]<<2)>>2]=0;f[T>>2]=(f[T>>2]|0)+1}}}while(0);f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6112>>2]=f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6108>>2];f[W>>2]=(f[W>>2]|0)+1}if((F|0)==28){f[z>>2]=f[V>>2];X=f[z>>2]|0;h=K;return X|0}f[U>>2]=re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+4600>>2]|0)|0;X=re(f[U>>2]|0,f[(f[Z>>2]|0)+4580>>2]|0)|0;f[c>>2]=(X|0)/((f[(f[Z>>2]|0)+4600>>2]|0)*1e3|0)|0;X=f[c>>2]|0;f[q>>2]=he()|0;e=h;h=h+((1*(X<<1)|0)+15&-16)|0;while(1){f[C>>2]=(f[(f[Z>>2]|0)+4608>>2]|0)-(f[(f[Z>>2]|0)+5772>>2]|0);f[C>>2]=(f[C>>2]|0)<(f[U>>2]|0)?f[C>>2]|0:f[U>>2]|0;X=re(f[C>>2]|0,f[(f[Z>>2]|0)+4580>>2]|0)|0;f[I>>2]=(X|0)/((f[(f[Z>>2]|0)+4600>>2]|0)*1e3|0)|0;if((f[f[Y>>2]>>2]|0)==2?(f[(f[Y>>2]|0)+4>>2]|0)==2:0){f[x>>2]=f[(f[Z>>2]|0)+5780>>2];f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;n[e+(f[W>>2]<<1)>>1]=n[(f[w>>2]|0)+(f[W>>2]<<1<<1)>>1]|0;f[W>>2]=(f[W>>2]|0)+1}if((f[x>>2]|0)==0?(f[(f[Z>>2]|0)+24552>>2]|0)==1:0)gs((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+5808|0,300)|0;X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0);f[C>>2]=(f[(f[Z>>2]|0)+12240+4608>>2]|0)-(f[(f[Z>>2]|0)+12240+5772>>2]|0);if((f[C>>2]|0)<(re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+12240+4600>>2]|0)|0))r=f[C>>2]|0;else r=re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+12240+4600>>2]|0)|0;f[C>>2]=r;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;n[e+(f[W>>2]<<1)>>1]=n[(f[w>>2]|0)+((f[W>>2]<<1)+1<<1)>>1]|0;f[W>>2]=(f[W>>2]|0)+1}X=ci((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+12240+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0)}else F=49;do{if((F|0)==49){F=0;if((f[f[Y>>2]>>2]|0)==2?(f[(f[Y>>2]|0)+4>>2]|0)==1:0){f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;f[j>>2]=(n[(f[w>>2]|0)+(f[W>>2]<<1<<1)>>1]|0)+(n[(f[w>>2]|0)+((f[W>>2]<<1)+1<<1)>>1]|0);n[e+(f[W>>2]<<1)>>1]=(f[j>>2]>>1)+(f[j>>2]&1);f[W>>2]=(f[W>>2]|0)+1}X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;e:do{if((f[(f[Z>>2]|0)+24552>>2]|0)==2?(f[(f[Z>>2]|0)+5780>>2]|0)==0:0){X=ci((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Z>>2]|0)+4608>>2]|0))break e;n[(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]=(n[(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]|0)+(n[(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]|0)>>1;f[W>>2]=(f[W>>2]|0)+1}}}while(0);X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0);break}gs(e|0,f[w>>2]|0,f[I>>2]<<1|0)|0;X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0)}}while(0);X=re(f[I>>2]|0,f[f[Y>>2]>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+(X<<1);f[k>>2]=(f[k>>2]|0)-(f[I>>2]|0);f[(f[Z>>2]|0)+24560>>2]=0;if((f[(f[Z>>2]|0)+5772>>2]|0)<(f[(f[Z>>2]|0)+4608>>2]|0))break;if(!(f[H>>2]|0?1:(f[(f[Z>>2]|0)+5780>>2]|0)!=0)){t[M>>0]=0;t[M+1>>0]=0;t[M>>0]=256-(256>>(re((f[(f[Z>>2]|0)+5776>>2]|0)+1|0,f[(f[Y>>2]|0)+4>>2]|0)|0));$e(f[d>>2]|0,0,M,8);f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[v>>2]=0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0))break;f[v>>2]=f[v>>2]|f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(f[T>>2]<<2)>>2]<>2];f[T>>2]=(f[T>>2]|0)+1}t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4755>>0]=(f[v>>2]|0)>0?1:0;if(f[v>>2]|0?(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0)>1:0)$e(f[d>>2]|0,(f[v>>2]|0)-1|0,f[17836+((f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0)-2<<2)>>2]|0,8);f[W>>2]=(f[W>>2]|0)+1}f[T>>2]=0;while(1){X=(f[T>>2]|0)<(f[(f[Z>>2]|0)+5776>>2]|0);f[W>>2]=0;if(!X)break;while(1){r=f[T>>2]|0;if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;if(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(r<<2)>>2]|0){if(((f[W>>2]|0)==0?(f[(f[Y>>2]|0)+4>>2]|0)==2:0)?(Mi(f[d>>2]|0,(f[Z>>2]|0)+24480+34+((f[T>>2]|0)*6|0)|0),(f[(f[Z>>2]|0)+12240+4756+(f[T>>2]<<2)>>2]|0)==0):0)xi(f[d>>2]|0,t[(f[Z>>2]|0)+24480+52+(f[T>>2]|0)>>0]|0);if((f[T>>2]|0)>0?f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+((f[T>>2]|0)-1<<2)>>2]|0:0)f[E>>2]=2;else f[E>>2]=0;_o((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[d>>2]|0,f[T>>2]|0,1,f[E>>2]|0);mo(f[d>>2]|0,t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6132+((f[T>>2]|0)*36|0)+29>>0]|0,t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6132+((f[T>>2]|0)*36|0)+30>>0]|0,(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6240+((f[T>>2]|0)*320|0)|0,f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4608>>2]|0)}f[W>>2]=(f[W>>2]|0)+1}f[T>>2]=r+1}while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;X=(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[W>>2]=(f[W>>2]|0)+1}X=yo(f[d>>2]|0)|0;f[(f[Z>>2]|0)+24536>>2]=X}$f(f[Z>>2]|0);f[L>>2]=(re(f[(f[Y>>2]|0)+28>>2]|0,f[(f[Y>>2]|0)+24>>2]|0)|0)/1e3|0;if(!(f[H>>2]|0))f[L>>2]=(f[L>>2]|0)-(f[(f[Z>>2]|0)+24536>>2]|0);f[L>>2]=(f[L>>2]|0)/(f[(f[Z>>2]|0)+5776>>2]|0)|0;r=(f[L>>2]&65535)<<16>>16;if((f[(f[Y>>2]|0)+24>>2]|0)==10)f[y>>2]=r*100;else f[y>>2]=r*50;f[y>>2]=(f[y>>2]|0)-(((f[(f[Z>>2]|0)+24540>>2]|0)*1e3|0)/500|0);if((f[H>>2]|0)==0?(f[(f[Z>>2]|0)+5780>>2]|0)>0:0){X=yo(f[d>>2]|0)|0;f[_>>2]=X-(f[(f[Z>>2]|0)+24536>>2]|0)-(re(f[L>>2]|0,f[(f[Z>>2]|0)+5780>>2]|0)|0);f[y>>2]=(f[y>>2]|0)-(((f[_>>2]|0)*1e3|0)/500|0)}r=f[y>>2]|0;do{if((f[(f[Y>>2]|0)+28>>2]|0)>5e3)if((r|0)>(f[(f[Y>>2]|0)+28>>2]|0)){r=f[(f[Y>>2]|0)+28>>2]|0;break}else{r=(f[y>>2]|0)<5e3?5e3:f[y>>2]|0;break}else if((r|0)<=5e3)if((f[y>>2]|0)<(f[(f[Y>>2]|0)+28>>2]|0)){r=f[(f[Y>>2]|0)+28>>2]|0;break}else{r=f[y>>2]|0;break}else r=5e3}while(0);f[y>>2]=r;r=f[Z>>2]|0;if((f[(f[Y>>2]|0)+4>>2]|0)==2){la(r+24480|0,(f[Z>>2]|0)+5128+4|0,(f[Z>>2]|0)+12240+5128+4|0,(f[Z>>2]|0)+24480+34+((f[(f[Z>>2]|0)+5780>>2]|0)*6|0)|0,(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)|0,g,f[y>>2]|0,f[(f[Z>>2]|0)+4556>>2]|0,f[(f[Y>>2]|0)+56>>2]|0,f[(f[Z>>2]|0)+4600>>2]|0,f[(f[Z>>2]|0)+4608>>2]|0);r=f[Z>>2]|0;if(!(t[(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)){if((f[r+24564>>2]|0)==1){X=(f[Z>>2]|0)+12240+7200|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;vs((f[Z>>2]|0)+12240+7216|0,0,2140)|0;vs((f[Z>>2]|0)+12240+144|0,0,4380)|0;X=(f[Z>>2]|0)+12240+4524|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;f[X+16>>2]=0;f[X+20>>2]=0;f[X+24>>2]=0;f[X+28>>2]=0;X=(f[Z>>2]|0)+12240+16|0;f[X>>2]=0;f[X+4>>2]=0;f[(f[Z>>2]|0)+12240+4568>>2]=100;f[(f[Z>>2]|0)+12240+144+4356>>2]=100;t[(f[Z>>2]|0)+12240+7200>>0]=10;t[(f[Z>>2]|0)+12240+4565>>0]=0;f[(f[Z>>2]|0)+12240+144+4372>>2]=65536;f[(f[Z>>2]|0)+12240+4696>>2]=1}zi((f[Z>>2]|0)+12240|0)}else t[(f[Z>>2]|0)+12240+4752+(f[r+5780>>2]|0)>>0]=0;if((f[H>>2]|0)==0?(Mi(f[d>>2]|0,(f[Z>>2]|0)+24480+34+((f[(f[Z>>2]|0)+5780>>2]|0)*6|0)|0),(t[(f[Z>>2]|0)+12240+4752+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)==0):0)xi(f[d>>2]|0,t[(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)}else{f[r+5128>>2]=f[(f[Z>>2]|0)+24480+4>>2];X=(f[Z>>2]|0)+24480+4|0;b=(f[Z>>2]|0)+5128+(f[(f[Z>>2]|0)+4608>>2]<<1)|0;n[X>>1]=n[b>>1]|0;n[X+2>>1]=n[b+2>>1]|0}zi(f[Z>>2]|0);f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[O>>2]=f[(f[Y>>2]|0)+52>>2];do{if(!((f[D>>2]|0)==2&(f[S>>2]|0)==0)){if((f[D>>2]|0)==3){if(!(f[S>>2]|0)){f[O>>2]=(f[O>>2]<<1|0)/5|0;break}if((f[S>>2]|0)!=1)break;f[O>>2]=((f[O>>2]|0)*3|0)/4|0}}else f[O>>2]=((f[O>>2]|0)*3|0)/5|0}while(0);if(f[(f[Y>>2]|0)+48>>2]|0)r=(f[S>>2]|0)==((f[D>>2]|0)-1|0);else r=0;f[N>>2]=r&1;do{if((f[(f[Y>>2]|0)+4>>2]|0)==1)f[m>>2]=f[y>>2];else{f[m>>2]=f[g+(f[W>>2]<<2)>>2];if(f[W>>2]|0)break;if((f[g+4>>2]|0)<=0)break;f[N>>2]=0;f[O>>2]=(f[O>>2]|0)-((f[(f[Y>>2]|0)+52>>2]|0)/(f[D>>2]<<1|0)|0)}}while(0);if((f[m>>2]|0)>0){wa((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[m>>2]|0)|0;e:do{if(((f[(f[Z>>2]|0)+5780>>2]|0)-(f[W>>2]|0)|0)<=0)f[A>>2]=0;else{do{if((f[W>>2]|0)>0){if(!(f[(f[Z>>2]|0)+24564>>2]|0))break;f[A>>2]=1;break e}}while(0);f[A>>2]=2}}while(0);f[V>>2]=Yi((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[p>>2]|0,f[d>>2]|0,f[A>>2]|0,f[O>>2]|0,f[N>>2]|0)|0}f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5772>>2]=0;X=(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5780|0;f[X>>2]=(f[X>>2]|0)+1;f[W>>2]=(f[W>>2]|0)+1}f[(f[Z>>2]|0)+24564>>2]=t[(f[Z>>2]|0)+24480+52+((f[(f[Z>>2]|0)+5780>>2]|0)-1)>>0];do{if((f[f[p>>2]>>2]|0)>0?(f[(f[Z>>2]|0)+5780>>2]|0)==(f[(f[Z>>2]|0)+5776>>2]|0):0){f[R>>2]=0;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[T>>2]=0;while(1){X=(f[T>>2]|0)<(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0);f[R>>2]=f[R>>2]<<1;if(!X)break;f[R>>2]=f[R>>2]|t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4752+(f[T>>2]|0)>>0];f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=f[R>>2]|t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4755>>0];f[W>>2]=(f[W>>2]|0)+1}if(!(f[H>>2]|0))ir(f[d>>2]|0,f[R>>2]|0,re((f[(f[Z>>2]|0)+5776>>2]|0)+1|0,f[(f[Y>>2]|0)+4>>2]|0)|0);do{if(f[(f[Z>>2]|0)+6112>>2]|0){if((f[(f[Y>>2]|0)+4>>2]|0)!=1?(f[(f[Z>>2]|0)+12240+6112>>2]|0)==0:0)break;f[f[p>>2]>>2]=0}}while(0);b=(f[Z>>2]|0)+24540|0;f[b>>2]=(f[b>>2]|0)+(f[f[p>>2]>>2]<<3);b=(re(f[(f[Y>>2]|0)+28>>2]|0,f[(f[Y>>2]|0)+24>>2]|0)|0)/1e3|0;X=(f[Z>>2]|0)+24540|0;f[X>>2]=(f[X>>2]|0)-b;do{if((f[(f[Z>>2]|0)+24540>>2]|0)>1e4)r=1e4;else{if((f[(f[Z>>2]|0)+24540>>2]|0)<0){r=0;break}r=f[(f[Z>>2]|0)+24540>>2]|0}}while(0);f[(f[Z>>2]|0)+24540>>2]=r;f[B>>2]=13+(0+(((f[(f[Z>>2]|0)+24556>>2]&65535)<<16>>16)*3188>>16));r=(f[Z>>2]|0)+24560|0;if((f[(f[Z>>2]|0)+4556>>2]|0)<(f[B>>2]|0)){f[r>>2]=1;f[(f[Z>>2]|0)+24556>>2]=0;break}else{f[r>>2]=0;X=(f[Z>>2]|0)+24556|0;f[X>>2]=(f[X>>2]|0)+(f[(f[Y>>2]|0)+24>>2]|0);break}}}while(0);if(!(f[k>>2]|0))break;f[S>>2]=(f[S>>2]|0)+1}f[(f[Z>>2]|0)+24552>>2]=f[(f[Y>>2]|0)+4>>2];f[(f[Y>>2]|0)+72>>2]=f[(f[Z>>2]|0)+24560>>2];if((f[(f[Z>>2]|0)+4600>>2]|0)==16)r=(f[(f[Z>>2]|0)+16+12>>2]|0)==0;else r=0;f[(f[Y>>2]|0)+76>>2]=r&1;f[(f[Y>>2]|0)+68>>2]=((f[(f[Z>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;if(f[(f[Y>>2]|0)+56>>2]|0)r=0;else r=n[(f[Z>>2]|0)+24480+28>>1]|0;f[(f[Y>>2]|0)+80>>2]=r;e:do{if(f[H>>2]|0){f[(f[Y>>2]|0)+24>>2]=f[G>>2];f[(f[Y>>2]|0)+36>>2]=f[J>>2];f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4712>>2]=0;f[W>>2]=(f[W>>2]|0)+1}}}while(0);f[z>>2]=f[V>>2];de(f[q>>2]|0);X=f[z>>2]|0;h=K;return X|0}function yo(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function _o(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+112|0;b=A+48|0;w=A+44|0;l=A+40|0;s=A+36|0;k=A+32|0;g=A+28|0;y=A+24|0;u=A+20|0;v=A+16|0;d=A+12|0;p=A+56|0;c=A+88|0;E=A+8|0;_=A+4|0;m=A;f[b>>2]=e;f[w>>2]=r;f[l>>2]=i;f[s>>2]=a;f[k>>2]=o;if(f[s>>2]|0)f[E>>2]=(f[b>>2]|0)+6132+((f[l>>2]|0)*36|0);else f[E>>2]=(f[b>>2]|0)+4768;f[u>>2]=(t[(f[E>>2]|0)+29>>0]<<1)+(t[(f[E>>2]|0)+30>>0]|0);l=f[w>>2]|0;i=f[u>>2]|0;if((f[s>>2]|0)!=0|(f[u>>2]|0)>=2)$e(l,i-2|0,29020,8);else $e(l,i,29024,8);l=f[w>>2]|0;i=t[f[E>>2]>>0]|0;if((f[k>>2]|0)==2)$e(l,i,26771,8);else{$e(l,i>>3,26747+(t[(f[E>>2]|0)+29>>0]<<3)|0,8);$e(f[w>>2]|0,t[f[E>>2]>>0]&7,29049,8)}f[g>>2]=1;while(1){l=f[w>>2]|0;if((f[g>>2]|0)>=(f[(f[b>>2]|0)+4604>>2]|0))break;$e(l,t[(f[E>>2]|0)+(f[g>>2]|0)>>0]|0,26771,8);f[g>>2]=(f[g>>2]|0)+1}u=re(t[(f[E>>2]|0)+29>>0]>>1,n[f[(f[b>>2]|0)+4724>>2]>>1]|0)|0;$e(l,t[(f[E>>2]|0)+8>>0]|0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+12>>2]|0)+u|0,8);fa(p,c,f[(f[b>>2]|0)+4724>>2]|0,t[(f[E>>2]|0)+8>>0]|0);f[g>>2]=0;while(1){if((f[g>>2]|0)>=(n[(f[(f[b>>2]|0)+4724>>2]|0)+2>>1]|0))break;do{if((t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)<4){l=f[w>>2]|0;i=f[g>>2]|0;if((t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)<=-4){$e(l,0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(i<<1)>>1]|0)|0,8);$e(f[w>>2]|0,0-(t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)-4|0,29057,8);break}else{$e(l,(t[(f[E>>2]|0)+8+(i+1)>>0]|0)+4|0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(f[g>>2]<<1)>>1]|0)|0,8);break}}else{$e(f[w>>2]|0,8,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(f[g>>2]<<1)>>1]|0)|0,8);$e(f[w>>2]|0,(t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)-4|0,29057,8)}}while(0);f[g>>2]=(f[g>>2]|0)+1}if((f[(f[b>>2]|0)+4604>>2]|0)==4)$e(f[w>>2]|0,t[(f[E>>2]|0)+31>>0]|0,29026,8);if((t[(f[E>>2]|0)+29>>0]|0)!=2){_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}f[v>>2]=1;if((f[k>>2]|0)==2?(f[(f[b>>2]|0)+5800>>2]|0)==2:0){f[d>>2]=(n[(f[E>>2]|0)+26>>1]|0)-(n[(f[b>>2]|0)+5804>>1]|0);if((f[d>>2]|0)<-8|(f[d>>2]|0)>11)f[d>>2]=0;else{f[d>>2]=(f[d>>2]|0)+9;f[v>>2]=0}$e(f[w>>2]|0,f[d>>2]|0,29096,8)}if(f[v>>2]|0){f[_>>2]=(n[(f[E>>2]|0)+26>>1]|0)/(f[(f[b>>2]|0)+4600>>2]>>1|0)|0;f[m>>2]=(n[(f[E>>2]|0)+26>>1]|0)-(re((f[_>>2]&65535)<<16>>16,(f[(f[b>>2]|0)+4600>>2]>>1&65535)<<16>>16)|0);$e(f[w>>2]|0,f[_>>2]|0,29064,8);$e(f[w>>2]|0,f[m>>2]|0,f[(f[b>>2]|0)+4716>>2]|0,8)}n[(f[b>>2]|0)+5804>>1]=n[(f[E>>2]|0)+26>>1]|0;$e(f[w>>2]|0,t[(f[E>>2]|0)+28>>0]|0,f[(f[b>>2]|0)+4720>>2]|0,8);$e(f[w>>2]|0,t[(f[E>>2]|0)+32>>0]|0,26812,8);f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[(f[b>>2]|0)+4604>>2]|0))break;$e(f[w>>2]|0,t[(f[E>>2]|0)+4+(f[y>>2]|0)>>0]|0,f[17620+(t[(f[E>>2]|0)+32>>0]<<2)>>2]|0,8);f[y>>2]=(f[y>>2]|0)+1}if(f[k>>2]|0){_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}$e(f[w>>2]|0,t[(f[E>>2]|0)+33>>0]|0,29017,8);_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}function mo(e,r,i,n,o){e=e|0;r=r|0;i=i|0;n=n|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;L=h;h=h+128|0;p=L+116|0;v=L+112|0;g=L+108|0;y=L+104|0;_=L+100|0;S=L+96|0;M=L+92|0;T=L+88|0;R=L+84|0;A=L+80|0;x=L+76|0;w=L+72|0;l=L+68|0;E=L+64|0;u=L+60|0;k=L+56|0;b=L+24|0;s=L+16|0;O=L+12|0;d=L+8|0;c=L+4|0;m=L;f[p>>2]=e;f[v>>2]=r;f[g>>2]=i;f[y>>2]=n;f[_>>2]=o;f[l>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[R>>2]=f[_>>2]>>4;if((f[R>>2]<<4|0)<(f[_>>2]|0)){f[R>>2]=(f[R>>2]|0)+1;o=(f[y>>2]|0)+(f[_>>2]|0)|0;e=o+16|0;do{t[o>>0]=0;o=o+1|0}while((o|0)<(e|0))}r=f[R>>2]<<4;f[m>>2]=he()|0;e=h;h=h+((1*(r<<2)|0)+15&-16)|0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]<<4|0))break;r=t[(f[y>>2]|0)+((f[S>>2]|0)+0)>>0]|0;f[e+((f[S>>2]|0)+0<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+0)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+1)>>0]|0;f[e+((f[S>>2]|0)+1<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+1)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+2)>>0]|0;f[e+((f[S>>2]|0)+2<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+2)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+3)>>0]|0;f[e+((f[S>>2]|0)+3<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+3)>>0]|0)>0?r:0-r|0;f[S>>2]=(f[S>>2]|0)+4}n=h;h=h+((1*(f[R>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[R>>2]<<2)|0)+15&-16)|0;f[s>>2]=e;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;f[i+(f[S>>2]<<2)>>2]=0;e:while(1){f[w>>2]=Eo(b,f[s>>2]|0,a[29177]|0,8)|0;r=Eo(b,b,a[29178]|0,4)|0;f[w>>2]=(f[w>>2]|0)+r;r=Eo(b,b,a[29179]|0,2)|0;f[w>>2]=(f[w>>2]|0)+r;r=Eo(n+(f[S>>2]<<2)|0,b,a[29180]|0,1)|0;f[w>>2]=(f[w>>2]|0)+r;if(!(f[w>>2]|0))break;r=i+(f[S>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+1;f[M>>2]=0;while(1){if((f[M>>2]|0)>=16)continue e;f[(f[s>>2]|0)+(f[M>>2]<<2)>>2]=f[(f[s>>2]|0)+(f[M>>2]<<2)>>2]>>1;f[M>>2]=(f[M>>2]|0)+1}}f[s>>2]=(f[s>>2]|0)+64;f[S>>2]=(f[S>>2]|0)+1}f[u>>2]=2147483647;f[M>>2]=0;while(1){if((f[M>>2]|0)>=9)break;f[c>>2]=29361+((f[M>>2]|0)*18|0);f[k>>2]=a[29541+((f[v>>2]>>1)*9|0)+(f[M>>2]|0)>>0];f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;if((f[i+(f[S>>2]<<2)>>2]|0)>0)f[k>>2]=(f[k>>2]|0)+(a[(f[c>>2]|0)+17>>0]|0);else f[k>>2]=(f[k>>2]|0)+(a[(f[c>>2]|0)+(f[n+(f[S>>2]<<2)>>2]|0)>>0]|0);f[S>>2]=(f[S>>2]|0)+1}if((f[k>>2]|0)<(f[u>>2]|0)){f[u>>2]=f[k>>2];f[l>>2]=f[M>>2]}f[M>>2]=(f[M>>2]|0)+1}$e(f[p>>2]|0,f[l>>2]|0,29523+((f[v>>2]>>1)*9|0)|0,8);f[d>>2]=29181+((f[l>>2]|0)*18|0);f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;o=f[p>>2]|0;if(!(f[i+(f[S>>2]<<2)>>2]|0))$e(o,f[n+(f[S>>2]<<2)>>2]|0,f[d>>2]|0,8);else{$e(o,17,f[d>>2]|0,8);f[M>>2]=0;while(1){o=f[p>>2]|0;if((f[M>>2]|0)>=((f[i+(f[S>>2]<<2)>>2]|0)-1|0))break;$e(o,17,29343,8);f[M>>2]=(f[M>>2]|0)+1}$e(o,f[n+(f[S>>2]<<2)>>2]|0,29343,8)}f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;if((f[n+(f[S>>2]<<2)>>2]|0)>0)Cf(f[p>>2]|0,e+(f[S>>2]<<4<<2)|0);f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;e:do{if((f[i+(f[S>>2]<<2)>>2]|0)>0){f[O>>2]=(f[y>>2]|0)+(f[S>>2]<<4);f[x>>2]=(f[i+(f[S>>2]<<2)>>2]|0)-1;f[M>>2]=0;while(1){if((f[M>>2]|0)>=16)break e;d=t[(f[O>>2]|0)+(f[M>>2]|0)>>0]|0;f[E>>2]=(((t[(f[O>>2]|0)+(f[M>>2]|0)>>0]|0)>0?d:0-d|0)&255)<<24>>24;f[T>>2]=f[x>>2];while(1){o=f[E>>2]|0;if((f[T>>2]|0)<=0)break;f[A>>2]=o>>f[T>>2]&1;$e(f[p>>2]|0,f[A>>2]|0,29015,8);f[T>>2]=(f[T>>2]|0)+-1}f[A>>2]=o&1;$e(f[p>>2]|0,f[A>>2]|0,29015,8);f[M>>2]=(f[M>>2]|0)+1}}}while(0);f[S>>2]=(f[S>>2]|0)+1}eo(f[p>>2]|0,f[y>>2]|0,f[_>>2]|0,f[v>>2]|0,f[g>>2]|0,n);de(f[m>>2]|0);h=L;return}function Eo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;c=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;s=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=0;while(1){if((f[s>>2]|0)>=(f[l>>2]|0)){n=6;break}f[u>>2]=(f[(f[a>>2]|0)+(f[s>>2]<<1<<2)>>2]|0)+(f[(f[a>>2]|0)+((f[s>>2]<<1)+1<<2)>>2]|0);if((f[u>>2]|0)>(f[o>>2]|0)){n=4;break}f[(f[n>>2]|0)+(f[s>>2]<<2)>>2]=f[u>>2];f[s>>2]=(f[s>>2]|0)+1}if((n|0)==4){f[c>>2]=1;c=f[c>>2]|0;h=b;return c|0}else if((n|0)==6){f[c>>2]=0;c=f[c>>2]|0;h=b;return c|0}return 0}function Ao(e,r,i,n,a){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=a;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;Ba(f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]|0)|0;i=0+((((Ba(f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]|0)|0)-2090&65535)<<16>>16)*2251>>16)&255;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=i;if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<(t[f[s>>2]>>0]|0)){i=(f[o>>2]|0)+(f[w>>2]|0)|0;t[i>>0]=(t[i>>0]|0)+1<<24>>24}if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<=63)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<0)n=0;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;else n=63;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;if((f[w>>2]|0)==0&(f[u>>2]|0)==0){n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;do{if(((t[f[s>>2]>>0]|0)+-4|0)>63){if((n|0)>((t[f[s>>2]>>0]|0)+-4|0)){n=(t[f[s>>2]>>0]|0)+-4|0;break}if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<63)n=63;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0}else if((n|0)<=63)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<((t[f[s>>2]>>0]|0)+-4|0)){n=(t[f[s>>2]>>0]|0)+-4|0;break}else{n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;break}else n=63}while(0);t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;t[f[s>>2]>>0]=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0}else{t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=(t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)-(t[f[s>>2]>>0]|0);f[b>>2]=8+(t[f[s>>2]>>0]|0);if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)>(f[b>>2]|0))t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=(f[b>>2]|0)+((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)-(f[b>>2]|0)+1>>1);if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<=36)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<-4)n=-4;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;else n=36;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)>(f[b>>2]|0)){i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+((n<<1)-(f[b>>2]|0))}else{i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+n}i=(f[o>>2]|0)+(f[w>>2]|0)|0;t[i>>0]=(t[i>>0]|0)+4}i=Fa(So(((t[f[s>>2]>>0]<<16>>16)*29|0)+((t[f[s>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]=i;f[w>>2]=(f[w>>2]|0)+1}h=k;return}function So(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ro(e,r,i,n,a){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;c=d+12|0;k=d+8|0;w=d+4|0;b=d;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=a;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;n=t[(f[l>>2]|0)+(f[k>>2]|0)>>0]|0;do{if(!((f[k>>2]|0)==0&(f[u>>2]|0)==0)){f[w>>2]=n+-4;f[b>>2]=8+(t[f[s>>2]>>0]|0);n=f[w>>2]|0;if((f[w>>2]|0)>(f[b>>2]|0)){i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+((n<<1)-(f[b>>2]|0));break}else{i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+n;break}}else{i=(To(n,(t[f[s>>2]>>0]|0)-16|0)|0)&255;t[f[s>>2]>>0]=i}}while(0);if((t[f[s>>2]>>0]|0)<=63)if((t[f[s>>2]>>0]|0)<0)n=0;else n=t[f[s>>2]>>0]|0;else n=63;t[f[s>>2]>>0]=n;i=Fa(So(((t[f[s>>2]>>0]<<16>>16)*29|0)+((t[f[s>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;f[(f[o>>2]|0)+(f[k>>2]<<2)>>2]=i;f[k>>2]=(f[k>>2]|0)+1}h=d;return}function To(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Mo(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;i=l+12|0;n=l+8|0;o=l+4|0;a=l;f[i>>2]=e;f[n>>2]=r;f[a>>2]=0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;f[a>>2]=(t[(f[i>>2]|0)+(f[o>>2]|0)>>0]|0)+(f[a>>2]<<8);f[o>>2]=(f[o>>2]|0)+1}h=l;return f[a>>2]|0}function xo(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;c=w+4|0;b=w;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;e=(n[(f[l>>2]|0)+(f[b>>2]<<1)>>1]|0)+((re(((n[(f[s>>2]|0)+(f[b>>2]<<1)>>1]|0)-(n[(f[l>>2]|0)+(f[b>>2]<<1)>>1]|0)&65535)<<16>>16,(f[u>>2]&65535)<<16>>16)|0)>>2)&65535;n[(f[o>>2]|0)+(f[b>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+1}h=w;return}function Oo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+48|0;a=c+36|0;o=c+32|0;l=c+28|0;u=c+16|0;s=c+8|0;t=c+4|0;n=c;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[t>>2]=0;f[n>>2]=0;if(!(f[(f[a>>2]|0)+12>>2]|0)){h=c;return}f[t>>2]=256-(f[(f[a>>2]|0)+8>>2]|0)<<10;f[n>>2]=f[t>>2]>>16;f[t>>2]=(f[t>>2]|0)-(f[n>>2]<<16);Lo(u,s,f[n>>2]|0,f[t>>2]|0);if(((f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0)<=256)if(((f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0)<0)t=0;else t=(f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0;else t=256;f[(f[a>>2]|0)+8>>2]=t;La(f[o>>2]|0,u,s,f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,1);h=c;return}function Lo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;n=c+20|0;a=c+16|0;o=c+12|0;l=c+8|0;u=c+4|0;s=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;if((f[o>>2]|0)>=4){u=f[n>>2]|0;f[u>>2]=f[4473];f[u+4>>2]=f[4474];f[u+8>>2]=f[4475];u=f[a>>2]|0;f[u>>2]=f[4484];f[u+4>>2]=f[4485];h=c;return}if((f[l>>2]|0)<=0){u=f[n>>2]|0;s=17844+((f[o>>2]|0)*12|0)|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];f[u+8>>2]=f[s+8>>2];u=f[a>>2]|0;s=17904+(f[o>>2]<<3)|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];h=c;return}i=(f[l>>2]|0)<32768;f[u>>2]=0;if(i){while(1){if((f[u>>2]|0)>=3)break;i=re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)>>16,(f[l>>2]&65535)<<16>>16)|0;i=(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)+(i+((re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)&65535,(f[l>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=i;f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=0;while(1){if((f[s>>2]|0)>=2)break;u=re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)>>16,(f[l>>2]&65535)<<16>>16)|0;u=(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)+(u+((re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)&65535,(f[l>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=u;f[s>>2]=(f[s>>2]|0)+1}h=c;return}else{while(1){if((f[u>>2]|0)>=3)break;i=re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)>>16,((f[l>>2]|0)-65536&65535)<<16>>16)|0;i=(f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)+(i+((re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)&65535,((f[l>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=i;f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=0;while(1){if((f[s>>2]|0)>=2)break;u=re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)>>16,((f[l>>2]|0)-65536&65535)<<16>>16)|0;u=(f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)+(u+((re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)&65535,((f[l>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=u;f[s>>2]=(f[s>>2]|0)+1}h=c;return}}function Po(e,r,i){e=e|0;r=r|0;i=i|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+144|0;c=g+24|0;o=g+20|0;b=g+16|0;p=g+12|0;u=g+128|0;l=g+96|0;v=g+64|0;d=g+32|0;k=g+8|0;w=g+4|0;s=g;f[c>>2]=e;f[o>>2]=r;f[b>>2]=i;i=re(t[f[o>>2]>>0]|0,n[(f[b>>2]|0)+2>>1]|0)|0;f[s>>2]=(f[(f[b>>2]|0)+8>>2]|0)+i;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(n[(f[b>>2]|0)+2>>1]|0))break;n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]=a[(f[s>>2]|0)+(f[p>>2]|0)>>0]<<7;f[p>>2]=(f[p>>2]|0)+1}fa(l,u,f[b>>2]|0,t[f[o>>2]>>0]|0);Io(v,(f[o>>2]|0)+1|0,u,n[(f[b>>2]|0)+4>>1]|0,n[(f[b>>2]|0)+2>>1]|0);li(d,f[c>>2]|0,n[(f[b>>2]|0)+2>>1]|0);f[p>>2]=0;while(1){if((f[p>>2]|0)>=(n[(f[b>>2]|0)+2>>1]|0))break;f[k>>2]=Co(n[d+(f[p>>2]<<1)>>1]<<16)|0;f[w>>2]=(n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]|0)+((n[v+(f[p>>2]<<1)>>1]<<14|0)/(f[k>>2]|0)|0);if((f[w>>2]|0)>32767)o=32767;else o=(f[w>>2]|0)<0?0:f[w>>2]|0;n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]=o;f[p>>2]=(f[p>>2]|0)+1}fi(f[c>>2]|0,f[(f[b>>2]|0)+32>>2]|0,n[(f[b>>2]|0)+2>>1]|0);h=g;return}function Io(e,r,i,o,l){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+32|0;s=p+24|0;u=p+20|0;c=p+16|0;b=p+12|0;v=p+28|0;w=p+8|0;k=p+4|0;d=p;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=o;n[v>>1]=l;f[k>>2]=0;f[w>>2]=(n[v>>1]|0)-1;while(1){if((f[w>>2]|0)<0)break;f[d>>2]=(re((f[k>>2]&65535)<<16>>16,a[(f[c>>2]|0)+(f[w>>2]|0)>>0]|0)|0)>>8;f[k>>2]=t[(f[u>>2]|0)+(f[w>>2]|0)>>0]<<10;r=f[k>>2]|0;if((f[k>>2]|0)<=0){if((r|0)<0)f[k>>2]=(f[k>>2]|0)+102}else f[k>>2]=r-102;v=re(f[k>>2]>>16,(f[b>>2]&65535)<<16>>16)|0;f[k>>2]=(f[d>>2]|0)+(v+((re(f[k>>2]&65535,(f[b>>2]&65535)<<16>>16)|0)>>16));n[(f[s>>2]|0)+(f[w>>2]<<1)>>1]=f[k>>2];f[w>>2]=(f[w>>2]|0)+-1}h=p;return}function Co(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Uo(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Uo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Bo(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(jo(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Bo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function jo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Do(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0;W=h;h=h+112|0;g=W+100|0;y=W+96|0;T=W+92|0;M=W+88|0;x=W+84|0;O=W+80|0;L=W+76|0;P=W+72|0;I=W+68|0;C=W+64|0;_=W+60|0;m=W+56|0;E=W+52|0;A=W+48|0;S=W+44|0;F=W+40|0;z=W+36|0;q=W+32|0;N=W+28|0;B=W+24|0;j=W+20|0;U=W+16|0;H=W+12|0;D=W+8|0;Y=W+4|0;R=W;f[g>>2]=e;f[y>>2]=r;f[T>>2]=i;f[M>>2]=a;f[x>>2]=o;f[O>>2]=l;f[L>>2]=s;f[P>>2]=u;f[I>>2]=c;f[C>>2]=b;f[_>>2]=w;f[m>>2]=k;f[E>>2]=d;f[A>>2]=p;f[S>>2]=v;f[(f[y>>2]|0)+4368>>2]=t[(f[T>>2]|0)+34>>0];f[z>>2]=f[(f[y>>2]|0)+4356>>2];f[Y>>2]=n[24558+(t[(f[T>>2]|0)+29>>0]>>1<<2)+(t[(f[T>>2]|0)+30>>0]<<1)>>1];if((t[(f[T>>2]|0)+31>>0]|0)==4)f[N>>2]=0;else f[N>>2]=1;k=(f[(f[g>>2]|0)+4616>>2]|0)+(f[(f[g>>2]|0)+4608>>2]|0)|0;f[R>>2]=he()|0;u=h;h=h+((1*(k<<2)|0)+15&-16)|0;k=h;h=h+((1*((f[(f[g>>2]|0)+4616>>2]|0)+(f[(f[g>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;c=h;h=h+((1*(f[(f[g>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;f[(f[y>>2]|0)+4364>>2]=f[(f[g>>2]|0)+4616>>2];f[(f[y>>2]|0)+4360>>2]=f[(f[g>>2]|0)+4616>>2];f[H>>2]=(f[y>>2]|0)+(f[(f[g>>2]|0)+4616>>2]<<1);f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[(f[g>>2]|0)+4604>>2]|0))break;f[B>>2]=(f[O>>2]|0)+((f[F>>2]>>1|1-(f[N>>2]|0))<<4<<1);f[j>>2]=(f[L>>2]|0)+((f[F>>2]|0)*5<<1);f[U>>2]=(f[P>>2]|0)+(f[F>>2]<<4<<1);f[D>>2]=f[(f[I>>2]|0)+(f[F>>2]<<2)>>2]>>2;f[D>>2]=f[D>>2]|f[(f[I>>2]|0)+(f[F>>2]<<2)>>2]>>1<<16;f[(f[y>>2]|0)+4376>>2]=0;if((t[(f[T>>2]|0)+29>>0]|0)==2?(f[z>>2]=f[(f[E>>2]|0)+(f[F>>2]<<2)>>2],(f[F>>2]&3-(f[N>>2]<<1)|0)==0):0){f[q>>2]=(f[(f[g>>2]|0)+4616>>2]|0)-(f[z>>2]|0)-(f[(f[g>>2]|0)+4664>>2]|0)-2;a=(f[q>>2]|0)+(re(f[F>>2]|0,f[(f[g>>2]|0)+4612>>2]|0)|0)|0;za(k+(f[q>>2]<<1)|0,(f[y>>2]|0)+(a<<1)|0,f[B>>2]|0,(f[(f[g>>2]|0)+4616>>2]|0)-(f[q>>2]|0)|0,f[(f[g>>2]|0)+4664>>2]|0,f[(f[g>>2]|0)+5124>>2]|0);f[(f[y>>2]|0)+4376>>2]=1;f[(f[y>>2]|0)+4360>>2]=f[(f[g>>2]|0)+4616>>2]}No(f[g>>2]|0,f[y>>2]|0,f[M>>2]|0,c,k,u,f[F>>2]|0,f[S>>2]|0,f[m>>2]|0,f[E>>2]|0,t[(f[T>>2]|0)+29>>0]|0);Ho(f[y>>2]|0,t[(f[T>>2]|0)+29>>0]|0,c,f[x>>2]|0,f[H>>2]|0,u,f[B>>2]|0,f[j>>2]|0,f[U>>2]|0,f[z>>2]|0,f[D>>2]|0,f[(f[C>>2]|0)+(f[F>>2]<<2)>>2]|0,f[(f[_>>2]|0)+(f[F>>2]<<2)>>2]|0,f[(f[m>>2]|0)+(f[F>>2]<<2)>>2]|0,f[A>>2]|0,f[Y>>2]|0,f[(f[g>>2]|0)+4612>>2]|0,f[(f[g>>2]|0)+4660>>2]|0,f[(f[g>>2]|0)+4664>>2]|0);f[M>>2]=(f[M>>2]|0)+(f[(f[g>>2]|0)+4612>>2]<<2);f[x>>2]=(f[x>>2]|0)+(f[(f[g>>2]|0)+4612>>2]|0);f[H>>2]=(f[H>>2]|0)+(f[(f[g>>2]|0)+4612>>2]<<1);f[F>>2]=(f[F>>2]|0)+1}f[(f[y>>2]|0)+4356>>2]=f[(f[E>>2]|0)+((f[(f[g>>2]|0)+4604>>2]|0)-1<<2)>>2];ys(f[y>>2]|0,(f[y>>2]|0)+(f[(f[g>>2]|0)+4608>>2]<<1)|0,f[(f[g>>2]|0)+4616>>2]<<1|0)|0;ys((f[y>>2]|0)+1280|0,(f[y>>2]|0)+1280+(f[(f[g>>2]|0)+4608>>2]<<2)|0,f[(f[g>>2]|0)+4616>>2]<<2|0)|0;de(f[R>>2]|0);h=W;return}function No(e,r,i,t,a,o,l,s,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;x=h;h=h+64|0;w=x+60|0;k=x+56|0;p=x+52|0;v=x+48|0;g=x+44|0;y=x+40|0;_=x+36|0;m=x+32|0;E=x+28|0;O=x+24|0;d=x+20|0;S=x+16|0;M=x+12|0;A=x+8|0;T=x+4|0;R=x;f[w>>2]=e;f[k>>2]=r;f[p>>2]=i;f[v>>2]=t;f[g>>2]=a;f[y>>2]=o;f[_>>2]=l;f[m>>2]=s;f[E>>2]=u;f[O>>2]=c;f[d>>2]=b;f[M>>2]=f[(f[O>>2]|0)+(f[_>>2]<<2)>>2];if((f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0)>1)u=f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0;else u=1;f[T>>2]=Fo(u,47)|0;if((f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0)!=(f[(f[k>>2]|0)+4372>>2]|0))f[A>>2]=Yo(f[(f[k>>2]|0)+4372>>2]|0,f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0,16)|0;else f[A>>2]=65536;f[R>>2]=(f[T>>2]>>7)+1>>1;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[(f[w>>2]|0)+4612>>2]|0))break;O=re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]>>16,(f[R>>2]&65535)<<16>>16)|0;O=O+((re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]&65535,(f[R>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]|0,(f[R>>2]>>15)+1>>1)|0)|0;f[(f[v>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}f[(f[k>>2]|0)+4372>>2]=f[(f[E>>2]|0)+(f[_>>2]<<2)>>2];e:do{if(f[(f[k>>2]|0)+4376>>2]|0){if(!(f[_>>2]|0)){O=re(f[T>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[T>>2]=O+((re(f[T>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)<<2}f[S>>2]=(f[(f[k>>2]|0)+4360>>2]|0)-(f[M>>2]|0)-2;while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4360>>2]|0))break e;O=re(f[T>>2]>>16,n[(f[g>>2]|0)+(f[S>>2]<<1)>>1]|0)|0;O=O+((re(f[T>>2]&65535,n[(f[g>>2]|0)+(f[S>>2]<<1)>>1]|0)|0)>>16)|0;f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}}}while(0);if((f[A>>2]|0)==65536){h=x;return}f[S>>2]=(f[(f[k>>2]|0)+4364>>2]|0)-(f[(f[w>>2]|0)+4616>>2]|0);while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4364>>2]|0))break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}e:do{if((f[d>>2]|0)==2?(f[(f[k>>2]|0)+4376>>2]|0)==0:0){f[S>>2]=(f[(f[k>>2]|0)+4360>>2]|0)-(f[M>>2]|0)-2;while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4360>>2]|0))break e;O=re(f[A>>2]>>16,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}}}while(0);O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+4352>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+4352>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+4352>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+4352>>2]=O;f[S>>2]=0;while(1){if((f[S>>2]|0)>=32)break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=16)break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}h=x;return}function Fo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(zo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function zo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Yo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(zo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(zo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ho(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0;ce=h;h=h+176|0;ue=ce+168|0;E=ce+164|0;L=ce+160|0;P=ce+156|0;I=ce+152|0;C=ce+148|0;U=ce+144|0;B=ce+140|0;j=ce+136|0;D=ce+132|0;A=ce+128|0;S=ce+124|0;R=ce+120|0;be=ce+116|0;T=ce+112|0;M=ce+108|0;he=ce+104|0;x=ce+100|0;O=ce+96|0;q=ce+92|0;W=ce+88|0;Y=ce+84|0;z=ce+80|0;Z=ce+76|0;J=ce+72|0;V=ce+68|0;ee=ce+64|0;ne=ce+60|0;X=ce+56|0;$=ce+52|0;Q=ce+48|0;ie=ce+44|0;te=ce+40|0;H=ce+36|0;F=ce+32|0;se=ce+28|0;N=ce+24|0;oe=ce+20|0;le=ce+16|0;fe=ce+12|0;K=ce+8|0;ae=ce+4|0;G=ce;f[ue>>2]=e;f[E>>2]=r;f[L>>2]=i;f[P>>2]=a;f[I>>2]=o;f[C>>2]=l;f[U>>2]=s;f[B>>2]=u;f[j>>2]=c;f[D>>2]=b;f[A>>2]=w;f[S>>2]=k;f[R>>2]=d;f[be>>2]=p;f[T>>2]=v;f[M>>2]=g;f[he>>2]=y;f[x>>2]=_;f[O>>2]=m;f[ae>>2]=(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-(f[D>>2]|0)+1<<2);f[G>>2]=(f[C>>2]|0)+((f[(f[ue>>2]|0)+4360>>2]|0)-(f[D>>2]|0)+2<<2);f[N>>2]=f[be>>2]>>6;f[K>>2]=(f[ue>>2]|0)+3840+124;f[q>>2]=0;while(1){c=f[ue>>2]|0;if((f[q>>2]|0)>=(f[he>>2]|0))break;be=907633515+(re(f[c+4368>>2]|0,196314165)|0)|0;f[(f[ue>>2]|0)+4368>>2]=be;f[z>>2]=f[O>>2]>>1;be=re(f[f[K>>2]>>2]>>16,n[f[U>>2]>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[f[K>>2]>>2]&65535,n[f[U>>2]>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-4>>2]>>16,n[(f[U>>2]|0)+2>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-4>>2]&65535,n[(f[U>>2]|0)+2>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-8>>2]>>16,n[(f[U>>2]|0)+4>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-8>>2]&65535,n[(f[U>>2]|0)+4>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-12>>2]>>16,n[(f[U>>2]|0)+6>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-12>>2]&65535,n[(f[U>>2]|0)+6>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-16>>2]>>16,n[(f[U>>2]|0)+8>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-16>>2]&65535,n[(f[U>>2]|0)+8>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-20>>2]>>16,n[(f[U>>2]|0)+10>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-20>>2]&65535,n[(f[U>>2]|0)+10>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-24>>2]>>16,n[(f[U>>2]|0)+12>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-24>>2]&65535,n[(f[U>>2]|0)+12>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-28>>2]>>16,n[(f[U>>2]|0)+14>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-28>>2]&65535,n[(f[U>>2]|0)+14>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-32>>2]>>16,n[(f[U>>2]|0)+16>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-32>>2]&65535,n[(f[U>>2]|0)+16>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-36>>2]>>16,n[(f[U>>2]|0)+18>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-36>>2]&65535,n[(f[U>>2]|0)+18>>1]|0)|0)>>16));if((f[O>>2]|0)==16){be=re(f[(f[K>>2]|0)+-40>>2]>>16,n[(f[U>>2]|0)+20>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-40>>2]&65535,n[(f[U>>2]|0)+20>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-44>>2]>>16,n[(f[U>>2]|0)+22>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-44>>2]&65535,n[(f[U>>2]|0)+22>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-48>>2]>>16,n[(f[U>>2]|0)+24>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-48>>2]&65535,n[(f[U>>2]|0)+24>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-52>>2]>>16,n[(f[U>>2]|0)+26>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-52>>2]&65535,n[(f[U>>2]|0)+26>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-56>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-56>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-60>>2]>>16,n[(f[U>>2]|0)+30>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-60>>2]&65535,n[(f[U>>2]|0)+30>>1]|0)|0)>>16))}if((f[E>>2]|0)==2){f[Y>>2]=2;be=re(f[f[G>>2]>>2]>>16,n[f[B>>2]>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[f[G>>2]>>2]&65535,n[f[B>>2]>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-4>>2]>>16,n[(f[B>>2]|0)+2>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-4>>2]&65535,n[(f[B>>2]|0)+2>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-8>>2]>>16,n[(f[B>>2]|0)+4>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-8>>2]&65535,n[(f[B>>2]|0)+4>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-12>>2]>>16,n[(f[B>>2]|0)+6>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-12>>2]&65535,n[(f[B>>2]|0)+6>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-16>>2]>>16,n[(f[B>>2]|0)+8>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-16>>2]&65535,n[(f[B>>2]|0)+8>>1]|0)|0)>>16));f[G>>2]=(f[G>>2]|0)+4}else f[Y>>2]=0;f[le>>2]=f[f[K>>2]>>2];f[oe>>2]=f[(f[ue>>2]|0)+4288>>2];f[(f[ue>>2]|0)+4288>>2]=f[le>>2];f[Z>>2]=f[x>>2]>>1;be=re(f[le>>2]>>16,n[f[j>>2]>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[le>>2]&65535,n[f[j>>2]>>1]|0)|0)>>16));f[W>>2]=2;while(1){if((f[W>>2]|0)>=(f[x>>2]|0))break;f[le>>2]=f[(f[ue>>2]|0)+4288+((f[W>>2]|0)-1<<2)>>2];f[(f[ue>>2]|0)+4288+((f[W>>2]|0)-1<<2)>>2]=f[oe>>2];be=re(f[oe>>2]>>16,n[(f[j>>2]|0)+((f[W>>2]|0)-1<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[oe>>2]&65535,n[(f[j>>2]|0)+((f[W>>2]|0)-1<<1)>>1]|0)|0)>>16));f[oe>>2]=f[(f[ue>>2]|0)+4288+((f[W>>2]|0)+0<<2)>>2];f[(f[ue>>2]|0)+4288+((f[W>>2]|0)+0<<2)>>2]=f[le>>2];be=re(f[le>>2]>>16,n[(f[j>>2]|0)+(f[W>>2]<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[le>>2]&65535,n[(f[j>>2]|0)+(f[W>>2]<<1)>>1]|0)|0)>>16));f[W>>2]=(f[W>>2]|0)+2}f[(f[ue>>2]|0)+4288+((f[x>>2]|0)-1<<2)>>2]=f[oe>>2];be=re(f[oe>>2]>>16,n[(f[j>>2]|0)+((f[x>>2]|0)-1<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[oe>>2]&65535,n[(f[j>>2]|0)+((f[x>>2]|0)-1<<1)>>1]|0)|0)>>16));f[Z>>2]=f[Z>>2]<<1;be=re(f[(f[ue>>2]|0)+4352>>2]>>16,(f[S>>2]&65535)<<16>>16)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[(f[ue>>2]|0)+4352>>2]&65535,(f[S>>2]&65535)<<16>>16)|0)>>16));be=re(f[(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-1<<2)>>2]>>16,(f[R>>2]&65535)<<16>>16)|0;f[V>>2]=be+((re(f[(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-1<<2)>>2]&65535,(f[R>>2]&65535)<<16>>16)|0)>>16);be=(f[V>>2]|0)+(re(f[(f[ue>>2]|0)+4352>>2]>>16,f[R>>2]>>16)|0)|0;f[V>>2]=be+((re(f[(f[ue>>2]|0)+4352>>2]&65535,f[R>>2]>>16)|0)>>16);f[oe>>2]=(f[z>>2]<<2)-(f[Z>>2]|0);f[oe>>2]=(f[oe>>2]|0)-(f[V>>2]|0);if((f[D>>2]|0)>0){be=re((f[f[ae>>2]>>2]|0)+(f[(f[ae>>2]|0)+-8>>2]|0)>>16,(f[A>>2]&65535)<<16>>16)|0;f[J>>2]=be+((re((f[f[ae>>2]>>2]|0)+(f[(f[ae>>2]|0)+-8>>2]|0)&65535,(f[A>>2]&65535)<<16>>16)|0)>>16);be=(f[J>>2]|0)+(re(f[(f[ae>>2]|0)+-4>>2]>>16,f[A>>2]>>16)|0)|0;f[J>>2]=be+((re(f[(f[ae>>2]|0)+-4>>2]&65535,f[A>>2]>>16)|0)>>16);f[J>>2]=f[J>>2]<<1;f[ae>>2]=(f[ae>>2]|0)+4;f[le>>2]=(f[Y>>2]|0)-(f[J>>2]|0);f[oe>>2]=(f[le>>2]|0)+(f[oe>>2]<<1);f[oe>>2]=(f[oe>>2]>>2)+1>>1}else f[oe>>2]=(f[oe>>2]>>1)+1>>1;f[ee>>2]=(f[(f[L>>2]|0)+(f[q>>2]<<2)>>2]|0)-(f[oe>>2]|0);if((f[(f[ue>>2]|0)+4368>>2]|0)<0)f[ee>>2]=0-(f[ee>>2]|0);if((f[ee>>2]|0)>30720)c=30720;else c=(f[ee>>2]|0)<-31744?-31744:f[ee>>2]|0;f[ee>>2]=c;f[$>>2]=(f[ee>>2]|0)-(f[M>>2]|0);f[X>>2]=f[$>>2]>>10;c=f[X>>2]|0;do{if((f[X>>2]|0)<=0){if(!c){f[$>>2]=f[M>>2];f[Q>>2]=(f[$>>2]|0)+944;f[ie>>2]=re((f[$>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}if((f[X>>2]|0)==-1){f[Q>>2]=f[M>>2];f[$>>2]=(f[Q>>2]|0)-944;f[ie>>2]=re((0-(f[$>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}else{f[$>>2]=(f[X>>2]<<10)+80;f[$>>2]=(f[$>>2]|0)+(f[M>>2]|0);f[Q>>2]=(f[$>>2]|0)+1024;f[ie>>2]=re((0-(f[$>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((0-(f[Q>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}}else{f[$>>2]=(c<<10)-80;f[$>>2]=(f[$>>2]|0)+(f[M>>2]|0);f[Q>>2]=(f[$>>2]|0)+1024;f[ie>>2]=re((f[$>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0}}while(0);f[ne>>2]=(f[ee>>2]|0)-(f[$>>2]|0);f[ie>>2]=(f[ie>>2]|0)+(re((f[ne>>2]&65535)<<16>>16,(f[ne>>2]&65535)<<16>>16)|0);f[ne>>2]=(f[ee>>2]|0)-(f[Q>>2]|0);f[te>>2]=(f[te>>2]|0)+(re((f[ne>>2]&65535)<<16>>16,(f[ne>>2]&65535)<<16>>16)|0);if((f[te>>2]|0)<(f[ie>>2]|0))f[$>>2]=f[Q>>2];t[(f[P>>2]|0)+(f[q>>2]|0)>>0]=(f[$>>2]>>9)+1>>1;f[H>>2]=f[$>>2]<<4;if((f[(f[ue>>2]|0)+4368>>2]|0)<0)f[H>>2]=0-(f[H>>2]|0);f[F>>2]=(f[H>>2]|0)+(f[Y>>2]<<1);f[se>>2]=(f[F>>2]|0)+(f[z>>2]<<4);be=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;be=be+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((be+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){be=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;be=be+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((be+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)c=-32768;else{c=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;c=c+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;c=(c+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1}}else c=32767;n[(f[I>>2]|0)+(f[q>>2]<<1)>>1]=c;f[K>>2]=(f[K>>2]|0)+4;f[f[K>>2]>>2]=f[se>>2];f[fe>>2]=(f[se>>2]|0)-(f[Z>>2]<<2);f[(f[ue>>2]|0)+4352>>2]=f[fe>>2];f[(f[ue>>2]|0)+1280+(f[(f[ue>>2]|0)+4364>>2]<<2)>>2]=(f[fe>>2]|0)-(f[V>>2]<<2);f[(f[C>>2]|0)+(f[(f[ue>>2]|0)+4360>>2]<<2)>>2]=f[F>>2]<<1;be=(f[ue>>2]|0)+4364|0;f[be>>2]=(f[be>>2]|0)+1;be=(f[ue>>2]|0)+4360|0;f[be>>2]=(f[be>>2]|0)+1;f[(f[ue>>2]|0)+4368>>2]=(f[(f[ue>>2]|0)+4368>>2]|0)+(t[(f[P>>2]|0)+(f[q>>2]|0)>>0]|0);f[q>>2]=(f[q>>2]|0)+1}w=c+3840|0;c=(f[ue>>2]|0)+3840+(f[he>>2]<<2)|0;p=w+128|0;do{f[w>>2]=f[c>>2];w=w+4|0;c=c+4|0}while((w|0)<(p|0));h=ce;return}function qo(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0;ie=h;h=h+272|0;q=ie+264|0;W=ie+260|0;E=ie+256|0;A=ie+252|0;J=ie+248|0;S=ie+244|0;R=ie+240|0;T=ie+236|0;M=ie+232|0;x=ie+228|0;g=ie+224|0;y=ie+220|0;Z=ie+216|0;_=ie+212|0;m=ie+208|0;X=ie+204|0;D=ie+200|0;N=ie+196|0;Y=ie+192|0;C=ie+188|0;B=ie+184|0;H=ie+180|0;$=ie+176|0;z=ie+172|0;K=ie+168|0;L=ie+164|0;P=ie+160|0;O=ie+156|0;ee=ie+152|0;I=ie+148|0;F=ie+144|0;U=ie+140|0;G=ie+136|0;Q=ie+132|0;V=ie+128|0;j=ie;f[q>>2]=e;f[W>>2]=r;f[E>>2]=i;f[A>>2]=a;f[J>>2]=o;f[S>>2]=l;f[R>>2]=s;f[T>>2]=u;f[M>>2]=c;f[x>>2]=b;f[g>>2]=w;f[y>>2]=k;f[Z>>2]=d;f[_>>2]=p;f[m>>2]=v;f[N>>2]=f[(f[W>>2]|0)+4356>>2];a=f[(f[q>>2]|0)+4652>>2]|0;f[V>>2]=he()|0;s=h;h=h+((1*(a*1168|0)|0)+15&-16)|0;vs(s|0,0,(f[(f[q>>2]|0)+4652>>2]|0)*1168|0)|0;f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;f[Q>>2]=s+((f[D>>2]|0)*1168|0);f[(f[Q>>2]|0)+1156>>2]=(f[D>>2]|0)+(t[(f[E>>2]|0)+34>>0]|0)&3;f[(f[Q>>2]|0)+1160>>2]=f[(f[Q>>2]|0)+1156>>2];f[(f[Q>>2]|0)+1164>>2]=0;f[(f[Q>>2]|0)+1152>>2]=f[(f[W>>2]|0)+4352>>2];f[(f[Q>>2]|0)+960>>2]=f[(f[W>>2]|0)+1280+((f[(f[q>>2]|0)+4616>>2]|0)-1<<2)>>2];u=f[Q>>2]|0;k=(f[W>>2]|0)+3840|0;c=u+128|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));u=(f[Q>>2]|0)+1088|0;k=(f[W>>2]|0)+4288|0;c=u+64|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));f[D>>2]=(f[D>>2]|0)+1}f[F>>2]=n[24558+(t[(f[E>>2]|0)+29>>0]>>1<<2)+(t[(f[E>>2]|0)+30>>0]<<1)>>1];f[z>>2]=0;f[K>>2]=Wo(32,f[(f[q>>2]|0)+4612>>2]|0)|0;e:do{if((t[(f[E>>2]|0)+29>>0]|0)!=2){if((f[N>>2]|0)>0)f[K>>2]=Wo(f[K>>2]|0,(f[N>>2]|0)-2-1|0)|0}else{f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4604>>2]|0))break e;f[K>>2]=Wo(f[K>>2]|0,(f[(f[Z>>2]|0)+(f[D>>2]<<2)>>2]|0)-2-1|0)|0;f[D>>2]=(f[D>>2]|0)+1}}}while(0);if((t[(f[E>>2]|0)+31>>0]|0)==4)f[C>>2]=0;else f[C>>2]=1;u=h;h=h+((1*((f[(f[q>>2]|0)+4616>>2]|0)+(f[(f[q>>2]|0)+4608>>2]|0)<<2)|0)+15&-16)|0;k=h;h=h+((1*((f[(f[q>>2]|0)+4616>>2]|0)+(f[(f[q>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;c=h;h=h+((1*(f[(f[q>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;f[ee>>2]=(f[W>>2]|0)+(f[(f[q>>2]|0)+4616>>2]<<1);f[(f[W>>2]|0)+4364>>2]=f[(f[q>>2]|0)+4616>>2];f[(f[W>>2]|0)+4360>>2]=f[(f[q>>2]|0)+4616>>2];f[H>>2]=0;f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4604>>2]|0))break;f[L>>2]=(f[S>>2]|0)+((f[D>>2]>>1|1-(f[C>>2]|0))<<4<<1);f[P>>2]=(f[R>>2]|0)+((f[D>>2]|0)*5<<1);f[O>>2]=(f[T>>2]|0)+(f[D>>2]<<4<<1);f[I>>2]=f[(f[M>>2]|0)+(f[D>>2]<<2)>>2]>>2;f[I>>2]=f[I>>2]|f[(f[M>>2]|0)+(f[D>>2]<<2)>>2]>>1<<16;f[(f[W>>2]|0)+4376>>2]=0;if((t[(f[E>>2]|0)+29>>0]|0)==2?(f[N>>2]=f[(f[Z>>2]|0)+(f[D>>2]<<2)>>2],(f[D>>2]&3-(f[C>>2]<<1)|0)==0):0){if((f[D>>2]|0)==2){f[U>>2]=f[s+1164>>2];f[B>>2]=0;f[X>>2]=1;while(1){if((f[X>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[s+((f[X>>2]|0)*1168|0)+1164>>2]|0)<(f[U>>2]|0)){f[U>>2]=f[s+((f[X>>2]|0)*1168|0)+1164>>2];f[B>>2]=f[X>>2]}f[X>>2]=(f[X>>2]|0)+1}f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[X>>2]|0)!=(f[B>>2]|0)){a=s+((f[X>>2]|0)*1168|0)+1164|0;f[a>>2]=(f[a>>2]|0)+134217727}f[X>>2]=(f[X>>2]|0)+1}f[Q>>2]=s+((f[B>>2]|0)*1168|0);f[$>>2]=(f[z>>2]|0)+(f[K>>2]|0);f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[K>>2]|0))break;f[$>>2]=(f[$>>2]|0)-1&31;t[(f[J>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0))>>0]=(f[(f[Q>>2]|0)+576+(f[$>>2]<<2)>>2]>>9)+1>>1;a=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;a=a+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((a+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<=32767){a=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;a=a+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((a+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<-32768)w=-32768;else{w=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;w=w+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;w=(w+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1}}else w=32767;n[(f[ee>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0)<<1)>>1]=w;f[(f[W>>2]|0)+1280+((f[(f[W>>2]|0)+4364>>2]|0)-(f[K>>2]|0)+(f[X>>2]|0)<<2)>>2]=f[(f[Q>>2]|0)+960+(f[$>>2]<<2)>>2];f[X>>2]=(f[X>>2]|0)+1}f[H>>2]=0}f[Y>>2]=(f[(f[q>>2]|0)+4616>>2]|0)-(f[N>>2]|0)-(f[(f[q>>2]|0)+4664>>2]|0)-2;a=(f[Y>>2]|0)+(re(f[D>>2]|0,f[(f[q>>2]|0)+4612>>2]|0)|0)|0;za(k+(f[Y>>2]<<1)|0,(f[W>>2]|0)+(a<<1)|0,f[L>>2]|0,(f[(f[q>>2]|0)+4616>>2]|0)-(f[Y>>2]|0)|0,f[(f[q>>2]|0)+4664>>2]|0,f[(f[q>>2]|0)+5124>>2]|0);f[(f[W>>2]|0)+4360>>2]=f[(f[q>>2]|0)+4616>>2];f[(f[W>>2]|0)+4376>>2]=1}Zo(f[q>>2]|0,f[W>>2]|0,s,f[A>>2]|0,c,k,u,f[D>>2]|0,f[(f[q>>2]|0)+4652>>2]|0,f[m>>2]|0,f[y>>2]|0,f[Z>>2]|0,t[(f[E>>2]|0)+29>>0]|0,f[K>>2]|0);oe=f[W>>2]|0;ae=t[(f[E>>2]|0)+29>>0]|0;fe=f[J>>2]|0;ne=f[ee>>2]|0;te=f[L>>2]|0;w=f[P>>2]|0;v=f[O>>2]|0;p=f[N>>2]|0;r=f[I>>2]|0;l=f[(f[x>>2]|0)+(f[D>>2]<<2)>>2]|0;b=f[(f[g>>2]|0)+(f[D>>2]<<2)>>2]|0;d=f[(f[y>>2]|0)+(f[D>>2]<<2)>>2]|0;e=f[_>>2]|0;i=f[F>>2]|0;o=f[(f[q>>2]|0)+4612>>2]|0;a=f[H>>2]|0;f[H>>2]=a+1;pf(oe,s,ae,c,fe,ne,u,j,te,w,v,p,r,l,b,d,e,i,o,a,f[(f[q>>2]|0)+4660>>2]|0,f[(f[q>>2]|0)+4664>>2]|0,f[(f[q>>2]|0)+4704>>2]|0,f[(f[q>>2]|0)+4652>>2]|0,z,f[K>>2]|0);f[A>>2]=(f[A>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<2);f[J>>2]=(f[J>>2]|0)+(f[(f[q>>2]|0)+4612>>2]|0);f[ee>>2]=(f[ee>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<1);f[D>>2]=(f[D>>2]|0)+1}f[U>>2]=f[s+1164>>2];f[B>>2]=0;f[D>>2]=1;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[s+((f[D>>2]|0)*1168|0)+1164>>2]|0)<(f[U>>2]|0)){f[U>>2]=f[s+((f[D>>2]|0)*1168|0)+1164>>2];f[B>>2]=f[D>>2]}f[D>>2]=(f[D>>2]|0)+1}f[Q>>2]=s+((f[B>>2]|0)*1168|0);t[(f[E>>2]|0)+34>>0]=f[(f[Q>>2]|0)+1160>>2];f[$>>2]=(f[z>>2]|0)+(f[K>>2]|0);f[G>>2]=f[(f[y>>2]|0)+((f[(f[q>>2]|0)+4604>>2]|0)-1<<2)>>2]>>6;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[K>>2]|0))break;f[$>>2]=(f[$>>2]|0)-1&31;t[(f[J>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0))>>0]=(f[(f[Q>>2]|0)+576+(f[$>>2]<<2)>>2]>>9)+1>>1;oe=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;oe=oe+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;if(((oe+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){oe=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;oe=oe+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;if(((oe+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)u=-32768;else{u=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;u=u+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;u=(u+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1}}else u=32767;n[(f[ee>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0)<<1)>>1]=u;f[(f[W>>2]|0)+1280+((f[(f[W>>2]|0)+4364>>2]|0)-(f[K>>2]|0)+(f[X>>2]|0)<<2)>>2]=f[(f[Q>>2]|0)+960+(f[$>>2]<<2)>>2];f[X>>2]=(f[X>>2]|0)+1}u=(f[W>>2]|0)+3840|0;k=(f[Q>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<2)|0;c=u+128|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));u=(f[W>>2]|0)+4288|0;k=(f[Q>>2]|0)+1088|0;c=u+64|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));f[(f[W>>2]|0)+4352>>2]=f[(f[Q>>2]|0)+1152>>2];f[(f[W>>2]|0)+4356>>2]=f[(f[Z>>2]|0)+((f[(f[q>>2]|0)+4604>>2]|0)-1<<2)>>2];ys(f[W>>2]|0,(f[W>>2]|0)+(f[(f[q>>2]|0)+4608>>2]<<1)|0,f[(f[q>>2]|0)+4616>>2]<<1|0)|0;ys((f[W>>2]|0)+1280|0,(f[W>>2]|0)+1280+(f[(f[q>>2]|0)+4608>>2]<<2)|0,f[(f[q>>2]|0)+4616>>2]<<2|0)|0;de(f[V>>2]|0);h=ie;return}function Wo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zo(e,r,i,t,a,o,l,s,u,c,b,w,k,d){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;var p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;j=h;h=h+96|0;p=j+80|0;v=j+76|0;m=j+72|0;E=j+68|0;A=j+64|0;S=j+60|0;R=j+56|0;T=j+52|0;M=j+48|0;x=j+44|0;g=j+40|0;D=j+36|0;y=j+32|0;_=j+28|0;L=j+24|0;C=j+20|0;U=j+16|0;O=j+12|0;I=j+8|0;P=j+4|0;B=j;f[p>>2]=e;f[v>>2]=r;f[m>>2]=i;f[E>>2]=t;f[A>>2]=a;f[S>>2]=o;f[R>>2]=l;f[T>>2]=s;f[M>>2]=u;f[x>>2]=c;f[g>>2]=b;f[D>>2]=w;f[y>>2]=k;f[_>>2]=d;f[U>>2]=f[(f[D>>2]|0)+(f[T>>2]<<2)>>2];if((f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0)>1)b=f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0;else b=1;f[I>>2]=Vo(b,47)|0;if((f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0)!=(f[(f[v>>2]|0)+4372>>2]|0))f[O>>2]=Go(f[(f[v>>2]|0)+4372>>2]|0,f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0,16)|0;else f[O>>2]=65536;f[P>>2]=(f[I>>2]>>7)+1>>1;f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[p>>2]|0)+4612>>2]|0))break;D=re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]>>16,(f[P>>2]&65535)<<16>>16)|0;D=D+((re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]&65535,(f[P>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]|0,(f[P>>2]>>15)+1>>1)|0)|0;f[(f[A>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[(f[v>>2]|0)+4372>>2]=f[(f[g>>2]|0)+(f[T>>2]<<2)>>2];e:do{if(f[(f[v>>2]|0)+4376>>2]|0){if(!(f[T>>2]|0)){D=re(f[I>>2]>>16,(f[x>>2]&65535)<<16>>16)|0;f[I>>2]=D+((re(f[I>>2]&65535,(f[x>>2]&65535)<<16>>16)|0)>>16)<<2}f[L>>2]=(f[(f[v>>2]|0)+4360>>2]|0)-(f[U>>2]|0)-2;while(1){if((f[L>>2]|0)>=(f[(f[v>>2]|0)+4360>>2]|0))break e;D=re(f[I>>2]>>16,n[(f[S>>2]|0)+(f[L>>2]<<1)>>1]|0)|0;D=D+((re(f[I>>2]&65535,n[(f[S>>2]|0)+(f[L>>2]<<1)>>1]|0)|0)>>16)|0;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}}}while(0);if((f[O>>2]|0)==65536){h=j;return}f[L>>2]=(f[(f[v>>2]|0)+4364>>2]|0)-(f[(f[p>>2]|0)+4616>>2]|0);while(1){if((f[L>>2]|0)>=(f[(f[v>>2]|0)+4364>>2]|0))break;D=re(f[O>>2]>>16,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}e:do{if((f[y>>2]|0)==2?(f[(f[v>>2]|0)+4376>>2]|0)==0:0){f[L>>2]=(f[(f[v>>2]|0)+4360>>2]|0)-(f[U>>2]|0)-2;while(1){if((f[L>>2]|0)>=((f[(f[v>>2]|0)+4360>>2]|0)-(f[_>>2]|0)|0))break e;D=re(f[O>>2]>>16,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[M>>2]|0))break;f[B>>2]=(f[m>>2]|0)+((f[C>>2]|0)*1168|0);D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+1152>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+1152>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+1152>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+1152>>2]=D;f[L>>2]=0;while(1){if((f[L>>2]|0)>=32)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=16)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=32)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]=D;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[C>>2]=(f[C>>2]|0)+1}h=j;return}function Vo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(Jo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Jo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Go(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(Jo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(Jo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ko(e,r,i){e=e|0;r=+r;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;l=u+4|0;o=u;f[t>>2]=e;s[n>>2]=r;f[a>>2]=i;f[o>>2]=f[a>>2]&65532;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;i=(f[t>>2]|0)+((f[l>>2]|0)+0<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+1<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+2<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+3<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];f[l>>2]=(f[l>>2]|0)+4}while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;o=(f[t>>2]|0)+(f[l>>2]<<2)|0;s[o>>2]=+s[o>>2]*+s[n>>2];f[l>>2]=(f[l>>2]|0)+1}h=u;return}function Xo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+176|0;t=k+168|0;n=k+164|0;a=k+160|0;c=k+156|0;b=k+152|0;o=k+16|0;l=k+8|0;u=k+4|0;w=k;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[c>>2]=0;while(1){if((f[c>>2]|0)>=((f[a>>2]|0)+1|0))break;d=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];s[o+(f[c>>2]<<3)+4>>2]=d;s[o+(f[c>>2]<<3)>>2]=d;f[c>>2]=(f[c>>2]|0)+1}f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[a>>2]|0))break;s[w>>2]=-+s[o+((f[c>>2]|0)+1<<3)>>2]/(+s[o+4>>2]>9.999999717180685e-10?+s[o+4>>2]:9.999999717180685e-10);s[(f[t>>2]|0)+(f[c>>2]<<2)>>2]=+s[w>>2];f[b>>2]=0;while(1){if((f[b>>2]|0)>=((f[a>>2]|0)-(f[c>>2]|0)|0))break;s[l>>2]=+s[o+((f[b>>2]|0)+(f[c>>2]|0)+1<<3)>>2];s[u>>2]=+s[o+(f[b>>2]<<3)+4>>2];s[o+((f[b>>2]|0)+(f[c>>2]|0)+1<<3)>>2]=+s[l>>2]+ +s[u>>2]*+s[w>>2];s[o+(f[b>>2]<<3)+4>>2]=+s[u>>2]+ +s[l>>2]*+s[w>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}h=k;return+ +s[o+4>>2]}function $o(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;b=w+8|0;u=w+4|0;c=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[u>>2]<<2)>>2]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=1;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;s[b>>2]=+s[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[c>>2]=(f[u>>2]|0)-1;while(1){if((f[c>>2]|0)<0)break;if(!(+s[b>>2]>+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]))break;s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[b>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=f[l>>2];while(1){if((f[u>>2]|0)>=(f[o>>2]|0))break;s[b>>2]=+s[(f[n>>2]|0)+(f[u>>2]<<2)>>2];if(+s[b>>2]>+s[(f[n>>2]|0)+((f[l>>2]|0)-1<<2)>>2]){f[c>>2]=(f[l>>2]|0)-2;while(1){if((f[c>>2]|0)<0)break;if(!(+s[b>>2]>+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]))break;s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[b>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[u>>2]}f[u>>2]=(f[u>>2]|0)+1}h=w;return}function Qo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+80|0;a=R+64|0;o=R+60|0;l=R+56|0;u=R+52|0;b=R+48|0;p=R+44|0;E=R+40|0;c=R+36|0;A=R+32|0;w=R+28|0;m=R+24|0;d=R+20|0;v=R+16|0;_=R+12|0;y=R+8|0;k=R+4|0;g=R;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;if(!((((f[l>>2]|0)<1|(f[o>>2]|0)<1)^1)&(f[a>>2]|0)!=0&(f[u>>2]|0)!=0)){h=R;return}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(re(f[o>>2]|0,f[l>>2]|0)|0))break;if(2<+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2])n=2;else n=+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2];if(!(-2>n))if(2<+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2])n=2;else n=+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2];else n=-2;s[(f[a>>2]|0)+(f[p>>2]<<2)>>2]=n;f[p>>2]=(f[p>>2]|0)+1}f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[E>>2]=(f[a>>2]|0)+(f[b>>2]<<2);s[c>>2]=+s[(f[u>>2]|0)+(f[b>>2]<<2)>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[o>>2]|0))break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]*+s[c>>2]>=0)break;i=re(f[p>>2]|0,f[l>>2]|0)|0;r=re(f[p>>2]|0,f[l>>2]|0)|0;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=+s[(f[E>>2]|0)+(i<<2)>>2]+ +s[c>>2]*+s[(f[E>>2]|0)+(r<<2)>>2]*+s[(f[E>>2]|0)+(e<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[w>>2]=0;s[A>>2]=+s[f[E>>2]>>2];do{f[_>>2]=0;f[p>>2]=f[w>>2];while(1){if((f[p>>2]|0)>=(f[o>>2]|0))break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]>1)break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]<-1)break;f[p>>2]=(f[p>>2]|0)+1}if((f[p>>2]|0)==(f[o>>2]|0)){S=23;break}f[y>>2]=f[p>>2];t=f[p>>2]|0;f[d>>2]=t;f[m>>2]=t;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[v>>2]=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);while(1){if((f[m>>2]|0)<=0)break;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re((f[m>>2]|0)-1|0,f[l>>2]|0)|0;if(!(+s[(f[E>>2]|0)+(e<<2)>>2]*+s[(f[E>>2]|0)+(t<<2)>>2]>=0))break;f[m>>2]=(f[m>>2]|0)+-1}while(1){if((f[d>>2]|0)>=(f[o>>2]|0))break;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[d>>2]|0,f[l>>2]|0)|0;if(!(+s[(f[E>>2]|0)+(e<<2)>>2]*+s[(f[E>>2]|0)+(t<<2)>>2]>=0))break;t=re(f[d>>2]|0,f[l>>2]|0)|0;n=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);if(n>+s[v>>2]){t=re(f[d>>2]|0,f[l>>2]|0)|0;s[v>>2]=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);f[y>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}if(!(f[m>>2]|0)){i=re(f[p>>2]|0,f[l>>2]|0)|0;i=+s[(f[E>>2]|0)+(i<<2)>>2]*+s[f[E>>2]>>2]>=0}else i=0;f[_>>2]=i&1;s[c>>2]=(+s[v>>2]-1)/(+s[v>>2]*+s[v>>2]);t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]>0)s[c>>2]=-+s[c>>2];f[p>>2]=f[m>>2];while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break;i=re(f[p>>2]|0,f[l>>2]|0)|0;r=re(f[p>>2]|0,f[l>>2]|0)|0;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=+s[(f[E>>2]|0)+(i<<2)>>2]+ +s[c>>2]*+s[(f[E>>2]|0)+(r<<2)>>2]*+s[(f[E>>2]|0)+(e<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}e:do{if((f[_>>2]|0)!=0&(f[y>>2]|0)>=2){s[g>>2]=+s[A>>2]-+s[f[E>>2]>>2];s[k>>2]=+s[g>>2]/+(f[y>>2]|0);f[p>>2]=f[w>>2];while(1){if((f[p>>2]|0)>=(f[y>>2]|0))break e;s[g>>2]=+s[g>>2]-+s[k>>2];t=re(f[p>>2]|0,f[l>>2]|0)|0;t=(f[E>>2]|0)+(t<<2)|0;s[t>>2]=+s[t>>2]+ +s[g>>2];t=re(f[p>>2]|0,f[l>>2]|0)|0;if(1<+s[(f[E>>2]|0)+(t<<2)>>2])n=1;else{t=re(f[p>>2]|0,f[l>>2]|0)|0;n=+s[(f[E>>2]|0)+(t<<2)>>2]}if(!(-1>n)){t=re(f[p>>2]|0,f[l>>2]|0)|0;if(1<+s[(f[E>>2]|0)+(t<<2)>>2])n=1;else{t=re(f[p>>2]|0,f[l>>2]|0)|0;n=+s[(f[E>>2]|0)+(t<<2)>>2]}}else n=-1;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=n;f[p>>2]=(f[p>>2]|0)+1}}}while(0);f[w>>2]=f[d>>2]}while((f[w>>2]|0)!=(f[o>>2]|0));if((S|0)==23){S=0;s[c>>2]=0}s[(f[u>>2]|0)+(f[b>>2]<<2)>>2]=+s[c>>2];f[b>>2]=(f[b>>2]|0)+1}h=R;return}function el(e,r){e=e|0;r=r|0;var i=0,n=0,o=0,l=0;l=h;h=h+16|0;i=l+8|0;n=l+4|0;o=l;f[n>>2]=e;f[o>>2]=r;r=f[n>>2]|0;if((f[n>>2]|0)<252){t[f[o>>2]>>0]=r;f[i>>2]=1;o=f[i>>2]|0;h=l;return o|0}else{t[f[o>>2]>>0]=252+(r&3);t[(f[o>>2]|0)+1>>0]=(f[n>>2]|0)-(a[f[o>>2]>>0]|0)>>2;f[i>>2]=2;o=f[i>>2]|0;h=l;return o|0}return 0}function rl(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0;o=h;h=h+16|0;i=o+8|0;t=o+4|0;n=o;f[i>>2]=e;f[t>>2]=r;r=a[f[i>>2]>>0]|0;if((a[f[i>>2]>>0]|0)&128|0){f[n>>2]=r>>3&3;f[n>>2]=(f[t>>2]<>2]|0)/400|0;n=f[n>>2]|0;h=o;return n|0}e=a[f[i>>2]>>0]|0;if((r&96|0)!=96){f[n>>2]=e>>3&3;r=f[t>>2]|0;if((f[n>>2]|0)==3){f[n>>2]=(r*60|0)/1e3|0;n=f[n>>2]|0;h=o;return n|0}else{f[n>>2]=(r<>2]|0)/100|0;n=f[n>>2]|0;h=o;return n|0}}else{r=f[t>>2]|0;if(e&8|0)r=(r|0)/50|0;else r=(r|0)/100|0;f[n>>2]=r;n=f[n>>2]|0;h=o;return n|0}return 0}function il(e,r,i,o,l,s,u,c){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0;U=h;h=h+80|0;b=U+72|0;w=U+68|0;k=U+64|0;d=U+60|0;p=U+56|0;v=U+52|0;g=U+48|0;y=U+44|0;_=U+40|0;M=U+36|0;m=U+32|0;S=U+28|0;E=U+24|0;A=U+77|0;I=U+76|0;T=U+20|0;x=U+16|0;L=U+12|0;R=U+8|0;O=U+4|0;P=U;f[w>>2]=e;f[k>>2]=r;f[d>>2]=i;f[p>>2]=o;f[v>>2]=l;f[g>>2]=s;f[y>>2]=u;f[_>>2]=c;f[L>>2]=0;f[R>>2]=f[w>>2];if(!(f[g>>2]|0)){f[b>>2]=-1;C=f[b>>2]|0;h=U;return C|0}f[T>>2]=rl(f[w>>2]|0,48e3)|0;f[E>>2]=0;s=f[w>>2]|0;f[w>>2]=s+1;t[I>>0]=t[s>>0]|0;f[k>>2]=(f[k>>2]|0)+-1;f[x>>2]=f[k>>2];e:do{switch(a[I>>0]&3|0){case 0:{f[S>>2]=1;break}case 1:{f[S>>2]=2;f[E>>2]=1;if(!(f[d>>2]|0)){if(!(f[k>>2]&1)){f[x>>2]=(f[k>>2]|0)/2|0;n[f[g>>2]>>1]=f[x>>2];break e}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}break}case 2:{f[S>>2]=2;f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,f[g>>2]|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[f[g>>2]>>1]|0)>=0?(n[f[g>>2]>>1]|0)<=(f[k>>2]|0):0){f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);f[x>>2]=(f[k>>2]|0)-(n[f[g>>2]>>1]|0);break e}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}default:{if((f[k>>2]|0)<1){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}s=f[w>>2]|0;f[w>>2]=s+1;t[A>>0]=t[s>>0]|0;f[S>>2]=a[A>>0]&63;if((f[S>>2]|0)>0?(re(f[T>>2]|0,f[S>>2]|0)|0)<=5760:0){f[k>>2]=(f[k>>2]|0)+-1;r:do{if(a[A>>0]&64|0){while(1){if((f[k>>2]|0)<=0)break;s=f[w>>2]|0;f[w>>2]=s+1;f[O>>2]=a[s>>0];f[k>>2]=(f[k>>2]|0)+-1;f[P>>2]=(f[O>>2]|0)==255?254:f[O>>2]|0;f[k>>2]=(f[k>>2]|0)-(f[P>>2]|0);f[L>>2]=(f[L>>2]|0)+(f[P>>2]|0);if((f[O>>2]|0)!=255)break r}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}while(0);if((f[k>>2]|0)<0){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[E>>2]=((a[A>>0]&128|0)!=0^1)&1;if(f[E>>2]|0){if(f[d>>2]|0)break e;f[x>>2]=(f[k>>2]|0)/(f[S>>2]|0)|0;C=re(f[x>>2]|0,f[S>>2]|0)|0;if((C|0)!=(f[k>>2]|0)){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break e;n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]=f[x>>2];f[M>>2]=(f[M>>2]|0)+1}}f[x>>2]=f[k>>2];f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break;f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,(f[g>>2]|0)+(f[M>>2]<<1)|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0)<0){C=29;break}if((n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0)>(f[k>>2]|0)){C=29;break}f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);f[x>>2]=(f[x>>2]|0)-((f[m>>2]|0)+(n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0));f[M>>2]=(f[M>>2]|0)+1}if((C|0)==29){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}if((f[x>>2]|0)>=0)break e;f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}}while(0);e:do{if(f[d>>2]|0){f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,(f[g>>2]|0)+(f[S>>2]<<1)+-2|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)>=0?(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)<=(f[k>>2]|0):0){f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);if(!(f[E>>2]|0)){if(((f[m>>2]|0)+(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)|0)<=(f[x>>2]|0))break;f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}C=re(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0,f[S>>2]|0)|0;if((C|0)>(f[k>>2]|0)){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break e;n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]=n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0;f[M>>2]=(f[M>>2]|0)+1}}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}else{if((f[x>>2]|0)<=1275){n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]=f[x>>2];break}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}while(0);if(f[y>>2]|0)f[f[y>>2]>>2]=(f[w>>2]|0)-(f[R>>2]|0);f[M>>2]=0;while(1){if((f[M>>2]|0)>=(f[S>>2]|0))break;if(f[v>>2]|0)f[(f[v>>2]|0)+(f[M>>2]<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+(n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0);f[M>>2]=(f[M>>2]|0)+1}if(f[_>>2]|0)f[f[_>>2]>>2]=(f[L>>2]|0)+((f[w>>2]|0)-(f[R>>2]|0));if(f[p>>2]|0)t[f[p>>2]>>0]=t[I>>0]|0;f[b>>2]=f[S>>2];C=f[b>>2]|0;h=U;return C|0}function tl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,o=0,l=0,s=0,u=0;u=h;h=h+16|0;t=u+12|0;o=u+8|0;l=u+4|0;s=u;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;if((f[l>>2]|0)<1){n[f[s>>2]>>1]=-1;f[t>>2]=-1;i=f[t>>2]|0;h=u;return i|0}if((a[f[o>>2]>>0]|0|0)<252){n[f[s>>2]>>1]=a[f[o>>2]>>0]|0;f[t>>2]=1;i=f[t>>2]|0;h=u;return i|0}if((f[l>>2]|0)<2){n[f[s>>2]>>1]=-1;f[t>>2]=-1;i=f[t>>2]|0;h=u;return i|0}else{n[f[s>>2]>>1]=((a[(f[o>>2]|0)+1>>0]|0)<<2)+(a[f[o>>2]>>0]|0);f[t>>2]=2;i=f[t>>2]|0;h=u;return i|0}return 0}function nl(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;t=o+4|0;n=o;f[i>>2]=e;if((f[i>>2]|0)<1|(f[i>>2]|0)>2){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}f[n>>2]=co(a)|0;if(f[n>>2]|0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}else{f[a>>2]=fl(f[a>>2]|0)|0;f[t>>2]=hf(f[i>>2]|0)|0;n=fl(88)|0;f[r>>2]=n+(f[a>>2]|0)+(f[t>>2]|0);a=f[r>>2]|0;h=o;return a|0}return 0}function fl(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;t=r+4|0;i=r;f[t>>2]=e;f[i>>2]=4;e=re((((f[t>>2]|0)+(f[i>>2]|0)-1|0)>>>0)/((f[i>>2]|0)>>>0)|0,f[i>>2]|0)|0;h=r;return e|0}function al(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+48|0;b=w;t=w+32|0;n=w+28|0;a=w+24|0;o=w+20|0;c=w+16|0;l=w+12|0;s=w+8|0;u=w+4|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if(!((f[a>>2]|0)!=48e3&(f[a>>2]|0)!=24e3&(f[a>>2]|0)!=16e3&(f[a>>2]|0)!=12e3&(f[a>>2]|0)!=8e3)?!((f[o>>2]|0)!=1&(f[o>>2]|0)!=2):0){e=f[n>>2]|0;vs(e|0,0,nl(f[o>>2]|0)|0)|0;f[s>>2]=co(u)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}f[u>>2]=fl(f[u>>2]|0)|0;e=fl(88)|0;f[(f[n>>2]|0)+4>>2]=e;f[f[n>>2]>>2]=(f[(f[n>>2]|0)+4>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[n>>2]|0)+(f[(f[n>>2]|0)+4>>2]|0);f[l>>2]=(f[n>>2]|0)+(f[f[n>>2]>>2]|0);e=f[o>>2]|0;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+48>>2]=e;f[(f[n>>2]|0)+12>>2]=f[a>>2];f[(f[n>>2]|0)+16+8>>2]=f[(f[n>>2]|0)+12>>2];f[(f[n>>2]|0)+16>>2]=f[(f[n>>2]|0)+8>>2];f[s>>2]=bo(f[c>>2]|0)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}f[s>>2]=bf(f[l>>2]|0,f[a>>2]|0,f[o>>2]|0)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}else{e=f[l>>2]|0;f[b>>2]=0;df(e,10016,b)|0;f[(f[n>>2]|0)+60>>2]=0;f[(f[n>>2]|0)+64>>2]=(f[a>>2]|0)/400|0;b=ol()|0;f[(f[n>>2]|0)+44>>2]=b;f[t>>2]=0;b=f[t>>2]|0;h=w;return b|0}}f[t>>2]=-1;b=f[t>>2]|0;h=w;return b|0}function ol(){return 0}function ll(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+208|0;P=N+88|0;I=N+84|0;b=N+80|0;w=N+76|0;C=N+72|0;U=N+68|0;k=N+64|0;d=N+60|0;p=N+56|0;v=N+52|0;_=N+48|0;m=N+44|0;g=N+40|0;E=N+36|0;L=N+192|0;S=N+32|0;A=N+28|0;R=N+24|0;T=N+20|0;O=N+96|0;B=N+16|0;j=N+12|0;y=N+8|0;M=N+4|0;x=N;f[I>>2]=e;f[b>>2]=r;f[w>>2]=i;f[C>>2]=t;f[U>>2]=a;f[k>>2]=o;f[d>>2]=l;f[p>>2]=u;f[v>>2]=c;if((f[k>>2]|0)<0|(f[k>>2]|0)>1){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}if((f[k>>2]|0)!=0|(f[w>>2]|0)==0|(f[b>>2]|0)==0?(f[U>>2]|0)%((f[(f[I>>2]|0)+12>>2]|0)/400|0|0)|0|0:0){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}if((f[w>>2]|0)==0|(f[b>>2]|0)==0){f[B>>2]=0;while(1){b=(f[C>>2]|0)+((re(f[B>>2]|0,f[(f[I>>2]|0)+8>>2]|0)|0)<<2)|0;f[j>>2]=sl(f[I>>2]|0,0,0,b,(f[U>>2]|0)-(f[B>>2]|0)|0,0)|0;b=f[j>>2]|0;if((f[j>>2]|0)<0){D=9;break}f[B>>2]=(f[B>>2]|0)+b;if((f[B>>2]|0)>=(f[U>>2]|0)){D=11;break}}if((D|0)==9){f[P>>2]=b;D=f[P>>2]|0;h=N;return D|0}else if((D|0)==11){cl()|0;f[(f[I>>2]|0)+72>>2]=f[B>>2];f[P>>2]=f[B>>2];D=f[P>>2]|0;h=N;return D|0}}if((f[w>>2]|0)<0){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}f[R>>2]=bl(f[b>>2]|0)|0;f[A>>2]=wl(f[b>>2]|0)|0;f[S>>2]=rl(f[b>>2]|0,f[(f[I>>2]|0)+12>>2]|0)|0;f[T>>2]=kl(f[b>>2]|0)|0;f[g>>2]=il(f[b>>2]|0,f[w>>2]|0,f[d>>2]|0,L,0,O,E,f[p>>2]|0)|0;if((f[g>>2]|0)<0){f[P>>2]=f[g>>2];D=f[P>>2]|0;h=N;return D|0}f[b>>2]=(f[b>>2]|0)+(f[E>>2]|0);if(f[k>>2]|0){if(!((f[R>>2]|0)==1002?1:(f[U>>2]|0)<(f[S>>2]|0))?(f[(f[I>>2]|0)+56>>2]|0)!=1002:0){f[y>>2]=f[(f[I>>2]|0)+72>>2];if((f[U>>2]|0)-(f[S>>2]|0)|0?(f[M>>2]=ll(f[I>>2]|0,0,0,f[C>>2]|0,(f[U>>2]|0)-(f[S>>2]|0)|0,0,0,0,f[v>>2]|0)|0,(f[M>>2]|0)<0):0){f[(f[I>>2]|0)+72>>2]=f[y>>2];f[P>>2]=f[M>>2];D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+56>>2]=f[R>>2];f[(f[I>>2]|0)+52>>2]=f[A>>2];f[(f[I>>2]|0)+64>>2]=f[S>>2];f[(f[I>>2]|0)+48>>2]=f[T>>2];D=(f[C>>2]|0)+((re(f[(f[I>>2]|0)+8>>2]|0,(f[U>>2]|0)-(f[S>>2]|0)|0)|0)<<2)|0;f[M>>2]=sl(f[I>>2]|0,f[b>>2]|0,n[O>>1]|0,D,f[S>>2]|0,1)|0;if((f[M>>2]|0)<0){f[P>>2]=f[M>>2];D=f[P>>2]|0;h=N;return D|0}else{cl()|0;f[(f[I>>2]|0)+72>>2]=f[U>>2];f[P>>2]=f[U>>2];D=f[P>>2]|0;h=N;return D|0}}f[P>>2]=ll(f[I>>2]|0,0,0,f[C>>2]|0,f[U>>2]|0,0,0,0,f[v>>2]|0)|0;D=f[P>>2]|0;h=N;return D|0}j=re(f[g>>2]|0,f[S>>2]|0)|0;if((j|0)>(f[U>>2]|0)){f[P>>2]=-2;D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+56>>2]=f[R>>2];f[(f[I>>2]|0)+52>>2]=f[A>>2];f[(f[I>>2]|0)+64>>2]=f[S>>2];f[(f[I>>2]|0)+48>>2]=f[T>>2];f[m>>2]=0;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[g>>2]|0))break;j=(f[C>>2]|0)+((re(f[m>>2]|0,f[(f[I>>2]|0)+8>>2]|0)|0)<<2)|0;f[x>>2]=sl(f[I>>2]|0,f[b>>2]|0,n[O+(f[_>>2]<<1)>>1]|0,j,(f[U>>2]|0)-(f[m>>2]|0)|0,0)|0;if((f[x>>2]|0)<0){D=31;break}f[b>>2]=(f[b>>2]|0)+(n[O+(f[_>>2]<<1)>>1]|0);f[m>>2]=(f[m>>2]|0)+(f[x>>2]|0);f[_>>2]=(f[_>>2]|0)+1}if((D|0)==31){f[P>>2]=f[x>>2];D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+72>>2]=f[m>>2];cl()|0;if(f[v>>2]|0)Qo(f[C>>2]|0,f[m>>2]|0,f[(f[I>>2]|0)+8>>2]|0,(f[I>>2]|0)+76|0);else{s[(f[I>>2]|0)+76+4>>2]=0;s[(f[I>>2]|0)+76>>2]=0}f[P>>2]=f[m>>2];D=f[P>>2]|0;h=N;return D|0}function sl(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ye=0;ye=h;h=h+320|0;fe=ye+80|0;ne=ye+72|0;te=ye+64|0;ie=ye+56|0;ee=ye+48|0;Q=ye+40|0;X=ye+32|0;K=ye+24|0;G=ye+16|0;A=ye+8|0;E=ye;ke=ye+308|0;pe=ye+304|0;R=ye+300|0;T=ye+296|0;le=ye+292|0;se=ye+288|0;M=ye+284|0;g=ye+280|0;I=ye+276|0;N=ye+272|0;_=ye+268|0;we=ye+264|0;j=ye+216|0;y=ye+212|0;w=ye+208|0;S=ye+204|0;c=ye+200|0;z=ye+196|0;q=ye+192|0;ve=ye+188|0;F=ye+184|0;J=ye+180|0;V=ye+176|0;Y=ye+172|0;H=ye+168|0;B=ye+164|0;L=ye+160|0;x=ye+156|0;O=ye+152|0;b=ye+148|0;be=ye+144|0;ae=ye+140|0;W=ye+136|0;P=ye+132|0;u=ye+128|0;ue=ye+124|0;ce=ye+120|0;p=ye+116|0;k=ye+112|0;v=ye+108|0;d=ye+104|0;m=ye+100|0;C=ye+96|0;Z=ye+312|0;U=ye+92|0;D=ye+88|0;oe=ye+84|0;f[pe>>2]=e;f[R>>2]=r;f[T>>2]=i;f[le>>2]=a;f[se>>2]=o;f[M>>2]=l;f[_>>2]=0;f[we>>2]=0;f[z>>2]=0;f[J>>2]=0;f[Y>>2]=0;f[H>>2]=0;f[B>>2]=0;f[W>>2]=0;f[g>>2]=(f[pe>>2]|0)+(f[(f[pe>>2]|0)+4>>2]|0);f[I>>2]=(f[pe>>2]|0)+(f[f[pe>>2]>>2]|0);f[be>>2]=(f[(f[pe>>2]|0)+12>>2]|0)/50|0;f[b>>2]=f[be>>2]>>1;f[O>>2]=f[b>>2]>>1;f[x>>2]=f[O>>2]>>1;if((f[se>>2]|0)<(f[x>>2]|0)){f[ke>>2]=-2;ve=f[ke>>2]|0;h=ye;return ve|0}if((f[se>>2]|0)<(((f[(f[pe>>2]|0)+12>>2]|0)/25|0)*3|0))r=f[se>>2]|0;else r=((f[(f[pe>>2]|0)+12>>2]|0)/25|0)*3|0;f[se>>2]=r;if((f[T>>2]|0)<=1){f[R>>2]=0;if((f[se>>2]|0)<(f[(f[pe>>2]|0)+64>>2]|0))r=f[se>>2]|0;else r=f[(f[pe>>2]|0)+64>>2]|0;f[se>>2]=r}do{if(!(f[R>>2]|0)){f[ve>>2]=f[se>>2];f[F>>2]=f[(f[pe>>2]|0)+60>>2];if(!(f[F>>2]|0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[ve>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=0;f[N>>2]=(f[N>>2]|0)+1}f[ke>>2]=f[ve>>2];ve=f[ke>>2]|0;h=ye;return ve|0}if((f[ve>>2]|0)>(f[be>>2]|0)){while(1){f[u>>2]=sl(f[pe>>2]|0,0,0,f[le>>2]|0,(f[ve>>2]|0)<(f[be>>2]|0)?f[ve>>2]|0:f[be>>2]|0,0)|0;r=f[u>>2]|0;if((f[u>>2]|0)<0){l=20;break}we=re(r,f[(f[pe>>2]|0)+8>>2]|0)|0;f[le>>2]=(f[le>>2]|0)+(we<<2);f[ve>>2]=(f[ve>>2]|0)-(f[u>>2]|0);if((f[ve>>2]|0)<=0){l=22;break}}if((l|0)==20){f[ke>>2]=r;ve=f[ke>>2]|0;h=ye;return ve|0}else if((l|0)==22){f[ke>>2]=f[se>>2];ve=f[ke>>2]|0;h=ye;return ve|0}}if((f[ve>>2]|0)<(f[be>>2]|0)){if((f[ve>>2]|0)>(f[b>>2]|0)){f[ve>>2]=f[b>>2];break}if(((f[F>>2]|0)!=1e3?(f[ve>>2]|0)>(f[O>>2]|0):0)?(f[ve>>2]|0)<(f[b>>2]|0):0)f[ve>>2]=f[O>>2]}}else{f[ve>>2]=f[(f[pe>>2]|0)+64>>2];f[F>>2]=f[(f[pe>>2]|0)+56>>2];Pe(j,f[R>>2]|0,f[T>>2]|0)}}while(0);f[P>>2]=0;f[S>>2]=1;f[c>>2]=1;do{if(f[R>>2]|0?(f[(f[pe>>2]|0)+60>>2]|0)>0:0){if(!(((f[F>>2]|0)==1002?(f[(f[pe>>2]|0)+60>>2]|0)!=1002:0)?!(f[(f[pe>>2]|0)+68>>2]|0):0)){if((f[F>>2]|0)==1002)break;if((f[(f[pe>>2]|0)+60>>2]|0)!=1002)break}f[J>>2]=1;r=re(f[O>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;if((f[F>>2]|0)==1002){f[c>>2]=r;break}else{f[S>>2]=r;break}}}while(0);c=f[c>>2]|0;f[ue>>2]=he()|0;r=h;h=h+((1*(c<<2)|0)+15&-16)|0;if((f[J>>2]|0)!=0&(f[F>>2]|0)==1002){f[z>>2]=r;sl(f[pe>>2]|0,0,0,f[z>>2]|0,(f[O>>2]|0)<(f[ve>>2]|0)?f[O>>2]|0:f[ve>>2]|0,0)|0}e:do{if((f[ve>>2]|0)>(f[se>>2]|0)){f[ke>>2]=-1;f[ce>>2]=1}else{f[se>>2]=f[ve>>2];if((f[F>>2]|0)==1002|(f[P>>2]|0)!=0)r=1;else r=re((f[b>>2]|0)>(f[se>>2]|0)?f[b>>2]|0:f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;f[w>>2]=r;o=h;h=h+((1*(f[w>>2]<<1)|0)+15&-16)|0;r:do{if((f[F>>2]|0)!=1002){f[v>>2]=o;if((f[(f[pe>>2]|0)+60>>2]|0)==1002)bo(f[g>>2]|0)|0;if(10>(((f[ve>>2]|0)*1e3|0)/(f[(f[pe>>2]|0)+12>>2]|0)|0|0))r=10;else r=((f[ve>>2]|0)*1e3|0)/(f[(f[pe>>2]|0)+12>>2]|0)|0;f[(f[pe>>2]|0)+16+16>>2]=r;do{if(f[R>>2]|0){f[(f[pe>>2]|0)+16+4>>2]=f[(f[pe>>2]|0)+48>>2];r=f[pe>>2]|0;if((f[F>>2]|0)!=1e3){f[r+16+12>>2]=16e3;break}l=f[pe>>2]|0;if((f[r+52>>2]|0)==1101){f[l+16+12>>2]=8e3;break}if((f[l+52>>2]|0)==1102){f[(f[pe>>2]|0)+16+12>>2]=12e3;break}else{f[(f[pe>>2]|0)+16+12>>2]=16e3;break}}}while(0);f[p>>2]=(f[R>>2]|0)==0?1:f[M>>2]<<1;f[k>>2]=0;i:while(1){f[d>>2]=(f[k>>2]|0)==0&1;f[_>>2]=wo(f[g>>2]|0,(f[pe>>2]|0)+16|0,f[p>>2]|0,f[d>>2]|0,j,f[v>>2]|0,y,f[(f[pe>>2]|0)+44>>2]|0)|0;t:do{if(f[_>>2]|0){if(!(f[p>>2]|0))break i;f[y>>2]=f[se>>2];f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break t;n[(f[v>>2]|0)+(f[N>>2]<<1)>>1]=0;f[N>>2]=(f[N>>2]|0)+1}}}while(0);w=re(f[y>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;f[v>>2]=(f[v>>2]|0)+(w<<1);f[k>>2]=(f[k>>2]|0)+(f[y>>2]|0);if((f[k>>2]|0)>=(f[se>>2]|0))break r}f[ke>>2]=-3;f[ce>>2]=1;break e}}while(0);f[V>>2]=0;if((f[M>>2]|0)==0&(f[F>>2]|0)!=1002&(f[R>>2]|0)!=0?(_=(ul(j)|0)+17|0,(_+(((f[(f[pe>>2]|0)+56>>2]|0)==1001&1)*20|0)|0)<=(f[T>>2]<<3|0)):0){if((f[F>>2]|0)==1001)f[Y>>2]=Ne(j,12)|0;else f[Y>>2]=1;if(f[Y>>2]|0){f[B>>2]=Ne(j,1)|0;if((f[F>>2]|0)==1001)r=(ze(j,256)|0)+2|0;else{r=f[T>>2]|0;r=r-((ul(j)|0)+7>>3)|0}f[H>>2]=r;f[T>>2]=(f[T>>2]|0)-(f[H>>2]|0);_=f[T>>2]<<3;if((_|0)<(ul(j)|0)){f[T>>2]=0;f[H>>2]=0;f[Y>>2]=0}_=j+4|0;f[_>>2]=(f[_>>2]|0)-(f[H>>2]|0)}}if((f[F>>2]|0)!=1002)f[V>>2]=17;f[m>>2]=21;switch(f[(f[pe>>2]|0)+52>>2]|0){case 1101:{f[m>>2]=13;break}case 1103:case 1102:{f[m>>2]=17;break}case 1104:{f[m>>2]=19;break}case 1105:{f[m>>2]=21;break}default:{}}_=f[I>>2]|0;f[E>>2]=f[m>>2];df(_,10012,E)|0;E=f[I>>2]|0;f[A>>2]=f[(f[pe>>2]|0)+48>>2];df(E,10008,A)|0;if(f[Y>>2]|0){f[J>>2]=0;f[S>>2]=1}r=h;h=h+((1*(f[S>>2]<<2)|0)+15&-16)|0;if((f[J>>2]|0)!=0&(f[F>>2]|0)!=1002){f[z>>2]=r;sl(f[pe>>2]|0,0,0,f[z>>2]|0,(f[O>>2]|0)<(f[ve>>2]|0)?f[O>>2]|0:f[ve>>2]|0,0)|0}if(f[Y>>2]|0)r=re(f[O>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;else r=1;f[q>>2]=r;r=h;h=h+((1*(f[q>>2]<<2)|0)+15&-16)|0;if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0){q=f[I>>2]|0;f[G>>2]=0;df(q,10010,G)|0;ge(f[I>>2]|0,(f[R>>2]|0)+(f[T>>2]|0)|0,f[H>>2]|0,r,f[O>>2]|0,0,0)|0;G=f[I>>2]|0;f[K>>2]=W+(((W-W|0)/4|0)<<2);df(G,4031,K)|0}K=f[I>>2]|0;f[X>>2]=f[V>>2];df(K,10010,X)|0;do{if((f[F>>2]|0)==1e3){t[Z>>0]=t[30523]|0;t[Z+1>>0]=t[30524]|0;r:do{if(!(f[P>>2]|0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=0;f[N>>2]=(f[N>>2]|0)+1}}}while(0);if((f[(f[pe>>2]|0)+60>>2]|0)==1001){if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0?f[(f[pe>>2]|0)+68>>2]|0:0)break;be=f[I>>2]|0;f[ee>>2]=0;df(be,10010,ee)|0;ge(f[I>>2]|0,Z,2,f[le>>2]|0,f[x>>2]|0,0,f[P>>2]|0)|0}}else{f[C>>2]=(f[be>>2]|0)<(f[se>>2]|0)?f[be>>2]|0:f[se>>2]|0;do{if((f[F>>2]|0)!=(f[(f[pe>>2]|0)+60>>2]|0)){if((f[(f[pe>>2]|0)+60>>2]|0)<=0)break;if(f[(f[pe>>2]|0)+68>>2]|0)break;df(f[I>>2]|0,4028,Q)|0}}while(0);f[we>>2]=ge(f[I>>2]|0,f[M>>2]|0?0:f[R>>2]|0,f[T>>2]|0,f[le>>2]|0,f[C>>2]|0,j,f[P>>2]|0)|0}}while(0);r:do{if(!((f[F>>2]|0)==1002|(f[P>>2]|0)!=0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]+ +(n[o+(f[N>>2]<<1)>>1]|0)*30517578125e-15;f[N>>2]=(f[N>>2]|0)+1}}}while(0);be=f[I>>2]|0;f[ie>>2]=U+(((U-U|0)/4|0)<<2);df(be,10015,ie)|0;f[ae>>2]=f[(f[U>>2]|0)+60>>2];if(!((f[Y>>2]|0)==0|(f[B>>2]|0)!=0)){df(f[I>>2]|0,4028,te)|0;be=f[I>>2]|0;f[ne>>2]=0;df(be,10010,ne)|0;ge(f[I>>2]|0,(f[R>>2]|0)+(f[T>>2]|0)|0,f[H>>2]|0,r,f[O>>2]|0,0,0)|0;ne=f[I>>2]|0;f[fe>>2]=W+(((W-W|0)/4|0)<<2);df(ne,4031,fe)|0;ne=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,(f[se>>2]|0)-(f[x>>2]|0)|0)|0)<<2)|0;fe=r+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,(f[se>>2]|0)-(f[x>>2]|0)|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0){f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[pe>>2]|0)+8>>2]|0))break;f[N>>2]=0;while(1){if((f[N>>2]|0)>=(f[x>>2]|0))break;fe=re(f[(f[pe>>2]|0)+8>>2]|0,f[N>>2]|0)|0;be=re(f[(f[pe>>2]|0)+8>>2]|0,f[N>>2]|0)|0;s[(f[le>>2]|0)+(be+(f[L>>2]|0)<<2)>>2]=+s[r+(fe+(f[L>>2]|0)<<2)>>2];f[N>>2]=(f[N>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}ne=r+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;fe=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}do{if(f[J>>2]|0){if((f[ve>>2]|0)<(f[O>>2]|0)){hl(f[z>>2]|0,f[le>>2]|0,f[le>>2]|0,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0);break}f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0))break;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[(f[z>>2]|0)+(f[N>>2]<<2)>>2];f[N>>2]=(f[N>>2]|0)+1}ne=(f[z>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;fe=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}}while(0);r:do{if(f[(f[pe>>2]|0)+40>>2]|0){s[D>>2]=+$(+(+(f[(f[pe>>2]|0)+40>>2]|0)*.0006488140788860619*.6931471805599453));f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[oe>>2]=+s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]*+s[D>>2];s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[oe>>2];f[N>>2]=(f[N>>2]|0)+1}}}while(0);if((f[T>>2]|0)<=1)f[(f[pe>>2]|0)+84>>2]=0;else f[(f[pe>>2]|0)+84>>2]=f[j+28>>2]^f[W>>2];f[(f[pe>>2]|0)+60>>2]=f[F>>2];if(f[Y>>2]|0)r=(f[B>>2]|0)!=0^1;else r=0;f[(f[pe>>2]|0)+68>>2]=r&1;if((f[we>>2]|0)>=0)cl()|0;f[ke>>2]=(f[we>>2]|0)<0?f[we>>2]|0:f[ve>>2]|0;f[ce>>2]=1}}while(0);de(f[ue>>2]|0);ve=f[ke>>2]|0;h=ye;return ve|0}function ul(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function hl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;l=y+40|0;u=y+36|0;c=y+32|0;b=y+28|0;w=y+24|0;k=y+20|0;_=y+16|0;p=y+12|0;d=y+8|0;v=y+4|0;g=y;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_>>2]=o;f[v>>2]=48e3/(f[_>>2]|0)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[w>>2]|0))break;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;a=re(f[p>>2]|0,f[v>>2]|0)|0;t=re(f[p>>2]|0,f[v>>2]|0)|0;s[g>>2]=+s[(f[k>>2]|0)+(a<<2)>>2]*+s[(f[k>>2]|0)+(t<<2)>>2];t=re(f[p>>2]|0,f[w>>2]|0)|0;a=re(f[p>>2]|0,f[w>>2]|0)|0;_=re(f[p>>2]|0,f[w>>2]|0)|0;s[(f[c>>2]|0)+(_+(f[d>>2]|0)<<2)>>2]=+s[g>>2]*+s[(f[u>>2]|0)+(t+(f[d>>2]|0)<<2)>>2]+(1-+s[g>>2])*+s[(f[l>>2]|0)+(a+(f[d>>2]|0)<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}h=y;return}function cl(){return 0}function bl(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[r>>2]=e;do{if(!((a[f[r>>2]>>0]|0)&128|0))if(((a[f[r>>2]>>0]|0)&96|0)==96){f[i>>2]=1001;break}else{f[i>>2]=1e3;break}else f[i>>2]=1002}while(0);h=t;return f[i>>2]|0}function wl(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+4|0;t=n;f[r>>2]=e;i=a[f[r>>2]>>0]|0;if((a[f[r>>2]>>0]|0)&128|0){i=1102+(i>>5&3)|0;f[t>>2]=i;f[t>>2]=(f[t>>2]|0)==1102?1101:i;t=f[t>>2]|0;h=n;return t|0}e=a[f[r>>2]>>0]|0;if((i&96|0)==96){f[t>>2]=e&16|0?1105:1104;t=f[t>>2]|0;h=n;return t|0}else{f[t>>2]=1101+(e>>5&3);t=f[t>>2]|0;h=n;return t|0}return 0}function kl(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return((a[f[r>>2]>>0]|0)&4|0?2:1)|0}function dl(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+48|0;u=_+40|0;c=_+36|0;b=_+32|0;w=_+28|0;k=_+24|0;d=_+20|0;p=_+16|0;y=_+12|0;g=_+8|0;l=_+4|0;v=_;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=a;f[p>>2]=o;if((f[d>>2]|0)<=0){f[u>>2]=-1;y=f[u>>2]|0;h=_;return y|0}do{if(!((f[b>>2]|0)!=0&(f[w>>2]|0)>0^1|(f[p>>2]|0)!=0)){f[l>>2]=pl(f[c>>2]|0,f[b>>2]|0,f[w>>2]|0)|0;if((f[l>>2]|0)>0){f[d>>2]=(f[d>>2]|0)<(f[l>>2]|0)?f[d>>2]|0:f[l>>2]|0;break}f[u>>2]=-4;y=f[u>>2]|0;h=_;return y|0}}while(0);e=re(f[d>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0;f[v>>2]=he()|0;r=h;h=h+((1*(e<<2)|0)+15&-16)|0;f[y>>2]=ll(f[c>>2]|0,f[b>>2]|0,f[w>>2]|0,r,f[d>>2]|0,f[p>>2]|0,0,0,1)|0;e:do{if((f[y>>2]|0)>0){f[g>>2]=0;while(1){if((f[g>>2]|0)>=(re(f[y>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0))break e;p=yl(+s[r+(f[g>>2]<<2)>>2])|0;n[(f[k>>2]|0)+(f[g>>2]<<1)>>1]=p;f[g>>2]=(f[g>>2]|0)+1}}}while(0);f[u>>2]=f[y>>2];de(f[v>>2]|0);y=f[u>>2]|0;h=_;return y|0}function pl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;r=vl(f[o>>2]|0,f[a>>2]|0,f[(f[n>>2]|0)+12>>2]|0)|0;h=t;return r|0}function vl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;l=h;h=h+32|0;t=l+20|0;n=l+16|0;u=l+12|0;a=l+8|0;o=l+4|0;s=l;f[n>>2]=e;f[u>>2]=r;f[a>>2]=i;f[s>>2]=gl(f[n>>2]|0,f[u>>2]|0)|0;i=f[s>>2]|0;if((f[s>>2]|0)<0){f[t>>2]=i;u=f[t>>2]|0;h=l;return u|0}f[o>>2]=re(i,rl(f[n>>2]|0,f[a>>2]|0)|0)|0;if(((f[o>>2]|0)*25|0)>((f[a>>2]|0)*3|0)){f[t>>2]=-4;u=f[t>>2]|0;h=l;return u|0}else{f[t>>2]=f[o>>2];u=f[t>>2]|0;h=l;return u|0}return 0}function gl(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,l=0;l=h;h=h+16|0;i=l+12|0;t=l+8|0;n=l+4|0;o=l;f[t>>2]=e;f[n>>2]=r;do{if((f[n>>2]|0)>=1){f[o>>2]=(a[f[t>>2]>>0]|0)&3;if(!(f[o>>2]|0)){f[i>>2]=1;break}if((f[o>>2]|0)!=3){f[i>>2]=2;break}if((f[n>>2]|0)<2){f[i>>2]=-4;break}else{f[i>>2]=(a[(f[t>>2]|0)+1>>0]|0)&63;break}}else f[i>>2]=-1}while(0);h=l;return f[i>>2]|0}function yl(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;s[r>>2]=+s[r>>2]*32768;s[r>>2]=+s[r>>2]>-32768?+s[r>>2]:-32768;s[r>>2]=+s[r>>2]<32767?+s[r>>2]:32767;r=(cs(+s[r>>2])|0)&65535;h=i;return r|0}function _l(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;b=k+4|0;w=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;if((f[b>>2]|0)<=0){f[o>>2]=-1;e=f[o>>2]|0;h=k;return e|0}else{f[o>>2]=ll(f[l>>2]|0,f[s>>2]|0,f[u>>2]|0,f[c>>2]|0,f[b>>2]|0,f[w>>2]|0,0,0,0)|0;e=f[o>>2]|0;h=k;return e|0}return 0}function ml(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;g=h;h=h+80|0;d=g+8|0;p=g+76|0;t=g+72|0;y=g+68|0;v=g+64|0;n=g+48|0;o=g+44|0;a=g+40|0;l=g+36|0;s=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;f[t>>2]=e;f[y>>2]=r;f[v>>2]=0;f[o>>2]=(f[t>>2]|0)+(f[(f[t>>2]|0)+4>>2]|0);f[a>>2]=(f[t>>2]|0)+(f[f[t>>2]>>2]|0);f[n>>2]=i;e:do{switch(f[y>>2]|0){case 4009:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[l>>2]=y;if(f[l>>2]|0){f[f[l>>2]>>2]=f[(f[t>>2]|0)+52>>2];t=20}else t=21;break}case 4031:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[s>>2]=y;if(f[s>>2]|0){f[f[s>>2]>>2]=f[(f[t>>2]|0)+84>>2];t=20}else t=21;break}case 4028:{vs((f[t>>2]|0)+48|0,0,88-((f[t>>2]|0)+48-(f[t>>2]|0))|0)|0;df(f[a>>2]|0,4028,g)|0;bo(f[o>>2]|0)|0;f[(f[t>>2]|0)+48>>2]=f[(f[t>>2]|0)+8>>2];f[(f[t>>2]|0)+64>>2]=(f[(f[t>>2]|0)+12>>2]|0)/400|0;t=20;break}case 4029:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[u>>2]=y;if(f[u>>2]|0){f[f[u>>2]>>2]=f[(f[t>>2]|0)+12>>2];t=20}else t=21;break}case 4033:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[c>>2]=y;if(f[c>>2]|0)if((f[(f[t>>2]|0)+60>>2]|0)==1002){t=f[a>>2]|0;f[d>>2]=(f[c>>2]|0)+((((f[c>>2]|0)-(f[c>>2]|0)|0)/4|0)<<2);df(t,4033,d)|0;t=20;break e}else{f[f[c>>2]>>2]=f[(f[t>>2]|0)+16+20>>2];t=20;break e}else t=21;break}case 4045:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[b>>2]=y;if(f[b>>2]|0){f[f[b>>2]>>2]=f[(f[t>>2]|0)+40>>2];t=20}else t=21;break}case 4034:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[w>>2]=y;if((f[w>>2]|0)<-32768|(f[w>>2]|0)>32767)t=21;else{f[(f[t>>2]|0)+40>>2]=f[w>>2];t=20}break}case 4039:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[k>>2]=y;if(f[k>>2]|0){f[f[k>>2]>>2]=f[(f[t>>2]|0)+72>>2];t=20}else t=21;break}default:{f[v>>2]=-5;t=20}}}while(0);if((t|0)==20){f[p>>2]=f[v>>2];y=f[p>>2]|0;h=g;return y|0}else if((t|0)==21){f[p>>2]=-1;y=f[p>>2]|0;h=g;return y|0}return 0}function El(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;t=o+4|0;n=o;f[i>>2]=e;if((f[i>>2]|0)<1|(f[i>>2]|0)>2){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}f[n>>2]=ko(a)|0;if(f[n>>2]|0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}else{f[a>>2]=Al(f[a>>2]|0)|0;f[t>>2]=Fn(f[i>>2]|0)|0;n=Al(18220)|0;f[r>>2]=n+(f[a>>2]|0)+(f[t>>2]|0);a=f[r>>2]|0;h=o;return a|0}return 0}function Al(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;t=r+4|0;i=r;f[t>>2]=e;f[i>>2]=4;e=re((((f[t>>2]|0)+(f[i>>2]|0)-1|0)>>>0)/((f[i>>2]|0)>>>0)|0,f[i>>2]|0)|0;h=r;return e|0}function Sl(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;g=y+8|0;v=y;a=y+48|0;o=y+44|0;l=y+40|0;u=y+36|0;c=y+32|0;p=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;d=y+12|0;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;if((!((f[l>>2]|0)!=48e3&(f[l>>2]|0)!=24e3&(f[l>>2]|0)!=16e3&(f[l>>2]|0)!=12e3&(f[l>>2]|0)!=8e3)?!((f[u>>2]|0)!=1&(f[u>>2]|0)!=2):0)?!((f[c>>2]|0)!=2048&(f[c>>2]|0)!=2049&(f[c>>2]|0)!=2051):0){e=f[o>>2]|0;vs(e|0,0,El(f[u>>2]|0)|0)|0;f[k>>2]=ko(d)|0;if(f[k>>2]|0){f[a>>2]=-1;g=f[a>>2]|0;h=y;return g|0}f[d>>2]=Al(f[d>>2]|0)|0;e=Al(18220)|0;f[(f[o>>2]|0)+4>>2]=e;f[f[o>>2]>>2]=(f[(f[o>>2]|0)+4>>2]|0)+(f[d>>2]|0);f[p>>2]=(f[o>>2]|0)+(f[(f[o>>2]|0)+4>>2]|0);f[b>>2]=(f[o>>2]|0)+(f[f[o>>2]>>2]|0);e=f[u>>2]|0;f[(f[o>>2]|0)+100>>2]=e;f[(f[o>>2]|0)+14288>>2]=e;f[(f[o>>2]|0)+132>>2]=f[l>>2];e=Rl()|0;f[(f[o>>2]|0)+168>>2]=e;f[k>>2]=po(f[p>>2]|0,f[(f[o>>2]|0)+168>>2]|0,(f[o>>2]|0)+8|0)|0;if(f[k>>2]|0){f[a>>2]=-3;g=f[a>>2]|0;h=y;return g|0}f[(f[o>>2]|0)+8>>2]=f[u>>2];f[(f[o>>2]|0)+8+4>>2]=f[u>>2];f[(f[o>>2]|0)+8+8>>2]=f[(f[o>>2]|0)+132>>2];f[(f[o>>2]|0)+8+12>>2]=16e3;f[(f[o>>2]|0)+8+16>>2]=8e3;f[(f[o>>2]|0)+8+20>>2]=16e3;f[(f[o>>2]|0)+8+24>>2]=20;f[(f[o>>2]|0)+8+28>>2]=25e3;f[(f[o>>2]|0)+8+32>>2]=0;f[(f[o>>2]|0)+8+36>>2]=9;f[(f[o>>2]|0)+8+40>>2]=0;f[(f[o>>2]|0)+8+44>>2]=0;f[(f[o>>2]|0)+8+48>>2]=0;f[(f[o>>2]|0)+8+64>>2]=0;f[w>>2]=Yn(f[b>>2]|0,f[l>>2]|0,f[u>>2]|0,f[(f[o>>2]|0)+168>>2]|0)|0;if(f[w>>2]|0){f[a>>2]=-3;g=f[a>>2]|0;h=y;return g|0}else{e=f[b>>2]|0;f[v>>2]=0;qn(e,10016,v)|0;v=f[b>>2]|0;f[g>>2]=f[(f[o>>2]|0)+8+36>>2];qn(v,4010,g)|0;f[(f[o>>2]|0)+136>>2]=1;f[(f[o>>2]|0)+140>>2]=1;f[(f[o>>2]|0)+152>>2]=-1e3;g=3e3+(re(f[l>>2]|0,f[u>>2]|0)|0)|0;f[(f[o>>2]|0)+148>>2]=g;f[(f[o>>2]|0)+96>>2]=f[c>>2];f[(f[o>>2]|0)+112>>2]=-1e3;f[(f[o>>2]|0)+116>>2]=-1e3;f[(f[o>>2]|0)+120>>2]=1105;f[(f[o>>2]|0)+108>>2]=-1e3;f[(f[o>>2]|0)+124>>2]=-1e3;f[(f[o>>2]|0)+128>>2]=-1;f[(f[o>>2]|0)+160>>2]=(f[(f[o>>2]|0)+132>>2]|0)/100|0;f[(f[o>>2]|0)+156>>2]=24;f[(f[o>>2]|0)+144>>2]=5e3;f[(f[o>>2]|0)+104>>2]=(f[(f[o>>2]|0)+132>>2]|0)/250|0;n[(f[o>>2]|0)+14292>>1]=16384;s[(f[o>>2]|0)+14300>>2]=1;g=(Ba(60)|0)<<8;f[(f[o>>2]|0)+14296>>2]=g;f[(f[o>>2]|0)+14344>>2]=1;f[(f[o>>2]|0)+14320>>2]=1001;f[(f[o>>2]|0)+14336>>2]=1105;es((f[o>>2]|0)+172|0);f[a>>2]=0;g=f[a>>2]|0;h=y;return g|0}}f[a>>2]=-1;g=f[a>>2]|0;h=y;return g|0}function Rl(){return 0}function Tl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;_=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;g=y+12|0;v=y+8|0;p=y+4|0;d=y;f[_>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[g>>2]=f[_>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;_=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[g>>2]|0)+(_+(f[b>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}e:do{if((f[w>>2]|0)<=-1){if((f[w>>2]|0)==-2){f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[k>>2]|0))break e;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;i=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]+ +s[(f[g>>2]|0)+(i+(f[d>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}}}else{f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break e;i=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]+ +s[(f[g>>2]|0)+(i+(f[w>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}}}while(0);s[v>>2]=1;if((f[k>>2]|0)==-2)s[v>>2]=+s[v>>2]/+(f[k>>2]|0);else s[v>>2]=+s[v>>2]/2;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]*+s[v>>2];f[p>>2]=(f[p>>2]|0)+1}h=y;return}function Ml(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;m=_+40|0;u=_+36|0;c=_+32|0;b=_+28|0;w=_+24|0;k=_+20|0;d=_+16|0;y=_+12|0;g=_+8|0;v=_+4|0;p=_;f[m>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[y>>2]=f[m>>2];f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;m=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;s[(f[u>>2]|0)+(f[v>>2]<<2)>>2]=+(n[(f[y>>2]|0)+(m+(f[w>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}e:do{if((f[k>>2]|0)<=-1){if((f[k>>2]|0)==-2){f[p>>2]=1;while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break e;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;i=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]+ +(n[(f[y>>2]|0)+(i+(f[p>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}f[p>>2]=(f[p>>2]|0)+1}}}else{f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break e;i=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]+ +(n[(f[y>>2]|0)+(i+(f[k>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}}}while(0);s[g>>2]=30517578125e-15;if((f[d>>2]|0)==-2)s[g>>2]=+s[g>>2]/+(f[d>>2]|0);else s[g>>2]=+s[g>>2]/2;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]*+s[g>>2];f[v>>2]=(f[v>>2]|0)+1}h=_;return}function xl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;n=s+16|0;a=s+12|0;t=s+8|0;o=s+4|0;l=s;f[a>>2]=e;f[t>>2]=r;f[o>>2]=i;if((f[a>>2]|0)<((f[o>>2]|0)/400|0|0)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}do{if((f[t>>2]|0)==5e3)f[l>>2]=f[a>>2];else{if((f[t>>2]|0)==5010){f[l>>2]=(f[o>>2]|0)/50|0;break}if(!((f[t>>2]|0)>=5001&(f[t>>2]|0)<=5006)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}i=f[o>>2]|0;if((((f[o>>2]|0)*3|0)/50|0|0)<(((f[o>>2]|0)/400|0)<<(f[t>>2]|0)-5001|0))i=(i*3|0)/50|0;else i=((i|0)/400|0)<<(f[t>>2]|0)-5001;f[l>>2]=i}}while(0);if((f[l>>2]|0)>(f[a>>2]|0)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}if(((((((f[l>>2]|0)*400|0)!=(f[o>>2]|0)?((f[l>>2]|0)*200|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*100|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*50|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*25|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*50|0)!=((f[o>>2]|0)*3|0):0){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}f[n>>2]=f[l>>2];l=f[n>>2]|0;h=s;return l|0}function Ol(e,r,i,t,n,a,o,l,s){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+48|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;k=m+24|0;d=m+20|0;p=m+16|0;v=m+12|0;g=m+8|0;y=m+4|0;_=m;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=s;if((f[w>>2]|0)==5010?(f[b>>2]|0)>=((f[d>>2]|0)/200|0|0):0){f[_>>2]=3;f[_>>2]=Ll(f[c>>2]|0,f[b>>2]|0,f[k>>2]|0,f[d>>2]|0,f[p>>2]|0,0,f[y>>2]|0,f[v>>2]|0,f[g>>2]|0)|0;while(1){if((((f[d>>2]|0)/400|0)<>2]|0)<=(f[b>>2]|0))break;f[_>>2]=(f[_>>2]|0)+-1}f[b>>2]=((f[d>>2]|0)/400|0)<>2]}else f[b>>2]=xl(f[b>>2]|0,f[w>>2]|0,f[d>>2]|0)|0;if((f[b>>2]|0)<0){f[u>>2]=-1;i=f[u>>2]|0;h=m;return i|0}else{f[u>>2]=f[b>>2];i=f[u>>2]|0;h=m;return i|0}return 0}function Ll(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=+a;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0;I=h;h=h+304|0;b=I+296|0;c=I+292|0;w=I+288|0;C=I+284|0;k=I+280|0;d=I+276|0;p=I+272|0;v=I+268|0;g=I+264|0;_=I+260|0;S=I+256|0;E=I+144|0;A=I+36|0;T=I+32|0;m=I+28|0;O=I+24|0;x=I+20|0;M=I+16|0;y=I+12|0;L=I+8|0;P=I+4|0;R=I;f[b>>2]=e;f[c>>2]=r;f[w>>2]=i;f[C>>2]=t;f[k>>2]=n;s[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[g>>2]=u;f[m>>2]=0;f[O>>2]=(f[C>>2]|0)/400|0;e=f[O>>2]|0;f[y>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;s[E>>2]=+s[f[p>>2]>>2];s[A>>2]=1/(+s[f[p>>2]>>2]+1.0000000036274937e-15);if(f[v>>2]|0){f[M>>2]=(f[O>>2]<<1)-(f[v>>2]|0);f[c>>2]=(f[c>>2]|0)-(f[M>>2]|0);s[E+4>>2]=+s[(f[p>>2]|0)+4>>2];s[A+4>>2]=1/(+s[(f[p>>2]|0)+4>>2]+1.0000000036274937e-15);s[E+8>>2]=+s[(f[p>>2]|0)+8>>2];s[A+8>>2]=1/(+s[(f[p>>2]|0)+8>>2]+1.0000000036274937e-15);f[x>>2]=3}else{f[x>>2]=1;f[M>>2]=0}if(((f[c>>2]|0)/(f[O>>2]|0)|0|0)<24)i=(f[c>>2]|0)/(f[O>>2]|0)|0;else i=24;f[_>>2]=i;s[T>>2]=0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[_>>2]|0))break;s[L>>2]=1.0000000036274937e-15;C=re(f[S>>2]|0,f[O>>2]|0)|0;Cs[f[g>>2]&3](f[b>>2]|0,t,f[O>>2]|0,C+(f[M>>2]|0)|0,0,-2,f[w>>2]|0);if(!(f[S>>2]|0))s[T>>2]=+s[t>>2];f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[O>>2]|0))break;s[P>>2]=+s[t+(f[R>>2]<<2)>>2];s[L>>2]=+s[L>>2]+(+s[P>>2]-+s[T>>2])*(+s[P>>2]-+s[T>>2]);s[T>>2]=+s[P>>2];f[R>>2]=(f[R>>2]|0)+1}s[E+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=+s[L>>2];s[A+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=1/+s[L>>2];f[S>>2]=(f[S>>2]|0)+1}s[E+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=+s[E+((f[S>>2]|0)+(f[x>>2]|0)-1<<2)>>2];if(f[v>>2]|0)f[_>>2]=24<((f[_>>2]|0)+2|0)?24:(f[_>>2]|0)+2|0;f[m>>2]=Pl(E,A,f[_>>2]|0,~~((+s[d>>2]*.5+1)*+(((f[w>>2]|0)*60|0)+40|0)),(f[k>>2]|0)/400|0)|0;s[f[p>>2]>>2]=+s[E+(1<>2]<<2)>>2];if(!(f[v>>2]|0)){C=f[m>>2]|0;P=f[y>>2]|0;de(P|0);h=I;return C|0}s[(f[p>>2]|0)+4>>2]=+s[E+((1<>2])+1<<2)>>2];s[(f[p>>2]|0)+8>>2]=+s[E+((1<>2])+2<<2)>>2];C=f[m>>2]|0;P=f[y>>2]|0;de(P|0);h=I;return C|0}function Pl(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;S=h;h=h+3136|0;o=S+3124|0;l=S+3120|0;u=S+3116|0;c=S+3112|0;b=S+3108|0;E=S+3104|0;k=S+1568|0;A=S+32|0;w=S+28|0;m=S+24|0;p=S+20|0;v=S+16|0;g=S+12|0;y=S+8|0;d=S+4|0;_=S;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;do{if((f[b>>2]|0)>=80)if((f[b>>2]|0)>160){s[p>>2]=1;break}else{s[p>>2]=(+(f[b>>2]|0)-80)/80;break}else s[p>>2]=0}while(0);f[E>>2]=0;while(1){if((f[E>>2]|0)>=16)break;f[A+(f[E>>2]<<2)>>2]=-1;s[k+(f[E>>2]<<2)>>2]=1e10;f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;R=+((f[c>>2]|0)+(re(f[b>>2]|0,1<>2])|0)|0);a=+s[p>>2];a=R*(a*+Il(f[o>>2]|0,f[l>>2]|0,f[E>>2]|0,(f[u>>2]|0)+1|0)+1);s[k+(1<>2]<<2)>>2]=a;f[A+(1<>2]<<2)>>2]=f[E>>2];f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[u>>2]|0))break;f[v>>2]=2;while(1){if((f[v>>2]|0)>=16)break;s[k+(f[E>>2]<<6)+(f[v>>2]<<2)>>2]=+s[k+((f[E>>2]|0)-1<<6)+((f[v>>2]|0)-1<<2)>>2];f[A+(f[E>>2]<<6)+(f[v>>2]<<2)>>2]=(f[v>>2]|0)-1;f[v>>2]=(f[v>>2]|0)+1}f[v>>2]=0;while(1){if((f[v>>2]|0)>=4)break;f[A+(f[E>>2]<<6)+(1<>2]<<2)>>2]=1;s[y>>2]=+s[k+((f[E>>2]|0)-1<<6)+4>>2];f[g>>2]=1;while(1){if((f[g>>2]|0)>=4)break;s[_>>2]=+s[k+((f[E>>2]|0)-1<<6)+((1<<(f[g>>2]|0)+1)-1<<2)>>2];if(+s[_>>2]<+s[y>>2]){f[A+(f[E>>2]<<6)+(1<>2]<<2)>>2]=(1<<(f[g>>2]|0)+1)-1;s[y>>2]=+s[_>>2]}f[g>>2]=(f[g>>2]|0)+1}R=+((f[c>>2]|0)+(re(f[b>>2]|0,1<>2])|0)|0);a=+s[p>>2];s[d>>2]=R*(a*+Il((f[o>>2]|0)+(f[E>>2]<<2)|0,(f[l>>2]|0)+(f[E>>2]<<2)|0,f[v>>2]|0,(f[u>>2]|0)-(f[E>>2]|0)+1|0)+1);s[k+(f[E>>2]<<6)+(1<>2]<<2)>>2]=+s[y>>2];a=+s[d>>2];if(((f[u>>2]|0)-(f[E>>2]|0)|0)<(1<>2]|0)){n=k+(f[E>>2]<<6)+(1<>2]<<2)|0;s[n>>2]=+s[n>>2]+a*+((f[u>>2]|0)-(f[E>>2]|0)|0)/+(1<>2]|0)}else{n=k+(f[E>>2]<<6)+(1<>2]<<2)|0;s[n>>2]=+s[n>>2]+a}f[v>>2]=(f[v>>2]|0)+1}f[E>>2]=(f[E>>2]|0)+1}f[m>>2]=1;s[w>>2]=+s[k+((f[u>>2]|0)-1<<6)+4>>2];f[E>>2]=2;while(1){if((f[E>>2]|0)>=16)break;if(+s[k+((f[u>>2]|0)-1<<6)+(f[E>>2]<<2)>>2]<+s[w>>2]){s[w>>2]=+s[k+((f[u>>2]|0)-1<<6)+(f[E>>2]<<2)>>2];f[m>>2]=f[E>>2]}f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=(f[u>>2]|0)-1;while(1){e=f[m>>2]|0;if((f[E>>2]|0)<0)break;f[m>>2]=f[A+(f[E>>2]<<6)+(e<<2)>>2];f[E>>2]=(f[E>>2]|0)+-1}h=S;return e|0}function Il(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;l=p+32|0;u=p+28|0;a=p+24|0;o=p+20|0;b=p+16|0;c=p+12|0;w=p+8|0;k=p+4|0;d=p;f[l>>2]=e;f[u>>2]=r;f[a>>2]=i;f[o>>2]=t;s[w>>2]=0;s[k>>2]=0;if((f[o>>2]|0)<((1<>2])+1|0))a=f[o>>2]|0;else a=(1<>2])+1|0;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[w>>2]=+s[w>>2]+ +s[(f[l>>2]|0)+(f[b>>2]<<2)>>2];s[k>>2]=+s[k>>2]+ +s[(f[u>>2]|0)+(f[b>>2]<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}s[d>>2]=+s[w>>2]*+s[k>>2]/+(re(f[c>>2]|0,f[c>>2]|0)|0);if(0>(+s[d>>2]-2)*.05000000074505806)n=0;else n=(+s[d>>2]-2)*.05000000074505806;if(1<+H(+n)){n=1;h=p;return+n}if(0>(+s[d>>2]-2)*.05000000074505806)n=0;else n=(+s[d>>2]-2)*.05000000074505806;n=+H(+n);h=p;return+n}function Cl(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;x=h;h=h+96|0;a=x+84|0;o=x+80|0;O=x+76|0;M=x+72|0;y=x+68|0;_=x+64|0;R=x+60|0;d=x+56|0;p=x+52|0;g=x+48|0;A=x+44|0;S=x+40|0;m=x+36|0;E=x+32|0;T=x+28|0;l=x+24|0;w=x+20|0;u=x+16|0;c=x+12|0;b=x+8|0;k=x+4|0;v=x;f[a>>2]=e;f[o>>2]=r;f[O>>2]=i;f[M>>2]=t;f[T>>2]=(f[O>>2]|0)/(f[o>>2]|0)|0;s[w>>2]=1-25/+((50>(f[T>>2]|0)?50:f[T>>2]|0)|0);s[g>>2]=0;s[p>>2]=0;s[d>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=0;s[c>>2]=0;s[b>>2]=0;s[k>>2]=+s[(f[a>>2]|0)+(f[l>>2]<<1<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+1<<2)>>2];s[u>>2]=+s[k>>2]*+s[k>>2];s[c>>2]=+s[k>>2]*+s[v>>2];s[b>>2]=+s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+2<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+3<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+4<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+5<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+6<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+7<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[d>>2]=+s[d>>2]+ +s[u>>2];s[p>>2]=+s[p>>2]+ +s[c>>2];s[g>>2]=+s[g>>2]+ +s[b>>2];f[l>>2]=(f[l>>2]|0)+4}O=f[M>>2]|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[d>>2]-+s[f[M>>2]>>2]);O=(f[M>>2]|0)+4|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[p>>2]-+s[(f[M>>2]|0)+4>>2]);O=(f[M>>2]|0)+8|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[g>>2]-+s[(f[M>>2]|0)+8>>2]);if(0>+s[f[M>>2]>>2])n=0;else n=+s[f[M>>2]>>2];s[f[M>>2]>>2]=n;if(0>+s[(f[M>>2]|0)+4>>2])n=0;else n=+s[(f[M>>2]|0)+4>>2];s[(f[M>>2]|0)+4>>2]=n;if(0>+s[(f[M>>2]|0)+8>>2])n=0;else n=+s[(f[M>>2]|0)+8>>2];s[(f[M>>2]|0)+8>>2]=n;a=f[M>>2]|0;if(+s[f[M>>2]>>2]>+s[(f[M>>2]|0)+8>>2])n=+s[a>>2];else n=+s[a+8>>2];if(n>.0007999999797903001){s[A>>2]=+H(+ +s[f[M>>2]>>2]);s[S>>2]=+H(+ +s[(f[M>>2]|0)+8>>2]);s[m>>2]=+H(+ +s[A>>2]);s[E>>2]=+H(+ +s[S>>2]);if(+s[(f[M>>2]|0)+4>>2]<+s[A>>2]*+s[S>>2])n=+s[(f[M>>2]|0)+4>>2];else n=+s[A>>2]*+s[S>>2];s[(f[M>>2]|0)+4>>2]=n;s[y>>2]=+s[(f[M>>2]|0)+4>>2]/(+s[A>>2]*+s[S>>2]+1.0000000036274937e-15);n=+Y(+(+s[m>>2]-+s[E>>2]))*1;s[_>>2]=n/(+s[m>>2]+1.0000000036274937e-15+ +s[E>>2]);n=+H(+(1-+s[y>>2]*+s[y>>2]));s[R>>2]=n*+s[_>>2];a=(f[M>>2]|0)+12|0;s[a>>2]=+s[a>>2]+(+s[R>>2]-+s[(f[M>>2]|0)+12>>2])/+(f[T>>2]|0);a=f[M>>2]|0;if(+s[(f[M>>2]|0)+16>>2]-.019999999552965164/+(f[T>>2]|0)>+s[(f[M>>2]|0)+12>>2])n=+s[a+16>>2]-.019999999552965164/+(f[T>>2]|0);else n=+s[a+12>>2];s[(f[M>>2]|0)+16>>2]=n}else{s[R>>2]=0;s[y>>2]=1;s[_>>2]=0}if(1<+s[(f[M>>2]|0)+16>>2]*20){n=1;h=x;return+n}n=+s[(f[M>>2]|0)+16>>2]*20;h=x;return+n}function Ul(e,r,i,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,We=0,Ze=0,Ve=0,Je=0,Ge=0,Ke=0,$e=0,er=0,rr=0,ir=0,fr=0,ar=0,or=0,lr=0,sr=0,ur=0,hr=0,cr=0,br=0,wr=0,kr=0,dr=0,pr=0,vr=0,gr=0,yr=0,_r=0,mr=0,Er=0,Ar=0,Sr=0,Rr=0,Tr=0,Mr=0,xr=0,Or=0,Lr=0,Pr=0,Ir=0,Cr=0,Ur=0,Br=0,jr=0,Dr=0,Nr=0,Fr=0,zr=0,Yr=0,Hr=0,qr=0,Wr=0,Zr=0;Zr=h;h=h+1072|0;Pr=Zr+168|0;Lr=Zr+160|0;Or=Zr+152|0;xr=Zr+144|0;Mr=Zr+136|0;Tr=Zr+128|0;Rr=Zr+120|0;Sr=Zr+112|0;Ar=Zr+104|0;Er=Zr+96|0;mr=Zr+88|0;_r=Zr+80|0;Ve=Zr+72|0;Ze=Zr+64|0;We=Zr+56|0;He=Zr+48|0;Ye=Zr+40|0;ze=Zr+32|0;Fe=Zr+24|0;Ne=Zr+16|0;Z=Zr+8|0;m=Zr;Hr=Zr+1048|0;qr=Zr+1044|0;ve=Zr+1040|0;Ur=Zr+1036|0;Wr=Zr+1032|0;Q=Zr+1028|0;ee=Zr+1024|0;y=Zr+1020|0;_=Zr+1016|0;ie=Zr+1012|0;K=Zr+1008|0;X=Zr+1004|0;$=Zr+1e3|0;ge=Zr+996|0;Pe=Zr+992|0;hr=Zr+988|0;Ke=Zr+984|0;Yr=Zr+980|0;De=Zr+976|0;Br=Zr+928|0;Je=Zr+920|0;Oe=Zr+916|0;yr=Zr+912|0;Dr=Zr+908|0;Nr=Zr+904|0;cr=Zr+900|0;vr=Zr+896|0;Fr=Zr+892|0;gr=Zr+888|0;J=Zr+884|0;V=Zr+880|0;B=Zr+876|0;er=Zr+872|0;A=Zr+868|0;xe=Zr+864|0;Te=Zr+860|0;br=Zr+856|0;$e=Zr+852|0;jr=Zr+848|0;rr=Zr+844|0;L=Zr+840|0;ir=Zr+836|0;ur=Zr+808|0;q=Zr+804|0;W=Zr+800|0;E=Zr+796|0;T=Zr+792|0;S=Zr+788|0;R=Zr+784|0;M=Zr+780|0;O=Zr+776|0;x=Zr+772|0;P=Zr+768|0;I=Zr+680|0;U=Zr+676|0;C=Zr+672|0;D=Zr+640|0;j=Zr+632|0;N=Zr+628|0;Y=Zr+624|0;F=Zr+620|0;H=Zr+616|0;be=Zr+612|0;se=Zr+608|0;oe=Zr+604|0;le=Zr+600|0;ue=Zr+596|0;te=Zr+592|0;we=Zr+588|0;fe=Zr+584|0;ke=Zr+284|0;ne=Zr+280|0;zr=Zr+276|0;Cr=Zr+272|0;G=Zr+268|0;pe=Zr+264|0;ce=Zr+260|0;Ce=Zr+256|0;ae=Zr+252|0;Ee=Zr+248|0;Ae=Zr+244|0;Re=Zr+240|0;ye=Zr+236|0;_e=Zr+232|0;Se=Zr+1052|0;me=Zr+228|0;Me=Zr+224|0;Ie=Zr+220|0;Le=Zr+216|0;je=Zr+212|0;Be=Zr+208|0;Ge=Zr+204|0;Ue=Zr+200|0;fr=Zr+196|0;ar=Zr+192|0;or=Zr+188|0;dr=Zr+184|0;wr=Zr+1056|0;pr=Zr+180|0;kr=Zr+1054|0;lr=Zr+176|0;sr=Zr+172|0;f[qr>>2]=e;f[ve>>2]=r;f[Ur>>2]=i;f[Wr>>2]=o;f[Q>>2]=l;f[ee>>2]=u;f[y>>2]=c;f[_>>2]=b;f[ie>>2]=w;f[K>>2]=k;f[X>>2]=d;f[$>>2]=p;f[ge>>2]=v;f[Yr>>2]=0;f[Oe>>2]=0;f[yr>>2]=0;f[Dr>>2]=0;f[Nr>>2]=0;f[cr>>2]=0;f[Fr>>2]=0;f[gr>>2]=0;f[q>>2]=-1;f[W>>2]=-1;f[jr>>2]=1276<(f[Q>>2]|0)?1276:f[Q>>2]|0;f[(f[qr>>2]|0)+18216>>2]=0;if(!((((((!(f[(f[qr>>2]|0)+144>>2]|0)?((f[Ur>>2]|0)*400|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*200|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*100|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*50|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*25|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*50|0)!=((f[(f[qr>>2]|0)+132>>2]|0)*3|0):0))Ir=8;if((Ir|0)==8?!((f[jr>>2]|0)<=0?1:((f[Ur>>2]|0)*400|0)<(f[(f[qr>>2]|0)+132>>2]|0)):0){f[Pe>>2]=(f[qr>>2]|0)+(f[(f[qr>>2]|0)+4>>2]|0);f[hr>>2]=(f[qr>>2]|0)+(f[f[qr>>2]>>2]|0);if((f[(f[qr>>2]|0)+96>>2]|0)==2051)f[A>>2]=0;else f[A>>2]=f[(f[qr>>2]|0)+104>>2];if((f[ee>>2]|0)<(f[(f[qr>>2]|0)+156>>2]|0))d=f[ee>>2]|0;else d=f[(f[qr>>2]|0)+156>>2]|0;f[ee>>2]=d;e=f[hr>>2]|0;f[m>>2]=ir+(((ir-ir|0)/4|0)<<2);qn(e,10015,m)|0;f[ur>>2]=0;if((f[(f[qr>>2]|0)+8+36>>2]|0)>=7?(f[(f[qr>>2]|0)+132>>2]|0)==48e3:0){f[q>>2]=f[(f[qr>>2]|0)+172+8508>>2];f[W>>2]=f[(f[qr>>2]|0)+172+8512>>2];ns((f[qr>>2]|0)+172|0,f[ir>>2]|0,f[y>>2]|0,f[_>>2]|0,f[Ur>>2]|0,f[ie>>2]|0,f[K>>2]|0,f[X>>2]|0,f[(f[qr>>2]|0)+132>>2]|0,f[ee>>2]|0,f[$>>2]|0,ur)}f[(f[qr>>2]|0)+128>>2]=-1;f[(f[qr>>2]|0)+18212>>2]=0;do{if(f[ur>>2]|0){if((f[(f[qr>>2]|0)+112>>2]|0)==-1e3){m=~~+z(+((1-+s[ur+20>>2])*100+.5));f[(f[qr>>2]|0)+128>>2]=m}f[E>>2]=f[ur+24>>2];if((f[E>>2]|0)<=12){f[(f[qr>>2]|0)+18212>>2]=1101;break}if((f[E>>2]|0)<=14){f[(f[qr>>2]|0)+18212>>2]=1102;break}if((f[E>>2]|0)<=16){f[(f[qr>>2]|0)+18212>>2]=1103;break}d=(f[qr>>2]|0)+18212|0;if((f[E>>2]|0)<=18){f[d>>2]=1104;break}else{f[d>>2]=1105;break}}}while(0);if((f[(f[qr>>2]|0)+100>>2]|0)==2?(f[(f[qr>>2]|0)+108>>2]|0)!=1:0)s[L>>2]=+Cl(f[ve>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+132>>2]|0,(f[qr>>2]|0)+14352|0);else s[L>>2]=0;f[rr>>2]=f[A>>2];A=Bl(f[qr>>2]|0,f[Ur>>2]|0,f[jr>>2]|0)|0;f[(f[qr>>2]|0)+148>>2]=A;f[xe>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0;do{if((f[jr>>2]|0)>=3?(f[(f[qr>>2]|0)+148>>2]|0)>=((f[xe>>2]|0)*3<<3|0):0){if((f[xe>>2]|0)<50){if((re(f[jr>>2]|0,f[xe>>2]|0)|0)<300)break;if((f[(f[qr>>2]|0)+148>>2]|0)<2400)break}if(!(f[(f[qr>>2]|0)+136>>2]|0)){if((((f[(f[qr>>2]|0)+148>>2]|0)+(f[xe>>2]<<2)|0)/(f[xe>>2]<<3|0)|0|0)<(f[jr>>2]|0))d=((f[(f[qr>>2]|0)+148>>2]|0)+(f[xe>>2]<<2)|0)/(f[xe>>2]<<3|0)|0;else d=f[jr>>2]|0;f[R>>2]=d;T=re(f[R>>2]|0,f[xe>>2]<<3)|0;f[(f[qr>>2]|0)+148>>2]=T;f[jr>>2]=f[R>>2]}f[Te>>2]=(re(f[xe>>2]|0,f[jr>>2]|0)|0)<<3;f[er>>2]=(f[(f[qr>>2]|0)+148>>2]|0)-(re(((f[(f[qr>>2]|0)+100>>2]|0)*40|0)+20|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0);do{if((f[(f[qr>>2]|0)+112>>2]|0)!=3001){if((f[(f[qr>>2]|0)+112>>2]|0)==3002){f[B>>2]=0;break}d=f[qr>>2]|0;if((f[(f[qr>>2]|0)+128>>2]|0)>=0){f[B>>2]=(f[d+128>>2]|0)*327>>8;if((f[(f[qr>>2]|0)+96>>2]|0)!=2049)break;f[B>>2]=(f[B>>2]|0)<115?f[B>>2]|0:115;break}if((f[d+96>>2]|0)==2048){f[B>>2]=115;break}else{f[B>>2]=48;break}}else f[B>>2]=127}while(0);if((f[(f[qr>>2]|0)+108>>2]|0)!=-1e3?(f[(f[qr>>2]|0)+100>>2]|0)==2:0)f[(f[qr>>2]|0)+14288>>2]=f[(f[qr>>2]|0)+108>>2];else Ir=73;do{if((Ir|0)==73){if((f[(f[qr>>2]|0)+100>>2]|0)!=2){f[(f[qr>>2]|0)+14288>>2]=f[(f[qr>>2]|0)+100>>2];break}f[M>>2]=3e4;d=f[M>>2]|0;if((f[(f[qr>>2]|0)+14288>>2]|0)==2)f[M>>2]=d-1e3;else f[M>>2]=d+1e3;f[(f[qr>>2]|0)+14288>>2]=(f[er>>2]|0)>(f[M>>2]|0)?2:1}}while(0);f[er>>2]=(f[(f[qr>>2]|0)+148>>2]|0)-(re(((f[(f[qr>>2]|0)+14288>>2]|0)*40|0)+20|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0);d=f[qr>>2]|0;do{if((f[(f[qr>>2]|0)+96>>2]|0)==2051)f[d+14320>>2]=1002;else{if((f[d+124>>2]|0)!=-1e3){f[(f[qr>>2]|0)+14320>>2]=f[(f[qr>>2]|0)+124>>2];break}f[O>>2]=~~((1-+s[L>>2])*+(f[4508]|0)+ +s[L>>2]*+(f[4510]|0));f[x>>2]=~~((1-+s[L>>2])*+(f[4511]|0)+ +s[L>>2]*+(f[4511]|0));L=re(f[B>>2]|0,f[B>>2]|0)|0;f[P>>2]=(f[x>>2]|0)+((re(L,(f[O>>2]|0)-(f[x>>2]|0)|0)|0)>>14);if((f[(f[qr>>2]|0)+96>>2]|0)==2048)f[P>>2]=(f[P>>2]|0)+8e3;do{if((f[(f[qr>>2]|0)+14324>>2]|0)==1002)f[P>>2]=(f[P>>2]|0)-4e3;else{if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;f[P>>2]=(f[P>>2]|0)+4e3}}while(0);f[(f[qr>>2]|0)+14320>>2]=(f[er>>2]|0)>=(f[P>>2]|0)?1002:1e3;do{if(f[(f[qr>>2]|0)+8+40>>2]|0){if((f[(f[qr>>2]|0)+8+32>>2]|0)<=(128-(f[B>>2]|0)>>4|0))break;f[(f[qr>>2]|0)+14320>>2]=1e3}}while(0);if(!((f[B>>2]|0)>100?(f[(f[qr>>2]|0)+8+44>>2]|0)!=0:0))break;f[(f[qr>>2]|0)+14320>>2]=1e3}}while(0);if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[Ur>>2]|0)<((f[(f[qr>>2]|0)+132>>2]|0)/100|0|0):0)f[(f[qr>>2]|0)+14320>>2]=1002;if(f[(f[qr>>2]|0)+164>>2]|0)f[(f[qr>>2]|0)+14320>>2]=1002;P=re((f[xe>>2]|0)>50?12e3:8e3,f[Ur>>2]|0)|0;if((f[jr>>2]|0)<((P|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0|0))f[(f[qr>>2]|0)+14320>>2]=1002;do{if((f[(f[qr>>2]|0)+14288>>2]|0)==1){if((f[(f[qr>>2]|0)+14328>>2]|0)!=2){Ir=107;break}if(f[(f[qr>>2]|0)+8+56>>2]|0){Ir=107;break}if((f[(f[qr>>2]|0)+14320>>2]|0)==1002){Ir=107;break}if((f[(f[qr>>2]|0)+14324>>2]|0)==1002){Ir=107;break}f[(f[qr>>2]|0)+8+56>>2]=1;f[(f[qr>>2]|0)+14288>>2]=2}else Ir=107}while(0);if((Ir|0)==107)f[(f[qr>>2]|0)+8+56>>2]=0;do{if((f[(f[qr>>2]|0)+14324>>2]|0)>0){if(!((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[(f[qr>>2]|0)+14324>>2]|0)==1002:0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)break;if((f[(f[qr>>2]|0)+14324>>2]|0)==1002)break}f[Dr>>2]=1;f[cr>>2]=(f[(f[qr>>2]|0)+14320>>2]|0)!=1002&1;if(f[cr>>2]|0)break;if((f[Ur>>2]|0)>=((f[(f[qr>>2]|0)+132>>2]|0)/100|0|0)){f[(f[qr>>2]|0)+14320>>2]=f[(f[qr>>2]|0)+14324>>2];f[Fr>>2]=1;break}else{f[Dr>>2]=0;break}}}while(0);if(f[(f[qr>>2]|0)+14340>>2]|0){f[Dr>>2]=1;f[cr>>2]=1;f[(f[qr>>2]|0)+14340>>2]=0;f[Oe>>2]=1}do{if(f[Dr>>2]|0){P=re(f[jr>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0;if(257<((P|0)/((f[Ur>>2]|0)+((f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0)|0|0))d=257;else{d=re(f[jr>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0;d=(d|0)/((f[Ur>>2]|0)+((f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0)|0}f[Nr>>2]=d;if(!(f[(f[qr>>2]|0)+136>>2]|0))break;if((f[Nr>>2]|0)<((f[(f[qr>>2]|0)+148>>2]|0)/1600|0|0))d=f[Nr>>2]|0;else d=(f[(f[qr>>2]|0)+148>>2]|0)/1600|0;f[Nr>>2]=d}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){if((f[(f[qr>>2]|0)+14324>>2]|0)!=1002)break;po(f[Pe>>2]|0,f[(f[qr>>2]|0)+168>>2]|0,I)|0;f[Oe>>2]=1}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){if(f[(f[qr>>2]|0)+14344>>2]|0){Ir=133;break}if(f[(f[qr>>2]|0)+8+72>>2]|0)Ir=133}else Ir=133}while(0);do{if((Ir|0)==133){f[j>>2]=1105;f[N>>2]=f[er>>2];do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){f[N>>2]=(re(f[N>>2]|0,45+(f[(f[qr>>2]|0)+8+36>>2]|0)|0)|0)/50|0;if(f[(f[qr>>2]|0)+136>>2]|0)break;f[N>>2]=(f[N>>2]|0)-1e3}}while(0);do{if((f[(f[qr>>2]|0)+100>>2]|0)==2){if((f[(f[qr>>2]|0)+108>>2]|0)==1){Ir=139;break}f[U>>2]=18048;f[C>>2]=18080}else Ir=139}while(0);if((Ir|0)==139){f[U>>2]=18112;f[C>>2]=18144}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=8)break;I=re(f[B>>2]|0,f[B>>2]|0)|0;I=(f[(f[C>>2]|0)+(f[Ke>>2]<<2)>>2]|0)+((re(I,(f[(f[U>>2]|0)+(f[Ke>>2]<<2)>>2]|0)-(f[(f[C>>2]|0)+(f[Ke>>2]<<2)>>2]|0)|0)|0)>>14)|0;f[D+(f[Ke>>2]<<2)>>2]=I;f[Ke>>2]=(f[Ke>>2]|0)+1}do{f[Y>>2]=f[D+((f[j>>2]|0)-1102<<1<<2)>>2];f[F>>2]=f[D+(((f[j>>2]|0)-1102<<1)+1<<2)>>2];do{if(!(f[(f[qr>>2]|0)+14344>>2]|0)){d=f[F>>2]|0;c=f[Y>>2]|0;if((f[(f[qr>>2]|0)+14336>>2]|0)>=(f[j>>2]|0)){f[Y>>2]=c-d;break}else{f[Y>>2]=c+d;break}}}while(0);if((f[N>>2]|0)>=(f[Y>>2]|0))break;B=(f[j>>2]|0)+-1|0;f[j>>2]=B}while((B|0)>1101);f[(f[qr>>2]|0)+14336>>2]=f[j>>2];if(f[(f[qr>>2]|0)+14344>>2]|0)break;if((f[(f[qr>>2]|0)+14320>>2]|0)==1002)break;if(f[(f[qr>>2]|0)+8+76>>2]|0)break;if((f[(f[qr>>2]|0)+14336>>2]|0)<=1103)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);if((f[(f[qr>>2]|0)+14336>>2]|0)>(f[(f[qr>>2]|0)+120>>2]|0))f[(f[qr>>2]|0)+14336>>2]=f[(f[qr>>2]|0)+120>>2];if((f[(f[qr>>2]|0)+116>>2]|0)!=-1e3)f[(f[qr>>2]|0)+14336>>2]=f[(f[qr>>2]|0)+116>>2];if((f[Te>>2]|0)<15e3?(f[(f[qr>>2]|0)+14320>>2]|0)!=1002:0){if((f[(f[qr>>2]|0)+14336>>2]|0)<1103)d=f[(f[qr>>2]|0)+14336>>2]|0;else d=1103;f[(f[qr>>2]|0)+14336>>2]=d}do{if((f[(f[qr>>2]|0)+132>>2]|0)<=24e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1104)break;f[(f[qr>>2]|0)+14336>>2]=1104}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=16e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1103)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=12e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1102)break;f[(f[qr>>2]|0)+14336>>2]=1102}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=8e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1101)break;f[(f[qr>>2]|0)+14336>>2]=1101}}while(0);do{if(f[(f[qr>>2]|0)+18212>>2]|0){if((f[(f[qr>>2]|0)+116>>2]|0)!=-1e3)break;do{if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*18e3|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){Ir=179;break}f[H>>2]=1101}else Ir=179}while(0);e:do{if((Ir|0)==179){do{if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*24e3|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)break;f[H>>2]=1102;break e}}while(0);if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*3e4|0)){f[H>>2]=1103;break}if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*44e3|0)){f[H>>2]=1104;break}else{f[H>>2]=1105;break}}}while(0);if((f[(f[qr>>2]|0)+18212>>2]|0)>(f[H>>2]|0))d=f[(f[qr>>2]|0)+18212>>2]|0;else d=f[H>>2]|0;f[(f[qr>>2]|0)+18212>>2]=d;d=f[qr>>2]|0;if((f[(f[qr>>2]|0)+14336>>2]|0)<(f[(f[qr>>2]|0)+18212>>2]|0))d=f[d+14336>>2]|0;else d=f[d+18212>>2]|0;f[(f[qr>>2]|0)+14336>>2]=d}}while(0);H=f[hr>>2]|0;f[Z>>2]=f[ee>>2];qn(H,4036,Z)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1002){if((f[(f[qr>>2]|0)+14336>>2]|0)!=1102)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);if(f[(f[qr>>2]|0)+164>>2]|0)f[(f[qr>>2]|0)+14336>>2]=1101;do{if((f[Ur>>2]|0)>((f[(f[qr>>2]|0)+132>>2]|0)/50|0|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[(f[qr>>2]|0)+14336>>2]|0)<=1103:0)break;if((f[q>>2]|0)!=-1){f[(f[qr>>2]|0)+172+8508>>2]=f[q>>2];f[(f[qr>>2]|0)+172+8512>>2]=f[W>>2]}f[be>>2]=(f[Ur>>2]|0)>((f[(f[qr>>2]|0)+132>>2]|0)/25|0|0)?3:2;if(1276<(((f[Q>>2]|0)-3|0)/(f[be>>2]|0)|0|0))d=1276;else d=((f[Q>>2]|0)-3|0)/(f[be>>2]|0)|0;f[te>>2]=d;d=re(f[be>>2]|0,f[te>>2]|0)|0;f[fe>>2]=he()|0;c=h;h=h+((1*d|0)+15&-16)|0;Gl(ke)|0;f[se>>2]=f[(f[qr>>2]|0)+124>>2];f[oe>>2]=f[(f[qr>>2]|0)+116>>2];f[le>>2]=f[(f[qr>>2]|0)+108>>2];f[(f[qr>>2]|0)+124>>2]=f[(f[qr>>2]|0)+14320>>2];f[(f[qr>>2]|0)+116>>2]=f[(f[qr>>2]|0)+14336>>2];f[(f[qr>>2]|0)+108>>2]=f[(f[qr>>2]|0)+14288>>2];f[ue>>2]=f[(f[qr>>2]|0)+8+56>>2];d=f[qr>>2]|0;if(f[ue>>2]|0)f[d+108>>2]=1;else f[(f[qr>>2]|0)+14328>>2]=f[d+14288>>2];f[Ke>>2]=0;while(1){d=f[qr>>2]|0;if((f[Ke>>2]|0)>=(f[be>>2]|0)){Ir=219;break}f[d+8+56>>2]=0;do{if(f[Fr>>2]|0){if((f[Ke>>2]|0)!=((f[be>>2]|0)-1|0))break;f[(f[qr>>2]|0)+124>>2]=1002}}while(0);Dr=(f[ve>>2]|0)+((re(f[Ke>>2]|0,(re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/50|0)|0)<<2)|0;Nr=c+(re(f[Ke>>2]|0,f[te>>2]|0)|0)|0;f[ne>>2]=Ul(f[qr>>2]|0,Dr,(f[(f[qr>>2]|0)+132>>2]|0)/50|0,Nr,f[te>>2]|0,f[ee>>2]|0,0,0,f[ie>>2]|0,f[K>>2]|0,f[X>>2]|0,f[$>>2]|0,f[ge>>2]|0)|0;if((f[ne>>2]|0)<0){Ir=215;break}Nr=c+(re(f[Ke>>2]|0,f[te>>2]|0)|0)|0;f[Yr>>2]=Kl(ke,Nr,f[ne>>2]|0)|0;if((f[Yr>>2]|0)<0){Ir=217;break}f[Ke>>2]=(f[Ke>>2]|0)+1}do{if((Ir|0)==215){f[Hr>>2]=-3;f[zr>>2]=1}else if((Ir|0)==217){f[Hr>>2]=-3;f[zr>>2]=1}else if((Ir|0)==219){if(f[d+136>>2]|0)f[we>>2]=f[Q>>2];else{if((((f[(f[qr>>2]|0)+148>>2]|0)*3|0)/(1200/(f[be>>2]|0)|0|0)|0|0)<(f[Q>>2]|0))d=((f[(f[qr>>2]|0)+148>>2]|0)*3|0)/(1200/(f[be>>2]|0)|0|0)|0;else d=f[Q>>2]|0;f[we>>2]=d}f[Yr>>2]=$l(ke,0,f[be>>2]|0,f[Wr>>2]|0,f[we>>2]|0,0,((f[(f[qr>>2]|0)+136>>2]|0)!=0^1)&1)|0;if((f[Yr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break}else{f[(f[qr>>2]|0)+124>>2]=f[se>>2];f[(f[qr>>2]|0)+116>>2]=f[oe>>2];f[(f[qr>>2]|0)+108>>2]=f[le>>2];f[(f[qr>>2]|0)+8+56>>2]=f[ue>>2];f[Hr>>2]=f[Yr>>2];f[zr>>2]=1;break}}}while(0);de(f[fe>>2]|0);Wr=f[Hr>>2]|0;h=Zr;return Wr|0}}while(0);f[br>>2]=f[(f[qr>>2]|0)+14336>>2];if((f[br>>2]|0)>1103?(f[(f[qr>>2]|0)+14320>>2]|0)==1e3:0)f[(f[qr>>2]|0)+14320>>2]=1001;if((f[br>>2]|0)<=1103?(f[(f[qr>>2]|0)+14320>>2]|0)==1001:0)f[(f[qr>>2]|0)+14320>>2]=1e3;ke=re(f[(f[qr>>2]|0)+148>>2]|0,f[Ur>>2]|0)|0;if(((f[jr>>2]|0)-(f[Nr>>2]|0)|0)<((ke|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0|0))d=(f[jr>>2]|0)-(f[Nr>>2]|0)|0;else{d=re(f[(f[qr>>2]|0)+148>>2]|0,f[Ur>>2]|0)|0;d=(d|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0}f[Je>>2]=d-1;f[Wr>>2]=(f[Wr>>2]|0)+1;qe(Br,f[Wr>>2]|0,(f[jr>>2]|0)-1|0);we=re((f[rr>>2]|0)+(f[Ur>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;f[Cr>>2]=he()|0;b=h;h=h+((1*(we<<2)|0)+15&-16)|0;we=re((f[(f[qr>>2]|0)+160>>2]|0)-(f[rr>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;ke=(re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs(b|0,(f[qr>>2]|0)+14372+(we<<2)|0,ke+0|0)|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1002)f[V>>2]=(Ba(60)|0)<<8;else f[V>>2]=f[(f[Pe>>2]|0)+8>>2];f[(f[qr>>2]|0)+14296>>2]=(f[(f[qr>>2]|0)+14296>>2]|0)+((((f[V>>2]|0)-(f[(f[qr>>2]|0)+14296>>2]|0)>>16)*983|0)+(((f[V>>2]|0)-(f[(f[qr>>2]|0)+14296>>2]|0)&65535)*983>>16));f[J>>2]=Fa(f[(f[qr>>2]|0)+14296>>2]>>8)|0;d=f[ve>>2]|0;if((f[(f[qr>>2]|0)+96>>2]|0)==2048){ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;Dl(d,f[J>>2]|0,ve,(f[qr>>2]|0)+14304|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)}else{ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;Fl(d,3,ve,(f[qr>>2]|0)+14304|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)}do{if(f[ge>>2]|0){ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;ge=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;s[G>>2]=+zl(ve,ge,re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0);if(+s[G>>2]<1e9?!(+s[G>>2]!=+s[G>>2]):0)break;ge=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;vs(ge|0,0,(re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2|0)|0;s[(f[qr>>2]|0)+14304+12>>2]=0;s[(f[qr>>2]|0)+14304+8>>2]=0;s[(f[qr>>2]|0)+14304+4>>2]=0;s[(f[qr>>2]|0)+14304>>2]=0}}while(0);s[$e>>2]=1;if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){ge=re(f[(f[qr>>2]|0)+100>>2]|0,f[Ur>>2]|0)|0;f[Ce>>2]=he()|0;c=h;h=h+((1*(ge<<1)|0)+15&-16)|0;f[pe>>2]=re(f[Je>>2]<<3,f[xe>>2]|0)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){d=re(f[(f[qr>>2]|0)+14288>>2]|0,5e3+(((f[(f[qr>>2]|0)+132>>2]|0)==((f[Ur>>2]|0)*100|0)&1)*1e3|0)|0)|0;f[(f[qr>>2]|0)+8+28>>2]=d;d=(f[pe>>2]|0)-(f[(f[qr>>2]|0)+8+28>>2]|0)|0;if((f[br>>2]|0)==1104){ge=(f[qr>>2]|0)+8+28|0;f[ge>>2]=(f[ge>>2]|0)+((d<<1|0)/3|0)}else{ge=(f[qr>>2]|0)+8+28|0;f[ge>>2]=(f[ge>>2]|0)+((d*3|0)/5|0)}if((f[(f[qr>>2]|0)+8+28>>2]|0)>((f[pe>>2]<<2|0)/5|0|0))f[(f[qr>>2]|0)+8+28>>2]=(f[pe>>2]<<2|0)/5|0;if(f[(f[qr>>2]|0)+14348>>2]|0)break;f[ce>>2]=(f[pe>>2]|0)-(f[(f[qr>>2]|0)+8+28>>2]|0);f[ae>>2]=(f[br>>2]|0)==1104?3e3:3600;s[$e>>2]=+(f[ce>>2]|0)/(+(f[ce>>2]|0)+ +(re(f[(f[qr>>2]|0)+14288>>2]|0,f[ae>>2]|0)|0));s[$e>>2]=+s[$e>>2]<.8571428656578064?+s[$e>>2]+.1428571492433548:1}else f[(f[qr>>2]|0)+8+28>>2]=f[pe>>2]}while(0);do{if(f[(f[qr>>2]|0)+14348>>2]|0){if(!(f[(f[qr>>2]|0)+136>>2]|0))break;if(f[(f[qr>>2]|0)+164>>2]|0)break;s[Ee>>2]=0;f[_e>>2]=17;n[Se>>1]=16e3;do{if((f[(f[qr>>2]|0)+14336>>2]|0)==1101){f[_e>>2]=13;n[Se>>1]=8e3}else{if((f[(f[qr>>2]|0)+14336>>2]|0)!=1102)break;f[_e>>2]=15;n[Se>>1]=12e3}}while(0);f[ye>>2]=0;while(1){if((f[ye>>2]|0)>=(f[(f[qr>>2]|0)+100>>2]|0))break;f[Ke>>2]=0;while(1){d=f[ye>>2]|0;if((f[Ke>>2]|0)>=(f[_e>>2]|0))break;if(+s[(f[(f[qr>>2]|0)+14348>>2]|0)+((d*21|0)+(f[Ke>>2]|0)<<2)>>2]<.5)g=+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2];else g=.5;do{if(g>-2){if(!(+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2]<.5)){g=.5;break}g=+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2]}else g=-2}while(0);s[me>>2]=g;if(+s[me>>2]>0)s[me>>2]=+s[me>>2]*.5;s[Ee>>2]=+s[Ee>>2]+ +s[me>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}f[ye>>2]=d+1}s[Ae>>2]=+s[Ee>>2]/+(f[_e>>2]|0)*+(f[(f[qr>>2]|0)+100>>2]|0);s[Ae>>2]=+s[Ae>>2]+.20000000298023224;f[Re>>2]=~~(+(n[Se>>1]|0)*+s[Ae>>2]);if((f[Re>>2]|0)>((re(-2,f[(f[qr>>2]|0)+8+28>>2]|0)|0)/3|0|0))d=f[Re>>2]|0;else d=(re(-2,f[(f[qr>>2]|0)+8+28>>2]|0)|0)/3|0;f[Re>>2]=d;do{if((f[(f[qr>>2]|0)+14336>>2]|0)==1104)Ir=281;else{if((f[(f[qr>>2]|0)+14336>>2]|0)==1105){Ir=281;break}Se=(f[qr>>2]|0)+8+28|0;f[Se>>2]=(f[Se>>2]|0)+(f[Re>>2]|0)}}while(0);if((Ir|0)==281){Se=(f[qr>>2]|0)+8+28|0;f[Se>>2]=(f[Se>>2]|0)+(((f[Re>>2]|0)*3|0)/5|0)}Re=re(f[Re>>2]|0,f[Ur>>2]|0)|0;f[Je>>2]=(f[Je>>2]|0)+((Re|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0)}}while(0);f[(f[qr>>2]|0)+8+24>>2]=((f[Ur>>2]|0)*1e3|0)/(f[(f[qr>>2]|0)+132>>2]|0)|0;f[(f[qr>>2]|0)+8>>2]=f[(f[qr>>2]|0)+100>>2];f[(f[qr>>2]|0)+8+4>>2]=f[(f[qr>>2]|0)+14288>>2];do{if((f[br>>2]|0)!=1101){d=(f[qr>>2]|0)+8+20|0;if((f[br>>2]|0)==1102){f[d>>2]=12e3;break}else{f[d>>2]=16e3;break}}else f[(f[qr>>2]|0)+8+20>>2]=8e3}while(0);d=(f[qr>>2]|0)+8+16|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[d>>2]=16e3;else f[d>>2]=8e3;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1e3){f[Me>>2]=f[Te>>2];f[(f[qr>>2]|0)+8+12>>2]=16e3;if((f[xe>>2]|0)>50)f[Me>>2]=(f[Me>>2]<<1|0)/3|0;if((f[Me>>2]|0)<13e3){f[(f[qr>>2]|0)+8+12>>2]=12e3;if(12e3<(f[(f[qr>>2]|0)+8+20>>2]|0))d=12e3;else d=f[(f[qr>>2]|0)+8+20>>2]|0;f[(f[qr>>2]|0)+8+20>>2]=d}if((f[Me>>2]|0)>=9600)break;f[(f[qr>>2]|0)+8+12>>2]=8e3;if(8e3<(f[(f[qr>>2]|0)+8+20>>2]|0))d=8e3;else d=f[(f[qr>>2]|0)+8+20>>2]|0;f[(f[qr>>2]|0)+8+20>>2]=d}else f[(f[qr>>2]|0)+8+12>>2]=16e3}while(0);f[(f[qr>>2]|0)+8+48>>2]=((f[(f[qr>>2]|0)+136>>2]|0)!=0^1)&1;if(1275<((f[jr>>2]|0)-1-(f[Nr>>2]|0)|0))d=1275;else d=(f[jr>>2]|0)-1-(f[Nr>>2]|0)|0;f[De>>2]=d;f[(f[qr>>2]|0)+8+52>>2]=f[De>>2]<<3;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[(f[qr>>2]|0)+8+52>>2]=((f[(f[qr>>2]|0)+8+52>>2]|0)*9|0)/10|0;if(f[(f[qr>>2]|0)+8+48>>2]|0){xe=re(f[(f[qr>>2]|0)+8+28>>2]|0,f[Ur>>2]|0)|0;f[(f[qr>>2]|0)+8+52>>2]=((xe|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0)<<3;if(1>((f[(f[qr>>2]|0)+8+28>>2]|0)-2e3|0))d=1;else d=(f[(f[qr>>2]|0)+8+28>>2]|0)-2e3|0;f[(f[qr>>2]|0)+8+28>>2]=d}if(f[Oe>>2]|0){f[Ie>>2]=0;f[Le>>2]=re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[(f[qr>>2]|0)+104>>2]|0)-((f[(f[qr>>2]|0)+132>>2]|0)/400|0)|0)|0;Yl((f[qr>>2]|0)+14372+(f[Le>>2]<<2)|0,(f[qr>>2]|0)+14372+(f[Le>>2]<<2)|0,0,1,f[(f[ir>>2]|0)+4>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/400|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);vs((f[qr>>2]|0)+14372|0,0,f[Le>>2]<<2|0)|0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[(f[qr>>2]|0)+160>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0))break;Le=Hl(+s[(f[qr>>2]|0)+14372+(f[Ke>>2]<<2)>>2])|0;n[c+(f[Ke>>2]<<1)>>1]=Le;f[Ke>>2]=(f[Ke>>2]|0)+1}go(f[Pe>>2]|0,(f[qr>>2]|0)+8|0,c,f[(f[qr>>2]|0)+160>>2]|0,0,Ie,1)|0}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0))break;Ie=re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0;Ie=Hl(+s[b+(Ie+(f[Ke>>2]|0)<<2)>>2])|0;n[c+(f[Ke>>2]<<1)>>1]=Ie;f[Ke>>2]=(f[Ke>>2]|0)+1}f[Yr>>2]=go(f[Pe>>2]|0,(f[qr>>2]|0)+8|0,c,f[Ur>>2]|0,Br,De,0)|0;do{if(f[Yr>>2]|0){f[Hr>>2]=-3;f[zr>>2]=1}else{d=f[qr>>2]|0;if(!(f[De>>2]|0)){f[d+18216>>2]=0;Ke=jl(f[(f[qr>>2]|0)+14320>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0,f[br>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[(f[Wr>>2]|0)+-1>>0]=Ke;f[Hr>>2]=1;f[zr>>2]=1;break}do{if((f[d+14320>>2]|0)==1e3){if((f[(f[qr>>2]|0)+8+68>>2]|0)==8e3){f[br>>2]=1101;break}if((f[(f[qr>>2]|0)+8+68>>2]|0)==12e3){f[br>>2]=1102;break}if((f[(f[qr>>2]|0)+8+68>>2]|0)!=16e3)break;f[br>>2]=1103}}while(0);f[(f[qr>>2]|0)+8+60>>2]=f[(f[qr>>2]|0)+8+84>>2];if(f[(f[qr>>2]|0)+8+60>>2]|0){f[Dr>>2]=1;f[cr>>2]=0;f[(f[qr>>2]|0)+14340>>2]=1}f[zr>>2]=0}}while(0);de(f[Ce>>2]|0);if(!(f[zr>>2]|0))Ir=335}else Ir=335;e:do{if((Ir|0)==335){f[je>>2]=21;switch(f[br>>2]|0){case 1101:{f[je>>2]=13;break}case 1103:case 1102:{f[je>>2]=17;break}case 1104:{f[je>>2]=19;break}case 1105:{f[je>>2]=21;break}default:{}}Ke=f[hr>>2]|0;f[Ne>>2]=f[je>>2];qn(Ke,10012,Ne)|0;Ke=f[hr>>2]|0;f[Fe>>2]=f[(f[qr>>2]|0)+14288>>2];qn(Ke,10008,Fe)|0;Ke=f[hr>>2]|0;f[ze>>2]=-1;qn(Ke,4002,ze)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){s[Be>>2]=2;Ke=f[hr>>2]|0;f[Ye>>2]=0;qn(Ke,4006,Ye)|0;if(f[(f[qr>>2]|0)+8+64>>2]|0)s[Be>>2]=0;Ke=f[hr>>2]|0;f[He>>2]=~~+s[Be>>2];qn(Ke,10002,He)|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){f[Ge>>2]=(ql(Br)|0)+7>>3;if(f[Dr>>2]|0)f[Ge>>2]=(f[Ge>>2]|0)+((f[(f[qr>>2]|0)+14320>>2]|0)==1001?3:1);d=f[Ge>>2]|0;c=f[Je>>2]|0;if(f[(f[qr>>2]|0)+136>>2]|0){Ke=re(f[(f[qr>>2]|0)+8+28>>2]|0,f[Ur>>2]|0)|0;f[vr>>2]=d+c-((Ke|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0);break}else{f[vr>>2]=(d|0)>(c|0)?f[Ge>>2]|0:f[Je>>2]|0;break}}if(!(f[(f[qr>>2]|0)+136>>2]|0)){f[vr>>2]=f[Je>>2];break}f[Ue>>2]=0;do{if((f[(f[qr>>2]|0)+144>>2]|0)==5010){if((f[Ur>>2]|0)==((f[(f[qr>>2]|0)+132>>2]|0)/50|0|0))break;f[Ue>>2]=re(((f[(f[qr>>2]|0)+14288>>2]|0)*60|0)+40|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0;if(!(f[ur>>2]|0))break;f[Ue>>2]=~~(+(f[Ue>>2]|0)*(+s[ur+4>>2]*.5+1))}}while(0);Ke=f[hr>>2]|0;f[We>>2]=1;qn(Ke,4006,We)|0;Ke=f[hr>>2]|0;f[Ze>>2]=f[(f[qr>>2]|0)+140>>2];qn(Ke,4020,Ze)|0;Ke=f[hr>>2]|0;f[Ve>>2]=(f[(f[qr>>2]|0)+148>>2]|0)+(f[Ue>>2]|0);qn(Ke,4002,Ve)|0;f[vr>>2]=(f[jr>>2]|0)-1-(f[Nr>>2]|0)}else f[vr>>2]=0}while(0);Ke=((re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/400|0)<<2;c=h;h=h+((1*Ke|0)+15&-16)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){if((f[(f[qr>>2]|0)+14320>>2]|0)==(f[(f[qr>>2]|0)+14324>>2]|0))break;if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;Ge=re((f[(f[qr>>2]|0)+160>>2]|0)-(f[rr>>2]|0)-((f[(f[qr>>2]|0)+132>>2]|0)/400|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;Ke=((re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/400|0)<<2;gs(c|0,(f[qr>>2]|0)+14372+(Ge<<2)|0,Ke+0|0)|0}}while(0);Ke=(re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-((f[Ur>>2]|0)+(f[rr>>2]|0))|0)|0)>0;d=(f[qr>>2]|0)+14372|0;if(Ke){Ge=re(f[(f[qr>>2]|0)+100>>2]|0,f[Ur>>2]|0)|0;Ke=(re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[Ur>>2]|0)-(f[rr>>2]|0)|0)|0)<<2;ys(d|0,(f[qr>>2]|0)+14372+(Ge<<2)|0,Ke+0|0)|0;Ke=re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[Ur>>2]|0)-(f[rr>>2]|0)|0)|0;rr=(re((f[Ur>>2]|0)+(f[rr>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs((f[qr>>2]|0)+14372+(Ke<<2)|0,b|0,rr+0|0)|0}else{Ke=b+((re((f[Ur>>2]|0)+(f[rr>>2]|0)-(f[(f[qr>>2]|0)+160>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;rr=(re(f[(f[qr>>2]|0)+160>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs(d|0,Ke|0,rr+0|0)|0}if(+s[$e>>2]<1?1:+s[(f[qr>>2]|0)+14300>>2]<1)Yl(b,b,+s[(f[qr>>2]|0)+14300>>2],+s[$e>>2],f[(f[ir>>2]|0)+4>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);s[(f[qr>>2]|0)+14300>>2]=+s[$e>>2];if(!((f[(f[qr>>2]|0)+14320>>2]|0)==1001?(f[(f[qr>>2]|0)+14288>>2]|0)!=1:0)){if(16384<((0>((f[er>>2]|0)-3e4|0)?0:(f[er>>2]|0)-3e4|0)<<1|0))d=16384;else d=(0>((f[er>>2]|0)-3e4|0)?0:(f[er>>2]|0)-3e4|0)<<1;f[(f[qr>>2]|0)+8+80>>2]=d}do{if(!(f[(f[qr>>2]|0)+14348>>2]|0)){if((f[(f[qr>>2]|0)+100>>2]|0)!=2)break;if((n[(f[qr>>2]|0)+14292>>1]|0)>=16384?(f[(f[qr>>2]|0)+8+80>>2]|0)>=16384:0)break;s[fr>>2]=+(n[(f[qr>>2]|0)+14292>>1]|0);s[ar>>2]=+(f[(f[qr>>2]|0)+8+80>>2]|0);s[fr>>2]=+s[fr>>2]*6103515625e-14;s[ar>>2]=+s[ar>>2]*6103515625e-14;Wl(b,b,+s[fr>>2],+s[ar>>2],f[(f[ir>>2]|0)+4>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);n[(f[qr>>2]|0)+14292>>1]=f[(f[qr>>2]|0)+8+80>>2]}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){ar=(ql(Br)|0)+17|0;if((ar+(((f[(f[qr>>2]|0)+14320>>2]|0)==1001&1)*20|0)|0)>((f[jr>>2]|0)-1<<3|0)){Ir=393;break}do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){if((f[Dr>>2]|0)==0?(ar=(ql(Br)|0)+37|0,(ar|0)>(f[vr>>2]<<3|0)):0)break;Xe(Br,f[Dr>>2]|0,12)}}while(0);if(!(f[Dr>>2]|0))break;Xe(Br,f[cr>>2]|0,1);d=(f[jr>>2]|0)-1|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[or>>2]=d-(f[vr>>2]|0);else f[or>>2]=d-((ql(Br)|0)+7>>3);if((f[or>>2]|0)<((f[(f[qr>>2]|0)+148>>2]|0)/1600|0|0))d=f[or>>2]|0;else d=(f[(f[qr>>2]|0)+148>>2]|0)/1600|0;f[Nr>>2]=d;if(257<((2>(f[Nr>>2]|0)?2:f[Nr>>2]|0)|0))d=257;else d=2>(f[Nr>>2]|0)?2:f[Nr>>2]|0;f[Nr>>2]=d;if((f[(f[qr>>2]|0)+14320>>2]|0)!=1001)break;Qe(Br,(f[Nr>>2]|0)-2|0,256)}else Ir=393}while(0);if((Ir|0)==393)f[Dr>>2]=0;if(!(f[Dr>>2]|0)){f[(f[qr>>2]|0)+14340>>2]=0;f[Nr>>2]=0}if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)f[yr>>2]=17;if((f[(f[qr>>2]|0)+14320>>2]|0)==1e3){f[Yr>>2]=(ql(Br)|0)+7>>3;nr(Br);f[vr>>2]=f[Yr>>2]}else{if(((f[jr>>2]|0)-1-(f[Nr>>2]|0)|0)<(f[vr>>2]|0))d=(f[jr>>2]|0)-1-(f[Nr>>2]|0)|0;else d=f[vr>>2]|0;f[vr>>2]=d;tr(Br,f[vr>>2]|0)}if(!(!(f[Dr>>2]|0)?(f[(f[qr>>2]|0)+14320>>2]|0)==1e3:0)){Ir=f[hr>>2]|0;f[_r>>2]=ur+(((ur-ur|0)/28|0)*28|0);qn(Ir,10022,_r)|0}do{if((f[Dr>>2]|0)!=0&(f[cr>>2]|0)!=0){Ir=f[hr>>2]|0;f[mr>>2]=0;qn(Ir,10010,mr)|0;Ir=f[hr>>2]|0;f[Er>>2]=0;qn(Ir,4006,Er)|0;f[dr>>2]=Zn(f[hr>>2]|0,b,(f[(f[qr>>2]|0)+132>>2]|0)/200|0,(f[Wr>>2]|0)+(f[vr>>2]|0)|0,f[Nr>>2]|0,0)|0;if((f[dr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{Ir=f[hr>>2]|0;f[Ar>>2]=gr+(((gr-gr|0)/4|0)<<2);qn(Ir,4031,Ar)|0;qn(f[hr>>2]|0,4028,Sr)|0;break}}}while(0);Ir=f[hr>>2]|0;f[Rr>>2]=f[yr>>2];qn(Ir,10010,Rr)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=(f[(f[qr>>2]|0)+14324>>2]|0)){if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;qn(f[hr>>2]|0,4028,Tr)|0;Zn(f[hr>>2]|0,c,(f[(f[qr>>2]|0)+132>>2]|0)/400|0,wr,2,0)|0;Ir=f[hr>>2]|0;f[Mr>>2]=0;qn(Ir,10002,Mr)|0}}while(0);Ir=ql(Br)|0;if((Ir|0)>(f[vr>>2]<<3|0))break;f[Yr>>2]=Zn(f[hr>>2]|0,b,f[Ur>>2]|0,0,f[vr>>2]|0,Br)|0;if((f[Yr>>2]|0)>=0)break;f[Hr>>2]=-3;f[zr>>2]=1;break e}}while(0);do{if(!((f[Dr>>2]|0)==0|(f[cr>>2]|0)!=0)){f[lr>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/200|0;f[sr>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/400|0;qn(f[hr>>2]|0,4028,xr)|0;Ir=f[hr>>2]|0;f[Or>>2]=0;qn(Ir,10010,Or)|0;Ir=f[hr>>2]|0;f[Lr>>2]=0;qn(Ir,10002,Lr)|0;Ir=b+((re(f[(f[qr>>2]|0)+100>>2]|0,(f[Ur>>2]|0)-(f[lr>>2]|0)-(f[sr>>2]|0)|0)|0)<<2)|0;Zn(f[hr>>2]|0,Ir,f[sr>>2]|0,kr,2,0)|0;Ir=b+((re(f[(f[qr>>2]|0)+100>>2]|0,(f[Ur>>2]|0)-(f[lr>>2]|0)|0)|0)<<2)|0;f[pr>>2]=Zn(f[hr>>2]|0,Ir,f[lr>>2]|0,(f[Wr>>2]|0)+(f[vr>>2]|0)|0,f[Nr>>2]|0,0)|0;if((f[pr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{Ir=f[hr>>2]|0;f[Pr>>2]=gr+(((gr-gr|0)/4|0)<<2);qn(Ir,4031,Pr)|0;break}}}while(0);f[Wr>>2]=(f[Wr>>2]|0)+-1;d=jl(f[(f[qr>>2]|0)+14320>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0,f[br>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[f[Wr>>2]>>0]=d;f[(f[qr>>2]|0)+18216>>2]=f[Br+28>>2]^f[gr>>2];d=f[qr>>2]|0;if(f[Fr>>2]|0)f[d+14324>>2]=1002;else f[(f[qr>>2]|0)+14324>>2]=f[d+14320>>2];f[(f[qr>>2]|0)+14328>>2]=f[(f[qr>>2]|0)+14288>>2];f[(f[qr>>2]|0)+14332>>2]=f[Ur>>2];f[(f[qr>>2]|0)+14344>>2]=0;Fr=ql(Br)|0;r:do{if((Fr|0)>((f[jr>>2]|0)-1<<3|0))if((f[jr>>2]|0)<2){f[Hr>>2]=-2;f[zr>>2]=1;break e}else{t[(f[Wr>>2]|0)+1>>0]=0;f[Yr>>2]=1;f[(f[qr>>2]|0)+18216>>2]=0;break}else{if(!(((f[Dr>>2]|0?1:(f[(f[qr>>2]|0)+14320>>2]|0)!=1e3)^1)&(f[Yr>>2]|0)>2))break;do{if(a[(f[Wr>>2]|0)+(f[Yr>>2]|0)>>0]|0)break r;f[Yr>>2]=(f[Yr>>2]|0)+-1}while((f[Yr>>2]|0)>2)}}while(0);f[Yr>>2]=(f[Yr>>2]|0)+(1+(f[Nr>>2]|0));do{if(!(f[(f[qr>>2]|0)+136>>2]|0))if(Ql(f[Wr>>2]|0,f[Yr>>2]|0,f[jr>>2]|0)|0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{f[Yr>>2]=f[jr>>2];break}}while(0);f[Hr>>2]=f[Yr>>2];f[zr>>2]=1}}while(0);de(f[Cr>>2]|0);Wr=f[Hr>>2]|0;h=Zr;return Wr|0}}while(0);f[T>>2]=f[(f[qr>>2]|0)+14320>>2];if(!(f[(f[qr>>2]|0)+14336>>2]|0))d=1101;else d=f[(f[qr>>2]|0)+14336>>2]|0;f[S>>2]=d;if(!(f[T>>2]|0))f[T>>2]=1e3;if((f[xe>>2]|0)>100)f[T>>2]=1002;if((f[xe>>2]|0)<50)f[T>>2]=1e3;do{if(!((f[T>>2]|0)==1e3&(f[S>>2]|0)>1103)){if((f[T>>2]|0)==1002&(f[S>>2]|0)==1102){f[S>>2]=1101;break}if((f[S>>2]|0)<=1104)f[S>>2]=1104}else f[S>>2]=1103}while(0);qr=jl(f[T>>2]|0,f[xe>>2]|0,f[S>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[f[Wr>>2]>>0]=qr;f[Hr>>2]=1;Wr=f[Hr>>2]|0;h=Zr;return Wr|0}f[Hr>>2]=-1;Wr=f[Hr>>2]|0;h=Zr;return Wr|0}function Bl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if(!(f[a>>2]|0))f[a>>2]=(f[(f[n>>2]|0)+132>>2]|0)/400|0;r=f[n>>2]|0;if((f[(f[n>>2]|0)+152>>2]|0)==-1e3){f[t>>2]=(((f[r+132>>2]|0)*60|0)/(f[a>>2]|0)|0)+(re(f[(f[n>>2]|0)+132>>2]|0,f[(f[n>>2]|0)+100>>2]|0)|0);o=f[t>>2]|0;h=l;return o|0}if((f[r+152>>2]|0)==-1){o=re(f[o>>2]<<3,f[(f[n>>2]|0)+132>>2]|0)|0;f[t>>2]=(o|0)/(f[a>>2]|0)|0;o=f[t>>2]|0;h=l;return o|0}else{f[t>>2]=f[(f[n>>2]|0)+152>>2];o=f[t>>2]|0;h=l;return o|0}return 0}function jl(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+20|0;l=k+16|0;s=k+12|0;u=k+8|0;c=k+4|0;w=k+24|0;b=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=0;while(1){if((f[l>>2]|0)>=400)break;f[l>>2]=f[l>>2]<<1;f[c>>2]=(f[c>>2]|0)+1}do{if((f[o>>2]|0)!=1e3)if((f[o>>2]|0)==1002){e=(f[s>>2]|0)-1102|0;f[b>>2]=e;f[b>>2]=(f[b>>2]|0)<0?0:e;t[w>>0]=-128;t[w>>0]=a[w>>0]|0|f[b>>2]<<5;t[w>>0]=a[w>>0]|0|f[c>>2]<<3;break}else{t[w>>0]=96;t[w>>0]=a[w>>0]|0|(f[s>>2]|0)-1104<<4;t[w>>0]=a[w>>0]|0|(f[c>>2]|0)-2<<3;break}else{t[w>>0]=(f[s>>2]|0)-1101<<5;t[w>>0]=a[w>>0]|0|(f[c>>2]|0)-2<<3}}while(0);t[w>>0]=a[w>>0]|0|((f[u>>2]|0)==2&1)<<2;h=k;return t[w>>0]|0}function Dl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;d=h;h=h+64|0;l=d+60|0;_=d+56|0;s=d+52|0;u=d+48|0;c=d+44|0;b=d+40|0;y=d+36|0;k=d+24|0;w=d+16|0;v=d+8|0;g=d+4|0;p=d;f[l>>2]=e;f[_>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[y>>2]=o;f[v>>2]=(((f[_>>2]&65535)<<16>>16)*2471|0)/((f[y>>2]|0)/1e3|0|0)|0;f[g>>2]=268435456-((f[v>>2]|0)*471|0);f[k>>2]=f[g>>2];f[k+4>>2]=0-(f[g>>2]|0)<<1;f[k+8>>2]=f[g>>2];f[p>>2]=f[g>>2]>>6;i=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;i=i+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;i=re(f[p>>2]>>16,(i+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0;n=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;n=n+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;n=i+((re(f[p>>2]&65535,(n+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0)>>16)|0;i=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;i=i+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;f[w>>2]=n+(re(f[p>>2]|0,(i+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608>>15)+1>>1)|0);i=re(f[p>>2]>>16,(f[p>>2]&65535)<<16>>16)|0;i=i+((re(f[p>>2]&65535,(f[p>>2]&65535)<<16>>16)|0)>>16)|0;f[w+4>>2]=i+(re(f[p>>2]|0,(f[p>>2]>>15)+1>>1)|0);Nl(f[l>>2]|0,k,w,f[u>>2]|0,f[s>>2]|0,f[c>>2]|0,f[b>>2]|0);if((f[b>>2]|0)!=2){h=d;return}Nl((f[l>>2]|0)+4|0,k,w,(f[u>>2]|0)+8|0,(f[s>>2]|0)+4|0,f[c>>2]|0,f[b>>2]|0);h=d;return}function Nl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;y=h;h=h+64|0;l=y+60|0;_=y+56|0;m=y+52|0;u=y+48|0;c=y+44|0;b=y+40|0;w=y+36|0;v=y+32|0;g=y+28|0;p=y+24|0;k=y+16|0;d=y;f[l>>2]=e;f[_>>2]=r;f[m>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[w>>2]=o;s[k>>2]=+(f[f[m>>2]>>2]|0)*3.725290298461914e-9;s[k+4>>2]=+(f[(f[m>>2]|0)+4>>2]|0)*3.725290298461914e-9;s[d>>2]=+(f[f[_>>2]>>2]|0)*3.725290298461914e-9;s[d+4>>2]=+(f[(f[_>>2]|0)+4>>2]|0)*3.725290298461914e-9;s[d+8>>2]=+(f[(f[_>>2]|0)+8>>2]|0)*3.725290298461914e-9;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[b>>2]|0))break;m=re(f[v>>2]|0,f[w>>2]|0)|0;s[p>>2]=+s[(f[l>>2]|0)+(m<<2)>>2];s[g>>2]=+s[f[u>>2]>>2]+ +s[d>>2]*+s[p>>2];s[f[u>>2]>>2]=+s[(f[u>>2]|0)+4>>2]-+s[g>>2]*+s[k>>2]+ +s[d+4>>2]*+s[p>>2];s[(f[u>>2]|0)+4>>2]=-+s[g>>2]*+s[k+4>>2]+ +s[d+8>>2]*+s[p>>2]+1.0000000031710769e-30;m=re(f[v>>2]|0,f[w>>2]|0)|0;s[(f[c>>2]|0)+(m<<2)>>2]=+s[g>>2];f[v>>2]=(f[v>>2]|0)+1}h=y;return}function Fl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;_=h;h=h+64|0;l=_+48|0;E=_+44|0;u=_+40|0;c=_+36|0;b=_+32|0;w=_+28|0;m=_+24|0;k=_+20|0;p=_+16|0;d=_+12|0;g=_+8|0;v=_+4|0;y=_;f[l>>2]=e;f[E>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[m>>2]=o;s[d>>2]=+(f[E>>2]|0)*4/+(f[m>>2]|0);f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[w>>2]|0))break;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;E=re(f[w>>2]|0,f[p>>2]|0)|0;s[g>>2]=+s[(f[l>>2]|0)+(E+(f[k>>2]|0)<<2)>>2];s[v>>2]=+s[g>>2]-+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2];s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2]=+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2]+ +s[d>>2]*(+s[g>>2]-+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2])+1.0000000031710769e-30;s[y>>2]=+s[v>>2]-+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2];s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2]=+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2]+ +s[d>>2]*(+s[v>>2]-+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])+1.0000000031710769e-30;E=re(f[w>>2]|0,f[p>>2]|0)|0;s[(f[u>>2]|0)+(E+(f[k>>2]|0)<<2)>>2]=+s[y>>2];f[p>>2]=(f[p>>2]|0)+1}f[k>>2]=(f[k>>2]|0)+1}h=_;return}function zl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function Yl(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=+i;t=+t;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;T=h;h=h+80|0;c=T+64|0;b=T+60|0;w=T+56|0;k=T+52|0;M=T+48|0;d=T+44|0;p=T+40|0;v=T+36|0;x=T+32|0;m=T+28|0;E=T+24|0;A=T+20|0;g=T+16|0;y=T+12|0;S=T+8|0;_=T+4|0;R=T;f[c>>2]=e;f[b>>2]=r;s[w>>2]=i;s[k>>2]=t;f[M>>2]=n;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[x>>2]=u;f[E>>2]=48e3/(f[x>>2]|0)|0;f[A>>2]=(f[M>>2]|0)/(f[E>>2]|0)|0;l=(f[p>>2]|0)==1;f[m>>2]=0;e:do{if(l)while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break e;M=re(f[m>>2]|0,f[E>>2]|0)|0;x=re(f[m>>2]|0,f[E>>2]|0)|0;s[S>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(x<<2)>>2];s[y>>2]=+s[S>>2]*+s[k>>2]+(1-+s[S>>2])*+s[w>>2];s[(f[b>>2]|0)+(f[m>>2]<<2)>>2]=+s[y>>2]*+s[(f[c>>2]|0)+(f[m>>2]<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}else while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break e;M=re(f[m>>2]|0,f[E>>2]|0)|0;x=re(f[m>>2]|0,f[E>>2]|0)|0;s[R>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(x<<2)>>2];s[_>>2]=+s[R>>2]*+s[k>>2]+(1-+s[R>>2])*+s[w>>2];s[(f[b>>2]|0)+(f[m>>2]<<1<<2)>>2]=+s[_>>2]*+s[(f[c>>2]|0)+(f[m>>2]<<1<<2)>>2];s[(f[b>>2]|0)+((f[m>>2]<<1)+1<<2)>>2]=+s[_>>2]*+s[(f[c>>2]|0)+((f[m>>2]<<1)+1<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}}while(0);f[g>>2]=0;do{f[m>>2]=f[A>>2];while(1){if((f[m>>2]|0)>=(f[d>>2]|0))break;M=re(f[m>>2]|0,f[p>>2]|0)|0;x=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(x+(f[g>>2]|0)<<2)>>2]=+s[k>>2]*+s[(f[c>>2]|0)+(M+(f[g>>2]|0)<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}x=(f[g>>2]|0)+1|0;f[g>>2]=x}while((x|0)<(f[p>>2]|0));h=T;return}function Hl(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;s[r>>2]=+s[r>>2]*32768;s[r>>2]=+s[r>>2]>-32768?+s[r>>2]:-32768;s[r>>2]=+s[r>>2]<32767?+s[r>>2]:32767;r=(cs(+s[r>>2])|0)&65535;h=i;return r|0}function ql(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Wl(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=+i;t=+t;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;R=h;h=h+64|0;c=R+60|0;b=R+56|0;w=R+52|0;k=R+48|0;T=R+44|0;d=R+40|0;p=R+36|0;v=R+32|0;M=R+28|0;m=R+24|0;A=R+20|0;E=R+16|0;g=R+12|0;_=R+8|0;S=R+4|0;y=R;f[c>>2]=e;f[b>>2]=r;s[w>>2]=i;s[k>>2]=t;f[T>>2]=n;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[M>>2]=u;f[E>>2]=48e3/(f[M>>2]|0)|0;f[A>>2]=(f[T>>2]|0)/(f[E>>2]|0)|0;s[w>>2]=1-+s[w>>2];s[k>>2]=1-+s[k>>2];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break;M=re(f[m>>2]|0,f[E>>2]|0)|0;T=re(f[m>>2]|0,f[E>>2]|0)|0;s[S>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(T<<2)>>2];s[_>>2]=+s[S>>2]*+s[k>>2]+(1-+s[S>>2])*+s[w>>2];T=re(f[m>>2]|0,f[p>>2]|0)|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[g>>2]=(+s[(f[c>>2]|0)+(T<<2)>>2]-+s[(f[c>>2]|0)+(M<<2)>>2])*.5;s[g>>2]=+s[_>>2]*+s[g>>2];M=re(f[m>>2]|0,f[p>>2]|0)|0;T=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(T<<2)>>2]=+s[(f[b>>2]|0)+(M<<2)>>2]-+s[g>>2];T=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[(f[b>>2]|0)+(M<<2)>>2]=+s[(f[b>>2]|0)+(T<<2)>>2]+ +s[g>>2];f[m>>2]=(f[m>>2]|0)+1}while(1){if((f[m>>2]|0)>=(f[d>>2]|0))break;T=re(f[m>>2]|0,f[p>>2]|0)|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[y>>2]=(+s[(f[c>>2]|0)+(T<<2)>>2]-+s[(f[c>>2]|0)+(M<<2)>>2])*.5;s[y>>2]=+s[k>>2]*+s[y>>2];M=re(f[m>>2]|0,f[p>>2]|0)|0;T=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(T<<2)>>2]=+s[(f[b>>2]|0)+(M<<2)>>2]-+s[y>>2];T=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[(f[b>>2]|0)+(M<<2)>>2]=+s[(f[b>>2]|0)+(T<<2)>>2]+ +s[y>>2];f[m>>2]=(f[m>>2]|0)+1}h=R;return}function Zl(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+36|0;u=g+32|0;c=g+28|0;b=g+24|0;w=g+20|0;p=g+16|0;v=g+12|0;d=g+8|0;o=g+4|0;k=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;if((f[(f[l>>2]|0)+96>>2]|0)==2051)f[o>>2]=0;else f[o>>2]=f[(f[l>>2]|0)+104>>2];f[d>>2]=Ol(f[u>>2]|0,f[c>>2]|0,f[(f[l>>2]|0)+144>>2]|0,f[(f[l>>2]|0)+100>>2]|0,f[(f[l>>2]|0)+132>>2]|0,f[(f[l>>2]|0)+148>>2]|0,f[o>>2]|0,1,(f[l>>2]|0)+172+6872|0)|0;e=re(f[d>>2]|0,f[(f[l>>2]|0)+100>>2]|0)|0;f[k>>2]=he()|0;i=h;h=h+((1*(e<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(re(f[d>>2]|0,f[(f[l>>2]|0)+100>>2]|0)|0))break;s[i+(f[p>>2]<<2)>>2]=+(n[(f[u>>2]|0)+(f[p>>2]<<1)>>1]|0)*30517578125e-15;f[p>>2]=(f[p>>2]|0)+1}f[v>>2]=Ul(f[l>>2]|0,i,f[d>>2]|0,f[b>>2]|0,f[w>>2]|0,16,f[u>>2]|0,f[c>>2]|0,0,-2,f[(f[l>>2]|0)+100>>2]|0,1,0)|0;v=f[v>>2]|0;de(f[k>>2]|0);h=g;return v|0}function Vl(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;a=w+24|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;b=w+4|0;c=w;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;if((f[(f[a>>2]|0)+96>>2]|0)==2051)f[c>>2]=0;else f[c>>2]=f[(f[a>>2]|0)+104>>2];f[b>>2]=Ol(f[o>>2]|0,f[l>>2]|0,f[(f[a>>2]|0)+144>>2]|0,f[(f[a>>2]|0)+100>>2]|0,f[(f[a>>2]|0)+132>>2]|0,f[(f[a>>2]|0)+148>>2]|0,f[c>>2]|0,2,(f[a>>2]|0)+172+6872|0)|0;e=Ul(f[a>>2]|0,f[o>>2]|0,f[b>>2]|0,f[s>>2]|0,f[u>>2]|0,24,f[o>>2]|0,f[l>>2]|0,0,-2,f[(f[a>>2]|0)+100>>2]|0,2,1)|0;h=w;return e|0}function Jl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,re=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0;oe=h;h=h+352|0;ie=oe+48|0;re=oe+40|0;ee=oe+32|0;Q=oe+24|0;$=oe+16|0;X=oe+8|0;K=oe;fe=oe+336|0;ne=oe+332|0;le=oe+328|0;ae=oe+324|0;a=oe+320|0;t=oe+304|0;c=oe+300|0;b=oe+296|0;A=oe+292|0;U=oe+288|0;te=oe+284|0;W=oe+280|0;Z=oe+276|0;V=oe+272|0;J=oe+268|0;G=oe+264|0;w=oe+260|0;k=oe+256|0;d=oe+252|0;p=oe+248|0;v=oe+244|0;g=oe+240|0;y=oe+236|0;_=oe+232|0;m=oe+228|0;E=oe+224|0;S=oe+220|0;R=oe+216|0;T=oe+212|0;M=oe+208|0;x=oe+204|0;O=oe+200|0;L=oe+196|0;P=oe+192|0;I=oe+188|0;C=oe+184|0;B=oe+180|0;j=oe+176|0;D=oe+172|0;N=oe+168|0;F=oe+164|0;l=oe+160|0;o=oe+72|0;u=oe+68|0;z=oe+64|0;Y=oe+60|0;H=oe+56|0;q=oe+52|0;f[ne>>2]=e;f[le>>2]=r;f[ae>>2]=0;f[t>>2]=i;f[a>>2]=(f[ne>>2]|0)+(f[f[ne>>2]>>2]|0);e:do{switch(f[le>>2]|0){case 4e3:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[c>>2]=le;do{if(!((f[c>>2]|0)!=2048&(f[c>>2]|0)!=2049&(f[c>>2]|0)!=2051)){if((f[(f[ne>>2]|0)+14344>>2]|0)==0?(f[(f[ne>>2]|0)+96>>2]|0)!=(f[c>>2]|0):0)break;f[(f[ne>>2]|0)+96>>2]=f[c>>2];t=99;break e}}while(0);f[ae>>2]=-1;t=99;break}case 4001:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[b>>2]=le;if(f[b>>2]|0){f[f[b>>2]>>2]=f[(f[ne>>2]|0)+96>>2];t=99}else t=100;break}case 4002:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[A>>2]=le;do{if((f[A>>2]|0)!=-1e3&(f[A>>2]|0)!=-1){if((f[A>>2]|0)<=0){t=100;break e}if((f[A>>2]|0)<=500){f[A>>2]=500;break}if((f[A>>2]|0)>((f[(f[ne>>2]|0)+100>>2]|0)*3e5|0))f[A>>2]=(f[(f[ne>>2]|0)+100>>2]|0)*3e5}}while(0);f[(f[ne>>2]|0)+152>>2]=f[A>>2];t=99;break}case 4003:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[U>>2]=le;if(f[U>>2]|0){t=Bl(f[ne>>2]|0,f[(f[ne>>2]|0)+14332>>2]|0,1276)|0;f[f[U>>2]>>2]=t;t=99}else t=100;break}case 4022:{i=(f[t>>2]|0)+(4-1)&~(4-1);le=f[i>>2]|0;f[t>>2]=i+4;f[te>>2]=le;t=f[te>>2]|0;if((f[te>>2]|0)<1){if((t|0)!=-1e3){t=100;break e}}else if((f[te>>2]|0)!=-1e3?(t|0)>(f[(f[ne>>2]|0)+100>>2]|0):0){t=100;break e}f[(f[ne>>2]|0)+108>>2]=f[te>>2];t=99;break}case 4023:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[W>>2]=le;if(f[W>>2]|0){f[f[W>>2]>>2]=f[(f[ne>>2]|0)+108>>2];t=99}else t=100;break}case 4004:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[Z>>2]=le;if(!((f[Z>>2]|0)<1101|(f[Z>>2]|0)>1105)){f[(f[ne>>2]|0)+120>>2]=f[Z>>2];a=f[ne>>2]|0;if((f[(f[ne>>2]|0)+120>>2]|0)==1101){f[a+8+12>>2]=8e3;t=99;break e}t=(f[ne>>2]|0)+8+12|0;if((f[a+120>>2]|0)==1102){f[t>>2]=12e3;t=99;break e}else{f[t>>2]=16e3;t=99;break e}}else t=100;break}case 4005:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[V>>2]=le;if(f[V>>2]|0){f[f[V>>2]>>2]=f[(f[ne>>2]|0)+120>>2];t=99}else t=100;break}case 4008:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[J>>2]=le;if(!(((f[J>>2]|0)<1101|(f[J>>2]|0)>1105)&(f[J>>2]|0)!=-1e3)){f[(f[ne>>2]|0)+116>>2]=f[J>>2];a=f[ne>>2]|0;if((f[(f[ne>>2]|0)+116>>2]|0)==1101){f[a+8+12>>2]=8e3;t=99;break e}t=(f[ne>>2]|0)+8+12|0;if((f[a+116>>2]|0)==1102){f[t>>2]=12e3;t=99;break e}else{f[t>>2]=16e3;t=99;break e}}else t=100;break}case 4009:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[G>>2]=le;if(f[G>>2]|0){f[f[G>>2]>>2]=f[(f[ne>>2]|0)+14336>>2];t=99}else t=100;break}case 4016:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[w>>2]=le;if((f[w>>2]|0)<0|(f[w>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+8+44>>2]=f[w>>2];t=99}break}case 4017:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[k>>2]=le;if(f[k>>2]|0){f[f[k>>2]>>2]=f[(f[ne>>2]|0)+8+44>>2];t=99}else t=100;break}case 4010:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[d>>2]=le;if((f[d>>2]|0)<0|(f[d>>2]|0)>10)t=100;else{f[(f[ne>>2]|0)+8+36>>2]=f[d>>2];t=f[a>>2]|0;f[K>>2]=f[d>>2];qn(t,4010,K)|0;t=99}break}case 4011:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[p>>2]=le;if(f[p>>2]|0){f[f[p>>2]>>2]=f[(f[ne>>2]|0)+8+36>>2];t=99}else t=100;break}case 4012:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[v>>2]=le;if((f[v>>2]|0)<0|(f[v>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+8+40>>2]=f[v>>2];t=99}break}case 4013:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[g>>2]=le;if(f[g>>2]|0){f[f[g>>2]>>2]=f[(f[ne>>2]|0)+8+40>>2];t=99}else t=100;break}case 4014:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[y>>2]=le;if((f[y>>2]|0)<0|(f[y>>2]|0)>100)t=100;else{f[(f[ne>>2]|0)+8+32>>2]=f[y>>2];t=f[a>>2]|0;f[X>>2]=f[y>>2];qn(t,4014,X)|0;t=99}break}case 4015:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[_>>2]=le;if(f[_>>2]|0){f[f[_>>2]>>2]=f[(f[ne>>2]|0)+8+32>>2];t=99}else t=100;break}case 4006:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[m>>2]=le;if((f[m>>2]|0)<0|(f[m>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+136>>2]=f[m>>2];f[(f[ne>>2]|0)+8+48>>2]=1-(f[m>>2]|0);t=99}break}case 4007:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[E>>2]=le;if(f[E>>2]|0){f[f[E>>2]>>2]=f[(f[ne>>2]|0)+136>>2];t=99}else t=100;break}case 11018:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[S>>2]=le;if((f[S>>2]|0)<-1|(f[S>>2]|0)>100)t=100;else{f[(f[ne>>2]|0)+128>>2]=f[S>>2];t=99}break}case 11019:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[R>>2]=le;if(f[R>>2]|0){f[f[R>>2]>>2]=f[(f[ne>>2]|0)+128>>2];t=99}else t=100;break}case 4020:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[T>>2]=le;if((f[T>>2]|0)<0|(f[T>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+140>>2]=f[T>>2];t=99}break}case 4021:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[M>>2]=le;if(f[M>>2]|0){f[f[M>>2]>>2]=f[(f[ne>>2]|0)+140>>2];t=99}else t=100;break}case 4024:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[x>>2]=le;if((f[x>>2]|0)!=-1e3&(f[x>>2]|0)!=3001&(f[x>>2]|0)!=3002)t=100;else{f[(f[ne>>2]|0)+112>>2]=f[x>>2];t=99}break}case 4025:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[O>>2]=le;if(f[O>>2]|0){f[f[O>>2]>>2]=f[(f[ne>>2]|0)+112>>2];t=99}else t=100;break}case 4027:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[L>>2]=le;if(f[L>>2]|0){f[f[L>>2]>>2]=(f[(f[ne>>2]|0)+132>>2]|0)/400|0;if((f[(f[ne>>2]|0)+96>>2]|0)!=2051){t=f[L>>2]|0;f[t>>2]=(f[t>>2]|0)+(f[(f[ne>>2]|0)+104>>2]|0);t=99}else t=99}else t=100;break}case 4029:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[P>>2]=le;if(f[P>>2]|0){f[f[P>>2]>>2]=f[(f[ne>>2]|0)+132>>2];t=99}else t=100;break}case 4031:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[I>>2]=le;if(f[I>>2]|0){f[f[I>>2]>>2]=f[(f[ne>>2]|0)+18216>>2];t=99}else t=100;break}case 4036:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[C>>2]=le;if((f[C>>2]|0)<8|(f[C>>2]|0)>24)t=100;else{f[(f[ne>>2]|0)+156>>2]=f[C>>2];t=99}break}case 4037:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[B>>2]=le;if(f[B>>2]|0){f[f[B>>2]>>2]=f[(f[ne>>2]|0)+156>>2];t=99}else t=100;break}case 4040:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[j>>2]=le;if((f[j>>2]|0)!=5e3&(f[j>>2]|0)!=5001&(f[j>>2]|0)!=5002&(f[j>>2]|0)!=5003&(f[j>>2]|0)!=5004&(f[j>>2]|0)!=5005&(f[j>>2]|0)!=5006&(f[j>>2]|0)!=5010)t=100;else{f[(f[ne>>2]|0)+144>>2]=f[j>>2];t=f[a>>2]|0;f[$>>2]=f[j>>2];qn(t,4040,$)|0;t=99}break}case 4041:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[D>>2]=le;if(f[D>>2]|0){f[f[D>>2]>>2]=f[(f[ne>>2]|0)+144>>2];t=99}else t=100;break}case 4042:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[N>>2]=le;if((f[N>>2]|0)>1|(f[N>>2]|0)<0)t=100;else{f[(f[ne>>2]|0)+8+64>>2]=f[N>>2];t=99}break}case 4043:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[F>>2]=le;if(f[F>>2]|0){f[f[F>>2]>>2]=f[(f[ne>>2]|0)+8+64>>2];t=99}else t=100;break}case 4028:{f[l>>2]=(f[ne>>2]|0)+(f[(f[ne>>2]|0)+4>>2]|0);is((f[ne>>2]|0)+172|0);f[u>>2]=(f[ne>>2]|0)+14288;vs(f[u>>2]|0,0,18220-((f[u>>2]|0)-(f[ne>>2]|0))|0)|0;qn(f[a>>2]|0,4028,Q)|0;po(f[l>>2]|0,f[(f[ne>>2]|0)+168>>2]|0,o)|0;f[(f[ne>>2]|0)+14288>>2]=f[(f[ne>>2]|0)+100>>2];n[(f[ne>>2]|0)+14292>>1]=16384;s[(f[ne>>2]|0)+14300>>2]=1;f[(f[ne>>2]|0)+14344>>2]=1;f[(f[ne>>2]|0)+14320>>2]=1001;f[(f[ne>>2]|0)+14336>>2]=1105;t=(Ba(60)|0)<<8;f[(f[ne>>2]|0)+14296>>2]=t;t=99;break}case 11002:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[z>>2]=le;if(((f[z>>2]|0)<1e3|(f[z>>2]|0)>1002)&(f[z>>2]|0)!=-1e3)t=100;else{f[(f[ne>>2]|0)+124>>2]=f[z>>2];t=99}break}case 10024:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[Y>>2]=le;f[(f[ne>>2]|0)+164>>2]=f[Y>>2];t=f[a>>2]|0;f[ee>>2]=f[Y>>2];f[ae>>2]=qn(t,10024,ee)|0;t=99;break}case 10026:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[H>>2]=le;f[(f[ne>>2]|0)+14348>>2]=f[H>>2];t=f[a>>2]|0;f[re>>2]=(f[H>>2]|0)+((((f[H>>2]|0)-(f[H>>2]|0)|0)/4|0)<<2);f[ae>>2]=qn(t,10026,re)|0;t=99;break}case 10015:{ne=(f[t>>2]|0)+(4-1)&~(4-1);le=f[ne>>2]|0;f[t>>2]=ne+4;f[q>>2]=le;if(f[q>>2]|0){t=f[a>>2]|0;f[ie>>2]=(f[q>>2]|0)+((((f[q>>2]|0)-(f[q>>2]|0)|0)/4|0)<<2);f[ae>>2]=qn(t,10015,ie)|0;t=99}else t=100;break}default:{f[ae>>2]=-5;t=99}}}while(0);if((t|0)==99){f[fe>>2]=f[ae>>2];le=f[fe>>2]|0;h=oe;return le|0}else if((t|0)==100){f[fe>>2]=-1;le=f[fe>>2]|0;h=oe;return le|0}return 0}function Gl(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;f[(f[r>>2]|0)+4>>2]=0;h=i;return f[r>>2]|0}function Kl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;o=t+8|0;a=t+4|0;n=t;f[o>>2]=e;f[a>>2]=r;f[n>>2]=i;e=Xl(f[o>>2]|0,f[a>>2]|0,f[n>>2]|0,0)|0;h=t;return e|0}function Xl(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+24|0;l=d+20|0;s=d+16|0;u=d+12|0;c=d+8|0;k=d+28|0;b=d+4|0;w=d;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=n;if((f[u>>2]|0)<1){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}if(f[(f[l>>2]|0)+4>>2]|0){if(((a[f[l>>2]>>0]|0)&252|0)!=((a[f[s>>2]>>0]|0)&252|0)){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}}else{t[f[l>>2]>>0]=t[f[s>>2]>>0]|0;n=rl(f[s>>2]|0,8e3)|0;f[(f[l>>2]|0)+296>>2]=n}f[b>>2]=gl(f[s>>2]|0,f[u>>2]|0)|0;if((f[b>>2]|0)<1){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}if((re((f[b>>2]|0)+(f[(f[l>>2]|0)+4>>2]|0)|0,f[(f[l>>2]|0)+296>>2]|0)|0)>960){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}f[w>>2]=il(f[s>>2]|0,f[u>>2]|0,f[c>>2]|0,k,(f[l>>2]|0)+8+(f[(f[l>>2]|0)+4>>2]<<2)|0,(f[l>>2]|0)+200+(f[(f[l>>2]|0)+4>>2]<<1)|0,0,0)|0;if((f[w>>2]|0)<1){f[o>>2]=f[w>>2];k=f[o>>2]|0;h=d;return k|0}else{k=(f[l>>2]|0)+4|0;f[k>>2]=(f[k>>2]|0)+(f[b>>2]|0);f[o>>2]=0;k=f[o>>2]|0;h=d;return k|0}return 0}function $l(e,r,i,o,l,s,u){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;L=h;h=h+80|0;d=L+68|0;w=L+64|0;c=L+60|0;b=L+56|0;p=L+52|0;v=L+48|0;g=L+44|0;y=L+40|0;E=L+36|0;_=L+32|0;x=L+28|0;A=L+24|0;m=L+20|0;T=L+16|0;O=L+12|0;R=L+8|0;S=L+4|0;M=L;f[w>>2]=e;f[c>>2]=r;f[b>>2]=i;f[p>>2]=o;f[v>>2]=l;f[g>>2]=s;f[y>>2]=u;if(((f[c>>2]|0)>=0?(f[c>>2]|0)<(f[b>>2]|0):0)?(f[b>>2]|0)<=(f[(f[w>>2]|0)+4>>2]|0):0){f[_>>2]=(f[b>>2]|0)-(f[c>>2]|0);f[A>>2]=(f[w>>2]|0)+200+(f[c>>2]<<1);f[m>>2]=(f[w>>2]|0)+8+(f[c>>2]<<2);if(f[g>>2]|0)f[x>>2]=1+((n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0)>=252&1);else f[x>>2]=0;f[T>>2]=f[p>>2];do{if((f[_>>2]|0)!=1){if((f[_>>2]|0)==2){c=n[f[A>>2]>>1]|0;if((n[(f[A>>2]|0)+2>>1]|0)==(n[f[A>>2]>>1]|0)){f[x>>2]=(f[x>>2]|0)+((c<<1)+1);if((f[x>>2]|0)<=(f[v>>2]|0)){e=(a[f[w>>2]>>0]&252|1)&255;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}else{f[x>>2]=(f[x>>2]|0)+(c+(n[(f[A>>2]|0)+2>>1]|0)+2+((n[f[A>>2]>>1]|0)>=252&1));if((f[x>>2]|0)<=(f[v>>2]|0)){e=(a[f[w>>2]>>0]&252|2)&255;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;s=el(n[f[A>>2]>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+s;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}}else{f[x>>2]=(f[x>>2]|0)+((n[f[A>>2]>>1]|0)+1);if((f[x>>2]|0)<=(f[v>>2]|0)){e=a[f[w>>2]>>0]&252;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}while(0);if((f[_>>2]|0)<=2){if(f[y>>2]|0?(f[x>>2]|0)<(f[v>>2]|0):0)k=23}else k=23;e:do{if((k|0)==23){f[R>>2]=0;f[T>>2]=f[p>>2];if(f[g>>2]|0)f[x>>2]=1+((n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0)>=252&1);else f[x>>2]=0;f[O>>2]=0;f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;if((n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)!=(n[f[A>>2]>>1]|0)){k=29;break}f[E>>2]=(f[E>>2]|0)+1}if((k|0)==29)f[O>>2]=1;do{if(f[O>>2]|0){f[x>>2]=(f[x>>2]|0)+2;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-1|0))break;f[x>>2]=(f[x>>2]|0)+(1+((n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)>=252&1)+(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0));f[E>>2]=(f[E>>2]|0)+1}f[x>>2]=(f[x>>2]|0)+(n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0);if((f[x>>2]|0)<=(f[v>>2]|0)){k=(a[f[w>>2]>>0]&252|3)&255;w=f[T>>2]|0;f[T>>2]=w+1;t[w>>0]=k;w=(f[_>>2]|128)&255;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=w;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}else{k=(re(f[_>>2]|0,n[f[A>>2]>>1]|0)|0)+2|0;f[x>>2]=(f[x>>2]|0)+k;if((f[x>>2]|0)<=(f[v>>2]|0)){k=(a[f[w>>2]>>0]&252|3)&255;w=f[T>>2]|0;f[T>>2]=w+1;t[w>>0]=k;w=f[_>>2]&255;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=w;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}while(0);if(f[y>>2]|0)c=(f[v>>2]|0)-(f[x>>2]|0)|0;else c=0;f[R>>2]=c;if(f[R>>2]|0){k=(f[p>>2]|0)+1|0;t[k>>0]=a[k>>0]|64;f[S>>2]=((f[R>>2]|0)-1|0)/255|0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[S>>2]|0))break;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=-1;f[E>>2]=(f[E>>2]|0)+1}k=(f[R>>2]|0)-((f[S>>2]|0)*255|0)-1&255;S=f[T>>2]|0;f[T>>2]=S+1;t[S>>0]=k;f[x>>2]=(f[x>>2]|0)+(f[R>>2]|0)}if(f[O>>2]|0){f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-1|0))break e;O=el(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+O;f[E>>2]=(f[E>>2]|0)+1}}}}while(0);if(f[g>>2]|0){f[M>>2]=el(n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+(f[M>>2]|0)}f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;ys(f[T>>2]|0,f[(f[m>>2]|0)+(f[E>>2]<<2)>>2]|0,(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)+0|0)|0;f[T>>2]=(f[T>>2]|0)+(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0);f[E>>2]=(f[E>>2]|0)+1}e:do{if(f[y>>2]|0)while(1){if((f[T>>2]|0)>>>0>=((f[p>>2]|0)+(f[v>>2]|0)|0)>>>0)break e;O=f[T>>2]|0;f[T>>2]=O+1;t[O>>0]=0}}while(0);f[d>>2]=f[x>>2];O=f[d>>2]|0;h=L;return O|0}f[d>>2]=-1;O=f[d>>2]|0;h=L;return O|0}function Ql(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+320|0;t=u+316|0;n=u+312|0;a=u+308|0;o=u+304|0;s=u+4|0;l=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[a>>2]|0)<1){f[t>>2]=-1;s=f[t>>2]|0;h=u;return s|0}if((f[a>>2]|0)==(f[o>>2]|0)){f[t>>2]=0;s=f[t>>2]|0;h=u;return s|0}if((f[a>>2]|0)>(f[o>>2]|0)){f[t>>2]=-1;s=f[t>>2]|0;h=u;return s|0}Gl(s)|0;ys((f[n>>2]|0)+(f[o>>2]|0)+(0-(f[a>>2]|0))|0,f[n>>2]|0,(f[a>>2]|0)+0|0)|0;Kl(s,(f[n>>2]|0)+(f[o>>2]|0)+(0-(f[a>>2]|0))|0,f[a>>2]|0)|0;f[l>>2]=$l(s,0,f[s+4>>2]|0,f[n>>2]|0,f[o>>2]|0,0,1)|0;if((f[l>>2]|0)>0){f[t>>2]=0;s=f[t>>2]|0;h=u;return s|0}else{f[t>>2]=f[l>>2];s=f[t>>2]|0;h=u;return s|0}return 0}function es(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=rs()|0;f[f[i>>2]>>2]=e;is(f[i>>2]|0);h=r;return}function rs(){return 0}function is(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=(f[i>>2]|0)+4;vs(f[t>>2]|0,0,14116-((f[t>>2]|0)-(f[i>>2]|0))|0)|0;h=r;return}function ts(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;a=b+24|0;o=b+20|0;t=b+16|0;n=b+12|0;l=b+8|0;c=b+4|0;u=b;f[a>>2]=e;f[o>>2]=r;f[t>>2]=i;f[n>>2]=f[(f[a>>2]|0)+8508>>2];f[l>>2]=(f[(f[a>>2]|0)+8504>>2]|0)-(f[(f[a>>2]|0)+8508>>2]|0);if((f[l>>2]|0)<0)f[l>>2]=(f[l>>2]|0)+200;if((f[t>>2]|0)>480?(f[n>>2]|0)!=(f[(f[a>>2]|0)+8504>>2]|0):0){e=(f[n>>2]|0)+1|0;f[n>>2]=e;f[n>>2]=(f[n>>2]|0)==200?0:e}if((f[n>>2]|0)==(f[(f[a>>2]|0)+8504>>2]|0))f[n>>2]=(f[n>>2]|0)+-1;if((f[n>>2]|0)<0)f[n>>2]=199;gs(f[o>>2]|0,(f[a>>2]|0)+8516+((f[n>>2]|0)*28|0)|0,28|0)|0;e=(f[a>>2]|0)+8512|0;f[e>>2]=(f[e>>2]|0)+((f[t>>2]|0)/120|0);while(1){t=f[a>>2]|0;if((f[(f[a>>2]|0)+8512>>2]|0)<4)break;e=t+8512|0;f[e>>2]=(f[e>>2]|0)-4;e=(f[a>>2]|0)+8508|0;f[e>>2]=(f[e>>2]|0)+1}if((f[t+8508>>2]|0)>=200){e=(f[a>>2]|0)+8508|0;f[e>>2]=(f[e>>2]|0)-200}f[l>>2]=((f[l>>2]|0)-10|0)>0?(f[l>>2]|0)-10|0:0;s[c>>2]=0;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(200-(f[l>>2]|0)|0))break;s[c>>2]=+s[c>>2]+ +s[(f[a>>2]|0)+7688+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}while(1){if((f[u>>2]|0)>=200)break;s[c>>2]=+s[c>>2]+ +s[(f[a>>2]|0)+6888+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[c>>2]=+s[c>>2]*+s[(f[a>>2]|0)+8492>>2]+(1-+s[c>>2])*+s[(f[a>>2]|0)+8488>>2];s[(f[o>>2]|0)+20>>2]=+s[c>>2];h=b;return}function ns(e,r,i,t,n,a,o,l,s,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+64|0;k=M+52|0;d=M+48|0;g=M+44|0;y=M+40|0;_=M+36|0;m=M+32|0;E=M+28|0;A=M+24|0;w=M+20|0;S=M+16|0;p=M+12|0;v=M+8|0;R=M+4|0;T=M;f[k>>2]=e;f[d>>2]=r;f[g>>2]=i;f[y>>2]=t;f[_>>2]=n;f[m>>2]=a;f[E>>2]=o;f[A>>2]=l;f[w>>2]=s;f[S>>2]=u;f[p>>2]=c;f[v>>2]=b;if(!(f[g>>2]|0)){S=f[v>>2]|0;f[S>>2]=0;S=f[k>>2]|0;R=f[v>>2]|0;T=f[_>>2]|0;ts(S,R,T);h=M;return}if((((f[w>>2]|0)*195|0)/100|0|0)<(f[y>>2]|0))w=((f[w>>2]|0)*195|0)/100|0;else w=f[y>>2]|0;f[y>>2]=w;f[T>>2]=(f[y>>2]|0)-(f[(f[k>>2]|0)+6884>>2]|0);f[R>>2]=f[(f[k>>2]|0)+6884>>2];do{fs(f[k>>2]|0,f[d>>2]|0,f[g>>2]|0,480<(f[T>>2]|0)?480:f[T>>2]|0,f[R>>2]|0,f[m>>2]|0,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[p>>2]|0);f[R>>2]=(f[R>>2]|0)+480;f[T>>2]=(f[T>>2]|0)-480}while((f[T>>2]|0)>0);f[(f[k>>2]|0)+6884>>2]=f[y>>2];S=(f[k>>2]|0)+6884|0;f[S>>2]=(f[S>>2]|0)-(f[_>>2]|0);S=f[v>>2]|0;f[S>>2]=0;S=f[k>>2]|0;R=f[v>>2]|0;T=f[_>>2]|0;ts(S,R,T);h=M;return}function fs(e,r,i,t,n,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,qe=0,We=0,Ze=0,Ve=0,Je=0;Je=h;h=h+10192|0;He=Je+10180|0;w=Je+10176|0;k=Je+10172|0;d=Je+10168|0;p=Je+10164|0;v=Je+10160|0;g=Je+10156|0;y=Je+10152|0;V=Je+10148|0;_=Je+10144|0;Oe=Je+10140|0;pe=Je+10136|0;D=Je+10132|0;oe=Je+10128|0;E=Je+10124|0;m=Je+10120|0;C=Je+10116|0;L=Je+10112|0;X=Je+10040|0;ge=Je+9968|0;Ee=Je+9936|0;Se=Je+9836|0;Te=Je+9832|0;ye=Je+9828|0;Ze=Je+9824|0;Me=Je+9816|0;Re=Je+9812|0;_e=Je+9808|0;Ye=Je+9800|0;Ae=Je+9796|0;de=Je+9792|0;le=Je+9788|0;ve=Je+9784|0;he=Je+9780|0;We=Je+9776|0;be=Je+9772|0;we=Je+9768|0;W=Je+9764|0;Ve=Je+9760|0;j=Je+5920|0;ke=Je+2080|0;ne=Je+1120|0;re=Je+160|0;Z=Je+152|0;S=Je+148|0;T=Je+144|0;A=Je+140|0;R=Je+136|0;M=Je+132|0;U=Je+128|0;P=Je+124|0;x=Je+120|0;B=Je+116|0;I=Je+112|0;N=Je+108|0;F=Je+104|0;O=Je+100|0;J=Je+96|0;te=Je+92|0;ee=Je+88|0;G=Je+84|0;K=Je+80|0;ie=Je+76|0;$=Je+72|0;ae=Je+68|0;ue=Je+64|0;se=Je+60|0;ce=Je+56|0;me=Je+52|0;Fe=Je+48|0;xe=Je+44|0;Ce=Je+40|0;Ue=Je+36|0;De=Je+32|0;Le=Je+28|0;Be=Je+24|0;Ne=Je+20|0;Pe=Je+16|0;Ie=Je+12|0;je=Je+8|0;ze=Je+4|0;qe=Je;f[He>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=n;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[V>>2]=u;f[_>>2]=c;f[oe>>2]=480;f[E>>2]=240;f[m>>2]=(f[He>>2]|0)+4;f[C>>2]=(f[He>>2]|0)+964;f[L>>2]=(f[He>>2]|0)+1924;s[Je+9820>>2]=97.40908813476562;s[Me>>2]=0;f[We>>2]=0;s[be>>2]=0;i=(f[He>>2]|0)+6864|0;f[i>>2]=(f[i>>2]|0)+1;if(20<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=20;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[Ae>>2]=1/+(l|0);if(50<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=50;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[de>>2]=1/+(l|0);if(1e3<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=1e3;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[le>>2]=1/+(l|0);if((f[(f[He>>2]|0)+6868>>2]|0)<4)s[(f[He>>2]|0)+6844>>2]=.5;f[D>>2]=f[(f[w>>2]|0)+64+8>>2];if(!(f[(f[He>>2]|0)+6868>>2]|0))f[(f[He>>2]|0)+5764>>2]=240;if((f[d>>2]|0)<(720-(f[(f[He>>2]|0)+5764>>2]|0)|0))l=f[d>>2]|0;else l=720-(f[(f[He>>2]|0)+5764>>2]|0)|0;Cs[f[_>>2]&3](f[k>>2]|0,(f[He>>2]|0)+2884+(f[(f[He>>2]|0)+5764>>2]<<2)|0,l,f[p>>2]|0,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0);if(((f[(f[He>>2]|0)+5764>>2]|0)+(f[d>>2]|0)|0)<720){Ve=(f[He>>2]|0)+5764|0;f[Ve>>2]=(f[Ve>>2]|0)+(f[d>>2]|0);h=Je;return}i=(f[He>>2]|0)+8504|0;w=f[i>>2]|0;f[i>>2]=w+1;f[Ve>>2]=(f[He>>2]|0)+8516+(w*28|0);if((f[(f[He>>2]|0)+8504>>2]|0)>=200){w=(f[He>>2]|0)+8504|0;f[w>>2]=(f[w>>2]|0)-200}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=(f[E>>2]|0))break;s[Z>>2]=+s[18176+(f[Oe>>2]<<2)>>2];s[j+(f[Oe>>2]<<3)>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+(f[Oe>>2]<<2)>>2];s[j+(f[Oe>>2]<<3)+4>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[E>>2]|0)+(f[Oe>>2]|0)<<2)>>2];s[j+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<3)>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<2)>>2];s[j+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<3)+4>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[oe>>2]|0)+(f[E>>2]|0)-(f[Oe>>2]|0)-1<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}ys((f[He>>2]|0)+2884|0,(f[He>>2]|0)+2884+2880+-960|0,960|0)|0;f[W>>2]=(f[d>>2]|0)-(720-(f[(f[He>>2]|0)+5764>>2]|0));Cs[f[_>>2]&3](f[k>>2]|0,(f[He>>2]|0)+2884+960|0,f[W>>2]|0,(f[p>>2]|0)+720-(f[(f[He>>2]|0)+5764>>2]|0)|0,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0);f[(f[He>>2]|0)+5764>>2]=240+(f[W>>2]|0);ur(f[D>>2]|0,j,ke);if(+s[ke>>2]!=+s[ke>>2]){f[f[Ve>>2]>>2]=0;h=Je;return}f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=(f[E>>2]|0))break;s[S>>2]=+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2];s[A>>2]=+s[ke+(f[Oe>>2]<<3)+4>>2]-+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[T>>2]=+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[R>>2]=+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]-+s[ke+(f[Oe>>2]<<3)>>2];s[M>>2]=+as(+s[A>>2],+s[S>>2])*.15915493667125702;s[U>>2]=+s[M>>2]-+s[(f[m>>2]|0)+(f[Oe>>2]<<2)>>2];s[P>>2]=+s[U>>2]-+s[(f[C>>2]|0)+(f[Oe>>2]<<2)>>2];s[x>>2]=+as(+s[R>>2],+s[T>>2])*.15915493667125702;s[B>>2]=+s[x>>2]-+s[M>>2];s[I>>2]=+s[B>>2]-+s[U>>2];s[N>>2]=+s[P>>2]-+z(+(+s[P>>2]+.5));b=+Y(+ +s[N>>2]);s[re+(f[Oe>>2]<<2)>>2]=b;s[N>>2]=+s[N>>2]*+s[N>>2];s[N>>2]=+s[N>>2]*+s[N>>2];s[F>>2]=+s[I>>2]-+z(+(+s[I>>2]+.5));b=+Y(+ +s[F>>2]);Z=re+(f[Oe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]+b;s[F>>2]=+s[F>>2]*+s[F>>2];s[F>>2]=+s[F>>2]*+s[F>>2];s[O>>2]=(+s[(f[L>>2]|0)+(f[Oe>>2]<<2)>>2]+ +s[N>>2]*2+ +s[F>>2])*.25;s[ne+(f[Oe>>2]<<2)>>2]=1/(+s[O>>2]*62341.81640625+1)-.014999999664723873;s[(f[m>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[x>>2];s[(f[C>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[B>>2];s[(f[L>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[F>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Te>>2]=0;s[ye>>2]=0;s[(f[Ve>>2]|0)+16>>2]=0;s[Ze>>2]=0;s[Re>>2]=0;e:do{if(!(f[(f[He>>2]|0)+6868>>2]|0)){f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=18)break e;s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]=1e10;s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]=-1e10;f[pe>>2]=(f[pe>>2]|0)+1}}}while(0);s[_e>>2]=0;s[ve>>2]=0;f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=18)break;s[J>>2]=0;s[te>>2]=0;s[ee>>2]=0;f[Oe>>2]=f[19136+(f[pe>>2]<<2)>>2];while(1){if((f[Oe>>2]|0)>=(f[19136+((f[pe>>2]|0)+1<<2)>>2]|0))break;s[$>>2]=+s[ke+(f[Oe>>2]<<3)>>2]*+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]+ +s[ke+(f[Oe>>2]<<3)+4>>2]*+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[J>>2]=+s[J>>2]+ +s[$>>2];s[te>>2]=+s[te>>2]+ +s[$>>2]*+s[ne+(f[Oe>>2]<<2)>>2];s[ee>>2]=+s[ee>>2]+ +s[$>>2]*2*(.5-+s[re+(f[Oe>>2]<<2)>>2]);f[Oe>>2]=(f[Oe>>2]|0)+1}if(!(+s[J>>2]<1e9)){fe=37;break}if(+s[J>>2]!=+s[J>>2]){fe=37;break}s[(f[He>>2]|0)+5844+((f[(f[He>>2]|0)+6856>>2]|0)*72|0)+(f[pe>>2]<<2)>>2]=+s[J>>2];s[Ze>>2]=+s[Ze>>2]+ +s[ee>>2]/(+s[J>>2]+1.0000000036274937e-15);b=+H(+(+s[J>>2]+1.000000013351432e-10));s[ve>>2]=+s[ve>>2]+b;b=+Q(+(+s[J>>2]+1.000000013351432e-10));s[ge+(f[pe>>2]<<2)>>2]=b;l=f[pe>>2]|0;if(+s[ge+(f[pe>>2]<<2)>>2]<+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]+.009999999776482582)b=+s[ge+(l<<2)>>2];else b=+s[(f[He>>2]|0)+6420+(l<<2)>>2]+.009999999776482582;s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]=b;l=f[pe>>2]|0;if(+s[ge+(f[pe>>2]<<2)>>2]>+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]-.10000000149011612)b=+s[ge+(l<<2)>>2];else b=+s[(f[He>>2]|0)+6492+(l<<2)>>2]-.10000000149011612;s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]=b;if(+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]<+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]+1){Z=(f[He>>2]|0)+6492+(f[pe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]+.5;Z=(f[He>>2]|0)+6420+(f[pe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]-.5}s[_e>>2]=+s[_e>>2]+(+s[ge+(f[pe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2])/(+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]+1.0000000036274937e-15-+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]);s[K>>2]=0;s[G>>2]=0;f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;b=+H(+ +s[(f[He>>2]|0)+5844+((f[Oe>>2]|0)*72|0)+(f[pe>>2]<<2)>>2]);s[G>>2]=+s[G>>2]+b;s[K>>2]=+s[K>>2]+ +s[(f[He>>2]|0)+5844+((f[Oe>>2]|0)*72|0)+(f[pe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}if(.9900000095367432<+s[G>>2]/+H(+(+s[K>>2]*8+1e-15)))b=.9900000095367432;else b=+s[G>>2]/+H(+(+s[K>>2]*8+1e-15));s[ie>>2]=b;s[ie>>2]=+s[ie>>2]*+s[ie>>2];s[ie>>2]=+s[ie>>2]*+s[ie>>2];s[Re>>2]=+s[Re>>2]+ +s[ie>>2];if(+s[te>>2]/(+s[J>>2]+1.0000000036274937e-15)>+s[ie>>2]*+s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2])b=+s[te>>2]/(+s[J>>2]+1.0000000036274937e-15);else b=+s[ie>>2]*+s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2];s[X+(f[pe>>2]<<2)>>2]=b;s[Te>>2]=+s[Te>>2]+ +s[X+(f[pe>>2]<<2)>>2];if((f[pe>>2]|0)>=9)s[Te>>2]=+s[Te>>2]-+s[X+((f[pe>>2]|0)-18+9<<2)>>2];if(+s[ye>>2]>(+((f[pe>>2]|0)-18|0)*.029999999329447746+1)*+s[Te>>2])b=+s[ye>>2];else b=(+((f[pe>>2]|0)-18|0)*.029999999329447746+1)*+s[Te>>2];s[ye>>2]=b;s[Me>>2]=+s[Me>>2]+ +s[X+(f[pe>>2]<<2)>>2]*+((f[pe>>2]|0)-8|0);s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2]=+s[X+(f[pe>>2]<<2)>>2];f[pe>>2]=(f[pe>>2]|0)+1}if((fe|0)==37){f[f[Ve>>2]>>2]=0;h=Je;return}s[he>>2]=0;f[We>>2]=0;s[be>>2]=0;s[we>>2]=.0005699999746866524/+(1<<(0>((f[V>>2]|0)-8|0)?0:(f[V>>2]|0)-8|0)|0);s[we>>2]=+s[we>>2]*+s[we>>2];f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=21)break;s[ae>>2]=0;f[ue>>2]=f[19212+(f[pe>>2]<<2)>>2];f[se>>2]=f[19212+((f[pe>>2]|0)+1<<2)>>2];f[Oe>>2]=f[ue>>2];while(1){if((f[Oe>>2]|0)>=(f[se>>2]|0))break;s[ce>>2]=+s[ke+(f[Oe>>2]<<3)>>2]*+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]+ +s[ke+(f[Oe>>2]<<3)+4>>2]*+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[ae>>2]=+s[ae>>2]+ +s[ce>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[be>>2]=+s[be>>2]>+s[ae>>2]?+s[be>>2]:+s[ae>>2];if((1-+s[le>>2])*+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2]>+s[ae>>2])b=(1-+s[le>>2])*+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2];else b=+s[ae>>2];s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2]=b;if(+s[ae>>2]>+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2])b=+s[ae>>2];else b=+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2];s[ae>>2]=b;s[he>>2]=+s[he>>2]*.05000000074505806>+s[ae>>2]?+s[he>>2]*.05000000074505806:+s[ae>>2];if((+s[ae>>2]>+s[he>>2]*.1?+s[ae>>2]*1e9>+s[be>>2]:0)?+s[ae>>2]>+s[we>>2]*+((f[se>>2]|0)-(f[ue>>2]|0)|0):0)f[We>>2]=f[pe>>2];f[pe>>2]=(f[pe>>2]|0)+1}if((f[(f[He>>2]|0)+6868>>2]|0)<=2)f[We>>2]=20;s[ve>>2]=+hs(+s[ve>>2])*20;if(+s[(f[He>>2]|0)+6848>>2]-.029999999329447746>+s[ve>>2])b=+s[(f[He>>2]|0)+6848>>2]-.029999999329447746;else b=+s[ve>>2];s[(f[He>>2]|0)+6848>>2]=b;ke=(f[He>>2]|0)+6852|0;s[ke>>2]=+s[ke>>2]*(1-+s[de>>2]);if(+s[ve>>2]<+s[(f[He>>2]|0)+6848>>2]-30){ve=(f[He>>2]|0)+6852|0;s[ve>>2]=+s[ve>>2]+ +s[de>>2]}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;s[me>>2]=0;f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=16)break;s[me>>2]=+s[me>>2]+ +s[19300+((f[Oe>>2]<<4)+(f[pe>>2]|0)<<2)>>2]*+s[ge+(f[pe>>2]<<2)>>2];f[pe>>2]=(f[pe>>2]|0)+1}s[Ee+(f[Oe>>2]<<2)>>2]=+s[me>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Re>>2]=+s[Re>>2]/18;b=+s[_e>>2]/18;s[_e>>2]=b;s[_e>>2]=(f[(f[He>>2]|0)+6868>>2]|0)<10?.5:b;s[Ze>>2]=+s[Ze>>2]/18;s[(f[Ve>>2]|0)+16>>2]=+s[Ze>>2]+(1-+s[Ze>>2])*+s[_e>>2];s[Te>>2]=+s[ye>>2]/9;if(+s[Te>>2]>+s[(f[He>>2]|0)+5840>>2]*.800000011920929)b=+s[Te>>2];else b=+s[(f[He>>2]|0)+5840>>2]*.800000011920929;s[Te>>2]=b;s[(f[He>>2]|0)+5840>>2]=+s[Te>>2];s[Me>>2]=+s[Me>>2]/64;s[(f[Ve>>2]|0)+8>>2]=+s[Me>>2];f[(f[He>>2]|0)+6856>>2]=((f[(f[He>>2]|0)+6856>>2]|0)+1|0)%8|0;Me=(f[He>>2]|0)+6868|0;f[Me>>2]=(f[Me>>2]|0)+1;s[(f[Ve>>2]|0)+4>>2]=+s[Te>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[Se+(f[Oe>>2]<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*-.12298999726772308+(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.49195000529289246+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]*.6969299912452698-+s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]*1.4349000453948975;f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]=(1-+s[Ae>>2])*+s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]+ +s[Ae>>2]*+s[Ee+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[Se+(4+(f[Oe>>2]|0)<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*.6324599981307983+(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.31622999906539917;f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=3)break;s[Se+(8+(f[Oe>>2]|0)<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*.5345199704170227-(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.26725998520851135-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]*.5345199704170227;f[Oe>>2]=(f[Oe>>2]|0)+1}e:do{if((f[(f[He>>2]|0)+6868>>2]|0)>5){f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=9)break e;s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]=(1-+s[Ae>>2])*+s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]+ +s[Ae>>2]*+s[Se+(f[Oe>>2]<<2)>>2]*+s[Se+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}}}while(0);f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2]=+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2];s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2]=+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2];s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]=+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2];s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]=+s[Ee+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=9)break;b=+H(+ +s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]);s[Se+(11+(f[Oe>>2]|0)<<2)>>2]=b;f[Oe>>2]=(f[Oe>>2]|0)+1}s[Se+80>>2]=+s[(f[Ve>>2]|0)+4>>2];s[Se+84>>2]=+s[(f[Ve>>2]|0)+16>>2];s[Se+88>>2]=+s[Re>>2];s[Se+92>>2]=+s[(f[Ve>>2]|0)+8>>2];s[Se+96>>2]=+s[(f[He>>2]|0)+6852>>2];os(20616,Se,Ye);s[Ye>>2]=(+s[Ye>>2]+1)*.5;s[Ye>>2]=+s[Ye>>2]*1.2100000381469727*+s[Ye>>2]+.009999999776482582-+q(+ +s[Ye>>2],10)*.23000000417232513;s[Ye+4>>2]=+s[Ye+4>>2]*.5+.5;s[Ye>>2]=+s[Ye+4>>2]*+s[Ye>>2]+(1-+s[Ye+4>>2])*.5;s[Fe>>2]=+s[Ye+4>>2]*4999999873689376e-20;s[xe>>2]=.05000000074505806;if(.05000000074505806>(.949999988079071<+s[Ye>>2]?.949999988079071:+s[Ye>>2]))b=.05000000074505806;else b=.949999988079071<+s[Ye>>2]?.949999988079071:+s[Ye>>2];s[Ie>>2]=b;if(.949999988079071<+s[(f[He>>2]|0)+6844>>2])b=.949999988079071;else b=+s[(f[He>>2]|0)+6844>>2];if(!(.05000000074505806>b))if(.949999988079071<+s[(f[He>>2]|0)+6844>>2])b=.949999988079071;else b=+s[(f[He>>2]|0)+6844>>2];else b=.05000000074505806;s[je>>2]=b;b=+Y(+(+s[Ie>>2]-+s[je>>2]))*.05000000074505806;s[xe>>2]=b/(+s[Ie>>2]*(1-+s[je>>2])+ +s[je>>2]*(1-+s[Ie>>2]))+.009999999776482582;s[Ce>>2]=(1-+s[(f[He>>2]|0)+6844>>2])*(1-+s[Fe>>2])+ +s[(f[He>>2]|0)+6844>>2]*+s[Fe>>2];s[Ue>>2]=+s[(f[He>>2]|0)+6844>>2]*(1-+s[Fe>>2])+(1-+s[(f[He>>2]|0)+6844>>2])*+s[Fe>>2];b=+q(+(1-+s[Ye>>2]),+ +s[xe>>2]);s[Ce>>2]=+s[Ce>>2]*b;b=+q(+ +s[Ye>>2],+ +s[xe>>2]);s[Ue>>2]=+s[Ue>>2]*b;s[(f[He>>2]|0)+6844>>2]=+s[Ue>>2]/(+s[Ce>>2]+ +s[Ue>>2]);s[(f[Ve>>2]|0)+20>>2]=+s[(f[He>>2]|0)+6844>>2];s[Be>>2]=9.999999682655225e-21;s[Ne>>2]=+q(+(1-+s[Ye>>2]),+ +s[xe>>2]);s[Pe>>2]=+q(+ +s[Ye>>2],+ +s[xe>>2]);if((f[(f[He>>2]|0)+6868>>2]|0)==1){s[(f[He>>2]|0)+6888>>2]=.5;s[(f[He>>2]|0)+7688>>2]=.5}s[De>>2]=+s[(f[He>>2]|0)+6888>>2]+ +s[(f[He>>2]|0)+6888+4>>2];s[Le>>2]=+s[(f[He>>2]|0)+7688>>2]+ +s[(f[He>>2]|0)+7688+4>>2];s[(f[He>>2]|0)+6888>>2]=+s[De>>2]*(1-+s[Fe>>2])*+s[Ne>>2];s[(f[He>>2]|0)+7688>>2]=+s[Le>>2]*(1-+s[Fe>>2])*+s[Pe>>2];f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=199)break;s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2]=+s[(f[He>>2]|0)+6888+((f[Oe>>2]|0)+1<<2)>>2]*+s[Ne>>2];s[(f[He>>2]|0)+7688+(f[Oe>>2]<<2)>>2]=+s[(f[He>>2]|0)+7688+((f[Oe>>2]|0)+1<<2)>>2]*+s[Pe>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[(f[He>>2]|0)+6888+796>>2]=+s[Le>>2]*+s[Fe>>2]*+s[Ne>>2];s[(f[He>>2]|0)+7688+796>>2]=+s[De>>2]*+s[Fe>>2]*+s[Pe>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=200)break;s[Be>>2]=+s[Be>>2]+(+s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+7688+(f[Oe>>2]<<2)>>2]);f[Oe>>2]=(f[Oe>>2]|0)+1}s[Be>>2]=1/+s[Be>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=200)break;Fe=(f[He>>2]|0)+6888+(f[Oe>>2]<<2)|0;s[Fe>>2]=+s[Fe>>2]*+s[Be>>2];Fe=(f[He>>2]|0)+7688+(f[Oe>>2]<<2)|0;s[Fe>>2]=+s[Fe>>2]*+s[Be>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Be>>2]=+s[(f[He>>2]|0)+7688>>2];f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=200)break;s[Be>>2]=+s[Be>>2]+ +s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}l=f[He>>2]|0;do{if(+s[Ye+4>>2]>.75){if(+s[l+6844>>2]>.9){Ne=(f[He>>2]|0)+8500|0;Fe=(f[Ne>>2]|0)+1|0;f[Ne>>2]=Fe;s[ze>>2]=1/+(Fe|0);if((f[(f[He>>2]|0)+8500>>2]|0)<500)l=f[(f[He>>2]|0)+8500>>2]|0;else l=500;f[(f[He>>2]|0)+8500>>2]=l;if(-.20000000298023224>+s[Ye>>2]-+s[(f[He>>2]|0)+8492>>2])b=-.20000000298023224;else b=+s[Ye>>2]-+s[(f[He>>2]|0)+8492>>2];Fe=(f[He>>2]|0)+8492|0;s[Fe>>2]=+s[Fe>>2]+ +s[ze>>2]*b}if(!(+s[(f[He>>2]|0)+6844>>2]<.1))break;Fe=(f[He>>2]|0)+8496|0;ze=(f[Fe>>2]|0)+1|0;f[Fe>>2]=ze;s[qe>>2]=1/+(ze|0);if((f[(f[He>>2]|0)+8496>>2]|0)<500)l=f[(f[He>>2]|0)+8496>>2]|0;else l=500;f[(f[He>>2]|0)+8496>>2]=l;if(.20000000298023224<+s[Ye>>2]-+s[(f[He>>2]|0)+8488>>2])b=.20000000298023224;else b=+s[Ye>>2]-+s[(f[He>>2]|0)+8488>>2];Ye=(f[He>>2]|0)+8488|0;s[Ye>>2]=+s[Ye>>2]+ +s[qe>>2]*b}else{if(!(f[l+8500>>2]|0))s[(f[He>>2]|0)+8492>>2]=.8999999761581421;if(f[(f[He>>2]|0)+8496>>2]|0)break;s[(f[He>>2]|0)+8488>>2]=.10000000149011612}}while(0);if((f[(f[He>>2]|0)+6860>>2]|0)!=(+s[(f[He>>2]|0)+6844>>2]>.5|0))f[(f[He>>2]|0)+6864>>2]=0;f[(f[He>>2]|0)+6860>>2]=+s[(f[He>>2]|0)+6844>>2]>.5&1;f[(f[Ve>>2]|0)+24>>2]=f[We>>2];s[(f[Ve>>2]|0)+12>>2]=+s[Ze>>2];f[f[Ve>>2]>>2]=1;h=Je;return}function as(e,r){e=+e;r=+r;var i=0,t=0,n=0,f=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;i=u+24|0;t=u+20|0;n=u+16|0;o=u+12|0;l=u+8|0;f=u+4|0;a=u;s[t>>2]=e;s[n>>2]=r;e=+Y(+ +s[n>>2]);if(e+ +Y(+ +s[t>>2])<9.999999717180685e-10){s[n>>2]=+s[n>>2]*999999995904;s[t>>2]=+s[t>>2]*999999995904}s[o>>2]=+s[n>>2]*+s[n>>2];s[l>>2]=+s[t>>2]*+s[t>>2];if(+s[o>>2]<+s[l>>2]){s[f>>2]=(+s[l>>2]+ +s[o>>2]*.6784840226173401)*(+s[l>>2]+ +s[o>>2]*.0859554186463356);if(+s[f>>2]!=0){s[i>>2]=-+s[n>>2]*+s[t>>2]*(+s[l>>2]+ +s[o>>2]*.43157973885536194)/+s[f>>2]+(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}else{s[i>>2]=+s[t>>2]<0?-1.5707963705062866:1.5707963705062866;e=+s[i>>2];h=u;return+e}}else{s[a>>2]=(+s[o>>2]+ +s[l>>2]*.6784840226173401)*(+s[o>>2]+ +s[l>>2]*.0859554186463356);if(+s[a>>2]!=0){s[i>>2]=+s[n>>2]*+s[t>>2]*(+s[o>>2]+ +s[l>>2]*.43157973885536194)/+s[a>>2]+(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866)-(+s[n>>2]*+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}else{s[i>>2]=(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866)-(+s[n>>2]*+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}}return 0}function os(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+448|0;l=p+436|0;n=p+432|0;u=p+428|0;w=p+424|0;b=p+24|0;c=p+16|0;a=p+12|0;o=p+8|0;k=p+4|0;d=p;f[l>>2]=e;f[n>>2]=r;f[u>>2]=i;f[c>>2]=f[(f[l>>2]|0)+8>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+4>>2]|0))break;i=f[c>>2]|0;f[c>>2]=i+4;s[o>>2]=+s[i>>2];f[a>>2]=0;while(1){t=+s[o>>2];if((f[a>>2]|0)>=(f[f[(f[l>>2]|0)+4>>2]>>2]|0))break;v=+s[(f[n>>2]|0)+(f[a>>2]<<2)>>2];i=f[c>>2]|0;f[c>>2]=i+4;s[o>>2]=t+v*+s[i>>2];f[a>>2]=(f[a>>2]|0)+1}v=+ls(t);s[b+(f[w>>2]<<2)>>2]=v;f[w>>2]=(f[w>>2]|0)+1}f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+8>>2]|0))break;o=f[c>>2]|0;f[c>>2]=o+4;s[d>>2]=+s[o>>2];f[k>>2]=0;while(1){t=+s[d>>2];if((f[k>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+4>>2]|0))break;v=+s[b+(f[k>>2]<<2)>>2];o=f[c>>2]|0;f[c>>2]=o+4;s[d>>2]=t+v*+s[o>>2];f[k>>2]=(f[k>>2]|0)+1}v=+ls(t);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=v;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function ls(e){e=+e;var r=0,i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;r=l+20|0;i=l+16|0;n=l+12|0;o=l+8|0;t=l+4|0;a=l;s[i>>2]=e;s[a>>2]=1;if(!(+s[i>>2]<8)){s[r>>2]=1;e=+s[r>>2];h=l;return+e}if(!(+s[i>>2]>-8)){s[r>>2]=-1;e=+s[r>>2];h=l;return+e}if(+s[i>>2]!=+s[i>>2]){s[r>>2]=0;e=+s[r>>2];h=l;return+e}if(+s[i>>2]<0){s[i>>2]=-+s[i>>2];s[a>>2]=-1}f[n>>2]=~~+z(+(+s[i>>2]*25+.5));s[i>>2]=+s[i>>2]-+(f[n>>2]|0)*.03999999910593033;s[o>>2]=+s[19812+(f[n>>2]<<2)>>2];s[t>>2]=1-+s[o>>2]*+s[o>>2];s[o>>2]=+s[o>>2]+ +s[i>>2]*+s[t>>2]*(1-+s[o>>2]*+s[i>>2]);s[r>>2]=+s[a>>2]*+s[o>>2];e=+s[r>>2];h=l;return+e}function ss(){var e=0;if(!(f[7632]|0))e=30572;else e=f[(le()|0)+64>>2]|0;return e|0}function us(e){e=+e;var r=0;r=(s[b>>2]=e,f[b>>2]|0);if((r&2130706432)>>>0<=1249902592){r=(r|0)<0;e=r?e+-8388608+8388608:e+8388608+-8388608;if(e==0)e=r?-0:0}return+e}function hs(e){e=+e;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,h=0;u[b>>3]=e;i=f[b>>2]|0;r=f[b+4>>2]|0;t=(r|0)<0;do{if(t|r>>>0<1048576){a=+Y(+e);u[b>>3]=a;if((f[b>>2]|0)==0&(f[b+4>>2]|0)==0){e=-1/(e*e);break}if(t){e=(e-e)/0;break}else{u[b>>3]=e*0x40000000000000;r=f[b+4>>2]|0;t=f[b>>2]|0;i=-1077;n=9;break}}else if(r>>>0<=2146435071)if((i|0)==0&0==0&(r|0)==1072693248)e=0;else{t=i;i=-1023;n=9}}while(0);if((n|0)==9){n=r+614242|0;f[b>>2]=t;f[b+4>>2]=(n&1048575)+1072079006;l=+u[b>>3]+-1;o=l*(l*.5);s=l/(l+2);h=s*s;e=h*h;u[b>>3]=l-o;t=f[b+4>>2]|0;f[b>>2]=0;f[b+4>>2]=t;a=+u[b>>3];e=l-a-o+s*(o+(e*(e*(e*.15313837699209373+.22222198432149784)+.3999999999940942)+h*(e*(e*(e*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));h=a*.4342944818781689;o=+(i+(n>>>20)|0);s=o*.30102999566361177;l=s+h;e=l+(h+(s-l)+(e*.4342944818781689+(o*3.694239077158931e-13+(a+e)*2.5082946711645275e-11)))}return+e}function cs(e){e=+e;return~~+us(e)|0}function bs(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;do{if(e>>>0<245){w=e>>>0<11?16:e+11&-8;e=w>>>3;s=f[7644]|0;r=s>>>e;if(r&3|0){r=(r&1^1)+e|0;i=30616+(r<<1<<2)|0;t=i+8|0;n=f[t>>2]|0;a=n+8|0;o=f[a>>2]|0;do{if((i|0)!=(o|0)){if(o>>>0<(f[7648]|0)>>>0)se();e=o+12|0;if((f[e>>2]|0)==(n|0)){f[e>>2]=i;f[t>>2]=o;break}else se()}else f[7644]=s&~(1<>2]=j|3;j=n+j+4|0;f[j>>2]=f[j>>2]|1;j=a;return j|0}o=f[7646]|0;if(w>>>0>o>>>0){if(r|0){i=2<>>12&16;i=i>>>l;n=i>>>5&8;i=i>>>n;a=i>>>2&4;i=i>>>a;t=i>>>1&2;i=i>>>t;r=i>>>1&1;r=(n|l|a|t|r)+(i>>>r)|0;i=30616+(r<<1<<2)|0;t=i+8|0;a=f[t>>2]|0;l=a+8|0;n=f[l>>2]|0;do{if((i|0)!=(n|0)){if(n>>>0<(f[7648]|0)>>>0)se();e=n+12|0;if((f[e>>2]|0)==(a|0)){f[e>>2]=i;f[t>>2]=n;u=f[7646]|0;break}else se()}else{f[7644]=s&~(1<>2]=w|3;t=a+w|0;f[t+4>>2]=o|1;f[t+o>>2]=o;if(u|0){n=f[7649]|0;r=u>>>3;i=30616+(r<<1<<2)|0;e=f[7644]|0;r=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{h=e;c=r}}else{f[7644]=e|r;h=i+8|0;c=i}f[h>>2]=n;f[c+12>>2]=n;f[n+8>>2]=c;f[n+12>>2]=i}f[7646]=o;f[7649]=t;j=l;return j|0}e=f[7645]|0;if(e){i=(e&0-e)+-1|0;B=i>>>12&16;i=i>>>B;U=i>>>5&8;i=i>>>U;j=i>>>2&4;i=i>>>j;r=i>>>1&2;i=i>>>r;t=i>>>1&1;t=f[30880+((U|B|j|r|t)+(i>>>t)<<2)>>2]|0;i=(f[t+4>>2]&-8)-w|0;r=t;while(1){e=f[r+16>>2]|0;if(!e){e=f[r+20>>2]|0;if(!e){s=t;break}}r=(f[e+4>>2]&-8)-w|0;j=r>>>0>>0;i=j?r:i;r=e;t=j?e:t}a=f[7648]|0;if(s>>>0>>0)se();l=s+w|0;if(s>>>0>=l>>>0)se();o=f[s+24>>2]|0;t=f[s+12>>2]|0;do{if((t|0)==(s|0)){r=s+20|0;e=f[r>>2]|0;if(!e){r=s+16|0;e=f[r>>2]|0;if(!e){b=0;break}}while(1){t=e+20|0;n=f[t>>2]|0;if(n|0){e=n;r=t;continue}t=e+16|0;n=f[t>>2]|0;if(!n)break;else{e=n;r=t}}if(r>>>0>>0)se();else{f[r>>2]=0;b=e;break}}else{n=f[s+8>>2]|0;if(n>>>0>>0)se();e=n+12|0;if((f[e>>2]|0)!=(s|0))se();r=t+8|0;if((f[r>>2]|0)==(s|0)){f[e>>2]=t;f[r>>2]=n;b=t;break}else se()}}while(0);do{if(o|0){e=f[s+28>>2]|0;r=30880+(e<<2)|0;if((s|0)==(f[r>>2]|0)){f[r>>2]=b;if(!b){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=o+16|0;if((f[e>>2]|0)==(s|0))f[e>>2]=b;else f[o+20>>2]=b;if(!b)break}r=f[7648]|0;if(b>>>0>>0)se();f[b+24>>2]=o;e=f[s+16>>2]|0;do{if(e|0)if(e>>>0>>0)se();else{f[b+16>>2]=e;f[e+24>>2]=b;break}}while(0);e=f[s+20>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[b+20>>2]=e;f[e+24>>2]=b;break}}}while(0);if(i>>>0<16){j=i+w|0;f[s+4>>2]=j|3;j=s+j+4|0;f[j>>2]=f[j>>2]|1}else{f[s+4>>2]=w|3;f[l+4>>2]=i|1;f[l+i>>2]=i;e=f[7646]|0;if(e|0){n=f[7649]|0;r=e>>>3;t=30616+(r<<1<<2)|0;e=f[7644]|0;r=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{k=e;d=r}}else{f[7644]=e|r;k=t+8|0;d=t}f[k>>2]=n;f[d+12>>2]=n;f[n+8>>2]=d;f[n+12>>2]=t}f[7646]=i;f[7649]=l}j=s+8|0;return j|0}}}else if(e>>>0<=4294967231){e=e+11|0;w=e&-8;s=f[7645]|0;if(s){i=0-w|0;e=e>>>8;if(e)if(w>>>0>16777215)l=31;else{d=(e+1048320|0)>>>16&8;O=e<>>16&4;O=O<>>16&2;l=14-(k|d|l)+(O<>>15)|0;l=w>>>(l+7|0)&1|l<<1}else l=0;r=f[30880+(l<<2)>>2]|0;e:do{if(!r){e=0;r=0;O=86}else{n=i;e=0;a=w<<((l|0)==31?0:25-(l>>>1)|0);o=r;r=0;while(1){t=f[o+4>>2]&-8;i=t-w|0;if(i>>>0>>0)if((t|0)==(w|0)){e=o;r=o;O=90;break e}else r=o;else i=n;t=f[o+20>>2]|0;o=f[o+16+(a>>>31<<2)>>2]|0;e=(t|0)==0|(t|0)==(o|0)?e:t;t=(o|0)==0;if(t){O=86;break}else{n=i;a=a<<(t&1^1)}}}}while(0);if((O|0)==86){if((e|0)==0&(r|0)==0){e=2<>>12&16;d=d>>>c;h=d>>>5&8;d=d>>>h;b=d>>>2&4;d=d>>>b;k=d>>>1&2;d=d>>>k;e=d>>>1&1;e=f[30880+((h|c|b|k|e)+(d>>>e)<<2)>>2]|0}if(!e){l=i;s=r}else O=90}if((O|0)==90)while(1){O=0;d=(f[e+4>>2]&-8)-w|0;t=d>>>0>>0;i=t?d:i;r=t?e:r;t=f[e+16>>2]|0;if(t|0){e=t;O=90;continue}e=f[e+20>>2]|0;if(!e){l=i;s=r;break}else O=90}if((s|0)!=0?l>>>0<((f[7646]|0)-w|0)>>>0:0){n=f[7648]|0;if(s>>>0>>0)se();o=s+w|0;if(s>>>0>=o>>>0)se();a=f[s+24>>2]|0;i=f[s+12>>2]|0;do{if((i|0)==(s|0)){r=s+20|0;e=f[r>>2]|0;if(!e){r=s+16|0;e=f[r>>2]|0;if(!e){v=0;break}}while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0>>0)se();else{f[r>>2]=0;v=e;break}}else{t=f[s+8>>2]|0;if(t>>>0>>0)se();e=t+12|0;if((f[e>>2]|0)!=(s|0))se();r=i+8|0;if((f[r>>2]|0)==(s|0)){f[e>>2]=i;f[r>>2]=t;v=i;break}else se()}}while(0);do{if(a|0){e=f[s+28>>2]|0;r=30880+(e<<2)|0;if((s|0)==(f[r>>2]|0)){f[r>>2]=v;if(!v){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=a+16|0;if((f[e>>2]|0)==(s|0))f[e>>2]=v;else f[a+20>>2]=v;if(!v)break}r=f[7648]|0;if(v>>>0>>0)se();f[v+24>>2]=a;e=f[s+16>>2]|0;do{if(e|0)if(e>>>0>>0)se();else{f[v+16>>2]=e;f[e+24>>2]=v;break}}while(0);e=f[s+20>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[v+20>>2]=e;f[e+24>>2]=v;break}}}while(0);do{if(l>>>0>=16){f[s+4>>2]=w|3;f[o+4>>2]=l|1;f[o+l>>2]=l;e=l>>>3;if(l>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{y=e;_=r}}else{f[7644]=r|e;y=i+8|0;_=i}f[y>>2]=o;f[_+12>>2]=o;f[o+8>>2]=_;f[o+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)i=31;else{B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=l>>>(i+7|0)&1|i<<1}else i=0;t=30880+(i<<2)|0;f[o+28>>2]=i;e=o+16|0;f[e+4>>2]=0;f[e>>2]=0;e=f[7645]|0;r=1<>2]=o;f[o+24>>2]=t;f[o+12>>2]=o;f[o+8>>2]=o;break}n=l<<((i|0)==31?0:25-(i>>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(l|0)){i=e;O=148;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=145;break}else{n=n<<1;e=i}}if((O|0)==145)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=o;f[o+24>>2]=e;f[o+12>>2]=o;f[o+8>>2]=o;break}else if((O|0)==148){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=o;f[e>>2]=o;f[o+8>>2]=r;f[o+12>>2]=i;f[o+24>>2]=0;break}else se()}}else{j=l+w|0;f[s+4>>2]=j|3;j=s+j+4|0;f[j>>2]=f[j>>2]|1}}while(0);j=s+8|0;return j|0}}}else w=-1}while(0);i=f[7646]|0;if(i>>>0>=w>>>0){e=i-w|0;r=f[7649]|0;if(e>>>0>15){j=r+w|0;f[7649]=j;f[7646]=e;f[j+4>>2]=e|1;f[j+e>>2]=e;f[r+4>>2]=w|3}else{f[7646]=0;f[7649]=0;f[r+4>>2]=i|3;j=r+i+4|0;f[j>>2]=f[j>>2]|1}j=r+8|0;return j|0}e=f[7647]|0;if(e>>>0>w>>>0){U=e-w|0;f[7647]=U;j=f[7650]|0;B=j+w|0;f[7650]=B;f[B+4>>2]=U|1;f[j+4>>2]=w|3;j=j+8|0;return j|0}do{if(!(f[7762]|0)){e=pe(30)|0;if(!(e+-1&e)){f[7764]=e;f[7763]=e;f[7765]=-1;f[7766]=-1;f[7767]=0;f[7755]=0;f[7762]=(be(0)|0)&-16^1431655768;break}else se()}}while(0);o=w+48|0;a=f[7764]|0;l=w+47|0;n=a+l|0;a=0-a|0;s=n&a;if(s>>>0<=w>>>0){j=0;return j|0}e=f[7754]|0;if(e|0?(y=f[7752]|0,_=y+s|0,_>>>0<=y>>>0|_>>>0>e>>>0):0){j=0;return j|0}e:do{if(!(f[7755]&4)){e=f[7650]|0;r:do{if(e){i=31024;while(1){r=f[i>>2]|0;if(r>>>0<=e>>>0?(p=i+4|0,(r+(f[p>>2]|0)|0)>>>0>e>>>0):0){t=i;i=p;break}i=f[i+8>>2]|0;if(!i){O=173;break r}}e=n-(f[7647]|0)&a;if(e>>>0<2147483647){r=ce(e|0)|0;if((r|0)==((f[t>>2]|0)+(f[i>>2]|0)|0)){if((r|0)!=(-1|0)){o=r;n=e;O=193;break e}}else O=183}}else O=173}while(0);do{if((O|0)==173?(g=ce(0)|0,(g|0)!=(-1|0)):0){e=g;r=f[7763]|0;i=r+-1|0;if(!(i&e))e=s;else e=s-e+(i+e&0-r)|0;r=f[7752]|0;i=r+e|0;if(e>>>0>w>>>0&e>>>0<2147483647){_=f[7754]|0;if(_|0?i>>>0<=r>>>0|i>>>0>_>>>0:0)break;r=ce(e|0)|0;if((r|0)==(g|0)){o=g;n=e;O=193;break e}else O=183}}}while(0);r:do{if((O|0)==183){i=0-e|0;do{if(o>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))?(m=f[7764]|0,m=l-e+m&0-m,m>>>0<2147483647):0)if((ce(m|0)|0)==(-1|0)){ce(i|0)|0;break r}else{e=m+e|0;break}}while(0);if((r|0)!=(-1|0)){o=r;n=e;O=193;break e}}}while(0);f[7755]=f[7755]|4;O=190}else O=190}while(0);if((((O|0)==190?s>>>0<2147483647:0)?(E=ce(s|0)|0,A=ce(0)|0,E>>>0>>0&((E|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(S=A-E|0,S>>>0>(w+40|0)>>>0):0){o=E;n=S;O=193}if((O|0)==193){e=(f[7752]|0)+n|0;f[7752]=e;if(e>>>0>(f[7753]|0)>>>0)f[7753]=e;l=f[7650]|0;do{if(l){t=31024;do{e=f[t>>2]|0;r=t+4|0;i=f[r>>2]|0;if((o|0)==(e+i|0)){R=e;T=r;M=i;x=t;O=203;break}t=f[t+8>>2]|0}while((t|0)!=0);if(((O|0)==203?(f[x+12>>2]&8|0)==0:0)?l>>>0>>0&l>>>0>=R>>>0:0){f[T>>2]=M+n;j=l+8|0;j=(j&7|0)==0?0:0-j&7;B=l+j|0;j=n-j+(f[7647]|0)|0;f[7650]=B;f[7647]=j;f[B+4>>2]=j|1;f[B+j+4>>2]=40;f[7651]=f[7766];break}e=f[7648]|0;if(o>>>0>>0){f[7648]=o;s=o}else s=e;i=o+n|0;e=31024;while(1){if((f[e>>2]|0)==(i|0)){r=e;O=211;break}e=f[e+8>>2]|0;if(!e){r=31024;break}}if((O|0)==211)if(!(f[e+12>>2]&8)){f[r>>2]=o;h=e+4|0;f[h>>2]=(f[h>>2]|0)+n;h=o+8|0;h=o+((h&7|0)==0?0:0-h&7)|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;u=h+w|0;a=e-h-w|0;f[h+4>>2]=w|3;do{if((e|0)!=(l|0)){if((e|0)==(f[7649]|0)){j=(f[7646]|0)+a|0;f[7646]=j;f[7649]=u;f[u+4>>2]=j|1;f[u+j>>2]=j;break}r=f[e+4>>2]|0;if((r&3|0)==1){l=r&-8;n=r>>>3;e:do{if(r>>>0>=256){o=f[e+24>>2]|0;t=f[e+12>>2]|0;do{if((t|0)==(e|0)){i=e+16|0;t=i+4|0;r=f[t>>2]|0;if(!r){r=f[i>>2]|0;if(!r){U=0;break}}else i=t;while(1){t=r+20|0;n=f[t>>2]|0;if(n|0){r=n;i=t;continue}t=r+16|0;n=f[t>>2]|0;if(!n)break;else{r=n;i=t}}if(i>>>0>>0)se();else{f[i>>2]=0;U=r;break}}else{n=f[e+8>>2]|0;if(n>>>0>>0)se();r=n+12|0;if((f[r>>2]|0)!=(e|0))se();i=t+8|0;if((f[i>>2]|0)==(e|0)){f[r>>2]=t;f[i>>2]=n;U=t;break}else se()}}while(0);if(!o)break;r=f[e+28>>2]|0;i=30880+(r<<2)|0;do{if((e|0)!=(f[i>>2]|0)){if(o>>>0<(f[7648]|0)>>>0)se();r=o+16|0;if((f[r>>2]|0)==(e|0))f[r>>2]=U;else f[o+20>>2]=U;if(!U)break e}else{f[i>>2]=U;if(U|0)break;f[7645]=f[7645]&~(1<>>0>>0)se();f[U+24>>2]=o;r=e+16|0;i=f[r>>2]|0;do{if(i|0)if(i>>>0>>0)se();else{f[U+16>>2]=i;f[i+24>>2]=U;break}}while(0);r=f[r+4>>2]|0;if(!r)break;if(r>>>0<(f[7648]|0)>>>0)se();else{f[U+20>>2]=r;f[r+24>>2]=U;break}}else{i=f[e+8>>2]|0;t=f[e+12>>2]|0;r=30616+(n<<1<<2)|0;do{if((i|0)!=(r|0)){if(i>>>0>>0)se();if((f[i+12>>2]|0)==(e|0))break;se()}}while(0);if((t|0)==(i|0)){f[7644]=f[7644]&~(1<>>0>>0)se();r=t+8|0;if((f[r>>2]|0)==(e|0)){P=r;break}se()}}while(0);f[i+12>>2]=t;f[P>>2]=i}}while(0);e=e+l|0;a=l+a|0}e=e+4|0;f[e>>2]=f[e>>2]&-2;f[u+4>>2]=a|1;f[u+a>>2]=a;e=a>>>3;if(a>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0>=(f[7648]|0)>>>0){B=e;j=r;break}se()}}while(0);f[B>>2]=u;f[j+12>>2]=u;f[u+8>>2]=j;f[u+12>>2]=i;break}e=a>>>8;do{if(!e)i=0;else{if(a>>>0>16777215){i=31;break}B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=a>>>(i+7|0)&1|i<<1}}while(0);t=30880+(i<<2)|0;f[u+28>>2]=i;e=u+16|0;f[e+4>>2]=0;f[e>>2]=0;e=f[7645]|0;r=1<>2]=u;f[u+24>>2]=t;f[u+12>>2]=u;f[u+8>>2]=u;break}n=a<<((i|0)==31?0:25-(i>>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(a|0)){i=e;O=281;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=278;break}else{n=n<<1;e=i}}if((O|0)==278)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=u;f[u+24>>2]=e;f[u+12>>2]=u;f[u+8>>2]=u;break}else if((O|0)==281){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=u;f[e>>2]=u;f[u+8>>2]=r;f[u+12>>2]=i;f[u+24>>2]=0;break}else se()}}else{j=(f[7647]|0)+a|0;f[7647]=j;f[7650]=u;f[u+4>>2]=j|1}}while(0);j=h+8|0;return j|0}else r=31024;while(1){e=f[r>>2]|0;if(e>>>0<=l>>>0?(L=e+(f[r+4>>2]|0)|0,L>>>0>l>>>0):0){r=L;break}r=f[r+8>>2]|0}a=r+-47|0;i=a+8|0;i=a+((i&7|0)==0?0:0-i&7)|0;a=l+16|0;i=i>>>0>>0?l:i;e=i+8|0;t=o+8|0;t=(t&7|0)==0?0:0-t&7;j=o+t|0;t=n+-40-t|0;f[7650]=j;f[7647]=t;f[j+4>>2]=t|1;f[j+t+4>>2]=40;f[7651]=f[7766];t=i+4|0;f[t>>2]=27;f[e>>2]=f[7756];f[e+4>>2]=f[7757];f[e+8>>2]=f[7758];f[e+12>>2]=f[7759];f[7756]=o;f[7757]=n;f[7759]=0;f[7758]=e;e=i+24|0;do{e=e+4|0;f[e>>2]=7}while((e+4|0)>>>0>>0);if((i|0)!=(l|0)){o=i-l|0;f[t>>2]=f[t>>2]&-2;f[l+4>>2]=o|1;f[i>>2]=o;e=o>>>3;if(o>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{I=e;C=r}}else{f[7644]=r|e;I=i+8|0;C=i}f[I>>2]=l;f[C+12>>2]=l;f[l+8>>2]=C;f[l+12>>2]=i;break}e=o>>>8;if(e)if(o>>>0>16777215)i=31;else{B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;n=30880+(i<<2)|0;f[l+28>>2]=i;f[l+20>>2]=0;f[a>>2]=0;e=f[7645]|0;r=1<>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}t=o<<((i|0)==31?0:25-(i>>>1)|0);e=f[n>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(o|0)){i=e;O=307;break}r=e+16+(t>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=304;break}else{t=t<<1;e=i}}if((O|0)==304)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=l;f[l+24>>2]=e;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((O|0)==307){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=l;f[e>>2]=l;f[l+8>>2]=r;f[l+12>>2]=i;f[l+24>>2]=0;break}else se()}}}else{j=f[7648]|0;if((j|0)==0|o>>>0>>0)f[7648]=o;f[7756]=o;f[7757]=n;f[7759]=0;f[7653]=f[7762];f[7652]=-1;e=0;do{j=30616+(e<<1<<2)|0;f[j+12>>2]=j;f[j+8>>2]=j;e=e+1|0}while((e|0)!=32);j=o+8|0;j=(j&7|0)==0?0:0-j&7;B=o+j|0;j=n+-40-j|0;f[7650]=B;f[7647]=j;f[B+4>>2]=j|1;f[B+j+4>>2]=40;f[7651]=f[7766]}}while(0);e=f[7647]|0;if(e>>>0>w>>>0){U=e-w|0;f[7647]=U;j=f[7650]|0;B=j+w|0;f[7650]=B;f[B+4>>2]=U|1;f[j+4>>2]=w|3;j=j+8|0;return j|0}}f[(ss()|0)>>2]=12;j=0;return j|0}function ws(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0,d=0;if(!e)return;i=e+-8|0;o=f[7648]|0;if(i>>>0>>0)se();e=f[e+-4>>2]|0;r=e&3;if((r|0)==1)se();t=e&-8;c=i+t|0;do{if(!(e&1)){e=f[i>>2]|0;if(!r)return;u=i+(0-e)|0;s=e+t|0;if(u>>>0>>0)se();if((u|0)==(f[7649]|0)){e=c+4|0;r=f[e>>2]|0;if((r&3|0)!=3){d=u;a=s;break}f[7646]=s;f[e>>2]=r&-2;f[u+4>>2]=s|1;f[u+s>>2]=s;return}t=e>>>3;if(e>>>0<256){r=f[u+8>>2]|0;i=f[u+12>>2]|0;e=30616+(t<<1<<2)|0;if((r|0)!=(e|0)){if(r>>>0>>0)se();if((f[r+12>>2]|0)!=(u|0))se()}if((i|0)==(r|0)){f[7644]=f[7644]&~(1<>>0>>0)se();e=i+8|0;if((f[e>>2]|0)==(u|0))n=e;else se()}else n=i+8|0;f[r+12>>2]=i;f[n>>2]=r;d=u;a=s;break}n=f[u+24>>2]|0;i=f[u+12>>2]|0;do{if((i|0)==(u|0)){r=u+16|0;i=r+4|0;e=f[i>>2]|0;if(!e){e=f[r>>2]|0;if(!e){l=0;break}}else r=i;while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0>>0)se();else{f[r>>2]=0;l=e;break}}else{t=f[u+8>>2]|0;if(t>>>0>>0)se();e=t+12|0;if((f[e>>2]|0)!=(u|0))se();r=i+8|0;if((f[r>>2]|0)==(u|0)){f[e>>2]=i;f[r>>2]=t;l=i;break}else se()}}while(0);if(n){e=f[u+28>>2]|0;r=30880+(e<<2)|0;if((u|0)==(f[r>>2]|0)){f[r>>2]=l;if(!l){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=n+16|0;if((f[e>>2]|0)==(u|0))f[e>>2]=l;else f[n+20>>2]=l;if(!l){d=u;a=s;break}}i=f[7648]|0;if(l>>>0>>0)se();f[l+24>>2]=n;e=u+16|0;r=f[e>>2]|0;do{if(r|0)if(r>>>0>>0)se();else{f[l+16>>2]=r;f[r+24>>2]=l;break}}while(0);e=f[e+4>>2]|0;if(e)if(e>>>0<(f[7648]|0)>>>0)se();else{f[l+20>>2]=e;f[e+24>>2]=l;d=u;a=s;break}else{d=u;a=s}}else{d=u;a=s}}else{d=i;a=t}}while(0);if(d>>>0>=c>>>0)se();e=c+4|0;r=f[e>>2]|0;if(!(r&1))se();if(!(r&2)){if((c|0)==(f[7650]|0)){k=(f[7647]|0)+a|0;f[7647]=k;f[7650]=d;f[d+4>>2]=k|1;if((d|0)!=(f[7649]|0))return;f[7649]=0;f[7646]=0;return}if((c|0)==(f[7649]|0)){k=(f[7646]|0)+a|0;f[7646]=k;f[7649]=d;f[d+4>>2]=k|1;f[d+k>>2]=k;return}a=(r&-8)+a|0;t=r>>>3;do{if(r>>>0>=256){n=f[c+24>>2]|0;e=f[c+12>>2]|0;do{if((e|0)==(c|0)){r=c+16|0;i=r+4|0;e=f[i>>2]|0;if(!e){e=f[r>>2]|0;if(!e){b=0;break}}else r=i;while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=0;b=e;break}}else{r=f[c+8>>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();i=r+12|0;if((f[i>>2]|0)!=(c|0))se();t=e+8|0;if((f[t>>2]|0)==(c|0)){f[i>>2]=e;f[t>>2]=r;b=e;break}else se()}}while(0);if(n|0){e=f[c+28>>2]|0;r=30880+(e<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=b;if(!b){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=n+16|0;if((f[e>>2]|0)==(c|0))f[e>>2]=b;else f[n+20>>2]=b;if(!b)break}i=f[7648]|0;if(b>>>0>>0)se();f[b+24>>2]=n;e=c+16|0;r=f[e>>2]|0;do{if(r|0)if(r>>>0>>0)se();else{f[b+16>>2]=r;f[r+24>>2]=b;break}}while(0);e=f[e+4>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[b+20>>2]=e;f[e+24>>2]=b;break}}}else{r=f[c+8>>2]|0;i=f[c+12>>2]|0;e=30616+(t<<1<<2)|0;if((r|0)!=(e|0)){if(r>>>0<(f[7648]|0)>>>0)se();if((f[r+12>>2]|0)!=(c|0))se()}if((i|0)==(r|0)){f[7644]=f[7644]&~(1<>>0<(f[7648]|0)>>>0)se();e=i+8|0;if((f[e>>2]|0)==(c|0))h=e;else se()}else h=i+8|0;f[r+12>>2]=i;f[h>>2]=r}}while(0);f[d+4>>2]=a|1;f[d+a>>2]=a;if((d|0)==(f[7649]|0)){f[7646]=a;return}}else{f[e>>2]=r&-2;f[d+4>>2]=a|1;f[d+a>>2]=a}e=a>>>3;if(a>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{w=e;k=r}}else{f[7644]=r|e;w=i+8|0;k=i}f[w>>2]=d;f[k+12>>2]=d;f[d+8>>2]=k;f[d+12>>2]=i;return}e=a>>>8;if(e)if(a>>>0>16777215)i=31;else{w=(e+1048320|0)>>>16&8;k=e<>>16&4;k=k<>>16&2;i=14-(b|w|i)+(k<>>15)|0;i=a>>>(i+7|0)&1|i<<1}else i=0;t=30880+(i<<2)|0;f[d+28>>2]=i;f[d+20>>2]=0;f[d+16>>2]=0;e=f[7645]|0;r=1<>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(a|0)){i=e;t=130;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){t=127;break}else{n=n<<1;e=i}}if((t|0)==127)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=d;f[d+24>>2]=e;f[d+12>>2]=d;f[d+8>>2]=d;break}else if((t|0)==130){e=i+8|0;r=f[e>>2]|0;k=f[7648]|0;if(r>>>0>=k>>>0&i>>>0>=k>>>0){f[r+12>>2]=d;f[e>>2]=d;f[d+8>>2]=r;f[d+12>>2]=i;f[d+24>>2]=0;break}else se()}}else{f[7645]=e|r;f[t>>2]=d;f[d+24>>2]=t;f[d+12>>2]=d;f[d+8>>2]=d}}while(0);d=(f[7652]|0)+-1|0;f[7652]=d;if(!d)e=31032;else return;while(1){e=f[e>>2]|0;if(!e)break;else e=e+8|0}f[7652]=-1;return}function ks(){}function ds(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;i=e+i>>>0;return(L=r+t+(i>>>0>>0|0)>>>0,i|0)|0}function ps(e,r,i){e=e|0;r=r|0;i=i|0;if((i|0)<32){L=r>>i;return e>>>i|(r&(1<>i-32|0}function vs(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0;n=e+i|0;if((i|0)>=20){r=r&255;o=e&3;l=r|r<<8|r<<16|r<<24;a=n&~3;if(o){o=e+4-o|0;while((e|0)<(o|0)){t[e>>0]=r;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=r;e=e+1|0}return e-i|0}function gs(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((i|0)>=4096)return ke(e|0,r|0,i|0)|0;n=e|0;if((e&3)==(r&3)){while(e&3){if(!i)return n|0;t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}while((i|0)>=4){f[e>>2]=f[r>>2];e=e+4|0;r=r+4|0;i=i-4|0}}while((i|0)>0){t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}return n|0}function ys(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((r|0)<(e|0)&(e|0)<(r+i|0)){n=e;r=r+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;r=r-1|0;i=i-1|0;t[e>>0]=t[r>>0]|0}e=n}else gs(e,r,i)|0;return e|0}function _s(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;t=r-t-(i>>>0>e>>>0|0)>>>0;return(L=t,e-i>>>0|0)|0}function ms(e,r,i){e=e|0;r=r|0;i=i|0;if((i|0)<32){L=r<>>32-i;return e<>>i;return e>>>i|(r&(1<>>i-32|0}function As(e){e=e|0;var r=0;r=t[k+(e&255)>>0]|0;if((r|0)<8)return r|0;r=t[k+(e>>8&255)>>0]|0;if((r|0)<8)return r+8|0;r=t[k+(e>>16&255)>>0]|0;if((r|0)<8)return r+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function Ss(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,f=0;f=e&65535;n=r&65535;i=re(n,f)|0;t=e>>>16;e=(i>>>16)+(re(n,t)|0)|0;n=r>>>16;r=re(n,f)|0;return(L=(e>>>16)+(re(n,t)|0)+(((e&65535)+r|0)>>>16)|0,e+r<<16|i&65535|0)|0}function Rs(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,f=0,a=0,o=0,l=0,s=0;s=r>>31|((r|0)<0?-1:0)<<1;l=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;o=_s(s^e|0,l^r|0,s|0,l|0)|0;a=L;e=f^s;r=n^l;return _s((Ls(o,a,_s(f^i|0,n^t|0,f|0,n|0)|0,L,0)|0)^e|0,L^r|0,e|0,r|0)|0}function Ts(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;n=h;h=h+16|0;l=n|0;o=r>>31|((r|0)<0?-1:0)<<1;a=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=_s(o^e|0,a^r|0,o|0,a|0)|0;r=L;Ls(e,r,_s(u^i|0,s^t|0,u|0,s|0)|0,L,l)|0;t=_s(f[l>>2]^o|0,f[l+4>>2]^a|0,o|0,a|0)|0;i=L;h=n;return(L=i,t)|0}function Ms(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,f=0;n=e;f=i;i=Ss(n,f)|0;e=L;return(L=(re(r,f)|0)+(re(t,n)|0)+e|e&0,i|0|0)|0}function xs(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;return Ls(e,r,i,t,0)|0}function Os(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0;a=h;h=h+16|0;n=a|0;Ls(e,r,i,t,n)|0;h=a;return(L=f[n+4>>2]|0,f[n>>2]|0)|0}function Ls(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0;h=e;s=r;u=s;o=i;b=t;l=b;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(h>>>0)%(o>>>0);f[n+4>>2]=0}b=0;n=(h>>>0)/(o>>>0)>>>0;return(L=b,n)|0}else{if(!a){b=0;n=0;return(L=b,n)|0}f[n>>2]=e|0;f[n+4>>2]=r&0;b=0;n=0;return(L=b,n)|0}}a=(l|0)==0;do{if(o){if(!a){a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=31){c=a+1|0;l=31-a|0;r=a-31>>31;o=c;e=h>>>(c>>>0)&r|u<>>(c>>>0)&r;a=0;l=h<>2]=e|0;f[n+4>>2]=s|r&0;b=0;n=0;return(L=b,n)|0}a=o-1|0;if(a&o|0){l=(te(o|0)|0)+33-(te(u|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;w=l-32|0;r=w>>31;o=l;e=c-1>>31&u>>>(w>>>0)|(u<>>(l>>>0))&r;r=r&u>>>(l>>>0);a=h<>>(w>>>0))&s|h<>31;break}if(n|0){f[n>>2]=a&h;f[n+4>>2]=0}if((o|0)==1){w=s|r&0;k=e|0|0;return(L=w,k)|0}else{k=As(o|0)|0;w=u>>>(k>>>0)|0;k=u<<32-k|h>>>(k>>>0)|0;return(L=w,k)|0}}else{if(a){if(n|0){f[n>>2]=(u>>>0)%(o>>>0);f[n+4>>2]=0}w=0;k=(u>>>0)/(o>>>0)>>>0;return(L=w,k)|0}if(!h){if(n|0){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}w=0;k=(u>>>0)/(l>>>0)>>>0;return(L=w,k)|0}a=l-1|0;if(!(a&l)){if(n|0){f[n>>2]=e|0;f[n+4>>2]=a&u|r&0}w=0;k=u>>>((As(l|0)|0)>>>0);return(L=w,k)|0}a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=30){r=a+1|0;l=31-a|0;o=r;e=u<>>(r>>>0);r=u>>>(r>>>0);a=0;l=h<>2]=e|0;f[n+4>>2]=s|r&0;w=0;k=0;return(L=w,k)|0}}while(0);if(!o){u=l;s=0;l=0}else{c=i|0|0;h=b|t&0;u=ds(c|0,h|0,-1,-1)|0;i=L;s=l;l=0;do{t=s;s=a>>>31|s<<1;a=l|a<<1;t=e<<1|t>>>31|0;b=e>>>31|r<<1|0;_s(u|0,i|0,t|0,b|0)|0;k=L;w=k>>31|((k|0)<0?-1:0)<<1;l=w&1;e=_s(t|0,b|0,w&c|0,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&h|0)|0;r=L;o=o-1|0}while((o|0)!=0);u=s;s=0}o=0;if(n|0){f[n>>2]=e;f[n+4>>2]=r}w=(a|0)>>>31|(u|o)<<1|(o<<1|a>>>31)&0|s;k=(a<<1|0>>>31)&-2|l;return(L=w,k)|0}function Ps(e,r,i,t,n,f,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;f=f|0;a=a|0;o=o|0;Cs[e&3](r|0,i|0,t|0,n|0,f|0,a|0,o|0)}function Is(e,r,i,t,n,f,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;f=f|0;a=a|0;ne(0)}var Cs=[Is,Ml,Tl,Is];return{_opus_decoder_get_size:nl,_opus_get_version_string:Nn,_free:ws,_opus_encode_float:Vl,_opus_strerror:Dn,_i64Add:ds,_memmove:ys,_opus_decoder_init:al,_bitshift64Ashr:ps,_opus_encoder_get_size:El,_memset:vs,_malloc:bs,_opus_decoder_ctl:ml,_opus_encode:Zl,_opus_encoder_init:Sl,_opus_decode:dl,_opus_packet_get_nb_samples:vl,_memcpy:gs,_opus_encoder_ctl:Jl,_opus_decode_float:_l,runPostSets:ks,stackAlloc:Gt,stackSave:Kt,stackRestore:Xt,establishStackSpace:$t,setThrew:Qt,setTempRet0:tn,getTempRet0:nn,dynCall_viiiiiii:Ps}}(b.s,b.t,buffer);b._opus_decoder_get_size=Z._opus_decoder_get_size,b._opus_get_version_string=Z._opus_get_version_string;var va=b._free=Z._free;b._opus_encode_float=Z._opus_encode_float,b._opus_strerror=Z._opus_strerror;var Pa=b._i64Add=Z._i64Add,Ua=b._memmove=Z._memmove;b._opus_decoder_init=Z._opus_decoder_init;var Qa=b._bitshift64Ashr=Z._bitshift64Ashr;b._opus_encoder_get_size=Z._opus_encoder_get_size;var Ra=b._memset=Z._memset,Q=b._malloc=Z._malloc;b._opus_packet_get_nb_samples=Z._opus_packet_get_nb_samples,b._opus_encode=Z._opus_encode,b._opus_encoder_init=Z._opus_encoder_init,b._opus_decode=Z._opus_decode,b._opus_decoder_ctl=Z._opus_decoder_ctl;var Sa=b._memcpy=Z._memcpy;b._opus_encoder_ctl=Z._opus_encoder_ctl,b._opus_decode_float=Z._opus_decode_float,b.runPostSets=Z.runPostSets,b.dynCall_viiiiiii=Z.dynCall_viiiiiii,y.f=Z.stackAlloc,y.g=Z.stackSave,y.c=Z.stackRestore,y.I=Z.establishStackSpace,y.B=Z.setTempRet0,y.w=Z.getTempRet0,w.prototype=Error(),w.prototype.constructor=w;var Wa=null,X=function e(){b.calledRun||Ya(),b.calledRun||(X=e)};b.callMain=b.G=function(e){function r(){for(var e=0;3>e;e++)t.push(0)}e=e||[],T||(T=!0,V(Ea));var i=e.length+1,t=[O(Ka(b.thisProgram),"i8",0)];r();for(var n=0;n0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,r){function i(){this.removeListener(e,i),n||(n=!0,r.apply(this,arguments))}if(!t(r))throw TypeError("listener must be a function");var n=!1;return i.listener=r,this.on(e,i),this},i.prototype.removeListener=function(e,r){var i,n,a,o;if(!t(r))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=this._events[e],a=i.length,n=-1,i===r||t(i.listener)&&i.listener===r)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,r);else if(f(i)){for(o=a;o-- >0;)if(i[o]===r||i[o].listener&&i[o].listener===r){n=o;break}if(n<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,r)}return this},i.prototype.removeAllListeners=function(e){var r,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(r in this._events)"removeListener"!==r&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[e],t(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?t(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var r=this._events[e];if(t(r))return 1;if(r)return r.length}return 0},i.listenerCount=function(e,r){return e.listenerCount(r)}},function(e,r,i){"use strict";(function(r,t,n){function f(e){var r=this;this.next=null,this.entry=null,this.finish=function(){T(r,e)}}function a(e){return C.from(e)}function o(e){return C.isBuffer(e)||e instanceof U}function l(){}function s(e,r){x=x||i(1),e=e||{},this.objectMode=!!e.objectMode,r instanceof x&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var t=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=t||0===t?t:n,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){v(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new f(this)}function u(e){if(x=x||i(1),!(j.call(u,this)||this instanceof x))return new u(e);this._writableState=new s(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),I.call(this)}function h(e,r){var i=new Error("write after end");e.emit("error",i),M(r,i)}function c(e,r,i,t){var n=!0,f=!1;return null===i?f=new TypeError("May not write null values to stream"):"string"==typeof i||void 0===i||r.objectMode||(f=new TypeError("Invalid non-string/buffer chunk")),f&&(e.emit("error",f),M(t,f),n=!1),n}function b(e,r,i){return e.objectMode||!1===e.decodeStrings||"string"!=typeof r||(r=C.from(r,i)),r}function w(e,r,i,t,n,f){if(!i){var a=b(r,t,n);t!==a&&(i=!0,n="buffer",t=a)}var o=r.objectMode?1:t.length;r.length+=o;var l=r.length-1?t:M;u.WritableState=s;var L=i(5);L.inherits=i(2);var P={deprecate:i(36)},I=i(19),C=i(11).Buffer,U=n.Uint8Array||function(){},B=i(18);L.inherits(u,I),s.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r},function(){try{Object.defineProperty(s.prototype,"buffer",{get:P.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var j;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(j=Function.prototype[Symbol.hasInstance],Object.defineProperty(u,Symbol.hasInstance,{value:function(e){return!!j.call(this,e)||e&&e._writableState instanceof s}})):j=function(e){return e instanceof this},u.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},u.prototype.write=function(e,r,i){var t=this._writableState,n=!1,f=o(e)&&!t.objectMode;return f&&!C.isBuffer(e)&&(e=a(e)),"function"==typeof r&&(i=r,r=null),f?r="buffer":r||(r=t.defaultEncoding),"function"!=typeof i&&(i=l),t.ended?h(this,i):(f||c(this,t,e,i))&&(t.pendingcb++,n=w(this,t,f,e,r,i)),n},u.prototype.cork=function(){this._writableState.corked++},u.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},u.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},u.prototype._write=function(e,r,i){i(new Error("_write() is not implemented"))},u.prototype._writev=null,u.prototype.end=function(e,r,i){var t=this._writableState;"function"==typeof e?(i=e,e=null,r=null):"function"==typeof r&&(i=r,r=null),null!==e&&void 0!==e&&this.write(e,r),t.corked&&(t.corked=1,this.uncork()),t.ending||t.finished||R(this,t,i)},Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),u.prototype.destroy=B.destroy,u.prototype._undestroy=B.undestroy,u.prototype._destroy=function(e,r){this.end(),r(e)}}).call(r,i(0),i(35).setImmediate,i(3))},function(e,r,i){r=e.exports=i(16),r.Stream=r,r.Readable=r,r.Writable=i(9),r.Duplex=i(1),r.Transform=i(17),r.PassThrough=i(29)},function(e,r,i){function t(e,r){for(var i in e)r[i]=e[i]}function n(e,r,i){return a(e,r,i)}var f=i(4),a=f.Buffer;a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=f:(t(f,r),r.Buffer=n),t(a,n),n.from=function(e,r,i){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,r,i)},n.alloc=function(e,r,i){if("number"!=typeof e)throw new TypeError("Argument must be a number");var t=a(e);return void 0!==r?"string"==typeof i?t.fill(r,i):t.fill(r):t.fill(0),t},n.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},n.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return f.SlowBuffer(e)}},function(e,r,i){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,f=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},a=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!i)return!1;var f;for(f in e);return void 0===f||t.call(e,f)};e.exports=function e(){var r,i,t,n,o,l,s=arguments[0],u=1,h=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),(null==s||"object"!=typeof s&&"function"!=typeof s)&&(s={});u=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,i),this.charReceived+=i,this.charReceived=55296&&t<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return r;break}this.charLength+=this.surrogateSize,r=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),r+=e.toString(this.encoding,0,n);var n=r.length-1,t=r.charCodeAt(n);if(t>=55296&&t<=56319){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),e.copy(this.charBuffer,0,0,f),r.substring(0,n)}return r},s.prototype.detectIncompleteChar=function(e){for(var r=e.length>=3?3:e.length;r>0;r--){var i=e[e.length-r];if(1==r&&i>>5==6){this.charLength=2;break}if(r<=2&&i>>4==14){this.charLength=3;break}if(r<=3&&i>>3==30){this.charLength=4;break}}this.charReceived=r},s.prototype.end=function(e){var r="";if(e&&e.length&&(r=this.write(e)),this.charReceived){var i=this.charReceived,t=this.charBuffer,n=this.encoding;r+=t.slice(0,i).toString(n)}return r}},function(e,r,i){"use strict";(function(r,t){function n(e){return j.from(e)}function f(e){return j.isBuffer(e)||e instanceof D}function a(e,r,i){if("function"==typeof e.prependListener)return e.prependListener(r,i);e._events&&e._events[r]?C(e._events[r])?e._events[r].unshift(i):e._events[r]=[i,e._events[r]]:e.on(r,i)}function o(e,r){I=I||i(1),e=e||{},this.objectMode=!!e.objectMode,r instanceof I&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var t=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=t||0===t?t:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new H,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(Y||(Y=i(15).StringDecoder),this.decoder=new Y(e.encoding),this.encoding=e.encoding)}function l(e){if(I=I||i(1),!(this instanceof l))return new l(e);this._readableState=new o(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),B.call(this)}function s(e,r,i,t,f){var a=e._readableState;if(null===r)a.reading=!1,k(e,a);else{var o;f||(o=h(a,r)),o?e.emit("error",o):a.objectMode||r&&r.length>0?("string"==typeof r||a.objectMode||Object.getPrototypeOf(r)===j.prototype||(r=n(r)),t?a.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):u(e,a,r,!0):a.ended?e.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!i?(r=a.decoder.write(r),a.objectMode||0!==r.length?u(e,a,r,!1):v(e,a)):u(e,a,r,!1))):t||(a.reading=!1)}return c(a)}function u(e,r,i,t){r.flowing&&0===r.length&&!r.sync?(e.emit("data",i),e.read(0)):(r.length+=r.objectMode?1:i.length,t?r.buffer.unshift(i):r.buffer.push(i),r.needReadable&&d(e)),v(e,r)}function h(e,r){var i;return f(r)||"string"==typeof r||void 0===r||e.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i}function c(e){return!e.ended&&(e.needReadable||e.length=Z?e=Z:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function w(e,r){return e<=0||0===r.length&&r.ended?0:r.objectMode?1:e!==e?r.flowing&&r.length?r.buffer.head.data.length:r.length:(e>r.highWaterMark&&(r.highWaterMark=b(e)),e<=r.length?e:r.ended?r.length:(r.needReadable=!0,0))}function k(e,r){if(!r.ended){if(r.decoder){var i=r.decoder.end();i&&i.length&&(r.buffer.push(i),r.length+=r.objectMode?1:i.length)}r.ended=!0,d(e)}}function d(e){var r=e._readableState;r.needReadable=!1,r.emittedReadable||(z("emitReadable",r.flowing),r.emittedReadable=!0,r.sync?P(p,e):p(e))}function p(e){z("emit readable"),e.emit("readable"),A(e)}function v(e,r){r.readingMore||(r.readingMore=!0,P(g,e,r))}function g(e,r){for(var i=r.length;!r.reading&&!r.flowing&&!r.ended&&r.length=r.length?(i=r.decoder?r.buffer.join(""):1===r.buffer.length?r.buffer.head.data:r.buffer.concat(r.length),r.buffer.clear()):i=R(e,r.buffer,r.decoder),i}function R(e,r,i){var t;return ef.length?f.length:e;if(a===f.length?n+=f:n+=f.slice(0,e),0===(e-=a)){a===f.length?(++t,i.next?r.head=i.next:r.head=r.tail=null):(r.head=i,i.data=f.slice(a));break}++t}return r.length-=t,n}function M(e,r){var i=j.allocUnsafe(e),t=r.head,n=1;for(t.data.copy(i),e-=t.data.length;t=t.next;){var f=t.data,a=e>f.length?f.length:e;if(f.copy(i,i.length-e,0,a),0===(e-=a)){a===f.length?(++n,t.next?r.head=t.next:r.head=r.tail=null):(r.head=t,t.data=f.slice(a));break}++n}return r.length-=n,i}function x(e){var r=e._readableState;if(r.length>0)throw new Error('"endReadable()" called on non-empty stream');r.endEmitted||(r.ended=!0,P(O,r,e))}function O(e,r){e.endEmitted||0!==e.length||(e.endEmitted=!0,r.readable=!1,r.emit("end"))}function L(e,r){for(var i=0,t=e.length;i=r.highWaterMark||r.ended))return z("read: emitReadable",r.length,r.ended),0===r.length&&r.ended?x(this):d(this),null;if(0===(e=w(e,r))&&r.ended)return 0===r.length&&x(this),null;var t=r.needReadable;z("need readable",t),(0===r.length||r.length-e0?S(e,r):null,null===n?(r.needReadable=!0,e=0):r.length-=e,0===r.length&&(r.ended||(r.needReadable=!0),i!==e&&r.ended&&x(this)),null!==n&&this.emit("data",n),n},l.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},l.prototype.pipe=function(e,r){function i(e,r){z("onunpipe"),e===c&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f())}function n(){z("onend"),e.end()}function f(){z("cleanup"),e.removeListener("close",s),e.removeListener("finish",u),e.removeListener("drain",d),e.removeListener("error",l),e.removeListener("unpipe",i),c.removeListener("end",n),c.removeListener("end",h),c.removeListener("data",o),p=!0,!b.awaitDrain||e._writableState&&!e._writableState.needDrain||d()}function o(r){z("ondata"),v=!1,!1!==e.write(r)||v||((1===b.pipesCount&&b.pipes===e||b.pipesCount>1&&-1!==L(b.pipes,e))&&!p&&(z("false write response, pause",c._readableState.awaitDrain),c._readableState.awaitDrain++,v=!0),c.pause())}function l(r){z("onerror",r),h(),e.removeListener("error",l),0===U(e,"error")&&e.emit("error",r)}function s(){e.removeListener("finish",u),h()}function u(){z("onfinish"),e.removeListener("close",s),h()}function h(){z("unpipe"),c.unpipe(e)}var c=this,b=this._readableState;switch(b.pipesCount){case 0:b.pipes=e;break;case 1:b.pipes=[b.pipes,e];break;default:b.pipes.push(e)}b.pipesCount+=1,z("pipe count=%d opts=%j",b.pipesCount,r);var w=(!r||!1!==r.end)&&e!==t.stdout&&e!==t.stderr,k=w?n:h;b.endEmitted?P(k):c.once("end",k),e.on("unpipe",i);var d=y(c);e.on("drain",d);var p=!1,v=!1;return c.on("data",o),a(e,"error",l),e.once("close",s),e.once("finish",u),e.emit("pipe",c),b.flowing||(z("pipe resume"),c.resume()),e},l.prototype.unpipe=function(e){var r=this._readableState,i={hasUnpiped:!1};if(0===r.pipesCount)return this;if(1===r.pipesCount)return e&&e!==r.pipes?this:(e||(e=r.pipes),r.pipes=null,r.pipesCount=0,r.flowing=!1,e&&e.emit("unpipe",this,i),this);if(!e){var t=r.pipes,n=r.pipesCount;r.pipes=null,r.pipesCount=0,r.flowing=!1;for(var f=0;f=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),k(i)?t.showHidden=i:i&&r._extend(t,i),_(t.showHidden)&&(t.showHidden=!1),_(t.depth)&&(t.depth=2),_(t.colors)&&(t.colors=!1),_(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=f),l(t,e,t.depth)}function f(e,r){var i=n.styles[r];return i?"["+n.colors[i][0]+"m"+e+"["+n.colors[i][1]+"m":e}function a(e,r){return e}function o(e){var r={};return e.forEach(function(e,i){r[e]=!0}),r}function l(e,i,t){if(e.customInspect&&i&&R(i.inspect)&&i.inspect!==r.inspect&&(!i.constructor||i.constructor.prototype!==i)){var n=i.inspect(t,e);return g(n)||(n=l(e,n,t)),n}var f=s(e,i);if(f)return f;var a=Object.keys(i),k=o(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(i)),S(i)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return u(i);if(0===a.length){if(R(i)){var d=i.name?": "+i.name:"";return e.stylize("[Function"+d+"]","special")}if(m(i))return e.stylize(RegExp.prototype.toString.call(i),"regexp");if(A(i))return e.stylize(Date.prototype.toString.call(i),"date");if(S(i))return u(i)}var p="",v=!1,y=["{","}"];if(w(i)&&(v=!0,y=["[","]"]),R(i)){p=" [Function"+(i.name?": "+i.name:"")+"]"}if(m(i)&&(p=" "+RegExp.prototype.toString.call(i)),A(i)&&(p=" "+Date.prototype.toUTCString.call(i)),S(i)&&(p=" "+u(i)),0===a.length&&(!v||0==i.length))return y[0]+p+y[1];if(t<0)return m(i)?e.stylize(RegExp.prototype.toString.call(i),"regexp"):e.stylize("[Object]","special");e.seen.push(i);var _;return _=v?h(e,i,t,k,a):a.map(function(r){return c(e,i,t,k,r,v)}),e.seen.pop(),b(_,p,y)}function s(e,r){if(_(r))return e.stylize("undefined","undefined");if(g(r)){var i="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(i,"string")}return v(r)?e.stylize(""+r,"number"):k(r)?e.stylize(""+r,"boolean"):d(r)?e.stylize("null","null"):void 0}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,r,i,t,n){for(var f=[],a=0,o=r.length;a-1&&(o=f?o.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+o.split("\n").map(function(e){return" "+e}).join("\n"))):o=e.stylize("[Circular]","special")),_(a)){if(f&&n.match(/^\d+$/))return o;a=JSON.stringify(""+n),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function b(e,r,i){var t=0;return e.reduce(function(e,r){return t++,r.indexOf("\n")>=0&&t++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?i[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+i[1]:i[0]+r+" "+e.join(", ")+" "+i[1]}function w(e){return Array.isArray(e)}function k(e){return"boolean"==typeof e}function d(e){return null===e}function p(e){return null==e}function v(e){return"number"==typeof e}function g(e){return"string"==typeof e}function y(e){return"symbol"==typeof e}function _(e){return void 0===e}function m(e){return E(e)&&"[object RegExp]"===M(e)}function E(e){return"object"==typeof e&&null!==e}function A(e){return E(e)&&"[object Date]"===M(e)}function S(e){return E(e)&&("[object Error]"===M(e)||e instanceof Error)}function R(e){return"function"==typeof e}function T(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function M(e){return Object.prototype.toString.call(e)}function x(e){return e<10?"0"+e.toString(10):e.toString(10)}function O(){var e=new Date,r=[x(e.getHours()),x(e.getMinutes()),x(e.getSeconds())].join(":");return[e.getDate(),U[e.getMonth()],r].join(" ")}function L(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var P=/%[sdj%]/g;r.format=function(e){if(!g(e)){for(var r=[],i=0;i=f)return e;switch(e){case"%s":return String(t[i++]);case"%d":return Number(t[i++]);case"%j":try{return JSON.stringify(t[i++])}catch(e){return"[Circular]"}default:return e}}),o=t[i];i0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[r-2]?2:"="===e[r-1]?1:0}function n(e){return 3*e.length/4-t(e)}function f(e){var r,i,n,f,a,o=e.length;f=t(e),a=new h(3*o/4-f),i=f>0?o-4:o;var l=0;for(r=0;r>16&255,a[l++]=n>>8&255,a[l++]=255&n;return 2===f?(n=u[e.charCodeAt(r)]<<2|u[e.charCodeAt(r+1)]>>4,a[l++]=255&n):1===f&&(n=u[e.charCodeAt(r)]<<10|u[e.charCodeAt(r+1)]<<4|u[e.charCodeAt(r+2)]>>2,a[l++]=n>>8&255,a[l++]=255&n),a}function a(e){return s[e>>18&63]+s[e>>12&63]+s[e>>6&63]+s[63&e]}function o(e,r,i){for(var t,n=[],f=r;fl?l:a+16383));return 1===t?(r=e[i-1],n+=s[r>>2],n+=s[r<<4&63],n+="=="):2===t&&(r=(e[i-2]<<8)+e[i-1],n+=s[r>>10],n+=s[r>>4&63],n+=s[r<<2&63],n+="="),f.push(n),f.join("")}r.byteLength=n,r.toByteArray=f,r.fromByteArray=l;for(var s=[],u=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b=0,w=c.length;b>1,u=-7,h=i?n-1:0,c=i?-1:1,b=e[r+h];for(h+=c,f=b&(1<<-u)-1,b>>=-u,u+=o;u>0;f=256*f+e[r+h],h+=c,u-=8);for(a=f&(1<<-u)-1,f>>=-u,u+=t;u>0;a=256*a+e[r+h],h+=c,u-=8);if(0===f)f=1-s;else{if(f===l)return a?NaN:1/0*(b?-1:1);a+=Math.pow(2,t),f-=s}return(b?-1:1)*a*Math.pow(2,f-t)},r.write=function(e,r,i,t,n,f){var a,o,l,s=8*f-n-1,u=(1<>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,b=t?0:f-1,w=t?1:-1,k=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(o=isNaN(r)?1:0,a=u):(a=Math.floor(Math.log(r)/Math.LN2),r*(l=Math.pow(2,-a))<1&&(a--,l*=2),r+=a+h>=1?c/l:c*Math.pow(2,1-h),r*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(r*l-1)*Math.pow(2,n),a+=h):(o=r*Math.pow(2,h-1)*Math.pow(2,n),a=0));n>=8;e[i+b]=255&o,b+=w,o/=256,n-=8);for(a=a<0;e[i+b]=255&a,b+=w,a/=256,s-=8);e[i+b-w]|=128*k}},function(e,r,i){(function(r){function t(e){if(!(this instanceof t))return new t(e);if(e=l({rate:48e3,channels:1,unsafe:!1},e),e.channels<1||e.channels>2)throw u("channels must be either 1 or 2");if(-1==[8e3,12e3,16e3,24e3,48e3].indexOf(e.rate))throw u("rate can only be 8k, 12k, 16k, 24k or 48k");this._rate=e.rate,this._channels=e.channels,this._unsafe=e.unsafe;var r=f._opus_decoder_get_size(this._channels),i=f._malloc(r),n=f._opus_decoder_init(i,this._rate,this._channels);if(0!==n)throw f._free(i),u(a.stringifyError(n));this._unsafe?this._state=i:(this._state=f.HEAPU8.slice(i,i+r),f._free(i))}function n(e,r){if(s.call(this,{}),"Float32"==r)this._decode=e.decodeFloat32.bind(e);else{if("Int16"!=r)throw new TypeError("mode cannot be "+r);this._decode=e.decodeInt16.bind(e)}}var f=i(6).instance,a=i(14),o=i(21),l=i(12),s=i(20).Transform,u=function(e){return new Error(e)},h=a.p_pcm,c=a.p_data;t.prototype._withState=function(e){if(this._unsafe)return e(this._state);var r=f._malloc(this._state.length);f.HEAPU8.set(this._state,r);try{return e(r)}finally{this._state.set(f.HEAPU8.subarray(r,r+this._state.length)),f._free(r)}},t.prototype.destroy=function(){this._unsafe&&f._free(this._state)},t.prototype.decodeInt16=function(e){return new Int16Array(this._decode(e,2,f._opus_decode))},t.prototype.decodeFloat32=function(e){return new Float32Array(this._decode(e,4,f._opus_decode_float))},t.prototype._decode=function(e,r,i){var t=this;return this._withState(function(n){e=e||t._getLastPacketDuration(n);var o;if("number"==typeof e){if(e*r>a.p_data_len)throw u("too much lost data");o=i(n,0,0,h,e,0)}else{if(!e)throw new TypeError("data must be number, Buffer or null");if(e.length>a.p_data_len)throw u("data array too large");f.HEAPU8.set(e,c);var l=a.p_pcm_len/t._channels/r;o=i(n,c,e.length,h,l,0)}if(o<0)throw u(a.stringifyError(o));return f.HEAPU8.slice(h,h+o*r).buffer})},t.prototype.getLastPacketDuration=function(){return this._withState(this._getLastPacketDuration.bind(this))},t.prototype._getLastPacketDuration=function(e){var r=f._malloc(4),i=f._malloc(4);try{f.HEAPU32[i>>2]=r;var t=f._opus_decoder_ctl(e,4039,i);if(t)throw u(a.stringifyError(t));return f.HEAP32[r>>2]}finally{f._free(i),f._free(r)}},t.prototype.stream=function(e){return new n(this,e)},o.inherits(n,s),n.prototype._transform=function(e,i,t){var n;try{var f=this._decode(e);n=r.from(f.buffer,f.byteOffset,f.byteLength)}catch(e){return t(e)}t(null,n)},t.getNumberOfSamples=function(e,i){if(!(e instanceof r))throw new TypeError("data must be a Buffer");if(e.length>a.p_data_len)throw u("data array too large");f.HEAPU8.set(e,c);var t=f._opus_packet_get_nb_samples(c,e.length,i);if(t<0)throw u(a.stringifyError(t));return t},e.exports=t}).call(r,i(4).Buffer)},function(e,r,i){(function(r){function t(e){if(!(this instanceof t))return new t(e);if(e=l({rate:48e3,channels:1,application:u.AUDIO,unsafe:!1},e),e.channels<1||e.channels>2)throw"channels must be either 1 or 2";if(-1==[8e3,12e3,16e3,24e3,48e3].indexOf(e.rate))throw"rate can only be 8k, 12k, 16k, 24k or 48k";if(e.application!==u.VOIP&&e.application!==u.AUDIO&&e.application!==u.RESTRICTED_LOWDELAY)throw"invalid application type";this._rate=e.rate,this._channels=e.channels,this._application=e.application,this._unsafe=e.unsafe;var r=f._opus_encoder_get_size(this._channels),i=f._malloc(r),n=f._opus_encoder_init(i,this._rate,this._channels,this._application);if(0!==n)throw f._free(i),a.stringifyError(n);this._unsafe?this._state=i:(this._state=f.HEAPU8.slice(i,i+r),f._free(i))}function n(e,r){if(s.call(this,{}),this._encoder=e,"Float32"==r)this._mode=Float32Array;else{if("Int16"!=r)throw new TypeError("mode cannot be "+r);this._mode=Int16Array}}var f=i(6).instance,a=i(14),o=i(21),l=i(12),s=i(20).Transform,u={VOIP:2048,AUDIO:2049,RESTRICTED_LOWDELAY:2051},h=a.p_pcm,c=a.p_data;t.prototype._withState=function(e){if(this._unsafe)return e(this._state);var r=f._malloc(this._state.length);f.HEAPU8.set(this._state,r);try{return e(r)}finally{this._state.set(f.HEAPU8.subarray(r,r+this._state.length)),f._free(r)}},t.prototype.destroy=function(){this._unsafe&&f._free(this._state)},t.prototype.encode=function(e){var i=e.length/this._channels;return this._withState(function(t){var n;if(e instanceof Float32Array){if(4*e.length>a.p_pcm_len)throw new Error("pcm array too large");f.HEAPF32.set(e,h>>2),n=f._opus_encode_float.bind(f)}else{if(!(e instanceof Int16Array))throw new TypeError("pcm must be Int16Array or Float32Array");if(2*e.length>a.p_pcm_len)throw new Error("pcm array too large");f.HEAP16.set(e,h>>1),n=f._opus_encode.bind(f)}var o=n(t,h,i,c,a.p_data_len);if(o<0)throw new Error(a.stringifyError(o));return r.from(f.HEAPU8.subarray(c,c+o))})},t.prototype.stream=function(e){return new n(this,e)},o.inherits(n,s),n.prototype._transform=function(e,r,i){e=new this._mode(e.buffer,e.byteOffset,e.byteLength/this._mode.BYTES_PER_ELEMENT);var t;try{t=this._encoder.encode(e)}catch(e){return i(e)}i(null,t)},t.Application=u,e.exports=t}).call(r,i(4).Buffer)},function(e,r,i){(function(e){function i(e,r){for(var i=0,t=e.length-1;t>=0;t--){var n=e[t];"."===n?e.splice(t,1):".."===n?(e.splice(t,1),i++):i&&(e.splice(t,1),i--)}if(r)for(;i--;i)e.unshift("..");return e}function t(e,r){if(e.filter)return e.filter(r);for(var i=[],t=0;t=-1&&!n;f--){var a=f>=0?arguments[f]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,n="/"===a.charAt(0))}return r=i(t(r.split("/"),function(e){return!!e}),!n).join("/"),(n?"/":"")+r||"."},r.normalize=function(e){var n=r.isAbsolute(e),f="/"===a(e,-1);return e=i(t(e.split("/"),function(e){return!!e}),!n).join("/"),e||n||(e="."),e&&f&&(e+="/"),(n?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(t(e,function(e,r){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,i){function t(e){for(var r=0;r=0&&""===e[i];i--);return r>i?[]:e.slice(r,i-r+1)}e=r.resolve(e).substr(1),i=r.resolve(i).substr(1);for(var n=t(e.split("/")),f=t(i.split("/")),a=Math.min(n.length,f.length),o=a,l=0;l0?this.tail.next=r:this.head=r,this.tail=r,++this.length},e.prototype.unshift=function(e){var r={data:e,next:this.head};0===this.length&&(this.tail=r),this.head=r,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var r=this.head,i=""+r.data;r=r.next;)i+=e+r.data;return i},e.prototype.concat=function(e){if(0===this.length)return f.alloc(0);if(1===this.length)return this.head.data;for(var r=f.allocUnsafe(e>>>0),i=this.head,t=0;i;)n(i.data,r,t),t+=i.data.length,i=i.next;return r},e}()},function(e,r,i){e.exports=i(10).PassThrough},function(e,r,i){e.exports=i(10).Transform},function(e,r,i){e.exports=i(9)},function(e,r,i){(function(e,r){!function(e,i){"use strict";function t(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),i=0;i=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},r))},i(34),r.setImmediate=setImmediate,r.clearImmediate=clearImmediate},function(e,r,i){(function(r){function i(e,r){function i(){if(!n){if(t("throwDeprecation"))throw new Error(r);t("traceDeprecation")?console.trace(r):console.warn(r),n=!0}return e.apply(this,arguments)}if(t("noDeprecation"))return e;var n=!1;return i}function t(e){try{if(!r.localStorage)return!1}catch(e){return!1}var i=r.localStorage[e];return null!=i&&"true"===String(i).toLowerCase()}e.exports=i}).call(r,i(3))},function(e,r){"function"==typeof Object.create?e.exports=function(e,r){e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}},function(e,r){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,r,i){var t,n=i(22).Decoder;self.addEventListener("message",function(e){switch(e.data.type){case"init":t=new n({rate:e.data.config.rate,channels:e.data.config.channels});break;case"decode":var r=t.decodeFloat32(e.data.buffer);self.postMessage({buffer:r,pt:e.data.pt});break;case"destroy":t.destroy()}})},function(e,r){}])}); \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..d1bfc94 --- /dev/null +++ b/package.json @@ -0,0 +1,39 @@ +{ + "name": "ring-live-player", + "version": "0.1.0", + "description": "ringID channel and liver player based on MSE", + "main": "dist/player.min.js", + "scripts": { + "build": "rollup -c", + "dev": "rollup -c --watch", + "prod": "NODE_ENV=production rollup -c", + "reload": "livereload 'dist/'", + "watch": "npm-run-all --parallel reload dev", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git@gitlab.ipvisionsoft.com:ipvision-web/liveplayer.git" + }, + "author": "ringID web", + "devDependencies": { + "babel-plugin-external-helpers": "^6.22.0", + "babel-preset-es2015": "^6.24.1", + "emitter": "0.0.5", + "livereload": "^0.6.0", + "npm-run-all": "^3.1.2", + "path": "^0.12.7", + "rollup": "^0.39.0", + "rollup-plugin-babel": "^2.7.1", + "rollup-plugin-commonjs": "^7.1.0", + "rollup-plugin-eslint": "^3.0.0", + "rollup-plugin-node-resolve": "^2.1.1", + "rollup-plugin-replace": "^1.1.1", + "rollup-plugin-uglify": "^1.0.1", + "rollup-watch": "^3.0.0", + "stream": "0.0.2" + }, + "dependencies": { + "libopus.js": "0.0.1" + } +} diff --git a/pcm-player.js b/pcm-player.js new file mode 100644 index 0000000..eb38768 --- /dev/null +++ b/pcm-player.js @@ -0,0 +1,57 @@ +class PCMPlayer { + + constructor() { + this.audioStartTime = 0; + this.samples = []; + this.sampleRate = 8000; + this.channels = 1; + this.flushingTime = 200; + this.createContext(); + this.startFlushing(); + this.flush = this.flush.bind(this); + this.interval = setInterval(this.flush, this.flushingTime); + } + createContext() { + this.audioCtx = new (window.AudioContext || window.webkitAudioContext)(); + this.gainNode = this.audioCtx.createGain(); + this.gainNode.gain.value = 1; + this.gainNode.connect(this.audioCtx.destination); + } + + stopFlushing() { + if (this.interval) { + clearInterval(this.interval); + } + } + + feed(data) { + let tmp = new Float32Array(this.samples.length + data.length); + tmp.set(this.samples, 0); + tmp.set(data, this.samples.length); + this.samples = tmp; + } + + flush() { + let bufferSource = this.audioCtx.createBufferSource(), + length = this.samples.length, + audioBuffer = this.audioCtx.createBuffer(this.channels, length, this.sampleRate), + audioData, + channel, + offset, + i; + + for (channel = 0; channel < this.channels; channel++) { + audioData = audioBuffer.getChannelData(channel); + offset = channel; + for (i = 0; i < length; i++) { + audioData[i] = this.samples[offset]; + offset += this.channels; + } + } + + bufferSource.buffer = audioBuffer; + bufferSource.connect(this.gainNode); + bufferSource.start(); + this.samples = []; + } +} \ No newline at end of file diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..7506cd4 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,31 @@ +/* global process */ + +// Rollup plugins +import babel from 'rollup-plugin-babel'; +import eslint from 'rollup-plugin-eslint'; +import replace from 'rollup-plugin-replace'; +import uglify from 'rollup-plugin-uglify'; + + +export default { + entry: 'src/player.js', + dest: 'dist/player.min.js', + format: 'iife', + moduleName: 'RingPlayer', + sourceMap: false, //inline + plugins: [ + eslint({ + exclude: [ + 'src/styles/**', + ] + }), + babel({ + exclude: 'node_modules/**', + }), + replace({ + exclude: 'node_modules/**', + ENV: JSON.stringify(process.env.NODE_ENV || 'development'), + }), + (process.env.NODE_ENV === 'production' && uglify()), + ], +}; \ No newline at end of file diff --git a/src/libopus/opus.min.js b/src/libopus/opus.min.js new file mode 100644 index 0000000..7478d83 --- /dev/null +++ b/src/libopus/opus.min.js @@ -0,0 +1,7 @@ +!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var i=r();for(var t in i)("object"==typeof exports?exports:e)[t]=i[t]}}(this,function(){return function(e){function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var i={};return r.m=e,r.c=i,r.i=function(e){return e},r.d=function(e,i,t){r.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:t})},r.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(i,"a",i),i},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="",r(r.s=39)}([function(e,r){function i(){throw new Error("setTimeout has not been defined")}function t(){throw new Error("clearTimeout has not been defined")}function n(e){if(u===setTimeout)return setTimeout(e,0);if((u===i||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(r){try{return u.call(null,e,0)}catch(r){return u.call(this,e,0)}}}function f(e){if(h===clearTimeout)return clearTimeout(e);if((h===t||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(e);try{return h(e)}catch(r){try{return h.call(null,e)}catch(r){return h.call(this,e)}}}function a(){k&&b&&(k=!1,b.length?w=b.concat(w):d=-1,w.length&&o())}function o(){if(!k){var e=n(a);k=!0;for(var r=w.length;r;){for(b=w,w=[];++d1)for(var i=1;i=t())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+t().toString(16)+" bytes");return 0|e}function k(e){return+e!=e&&(e=0),f.alloc(+e)}function d(e,r){if(f.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var i=e.length;if(0===i)return 0;for(var t=!1;;)switch(r){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return V(e).length;default:if(t)return q(e).length;r=(""+r).toLowerCase(),t=!0}}function p(e,r,i){var t=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,r>>>=0,i<=r)return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,r,i);case"utf8":case"utf-8":return M(this,r,i);case"ascii":return O(this,r,i);case"latin1":case"binary":return L(this,r,i);case"base64":return T(this,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,r,i);default:if(t)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),t=!0}}function v(e,r,i){var t=e[r];e[r]=e[i],e[i]=t}function g(e,r,i,t,n){if(0===e.length)return-1;if("string"==typeof i?(t=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=n?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(n)return-1;i=e.length-1}else if(i<0){if(!n)return-1;i=0}if("string"==typeof r&&(r=f.from(r,t)),f.isBuffer(r))return 0===r.length?-1:y(e,r,i,t,n);if("number"==typeof r)return r&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,r,i):Uint8Array.prototype.lastIndexOf.call(e,r,i):y(e,[r],i,t,n);throw new TypeError("val must be string, number or Buffer")}function y(e,r,i,t,n){function f(e,r){return 1===a?e[r]:e.readUInt16BE(r*a)}var a=1,o=e.length,l=r.length;if(void 0!==t&&("ucs2"===(t=String(t).toLowerCase())||"ucs-2"===t||"utf16le"===t||"utf-16le"===t)){if(e.length<2||r.length<2)return-1;a=2,o/=2,l/=2,i/=2}var s;if(n){var u=-1;for(s=i;so&&(i=o-l),s=i;s>=0;s--){for(var h=!0,c=0;cn&&(t=n):t=n;var f=r.length;if(f%2!=0)throw new TypeError("Invalid hex string");t>f/2&&(t=f/2);for(var a=0;a239?4:f>223?3:f>191?2:1;if(n+o<=i){var l,s,u,h;switch(o){case 1:f<128&&(a=f);break;case 2:l=e[n+1],128==(192&l)&&(h=(31&f)<<6|63&l)>127&&(a=h);break;case 3:l=e[n+1],s=e[n+2],128==(192&l)&&128==(192&s)&&(h=(15&f)<<12|(63&l)<<6|63&s)>2047&&(h<55296||h>57343)&&(a=h);break;case 4:l=e[n+1],s=e[n+2],u=e[n+3],128==(192&l)&&128==(192&s)&&128==(192&u)&&(h=(15&f)<<18|(63&l)<<12|(63&s)<<6|63&u)>65535&&h<1114112&&(a=h)}}null===a?(a=65533,o=1):a>65535&&(a-=65536,t.push(a>>>10&1023|55296),a=56320|1023&a),t.push(a),n+=o}return x(t)}function x(e){var r=e.length;if(r<=Q)return String.fromCharCode.apply(String,e);for(var i="",t=0;tt)&&(i=t);for(var n="",f=r;fi)throw new RangeError("Trying to access beyond buffer length")}function U(e,r,i,t,n,a){if(!f.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>n||re.length)throw new RangeError("Index out of range")}function B(e,r,i,t){r<0&&(r=65535+r+1);for(var n=0,f=Math.min(e.length-i,2);n>>8*(t?n:1-n)}function j(e,r,i,t){r<0&&(r=4294967295+r+1);for(var n=0,f=Math.min(e.length-i,4);n>>8*(t?n:3-n)&255}function D(e,r,i,t,n,f){if(i+t>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function N(e,r,i,t,n){return n||D(e,r,i,4,3.4028234663852886e38,-3.4028234663852886e38),X.write(e,r,i,t,23,4),i+4}function F(e,r,i,t,n){return n||D(e,r,i,8,1.7976931348623157e308,-1.7976931348623157e308),X.write(e,r,i,t,52,8),i+8}function z(e){if(e=Y(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function Y(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function H(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,r){r=r||1/0;for(var i,t=e.length,n=null,f=[],a=0;a55295&&i<57344){if(!n){if(i>56319){(r-=3)>-1&&f.push(239,191,189);continue}if(a+1===t){(r-=3)>-1&&f.push(239,191,189);continue}n=i;continue}if(i<56320){(r-=3)>-1&&f.push(239,191,189),n=i;continue}i=65536+(n-55296<<10|i-56320)}else n&&(r-=3)>-1&&f.push(239,191,189);if(n=null,i<128){if((r-=1)<0)break;f.push(i)}else if(i<2048){if((r-=2)<0)break;f.push(i>>6|192,63&i|128)}else if(i<65536){if((r-=3)<0)break;f.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;f.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return f}function W(e){for(var r=[],i=0;i>8,n=i%256,f.push(n),f.push(t);return f}function V(e){return K.toByteArray(z(e))}function J(e,r,i,t){for(var n=0;n=r.length||n>=e.length);++n)r[n+i]=e[n];return n}function G(e){return e!==e}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var K=i(23),X=i(24),$=i(13);r.Buffer=f,r.SlowBuffer=k,r.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),r.kMaxLength=t(),f.poolSize=8192,f._augment=function(e){return e.__proto__=f.prototype,e},f.from=function(e,r,i){return a(null,e,r,i)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(e,r,i){return l(null,e,r,i)},f.allocUnsafe=function(e){return s(null,e)},f.allocUnsafeSlow=function(e){return s(null,e)},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.compare=function(e,r){if(!f.isBuffer(e)||!f.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var i=e.length,t=r.length,n=0,a=Math.min(i,t);n0&&(e=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(e+=" ... ")),""},f.prototype.compare=function(e,r,i,t,n){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===i&&(i=e?e.length:0),void 0===t&&(t=0),void 0===n&&(n=this.length),r<0||i>e.length||t<0||n>this.length)throw new RangeError("out of range index");if(t>=n&&r>=i)return 0;if(t>=n)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,t>>>=0,n>>>=0,this===e)return 0;for(var a=n-t,o=i-r,l=Math.min(a,o),s=this.slice(t,n),u=e.slice(r,i),h=0;hn)&&(i=n),e.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");t||(t="utf8");for(var f=!1;;)switch(t){case"hex":return _(this,e,r,i);case"utf8":case"utf-8":return m(this,e,r,i);case"ascii":return E(this,e,r,i);case"latin1":case"binary":return A(this,e,r,i);case"base64":return S(this,e,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r,i);default:if(f)throw new TypeError("Unknown encoding: "+t);t=(""+t).toLowerCase(),f=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;f.prototype.slice=function(e,r){var i=this.length;e=~~e,r=void 0===r?i:~~r,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),r<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(n*=256);)t+=this[e+--r]*n;return t},f.prototype.readUInt8=function(e,r){return r||C(e,1,this.length),this[e]},f.prototype.readUInt16LE=function(e,r){return r||C(e,2,this.length),this[e]|this[e+1]<<8},f.prototype.readUInt16BE=function(e,r){return r||C(e,2,this.length),this[e]<<8|this[e+1]},f.prototype.readUInt32LE=function(e,r){return r||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},f.prototype.readUInt32BE=function(e,r){return r||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},f.prototype.readIntLE=function(e,r,i){e|=0,r|=0,i||C(e,r,this.length);for(var t=this[e],n=1,f=0;++f=n&&(t-=Math.pow(2,8*r)),t},f.prototype.readIntBE=function(e,r,i){e|=0,r|=0,i||C(e,r,this.length);for(var t=r,n=1,f=this[e+--t];t>0&&(n*=256);)f+=this[e+--t]*n;return n*=128,f>=n&&(f-=Math.pow(2,8*r)),f},f.prototype.readInt8=function(e,r){return r||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,r){r||C(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},f.prototype.readInt16BE=function(e,r){r||C(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},f.prototype.readInt32LE=function(e,r){return r||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},f.prototype.readInt32BE=function(e,r){return r||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},f.prototype.readFloatLE=function(e,r){return r||C(e,4,this.length),X.read(this,e,!0,23,4)},f.prototype.readFloatBE=function(e,r){return r||C(e,4,this.length),X.read(this,e,!1,23,4)},f.prototype.readDoubleLE=function(e,r){return r||C(e,8,this.length),X.read(this,e,!0,52,8)},f.prototype.readDoubleBE=function(e,r){return r||C(e,8,this.length),X.read(this,e,!1,52,8)},f.prototype.writeUIntLE=function(e,r,i,t){if(e=+e,r|=0,i|=0,!t){U(this,e,r,i,Math.pow(2,8*i)-1,0)}var n=1,f=0;for(this[r]=255&e;++f=0&&(f*=256);)this[r+n]=e/f&255;return r+i},f.prototype.writeUInt8=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,1,255,0),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},f.prototype.writeUInt16LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},f.prototype.writeUInt16BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},f.prototype.writeUInt32LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):j(this,e,r,!0),r+4},f.prototype.writeUInt32BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):j(this,e,r,!1),r+4},f.prototype.writeIntLE=function(e,r,i,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*i-1);U(this,e,r,i,n-1,-n)}var f=0,a=1,o=0;for(this[r]=255&e;++f>0)-o&255;return r+i},f.prototype.writeIntBE=function(e,r,i,t){if(e=+e,r|=0,!t){var n=Math.pow(2,8*i-1);U(this,e,r,i,n-1,-n)}var f=i-1,a=1,o=0;for(this[r+f]=255&e;--f>=0&&(a*=256);)e<0&&0===o&&0!==this[r+f+1]&&(o=1),this[r+f]=(e/a>>0)-o&255;return r+i},f.prototype.writeInt8=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,1,127,-128),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},f.prototype.writeInt16LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):B(this,e,r,!0),r+2},f.prototype.writeInt16BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):B(this,e,r,!1),r+2},f.prototype.writeInt32LE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):j(this,e,r,!0),r+4},f.prototype.writeInt32BE=function(e,r,i){return e=+e,r|=0,i||U(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),f.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):j(this,e,r,!1),r+4},f.prototype.writeFloatLE=function(e,r,i){return N(this,e,r,!0,i)},f.prototype.writeFloatBE=function(e,r,i){return N(this,e,r,!1,i)},f.prototype.writeDoubleLE=function(e,r,i){return F(this,e,r,!0,i)},f.prototype.writeDoubleBE=function(e,r,i){return F(this,e,r,!1,i)},f.prototype.copy=function(e,r,i,t){if(i||(i=0),t||0===t||(t=this.length),r>=e.length&&(r=e.length),r||(r=0),t>0&&t=this.length)throw new RangeError("sourceStart out of bounds");if(t<0)throw new RangeError("sourceEnd out of bounds");t>this.length&&(t=this.length),e.length-r=0;--n)e[n+r]=this[n+i];else if(a<1e3||!f.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,i=void 0===i?this.length:i>>>0,e||(e=0);var a;if("number"==typeof e)for(a=r;a>0]=r;break;case"i16":L[e>>1]=r;break;case"i32":M[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,1<=+ha(tempDouble)?0>>0:~~+ka((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M[e>>2]=tempI64[0],M[e+4>>2]=tempI64[1];break;case"float":N[e>>2]=r;break;case"double":la[e>>3]=r;break;default:G("invalid type for setValue: "+i)}}function ma(e,r){switch(r=r||"i8","*"===r.charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return J[e>>0];case"i16":return L[e>>1];case"i32":case"i64":return M[e>>2];case"float":return N[e>>2];case"double":return la[e>>3];default:G("invalid type for setValue: "+r)}return null}function O(e,r,i,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a="string"==typeof r?r:null;if(i=4==i?t:["function"==typeof Q?Q:y.o,y.f,y.o,y.b][void 0===i?2:i](Math.max(f,a?1:r.length)),n){for(t=i,assert(0==(3&i)),e=i+(-4&f);t>2]=0;for(e=i+f;t>0]=0;return i}if("i8"===a)return e.subarray||e.slice?R.set(e,i):R.set(new Uint8Array(e),i),i;t=0;for(var o,l;t>0],t|=i,0!=i||r)&&(n++,!r||n!=r););if(r||(r=n),i="",128>t){for(;0i?l+=String.fromCharCode(i):(i-=65536,l+=String.fromCharCode(55296|i>>10,56320|1023&i)))):l+=String.fromCharCode(i)}}function ra(e,r,i,t){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f)),127>=a){if(i>=t)break;r[i++]=a}else{if(2047>=a){if(i+1>=t)break;r[i++]=192|a>>6}else{if(65535>=a){if(i+2>=t)break;r[i++]=224|a>>12}else{if(2097151>=a){if(i+3>=t)break;r[i++]=240|a>>18}else{if(67108863>=a){if(i+4>=t)break;r[i++]=248|a>>24}else{if(i+5>=t)break;r[i++]=252|a>>30,r[i++]=128|a>>24&63}r[i++]=128|a>>18&63}r[i++]=128|a>>12&63}r[i++]=128|a>>6&63}r[i++]=128|63&a}}return r[i]=0,i-n}function sa(e){for(var r=0,i=0;i=t&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++i)),127>=t?++r:r=2047>=t?r+2:65535>=t?r+3:2097151>=t?r+4:67108863>=t?r+5:r+6}return r}function ta(){return ua().replace(/__Z[\w\d_]+/g,function(e){var r;e:{if(b.___cxa_demangle)try{var i=Q(e.length);fa(e.substr(1),i);var t=Q(4),n=b.___cxa_demangle(i,0,0,t);if(0===ma(t,"i32")&&n){r=I(n);break e}}catch(i){r=e;break e}finally{i&&va(i),t&&va(t),n&&va(n)}y.d("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),r=e}return e===r?e:e+" ["+r+"]"})}function ua(){var e=Error();if(!e.stack){try{throw Error(0)}catch(r){e=r}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function wa(){var e=E;return 0>0]=e[i],i+=1}function ea(e,r){for(var i=0;i>0]=e[i]}function pa(e,r,i){for(var t=0;t>0]=e.charCodeAt(t);i||(J[r>>0]=0)}function Oa(e){return b.___errno_location&&(M[b.___errno_location()>>2]=e),e}function S(e){S.a||(E=wa(),S.a=!0,assert(y.b),S.u=y.b,y.b=function(){G("cannot dynamically allocate, sbrk now has control")});var r=E;return 0==e||S.u(e)?r:4294967295}function Y(){return Y.a||(Y.a=[]),Y.a.push(y.g()),Y.a.length-1}function w(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Ya(e){function r(){if(!b.calledRun&&(b.calledRun=!0,!H)){if(T||(T=!0,V(Ea)),V(Fa),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b._main&&$a&&b.callMain(e),b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;)Ja(b.postRun.shift());V(Ha)}}if(e=e||b.arguments,null===Wa&&(Wa=Date.now()),!(0 0) var gc = undefined");else{if(!p&&!q)throw"Unknown runtime environment. Where are we?";b.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},b.readAsync=function(e,r,i){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?r(t.response):i()},t.onerror=i,t.send(null)},void 0!==arguments&&(b.arguments=arguments),"undefined"!=typeof console?(b.print||(b.print=function(e){console.log(e)}),b.printErr||(b.printErr=function(e){console.warn(e)})):b.print||(b.print=function(){}),q&&(b.load=importScripts),void 0===b.setWindowTitle&&(b.setWindowTitle=function(e){document.title=e})}!b.load&&b.read&&(b.load=function(e){aa(b.read(e))}),b.print||(b.print=function(){}),b.printErr||(b.printErr=b.print),b.arguments||(b.arguments=[]),b.thisProgram||(b.thisProgram="./this.program"),b.print=b.print,b.m=b.printErr,b.preRun=[],b.postRun=[];for(l in f)f.hasOwnProperty(l)&&(b[l]=f[l]);var f=void 0,y={B:function(e){tempRet0=e},w:function(){return tempRet0},g:function(){return x},c:function(e){x=e},q:function(e){switch(e){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"*"===e[e.length-1]?y.i:"i"===e[0]?(e=parseInt(e.substr(1)),assert(0==e%8),e/8):0}},v:function(e){return Math.max(y.q(e),y.i)},C:16,Q:function(e,r){return"double"===r||"i64"===r?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},K:function(e,r,i){return i||"i64"!=e&&"double"!=e?e?Math.min(r||(e?y.v(e):0),y.i):Math.min(r,8):8},k:function(e,r,i){return i&&i.length?(i.splice||(i=Array.prototype.slice.call(i)),i.splice(0,0,r),b["dynCall_"+e].apply(null,i)):b["dynCall_"+e].call(null,r)},e:[],r:function(e){for(var r=0;r=F)&&(G("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+F+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),e=!0),e?(E=r,0):r},p:function(e,r){return Math.ceil(e/(r||16))*(r||16)},P:function(e,r,i){return i?+(e>>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},h:8,i:4,D:0};b.Runtime=y,y.addFunction=y.r,y.removeFunction=y.A;var H=!1,ca,da;!function(){function a(e){return e=e.toString().match(g).slice(1),{arguments:e[0],body:e[1],returnValue:e[2]}}function c(){if(!k){k={};for(var e in d)d.hasOwnProperty(e)&&(k[e]=a(d[e]))}}var d={stackSave:function(){y.g()},stackRestore:function(){y.c()},arrayToC:function(e){var r=y.f(e.length);return ea(e,r),r},stringToC:function(e){var r=0;return null!==e&&void 0!==e&&0!==e&&(r=y.f(1+(e.length<<2)),fa(e,r)),r}},e={string:d.stringToC,array:d.arrayToC};da=function(r,i,t,n,f){r=ba(r);var a=[],o=0;if(n)for(var l=0;l>0];if(!i)return r;r+=String.fromCharCode(i)}},b.stringToAscii=function(e,r){return pa(e,r,!1)},b.UTF8ArrayToString=qa,b.UTF8ToString=function(e){return qa(R,e)},b.stringToUTF8Array=ra,b.stringToUTF8=function(e,r,i){return ra(e,R,r,i)},b.lengthBytesUTF8=sa,b.stackTrace=function(){return ta()};for(var buffer,J,R,L,xa,M,ya,N,la,za=0,z=0,na=!1,Aa=0,x=0,Ba=0,E=0,Ca=b.TOTAL_STACK||5242880,F=b.TOTAL_MEMORY||16777216,U=65536;UU?2*U:U+16777216;if(U!==F&&(F=U),buffer=b.buffer?b.buffer:new ArrayBuffer(F),b.HEAP8=J=new Int8Array(buffer),b.HEAP16=L=new Int16Array(buffer),b.HEAP32=M=new Int32Array(buffer),b.HEAPU8=R=new Uint8Array(buffer),b.HEAPU16=xa=new Uint16Array(buffer),b.HEAPU32=ya=new Uint32Array(buffer),b.HEAPF32=N=new Float32Array(buffer),b.HEAPF64=la=new Float64Array(buffer),M[0]=255,255!==R[0]||0!==R[3])throw"Typed arrays 2 must be run on a little-endian system";b.HEAP=void 0,b.buffer=buffer,b.HEAP8=J,b.HEAP16=L,b.HEAP32=M,b.HEAPU8=R,b.HEAPU16=xa,b.HEAPU32=ya,b.HEAPF32=N,b.HEAPF64=la;var Da=[],Ea=[],Fa=[],Ga=[],Ha=[],T=!1;b.addOnPreRun=Ia,b.addOnInit=function(e){Ea.unshift(e)},b.addOnPreMain=function(e){Fa.unshift(e)},b.addOnExit=function(e){Ga.unshift(e)},b.addOnPostRun=Ja,b.intArrayFromString=Ka,b.intArrayToString=function(e){for(var r=[],i=0;i>>16)*t+i*(r>>>16)<<16)|0}),Math.O=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;32>r;r++)if(e&1<<31-r)return r;return 32}),Math.H=Math.clz32;var ha=Math.abs,ka=Math.ceil,ja=Math.floor,La=Math.pow,ia=Math.min,W=0,Ma=null,X=null;b.addRunDependency=function(){W++,b.monitorRunDependencies&&b.monitorRunDependencies(W)},b.removeRunDependency=function(){if(W--,b.monitorRunDependencies&&b.monitorRunDependencies(W),0==W&&(null!==Ma&&(clearInterval(Ma),Ma=null),X)){var e=X;X=null,e()}},b.preloadedImages={},b.preloadedAudios={},za=8,z=za+31072,Ea.push(),O([1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,190,98,0,0,198,98,0,0,215,98,0,0,232,98,0,0,247,98,0,0,8,99,0,0,32,99,0,0,46,99,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,168,1,0,0,104,4,0,0,36,7,0,0,220,9,0,0,144,12,0,0,64,15,0,0,236,17,0,0,84,19,0,0,16,20,0,0,132,20,0,0,208,20,0,0,8,21,0,0,40,21,0,0,64,21,0,0,76,21,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160,0,0,33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,172,21,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,72,87,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,249,99,0,0,116,87,0,0,24,22,0,0,128,7,0,0,3,0,0,0,248,23,0,0,48,39,0,0,104,39,0,0,160,39,0,0,216,39,0,0,136,1,0,0,166,94,0,0,224,100,0,0,104,102,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,158,87,0,0,48,24,0,0,0,0,0,0,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63,0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,91,0,0,48,24,0,0,0,0,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,93,0,0,48,24,0,0,0,0,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,94,0,0,48,24,0,0,0,0,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63],"i8",4,y.h),O([107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63,123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,191,104,0,0,199,104,0,0,215,104,0,0,247,104,0,0,255,104,0,0,15,105,0,0,47,105,0,0,87,105,0,0,167,105,0,0,71,106,0,0,79,106,0,0,95,106,0,0,32,0,10,0,20,46,100,1,130,106,0,0,194,107,0,0,2,108,0,0,20,108,0,0,180,108,0,0,252,108,0,0,134,95,0,0,32,0,16,0,102,38,171,1,68,109,0,0,68,111,0,0,132,111,0,0,162,111,0,0,162,112,0,0,234,112,0,0,156,95,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,77,113,0,0,80,113,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,0,250,0,0,128,62,0,0,160,140,0,0,128,62,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,8,82,0,0,208,7,0,0,96,109,0,0,208,7,0,0,224,46,0,0,232,3,0,0,80,70,0,0,208,7,0,0,8,82,0,0,208,7,0,0,48,117,0,0,208,7,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,104,66,0,0,232,3,0,0,8,82,0,0,208,7,0,0,224,46,0,0,232,3,0,0,152,58,0,0,232,3,0,0,80,70,0,0,208,7,0,0,240,85,0,0,208,7,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63],"i8",4,y.h+10240),O([206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,3,0,0,0,148,80,0,0,160,80,0,0,25,0,0,0,15,0,0,0,2,0,0,0,14,190,192,189,172,31,155,190,149,130,26,191,150,149,70,190,84,114,62,190,146,3,26,191,6,152,62,189,2,160,234,189,182,43,212,189,185,114,30,191,106,190,162,190,28,7,46,190,107,243,143,189,90,158,23,62,33,173,209,62,10,102,12,63,125,60,188,62,20,33,253,190,143,169,67,63,8,119,235,191,10,243,46,62,117,147,76,65,80,83,139,191,108,236,162,191,181,21,130,193,28,107,193,65,162,98,178,192,255,231,48,190,47,79,39,190,158,206,101,190,255,87,194,189,155,60,149,189,203,248,135,190,44,97,205,189,203,33,83,189,64,166,21,190,238,35,247,189,160,253,56,190,219,167,3,62,233,95,226,62,213,202,252,190,29,203,43,62,231,168,83,62,1,79,74,190,247,3,214,62,71,119,192,63,173,249,69,191,64,164,32,193,43,194,205,62,192,178,62,64,201,118,115,65,100,204,241,191,39,165,152,191,23,204,233,60,134,193,132,187,201,232,144,61,84,72,7,60,154,231,189,189,103,71,42,188,59,137,140,187,159,122,160,187,88,90,145,189,85,196,39,187,169,11,34,61,177,219,103,62,241,54,5,61,52,17,38,62,170,10,205,189,86,185,248,62,108,4,2,62,86,102,146,62,228,254,126,60,106,251,215,61,159,142,67,64,136,70,147,63,57,40,129,191,71,90,234,191,139,84,84,64,210,53,91,192,13,253,243,189,232,39,38,189,25,31,226,59,241,90,147,60,171,170,28,189,237,238,195,59,5,106,150,188,246,141,249,58,37,201,19,190,106,115,50,189,210,214,129,58,161,100,98,62,158,210,17,62,128,215,247,62,221,12,207,62,124,15,3,63,250,242,114,190,55,139,119,62,47,110,179,62,183,13,51,191,136,99,38,65,18,165,41,64,83,208,27,192,53,7,134,192,125,150,135,63,60,247,218,63,12,212,218,59,186,186,147,189,191,192,34,189,69,144,20,61,38,112,235,189,208,37,193,188,210,156,6,60,124,58,104,188,114,11,7,189,31,26,17,189,171,204,53,59,154,208,148,190,218,230,146,191,140,104,163,190,89,193,47,191,163,233,188,62,64,50,245,62,253,245,58,62,163,119,210,190,8,144,97,63,39,107,147,192,33,31,188,63,224,243,171,62,161,214,232,191,245,91,241,193,8,172,177,64,252,177,255,58,106,21,253,189,37,245,148,189,41,102,131,189,252,233,90,189,35,134,221,189,20,249,191,189,43,237,142,189,75,171,225,188,167,236,68,190,122,110,225,189,172,28,146,62,105,170,207,190,7,203,189,61,35,101,147,190,201,231,89,191,252,194,203,189,212,95,111,190,111,129,164,191,13,108,145,63,155,201,71,64,187,39,143,189,66,91,238,191,113,201,41,64,120,238,233,192,26,168,28,64,135,138,146,186,54,152,129,189,127,33,26,189,138,114,25,190,229,100,18,62,247,202,60,62,113,202,252,61,117,220,154,61,70,65,240,61,200,40,191,61,71,193,141,61,22,144,172,61,175,81,144,61,27,166,113,61,173,246,192,61,61,209,229,190,92,47,215,60,148,107,138,62,106,78,134,190,98,186,48,62,49,37,0,64,133,9,35,190,99,96,29,61,26,81,35,65,182,248,132,64,7,206,21,192,120,99,97,189,79,18,30,60,98,186,16,190,8,223,224,60,187,222,12,61,136,166,71,189,97,152,194,61,35,245,253,187,158,146,24,189,185,155,179,187,187,236,135,189,45,182,196,61,230,206,76,190,12,24,41,189,251,87,22,63,48,68,83,61,142,172,172,62,218,226,90,63,93,26,43,63,202,82,235,189,178,75,104,192,37,89,239,190,177,164,92,190,57,98,39,64,145,238,207,62,180,142,174,191,203,61,46,61,20,5,250,61,210,98,191,61,67,4,252,61,160,165,11,61,155,226,17,190,245,130,15,61,15,250,72,189,55,41,150,61,113,52,108,61,83,235,253,61,185,215,83,189,147,139,129,190,69,47,23,63,113,89,21,62,238,95,161,62,207,217,98,62,177,168,24,190,79,89,93,62,127,251,178,190,253,135,196,65,161,131,126,191,11,66,29,63,242,82,150,193,27,76,53,192,69,128,55,191,84,196,177,190,253,130,245,62,128,238,123,190,215,96,155,61,137,150,12,62,211,19,54,190,185,51,243,61,46,253,141,186,175,7,115,190,129,34,182,62,33,7,5,190,218,78,96,189,101,28,163,190,21,171,166,190,107,211,56,62,171,31,128,189,183,155,16,62,40,41,176,62,24,207,192,62,95,126,23,191,102,247,186,64,170,241,194,190,46,56,99,62,239,172,181,191,48,108,229,201,122,170,171,63,218,31,232,60,27,113,55,189,162,59,173,188,127,121,210,188,9,192,100,60,236,86,170,60,101,102,48,188,198,207,53,60,202,13,112,61,62,180,207,188,178,134,6,189,121,35,243,61,78,38,94,190,247,62,21,62,230,93,245,61,106,111,187,189,198,21,247,189,41,83,161,189,106,23,19,190,134,89,24,191,188,116,147,191,198,109,160,191,181,224,149,191,42,227,138,64,64,26,110,201,249,102,175,191,204,76,36,189,13,168,87,62,141,239,11,190,159,57,11,62,64,87,86,189,28,28,54,61,199,207,107,60,239,56,135,59,170,27,158,188,226,177,95,62,162,178,225,189,236,163,1,192,165,17,107,63,28,8,29,192,134,3,153,63,184,86,123,189,48,18,246,191,186,192,157,62,172,202,254,62,42,144,105,63,102,75,86,62,147,24,22,192,95,94,12,64,39,20,207,192,144,78,217,63,169,161,57,191,112,218,66,60,77,206,26,61,109,235,98,61,109,130,185,60,243,67,144,189,93,3,246,188,182,124,73,60,72,233,136,187,62,158,140,189,125,64,0,61,219,50,32,61,194,108,186,62,242,165,193,189,126,80,188,60,194,81,50,190,228,218,168,62,44,239,234,61,112,182,153,62,62,33,219,61,18,136,7,62,8,148,185,64,125,118,104,63,80,195,103,191,88,202,86,192,248,56,67,62,207,161,60,62,50,116,44,191,208,94,109,62,213,29,112,189,65,74,108,62,216,101,224,190,240,193,123,62,23,72,48,190,182,123,179,61,121,115,56,191,85,106,38,62,85,187,139,60,143,114,208,61,117,230,198,62,213,38,170,63,2,241,138,63,108,177,111,191,51,167,23,192,66,9,215,192,144,102,92,192,241,215,8,64,116,181,99,65,82,68,157,64,20,203,69,192,16,18,27,193,252,170,68,191,164,228,229,63,75,35,97,61,17,82,39,62,16,59,163,61,253,223,12,61,211,175,99,189,237,178,165,187,217,102,153,60,110,201,5,61,34,162,189,60,175,119,31,62,154,15,67,61,75,120,130,190,151,255,204,63,210,28,77,191,119,132,35,64,65,213,60,63,19,102,174,191,221,9,50,191,71,90,28,192,62,174,221,191,131,250,124,64,205,1,242,63,101,224,248,62,75,89,53,193,128,147,112,74,249,75,195,190,126,29,248,61,94,44,104,191,249,20,60,64,51,196,209,63,231,255,97,63,2,213,95,63,45,207,155,63,46,226,95,191,166,182,164,62,93,249,72,63,160,81,114,63,134,55,19,191,62,203,93,192,34,137,98,63,173,62,189,61,144,131,30,193,116,93,200,62,10,242,35,62,170,43,3,192,240,167,132,64,210,22,140,61,58,60,20,190,123,16,146,190,69,44,194,62,116,70,148,191,167,29,227,188,154,153,29,193,16,93,154,192,51,167,109,64,139,224,119,64,26,163,97,64,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,184,126,154,121,154,121,102,102,184,126,51,115,16,48,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,30,161,36,42,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,210,6,138,58,171,152,198,26,169,100,246,216,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,19,245,149,230,89,18,243,41,31,6,84,32,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,117,110,107,110,111,119,110,32,101,114,114,111,114,0,115,117,99,99,101,115,115,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,0,99,111,114,114,117,112,116,101,100,32,115,116,114,101,97,109,0,114,101,113,117,101,115,116,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,118,97,108,105,100,32,115,116,97,116,101,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,0,108,105,98,111,112,117,115,32,49,46,49,46,50,0,2,1,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,2,1,0,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141,66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,8,16,32,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,203,150,0,215,195,166,125,110,82,0,120,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,8,10,12,16,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231,209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,255,255],"i8",4,y.h+20480);var Na=z,z=z+16;b._i64Add=Pa,b._bitshift64Ashr=Qa,b._memset=Ra,b._memcpy=Sa;var Ta=ha;b._memmove=Ua;var Aa=x=y.p(z),na=!0,Ba=Aa+Ca,E=y.p(Ba),Va=O([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);b.s={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},b.t={abort:G,assert:assert,invoke_viiiiiii:function(e,r,i,t,n,f,a,o){try{b.dynCall_viiiiiii(e,r,i,t,n,f,a,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Z.setThrew(1,0)}},_llvm_pow_f64:La,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Oa,_llvm_stacksave:Y,_sbrk:S,_time:function(e){var r=Date.now()/1e3|0;return e&&(M[e>>2]=r),r},_llvm_fabs_f64:Ta,_emscripten_memcpy_big:function(e,r,i){return R.set(R.subarray(r,r+i),e),e},_llvm_stackrestore:function(e){var r=Y.a[e];Y.a.splice(e,1),y.c(r)},_sysconf:function(e){switch(e){case 30:return 4096;case 85:return U/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 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 79:return 0;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"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return Oa(22),-1},STACKTOP:x,STACK_MAX:Ba,tempDoublePtr:Na,ABORT:H,cttz_i8:Va};var Z=function(e,r,i){"use asm";var t=new e.Int8Array(i);var n=new e.Int16Array(i);var f=new e.Int32Array(i);var a=new e.Uint8Array(i);var o=new e.Uint16Array(i);var l=new e.Uint32Array(i);var s=new e.Float32Array(i);var u=new e.Float64Array(i);var h=r.STACKTOP|0;var c=r.STACK_MAX|0;var b=r.tempDoublePtr|0;var w=r.ABORT|0;var k=r.cttz_i8|0;var d=0;var p=0;var v=0;var g=0;var y=e.NaN,_=e.Infinity;var m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;var L=0;var P=0;var I=0;var C=0;var U=0;var B=0;var j=0;var D=0;var N=0;var F=0;var z=e.Math.floor;var Y=e.Math.abs;var H=e.Math.sqrt;var q=e.Math.pow;var W=e.Math.cos;var Z=e.Math.sin;var V=e.Math.tan;var J=e.Math.acos;var G=e.Math.asin;var K=e.Math.atan;var X=e.Math.atan2;var $=e.Math.exp;var Q=e.Math.log;var ee=e.Math.ceil;var re=e.Math.imul;var ie=e.Math.min;var te=e.Math.clz32;var ne=r.abort;var fe=r.assert;var ae=r.invoke_viiiiiii;var oe=r._llvm_pow_f64;var le=r._pthread_self;var se=r._abort;var ue=r.___setErrNo;var he=r._llvm_stacksave;var ce=r._sbrk;var be=r._time;var we=r._llvm_fabs_f64;var ke=r._emscripten_memcpy_big;var de=r._llvm_stackrestore;var pe=r._sysconf;var ve=0;function ge(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,me=0;ge=h;h=h+304|0;G=ge+288|0;K=ge+284|0;u=ge+280|0;X=ge+276|0;$=ge+272|0;Q=ge+268|0;ee=ge+264|0;ie=ge+260|0;oe=ge+256|0;se=ge+252|0;ae=ge+248|0;D=ge+244|0;T=ge+240|0;b=ge+192|0;M=ge+184|0;pe=ge+176|0;me=ge+168|0;be=ge+164|0;we=ge+160|0;ke=ge+156|0;V=ge+152|0;B=ge+148|0;Y=ge+144|0;d=ge+140|0;fe=ge+136|0;F=ge+132|0;z=ge+128|0;ve=ge+124|0;le=ge+120|0;C=ge+116|0;P=ge+112|0;R=ge+108|0;W=ge+104|0;q=ge+100|0;U=ge+96|0;I=ge+92|0;S=ge+88|0;L=ge+84|0;A=ge+80|0;v=ge+76|0;Z=ge+72|0;O=ge+68|0;x=ge+64|0;j=ge+60|0;N=ge+56|0;ue=ge+52|0;ce=ge+48|0;H=ge+44|0;y=ge+40|0;k=ge+36|0;w=ge+32|0;te=ge+28|0;E=ge+24|0;m=ge+20|0;g=ge+16|0;p=ge+12|0;_=ge+8|0;J=ge+4|0;ne=ge;f[K>>2]=e;f[u>>2]=r;f[X>>2]=i;f[$>>2]=t;f[Q>>2]=a;f[ee>>2]=o;f[ie>>2]=l;f[fe>>2]=f[(f[K>>2]|0)+8>>2];f[U>>2]=0;f[I>>2]=0;f[x>>2]=0;f[N>>2]=f[(f[K>>2]|0)+12>>2];f[ue>>2]=f[f[K>>2]>>2];f[ce>>2]=f[(f[ue>>2]|0)+8>>2];f[H>>2]=f[(f[ue>>2]|0)+4>>2];f[y>>2]=f[(f[ue>>2]|0)+32>>2];f[ve>>2]=f[(f[K>>2]|0)+20>>2];f[le>>2]=f[(f[K>>2]|0)+24>>2];f[Q>>2]=re(f[Q>>2]|0,f[(f[K>>2]|0)+16>>2]|0)|0;f[me>>2]=(f[K>>2]|0)+84+((re(2048+(f[H>>2]|0)|0,f[fe>>2]|0)|0)<<2);f[be>>2]=(f[me>>2]|0)+((f[fe>>2]|0)*24<<2);f[we>>2]=(f[be>>2]|0)+(f[ce>>2]<<1<<2);f[ke>>2]=(f[we>>2]|0)+(f[ce>>2]<<1<<2);f[V>>2]=(f[ke>>2]|0)+(f[ce>>2]<<1<<2);f[F>>2]=0;while(1){if((f[F>>2]|0)>(f[(f[ue>>2]|0)+36>>2]|0))break;if((f[(f[ue>>2]|0)+44>>2]<>2]|0)==(f[Q>>2]|0))break;f[F>>2]=(f[F>>2]|0)+1}if((f[F>>2]|0)>(f[(f[ue>>2]|0)+36>>2]|0)){f[G>>2]=-1;me=f[G>>2]|0;h=ge;return me|0}f[z>>2]=1<>2];if((f[X>>2]|0)<0|(f[X>>2]|0)>1275|(f[$>>2]|0)==0){f[G>>2]=-1;me=f[G>>2]|0;h=ge;return me|0}f[ae>>2]=re(f[z>>2]|0,f[(f[ue>>2]|0)+44>>2]|0)|0;f[oe>>2]=0;do{me=(f[K>>2]|0)+84+((re(f[oe>>2]|0,2048+(f[H>>2]|0)|0)|0)<<2)|0;f[M+(f[oe>>2]<<2)>>2]=me;f[pe+(f[oe>>2]<<2)>>2]=(f[M+(f[oe>>2]<<2)>>2]|0)+8192+(0-(f[ae>>2]|0)<<2);me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));f[C>>2]=f[le>>2];if((f[C>>2]|0)>(f[(f[ue>>2]|0)+12>>2]|0))f[C>>2]=f[(f[ue>>2]|0)+12>>2];if((f[u>>2]|0)==0|(f[X>>2]|0)<=1){ye(f[K>>2]|0,f[ae>>2]|0,f[F>>2]|0);Ee(pe,f[$>>2]|0,f[ae>>2]|0,f[fe>>2]|0,f[(f[K>>2]|0)+16>>2]|0,(f[ue>>2]|0)+16|0,(f[K>>2]|0)+76|0,f[ie>>2]|0);f[G>>2]=(f[Q>>2]|0)/(f[(f[K>>2]|0)+16>>2]|0)|0;me=f[G>>2]|0;h=ge;return me|0}if(!(f[ee>>2]|0)){Pe(b,f[u>>2]|0,f[X>>2]|0);f[ee>>2]=b}e:do{if((f[N>>2]|0)==1){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]|0))break e;if(+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]>+s[(f[be>>2]|0)+((f[ce>>2]|0)+(f[se>>2]|0)<<2)>>2])c=+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2];else c=+s[(f[be>>2]|0)+((f[ce>>2]|0)+(f[se>>2]|0)<<2)>>2];s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}}while(0);f[S>>2]=f[X>>2]<<3;f[A>>2]=Ae(f[ee>>2]|0)|0;do{if((f[A>>2]|0)<(f[S>>2]|0))if((f[A>>2]|0)==1){f[j>>2]=Ne(f[ee>>2]|0,15)|0;break}else{f[j>>2]=0;break}else f[j>>2]=1}while(0);if(f[j>>2]|0){f[A>>2]=f[X>>2]<<3;e=f[A>>2]|0;e=e-(Ae(f[ee>>2]|0)|0)|0;me=(f[ee>>2]|0)+20|0;f[me>>2]=(f[me>>2]|0)+e}s[q>>2]=0;f[W>>2]=0;f[Z>>2]=0;if((f[ve>>2]|0)==0?((f[A>>2]|0)+16|0)<=(f[S>>2]|0):0){if(Ne(f[ee>>2]|0,1)|0){f[w>>2]=ze(f[ee>>2]|0,6)|0;me=16<>2];f[W>>2]=me+(Ye(f[ee>>2]|0,4+(f[w>>2]|0)|0)|0)-1;f[k>>2]=Ye(f[ee>>2]|0,3)|0;me=(Ae(f[ee>>2]|0)|0)+2|0;if((me|0)<=(f[S>>2]|0))f[Z>>2]=Fe(f[ee>>2]|0,25575,2)|0;s[q>>2]=+((f[k>>2]|0)+1|0)*.09375}f[A>>2]=Ae(f[ee>>2]|0)|0}if((f[F>>2]|0)>0?((f[A>>2]|0)+3|0)<=(f[S>>2]|0):0){f[Y>>2]=Ne(f[ee>>2]|0,3)|0;f[A>>2]=Ae(f[ee>>2]|0)|0}else f[Y>>2]=0;if(f[Y>>2]|0)f[B>>2]=f[z>>2];else f[B>>2]=0;if(((f[A>>2]|0)+3|0)<=(f[S>>2]|0))u=Ne(f[ee>>2]|0,3)|0;else u=0;f[d>>2]=u;zr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,f[d>>2]|0,f[ee>>2]|0,f[N>>2]|0,f[F>>2]|0);me=f[ce>>2]|0;f[te>>2]=he()|0;i=h;h=h+((1*(me<<2)|0)+15&-16)|0;Se(f[ve>>2]|0,f[le>>2]|0,f[Y>>2]|0,i,f[F>>2]|0,f[ee>>2]|0);f[A>>2]=Ae(f[ee>>2]|0)|0;f[D>>2]=2;if(((f[A>>2]|0)+4|0)<=(f[S>>2]|0))f[D>>2]=Fe(f[ee>>2]|0,25578,5)|0;b=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;jn(f[ue>>2]|0,b,f[F>>2]|0,f[N>>2]|0);a=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;f[v>>2]=6;f[S>>2]=f[S>>2]<<3;f[A>>2]=Le(f[ee>>2]|0)|0;f[se>>2]=f[ve>>2];while(1){if((f[se>>2]|0)>=(f[le>>2]|0))break;u=re(f[N>>2]|0,(n[(f[y>>2]|0)+((f[se>>2]|0)+1<<1)>>1]|0)-(n[(f[y>>2]|0)+(f[se>>2]<<1)>>1]|0)|0)|0;f[E>>2]=u<>2];u=f[E>>2]|0;if((f[E>>2]<<3|0)<((48>(f[E>>2]|0)?48:f[E>>2]|0)|0))u=u<<3;else u=48>(u|0)?48:f[E>>2]|0;f[m>>2]=u;f[g>>2]=f[v>>2];f[p>>2]=0;while(1){if(((f[A>>2]|0)+(f[g>>2]<<3)|0)>=(f[S>>2]|0))break;if((f[p>>2]|0)>=(f[b+(f[se>>2]<<2)>>2]|0))break;f[_>>2]=Ne(f[ee>>2]|0,f[g>>2]|0)|0;f[A>>2]=Le(f[ee>>2]|0)|0;if(!(f[_>>2]|0))break;f[p>>2]=(f[p>>2]|0)+(f[m>>2]|0);f[S>>2]=(f[S>>2]|0)-(f[m>>2]|0);f[g>>2]=1}f[a+(f[se>>2]<<2)>>2]=f[p>>2];if((f[p>>2]|0)>0)f[v>>2]=2>((f[v>>2]|0)-1|0)?2:(f[v>>2]|0)-1|0;f[se>>2]=(f[se>>2]|0)+1}o=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;if(((f[A>>2]|0)+48|0)<=(f[S>>2]|0))u=Fe(f[ee>>2]|0,25582,7)|0;else u=5;f[R>>2]=u;me=f[X>>2]<<3<<3;f[T>>2]=me-(Le(f[ee>>2]|0)|0)-1;if((f[Y>>2]|0)!=0&(f[F>>2]|0)>=2)u=(f[T>>2]|0)>=((f[F>>2]|0)+2<<3|0);else u=0;f[O>>2]=u?8:0;f[T>>2]=(f[T>>2]|0)-(f[O>>2]|0);l=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[ce>>2]<<2)|0)+15&-16)|0;f[P>>2]=Wr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,a,b,f[R>>2]|0,U,I,f[T>>2]|0,L,l,o,r,f[N>>2]|0,f[F>>2]|0,f[ee>>2]|0,0,0,0)|0;Yr(f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,o,f[ee>>2]|0,f[N>>2]|0);f[oe>>2]=0;do{ys(f[M+(f[oe>>2]<<2)>>2]|0,(f[M+(f[oe>>2]<<2)>>2]|0)+(f[ae>>2]<<2)|0,(2048-(f[ae>>2]|0)+((f[H>>2]|0)/2|0)<<2)+0|0)|0;me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));me=re(f[N>>2]|0,f[ce>>2]|0)|0;u=h;h=h+((1*me|0)+15&-16)|0;me=(re(f[N>>2]|0,f[ae>>2]|0)|0)<<2;b=h;h=h+((1*me|0)+15&-16)|0;kn(0,f[ue>>2]|0,f[ve>>2]|0,f[le>>2]|0,b,(f[N>>2]|0)==2?b+(f[ae>>2]<<2)|0:0,u,0,l,f[B>>2]|0,f[D>>2]|0,f[I>>2]|0,f[U>>2]|0,i,(f[X>>2]<<6)-(f[O>>2]|0)|0,f[L>>2]|0,f[ee>>2]|0,f[F>>2]|0,f[P>>2]|0,(f[K>>2]|0)+36|0,f[(f[K>>2]|0)+32>>2]|0);if((f[O>>2]|0)>0)f[x>>2]=Ye(f[ee>>2]|0,1)|0;I=f[ue>>2]|0;U=f[ve>>2]|0;B=f[le>>2]|0;D=f[be>>2]|0;me=f[X>>2]<<3;me=me-(Ae(f[ee>>2]|0)|0)|0;Hr(I,U,B,D,o,r,me,f[ee>>2]|0,f[N>>2]|0);if(f[x>>2]|0)hn(f[ue>>2]|0,b,u,f[F>>2]|0,f[N>>2]|0,f[ae>>2]|0,f[ve>>2]|0,f[le>>2]|0,f[be>>2]|0,f[we>>2]|0,f[ke>>2]|0,l,f[(f[K>>2]|0)+36>>2]|0,f[(f[K>>2]|0)+32>>2]|0);e:do{if(f[j>>2]|0){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(re(f[N>>2]|0,f[ce>>2]|0)|0))break e;s[(f[be>>2]|0)+(f[se>>2]<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}}}while(0);_e(f[ue>>2]|0,b,pe,f[be>>2]|0,f[ve>>2]|0,f[C>>2]|0,f[N>>2]|0,f[fe>>2]|0,f[Y>>2]|0,f[F>>2]|0,f[(f[K>>2]|0)+16>>2]|0,f[j>>2]|0,f[(f[K>>2]|0)+32>>2]|0);f[oe>>2]=0;do{if((f[(f[K>>2]|0)+52>>2]|0)>15)u=f[(f[K>>2]|0)+52>>2]|0;else u=15;f[(f[K>>2]|0)+52>>2]=u;if((f[(f[K>>2]|0)+56>>2]|0)>15)u=f[(f[K>>2]|0)+56>>2]|0;else u=15;f[(f[K>>2]|0)+56>>2]=u;Un(f[pe+(f[oe>>2]<<2)>>2]|0,f[pe+(f[oe>>2]<<2)>>2]|0,f[(f[K>>2]|0)+56>>2]|0,f[(f[K>>2]|0)+52>>2]|0,f[(f[ue>>2]|0)+44>>2]|0,+s[(f[K>>2]|0)+64>>2],+s[(f[K>>2]|0)+60>>2],f[(f[K>>2]|0)+72>>2]|0,f[(f[K>>2]|0)+68>>2]|0,f[(f[ue>>2]|0)+60>>2]|0,f[H>>2]|0,f[(f[K>>2]|0)+32>>2]|0);if(f[F>>2]|0)Un((f[pe+(f[oe>>2]<<2)>>2]|0)+(f[(f[ue>>2]|0)+44>>2]<<2)|0,(f[pe+(f[oe>>2]<<2)>>2]|0)+(f[(f[ue>>2]|0)+44>>2]<<2)|0,f[(f[K>>2]|0)+52>>2]|0,f[W>>2]|0,(f[ae>>2]|0)-(f[(f[ue>>2]|0)+44>>2]|0)|0,+s[(f[K>>2]|0)+60>>2],+s[q>>2],f[(f[K>>2]|0)+68>>2]|0,f[Z>>2]|0,f[(f[ue>>2]|0)+60>>2]|0,f[H>>2]|0,f[(f[K>>2]|0)+32>>2]|0);me=(f[oe>>2]|0)+1|0;f[oe>>2]=me}while((me|0)<(f[fe>>2]|0));f[(f[K>>2]|0)+56>>2]=f[(f[K>>2]|0)+52>>2];s[(f[K>>2]|0)+64>>2]=+s[(f[K>>2]|0)+60>>2];f[(f[K>>2]|0)+72>>2]=f[(f[K>>2]|0)+68>>2];f[(f[K>>2]|0)+52>>2]=f[W>>2];s[(f[K>>2]|0)+60>>2]=+s[q>>2];f[(f[K>>2]|0)+68>>2]=f[Z>>2];if(f[F>>2]|0){f[(f[K>>2]|0)+56>>2]=f[(f[K>>2]|0)+52>>2];s[(f[K>>2]|0)+64>>2]=+s[(f[K>>2]|0)+60>>2];f[(f[K>>2]|0)+72>>2]=f[(f[K>>2]|0)+68>>2]}if((f[N>>2]|0)==1)gs((f[be>>2]|0)+(f[ce>>2]<<2)|0,f[be>>2]|0,(f[ce>>2]<<2)+0|0)|0;e:do{if(f[Y>>2]|0){f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]<<1|0))break e;u=f[se>>2]|0;if(+s[(f[we>>2]|0)+(f[se>>2]<<2)>>2]<+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2])c=+s[(f[we>>2]|0)+(u<<2)>>2];else c=+s[(f[be>>2]|0)+(u<<2)>>2];s[(f[we>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}else{gs(f[ke>>2]|0,f[we>>2]|0,(f[ce>>2]<<1<<2)+0|0)|0;gs(f[we>>2]|0,f[be>>2]|0,(f[ce>>2]<<1<<2)+0|0)|0;if((f[(f[K>>2]|0)+48>>2]|0)<10)s[J>>2]=+(f[z>>2]|0)*.0010000000474974513;else s[J>>2]=1;f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ce>>2]<<1|0))break e;u=f[se>>2]|0;if(+s[(f[V>>2]|0)+(f[se>>2]<<2)>>2]+ +s[J>>2]<+s[(f[be>>2]|0)+(f[se>>2]<<2)>>2])c=+s[(f[V>>2]|0)+(u<<2)>>2]+ +s[J>>2];else c=+s[(f[be>>2]|0)+(u<<2)>>2];s[(f[V>>2]|0)+(f[se>>2]<<2)>>2]=c;f[se>>2]=(f[se>>2]|0)+1}}}while(0);f[oe>>2]=0;do{f[se>>2]=0;while(1){if((f[se>>2]|0)>=(f[ve>>2]|0))break;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[be>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=0;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[ke>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[we>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}f[se>>2]=f[le>>2];while(1){u=f[oe>>2]|0;if((f[se>>2]|0)>=(f[ce>>2]|0))break;me=re(u,f[ce>>2]|0)|0;s[(f[be>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=0;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[ke>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;me=re(f[oe>>2]|0,f[ce>>2]|0)|0;s[(f[we>>2]|0)+(me+(f[se>>2]|0)<<2)>>2]=-28;f[se>>2]=(f[se>>2]|0)+1}me=u+1|0;f[oe>>2]=me}while((me|0)<2);f[(f[K>>2]|0)+36>>2]=f[(f[ee>>2]|0)+28>>2];Ee(pe,f[$>>2]|0,f[ae>>2]|0,f[fe>>2]|0,f[(f[K>>2]|0)+16>>2]|0,(f[ue>>2]|0)+16|0,(f[K>>2]|0)+76|0,f[ie>>2]|0);f[(f[K>>2]|0)+48>>2]=0;me=Ae(f[ee>>2]|0)|0;if((me|0)>(f[X>>2]<<3|0)){f[G>>2]=-3;f[ne>>2]=1}else{if(Re(f[ee>>2]|0)|0)f[(f[K>>2]|0)+40>>2]=1;f[G>>2]=(f[Q>>2]|0)/(f[(f[K>>2]|0)+16>>2]|0)|0;f[ne>>2]=1}de(f[te>>2]|0);me=f[G>>2]|0;h=ge;return me|0}function ye(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0;se=h;h=h+4608|0;Q=se+4596|0;ee=se+4592|0;j=se+4588|0;te=se+4584|0;fe=se+4580|0;ie=se+4576|0;ne=se+4568|0;K=se+4560|0;M=se+4556|0;G=se+4552|0;o=se+4548|0;l=se+4544|0;N=se+4540|0;oe=se+4536|0;J=se+4532|0;le=se+4528|0;$=se+4524|0;ae=se+4520|0;a=se+4516|0;q=se+4512|0;X=se+4508|0;Z=se+4504|0;W=se+4500|0;Y=se+4496|0;D=se+4492|0;V=se+4488|0;z=se+4484|0;F=se+4480|0;B=se+4476|0;R=se+4472|0;L=se+4468|0;u=se+4464|0;m=se+368|0;g=se+360|0;p=se+356|0;w=se+352|0;v=se+348|0;S=se+344|0;A=se+340|0;E=se+336|0;T=se+332|0;d=se+232|0;x=se+136|0;c=se+128|0;b=se+124|0;y=se+120|0;_=se+116|0;I=se+112|0;O=se+16|0;k=se+12|0;C=se+8|0;P=se+4|0;U=se;f[Q>>2]=e;f[ee>>2]=r;f[j>>2]=i;f[ie>>2]=f[(f[Q>>2]|0)+8>>2];f[oe>>2]=f[f[Q>>2]>>2];f[J>>2]=f[(f[oe>>2]|0)+8>>2];f[le>>2]=f[(f[oe>>2]|0)+4>>2];f[q>>2]=f[(f[oe>>2]|0)+32>>2];f[te>>2]=0;do{e=(f[Q>>2]|0)+84+((re(f[te>>2]|0,2048+(f[le>>2]|0)|0)|0)<<2)|0;f[ne+(f[te>>2]<<2)>>2]=e;f[K+(f[te>>2]<<2)>>2]=(f[ne+(f[te>>2]<<2)>>2]|0)+8192+(0-(f[ee>>2]|0)<<2);e=(f[te>>2]|0)+1|0;f[te>>2]=e}while((e|0)<(f[ie>>2]|0));f[M>>2]=(f[Q>>2]|0)+84+((re(2048+(f[le>>2]|0)|0,f[ie>>2]|0)|0)<<2);f[G>>2]=(f[M>>2]|0)+((f[ie>>2]|0)*24<<2);f[o>>2]=(f[G>>2]|0)+(f[J>>2]<<1<<2);f[l>>2]=(f[o>>2]|0)+(f[J>>2]<<1<<2);f[N>>2]=(f[l>>2]|0)+(f[J>>2]<<1<<2);f[ae>>2]=f[(f[Q>>2]|0)+48>>2];f[$>>2]=f[(f[Q>>2]|0)+20>>2];f[a>>2]=((f[ae>>2]|0)>=5?1:(f[$>>2]|0)!=0)&1;if(f[a>>2]|0){f[Z>>2]=f[(f[Q>>2]|0)+24>>2];if((f[Z>>2]|0)<(f[(f[oe>>2]|0)+12>>2]|0))i=f[Z>>2]|0;else i=f[(f[oe>>2]|0)+12>>2]|0;do{if((f[$>>2]|0)<=(i|0))if((f[Z>>2]|0)<(f[(f[oe>>2]|0)+12>>2]|0)){i=f[Z>>2]|0;break}else{i=f[(f[oe>>2]|0)+12>>2]|0;break}else i=f[$>>2]|0}while(0);f[W>>2]=i;B=re(f[ie>>2]|0,f[ee>>2]|0)|0;f[D>>2]=he()|0;r=h;h=h+((1*(B<<2)|0)+15&-16)|0;s[Y>>2]=(f[ae>>2]|0)==0?1.5:.5;f[te>>2]=0;do{f[fe>>2]=f[$>>2];while(1){i=f[te>>2]|0;if((f[fe>>2]|0)>=(f[Z>>2]|0))break;U=re(i,f[J>>2]|0)|0;B=re(f[te>>2]|0,f[J>>2]|0)|0;i=re(f[te>>2]|0,f[J>>2]|0)|0;i=i+(f[fe>>2]|0)|0;if(+s[(f[N>>2]|0)+(U+(f[fe>>2]|0)<<2)>>2]>+s[(f[G>>2]|0)+(B+(f[fe>>2]|0)<<2)>>2]-+s[Y>>2])t=+s[(f[N>>2]|0)+(i<<2)>>2];else t=+s[(f[G>>2]|0)+(i<<2)>>2]-+s[Y>>2];B=re(f[te>>2]|0,f[J>>2]|0)|0;s[(f[G>>2]|0)+(B+(f[fe>>2]|0)<<2)>>2]=t;f[fe>>2]=(f[fe>>2]|0)+1}B=i+1|0;f[te>>2]=B}while((B|0)<(f[ie>>2]|0));f[X>>2]=f[(f[Q>>2]|0)+36>>2];f[te>>2]=0;while(1){if((f[te>>2]|0)>=(f[ie>>2]|0))break;f[fe>>2]=f[$>>2];while(1){if((f[fe>>2]|0)>=(f[W>>2]|0))break;J=re(f[ee>>2]|0,f[te>>2]|0)|0;f[z>>2]=J+(n[(f[q>>2]|0)+(f[fe>>2]<<1)>>1]<>2]);f[F>>2]=(n[(f[q>>2]|0)+((f[fe>>2]|0)+1<<1)>>1]|0)-(n[(f[q>>2]|0)+(f[fe>>2]<<1)>>1]|0)<>2];f[V>>2]=0;while(1){if((f[V>>2]|0)>=(f[F>>2]|0))break;f[X>>2]=an(f[X>>2]|0)|0;s[r+((f[z>>2]|0)+(f[V>>2]|0)<<2)>>2]=+(f[X>>2]>>20|0);f[V>>2]=(f[V>>2]|0)+1}ri(r+(f[z>>2]<<2)|0,f[F>>2]|0,1,f[(f[Q>>2]|0)+32>>2]|0);f[fe>>2]=(f[fe>>2]|0)+1}f[te>>2]=(f[te>>2]|0)+1}f[(f[Q>>2]|0)+36>>2]=f[X>>2];f[te>>2]=0;do{ys(f[ne+(f[te>>2]<<2)>>2]|0,(f[ne+(f[te>>2]<<2)>>2]|0)+(f[ee>>2]<<2)|0,(2048-(f[ee>>2]|0)+(f[le>>2]>>1)<<2)+0|0)|0;fe=(f[te>>2]|0)+1|0;f[te>>2]=fe}while((fe|0)<(f[ie>>2]|0));_e(f[oe>>2]|0,r,K,f[G>>2]|0,f[$>>2]|0,f[W>>2]|0,f[ie>>2]|0,f[ie>>2]|0,0,f[j>>2]|0,f[(f[Q>>2]|0)+16>>2]|0,0,f[(f[Q>>2]|0)+32>>2]|0);de(f[D>>2]|0);oe=f[ae>>2]|0;oe=oe+1|0;le=f[Q>>2]|0;le=le+48|0;f[le>>2]=oe;h=se;return}s[R>>2]=1;if(!(f[ae>>2]|0)){$=me(ne,f[ie>>2]|0,f[(f[Q>>2]|0)+32>>2]|0)|0;f[L>>2]=$;f[(f[Q>>2]|0)+44>>2]=$}else{f[L>>2]=f[(f[Q>>2]|0)+44>>2];s[R>>2]=.800000011920929}$=f[le>>2]|0;f[u>>2]=he()|0;i=h;h=h+((1*($<<2)|0)+15&-16)|0;f[B>>2]=f[(f[oe>>2]|0)+60>>2];f[te>>2]=0;do{s[w>>2]=0;f[v>>2]=f[ne+(f[te>>2]<<2)>>2];f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=1024)break;s[m+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(1024+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}if(!(f[ae>>2]|0)){Pr(m,d,f[B>>2]|0,f[le>>2]|0,24,1024,f[(f[Q>>2]|0)+32>>2]|0)|0;s[d>>2]=+s[d>>2]*1.000100016593933;f[fe>>2]=1;while(1){if((f[fe>>2]|0)>24)break;oe=d+(f[fe>>2]<<2)|0;s[oe>>2]=+s[oe>>2]-+s[d+(f[fe>>2]<<2)>>2]*6400000711437315e-20*+(f[fe>>2]|0)*+(f[fe>>2]|0);f[fe>>2]=(f[fe>>2]|0)+1}Mr((f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,d,24)}f[E>>2]=(f[L>>2]<<1|0)<1024?f[L>>2]<<1:1024;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=24)break;s[x+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(2048-(f[E>>2]|0)-1-(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}xr(m+4096+(0-(f[E>>2]|0)<<2)|0,(f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,m+4096+(0-(f[E>>2]|0)<<2)|0,f[E>>2]|0,24,x,f[(f[Q>>2]|0)+32>>2]|0);s[c>>2]=1;s[b>>2]=1;f[y>>2]=f[E>>2]>>1;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[y>>2]|0))break;s[_>>2]=+s[m+(1024-(f[y>>2]|0)+(f[fe>>2]|0)<<2)>>2];s[c>>2]=+s[c>>2]+ +s[_>>2]*+s[_>>2];s[_>>2]=+s[m+(1024-(f[y>>2]<<1)+(f[fe>>2]|0)<<2)>>2];s[b>>2]=+s[b>>2]+ +s[_>>2]*+s[_>>2];f[fe>>2]=(f[fe>>2]|0)+1}s[c>>2]=+s[c>>2]<+s[b>>2]?+s[c>>2]:+s[b>>2];s[g>>2]=+H(+(+s[c>>2]/+s[b>>2]));ys(f[v>>2]|0,(f[v>>2]|0)+(f[ee>>2]<<2)|0,(2048-(f[ee>>2]|0)<<2)+0|0)|0;f[S>>2]=1024-(f[L>>2]|0);f[A>>2]=(f[ee>>2]|0)+(f[le>>2]|0);s[p>>2]=+s[R>>2]*+s[g>>2];f[T>>2]=0;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break;if((f[T>>2]|0)>=(f[L>>2]|0)){f[T>>2]=(f[T>>2]|0)-(f[L>>2]|0);s[p>>2]=+s[p>>2]*+s[g>>2]}s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[p>>2]*+s[m+((f[S>>2]|0)+(f[T>>2]|0)<<2)>>2];s[I>>2]=+s[(f[v>>2]|0)+(1024-(f[ee>>2]|0)+(f[S>>2]|0)+(f[T>>2]|0)<<2)>>2];s[w>>2]=+s[w>>2]+ +s[I>>2]*+s[I>>2];f[fe>>2]=(f[fe>>2]|0)+1;f[T>>2]=(f[T>>2]|0)+1}f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=24)break;s[O+(f[fe>>2]<<2)>>2]=+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)-1-(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}Lr((f[v>>2]|0)+8192+(0-(f[ee>>2]|0)<<2)|0,(f[M>>2]|0)+((f[te>>2]|0)*24<<2)|0,(f[v>>2]|0)+8192+(0-(f[ee>>2]|0)<<2)|0,f[A>>2]|0,24,O,f[(f[Q>>2]|0)+32>>2]|0);s[k>>2]=0;f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break;s[C>>2]=+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];s[k>>2]=+s[k>>2]+ +s[C>>2]*+s[C>>2];f[fe>>2]=(f[fe>>2]|0)+1}e:do{if(+s[w>>2]>+s[k>>2]*.20000000298023224){if(+s[w>>2]<+s[k>>2]){s[P>>2]=+H(+((+s[w>>2]+1)/(+s[k>>2]+1)));f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[le>>2]|0))break;s[U>>2]=1-+s[(f[B>>2]|0)+(f[fe>>2]<<2)>>2]*(1-+s[P>>2]);s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[U>>2]*+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}f[fe>>2]=f[le>>2];while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break e;s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=+s[P>>2]*+s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}}}else{f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=(f[A>>2]|0))break e;s[(f[v>>2]|0)+(2048-(f[ee>>2]|0)+(f[fe>>2]|0)<<2)>>2]=0;f[fe>>2]=(f[fe>>2]|0)+1}}}while(0);Un(i,(f[v>>2]|0)+8192|0,f[(f[Q>>2]|0)+52>>2]|0,f[(f[Q>>2]|0)+52>>2]|0,f[le>>2]|0,-+s[(f[Q>>2]|0)+60>>2],-+s[(f[Q>>2]|0)+60>>2],f[(f[Q>>2]|0)+68>>2]|0,f[(f[Q>>2]|0)+68>>2]|0,0,0,f[(f[Q>>2]|0)+32>>2]|0);f[fe>>2]=0;while(1){if((f[fe>>2]|0)>=((f[le>>2]|0)/2|0|0))break;s[(f[v>>2]|0)+(2048+(f[fe>>2]|0)<<2)>>2]=+s[(f[B>>2]|0)+(f[fe>>2]<<2)>>2]*+s[i+((f[le>>2]|0)-1-(f[fe>>2]|0)<<2)>>2]+ +s[(f[B>>2]|0)+((f[le>>2]|0)-(f[fe>>2]|0)-1<<2)>>2]*+s[i+(f[fe>>2]<<2)>>2];f[fe>>2]=(f[fe>>2]|0)+1}oe=(f[te>>2]|0)+1|0;f[te>>2]=oe}while((oe|0)<(f[ie>>2]|0));de(f[u>>2]|0);oe=f[ae>>2]|0;oe=oe+1|0;le=f[Q>>2]|0;le=le+48|0;f[le>>2]=oe;h=se;return}function _e(e,r,i,t,n,a,o,l,u,c,b,w,k){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0;z=h;h=h+112|0;d=z+100|0;p=z+96|0;m=z+92|0;E=z+88|0;A=z+84|0;S=z+80|0;R=z+76|0;T=z+72|0;Y=z+68|0;M=z+64|0;v=z+60|0;g=z+56|0;y=z+52|0;C=z+48|0;j=z+44|0;O=z+40|0;I=z+36|0;x=z+32|0;L=z+28|0;P=z+24|0;F=z+20|0;D=z+16|0;N=z+12|0;_=z+8|0;U=z+4|0;B=z;f[d>>2]=e;f[p>>2]=r;f[m>>2]=i;f[E>>2]=t;f[A>>2]=n;f[S>>2]=a;f[R>>2]=o;f[T>>2]=l;f[Y>>2]=u;f[M>>2]=c;f[v>>2]=b;f[g>>2]=w;f[y>>2]=k;f[N>>2]=f[(f[d>>2]|0)+4>>2];f[D>>2]=f[(f[d>>2]|0)+8>>2];f[L>>2]=f[(f[d>>2]|0)+44>>2]<>2];n=f[L>>2]|0;f[_>>2]=he()|0;o=h;h=h+((1*(n<<2)|0)+15&-16)|0;f[O>>2]=1<>2];if(f[Y>>2]|0){f[x>>2]=f[O>>2];f[P>>2]=f[(f[d>>2]|0)+44>>2];f[F>>2]=f[(f[d>>2]|0)+36>>2]}else{f[x>>2]=1;f[P>>2]=f[(f[d>>2]|0)+44>>2]<>2];f[F>>2]=(f[(f[d>>2]|0)+36>>2]|0)-(f[M>>2]|0)}if((f[T>>2]|0)==2&(f[R>>2]|0)==1){un(f[d>>2]|0,f[p>>2]|0,o,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[U>>2]=(f[(f[m>>2]|0)+4>>2]|0)+(((f[N>>2]|0)/2|0)<<2);gs(f[U>>2]|0,o|0,(f[L>>2]<<2)+0|0)|0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[f[m>>2]>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,(f[U>>2]|0)+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[(f[m>>2]|0)+4>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=f[_>>2]|0;de(Y|0);h=z;return}if(!((f[T>>2]|0)==1&(f[R>>2]|0)==2)){f[C>>2]=0;do{j=(f[p>>2]|0)+((re(f[C>>2]|0,f[L>>2]|0)|0)<<2)|0;Y=(f[E>>2]|0)+((re(f[C>>2]|0,f[D>>2]|0)|0)<<2)|0;un(f[d>>2]|0,j,o,Y,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[(f[m>>2]|0)+(f[C>>2]<<2)>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=(f[C>>2]|0)+1|0;f[C>>2]=Y}while((Y|0)<(f[T>>2]|0));Y=f[_>>2]|0;de(Y|0);h=z;return}f[B>>2]=(f[f[m>>2]>>2]|0)+(((f[N>>2]|0)/2|0)<<2);un(f[d>>2]|0,f[p>>2]|0,o,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);un(f[d>>2]|0,(f[p>>2]|0)+(f[L>>2]<<2)|0,f[B>>2]|0,(f[E>>2]|0)+(f[D>>2]<<2)|0,f[A>>2]|0,f[S>>2]|0,f[O>>2]|0,f[v>>2]|0,f[g>>2]|0);f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[L>>2]|0))break;s[o+(f[j>>2]<<2)>>2]=(+s[o+(f[j>>2]<<2)>>2]+ +s[(f[B>>2]|0)+(f[j>>2]<<2)>>2])*.5;f[j>>2]=(f[j>>2]|0)+1}f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[x>>2]|0))break;Y=(f[f[m>>2]>>2]|0)+((re(f[P>>2]|0,f[I>>2]|0)|0)<<2)|0;dr((f[d>>2]|0)+64|0,o+(f[I>>2]<<2)|0,Y,f[(f[d>>2]|0)+60>>2]|0,f[N>>2]|0,f[F>>2]|0,f[x>>2]|0,f[y>>2]|0);f[I>>2]=(f[I>>2]|0)+1}Y=f[_>>2]|0;de(Y|0);h=z;return}function me(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;n=h;h=h+4112|0;s=n+4108|0;l=n+4104|0;a=n+4100|0;t=n+4096|0;o=n;f[s>>2]=e;f[l>>2]=r;f[a>>2]=i;vr(f[s>>2]|0,o,2048,f[l>>2]|0,f[a>>2]|0);Er(o+1440|0,o,1328,620,t,f[a>>2]|0);f[t>>2]=720-(f[t>>2]|0);h=n;return f[t>>2]|0}function Ee(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;M=h;h=h+80|0;u=M+72|0;c=M+68|0;b=M+64|0;w=M+60|0;k=M+56|0;x=M+52|0;d=M+48|0;y=M+40|0;v=M+36|0;g=M+32|0;_=M+28|0;p=M+24|0;m=M+20|0;R=M+16|0;T=M+12|0;E=M+8|0;A=M+4|0;S=M;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=n;f[x>>2]=a;f[d>>2]=o;f[M+44>>2]=l;f[g>>2]=0;r=f[b>>2]|0;f[p>>2]=he()|0;t=h;h=h+((1*(r<<2)|0)+15&-16)|0;s[_>>2]=+s[f[x>>2]>>2];f[v>>2]=(f[b>>2]|0)/(f[k>>2]|0)|0;f[y>>2]=0;do{s[E>>2]=+s[(f[d>>2]|0)+(f[y>>2]<<2)>>2];f[R>>2]=f[(f[u>>2]|0)+(f[y>>2]<<2)>>2];f[T>>2]=(f[c>>2]|0)+(f[y>>2]<<2);x=(f[k>>2]|0)>1;f[m>>2]=0;e:do{if(x){while(1){if((f[m>>2]|0)>=(f[b>>2]|0))break;s[A>>2]=+s[(f[R>>2]|0)+(f[m>>2]<<2)>>2]+ +s[E>>2]+1.0000000031710769e-30;s[E>>2]=+s[_>>2]*+s[A>>2];s[t+(f[m>>2]<<2)>>2]=+s[A>>2];f[m>>2]=(f[m>>2]|0)+1}f[g>>2]=1}else while(1){if((f[m>>2]|0)>=(f[b>>2]|0))break e;s[S>>2]=+s[(f[R>>2]|0)+(f[m>>2]<<2)>>2]+ +s[E>>2]+1.0000000031710769e-30;s[E>>2]=+s[_>>2]*+s[S>>2];x=re(f[m>>2]|0,f[w>>2]|0)|0;s[(f[T>>2]|0)+(x<<2)>>2]=+s[S>>2]*30517578125e-15;f[m>>2]=(f[m>>2]|0)+1}}while(0);s[(f[d>>2]|0)+(f[y>>2]<<2)>>2]=+s[E>>2];e:do{if(f[g>>2]|0){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[v>>2]|0))break e;O=+s[t+((re(f[m>>2]|0,f[k>>2]|0)|0)<<2)>>2]*30517578125e-15;x=re(f[m>>2]|0,f[w>>2]|0)|0;s[(f[T>>2]|0)+(x<<2)>>2]=O;f[m>>2]=(f[m>>2]|0)+1}}}while(0);x=(f[y>>2]|0)+1|0;f[y>>2]=x}while((x|0)<(f[w>>2]|0));de(f[p>>2]|0);h=M;return}function Ae(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Se(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+64|0;l=E+52|0;s=E+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;p=E+28|0;d=E+24|0;_=E+20|0;m=E+16|0;y=E+12|0;v=E+8|0;k=E+4|0;g=E;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=n;f[b>>2]=a;f[w>>2]=o;f[k>>2]=f[(f[w>>2]|0)+4>>2]<<3;f[g>>2]=Ae(f[w>>2]|0)|0;f[v>>2]=f[u>>2]|0?2:4;if((f[b>>2]|0)>0)a=((f[g>>2]|0)+(f[v>>2]|0)+1|0)>>>0<=(f[k>>2]|0)>>>0;else a=0;f[m>>2]=a&1;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);f[d>>2]=0;f[y>>2]=0;f[p>>2]=f[l>>2];while(1){if((f[p>>2]|0)>=(f[s>>2]|0))break;if(((f[g>>2]|0)+(f[v>>2]|0)|0)>>>0<=(f[k>>2]|0)>>>0){n=Ne(f[w>>2]|0,f[v>>2]|0)|0;f[d>>2]=f[d>>2]^n;f[g>>2]=Ae(f[w>>2]|0)|0;f[y>>2]=f[y>>2]|f[d>>2]}f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=f[d>>2];f[v>>2]=f[u>>2]|0?4:5;f[p>>2]=(f[p>>2]|0)+1}f[_>>2]=0;if(f[m>>2]|0?(t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+0+(f[y>>2]|0))>>0]|0)!=(t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+2+(f[y>>2]|0))>>0]|0):0)f[_>>2]=Ne(f[w>>2]|0,1)|0;f[p>>2]=f[l>>2];while(1){if((f[p>>2]|0)>=(f[s>>2]|0))break;f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=t[25232+(f[b>>2]<<3)+((f[u>>2]<<2)+(f[_>>2]<<1)+(f[(f[c>>2]|0)+(f[p>>2]<<2)>>2]|0))>>0];f[p>>2]=(f[p>>2]|0)+1}h=E;return}function Re(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+44>>2]|0}function Te(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0;n=h;h=h+16|0;l=n+12|0;o=n+8|0;a=n+4|0;s=n;f[l>>2]=e;f[o>>2]=r;f[a>>2]=i;f[s>>2]=t;r=f[s>>2]|0;e=Me(f[o>>2]|0,f[l>>2]|0)|0;Qe(r,e,(f[(f[364+(((f[o>>2]|0)<(f[a>>2]|0)?f[o>>2]|0:f[a>>2]|0)<<2)>>2]|0)+(((f[o>>2]|0)>(f[a>>2]|0)?f[o>>2]|0:f[a>>2]|0)<<2)>>2]|0)+(f[(f[364+(((f[o>>2]|0)<((f[a>>2]|0)+1|0)?f[o>>2]|0:(f[a>>2]|0)+1|0)<<2)>>2]|0)+(((f[o>>2]|0)>((f[a>>2]|0)+1|0)?f[o>>2]|0:(f[a>>2]|0)+1|0)<<2)>>2]|0)|0);h=n;return}function Me(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[i>>2]=e;f[t>>2]=r;f[a>>2]=(f[i>>2]|0)-1;f[n>>2]=(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)<0&1;f[o>>2]=Y(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)|0;do{f[a>>2]=(f[a>>2]|0)+-1;if(((f[i>>2]|0)-(f[a>>2]|0)|0)>(f[o>>2]|0))r=(f[i>>2]|0)-(f[a>>2]|0)|0;else r=f[o>>2]|0;if(((f[i>>2]|0)-(f[a>>2]|0)|0)<(f[o>>2]|0))e=(f[i>>2]|0)-(f[a>>2]|0)|0;else e=f[o>>2]|0;f[n>>2]=(f[n>>2]|0)+(f[(f[364+(e<<2)>>2]|0)+(r<<2)>>2]|0);r=Y(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+r;if((f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)<0){if(((f[i>>2]|0)-(f[a>>2]|0)|0)>((f[o>>2]|0)+1|0))r=(f[i>>2]|0)-(f[a>>2]|0)|0;else r=(f[o>>2]|0)+1|0;if(((f[i>>2]|0)-(f[a>>2]|0)|0)<((f[o>>2]|0)+1|0))e=(f[i>>2]|0)-(f[a>>2]|0)|0;else e=(f[o>>2]|0)+1|0;f[n>>2]=(f[n>>2]|0)+(f[(f[364+(e<<2)>>2]|0)+(r<<2)>>2]|0)}}while((f[a>>2]|0)>0);h=l;return f[n>>2]|0}function xe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;a=h;h=h+16|0;o=a+12|0;s=a+8|0;l=a+4|0;u=a;f[o>>2]=e;f[s>>2]=r;f[l>>2]=i;f[u>>2]=t;i=f[s>>2]|0;r=f[l>>2]|0;e=ze(f[u>>2]|0,(f[(f[364+(((f[s>>2]|0)<(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0)<<2)>>2]|0)+(((f[s>>2]|0)>(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0)<<2)>>2]|0)+(f[(f[364+(((f[s>>2]|0)<((f[l>>2]|0)+1|0)?f[s>>2]|0:(f[l>>2]|0)+1|0)<<2)>>2]|0)+(((f[s>>2]|0)>((f[l>>2]|0)+1|0)?f[s>>2]|0:(f[l>>2]|0)+1|0)<<2)>>2]|0)|0)|0;n=+Oe(i,r,e,f[o>>2]|0);h=a;return+n}function Oe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;g=h;h=h+48|0;a=g+36|0;o=g+32|0;l=g+28|0;u=g+24|0;b=g+20|0;d=g+16|0;c=g+12|0;p=g+40|0;v=g+8|0;w=g+4|0;k=g;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;s[v>>2]=0;while(1){i=f[o>>2]|0;if((f[a>>2]|0)<=2)break;r=f[a>>2]|0;do{if((i|0)>=(f[a>>2]|0)){f[k>>2]=f[364+(r<<2)>>2];f[b>>2]=f[(f[k>>2]|0)+((f[o>>2]|0)+1<<2)>>2];f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[b>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[b>>2]&f[d>>2]);f[c>>2]=f[o>>2];f[w>>2]=f[(f[k>>2]|0)+(f[a>>2]<<2)>>2];e:do{if((f[w>>2]|0)>>>0>(f[l>>2]|0)>>>0){f[o>>2]=f[a>>2];do{t=f[a>>2]|0;e=(f[o>>2]|0)+-1|0;f[o>>2]=e;f[b>>2]=f[(f[364+(e<<2)>>2]|0)+(t<<2)>>2]}while((f[b>>2]|0)>>>0>(f[l>>2]|0)>>>0)}else{f[b>>2]=f[(f[k>>2]|0)+(f[o>>2]<<2)>>2];while(1){if((f[b>>2]|0)>>>0<=(f[l>>2]|0)>>>0)break e;f[o>>2]=(f[o>>2]|0)+-1;f[b>>2]=f[(f[k>>2]|0)+(f[o>>2]<<2)>>2]}}}while(0);f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);n[p>>1]=(f[c>>2]|0)-(f[o>>2]|0)+(f[d>>2]|0)^f[d>>2];e=n[p>>1]|0;t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=e;s[v>>2]=+s[v>>2]+ +(n[p>>1]|0)*+(n[p>>1]|0)}else{f[b>>2]=f[(f[364+(f[o>>2]<<2)>>2]|0)+(r<<2)>>2];f[w>>2]=f[(f[364+((f[o>>2]|0)+1<<2)>>2]|0)+(f[a>>2]<<2)>>2];if((f[b>>2]|0)>>>0<=(f[l>>2]|0)>>>0?(f[l>>2]|0)>>>0<(f[w>>2]|0)>>>0:0){f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=0;break}f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[w>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[w>>2]&f[d>>2]);f[c>>2]=f[o>>2];do{t=f[a>>2]|0;e=(f[o>>2]|0)+-1|0;f[o>>2]=e;f[b>>2]=f[(f[364+(e<<2)>>2]|0)+(t<<2)>>2]}while((f[b>>2]|0)>>>0>(f[l>>2]|0)>>>0);f[l>>2]=(f[l>>2]|0)-(f[b>>2]|0);n[p>>1]=(f[c>>2]|0)-(f[o>>2]|0)+(f[d>>2]|0)^f[d>>2];e=n[p>>1]|0;t=f[u>>2]|0;f[u>>2]=t+4;f[t>>2]=e;s[v>>2]=+s[v>>2]+ +(n[p>>1]|0)*+(n[p>>1]|0)}}while(0);f[a>>2]=(f[a>>2]|0)+-1}f[b>>2]=(i<<1)+1;f[d>>2]=0-((f[l>>2]|0)>>>0>=(f[b>>2]|0)>>>0&1);f[l>>2]=(f[l>>2]|0)-(f[b>>2]&f[d>>2]);f[c>>2]=f[o>>2];f[o>>2]=((f[l>>2]|0)+1|0)>>>1;if(!(f[o>>2]|0)){k=f[c>>2]|0;w=f[o>>2]|0;w=k-w|0;k=f[d>>2]|0;k=w+k|0;w=f[d>>2]|0;w=k^w;w=w&65535;n[p>>1]=w;w=n[p>>1]|0;w=w<<16>>16;k=f[u>>2]|0;b=k+4|0;f[u>>2]=b;f[k>>2]=w;m=+s[v>>2];k=n[p>>1]|0;y=+(k<<16>>16);k=n[p>>1]|0;_=+(k<<16>>16);_=y*_;_=m+_;s[v>>2]=_;k=f[l>>2]|0;k=0-k|0;f[d>>2]=k;k=f[o>>2]|0;w=f[d>>2]|0;w=k+w|0;k=f[d>>2]|0;k=w^k;k=k&65535;n[p>>1]=k;k=n[p>>1]|0;k=k<<16>>16;d=f[u>>2]|0;f[d>>2]=k;_=+s[v>>2];d=n[p>>1]|0;m=+(d<<16>>16);p=n[p>>1]|0;y=+(p<<16>>16);y=m*y;y=_+y;s[v>>2]=y;y=+s[v>>2];h=g;return+y}f[l>>2]=(f[l>>2]|0)-((f[o>>2]<<1)-1);k=f[c>>2]|0;w=f[o>>2]|0;w=k-w|0;k=f[d>>2]|0;k=w+k|0;w=f[d>>2]|0;w=k^w;w=w&65535;n[p>>1]=w;w=n[p>>1]|0;w=w<<16>>16;k=f[u>>2]|0;b=k+4|0;f[u>>2]=b;f[k>>2]=w;y=+s[v>>2];k=n[p>>1]|0;m=+(k<<16>>16);k=n[p>>1]|0;_=+(k<<16>>16);_=m*_;_=y+_;s[v>>2]=_;k=f[l>>2]|0;k=0-k|0;f[d>>2]=k;k=f[o>>2]|0;w=f[d>>2]|0;w=k+w|0;k=f[d>>2]|0;k=w^k;k=k&65535;n[p>>1]=k;k=n[p>>1]|0;k=k<<16>>16;d=f[u>>2]|0;f[d>>2]=k;_=+s[v>>2];d=n[p>>1]|0;y=+(d<<16>>16);p=n[p>>1]|0;m=+(p<<16>>16);m=y*m;m=_+m;s[v>>2]=m;m=+s[v>>2];h=g;return+m}function Le(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;t=h;h=h+32|0;o=t+16|0;i=t+12|0;a=t+8|0;r=t+4|0;n=t;f[o>>2]=e;f[i>>2]=f[(f[o>>2]|0)+20>>2]<<3;f[r>>2]=32-(te(f[(f[o>>2]|0)+28>>2]|0)|0);f[a>>2]=(f[(f[o>>2]|0)+28>>2]|0)>>>((f[r>>2]|0)-16|0);f[n>>2]=((f[a>>2]|0)>>>12)-8;f[n>>2]=(f[n>>2]|0)+((f[a>>2]|0)>>>0>(f[5512+(f[n>>2]<<2)>>2]|0)>>>0&1);f[r>>2]=(f[r>>2]<<3)+(f[n>>2]|0);h=t;return(f[i>>2]|0)-(f[r>>2]|0)|0}function Pe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;f[f[n>>2]>>2]=f[o>>2];f[(f[n>>2]|0)+4>>2]=f[a>>2];f[(f[n>>2]|0)+8>>2]=0;f[(f[n>>2]|0)+12>>2]=0;f[(f[n>>2]|0)+16>>2]=0;f[(f[n>>2]|0)+20>>2]=9;f[(f[n>>2]|0)+24>>2]=0;f[(f[n>>2]|0)+28>>2]=128;e=Ie(f[n>>2]|0)|0;f[(f[n>>2]|0)+40>>2]=e;f[(f[n>>2]|0)+32>>2]=(f[(f[n>>2]|0)+28>>2]|0)-1-(f[(f[n>>2]|0)+40>>2]>>1);f[(f[n>>2]|0)+44>>2]=0;Ce(f[n>>2]|0);h=t;return}function Ie(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if((f[(f[r>>2]|0)+24>>2]|0)>>>0>=(f[(f[r>>2]|0)+4>>2]|0)>>>0){e=0;h=i;return e|0}t=(f[r>>2]|0)+24|0;e=f[t>>2]|0;f[t>>2]=e+1;e=a[(f[f[r>>2]>>2]|0)+e>>0]|0;h=i;return e|0}function Ce(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[r>>2]=e;while(1){if((f[(f[r>>2]|0)+28>>2]|0)>>>0>8388608)break;e=(f[r>>2]|0)+20|0;f[e>>2]=(f[e>>2]|0)+8;e=(f[r>>2]|0)+28|0;f[e>>2]=f[e>>2]<<8;f[i>>2]=f[(f[r>>2]|0)+40>>2];e=Ie(f[r>>2]|0)|0;f[(f[r>>2]|0)+40>>2]=e;f[i>>2]=(f[i>>2]<<8|f[(f[r>>2]|0)+40>>2])>>1;f[(f[r>>2]|0)+32>>2]=(f[(f[r>>2]|0)+32>>2]<<8)+(255&~f[i>>2])&2147483647}h=t;return}function Ue(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;n=h;h=h+16|0;a=n+8|0;t=n+4|0;i=n;f[a>>2]=e;f[t>>2]=r;e=Be(f[(f[a>>2]|0)+28>>2]|0,f[t>>2]|0)|0;f[(f[a>>2]|0)+36>>2]=e;f[i>>2]=((f[(f[a>>2]|0)+32>>2]|0)>>>0)/((f[(f[a>>2]|0)+36>>2]|0)>>>0)|0;h=n;return(f[t>>2]|0)-((f[i>>2]|0)+1+((f[t>>2]|0)-((f[i>>2]|0)+1)&0-((f[t>>2]|0)>>>0<((f[i>>2]|0)+1|0)>>>0&1)))|0}function Be(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function je(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;n=h;h=h+16|0;a=n+8|0;t=n+4|0;i=n;f[a>>2]=e;f[t>>2]=r;f[(f[a>>2]|0)+36>>2]=(f[(f[a>>2]|0)+28>>2]|0)>>>(f[t>>2]|0);f[i>>2]=((f[(f[a>>2]|0)+32>>2]|0)>>>0)/((f[(f[a>>2]|0)+36>>2]|0)>>>0)|0;h=n;return(1<>2])-((f[i>>2]|0)+1+((1<>2])-((f[i>>2]|0)+1)&0-(1<>2]>>>0<((f[i>>2]|0)+1|0)>>>0&1)))|0}function De(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;n=s+16|0;a=s+12|0;o=s+8|0;u=s+4|0;l=s;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[u>>2]=t;f[l>>2]=re(f[(f[n>>2]|0)+36>>2]|0,(f[u>>2]|0)-(f[o>>2]|0)|0)|0;i=(f[n>>2]|0)+32|0;f[i>>2]=(f[i>>2]|0)-(f[l>>2]|0);i=f[n>>2]|0;if((f[a>>2]|0)>>>0>0){l=re(f[i+36>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;u=f[n>>2]|0;u=u+28|0;f[u>>2]=l;u=f[n>>2]|0;Ce(u);h=s;return}else{l=(f[i+28>>2]|0)-(f[l>>2]|0)|0;u=f[n>>2]|0;u=u+28|0;f[u>>2]=l;u=f[n>>2]|0;Ce(u);h=s;return}}function Ne(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;l=h;h=h+32|0;i=l+20|0;s=l+16|0;n=l+12|0;t=l+8|0;o=l+4|0;a=l;f[i>>2]=e;f[s>>2]=r;f[n>>2]=f[(f[i>>2]|0)+28>>2];f[t>>2]=f[(f[i>>2]|0)+32>>2];f[o>>2]=(f[n>>2]|0)>>>(f[s>>2]|0);f[a>>2]=(f[t>>2]|0)>>>0<(f[o>>2]|0)>>>0&1;if(!(f[a>>2]|0))f[(f[i>>2]|0)+32>>2]=(f[t>>2]|0)-(f[o>>2]|0);if(f[a>>2]|0){o=f[o>>2]|0;s=f[i>>2]|0;s=s+28|0;f[s>>2]=o;s=f[i>>2]|0;Ce(s);s=f[a>>2]|0;h=l;return s|0}else{o=(f[n>>2]|0)-(f[o>>2]|0)|0;s=f[i>>2]|0;s=s+28|0;f[s>>2]=o;s=f[i>>2]|0;Ce(s);s=f[a>>2]|0;h=l;return s|0}return 0}function Fe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;b=h;h=h+32|0;t=b+28|0;n=b+24|0;w=b+20|0;l=b+16|0;o=b+12|0;u=b+8|0;c=b+4|0;s=b;f[t>>2]=e;f[n>>2]=r;f[w>>2]=i;f[u>>2]=f[(f[t>>2]|0)+28>>2];f[o>>2]=f[(f[t>>2]|0)+32>>2];f[l>>2]=(f[u>>2]|0)>>>(f[w>>2]|0);f[s>>2]=-1;do{f[c>>2]=f[u>>2];e=f[l>>2]|0;w=(f[s>>2]|0)+1|0;f[s>>2]=w;f[u>>2]=re(e,a[(f[n>>2]|0)+w>>0]|0)|0}while((f[o>>2]|0)>>>0<(f[u>>2]|0)>>>0);f[(f[t>>2]|0)+32>>2]=(f[o>>2]|0)-(f[u>>2]|0);f[(f[t>>2]|0)+28>>2]=(f[c>>2]|0)-(f[u>>2]|0);Ce(f[t>>2]|0);h=b;return f[s>>2]|0}function ze(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;i=u+24|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[n>>2]=(f[n>>2]|0)+-1;f[o>>2]=32-(te(f[n>>2]|0)|0);if((f[o>>2]|0)<=8){f[n>>2]=(f[n>>2]|0)+1;f[l>>2]=Ue(f[t>>2]|0,f[n>>2]|0)|0;De(f[t>>2]|0,f[l>>2]|0,(f[l>>2]|0)+1|0,f[n>>2]|0);f[i>>2]=f[l>>2];s=f[i>>2]|0;h=u;return s|0}f[o>>2]=(f[o>>2]|0)-8;f[a>>2]=((f[n>>2]|0)>>>(f[o>>2]|0))+1;f[l>>2]=Ue(f[t>>2]|0,f[a>>2]|0)|0;De(f[t>>2]|0,f[l>>2]|0,(f[l>>2]|0)+1|0,f[a>>2]|0);l=f[l>>2]<>2];f[s>>2]=l|(Ye(f[t>>2]|0,f[o>>2]|0)|0);if((f[s>>2]|0)>>>0<=(f[n>>2]|0)>>>0){f[i>>2]=f[s>>2];s=f[i>>2]|0;h=u;return s|0}else{f[(f[t>>2]|0)+44>>2]=1;f[i>>2]=f[n>>2];s=f[i>>2]|0;h=u;return s|0}return 0}function Ye(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+16|0;t=l+12|0;o=l+8|0;n=l+4|0;a=l;f[i>>2]=e;f[t>>2]=r;f[o>>2]=f[(f[i>>2]|0)+12>>2];f[n>>2]=f[(f[i>>2]|0)+16>>2];if((f[n>>2]|0)>>>0<(f[t>>2]|0)>>>0)do{e=He(f[i>>2]|0)|0;f[o>>2]=f[o>>2]|e<>2];f[n>>2]=(f[n>>2]|0)+8}while((f[n>>2]|0)<=24);f[a>>2]=f[o>>2]&(1<>2])-1;f[o>>2]=(f[o>>2]|0)>>>(f[t>>2]|0);f[n>>2]=(f[n>>2]|0)-(f[t>>2]|0);f[(f[i>>2]|0)+12>>2]=f[o>>2];f[(f[i>>2]|0)+16>>2]=f[n>>2];o=(f[i>>2]|0)+20|0;f[o>>2]=(f[o>>2]|0)+(f[t>>2]|0);h=l;return f[a>>2]|0}function He(e){e=e|0;var r=0,i=0,t=0,n=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if((f[(f[r>>2]|0)+8>>2]|0)>>>0>=(f[(f[r>>2]|0)+4>>2]|0)>>>0){e=0;h=i;return e|0}t=f[(f[r>>2]|0)+4>>2]|0;n=(f[r>>2]|0)+8|0;e=(f[n>>2]|0)+1|0;f[n>>2]=e;e=a[(f[f[r>>2]>>2]|0)+(t-e)>>0]|0;h=i;return e|0}function qe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;f[f[n>>2]>>2]=f[o>>2];f[(f[n>>2]|0)+8>>2]=0;f[(f[n>>2]|0)+12>>2]=0;f[(f[n>>2]|0)+16>>2]=0;f[(f[n>>2]|0)+20>>2]=33;f[(f[n>>2]|0)+24>>2]=0;f[(f[n>>2]|0)+28>>2]=-2147483648;f[(f[n>>2]|0)+40>>2]=-1;f[(f[n>>2]|0)+32>>2]=0;f[(f[n>>2]|0)+36>>2]=0;f[(f[n>>2]|0)+4>>2]=f[a>>2];f[(f[n>>2]|0)+44>>2]=0;h=t;return}function We(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=Ze(f[(f[n>>2]|0)+28>>2]|0,f[l>>2]|0)|0;if((f[a>>2]|0)>>>0>0){t=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,(f[l>>2]|0)-(f[a>>2]|0)|0)|0)|0;e=(f[n>>2]|0)+32|0;f[e>>2]=(f[e>>2]|0)+t;s=re(f[s>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=s;s=f[n>>2]|0;Ve(s);h=u;return}else{e=re(f[s>>2]|0,(f[l>>2]|0)-(f[o>>2]|0)|0)|0;s=(f[n>>2]|0)+28|0;f[s>>2]=(f[s>>2]|0)-e;s=f[n>>2]|0;Ve(s);h=u;return}}function Ze(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Ve(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;while(1){if((f[(f[r>>2]|0)+28>>2]|0)>>>0>8388608)break;Je(f[r>>2]|0,(f[(f[r>>2]|0)+32>>2]|0)>>>23);f[(f[r>>2]|0)+32>>2]=f[(f[r>>2]|0)+32>>2]<<8&2147483647;e=(f[r>>2]|0)+28|0;f[e>>2]=f[e>>2]<<8;e=(f[r>>2]|0)+20|0;f[e>>2]=(f[e>>2]|0)+8}h=i;return}function Je(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[t>>2]=r;if((f[t>>2]|0)==255){a=(f[i>>2]|0)+36|0;f[a>>2]=(f[a>>2]|0)+1;h=o;return}f[n>>2]=f[t>>2]>>8;if((f[(f[i>>2]|0)+40>>2]|0)>=0){r=Ge(f[i>>2]|0,(f[(f[i>>2]|0)+40>>2]|0)+(f[n>>2]|0)|0)|0;e=(f[i>>2]|0)+44|0;f[e>>2]=f[e>>2]|r}if((f[(f[i>>2]|0)+36>>2]|0)>>>0>0){f[a>>2]=255+(f[n>>2]|0)&255;do{n=Ge(f[i>>2]|0,f[a>>2]|0)|0;e=(f[i>>2]|0)+44|0;f[e>>2]=f[e>>2]|n;e=(f[i>>2]|0)+36|0;n=(f[e>>2]|0)+-1|0;f[e>>2]=n}while(n>>>0>0)}f[(f[i>>2]|0)+40>>2]=f[t>>2]&255;h=o;return}function Ge(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[n>>2]=e;f[a>>2]=r;if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[i>>2]=-1;r=f[i>>2]|0;h=o;return r|0}else{e=f[a>>2]&255;a=(f[n>>2]|0)+24|0;r=f[a>>2]|0;f[a>>2]=r+1;t[(f[f[n>>2]>>2]|0)+r>>0]=e;f[i>>2]=0;r=f[i>>2]|0;h=o;return r|0}return 0}function Ke(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+28>>2]|0)>>>(f[l>>2]|0);if((f[a>>2]|0)>>>0>0){r=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,(1<>2])-(f[a>>2]|0)|0)|0)|0;e=(f[n>>2]|0)+32|0;f[e>>2]=(f[e>>2]|0)+r;s=re(f[s>>2]|0,(f[o>>2]|0)-(f[a>>2]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=s;s=f[n>>2]|0;Ve(s);h=u;return}else{e=re(f[s>>2]|0,(1<>2])-(f[o>>2]|0)|0)|0;s=(f[n>>2]|0)+28|0;f[s>>2]=(f[s>>2]|0)-e;s=f[n>>2]|0;Ve(s);h=u;return}}function Xe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;t=s+20|0;n=s+16|0;u=s+12|0;o=s+8|0;l=s+4|0;a=s;f[t>>2]=e;f[n>>2]=r;f[u>>2]=i;f[o>>2]=f[(f[t>>2]|0)+28>>2];f[a>>2]=f[(f[t>>2]|0)+32>>2];f[l>>2]=(f[o>>2]|0)>>>(f[u>>2]|0);f[o>>2]=(f[o>>2]|0)-(f[l>>2]|0);if(f[n>>2]|0)f[(f[t>>2]|0)+32>>2]=(f[a>>2]|0)+(f[o>>2]|0);f[(f[t>>2]|0)+28>>2]=f[n>>2]|0?f[l>>2]|0:f[o>>2]|0;Ve(f[t>>2]|0);h=s;return}function $e(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,l=0,s=0,u=0,c=0;u=h;h=h+32|0;n=u+16|0;o=u+12|0;l=u+8|0;c=u+4|0;s=u;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[c>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+28>>2]|0)>>>(f[c>>2]|0);if((f[o>>2]|0)>0){e=(f[(f[n>>2]|0)+28>>2]|0)-(re(f[s>>2]|0,a[(f[l>>2]|0)+((f[o>>2]|0)-1)>>0]|0)|0)|0;c=(f[n>>2]|0)+32|0;f[c>>2]=(f[c>>2]|0)+e;c=re(f[s>>2]|0,(a[(f[l>>2]|0)+((f[o>>2]|0)-1)>>0]|0)-(a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)|0)|0;f[(f[n>>2]|0)+28>>2]=c;c=f[n>>2]|0;Ve(c);h=u;return}else{s=re(f[s>>2]|0,a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)|0;c=(f[n>>2]|0)+28|0;f[c>>2]=(f[c>>2]|0)-s;c=f[n>>2]|0;Ve(c);h=u;return}}function Qe(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[a>>2]=(f[a>>2]|0)+-1;f[s>>2]=32-(te(f[a>>2]|0)|0);if((f[s>>2]|0)>8){f[s>>2]=(f[s>>2]|0)-8;f[l>>2]=((f[a>>2]|0)>>>(f[s>>2]|0))+1;f[o>>2]=(f[n>>2]|0)>>>(f[s>>2]|0);We(f[t>>2]|0,f[o>>2]|0,(f[o>>2]|0)+1|0,f[l>>2]|0);er(f[t>>2]|0,f[n>>2]&(1<>2])-1,f[s>>2]|0);h=u;return}else{We(f[t>>2]|0,f[n>>2]|0,(f[n>>2]|0)+1|0,(f[a>>2]|0)+1|0);h=u;return}}function er(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+16|0;n=s+12|0;a=s+8|0;l=s+4|0;o=s;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=f[(f[t>>2]|0)+12>>2];f[o>>2]=f[(f[t>>2]|0)+16>>2];if(((f[o>>2]|0)+(f[a>>2]|0)|0)>>>0>32)do{r=rr(f[t>>2]|0,f[l>>2]&255)|0;e=(f[t>>2]|0)+44|0;f[e>>2]=f[e>>2]|r;f[l>>2]=(f[l>>2]|0)>>>8;f[o>>2]=(f[o>>2]|0)-8}while((f[o>>2]|0)>=8);f[l>>2]=f[l>>2]|f[n>>2]<>2];f[o>>2]=(f[o>>2]|0)+(f[a>>2]|0);f[(f[t>>2]|0)+12>>2]=f[l>>2];f[(f[t>>2]|0)+16>>2]=f[o>>2];l=(f[t>>2]|0)+20|0;f[l>>2]=(f[l>>2]|0)+(f[a>>2]|0);h=s;return}function rr(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0,l=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[n>>2]=e;f[a>>2]=r;if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[i>>2]=-1;r=f[i>>2]|0;h=o;return r|0}else{a=f[a>>2]&255;e=f[(f[n>>2]|0)+4>>2]|0;l=(f[n>>2]|0)+8|0;r=(f[l>>2]|0)+1|0;f[l>>2]=r;t[(f[f[n>>2]>>2]|0)+(e-r)>>0]=a;f[i>>2]=0;r=f[i>>2]|0;h=o;return r|0}return 0}function ir(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;o=c+12|0;l=c+8|0;u=c+4|0;s=c;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=8-(f[l>>2]|0);f[s>>2]=(1<>2])-1<>2];i=f[n>>2]|0;if((f[(f[n>>2]|0)+24>>2]|0)>>>0>0){t[f[f[n>>2]>>2]>>0]=(a[f[i>>2]>>0]|0)&~f[s>>2]|f[o>>2]<>2];h=c;return}e=f[n>>2]|0;if((f[i+40>>2]|0)>=0){f[(f[n>>2]|0)+40>>2]=f[e+40>>2]&~f[s>>2]|f[o>>2]<>2];h=c;return}i=f[n>>2]|0;if((f[e+28>>2]|0)>>>0<=-2147483648>>>(f[l>>2]|0)>>>0){f[(f[n>>2]|0)+32>>2]=f[i+32>>2]&~(f[s>>2]<<23)|f[o>>2]<<23+(f[u>>2]|0);h=c;return}else{f[i+44>>2]=-1;h=c;return}}function tr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;i=h;h=h+16|0;t=i+4|0;n=i;f[t>>2]=e;f[n>>2]=r;ys((f[f[t>>2]>>2]|0)+(f[n>>2]|0)+(0-(f[(f[t>>2]|0)+8>>2]|0))|0,(f[f[t>>2]>>2]|0)+(f[(f[t>>2]|0)+4>>2]|0)+(0-(f[(f[t>>2]|0)+8>>2]|0))|0,(f[(f[t>>2]|0)+8>>2]|0)+0|0)|0;f[(f[t>>2]|0)+4>>2]=f[n>>2];h=i;return}function nr(e){e=e|0;var r=0,i=0,n=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+20|0;s=u+16|0;l=u+12|0;r=u+8|0;i=u+4|0;o=u;f[n>>2]=e;f[o>>2]=32-(32-(te(f[(f[n>>2]|0)+28>>2]|0)|0));f[r>>2]=2147483647>>>(f[o>>2]|0);f[i>>2]=(f[(f[n>>2]|0)+32>>2]|0)+(f[r>>2]|0)&~f[r>>2];if((f[i>>2]|f[r>>2])>>>0>=((f[(f[n>>2]|0)+32>>2]|0)+(f[(f[n>>2]|0)+28>>2]|0)|0)>>>0){f[o>>2]=(f[o>>2]|0)+1;f[r>>2]=(f[r>>2]|0)>>>1;f[i>>2]=(f[(f[n>>2]|0)+32>>2]|0)+(f[r>>2]|0)&~f[r>>2]}while(1){e=f[n>>2]|0;if((f[o>>2]|0)<=0)break;Je(e,(f[i>>2]|0)>>>23);f[i>>2]=f[i>>2]<<8&2147483647;f[o>>2]=(f[o>>2]|0)-8}if(!((f[e+40>>2]|0)<0?(f[(f[n>>2]|0)+36>>2]|0)>>>0<=0:0))Je(f[n>>2]|0,0);f[s>>2]=f[(f[n>>2]|0)+12>>2];f[l>>2]=f[(f[n>>2]|0)+16>>2];while(1){e=f[n>>2]|0;if((f[l>>2]|0)<8)break;r=rr(e,f[s>>2]&255)|0;i=(f[n>>2]|0)+44|0;f[i>>2]=f[i>>2]|r;f[s>>2]=(f[s>>2]|0)>>>8;f[l>>2]=(f[l>>2]|0)-8}if(f[e+44>>2]|0){h=u;return}vs((f[f[n>>2]>>2]|0)+(f[(f[n>>2]|0)+24>>2]|0)|0,0,(f[(f[n>>2]|0)+4>>2]|0)-(f[(f[n>>2]|0)+24>>2]|0)-(f[(f[n>>2]|0)+8>>2]|0)|0)|0;if((f[l>>2]|0)<=0){h=u;return}if((f[(f[n>>2]|0)+8>>2]|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0){f[(f[n>>2]|0)+44>>2]=-1;h=u;return}f[o>>2]=0-(f[o>>2]|0);if(((f[(f[n>>2]|0)+24>>2]|0)+(f[(f[n>>2]|0)+8>>2]|0)|0)>>>0>=(f[(f[n>>2]|0)+4>>2]|0)>>>0?(f[o>>2]|0)<(f[l>>2]|0):0){f[s>>2]=f[s>>2]&(1<>2])-1;f[(f[n>>2]|0)+44>>2]=-1}l=(f[f[n>>2]>>2]|0)+((f[(f[n>>2]|0)+4>>2]|0)-(f[(f[n>>2]|0)+8>>2]|0)-1)|0;t[l>>0]=a[l>>0]|0|f[s>>2]&255;h=u;return}function fr(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+64|0;i=w+60|0;t=w+56|0;u=w+52|0;s=w+48|0;c=w+44|0;a=w+40|0;o=w+8|0;l=w+4|0;b=w;f[i>>2]=e;f[t>>2]=r;if((f[(f[i>>2]|0)+8>>2]|0)>0)r=f[(f[i>>2]|0)+8>>2]|0;else r=0;f[b>>2]=r;f[o>>2]=1;f[a>>2]=0;do{f[c>>2]=n[(f[i>>2]|0)+12+(f[a>>2]<<1<<1)>>1];f[s>>2]=n[(f[i>>2]|0)+12+((f[a>>2]<<1)+1<<1)>>1];e=re(f[o+(f[a>>2]<<2)>>2]|0,f[c>>2]|0)|0;f[o+((f[a>>2]|0)+1<<2)>>2]=e;f[a>>2]=(f[a>>2]|0)+1}while((f[s>>2]|0)!=1);f[s>>2]=n[(f[i>>2]|0)+12+((f[a>>2]<<1)-1<<1)>>1];f[l>>2]=(f[a>>2]|0)-1;while(1){if((f[l>>2]|0)<0)break;if(f[l>>2]|0)f[u>>2]=n[(f[i>>2]|0)+12+((f[l>>2]<<1)-1<<1)>>1];else f[u>>2]=1;switch(n[(f[i>>2]|0)+12+(f[l>>2]<<1<<1)>>1]|0){case 2:{ar(f[t>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0);break}case 4:{or(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}case 3:{lr(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}case 5:{sr(f[t>>2]|0,f[o+(f[l>>2]<<2)>>2]<>2],f[i>>2]|0,f[s>>2]|0,f[o+(f[l>>2]<<2)>>2]|0,f[u>>2]|0);break}default:{}}f[s>>2]=f[u>>2];f[l>>2]=(f[l>>2]|0)+-1}h=w;return}function ar(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;t=c+28|0;n=c+20|0;a=c+16|0;o=c+12|0;u=c+8|0;l=c;f[t>>2]=e;f[c+24>>2]=r;f[n>>2]=i;s[u>>2]=.7071067690849304;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;f[a>>2]=(f[t>>2]|0)+32;r=f[a>>2]|0;f[l>>2]=f[r>>2];f[l+4>>2]=f[r+4>>2];s[f[a>>2]>>2]=+s[f[t>>2]>>2]-+s[l>>2];s[(f[a>>2]|0)+4>>2]=+s[(f[t>>2]|0)+4>>2]-+s[l+4>>2];r=f[t>>2]|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=(+s[(f[a>>2]|0)+8>>2]+ +s[(f[a>>2]|0)+8+4>>2])*+s[u>>2];s[l+4>>2]=(+s[(f[a>>2]|0)+8+4>>2]-+s[(f[a>>2]|0)+8>>2])*+s[u>>2];s[(f[a>>2]|0)+8>>2]=+s[(f[t>>2]|0)+8>>2]-+s[l>>2];s[(f[a>>2]|0)+8+4>>2]=+s[(f[t>>2]|0)+8+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+8|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+8+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=+s[(f[a>>2]|0)+16+4>>2];s[l+4>>2]=-+s[(f[a>>2]|0)+16>>2];s[(f[a>>2]|0)+16>>2]=+s[(f[t>>2]|0)+16>>2]-+s[l>>2];s[(f[a>>2]|0)+16+4>>2]=+s[(f[t>>2]|0)+16+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+16|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+16+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];s[l>>2]=(+s[(f[a>>2]|0)+24+4>>2]-+s[(f[a>>2]|0)+24>>2])*+s[u>>2];s[l+4>>2]=(-+s[(f[a>>2]|0)+24+4>>2]-+s[(f[a>>2]|0)+24>>2])*+s[u>>2];s[(f[a>>2]|0)+24>>2]=+s[(f[t>>2]|0)+24>>2]-+s[l>>2];s[(f[a>>2]|0)+24+4>>2]=+s[(f[t>>2]|0)+24+4>>2]-+s[l+4>>2];r=(f[t>>2]|0)+24|0;s[r>>2]=+s[r>>2]+ +s[l>>2];r=(f[t>>2]|0)+24+4|0;s[r>>2]=+s[r>>2]+ +s[l+4>>2];f[t>>2]=(f[t>>2]|0)+64;f[o>>2]=(f[o>>2]|0)+1}h=c;return}function or(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+128|0;o=R+120|0;l=R+116|0;u=R+112|0;c=R+108|0;b=R+104|0;w=R+100|0;d=R+96|0;_=R+88|0;m=R+80|0;p=R+72|0;y=R+24|0;E=R+20|0;A=R+16|0;S=R+12|0;v=R+8|0;g=R+4|0;k=R;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;if((f[c>>2]|0)==1){f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;s[_>>2]=+s[f[o>>2]>>2]-+s[(f[o>>2]|0)+16>>2];s[_+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[(f[o>>2]|0)+16+4>>2];S=f[o>>2]|0;s[S>>2]=+s[S>>2]+ +s[(f[o>>2]|0)+16>>2];S=(f[o>>2]|0)+4|0;s[S>>2]=+s[S>>2]+ +s[(f[o>>2]|0)+16+4>>2];s[m>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[(f[o>>2]|0)+24>>2];s[m+4>>2]=+s[(f[o>>2]|0)+8+4>>2]+ +s[(f[o>>2]|0)+24+4>>2];s[(f[o>>2]|0)+16>>2]=+s[f[o>>2]>>2]-+s[m>>2];s[(f[o>>2]|0)+16+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[m+4>>2];S=f[o>>2]|0;s[S>>2]=+s[S>>2]+ +s[m>>2];S=(f[o>>2]|0)+4|0;s[S>>2]=+s[S>>2]+ +s[m+4>>2];s[m>>2]=+s[(f[o>>2]|0)+8>>2]-+s[(f[o>>2]|0)+24>>2];s[m+4>>2]=+s[(f[o>>2]|0)+8+4>>2]-+s[(f[o>>2]|0)+24+4>>2];s[(f[o>>2]|0)+8>>2]=+s[_>>2]+ +s[m+4>>2];s[(f[o>>2]|0)+8+4>>2]=+s[_+4>>2]-+s[m>>2];s[(f[o>>2]|0)+24>>2]=+s[_>>2]-+s[m+4>>2];s[(f[o>>2]|0)+24+4>>2]=+s[_+4>>2]+ +s[m>>2];f[o>>2]=(f[o>>2]|0)+32;f[d>>2]=(f[d>>2]|0)+1}h=R;return}f[v>>2]=f[c>>2]<<1;f[g>>2]=(f[c>>2]|0)*3;f[k>>2]=f[o>>2];f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[o>>2]=(f[k>>2]|0)+((re(f[d>>2]|0,f[w>>2]|0)|0)<<3);i=f[(f[u>>2]|0)+48>>2]|0;f[E>>2]=i;f[A>>2]=i;f[S>>2]=i;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[c>>2]|0))break;s[y>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[f[E>>2]>>2]-+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[(f[E>>2]|0)+4>>2];s[y+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[(f[E>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[f[E>>2]>>2];s[y+8>>2]=+s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]*+s[f[A>>2]>>2]-+s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]*+s[(f[A>>2]|0)+4>>2];s[y+8+4>>2]=+s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]*+s[(f[A>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]*+s[f[A>>2]>>2];s[y+16>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[f[S>>2]>>2]-+s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[(f[S>>2]|0)+4>>2];s[y+16+4>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[(f[S>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[f[S>>2]>>2];s[y+40>>2]=+s[f[o>>2]>>2]-+s[y+8>>2];s[y+40+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+8+4>>2];i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+8>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+8+4>>2];s[y+24>>2]=+s[y>>2]+ +s[y+16>>2];s[y+24+4>>2]=+s[y+4>>2]+ +s[y+16+4>>2];s[y+32>>2]=+s[y>>2]-+s[y+16>>2];s[y+32+4>>2]=+s[y+4>>2]-+s[y+16+4>>2];s[(f[o>>2]|0)+(f[v>>2]<<3)>>2]=+s[f[o>>2]>>2]-+s[y+24>>2];s[(f[o>>2]|0)+(f[v>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+24+4>>2];f[E>>2]=(f[E>>2]|0)+(f[l>>2]<<3);f[A>>2]=(f[A>>2]|0)+(f[l>>2]<<1<<3);f[S>>2]=(f[S>>2]|0)+((f[l>>2]|0)*3<<3);i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+24>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+24+4>>2];s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]=+s[y+40>>2]+ +s[y+32+4>>2];s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]=+s[y+40+4>>2]-+s[y+32>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]=+s[y+40>>2]-+s[y+32+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]=+s[y+40+4>>2]+ +s[y+32>>2];f[o>>2]=(f[o>>2]|0)+8;f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}h=R;return}function lr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+112|0;o=E+96|0;l=E+92|0;u=E+88|0;c=E+84|0;b=E+80|0;w=E+76|0;p=E+72|0;v=E+68|0;g=E+64|0;_=E+60|0;m=E+56|0;y=E+16|0;d=E+8|0;k=E;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[g>>2]=f[c>>2]<<1;f[k>>2]=f[o>>2];i=re(f[l>>2]|0,f[c>>2]|0)|0;i=(f[(f[u>>2]|0)+48>>2]|0)+(i<<3)|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;f[o>>2]=(f[k>>2]|0)+((re(f[p>>2]|0,f[w>>2]|0)|0)<<3);i=f[(f[u>>2]|0)+48>>2]|0;f[m>>2]=i;f[_>>2]=i;f[v>>2]=f[c>>2];do{s[y+8>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[f[_>>2]>>2]-+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[(f[_>>2]|0)+4>>2];s[y+8+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]*+s[(f[_>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]*+s[f[_>>2]>>2];s[y+16>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[f[m>>2]>>2]-+s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[(f[m>>2]|0)+4>>2];s[y+16+4>>2]=+s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]*+s[(f[m>>2]|0)+4>>2]+ +s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]*+s[f[m>>2]>>2];s[y+24>>2]=+s[y+8>>2]+ +s[y+16>>2];s[y+24+4>>2]=+s[y+8+4>>2]+ +s[y+16+4>>2];s[y>>2]=+s[y+8>>2]-+s[y+16>>2];s[y+4>>2]=+s[y+8+4>>2]-+s[y+16+4>>2];f[_>>2]=(f[_>>2]|0)+(f[l>>2]<<3);f[m>>2]=(f[m>>2]|0)+(f[l>>2]<<1<<3);s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]=+s[f[o>>2]>>2]-+s[y+24>>2]*.5;s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+4>>2]-+s[y+24+4>>2]*.5;s[y>>2]=+s[y>>2]*+s[d+4>>2];i=y+4|0;s[i>>2]=+s[i>>2]*+s[d+4>>2];i=f[o>>2]|0;s[i>>2]=+s[i>>2]+ +s[y+24>>2];i=(f[o>>2]|0)+4|0;s[i>>2]=+s[i>>2]+ +s[y+24+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)>>2]+ +s[y+4>>2];s[(f[o>>2]|0)+(f[g>>2]<<3)+4>>2]=+s[(f[o>>2]|0)+(f[c>>2]<<3)+4>>2]-+s[y>>2];i=(f[o>>2]|0)+(f[c>>2]<<3)|0;s[i>>2]=+s[i>>2]-+s[y+4>>2];i=(f[o>>2]|0)+(f[c>>2]<<3)+4|0;s[i>>2]=+s[i>>2]+ +s[y>>2];f[o>>2]=(f[o>>2]|0)+8;i=(f[v>>2]|0)+-1|0;f[v>>2]=i}while((i|0)!=0);f[p>>2]=(f[p>>2]|0)+1}h=E;return}function sr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0;R=h;h=h+192|0;o=R+184|0;l=R+180|0;T=R+176|0;u=R+172|0;c=R+168|0;b=R+164|0;w=R+160|0;k=R+156|0;d=R+152|0;p=R+148|0;v=R+144|0;y=R+140|0;E=R+136|0;_=R+32|0;m=R+24|0;A=R+16|0;S=R+8|0;g=R;f[o>>2]=e;f[l>>2]=r;f[T>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[g>>2]=f[o>>2];i=re(f[l>>2]|0,f[u>>2]|0)|0;i=(f[(f[T>>2]|0)+48>>2]|0)+(i<<3)|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];i=re(f[l>>2]<<1,f[u>>2]|0)|0;i=(f[(f[T>>2]|0)+48>>2]|0)+(i<<3)|0;f[S>>2]=f[i>>2];f[S+4>>2]=f[i+4>>2];f[m>>2]=f[(f[T>>2]|0)+48>>2];f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[c>>2]|0))break;f[o>>2]=(f[g>>2]|0)+((re(f[y>>2]|0,f[b>>2]|0)|0)<<3);f[w>>2]=f[o>>2];f[k>>2]=(f[w>>2]|0)+(f[u>>2]<<3);f[d>>2]=(f[w>>2]|0)+(f[u>>2]<<1<<3);f[p>>2]=(f[w>>2]|0)+((f[u>>2]|0)*3<<3);f[v>>2]=(f[w>>2]|0)+(f[u>>2]<<2<<3);f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[u>>2]|0))break;T=f[w>>2]|0;f[_>>2]=f[T>>2];f[_+4>>2]=f[T+4>>2];T=re(f[E>>2]|0,f[l>>2]|0)|0;i=re(f[E>>2]|0,f[l>>2]|0)|0;s[_+8>>2]=+s[f[k>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[k>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]|0,f[l>>2]|0)|0;T=re(f[E>>2]|0,f[l>>2]|0)|0;s[_+8+4>>2]=+s[f[k>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[k>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re(f[E>>2]<<1,f[l>>2]|0)|0;i=re(f[E>>2]<<1,f[l>>2]|0)|0;s[_+16>>2]=+s[f[d>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[d>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]<<1,f[l>>2]|0)|0;T=re(f[E>>2]<<1,f[l>>2]|0)|0;s[_+16+4>>2]=+s[f[d>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[d>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;i=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;s[_+24>>2]=+s[f[p>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[p>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;T=re((f[E>>2]|0)*3|0,f[l>>2]|0)|0;s[_+24+4>>2]=+s[f[p>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[p>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];T=re(f[E>>2]<<2,f[l>>2]|0)|0;i=re(f[E>>2]<<2,f[l>>2]|0)|0;s[_+32>>2]=+s[f[v>>2]>>2]*+s[(f[m>>2]|0)+(T<<3)>>2]-+s[(f[v>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2];i=re(f[E>>2]<<2,f[l>>2]|0)|0;T=re(f[E>>2]<<2,f[l>>2]|0)|0;s[_+32+4>>2]=+s[f[v>>2]>>2]*+s[(f[m>>2]|0)+(i<<3)+4>>2]+ +s[(f[v>>2]|0)+4>>2]*+s[(f[m>>2]|0)+(T<<3)>>2];s[_+56>>2]=+s[_+8>>2]+ +s[_+32>>2];s[_+56+4>>2]=+s[_+8+4>>2]+ +s[_+32+4>>2];s[_+80>>2]=+s[_+8>>2]-+s[_+32>>2];s[_+80+4>>2]=+s[_+8+4>>2]-+s[_+32+4>>2];s[_+64>>2]=+s[_+16>>2]+ +s[_+24>>2];s[_+64+4>>2]=+s[_+16+4>>2]+ +s[_+24+4>>2];s[_+72>>2]=+s[_+16>>2]-+s[_+24>>2];s[_+72+4>>2]=+s[_+16+4>>2]-+s[_+24+4>>2];T=f[w>>2]|0;s[T>>2]=+s[T>>2]+(+s[_+56>>2]+ +s[_+64>>2]);T=(f[w>>2]|0)+4|0;s[T>>2]=+s[T>>2]+(+s[_+56+4>>2]+ +s[_+64+4>>2]);s[_+40>>2]=+s[_>>2]+ +s[_+56>>2]*+s[A>>2]+ +s[_+64>>2]*+s[S>>2];s[_+40+4>>2]=+s[_+4>>2]+ +s[_+56+4>>2]*+s[A>>2]+ +s[_+64+4>>2]*+s[S>>2];s[_+48>>2]=+s[_+80+4>>2]*+s[A+4>>2]+ +s[_+72+4>>2]*+s[S+4>>2];s[_+48+4>>2]=-(+s[_+80>>2]*+s[A+4>>2])-+s[_+72>>2]*+s[S+4>>2];s[f[k>>2]>>2]=+s[_+40>>2]-+s[_+48>>2];s[(f[k>>2]|0)+4>>2]=+s[_+40+4>>2]-+s[_+48+4>>2];s[f[v>>2]>>2]=+s[_+40>>2]+ +s[_+48>>2];s[(f[v>>2]|0)+4>>2]=+s[_+40+4>>2]+ +s[_+48+4>>2];s[_+88>>2]=+s[_>>2]+ +s[_+56>>2]*+s[S>>2]+ +s[_+64>>2]*+s[A>>2];s[_+88+4>>2]=+s[_+4>>2]+ +s[_+56+4>>2]*+s[S>>2]+ +s[_+64+4>>2]*+s[A>>2];s[_+96>>2]=-(+s[_+80+4>>2]*+s[S+4>>2])+ +s[_+72+4>>2]*+s[A+4>>2];s[_+96+4>>2]=+s[_+80>>2]*+s[S+4>>2]-+s[_+72>>2]*+s[A+4>>2];s[f[d>>2]>>2]=+s[_+88>>2]+ +s[_+96>>2];s[(f[d>>2]|0)+4>>2]=+s[_+88+4>>2]+ +s[_+96+4>>2];s[f[p>>2]>>2]=+s[_+88>>2]-+s[_+96>>2];s[(f[p>>2]|0)+4>>2]=+s[_+88+4>>2]-+s[_+96+4>>2];f[w>>2]=(f[w>>2]|0)+8;f[k>>2]=(f[k>>2]|0)+8;f[d>>2]=(f[d>>2]|0)+8;f[p>>2]=(f[p>>2]|0)+8;f[v>>2]=(f[v>>2]|0)+8;f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=(f[y>>2]|0)+1}h=R;return}function ur(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;a=b+20|0;o=b+16|0;l=b+12|0;u=b+8|0;c=b;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=+s[(f[t>>2]|0)+4>>2];f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[f[t>>2]>>2]|0))break;e=(f[a>>2]|0)+(f[l>>2]<<3)|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];s[(f[o>>2]|0)+(n[(f[(f[t>>2]|0)+44>>2]|0)+(f[l>>2]<<1)>>1]<<3)>>2]=+s[u>>2]*+s[c>>2];s[(f[o>>2]|0)+(n[(f[(f[t>>2]|0)+44>>2]|0)+(f[l>>2]<<1)>>1]<<3)+4>>2]=+s[u>>2]*+s[c+4>>2];f[l>>2]=(f[l>>2]|0)+1}fr(f[t>>2]|0,f[o>>2]|0);h=b;return}function hr(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;l=d+36|0;s=d+32|0;u=d+28|0;n=d+24|0;b=d+20|0;o=d+16|0;k=d+12|0;w=d+8|0;c=d+4|0;a=d;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[n>>2]=t;f[o>>2]=f[f[s>>2]>>2];f[b>>2]=0;if(!(f[o>>2]|0)){c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}f[k>>2]=0-((f[o>>2]|0)<0&1);f[o>>2]=(f[o>>2]|0)+(f[k>>2]|0)^f[k>>2];f[b>>2]=f[u>>2];f[u>>2]=cr(f[u>>2]|0,f[n>>2]|0)|0;f[w>>2]=1;while(1){if((f[u>>2]|0)>>>0>0)e=(f[w>>2]|0)<(f[o>>2]|0);else e=0;t=f[u>>2]|0;if(!e)break;f[u>>2]=t<<1;f[b>>2]=(f[b>>2]|0)+((f[u>>2]|0)+2);f[u>>2]=(re(f[u>>2]|0,f[n>>2]|0)|0)>>>15;f[w>>2]=(f[w>>2]|0)+1}if(t|0){f[u>>2]=(f[u>>2]|0)+1;f[b>>2]=(f[b>>2]|0)+(f[u>>2]&~f[k>>2]);c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}f[a>>2]=(32768-(f[b>>2]|0)+1-1|0)>>>0;f[a>>2]=(f[a>>2]|0)-(f[k>>2]|0)>>1;if(((f[o>>2]|0)-(f[w>>2]|0)|0)<((f[a>>2]|0)-1|0))t=(f[o>>2]|0)-(f[w>>2]|0)|0;else t=(f[a>>2]|0)-1|0;f[c>>2]=t;f[b>>2]=(f[b>>2]|0)+((f[c>>2]<<1)+1+(f[k>>2]|0));f[u>>2]=1<(32768-(f[b>>2]|0)|0)>>>0?1:32768-(f[b>>2]|0)|0;f[f[s>>2]>>2]=(f[w>>2]|0)+(f[c>>2]|0)+(f[k>>2]|0)^f[k>>2];c=f[l>>2]|0;w=f[b>>2]|0;b=f[b>>2]|0;k=f[u>>2]|0;k=b+k|0;Ke(c,w,k,15);h=d;return}function cr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;i=h;h=h+16|0;a=i+8|0;t=i+4|0;n=i;f[a>>2]=e;f[t>>2]=r;f[n>>2]=32736-(f[a>>2]|0);e=(re(f[n>>2]|0,16384-(f[t>>2]|0)|0)|0)>>>15;h=i;return e|0}function br(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;t=c+24|0;l=c+20|0;n=c+16|0;u=c+12|0;s=c+8|0;o=c+4|0;a=c;f[t>>2]=e;f[l>>2]=r;f[n>>2]=i;f[u>>2]=0;f[o>>2]=je(f[t>>2]|0,15)|0;f[s>>2]=0;do{if((f[o>>2]|0)>>>0>=(f[l>>2]|0)>>>0){f[u>>2]=(f[u>>2]|0)+1;f[s>>2]=f[l>>2];f[l>>2]=(cr(f[l>>2]|0,f[n>>2]|0)|0)+1;while(1){if((f[l>>2]|0)>>>0>1)i=(f[o>>2]|0)>>>0>=((f[s>>2]|0)+(f[l>>2]<<1)|0)>>>0;else i=0;e=f[l>>2]|0;if(!i)break;f[l>>2]=e<<1;f[s>>2]=(f[s>>2]|0)+(f[l>>2]|0);f[l>>2]=(re((f[l>>2]|0)-2|0,f[n>>2]|0)|0)>>>15;f[l>>2]=(f[l>>2]|0)+1;f[u>>2]=(f[u>>2]|0)+1}if(e>>>0<=1){f[a>>2]=((f[o>>2]|0)-(f[s>>2]|0)|0)>>>1;f[u>>2]=(f[u>>2]|0)+(f[a>>2]|0);f[s>>2]=(f[s>>2]|0)+(f[a>>2]<<1)}if((f[o>>2]|0)>>>0<((f[s>>2]|0)+(f[l>>2]|0)|0)>>>0){f[u>>2]=0-(f[u>>2]|0);break}else{f[s>>2]=(f[s>>2]|0)+(f[l>>2]|0);break}}}while(0);e=f[t>>2]|0;i=f[s>>2]|0;if(((f[s>>2]|0)+(f[l>>2]|0)|0)>>>0>=32768){s=32768;De(e,i,s,32768);u=f[u>>2]|0;h=c;return u|0}s=(f[s>>2]|0)+(f[l>>2]|0)|0;De(e,i,s,32768);u=f[u>>2]|0;h=c;return u|0}function wr(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;n=o+8|0;t=o+4|0;a=o;f[r>>2]=e;f[n>>2]=0;f[t>>2]=32-(te(f[r>>2]|0)|0)-1>>1;f[i>>2]=1<>2];do{f[a>>2]=(f[n>>2]<<1)+(f[i>>2]|0)<>2];if((f[a>>2]|0)>>>0<=(f[r>>2]|0)>>>0){f[n>>2]=(f[n>>2]|0)+(f[i>>2]|0);f[r>>2]=(f[r>>2]|0)-(f[a>>2]|0)}f[i>>2]=(f[i>>2]|0)>>>1;f[t>>2]=(f[t>>2]|0)+-1}while((f[t>>2]|0)>=0);h=o;return f[n>>2]|0}function kr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0;Z=h;h=h+160|0;V=Z+144|0;w=Z+140|0;k=Z+136|0;d=Z+132|0;p=Z+128|0;c=Z+124|0;v=Z+120|0;E=Z+112|0;b=Z+108|0;y=Z+104|0;_=Z+100|0;T=Z+96|0;P=Z+92|0;R=Z+88|0;g=Z+84|0;U=Z+80|0;B=Z+76|0;F=Z+72|0;I=Z+68|0;C=Z+64|0;z=Z+60|0;M=Z+56|0;j=Z+48|0;x=Z+44|0;O=Z+40|0;S=Z+36|0;A=Z+32|0;q=Z+28|0;D=Z+24|0;m=Z+20|0;Y=Z+16|0;H=Z+12|0;L=Z+8|0;W=Z+4|0;N=Z;f[V>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[c>>2]=o;f[v>>2]=l;f[Z+116>>2]=u;f[T>>2]=f[(f[V>>2]|0)+8+(f[c>>2]<<2)>>2];s[R>>2]=+s[(f[T>>2]|0)+4>>2];f[b>>2]=f[f[V>>2]>>2];f[P>>2]=f[(f[V>>2]|0)+24>>2];f[E>>2]=0;while(1){u=f[b>>2]>>1;if((f[E>>2]|0)>=(f[c>>2]|0))break;f[b>>2]=u;f[P>>2]=(f[P>>2]|0)+(f[b>>2]<<2);f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=u;f[_>>2]=f[b>>2]>>2;r=f[y>>2]|0;f[g>>2]=he()|0;u=h;h=h+((1*(r<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[_>>2]<<3)|0)+15&-16)|0;f[U>>2]=(f[w>>2]|0)+(f[p>>2]>>1<<2);f[B>>2]=(f[w>>2]|0)+(f[y>>2]<<2)+-4+(f[p>>2]>>1<<2);f[F>>2]=u;f[I>>2]=(f[d>>2]|0)+(f[p>>2]>>1<<2);f[C>>2]=(f[d>>2]|0)+(f[p>>2]>>1<<2)+-4;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[p>>2]|0)+3>>2|0))break;J=+s[f[C>>2]>>2]*+s[(f[U>>2]|0)+(f[y>>2]<<2)>>2]+ +s[f[I>>2]>>2]*+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[I>>2]>>2]*+s[f[U>>2]>>2]-+s[f[C>>2]>>2]*+s[(f[B>>2]|0)+(0-(f[y>>2]|0)<<2)>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[I>>2]=(f[I>>2]|0)+8;f[C>>2]=(f[C>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[I>>2]=f[d>>2];f[C>>2]=(f[d>>2]|0)+(f[p>>2]<<2)+-4;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-((f[p>>2]|0)+3>>2)|0))break;J=+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[U>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;J=-(+s[f[I>>2]>>2]*+s[(f[U>>2]|0)+(0-(f[y>>2]|0)<<2)>>2])+ +s[f[C>>2]>>2]*+s[f[B>>2]>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;J=+s[f[C>>2]>>2]*+s[f[U>>2]>>2]+ +s[f[I>>2]>>2]*+s[(f[B>>2]|0)+(f[y>>2]<<2)>>2];V=f[F>>2]|0;f[F>>2]=V+4;s[V>>2]=J;f[U>>2]=(f[U>>2]|0)+8;f[B>>2]=(f[B>>2]|0)+-8;f[I>>2]=(f[I>>2]|0)+8;f[C>>2]=(f[C>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[z>>2]=u;f[M>>2]=f[P>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;s[x>>2]=+s[(f[M>>2]|0)+(f[E>>2]<<2)>>2];s[O>>2]=+s[(f[M>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];V=f[z>>2]|0;f[z>>2]=V+4;s[S>>2]=+s[V>>2];V=f[z>>2]|0;f[z>>2]=V+4;s[A>>2]=+s[V>>2];s[q>>2]=+s[S>>2]*+s[x>>2]-+s[A>>2]*+s[O>>2];s[D>>2]=+s[A>>2]*+s[x>>2]+ +s[S>>2]*+s[O>>2];s[j>>2]=+s[q>>2];s[j+4>>2]=+s[D>>2];s[j>>2]=+s[R>>2]*+s[j>>2];s[j+4>>2]=+s[R>>2]*+s[j+4>>2];V=r+(n[(f[(f[T>>2]|0)+44>>2]|0)+(f[E>>2]<<1)>>1]<<3)|0;f[V>>2]=f[j>>2];f[V+4>>2]=f[j+4>>2];f[E>>2]=(f[E>>2]|0)+1}fr(f[T>>2]|0,r);f[m>>2]=r;f[Y>>2]=f[k>>2];f[H>>2]=(f[k>>2]|0)+((re(f[v>>2]|0,(f[y>>2]|0)-1|0)|0)<<2);f[L>>2]=f[P>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;s[W>>2]=+s[(f[m>>2]|0)+4>>2]*+s[(f[L>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2]-+s[f[m>>2]>>2]*+s[(f[L>>2]|0)+(f[E>>2]<<2)>>2];s[N>>2]=+s[f[m>>2]>>2]*+s[(f[L>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2]+ +s[(f[m>>2]|0)+4>>2]*+s[(f[L>>2]|0)+(f[E>>2]<<2)>>2];s[f[Y>>2]>>2]=+s[W>>2];s[f[H>>2]>>2]=+s[N>>2];f[m>>2]=(f[m>>2]|0)+8;f[Y>>2]=(f[Y>>2]|0)+(f[v>>2]<<1<<2);f[H>>2]=(f[H>>2]|0)+(0-(f[v>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+1}de(f[g>>2]|0);h=Z;return}function dr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0;V=h;h=h+144|0;c=V+140|0;b=V+136|0;w=V+132|0;k=V+128|0;d=V+124|0;p=V+120|0;v=V+116|0;E=V+108|0;g=V+104|0;y=V+100|0;_=V+96|0;L=V+92|0;B=V+88|0;D=V+84|0;z=V+80|0;T=V+76|0;m=V+72|0;R=V+68|0;W=V+64|0;N=V+60|0;Y=V+56|0;H=V+52|0;x=V+48|0;S=V+44|0;A=V+40|0;Z=V+36|0;F=V+32|0;M=V+28|0;O=V+24|0;j=V+20|0;q=V+16|0;P=V+12|0;I=V+8|0;C=V+4|0;U=V;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[V+112>>2]=u;f[g>>2]=f[f[c>>2]>>2];f[L>>2]=f[(f[c>>2]|0)+24>>2];f[E>>2]=0;while(1){u=f[g>>2]>>1;if((f[E>>2]|0)>=(f[p>>2]|0))break;f[g>>2]=u;f[L>>2]=(f[L>>2]|0)+(f[g>>2]<<2);f[E>>2]=(f[E>>2]|0)+1}f[y>>2]=u;f[_>>2]=f[g>>2]>>2;f[B>>2]=f[b>>2];f[D>>2]=(f[b>>2]|0)+((re(f[v>>2]|0,(f[y>>2]|0)-1|0)|0)<<2);f[z>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2);f[T>>2]=f[L>>2];f[m>>2]=f[(f[(f[c>>2]|0)+8+(f[p>>2]<<2)>>2]|0)+44>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;g=f[m>>2]|0;f[m>>2]=g+2;f[R>>2]=n[g>>1];s[W>>2]=+s[f[D>>2]>>2]*+s[(f[T>>2]|0)+(f[E>>2]<<2)>>2]+ +s[f[B>>2]>>2]*+s[(f[T>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[N>>2]=+s[f[B>>2]>>2]*+s[(f[T>>2]|0)+(f[E>>2]<<2)>>2]-+s[f[D>>2]>>2]*+s[(f[T>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[(f[z>>2]|0)+((f[R>>2]<<1)+1<<2)>>2]=+s[W>>2];s[(f[z>>2]|0)+(f[R>>2]<<1<<2)>>2]=+s[N>>2];f[B>>2]=(f[B>>2]|0)+(f[v>>2]<<1<<2);f[D>>2]=(f[D>>2]|0)+(0-(f[v>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+1}fr(f[(f[c>>2]|0)+8+(f[p>>2]<<2)>>2]|0,(f[w>>2]|0)+(f[d>>2]>>1<<2)|0);f[Y>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2);f[H>>2]=(f[w>>2]|0)+(f[d>>2]>>1<<2)+(f[y>>2]<<2)+-8;f[x>>2]=f[L>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)+1>>1|0))break;s[S>>2]=+s[(f[Y>>2]|0)+4>>2];s[A>>2]=+s[f[Y>>2]>>2];s[M>>2]=+s[(f[x>>2]|0)+(f[E>>2]<<2)>>2];s[O>>2]=+s[(f[x>>2]|0)+((f[_>>2]|0)+(f[E>>2]|0)<<2)>>2];s[Z>>2]=+s[S>>2]*+s[M>>2]+ +s[A>>2]*+s[O>>2];s[F>>2]=+s[S>>2]*+s[O>>2]-+s[A>>2]*+s[M>>2];s[S>>2]=+s[(f[H>>2]|0)+4>>2];s[A>>2]=+s[f[H>>2]>>2];s[f[Y>>2]>>2]=+s[Z>>2];s[(f[H>>2]|0)+4>>2]=+s[F>>2];s[M>>2]=+s[(f[x>>2]|0)+((f[_>>2]|0)-(f[E>>2]|0)-1<<2)>>2];s[O>>2]=+s[(f[x>>2]|0)+((f[y>>2]|0)-(f[E>>2]|0)-1<<2)>>2];s[Z>>2]=+s[S>>2]*+s[M>>2]+ +s[A>>2]*+s[O>>2];s[F>>2]=+s[S>>2]*+s[O>>2]-+s[A>>2]*+s[M>>2];s[f[H>>2]>>2]=+s[Z>>2];s[(f[Y>>2]|0)+4>>2]=+s[F>>2];f[Y>>2]=(f[Y>>2]|0)+8;f[H>>2]=(f[H>>2]|0)+-8;f[E>>2]=(f[E>>2]|0)+1}f[j>>2]=(f[w>>2]|0)+(f[d>>2]<<2)+-4;f[q>>2]=f[w>>2];f[P>>2]=f[k>>2];f[I>>2]=(f[k>>2]|0)+(f[d>>2]<<2)+-4;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[d>>2]|0)/2|0|0))break;s[C>>2]=+s[f[j>>2]>>2];s[U>>2]=+s[f[q>>2]>>2];J=+s[f[I>>2]>>2]*+s[U>>2]-+s[f[P>>2]>>2]*+s[C>>2];Z=f[q>>2]|0;f[q>>2]=Z+4;s[Z>>2]=J;J=+s[f[P>>2]>>2]*+s[U>>2]+ +s[f[I>>2]>>2]*+s[C>>2];Z=f[j>>2]|0;f[j>>2]=Z+-4;s[Z>>2]=J;f[P>>2]=(f[P>>2]|0)+4;f[I>>2]=(f[I>>2]|0)+-4;f[E>>2]=(f[E>>2]|0)+1}h=V;return}function pr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;o=u+20|0;t=u+16|0;n=u+12|0;l=u+8|0;s=u+4|0;a=u;f[t>>2]=e;f[n>>2]=r;f[l>>2]=i;f[s>>2]=0;e:while(1){if((f[s>>2]|0)>=1){t=12;break}f[a>>2]=0;while(1){if((f[a>>2]|0)>=4)break;if((f[t>>2]|0)==(f[f[5544+(f[s>>2]<<2)>>2]>>2]|0)?(f[n>>2]<>2]|0)==(re(f[(f[5544+(f[s>>2]<<2)>>2]|0)+44>>2]|0,f[(f[5544+(f[s>>2]<<2)>>2]|0)+40>>2]|0)|0):0){t=7;break e}f[a>>2]=(f[a>>2]|0)+1}f[s>>2]=(f[s>>2]|0)+1}if((t|0)==7){if(f[l>>2]|0)f[f[l>>2]>>2]=0;f[o>>2]=f[5544+(f[s>>2]<<2)>>2];s=f[o>>2]|0;h=u;return s|0}else if((t|0)==12){if(f[l>>2]|0)f[f[l>>2]>>2]=-1;f[o>>2]=0;s=f[o>>2]|0;h=u;return s|0}return 0}function vr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+112|0;a=y+108|0;o=y+104|0;l=y+100|0;u=y+96|0;c=y+92|0;k=y+88|0;b=y+68|0;g=y+64|0;d=y+48|0;v=y+24|0;p=y+4|0;w=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;s[g>>2]=1;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;f[v+12>>2]=0;f[v+16>>2]=0;s[w>>2]=.800000011920929;f[k>>2]=1;while(1){if((f[k>>2]|0)>=(f[l>>2]>>1|0))break;s[(f[o>>2]|0)+(f[k>>2]<<2)>>2]=((+s[(f[f[a>>2]>>2]|0)+((f[k>>2]<<1)-1<<2)>>2]+ +s[(f[f[a>>2]>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])*.5+ +s[(f[f[a>>2]>>2]|0)+(f[k>>2]<<1<<2)>>2])*.5;f[k>>2]=(f[k>>2]|0)+1}s[f[o>>2]>>2]=(+s[(f[f[a>>2]>>2]|0)+4>>2]*.5+ +s[f[f[a>>2]>>2]>>2])*.5;if((f[u>>2]|0)==2){f[k>>2]=1;while(1){if((f[k>>2]|0)>=(f[l>>2]>>1|0))break;r=(f[o>>2]|0)+(f[k>>2]<<2)|0;s[r>>2]=+s[r>>2]+((+s[(f[(f[a>>2]|0)+4>>2]|0)+((f[k>>2]<<1)-1<<2)>>2]+ +s[(f[(f[a>>2]|0)+4>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])*.5+ +s[(f[(f[a>>2]|0)+4>>2]|0)+(f[k>>2]<<1<<2)>>2])*.5;f[k>>2]=(f[k>>2]|0)+1}r=f[o>>2]|0;s[r>>2]=+s[r>>2]+(+s[(f[(f[a>>2]|0)+4>>2]|0)+4>>2]*.5+ +s[f[(f[a>>2]|0)+4>>2]>>2])*.5}Pr(f[o>>2]|0,b,0,0,4,f[l>>2]>>1,f[c>>2]|0)|0;s[b>>2]=+s[b>>2]*1.000100016593933;f[k>>2]=1;while(1){if((f[k>>2]|0)>4)break;r=b+(f[k>>2]<<2)|0;s[r>>2]=+s[r>>2]-+s[b+(f[k>>2]<<2)>>2]*(+(f[k>>2]|0)*.00800000037997961)*(+(f[k>>2]|0)*.00800000037997961);f[k>>2]=(f[k>>2]|0)+1}Mr(d,b,4);f[k>>2]=0;while(1){if((f[k>>2]|0)>=4)break;s[g>>2]=+s[g>>2]*.8999999761581421;s[d+(f[k>>2]<<2)>>2]=+s[d+(f[k>>2]<<2)>>2]*+s[g>>2];f[k>>2]=(f[k>>2]|0)+1}s[p>>2]=+s[d>>2]+.800000011920929;s[p+4>>2]=+s[d+4>>2]+ +s[w>>2]*+s[d>>2];s[p+8>>2]=+s[d+8>>2]+ +s[w>>2]*+s[d+4>>2];s[p+12>>2]=+s[d+12>>2]+ +s[w>>2]*+s[d+8>>2];s[p+16>>2]=+s[w>>2]*+s[d+12>>2];gr(f[o>>2]|0,p,f[o>>2]|0,f[l>>2]>>1,v);h=y;return}function gr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+80|0;a=A+64|0;S=A+60|0;o=A+56|0;l=A+52|0;u=A+48|0;c=A+44|0;v=A+40|0;g=A+36|0;y=A+32|0;_=A+28|0;m=A+24|0;b=A+20|0;w=A+16|0;k=A+12|0;d=A+8|0;p=A+4|0;E=A;f[a>>2]=e;f[S>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=n;s[v>>2]=+s[f[S>>2]>>2];s[g>>2]=+s[(f[S>>2]|0)+4>>2];s[y>>2]=+s[(f[S>>2]|0)+8>>2];s[_>>2]=+s[(f[S>>2]|0)+12>>2];s[m>>2]=+s[(f[S>>2]|0)+16>>2];s[b>>2]=+s[f[u>>2]>>2];s[w>>2]=+s[(f[u>>2]|0)+4>>2];s[k>>2]=+s[(f[u>>2]|0)+8>>2];s[d>>2]=+s[(f[u>>2]|0)+12>>2];s[p>>2]=+s[(f[u>>2]|0)+16>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[E>>2]=+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];s[E>>2]=+s[E>>2]+ +s[v>>2]*+s[b>>2];s[E>>2]=+s[E>>2]+ +s[g>>2]*+s[w>>2];s[E>>2]=+s[E>>2]+ +s[y>>2]*+s[k>>2];s[E>>2]=+s[E>>2]+ +s[_>>2]*+s[d>>2];s[E>>2]=+s[E>>2]+ +s[m>>2]*+s[p>>2];s[p>>2]=+s[d>>2];s[d>>2]=+s[k>>2];s[k>>2]=+s[w>>2];s[w>>2]=+s[b>>2];s[b>>2]=+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]=+s[E>>2];f[c>>2]=(f[c>>2]|0)+1}s[f[u>>2]>>2]=+s[b>>2];s[(f[u>>2]|0)+4>>2]=+s[w>>2];s[(f[u>>2]|0)+8>>2]=+s[k>>2];s[(f[u>>2]|0)+12>>2]=+s[d>>2];s[(f[u>>2]|0)+16>>2]=+s[p>>2];h=A;return}function yr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+64|0;o=p+48|0;l=p+44|0;u=p+40|0;c=p+36|0;b=p+32|0;w=p+24|0;k=p+8|0;d=p;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[p+28>>2]=a;f[w>>2]=0;while(1){if((f[w>>2]|0)>=((f[b>>2]|0)-3|0))break;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;_r(f[o>>2]|0,(f[l>>2]|0)+(f[w>>2]<<2)|0,k,f[c>>2]|0);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=+s[k>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+1<<2)>>2]=+s[k+4>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+2<<2)>>2]=+s[k+8>>2];s[(f[u>>2]|0)+((f[w>>2]|0)+3<<2)>>2]=+s[k+12>>2];f[w>>2]=(f[w>>2]|0)+4}while(1){if((f[w>>2]|0)>=(f[b>>2]|0))break;s[d>>2]=+mr(f[o>>2]|0,(f[l>>2]|0)+(f[w>>2]<<2)|0,f[c>>2]|0);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=+s[d>>2];f[w>>2]=(f[w>>2]|0)+1}h=p;return}function _r(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;n=y+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;d=y+28|0;p=y+24|0;v=y+20|0;g=y+16|0;c=y+12|0;b=y+8|0;w=y+4|0;k=y;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;s[g>>2]=0;r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=((f[l>>2]|0)-3|0))break;r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[g>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[d>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[p>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[v>>2];f[u>>2]=(f[u>>2]|0)+4}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[b>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[b>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[b>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[b>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[b>>2]*+s[g>>2]}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[w>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[w>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[w>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[w>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[w>>2]*+s[d>>2]}if((f[u>>2]|0)>=(f[l>>2]|0)){h=y;return}r=f[n>>2]|0;f[n>>2]=r+4;s[k>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[k>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[k>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[k>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[k>>2]*+s[p>>2];h=y;return}function mr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function Er(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+80|0;o=S+64|0;l=S+60|0;u=S+56|0;c=S+52|0;b=S+48|0;w=S+44|0;y=S+40|0;_=S+36|0;m=S+32|0;v=S+24|0;E=S+20|0;k=S+16|0;A=S+12|0;d=S+8|0;p=S+4|0;g=S;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[v>>2]=0;f[v+4>>2]=0;f[m>>2]=(f[u>>2]|0)+(f[c>>2]|0);i=f[u>>2]>>2;f[k>>2]=he()|0;a=h;h=h+((1*(i<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[m>>2]>>2<<2)|0)+15&-16)|0;t=h;h=h+((1*(f[c>>2]>>1<<2)|0)+15&-16)|0;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[u>>2]>>2|0))break;s[a+(f[_>>2]<<2)>>2]=+s[(f[o>>2]|0)+(f[_>>2]<<1<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[m>>2]>>2|0))break;s[i+(f[_>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[_>>2]<<1<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}yr(a,i,t,f[u>>2]>>2,f[c>>2]>>2,f[w>>2]|0);Ar(t,i,f[u>>2]>>2,f[c>>2]>>2,v);f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[c>>2]>>1|0))break;s[t+(f[y>>2]<<2)>>2]=0;if(!((Y((f[y>>2]|0)-(f[v>>2]<<1)|0)|0)>2?(Y((f[y>>2]|0)-(f[v+4>>2]<<1)|0)|0)>2:0)){s[A>>2]=+mr(f[o>>2]|0,(f[l>>2]|0)+(f[y>>2]<<2)|0,f[u>>2]>>1);s[t+(f[y>>2]<<2)>>2]=-1>+s[A>>2]?-1:+s[A>>2]}f[y>>2]=(f[y>>2]|0)+1}Ar(t,f[l>>2]|0,f[u>>2]>>1,f[c>>2]>>1,v);if((f[v>>2]|0)>0?(f[v>>2]|0)<((f[c>>2]>>1)-1|0):0){s[d>>2]=+s[t+((f[v>>2]|0)-1<<2)>>2];s[p>>2]=+s[t+(f[v>>2]<<2)>>2];s[g>>2]=+s[t+((f[v>>2]|0)+1<<2)>>2];if(+s[g>>2]-+s[d>>2]>(+s[p>>2]-+s[d>>2])*.699999988079071){f[E>>2]=1;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}if(+s[d>>2]-+s[g>>2]>(+s[p>>2]-+s[g>>2])*.699999988079071){f[E>>2]=-1;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}else{f[E>>2]=0;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}}f[E>>2]=0;A=f[v>>2]|0;A=A<<1;E=f[E>>2]|0;E=A-E|0;A=f[b>>2]|0;f[A>>2]=E;A=f[k>>2]|0;de(A|0);h=S;return}function Ar(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;a=y+52|0;o=y+48|0;l=y+44|0;u=y+40|0;c=y+36|0;d=y+32|0;p=y+28|0;b=y+24|0;k=y+16|0;w=y+8|0;v=y+4|0;g=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;s[b>>2]=1;s[k>>2]=-1;s[k+4>>2]=-1;s[w>>2]=0;s[w+4>>2]=0;f[f[c>>2]>>2]=0;f[(f[c>>2]|0)+4>>2]=1;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[l>>2]|0))break;s[b>>2]=+s[b>>2]+ +s[(f[o>>2]|0)+(f[p>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[u>>2]|0))break;do{if(+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2]>0?(s[g>>2]=+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2],s[g>>2]=+s[g>>2]*9.999999960041972e-13,s[v>>2]=+s[g>>2]*+s[g>>2],+s[v>>2]*+s[w+4>>2]>+s[k+4>>2]*+s[b>>2]):0)if(+s[v>>2]*+s[w>>2]>+s[k>>2]*+s[b>>2]){s[k+4>>2]=+s[k>>2];s[w+4>>2]=+s[w>>2];f[(f[c>>2]|0)+4>>2]=f[f[c>>2]>>2];s[k>>2]=+s[v>>2];s[w>>2]=+s[b>>2];f[f[c>>2]>>2]=f[d>>2];break}else{s[k+4>>2]=+s[v>>2];s[w+4>>2]=+s[b>>2];f[(f[c>>2]|0)+4>>2]=f[d>>2];break}}while(0);s[b>>2]=+s[b>>2]+(+s[(f[o>>2]|0)+((f[d>>2]|0)+(f[l>>2]|0)<<2)>>2]*+s[(f[o>>2]|0)+((f[d>>2]|0)+(f[l>>2]|0)<<2)>>2]-+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]);s[b>>2]=1>+s[b>>2]?1:+s[b>>2];f[d>>2]=(f[d>>2]|0)+1}h=y;return}function Sr(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=+o;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;F=h;h=h+128|0;c=F+124|0;b=F+120|0;w=F+116|0;k=F+112|0;d=F+108|0;p=F+104|0;v=F+100|0;O=F+92|0;u=F+88|0;y=F+84|0;_=F+80|0;T=F+76|0;M=F+72|0;I=F+68|0;j=F+64|0;B=F+60|0;N=F+56|0;D=F+52|0;U=F+40|0;A=F+36|0;S=F+32|0;P=F+28|0;L=F+24|0;g=F+20|0;m=F+16|0;E=F+12|0;x=F+8|0;R=F+4|0;C=F;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;s[v>>2]=o;f[F+96>>2]=l;f[L>>2]=f[w>>2];f[b>>2]=(f[b>>2]|0)/2|0;f[w>>2]=(f[w>>2]|0)/2|0;e=f[d>>2]|0;f[e>>2]=(f[e>>2]|0)/2|0;f[p>>2]=(f[p>>2]|0)/2|0;f[k>>2]=(f[k>>2]|0)/2|0;f[c>>2]=(f[c>>2]|0)+(f[b>>2]<<2);if((f[f[d>>2]>>2]|0)>=(f[b>>2]|0))f[f[d>>2]>>2]=(f[b>>2]|0)-1;e=f[f[d>>2]>>2]|0;f[_>>2]=e;f[y>>2]=e;e=(f[b>>2]|0)+1|0;f[g>>2]=he()|0;n=h;h=h+((1*(e<<2)|0)+15&-16)|0;Rr(f[c>>2]|0,f[c>>2]|0,(f[c>>2]|0)+(0-(f[_>>2]|0)<<2)|0,f[k>>2]|0,B,j);s[n>>2]=+s[B>>2];s[N>>2]=+s[B>>2];f[u>>2]=1;while(1){if((f[u>>2]|0)>(f[b>>2]|0))break;s[N>>2]=+s[N>>2]+ +s[(f[c>>2]|0)+(0-(f[u>>2]|0)<<2)>>2]*+s[(f[c>>2]|0)+(0-(f[u>>2]|0)<<2)>>2]-+s[(f[c>>2]|0)+((f[k>>2]|0)-(f[u>>2]|0)<<2)>>2]*+s[(f[c>>2]|0)+((f[k>>2]|0)-(f[u>>2]|0)<<2)>>2];s[n+(f[u>>2]<<2)>>2]=0>+s[N>>2]?0:+s[N>>2];f[u>>2]=(f[u>>2]|0)+1}s[N>>2]=+s[n+(f[_>>2]<<2)>>2];s[A>>2]=+s[j>>2];s[S>>2]=+s[N>>2];o=+s[j>>2]/+H(+(+s[B>>2]*+s[N>>2]+1));s[M>>2]=o;s[T>>2]=o;f[O>>2]=2;while(1){if((f[O>>2]|0)>15)break;s[R>>2]=0;f[m>>2]=Tr((f[_>>2]<<1)+(f[O>>2]|0)|0,f[O>>2]<<1)|0;if((f[m>>2]|0)<(f[w>>2]|0))break;do{if((f[O>>2]|0)==2){t=f[_>>2]|0;if(((f[m>>2]|0)+(f[_>>2]|0)|0)>(f[b>>2]|0)){f[E>>2]=t;break}else{f[E>>2]=t+(f[m>>2]|0);break}}else{u=re(f[17400+(f[O>>2]<<2)>>2]<<1,f[_>>2]|0)|0;f[E>>2]=Tr(u+(f[O>>2]|0)|0,f[O>>2]<<1)|0}}while(0);Rr(f[c>>2]|0,(f[c>>2]|0)+(0-(f[m>>2]|0)<<2)|0,(f[c>>2]|0)+(0-(f[E>>2]|0)<<2)|0,f[k>>2]|0,j,D);s[j>>2]=+s[j>>2]+ +s[D>>2];s[N>>2]=+s[n+(f[m>>2]<<2)>>2]+ +s[n+(f[E>>2]<<2)>>2];s[x>>2]=+s[j>>2]/+H(+(+s[B>>2]*2*1*+s[N>>2]+1));do{if((Y((f[m>>2]|0)-(f[p>>2]|0)|0)|0)<=1)s[R>>2]=+s[v>>2];else{if((Y((f[m>>2]|0)-(f[p>>2]|0)|0)|0)<=2?(u=re((f[O>>2]|0)*5|0,f[O>>2]|0)|0,(u|0)<(f[_>>2]|0)):0){s[R>>2]=+s[v>>2]*.5;break}s[R>>2]=0}}while(0);if(.30000001192092896>+s[M>>2]*.699999988079071-+s[R>>2])o=.30000001192092896;else o=+s[M>>2]*.699999988079071-+s[R>>2];s[C>>2]=o;if((f[m>>2]|0)>=((f[w>>2]|0)*3|0)){if((f[m>>2]|0)<(f[w>>2]<<1|0)){if(.5>+s[M>>2]*.8999999761581421-+s[R>>2])o=.5;else o=+s[M>>2]*.8999999761581421-+s[R>>2];s[C>>2]=o}}else{if(.4000000059604645>+s[M>>2]*.8500000238418579-+s[R>>2])o=.4000000059604645;else o=+s[M>>2]*.8500000238418579-+s[R>>2];s[C>>2]=o}if(+s[x>>2]>+s[C>>2]){s[A>>2]=+s[j>>2];s[S>>2]=+s[N>>2];f[y>>2]=f[m>>2];s[T>>2]=+s[x>>2]}f[O>>2]=(f[O>>2]|0)+1}s[A>>2]=0>+s[A>>2]?0:+s[A>>2];if(+s[S>>2]<=+s[A>>2])s[I>>2]=1;else s[I>>2]=+s[A>>2]/(+s[S>>2]+1);f[O>>2]=0;while(1){if((f[O>>2]|0)>=3)break;o=+mr(f[c>>2]|0,(f[c>>2]|0)+(0-((f[y>>2]|0)+(f[O>>2]|0)-1)<<2)|0,f[k>>2]|0);s[U+(f[O>>2]<<2)>>2]=o;f[O>>2]=(f[O>>2]|0)+1}do{if(!(+s[U+8>>2]-+s[U>>2]>(+s[U+4>>2]-+s[U>>2])*.699999988079071))if(+s[U>>2]-+s[U+8>>2]>(+s[U+4>>2]-+s[U+8>>2])*.699999988079071){f[P>>2]=-1;break}else{f[P>>2]=0;break}else f[P>>2]=1}while(0);if(+s[I>>2]>+s[T>>2])s[I>>2]=+s[T>>2];f[f[d>>2]>>2]=(f[y>>2]<<1)+(f[P>>2]|0);if((f[f[d>>2]>>2]|0)>=(f[L>>2]|0)){o=+s[I>>2];N=f[g>>2]|0;de(N|0);h=F;return+o}f[f[d>>2]>>2]=f[L>>2];o=+s[I>>2];N=f[g>>2]|0;de(N|0);h=F;return+o}function Rr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;d=g+8|0;p=g+4|0;v=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[p>>2]=0;s[v>>2]=0;f[d>>2]=0;while(1){o=+s[p>>2];if((f[d>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=o+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[u>>2]|0)+(f[d>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[f[w>>2]>>2]=o;s[f[k>>2]>>2]=+s[v>>2];h=g;return}function Tr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Mr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;d=h;h=h+48|0;p=d+40|0;t=d+36|0;n=d+32|0;o=d+28|0;l=d+24|0;c=d+20|0;a=d+16|0;u=d+12|0;b=d+8|0;w=d+4|0;k=d;f[p>>2]=e;f[t>>2]=r;f[n>>2]=i;s[a>>2]=+s[f[t>>2]>>2];f[u>>2]=f[p>>2];f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;s[(f[u>>2]|0)+(f[o>>2]<<2)>>2]=0;f[o>>2]=(f[o>>2]|0)+1}if(!(+s[f[t>>2]>>2]!=0)){h=d;return}f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0)){t=15;break}s[b>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;s[b>>2]=+s[b>>2]+ +s[(f[u>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[t>>2]|0)+((f[o>>2]|0)-(f[l>>2]|0)<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}s[b>>2]=+s[b>>2]+ +s[(f[t>>2]|0)+((f[o>>2]|0)+1<<2)>>2];s[c>>2]=-(+s[b>>2]/+s[a>>2]);s[(f[u>>2]|0)+(f[o>>2]<<2)>>2]=+s[c>>2];f[l>>2]=0;while(1){if((f[l>>2]|0)>=((f[o>>2]|0)+1>>1|0))break;s[w>>2]=+s[(f[u>>2]|0)+(f[l>>2]<<2)>>2];s[k>>2]=+s[(f[u>>2]|0)+((f[o>>2]|0)-1-(f[l>>2]|0)<<2)>>2];s[(f[u>>2]|0)+(f[l>>2]<<2)>>2]=+s[w>>2]+ +s[c>>2]*+s[k>>2];s[(f[u>>2]|0)+((f[o>>2]|0)-1-(f[l>>2]|0)<<2)>>2]=+s[k>>2]+ +s[c>>2]*+s[w>>2];f[l>>2]=(f[l>>2]|0)+1}s[a>>2]=+s[a>>2]-+s[c>>2]*+s[c>>2]*+s[a>>2];if(+s[a>>2]<+s[f[t>>2]>>2]*.0010000000474974513){t=15;break}f[o>>2]=(f[o>>2]|0)+1}if((t|0)==15){h=d;return}}function xr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;l=_+60|0;u=_+56|0;c=_+52|0;b=_+48|0;w=_+44|0;k=_+40|0;p=_+32|0;v=_+28|0;d=_+24|0;g=_+8|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_+36>>2]=o;e=f[w>>2]|0;f[d>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;e=h;h=h+((1*((f[b>>2]|0)+(f[w>>2]|0)<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[t+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[e+(f[p>>2]<<2)>>2]=+s[(f[k>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[(f[k>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+((f[b>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=((f[b>>2]|0)-3|0))break;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;Or(t,e+(f[p>>2]<<2)|0,g,f[w>>2]|0);s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]+ +s[g>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+1<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+1<<2)>>2]+ +s[g+4>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+2<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+2<<2)>>2]+ +s[g+8>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+3<<2)>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+3<<2)>>2]+ +s[g+12>>2];f[p>>2]=(f[p>>2]|0)+4}while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[y>>2]=0;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[w>>2]|0))break;s[y>>2]=+s[y>>2]+ +s[t+(f[v>>2]<<2)>>2]*+s[e+((f[p>>2]|0)+(f[v>>2]|0)<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]+ +s[y>>2];f[p>>2]=(f[p>>2]|0)+1}de(f[d>>2]|0);h=_;return}function Or(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;n=y+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;d=y+28|0;p=y+24|0;v=y+20|0;g=y+16|0;c=y+12|0;b=y+8|0;w=y+4|0;k=y;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;s[g>>2]=0;r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=((f[l>>2]|0)-3|0))break;r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[g>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[d>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[p>>2];r=f[n>>2]|0;f[n>>2]=r+4;s[c>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[v>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[c>>2]*+s[g>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[c>>2]*+s[d>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[c>>2]*+s[p>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[c>>2]*+s[v>>2];f[u>>2]=(f[u>>2]|0)+4}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[b>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[g>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[b>>2]*+s[d>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[b>>2]*+s[p>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[b>>2]*+s[v>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[b>>2]*+s[g>>2]}r=f[u>>2]|0;f[u>>2]=r+1;if((r|0)<(f[l>>2]|0)){r=f[n>>2]|0;f[n>>2]=r+4;s[w>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[d>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[w>>2]*+s[p>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[w>>2]*+s[v>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[w>>2]*+s[g>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[w>>2]*+s[d>>2]}if((f[u>>2]|0)>=(f[l>>2]|0)){h=y;return}r=f[n>>2]|0;f[n>>2]=r+4;s[k>>2]=+s[r>>2];r=f[a>>2]|0;f[a>>2]=r+4;s[p>>2]=+s[r>>2];s[f[o>>2]>>2]=+s[f[o>>2]>>2]+ +s[k>>2]*+s[v>>2];s[(f[o>>2]|0)+4>>2]=+s[(f[o>>2]|0)+4>>2]+ +s[k>>2]*+s[g>>2];s[(f[o>>2]|0)+8>>2]=+s[(f[o>>2]|0)+8>>2]+ +s[k>>2]*+s[d>>2];s[(f[o>>2]|0)+12>>2]=+s[(f[o>>2]|0)+12>>2]+ +s[k>>2]*+s[p>>2];h=y;return}function Lr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;l=_+60|0;u=_+56|0;c=_+52|0;b=_+48|0;w=_+44|0;k=_+40|0;p=_+32|0;v=_+28|0;d=_+24|0;g=_+8|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_+36>>2]=o;e=f[w>>2]|0;f[d>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;e=h;h=h+((1*((f[b>>2]|0)+(f[w>>2]|0)<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[t+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[e+(f[p>>2]<<2)>>2]=-+s[(f[k>>2]|0)+((f[w>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}while(1){if((f[p>>2]|0)>=((f[b>>2]|0)+(f[w>>2]|0)|0))break;s[e+(f[p>>2]<<2)>>2]=0;f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=((f[b>>2]|0)-3|0))break;s[g>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];s[g+4>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+1<<2)>>2];s[g+8>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+2<<2)>>2];s[g+12>>2]=+s[(f[l>>2]|0)+((f[p>>2]|0)+3<<2)>>2];Or(t,e+(f[p>>2]<<2)|0,g,f[w>>2]|0);s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=-+s[g>>2];s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[g>>2];s[g+4>>2]=+s[g+4>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[f[u>>2]>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]=-+s[g+4>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+1<<2)>>2]=+s[g+4>>2];s[g+8>>2]=+s[g+8>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]*+s[f[u>>2]>>2];s[g+8>>2]=+s[g+8>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[(f[u>>2]|0)+4>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+2<<2)>>2]=-+s[g+8>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+2<<2)>>2]=+s[g+8>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+2<<2)>>2]*+s[f[u>>2]>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)+1<<2)>>2]*+s[(f[u>>2]|0)+4>>2];s[g+12>>2]=+s[g+12>>2]+ +s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]*+s[(f[u>>2]|0)+8>>2];s[e+((f[p>>2]|0)+(f[w>>2]|0)+3<<2)>>2]=-+s[g+12>>2];s[(f[c>>2]|0)+((f[p>>2]|0)+3<<2)>>2]=+s[g+12>>2];f[p>>2]=(f[p>>2]|0)+4}while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[y>>2]=+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2];f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[w>>2]|0))break;s[y>>2]=+s[y>>2]-+s[t+(f[v>>2]<<2)>>2]*+s[e+((f[p>>2]|0)+(f[v>>2]|0)<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[e+((f[p>>2]|0)+(f[w>>2]|0)<<2)>>2]=+s[y>>2];s[(f[c>>2]|0)+(f[p>>2]<<2)>>2]=+s[y>>2];f[p>>2]=(f[p>>2]|0)+1}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break;s[(f[k>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[c>>2]|0)+((f[b>>2]|0)-(f[p>>2]|0)-1<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}de(f[d>>2]|0);h=_;return}function Pr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+64|0;u=S+52|0;k=S+48|0;c=S+44|0;b=S+40|0;d=S+36|0;p=S+32|0;w=S+28|0;g=S+24|0;_=S+20|0;m=S+16|0;y=S+12|0;E=S+8|0;A=S+4|0;v=S;f[u>>2]=e;f[k>>2]=r;f[c>>2]=i;f[b>>2]=t;f[d>>2]=n;f[p>>2]=a;f[w>>2]=o;f[y>>2]=(f[p>>2]|0)-(f[d>>2]|0);e=f[p>>2]|0;f[v>>2]=he()|0;r=h;h=h+((1*(e<<2)|0)+15&-16)|0;if(!(f[b>>2]|0))f[A>>2]=f[u>>2];else{f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[p>>2]|0))break;s[r+(f[_>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[_>>2]<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[b>>2]|0))break;s[r+(f[_>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[_>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[_>>2]<<2)>>2];s[r+((f[p>>2]|0)-(f[_>>2]|0)-1<<2)>>2]=+s[(f[u>>2]|0)+((f[p>>2]|0)-(f[_>>2]|0)-1<<2)>>2]*+s[(f[c>>2]|0)+(f[_>>2]<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}f[A>>2]=r}f[E>>2]=0;yr(f[A>>2]|0,f[A>>2]|0,f[k>>2]|0,f[y>>2]|0,(f[d>>2]|0)+1|0,f[w>>2]|0);f[m>>2]=0;while(1){if((f[m>>2]|0)>(f[d>>2]|0))break;f[_>>2]=(f[m>>2]|0)+(f[y>>2]|0);s[g>>2]=0;while(1){l=+s[g>>2];if((f[_>>2]|0)>=(f[p>>2]|0))break;s[g>>2]=l+ +s[(f[A>>2]|0)+(f[_>>2]<<2)>>2]*+s[(f[A>>2]|0)+((f[_>>2]|0)-(f[m>>2]|0)<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}w=(f[k>>2]|0)+(f[m>>2]<<2)|0;s[w>>2]=+s[w>>2]+l;f[m>>2]=(f[m>>2]|0)+1}A=f[E>>2]|0;de(f[v>>2]|0);h=S;return A|0}function Ir(e,r,i,t,n,a,o,l,u,c,b,w,k,d,p,v,g){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;var y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0;Q=h;h=h+224|0;S=Q+216|0;R=Q+212|0;I=Q+208|0;E=Q+204|0;C=Q+200|0;U=Q+196|0;B=Q+192|0;j=Q+188|0;D=Q+184|0;N=Q+180|0;T=Q+176|0;_=Q+172|0;ee=Q+168|0;M=Q+164|0;x=Q+160|0;m=Q+156|0;O=Q+152|0;q=Q+148|0;V=Q+144|0;H=Q+96|0;X=Q+92|0;F=Q+88|0;W=Q+84|0;J=Q+80|0;L=Q+76|0;Z=Q+72|0;Y=Q+24|0;$=Q+20|0;K=Q+16|0;G=Q+12|0;A=Q+8|0;z=Q+4|0;P=Q;f[S>>2]=e;f[R>>2]=r;f[I>>2]=i;f[E>>2]=t;f[C>>2]=n;f[U>>2]=a;f[B>>2]=o;f[j>>2]=l;f[D>>2]=u;f[N>>2]=c;f[T>>2]=b;f[_>>2]=w;f[ee>>2]=k;f[M>>2]=d;f[x>>2]=p;f[m>>2]=v;f[O>>2]=g;f[F>>2]=0;if(!(f[ee>>2]|0))if(!(f[x>>2]|0)?+s[f[M>>2]>>2]>+(re(f[N>>2]<<1,(f[I>>2]|0)-(f[R>>2]|0)|0)|0):0)c=(f[_>>2]|0)>(re((f[I>>2]|0)-(f[R>>2]|0)|0,f[N>>2]|0)|0);else c=0;else c=1;f[q>>2]=c&1;f[W>>2]=~~(+((f[B>>2]|0)>>>0)*+s[f[M>>2]>>2]*+(f[m>>2]|0)/+(f[N>>2]<<9|0));s[J>>2]=+Cr(f[C>>2]|0,f[U>>2]|0,f[R>>2]|0,f[E>>2]|0,f[(f[S>>2]|0)+8>>2]|0,f[N>>2]|0);f[X>>2]=Ur(f[D>>2]|0)|0;if(((f[X>>2]|0)+3|0)>>>0>(f[B>>2]|0)>>>0){f[q>>2]=0;f[x>>2]=0}s[V>>2]=16;if(((f[I>>2]|0)-(f[R>>2]|0)|0)>10){if(+s[V>>2]<+(f[_>>2]|0)*.125)y=+s[V>>2];else y=+(f[_>>2]|0)*.125;s[V>>2]=y}if(f[O>>2]|0)s[V>>2]=3;d=H;n=f[D>>2]|0;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));ee=re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[L>>2]=he()|0;b=h;h=h+((1*(ee<<2)|0)+15&-16)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;o=h;h=h+((1*ee|0)+15&-16)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(b|0,f[U>>2]|0,ee+0|0)|0;if((f[x>>2]|0)!=0|(f[q>>2]|0)!=0)f[F>>2]=Br(f[S>>2]|0,f[R>>2]|0,f[I>>2]|0,f[C>>2]|0,b,f[B>>2]|0,f[X>>2]|0,26384+((f[T>>2]|0)*84|0)+42|0,o,f[D>>2]|0,f[N>>2]|0,f[T>>2]|0,1,+s[V>>2],f[O>>2]|0)|0;if(f[q>>2]|0){ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[U>>2]|0,b|0,ee+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[j>>2]|0,o|0,ee+0|0)|0}else{f[$>>2]=Le(f[D>>2]|0)|0;d=Y;n=f[D>>2]|0;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));f[K>>2]=jr(H)|0;f[G>>2]=jr(Y)|0;d=Dr(Y)|0;f[Z>>2]=d+(f[K>>2]|0);d=(f[G>>2]|0)-(f[K>>2]|0)|0;f[A>>2]=d;f[A>>2]=(f[A>>2]|0)==0?1:d;d=f[A>>2]|0;f[P>>2]=he()|0;c=h;h=h+((1*d|0)+15&-16)|0;gs(c|0,f[Z>>2]|0,(f[G>>2]|0)-(f[K>>2]|0)+0|0)|0;d=f[D>>2]|0;n=H;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));f[z>>2]=Br(f[S>>2]|0,f[R>>2]|0,f[I>>2]|0,f[C>>2]|0,f[U>>2]|0,f[B>>2]|0,f[X>>2]|0,26384+((f[T>>2]|0)*84|0)+((f[q>>2]|0)*42|0)|0,f[j>>2]|0,f[D>>2]|0,f[N>>2]|0,f[T>>2]|0,0,+s[V>>2],f[O>>2]|0)|0;do{if(f[x>>2]|0){if((f[F>>2]|0)>=(f[z>>2]|0)){if((f[F>>2]|0)!=(f[z>>2]|0))break;ee=Le(f[D>>2]|0)|0;if((ee+(f[W>>2]|0)|0)<=(f[$>>2]|0))break}d=f[D>>2]|0;n=Y;t=d+48|0;do{f[d>>2]=f[n>>2];d=d+4|0;n=n+4|0}while((d|0)<(t|0));gs(f[Z>>2]|0,c|0,(f[G>>2]|0)-(f[K>>2]|0)+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[U>>2]|0,b|0,ee+0|0)|0;ee=(re(f[N>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0)<<2;gs(f[j>>2]|0,o|0,ee+0|0)|0;f[q>>2]=1}}while(0);de(f[P>>2]|0)}if(f[q>>2]|0){s[f[M>>2]>>2]=+s[J>>2];ee=f[L>>2]|0;de(ee|0);h=Q;return}else{s[f[M>>2]>>2]=+s[17580+(f[T>>2]<<2)>>2]*+s[17580+(f[T>>2]<<2)>>2]*+s[f[M>>2]>>2]+ +s[J>>2];ee=f[L>>2]|0;de(ee|0);h=Q;return}}function Cr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;o=g+36|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;v=g+8|0;p=g+4|0;d=g;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;s[p>>2]=0;f[k>>2]=0;do{f[v>>2]=f[u>>2];while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;r=(f[v>>2]|0)+(re(f[k>>2]|0,f[b>>2]|0)|0)|0;i=(f[v>>2]|0)+(re(f[k>>2]|0,f[b>>2]|0)|0)|0;s[d>>2]=+s[(f[o>>2]|0)+(r<<2)>>2]-+s[(f[l>>2]|0)+(i<<2)>>2];s[p>>2]=+s[p>>2]+ +s[d>>2]*+s[d>>2];f[v>>2]=(f[v>>2]|0)+1}i=(f[k>>2]|0)+1|0;f[k>>2]=i}while((i|0)<(f[w>>2]|0));h=g;return+(200<+s[p>>2]?200:+s[p>>2])}function Ur(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Br(e,r,i,t,n,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=+p;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0;$=h;h=h+128|0;_=$+124|0;m=$+120|0;R=$+116|0;T=$+112|0;M=$+108|0;x=$+104|0;O=$+100|0;L=$+96|0;P=$+92|0;I=$+88|0;E=$+84|0;g=$+80|0;y=$+76|0;A=$+72|0;S=$+68|0;H=$+64|0;j=$+60|0;C=$+56|0;Z=$+48|0;D=$+44|0;U=$+40|0;B=$+36|0;J=$+32|0;G=$+28|0;V=$+24|0;X=$+20|0;F=$+16|0;K=$+12|0;q=$+8|0;N=$+4|0;W=$;f[_>>2]=e;f[m>>2]=r;f[R>>2]=i;f[T>>2]=t;f[M>>2]=n;f[x>>2]=o;f[O>>2]=l;f[L>>2]=u;f[P>>2]=c;f[I>>2]=b;f[E>>2]=w;f[g>>2]=k;f[y>>2]=d;s[A>>2]=p;f[S>>2]=v;f[C>>2]=0;f[Z>>2]=0;f[Z+4>>2]=0;if(((f[O>>2]|0)+3|0)<=(f[x>>2]|0))Xe(f[I>>2]|0,f[y>>2]|0,3);if(f[y>>2]|0){s[D>>2]=0;s[U>>2]=.149993896484375}else{s[U>>2]=+s[17564+(f[g>>2]<<2)>>2];s[D>>2]=+s[17580+(f[g>>2]<<2)>>2]}f[H>>2]=f[m>>2];while(1){if((f[H>>2]|0)>=(f[R>>2]|0))break;f[j>>2]=0;do{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[X>>2]=+s[(f[T>>2]|0)+(l<<2)>>2];l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;if(-9>+s[(f[M>>2]|0)+(l<<2)>>2])p=-9;else{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;p=+s[(f[M>>2]|0)+(l<<2)>>2]}s[q>>2]=p;s[F>>2]=+s[X>>2]-+s[D>>2]*+s[q>>2]-+s[Z+(f[j>>2]<<2)>>2];f[J>>2]=~~+z(+(+s[F>>2]+.5));l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;if(-28>+s[(f[M>>2]|0)+(l<<2)>>2])p=-28;else{l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;p=+s[(f[M>>2]|0)+(l<<2)>>2]}s[N>>2]=p-+s[A>>2];if((f[J>>2]|0)<0?+s[X>>2]<+s[N>>2]:0){l=(f[J>>2]|0)+~~(+s[N>>2]-+s[X>>2])|0;f[J>>2]=l;f[J>>2]=(f[J>>2]|0)>0?0:l}f[G>>2]=f[J>>2];f[O>>2]=Ur(f[I>>2]|0)|0;f[B>>2]=(f[x>>2]|0)-(f[O>>2]|0)-(re((f[E>>2]|0)*3|0,(f[R>>2]|0)-(f[H>>2]|0)|0)|0);if((f[B>>2]|0)<30?(f[H>>2]|0)!=(f[m>>2]|0):0){if((f[B>>2]|0)<24)f[J>>2]=1<(f[J>>2]|0)?1:f[J>>2]|0;if((f[B>>2]|0)<16)f[J>>2]=-1>(f[J>>2]|0)?-1:f[J>>2]|0}if((f[S>>2]|0)!=0&(f[H>>2]|0)>=2)f[J>>2]=(f[J>>2]|0)<0?f[J>>2]|0:0;do{if(((f[x>>2]|0)-(f[O>>2]|0)|0)<15)if(((f[x>>2]|0)-(f[O>>2]|0)|0)<2)if(((f[x>>2]|0)-(f[O>>2]|0)|0)>=1){f[J>>2]=0<(f[J>>2]|0)?0:f[J>>2]|0;Xe(f[I>>2]|0,0-(f[J>>2]|0)|0,1);break}else{f[J>>2]=-1;break}else{if(-1>(((f[J>>2]|0)<1?f[J>>2]|0:1)|0))g=-1;else g=(f[J>>2]|0)<1?f[J>>2]|0:1;f[J>>2]=g;$e(f[I>>2]|0,f[J>>2]<<1^0-((f[J>>2]|0)<0&1),26720,2);break}else{f[W>>2]=((f[H>>2]|0)<20?f[H>>2]|0:20)<<1;hr(f[I>>2]|0,J,(a[(f[L>>2]|0)+(f[W>>2]|0)>>0]|0)<<7,(a[(f[L>>2]|0)+((f[W>>2]|0)+1)>>0]|0)<<6)}}while(0);l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[(f[P>>2]|0)+(l<<2)>>2]=+s[F>>2]-+(f[J>>2]|0);l=Y((f[G>>2]|0)-(f[J>>2]|0)|0)|0;f[C>>2]=(f[C>>2]|0)+l;s[V>>2]=+(f[J>>2]|0);s[K>>2]=+s[D>>2]*+s[q>>2]+ +s[Z+(f[j>>2]<<2)>>2]+ +s[V>>2];l=(f[H>>2]|0)+(re(f[j>>2]|0,f[(f[_>>2]|0)+8>>2]|0)|0)|0;s[(f[M>>2]|0)+(l<<2)>>2]=+s[K>>2];s[Z+(f[j>>2]<<2)>>2]=+s[Z+(f[j>>2]<<2)>>2]+ +s[V>>2]-+s[U>>2]*+s[V>>2];l=(f[j>>2]|0)+1|0;f[j>>2]=l}while((l|0)<(f[E>>2]|0));f[H>>2]=(f[H>>2]|0)+1}h=$;return(f[S>>2]|0?0:f[C>>2]|0)|0}function jr(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+24>>2]|0}function Dr(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[f[r>>2]>>2]|0}function Nr(e,r,i,t,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+64|0;c=A+44|0;S=A+40|0;b=A+36|0;w=A+32|0;k=A+28|0;d=A+24|0;p=A+20|0;v=A+16|0;_=A+12|0;g=A+8|0;y=A+48|0;E=A+4|0;m=A;f[c>>2]=e;f[S>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[v>>2]=u;f[_>>2]=f[S>>2];while(1){if((f[_>>2]|0)>=(f[b>>2]|0))break;n[y>>1]=1<>2]|0)+(f[_>>2]<<2)>>2];if((f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0)>0){f[g>>2]=0;do{S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;f[E>>2]=~~+z(+((+s[(f[k>>2]|0)+(S<<2)>>2]+.5)*+(n[y>>1]|0)));if((f[E>>2]|0)>((n[y>>1]|0)-1|0))f[E>>2]=(n[y>>1]|0)-1;if((f[E>>2]|0)<0)f[E>>2]=0;er(f[p>>2]|0,f[E>>2]|0,f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0);s[m>>2]=(+(f[E>>2]|0)+.5)*+(1<<14-(f[(f[d>>2]|0)+(f[_>>2]<<2)>>2]|0)|0)*6103515625e-14-.5;S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;S=(f[w>>2]|0)+(S<<2)|0;s[S>>2]=+s[S>>2]+ +s[m>>2];S=(f[_>>2]|0)+(re(f[g>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;S=(f[k>>2]|0)+(S<<2)|0;s[S>>2]=+s[S>>2]-+s[m>>2];S=(f[g>>2]|0)+1|0;f[g>>2]=S}while((S|0)<(f[v>>2]|0))}f[_>>2]=(f[_>>2]|0)+1}h=A;return}function Fr(e,r,i,t,n,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+64|0;b=M+56|0;w=M+52|0;k=M+48|0;d=M+44|0;p=M+40|0;v=M+36|0;g=M+32|0;y=M+28|0;_=M+24|0;m=M+20|0;A=M+16|0;R=M+12|0;E=M+8|0;T=M+4|0;S=M;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=n;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[_>>2]=u;f[m>>2]=c;f[R>>2]=0;while(1){if((f[R>>2]|0)>=2)break;f[A>>2]=f[w>>2];while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;if((f[y>>2]|0)<(f[m>>2]|0))break;if((f[(f[v>>2]|0)+(f[A>>2]<<2)>>2]|0)<8?(f[(f[g>>2]|0)+(f[A>>2]<<2)>>2]|0)==(f[R>>2]|0):0){f[E>>2]=0;do{r=(f[A>>2]|0)+(re(f[E>>2]|0,f[(f[b>>2]|0)+8>>2]|0)|0)|0;f[T>>2]=+s[(f[p>>2]|0)+(r<<2)>>2]<0?0:1;er(f[_>>2]|0,f[T>>2]|0,1);s[S>>2]=(+(f[T>>2]|0)-.5)*+(1<<14-(f[(f[v>>2]|0)+(f[A>>2]<<2)>>2]|0)-1|0)*6103515625e-14;r=(f[A>>2]|0)+(re(f[E>>2]|0,f[(f[b>>2]|0)+8>>2]|0)|0)|0;r=(f[d>>2]|0)+(r<<2)|0;s[r>>2]=+s[r>>2]+ +s[S>>2];f[y>>2]=(f[y>>2]|0)+-1;r=(f[E>>2]|0)+1|0;f[E>>2]=r}while((r|0)<(f[m>>2]|0))}f[A>>2]=(f[A>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}h=M;return}function zr(e,r,i,t,n,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;P=h;h=h+96|0;k=P+80|0;b=P+76|0;d=P+72|0;p=P+68|0;I=P+64|0;v=P+60|0;g=P+56|0;w=P+52|0;T=P+48|0;A=P+44|0;m=P+40|0;R=P+32|0;E=P+28|0;y=P+24|0;_=P+20|0;O=P+16|0;x=P+12|0;M=P+8|0;L=P+4|0;S=P;f[k>>2]=e;f[b>>2]=r;f[d>>2]=i;f[p>>2]=t;f[I>>2]=n;f[v>>2]=o;f[g>>2]=l;f[w>>2]=u;f[T>>2]=26384+((f[w>>2]|0)*84|0)+((f[I>>2]|0)*42|0);f[R>>2]=0;f[R+4>>2]=0;if(f[I>>2]|0){s[E>>2]=0;s[y>>2]=.149993896484375}else{s[y>>2]=+s[17564+(f[w>>2]<<2)>>2];s[E>>2]=+s[17580+(f[w>>2]<<2)>>2]}f[_>>2]=f[(f[v>>2]|0)+4>>2]<<3;f[A>>2]=f[b>>2];while(1){if((f[A>>2]|0)>=(f[d>>2]|0))break;f[m>>2]=0;do{f[O>>2]=Ur(f[v>>2]|0)|0;do{if(((f[_>>2]|0)-(f[O>>2]|0)|0)<15){if(((f[_>>2]|0)-(f[O>>2]|0)|0)>=2){f[x>>2]=Fe(f[v>>2]|0,26720,2)|0;f[x>>2]=f[x>>2]>>1^0-(f[x>>2]&1);break}if(((f[_>>2]|0)-(f[O>>2]|0)|0)>=1){f[x>>2]=0-(Ne(f[v>>2]|0,1)|0);break}else{f[x>>2]=-1;break}}else{f[S>>2]=((f[A>>2]|0)<20?f[A>>2]|0:20)<<1;f[x>>2]=br(f[v>>2]|0,(a[(f[T>>2]|0)+(f[S>>2]|0)>>0]|0)<<7,(a[(f[T>>2]|0)+((f[S>>2]|0)+1)>>0]|0)<<6)|0}}while(0);s[M>>2]=+(f[x>>2]|0);I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;if(-9>+s[(f[p>>2]|0)+(I<<2)>>2])c=-9;else{I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;c=+s[(f[p>>2]|0)+(I<<2)>>2]}I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[(f[p>>2]|0)+(I<<2)>>2]=c;I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[L>>2]=+s[E>>2]*+s[(f[p>>2]|0)+(I<<2)>>2]+ +s[R+(f[m>>2]<<2)>>2]+ +s[M>>2];I=(f[A>>2]|0)+(re(f[m>>2]|0,f[(f[k>>2]|0)+8>>2]|0)|0)|0;s[(f[p>>2]|0)+(I<<2)>>2]=+s[L>>2];s[R+(f[m>>2]<<2)>>2]=+s[R+(f[m>>2]<<2)>>2]+ +s[M>>2]-+s[y>>2]*+s[M>>2];I=(f[m>>2]|0)+1|0;f[m>>2]=I}while((I|0)<(f[g>>2]|0));f[A>>2]=(f[A>>2]|0)+1}h=P;return}function Yr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;l=y+40|0;_=y+36|0;u=y+32|0;c=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;p=y+12|0;d=y+8|0;g=y+4|0;v=y;f[l>>2]=e;f[_>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[p>>2]=f[_>>2];while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;if((f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)>0){f[d>>2]=0;do{f[g>>2]=Ye(f[w>>2]|0,f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)|0;s[v>>2]=(+(f[g>>2]|0)+.5)*+(1<<14-(f[(f[b>>2]|0)+(f[p>>2]<<2)>>2]|0)|0)*6103515625e-14-.5;_=(f[p>>2]|0)+(re(f[d>>2]|0,f[(f[l>>2]|0)+8>>2]|0)|0)|0;_=(f[c>>2]|0)+(_<<2)|0;s[_>>2]=+s[_>>2]+ +s[v>>2];_=(f[d>>2]|0)+1|0;f[d>>2]=_}while((_|0)<(f[k>>2]|0))}f[p>>2]=(f[p>>2]|0)+1}h=y;return}function Hr(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+64|0;c=R+52|0;b=R+48|0;w=R+44|0;k=R+40|0;d=R+36|0;p=R+32|0;v=R+28|0;g=R+24|0;y=R+20|0;m=R+16|0;A=R+12|0;_=R+8|0;S=R+4|0;E=R;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[A>>2]=0;while(1){if((f[A>>2]|0)>=2)break;f[m>>2]=f[b>>2];while(1){if((f[m>>2]|0)>=(f[w>>2]|0))break;if((f[v>>2]|0)<(f[y>>2]|0))break;if((f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]|0)<8?(f[(f[p>>2]|0)+(f[m>>2]<<2)>>2]|0)==(f[A>>2]|0):0){f[_>>2]=0;do{f[S>>2]=Ye(f[g>>2]|0,1)|0;s[E>>2]=(+(f[S>>2]|0)-.5)*+(1<<14-(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]|0)-1|0)*6103515625e-14;r=(f[m>>2]|0)+(re(f[_>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0)|0;r=(f[k>>2]|0)+(r<<2)|0;s[r>>2]=+s[r>>2]+ +s[E>>2];f[v>>2]=(f[v>>2]|0)+-1;r=(f[_>>2]|0)+1|0;f[_>>2]=r}while((r|0)<(f[y>>2]|0))}f[m>>2]=(f[m>>2]|0)+1}f[A>>2]=(f[A>>2]|0)+1}h=R;return}function qr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+32|0;o=p+28|0;l=p+24|0;u=p+20|0;c=p+16|0;b=p+12|0;w=p+8|0;k=p+4|0;d=p;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=0;do{f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[l>>2]|0))break;e=(f[d>>2]|0)+(re(f[k>>2]|0,f[(f[o>>2]|0)+8>>2]|0)|0)|0;v=+Q(+ +s[(f[c>>2]|0)+(e<<2)>>2])*1.4426950408889634;e=(f[d>>2]|0)+(re(f[k>>2]|0,f[(f[o>>2]|0)+8>>2]|0)|0)|0;s[(f[b>>2]|0)+(e<<2)>>2]=v-+s[17464+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}f[d>>2]=f[l>>2];while(1){a=f[k>>2]|0;if((f[d>>2]|0)>=(f[u>>2]|0))break;e=re(a,f[(f[o>>2]|0)+8>>2]|0)|0;s[(f[b>>2]|0)+(e+(f[d>>2]|0)<<2)>>2]=-14;f[d>>2]=(f[d>>2]|0)+1}e=a+1|0;f[k>>2]=e}while((e|0)<(f[w>>2]|0));h=p;return}function Wr(e,r,i,t,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0;oe=h;h=h+160|0;x=oe+144|0;O=oe+140|0;z=oe+136|0;Y=oe+132|0;H=oe+128|0;E=oe+124|0;q=oe+120|0;W=oe+116|0;Z=oe+112|0;V=oe+108|0;L=oe+104|0;P=oe+100|0;I=oe+96|0;C=oe+92|0;U=oe+88|0;B=oe+84|0;j=oe+80|0;D=oe+76|0;N=oe+72|0;ne=oe+68|0;Q=oe+64|0;te=oe+60|0;ie=oe+56|0;X=oe+52|0;ae=oe+48|0;fe=oe+44|0;ee=oe+40|0;$=oe+36|0;F=oe+32|0;R=oe+28|0;M=oe+24|0;T=oe+20|0;S=oe+16|0;A=oe+12|0;G=oe+8|0;K=oe+4|0;J=oe;f[x>>2]=e;f[O>>2]=r;f[z>>2]=i;f[Y>>2]=t;f[H>>2]=o;f[E>>2]=l;f[q>>2]=s;f[W>>2]=u;f[Z>>2]=c;f[V>>2]=b;f[L>>2]=w;f[P>>2]=k;f[I>>2]=d;f[C>>2]=p;f[U>>2]=v;f[B>>2]=g;f[j>>2]=y;f[D>>2]=_;f[N>>2]=m;f[Z>>2]=(f[Z>>2]|0)>0?f[Z>>2]|0:0;f[te>>2]=f[(f[x>>2]|0)+8>>2];f[ae>>2]=f[O>>2];f[fe>>2]=(f[Z>>2]|0)>=8?8:0;f[Z>>2]=(f[Z>>2]|0)-(f[fe>>2]|0);f[$>>2]=0;f[ee>>2]=0;do{if((f[C>>2]|0)==2){f[ee>>2]=a[26723+((f[z>>2]|0)-(f[O>>2]|0))>>0];if((f[ee>>2]|0)>(f[Z>>2]|0)){f[ee>>2]=0;break}else{f[Z>>2]=(f[Z>>2]|0)-(f[ee>>2]|0);f[$>>2]=(f[Z>>2]|0)>=8?8:0;f[Z>>2]=(f[Z>>2]|0)-(f[$>>2]|0);break}}}while(0);l=f[te>>2]|0;f[F>>2]=he()|0;v=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;b=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;o=h;h=h+((1*(f[te>>2]<<2)|0)+15&-16)|0;f[ie>>2]=f[O>>2];while(1){if((f[ie>>2]|0)>=(f[z>>2]|0))break;if((f[C>>2]<<3|0)>(((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4|0))p=f[C>>2]<<3;else p=((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4;f[b+(f[ie>>2]<<2)>>2]=p;c=re(f[C>>2]|0,(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)|0)|0;c=re(c,(f[E>>2]|0)-5-(f[U>>2]|0)|0)|0;c=re(c,(f[z>>2]|0)-(f[ie>>2]|0)-1|0)|0;c=(re(c,1<<(f[U>>2]|0)+3)|0)>>6;f[o+(f[ie>>2]<<2)>>2]=c;if(((n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0)<>2]|0)==1){c=o+(f[ie>>2]<<2)|0;f[c>>2]=(f[c>>2]|0)-(f[C>>2]<<3)}f[ie>>2]=(f[ie>>2]|0)+1}f[ne>>2]=1;f[Q>>2]=(f[(f[x>>2]|0)+48>>2]|0)-1;do{f[R>>2]=0;f[M>>2]=0;f[T>>2]=(f[ne>>2]|0)+(f[Q>>2]|0)>>1;f[ie>>2]=f[z>>2];while(1){E=f[ie>>2]|0;f[ie>>2]=E+-1;if((E|0)<=(f[O>>2]|0))break;f[A>>2]=(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0);c=re(f[C>>2]|0,f[A>>2]|0)|0;E=re(f[T>>2]|0,f[te>>2]|0)|0;E=re(c,a[(f[(f[x>>2]|0)+52>>2]|0)+(E+(f[ie>>2]|0))>>0]|0)|0;f[S>>2]=E<>2]>>2;if((f[S>>2]|0)>0){if(0>((f[S>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[S>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[S>>2]=p}f[S>>2]=(f[S>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);if(!(f[R>>2]|0?1:(f[S>>2]|0)>=(f[b+(f[ie>>2]<<2)>>2]|0))){if((f[S>>2]|0)<(f[C>>2]<<3|0))continue;f[M>>2]=(f[M>>2]|0)+(f[C>>2]<<3);continue}f[R>>2]=1;if((f[S>>2]|0)<(f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0))p=f[S>>2]|0;else p=f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0;f[M>>2]=(f[M>>2]|0)+p}p=f[T>>2]|0;if((f[M>>2]|0)>(f[Z>>2]|0))f[Q>>2]=p-1;else f[ne>>2]=p+1}while((f[ne>>2]|0)<=(f[Q>>2]|0));M=f[ne>>2]|0;f[ne>>2]=M+-1;f[Q>>2]=M;f[ie>>2]=f[O>>2];while(1){if((f[ie>>2]|0)>=(f[z>>2]|0))break;f[J>>2]=(n[(f[(f[x>>2]|0)+32>>2]|0)+((f[ie>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[x>>2]|0)+32>>2]|0)+(f[ie>>2]<<1)>>1]|0);T=re(f[C>>2]|0,f[J>>2]|0)|0;M=re(f[ne>>2]|0,f[te>>2]|0)|0;M=re(T,a[(f[(f[x>>2]|0)+52>>2]|0)+(M+(f[ie>>2]|0))>>0]|0)|0;f[G>>2]=M<>2]>>2;if((f[Q>>2]|0)>=(f[(f[x>>2]|0)+48>>2]|0))p=f[(f[H>>2]|0)+(f[ie>>2]<<2)>>2]|0;else{M=re(f[C>>2]|0,f[J>>2]|0)|0;p=re(f[Q>>2]|0,f[te>>2]|0)|0;p=re(M,a[(f[(f[x>>2]|0)+52>>2]|0)+(p+(f[ie>>2]|0))>>0]|0)|0;p=p<>2]>>2}f[K>>2]=p;if((f[G>>2]|0)>0){if(0>((f[G>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[G>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[G>>2]=p}if((f[K>>2]|0)>0){if(0>((f[K>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0))p=0;else p=(f[K>>2]|0)+(f[o+(f[ie>>2]<<2)>>2]|0)|0;f[K>>2]=p}if((f[ne>>2]|0)>0)f[G>>2]=(f[G>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);f[K>>2]=(f[K>>2]|0)+(f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0);if((f[(f[Y>>2]|0)+(f[ie>>2]<<2)>>2]|0)>0)f[ae>>2]=f[ie>>2];if(0>((f[K>>2]|0)-(f[G>>2]|0)|0))p=0;else p=(f[K>>2]|0)-(f[G>>2]|0)|0;f[K>>2]=p;f[v+(f[ie>>2]<<2)>>2]=f[G>>2];f[l+(f[ie>>2]<<2)>>2]=f[K>>2];f[ie>>2]=(f[ie>>2]|0)+1}f[X>>2]=Zr(f[x>>2]|0,f[O>>2]|0,f[z>>2]|0,f[ae>>2]|0,v,l,b,f[H>>2]|0,f[Z>>2]|0,f[V>>2]|0,f[fe>>2]|0,f[q>>2]|0,f[ee>>2]|0,f[W>>2]|0,f[$>>2]|0,f[L>>2]|0,f[P>>2]|0,f[I>>2]|0,f[C>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,f[N>>2]|0)|0;ae=f[X>>2]|0;de(f[F>>2]|0);h=oe;return ae|0}function Zr(e,r,i,t,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R,T){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;T=T|0;var M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0;xe=h;h=h+224|0;ne=xe+208|0;ee=xe+204|0;ce=xe+200|0;z=xe+196|0;P=xe+192|0;I=xe+188|0;Y=xe+184|0;be=xe+180|0;X=xe+176|0;we=xe+172|0;j=xe+168|0;fe=xe+164|0;D=xe+160|0;ae=xe+156|0;J=xe+152|0;oe=xe+148|0;le=xe+144|0;se=xe+140|0;ue=xe+136|0;he=xe+132|0;G=xe+128|0;K=xe+124|0;N=xe+120|0;F=xe+116|0;Q=xe+112|0;U=xe+108|0;M=xe+104|0;x=xe+100|0;Se=xe+96|0;Re=xe+92|0;Me=xe+88|0;ye=xe+84|0;H=xe+80|0;ie=xe+76|0;$=xe+72|0;C=xe+68|0;ve=xe+64|0;O=xe+60|0;L=xe+56|0;B=xe+52|0;W=xe+48|0;q=xe+44|0;Z=xe+40|0;te=xe+36|0;de=xe+32|0;ke=xe+28|0;_e=xe+24|0;Te=xe+20|0;pe=xe+16|0;me=xe+12|0;ge=xe+8|0;Ae=xe+4|0;Ee=xe;f[ne>>2]=e;f[ee>>2]=r;f[ce>>2]=i;f[z>>2]=t;f[P>>2]=o;f[I>>2]=l;f[Y>>2]=s;f[be>>2]=u;f[X>>2]=c;f[we>>2]=b;f[j>>2]=w;f[fe>>2]=k;f[D>>2]=d;f[ae>>2]=p;f[J>>2]=v;f[oe>>2]=g;f[le>>2]=y;f[se>>2]=_;f[ue>>2]=m;f[he>>2]=E;f[G>>2]=A;f[K>>2]=S;f[N>>2]=R;f[F>>2]=T;f[ye>>2]=-1;f[H>>2]=f[ue>>2]<<3;f[Me>>2]=(f[ue>>2]|0)>1&1;f[Re>>2]=f[he>>2]<<3;f[U>>2]=0;f[M>>2]=64;f[x>>2]=0;while(1){if((f[x>>2]|0)>=6)break;f[O>>2]=(f[U>>2]|0)+(f[M>>2]|0)>>1;f[Q>>2]=0;f[C>>2]=0;f[Se>>2]=f[ce>>2];while(1){c=f[Se>>2]|0;f[Se>>2]=c+-1;if((c|0)<=(f[ee>>2]|0))break;f[L>>2]=(f[(f[P>>2]|0)+(f[Se>>2]<<2)>>2]|0)+((re(f[O>>2]|0,f[(f[I>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>>6);if(!(f[C>>2]|0?1:(f[L>>2]|0)>=(f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0))){if((f[L>>2]|0)<(f[H>>2]|0))continue;f[Q>>2]=(f[Q>>2]|0)+(f[H>>2]|0);continue}f[C>>2]=1;if((f[L>>2]|0)<(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0))m=f[L>>2]|0;else m=f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0;f[Q>>2]=(f[Q>>2]|0)+m}m=f[O>>2]|0;if((f[Q>>2]|0)>(f[X>>2]|0))f[M>>2]=m;else f[U>>2]=m;f[x>>2]=(f[x>>2]|0)+1}f[Q>>2]=0;f[C>>2]=0;f[Se>>2]=f[ce>>2];while(1){L=f[Se>>2]|0;f[Se>>2]=L+-1;if((L|0)<=(f[ee>>2]|0))break;f[B>>2]=(f[(f[P>>2]|0)+(f[Se>>2]<<2)>>2]|0)+((re(f[U>>2]|0,f[(f[I>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>>6);do{if(!(f[C>>2]|0?1:(f[B>>2]|0)>=(f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0)))if((f[B>>2]|0)>=(f[H>>2]|0)){f[B>>2]=f[H>>2];break}else{f[B>>2]=0;break}else f[C>>2]=1}while(0);if((f[B>>2]|0)<(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0))m=f[B>>2]|0;else m=f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0;f[B>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=f[B>>2];f[Q>>2]=(f[Q>>2]|0)+(f[B>>2]|0)}f[ye>>2]=f[ce>>2];while(1){f[Se>>2]=(f[ye>>2]|0)-1;if((f[Se>>2]|0)<=(f[z>>2]|0)){V=29;break}f[ie>>2]=(f[X>>2]|0)-(f[Q>>2]|0);f[$>>2]=Vr(f[ie>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0)|0;B=re((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0,f[$>>2]|0)|0;f[ie>>2]=(f[ie>>2]|0)-B;if(((f[ie>>2]|0)-((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0))|0)>0)m=(f[ie>>2]|0)-((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0))|0;else m=0;f[Z>>2]=m;f[W>>2]=(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0);B=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(re(f[$>>2]|0,f[W>>2]|0)|0)|0;f[q>>2]=B+(f[Z>>2]|0);if((f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0)>((f[H>>2]|0)+8|0))m=f[(f[Y>>2]|0)+(f[Se>>2]<<2)>>2]|0;else m=(f[H>>2]|0)+8|0;if((f[q>>2]|0)>=(m|0)){if(!(f[K>>2]|0)){if(Ne(f[G>>2]|0,1)|0)break}else{if((f[ye>>2]|0)<=((f[ee>>2]|0)+2|0)){V=40;break}B=re((f[Se>>2]|0)<(f[N>>2]|0)?7:9,f[W>>2]|0)|0;if((f[q>>2]|0)>(B<>2]<<3>>4|0)?(f[Se>>2]|0)<=(f[F>>2]|0):0){V=40;break}Xe(f[G>>2]|0,0,1)}f[Q>>2]=(f[Q>>2]|0)+8;f[q>>2]=(f[q>>2]|0)-8}f[Q>>2]=(f[Q>>2]|0)-((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[D>>2]|0));if((f[D>>2]|0)>0)f[D>>2]=a[26723+((f[Se>>2]|0)-(f[ee>>2]|0))>>0];f[Q>>2]=(f[Q>>2]|0)+(f[D>>2]|0);if((f[q>>2]|0)>=(f[H>>2]|0)){f[Q>>2]=(f[Q>>2]|0)+(f[H>>2]|0);f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=f[H>>2]}else f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[ye>>2]=(f[ye>>2]|0)+-1}if((V|0)==29)f[X>>2]=(f[X>>2]|0)+(f[j>>2]|0);else if((V|0)==40)Xe(f[G>>2]|0,1,1);do{if((f[D>>2]|0)>0){if(!(f[K>>2]|0)){V=f[ee>>2]|0;V=V+(ze(f[G>>2]|0,(f[ye>>2]|0)+1-(f[ee>>2]|0)|0)|0)|0;f[f[fe>>2]>>2]=V;break}if((f[f[fe>>2]>>2]|0)<(f[ye>>2]|0))m=f[f[fe>>2]>>2]|0;else m=f[ye>>2]|0;f[f[fe>>2]>>2]=m;Qe(f[G>>2]|0,(f[f[fe>>2]>>2]|0)-(f[ee>>2]|0)|0,(f[ye>>2]|0)+1-(f[ee>>2]|0)|0)}else f[f[fe>>2]>>2]=0}while(0);if((f[f[fe>>2]>>2]|0)<=(f[ee>>2]|0)){f[X>>2]=(f[X>>2]|0)+(f[J>>2]|0);f[J>>2]=0}do{if((f[J>>2]|0)>0){m=f[G>>2]|0;if(f[K>>2]|0){Xe(m,f[f[ae>>2]>>2]|0,1);break}else{K=Ne(m,1)|0;f[f[ae>>2]>>2]=K;break}}else f[f[ae>>2]>>2]=0}while(0);f[ie>>2]=(f[X>>2]|0)-(f[Q>>2]|0);f[$>>2]=Vr(f[ie>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0)|0;Q=re((n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ye>>2]<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[ee>>2]<<1)>>1]|0)|0,f[$>>2]|0)|0;f[ie>>2]=(f[ie>>2]|0)-Q;f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;X=re(f[$>>2]|0,(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0)|0;Q=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[Q>>2]=(f[Q>>2]|0)+X;f[Se>>2]=(f[Se>>2]|0)+1}f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;if((f[ie>>2]|0)<((n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0))m=f[ie>>2]|0;else m=(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0)|0;f[te>>2]=m;Q=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[Q>>2]=(f[Q>>2]|0)+(f[te>>2]|0);f[ie>>2]=(f[ie>>2]|0)-(f[te>>2]|0);f[Se>>2]=(f[Se>>2]|0)+1}f[ve>>2]=0;f[Se>>2]=f[ee>>2];while(1){if((f[Se>>2]|0)>=(f[ye>>2]|0))break;f[de>>2]=(n[(f[(f[ne>>2]|0)+32>>2]|0)+((f[Se>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[ne>>2]|0)+32>>2]|0)+(f[Se>>2]<<1)>>1]|0);f[ke>>2]=f[de>>2]<>2];f[ge>>2]=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[ve>>2]|0);m=f[ge>>2]|0;if((f[ke>>2]|0)>1){if((m-(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)>0)m=(f[ge>>2]|0)-(f[(f[be>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;else m=0;f[me>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=(f[ge>>2]|0)-(f[me>>2]|0);m=re(f[ue>>2]|0,f[ke>>2]|0)|0;if((f[ue>>2]|0)==2&(f[ke>>2]|0)>2?!(f[f[ae>>2]>>2]|0):0)E=(f[Se>>2]|0)<(f[f[fe>>2]>>2]|0);else E=0;f[_e>>2]=m+(E?1:0);f[pe>>2]=re(f[_e>>2]|0,(n[(f[(f[ne>>2]|0)+56>>2]|0)+(f[Se>>2]<<1)>>1]|0)+(f[Re>>2]|0)|0)|0;f[Te>>2]=(f[pe>>2]>>1)-((f[_e>>2]|0)*21|0);if((f[ke>>2]|0)==2)f[Te>>2]=(f[Te>>2]|0)+(f[_e>>2]<<3>>2);if(((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)>=(f[_e>>2]<<1<<3|0)){if(((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)<((f[_e>>2]|0)*3<<3|0))f[Te>>2]=(f[Te>>2]|0)+(f[pe>>2]>>3)}else f[Te>>2]=(f[Te>>2]|0)+(f[pe>>2]>>2);if(0>((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)+(f[_e>>2]<<2)|0))m=0;else m=(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)+(f[_e>>2]<<2)|0;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=m;te=(Vr(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0,f[_e>>2]|0)|0)>>>3;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=te;te=re(f[ue>>2]|0,f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;if((te|0)>(f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>3|0))f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>f[Me>>2]>>3;if((f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)<8)m=f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0;else m=8;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=m;ie=re(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0,f[_e>>2]<<3)|0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(ie|0)>=((f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]|0)+(f[Te>>2]|0)|0)&1;ie=(re(f[ue>>2]|0,f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0)<<3;te=(f[oe>>2]|0)+(f[Se>>2]<<2)|0;f[te>>2]=(f[te>>2]|0)-ie}else{if(0>(m-(f[ue>>2]<<3)|0))m=0;else m=(f[ge>>2]|0)-(f[ue>>2]<<3)|0;f[me>>2]=m;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=(f[ge>>2]|0)-(f[me>>2]|0);f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=1}if((f[me>>2]|0)>0){if((f[me>>2]>>(f[Me>>2]|0)+3|0)<(8-(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0))m=f[me>>2]>>(f[Me>>2]|0)+3;else m=8-(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)|0;f[Ae>>2]=m;te=(f[le>>2]|0)+(f[Se>>2]<<2)|0;f[te>>2]=(f[te>>2]|0)+(f[Ae>>2]|0);f[Ee>>2]=(re(f[Ae>>2]|0,f[ue>>2]|0)|0)<<3;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(f[Ee>>2]|0)>=((f[me>>2]|0)-(f[ve>>2]|0)|0)&1;f[me>>2]=(f[me>>2]|0)-(f[Ee>>2]|0)}f[ve>>2]=f[me>>2];f[Se>>2]=(f[Se>>2]|0)+1}f[f[we>>2]>>2]=f[ve>>2];while(1){if((f[Se>>2]|0)>=(f[ce>>2]|0))break;f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]=f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]>>f[Me>>2]>>3;f[(f[oe>>2]|0)+(f[Se>>2]<<2)>>2]=0;f[(f[se>>2]|0)+(f[Se>>2]<<2)>>2]=(f[(f[le>>2]|0)+(f[Se>>2]<<2)>>2]|0)<1&1;f[Se>>2]=(f[Se>>2]|0)+1}h=xe;return f[ye>>2]|0}function Vr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Jr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;O=h;h=h+96|0;o=O+84|0;l=O+80|0;u=O+76|0;L=O+72|0;c=O+68|0;b=O+64|0;_=O+60|0;m=O+56|0;S=O+52|0;E=O+48|0;R=O+44|0;M=O+40|0;x=O+36|0;y=O+32|0;w=O+28|0;A=O+24|0;T=O+20|0;v=O+16|0;g=O+12|0;p=O+8|0;k=O+4|0;d=O;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[L>>2]=t;f[c>>2]=n;f[b>>2]=a;n=f[l>>2]|0;f[w>>2]=he()|0;e=h;h=h+((1*(n<<2)|0)+15&-16)|0;n=h;h=h+((1*(f[l>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[l>>2]<<2)|0)+15&-16)|0;Gr(f[o>>2]|0,f[l>>2]|0,1,f[c>>2]|0,f[u>>2]|0,f[L>>2]|0);s[R>>2]=0;f[m>>2]=0;do{r=i+(f[m>>2]<<2)|0;if(+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]>0)s[r>>2]=1;else{s[r>>2]=-1;s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=-+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]}f[n+(f[m>>2]<<2)>>2]=0;s[e+(f[m>>2]<<2)>>2]=0;L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[x>>2]=0;s[M>>2]=0;f[E>>2]=f[u>>2];if((f[u>>2]|0)>(f[l>>2]>>1|0)){f[m>>2]=0;do{s[R>>2]=+s[R>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));if(!(+s[R>>2]>1.0000000036274937e-15&+s[R>>2]<64)){s[f[o>>2]>>2]=1;f[m>>2]=1;do{s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=0;L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[R>>2]=1}s[A>>2]=+((f[u>>2]|0)-1|0)*(1/+s[R>>2]);f[m>>2]=0;do{L=~~+z(+(+s[A>>2]*+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]));f[n+(f[m>>2]<<2)>>2]=L;s[e+(f[m>>2]<<2)>>2]=+(f[n+(f[m>>2]<<2)>>2]|0);s[x>>2]=+s[x>>2]+ +s[e+(f[m>>2]<<2)>>2]*+s[e+(f[m>>2]<<2)>>2];s[M>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]*+s[e+(f[m>>2]<<2)>>2];L=e+(f[m>>2]<<2)|0;s[L>>2]=+s[L>>2]*2;f[E>>2]=(f[E>>2]|0)-(f[n+(f[m>>2]<<2)>>2]|0);L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0))}if((f[E>>2]|0)>((f[l>>2]|0)+3|0)){s[T>>2]=+(f[E>>2]|0);s[x>>2]=+s[x>>2]+ +s[T>>2]*+s[T>>2];s[x>>2]=+s[x>>2]+ +s[T>>2]*+s[e>>2];f[n>>2]=(f[n>>2]|0)+(f[E>>2]|0);f[E>>2]=0}s[S>>2]=1;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[E>>2]|0))break;s[g>>2]=-999999986991104;s[p>>2]=0;f[v>>2]=0;s[x>>2]=+s[x>>2]+1;f[m>>2]=0;do{s[k>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];s[d>>2]=+s[x>>2]+ +s[e+(f[m>>2]<<2)>>2];s[k>>2]=+s[k>>2]*+s[k>>2];if(+s[p>>2]*+s[k>>2]>+s[d>>2]*+s[g>>2]){s[p>>2]=+s[d>>2];s[g>>2]=+s[k>>2];f[v>>2]=f[m>>2]}L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));s[M>>2]=+s[M>>2]+ +s[(f[o>>2]|0)+(f[v>>2]<<2)>>2];s[x>>2]=+s[x>>2]+ +s[e+(f[v>>2]<<2)>>2];L=e+(f[v>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +s[S>>2]*2;L=n+(f[v>>2]<<2)|0;f[L>>2]=(f[L>>2]|0)+1;f[_>>2]=(f[_>>2]|0)+1}f[m>>2]=0;do{s[(f[o>>2]|0)+(f[m>>2]<<2)>>2]=+s[i+(f[m>>2]<<2)>>2]*+s[(f[o>>2]|0)+(f[m>>2]<<2)>>2];if(+s[i+(f[m>>2]<<2)>>2]<0)f[n+(f[m>>2]<<2)>>2]=0-(f[n+(f[m>>2]<<2)>>2]|0);L=(f[m>>2]|0)+1|0;f[m>>2]=L}while((L|0)<(f[l>>2]|0));Te(n,f[l>>2]|0,f[u>>2]|0,f[b>>2]|0);f[y>>2]=$r(n,f[l>>2]|0,f[c>>2]|0)|0;L=f[y>>2]|0;de(f[w>>2]|0);h=O;return L|0}function Gr(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+64|0;o=m+48|0;l=m+44|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;v=m+24|0;k=m+20|0;g=m+16|0;p=m+12|0;_=m+8|0;y=m+4|0;d=m;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[y>>2]=0;if((f[w>>2]|0)==0?1:(f[b>>2]<<1|0)>=(f[l>>2]|0)){h=m;return}f[d>>2]=f[17596+((f[w>>2]|0)-1<<2)>>2];s[p>>2]=+(f[l>>2]|0)*1/+((f[l>>2]|0)+(re(f[d>>2]|0,f[b>>2]|0)|0)|0);s[_>>2]=+s[p>>2]*+s[p>>2]*.5;s[k>>2]=+W(+(+s[_>>2]*1.5707963705062866));s[g>>2]=+W(+((1-+s[_>>2])*1.5707963705062866));e:do{if((f[l>>2]|0)>=(f[c>>2]<<3|0)){f[y>>2]=1;while(1){_=re(f[y>>2]|0,f[y>>2]|0)|0;_=re(_+(f[y>>2]|0)|0,f[c>>2]|0)|0;if((_+(f[c>>2]>>2)|0)>=(f[l>>2]|0))break e;f[y>>2]=(f[y>>2]|0)+1}}}while(0);f[l>>2]=Kr(f[l>>2]|0,f[c>>2]|0)|0;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;if((f[u>>2]|0)>=0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,1,+s[k>>2],-+s[g>>2]);if(f[y>>2]|0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,f[y>>2]|0,+s[g>>2],-+s[k>>2])}}else{if(f[y>>2]|0){_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,f[y>>2]|0,+s[g>>2],+s[k>>2])}_=(f[o>>2]|0)+((re(f[v>>2]|0,f[l>>2]|0)|0)<<2)|0;Xr(_,f[l>>2]|0,1,+s[k>>2],+s[g>>2])}f[v>>2]=(f[v>>2]|0)+1}h=m;return}function Kr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function Xr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;w=y+24|0;k=y+20|0;b=y+16|0;d=y+12|0;v=y+8|0;p=y+4|0;g=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[u>>2]=t;s[c>>2]=n;f[b>>2]=f[a>>2];s[k>>2]=-+s[c>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=((f[o>>2]|0)-(f[l>>2]|0)|0))break;s[d>>2]=+s[f[b>>2]>>2];s[v>>2]=+s[(f[b>>2]|0)+(f[l>>2]<<2)>>2];s[(f[b>>2]|0)+(f[l>>2]<<2)>>2]=+s[u>>2]*+s[v>>2]+ +s[c>>2]*+s[d>>2];n=+s[u>>2]*+s[d>>2]+ +s[k>>2]*+s[v>>2];i=f[b>>2]|0;f[b>>2]=i+4;s[i>>2]=n;f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=(f[a>>2]|0)+((f[o>>2]|0)-(f[l>>2]<<1)-1<<2);f[w>>2]=(f[o>>2]|0)-(f[l>>2]<<1)-1;while(1){if((f[w>>2]|0)<0)break;s[p>>2]=+s[f[b>>2]>>2];s[g>>2]=+s[(f[b>>2]|0)+(f[l>>2]<<2)>>2];s[(f[b>>2]|0)+(f[l>>2]<<2)>>2]=+s[u>>2]*+s[g>>2]+ +s[c>>2]*+s[p>>2];n=+s[u>>2]*+s[p>>2]+ +s[k>>2]*+s[g>>2];v=f[b>>2]|0;f[b>>2]=v+-4;s[v>>2]=n;f[w>>2]=(f[w>>2]|0)+-1}h=y;return}function $r(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+48|0;t=w+32|0;n=w+28|0;a=w+24|0;o=w+20|0;s=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[o>>2]|0)<=1){f[t>>2]=1;b=f[t>>2]|0;h=w;return b|0}f[l>>2]=Kr(f[a>>2]|0,f[o>>2]|0)|0;f[s>>2]=0;f[u>>2]=0;do{f[b>>2]=0;f[c>>2]=0;do{e=re(f[u>>2]|0,f[l>>2]|0)|0;f[b>>2]=f[b>>2]|f[(f[n>>2]|0)+(e+(f[c>>2]|0)<<2)>>2];e=(f[c>>2]|0)+1|0;f[c>>2]=e}while((e|0)<(f[l>>2]|0));f[s>>2]=f[s>>2]|((f[b>>2]|0)!=0&1)<>2];e=(f[u>>2]|0)+1|0;f[u>>2]=e}while((e|0)<(f[o>>2]|0));f[t>>2]=f[s>>2];b=f[t>>2]|0;h=w;return b|0}function Qr(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=+o;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;l=h;h=h+48|0;p=l+36|0;w=l+32|0;d=l+28|0;k=l+24|0;b=l+20|0;y=l+16|0;v=l+12|0;g=l+8|0;c=l+4|0;u=l;f[p>>2]=e;f[w>>2]=r;f[d>>2]=i;f[k>>2]=t;f[b>>2]=n;f[y>>2]=a;s[v>>2]=o;a=f[w>>2]|0;f[u>>2]=he()|0;t=h;h=h+((1*(a<<2)|0)+15&-16)|0;s[g>>2]=+xe(t,f[w>>2]|0,f[d>>2]|0,f[y>>2]|0);ei(t,f[p>>2]|0,f[w>>2]|0,+s[g>>2],+s[v>>2]);Gr(f[p>>2]|0,f[w>>2]|0,-1,f[b>>2]|0,f[d>>2]|0,f[k>>2]|0);f[c>>2]=$r(t,f[w>>2]|0,f[b>>2]|0)|0;t=f[c>>2]|0;de(f[u>>2]|0);h=l;return t|0}function ei(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;b=h;h=h+32|0;a=b+28|0;o=b+24|0;l=b+20|0;d=b+16|0;w=b+12|0;c=b+8|0;k=b+4|0;u=b;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[d>>2]=t;s[w>>2]=n;s[k>>2]=+s[d>>2];n=1/+H(+ +s[k>>2]);s[u>>2]=n*+s[w>>2];f[c>>2]=0;do{s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]=+s[u>>2]*+(f[(f[a>>2]|0)+(f[c>>2]<<2)>>2]|0);d=(f[c>>2]|0)+1|0;f[c>>2]=d}while((d|0)<(f[l>>2]|0));h=b;return}function ri(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;u=h;h=h+48|0;c=u+32|0;n=u+28|0;b=u+24|0;o=u+16|0;k=u+12|0;a=u+8|0;w=u+4|0;l=u;f[c>>2]=e;f[n>>2]=r;s[b>>2]=i;f[u+20>>2]=t;s[k>>2]=+ii(f[c>>2]|0,f[c>>2]|0,f[n>>2]|0)+1.0000000036274937e-15;s[w>>2]=+s[k>>2];i=1/+H(+ +s[w>>2]);s[a>>2]=i*+s[b>>2];f[l>>2]=f[c>>2];f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;s[f[l>>2]>>2]=+s[a>>2]*+s[f[l>>2]>>2];f[l>>2]=(f[l>>2]|0)+4;f[o>>2]=(f[o>>2]|0)+1}h=u;return}function ii(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function ti(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+64|0;a=g+48|0;o=g+44|0;y=g+40|0;l=g+36|0;b=g+28|0;w=g+24|0;d=g+20|0;v=g+16|0;u=g+12|0;c=g+8|0;k=g+4|0;p=g;f[a>>2]=e;f[o>>2]=r;f[y>>2]=i;f[l>>2]=t;f[g+32>>2]=n;s[c>>2]=1.0000000036274937e-15;s[u>>2]=1.0000000036274937e-15;e:do{if(f[y>>2]|0){f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break e;s[k>>2]=+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]+ +s[(f[o>>2]|0)+(f[b>>2]<<2)>>2];s[p>>2]=+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]-+s[(f[o>>2]|0)+(f[b>>2]<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[p>>2]*+s[p>>2];f[b>>2]=(f[b>>2]|0)+1}}else{_=+ii(f[a>>2]|0,f[a>>2]|0,f[l>>2]|0);s[u>>2]=+s[u>>2]+_;_=+ii(f[o>>2]|0,f[o>>2]|0,f[l>>2]|0);s[c>>2]=+s[c>>2]+_}}while(0);s[d>>2]=+H(+ +s[u>>2]);s[v>>2]=+H(+ +s[c>>2]);f[w>>2]=~~+z(+(+X(+ +s[v>>2],+ +s[d>>2])*10430.3818359375+.5));h=g;return f[w>>2]|0}function ni(e){e=e|0;var r=0,i=0,t=0,a=0,o=0;o=h;h=h+16|0;r=o+12|0;a=o+8|0;t=o+4|0;i=o;f[r>>2]=e;f[t>>2]=32767/((f[(f[r>>2]|0)+2340>>2]|0)+1|0)|0;f[i>>2]=0;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[(f[r>>2]|0)+2340>>2]|0))break;f[i>>2]=(f[i>>2]|0)+(f[t>>2]|0);n[(f[r>>2]|0)+2772+1280+(f[a>>2]<<1)>>1]=f[i>>2];f[a>>2]=(f[a>>2]|0)+1}f[(f[r>>2]|0)+2772+1376>>2]=0;f[(f[r>>2]|0)+2772+1380>>2]=3176576;h=o;return}function fi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;t=g+40|0;a=g+36|0;o=g+32|0;c=g+28|0;l=g+24|0;b=g+20|0;w=g+16|0;s=g+44|0;u=g+12|0;p=g+8|0;d=g+4|0;k=g;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=20)break;f[p>>2]=(n[f[t>>2]>>1]|0)-(n[f[a>>2]>>1]|0);f[l>>2]=0;f[c>>2]=1;while(1){if((f[c>>2]|0)>((f[o>>2]|0)-1|0))break;f[u>>2]=(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0)-((n[(f[t>>2]|0)+((f[c>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[c>>2]<<1)>>1]|0));if((f[u>>2]|0)<(f[p>>2]|0)){f[p>>2]=f[u>>2];f[l>>2]=f[c>>2]}f[c>>2]=(f[c>>2]|0)+1}f[u>>2]=32768-((n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0));if((f[u>>2]|0)<(f[p>>2]|0)){f[p>>2]=f[u>>2];f[l>>2]=f[o>>2]}if((f[p>>2]|0)>=0){v=41;break}do{if(!(f[l>>2]|0))n[f[t>>2]>>1]=n[f[a>>2]>>1]|0;else{if((f[l>>2]|0)==(f[o>>2]|0)){n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=32768-(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);break}f[d>>2]=0;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[d>>2]=(f[d>>2]|0)+(n[(f[a>>2]|0)+(f[b>>2]<<1)>>1]|0);f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);f[k>>2]=32768;f[b>>2]=f[o>>2];while(1){if((f[b>>2]|0)<=(f[l>>2]|0))break;f[k>>2]=(f[k>>2]|0)-(n[(f[a>>2]|0)+(f[b>>2]<<1)>>1]|0);f[b>>2]=(f[b>>2]|0)+-1}f[k>>2]=(f[k>>2]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;do{if((f[d>>2]|0)>(f[k>>2]|0)){if((i|0)>(f[d>>2]|0)){i=f[d>>2]|0;break}if((((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0)<(f[k>>2]|0)){i=f[k>>2]|0;break}else{i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;break}}else{if((i|0)>(f[k>>2]|0)){i=f[k>>2]|0;break}if((((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0)<(f[d>>2]|0)){i=f[d>>2]|0;break}else{i=((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)>>1)+((n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]|0)&1)|0;break}}}while(0);n[s>>1]=i;n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]=(n[s>>1]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]>>1);n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]=(n[(f[t>>2]|0)+((f[l>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]|0)}}while(0);f[w>>2]=(f[w>>2]|0)+1}if((v|0)==41){h=g;return}if((f[w>>2]|0)!=20){h=g;return}Ai(f[t>>2]|0,f[o>>2]|0);v=(ai(n[f[t>>2]>>1]|0,n[f[a>>2]>>1]|0)|0)&65535;n[f[t>>2]>>1]=v;f[c>>2]=1;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;v=(ai(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0,(n[(f[t>>2]|0)+((f[c>>2]|0)-1<<1)>>1]|0)+(n[(f[a>>2]|0)+(f[c>>2]<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]=v;f[c>>2]=(f[c>>2]|0)+1}v=(oi(n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0,32768-(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=v;f[c>>2]=(f[o>>2]|0)-2;while(1){if((f[c>>2]|0)<0)break;v=(oi(n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]|0,(n[(f[t>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)-(n[(f[a>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0)|0)&65535;n[(f[t>>2]|0)+(f[c>>2]<<1)>>1]=v;f[c>>2]=(f[c>>2]|0)+-1}h=g;return}function ai(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function oi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function li(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;t=c+20|0;a=c+16|0;o=c+12|0;l=c+8|0;s=c+4|0;u=c;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[s>>2]=si(n[f[a>>2]>>1]|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;f[u>>2]=si((n[(f[a>>2]|0)+2>>1]|0)-(n[f[a>>2]>>1]|0)|0,1)|0;f[u>>2]=131072/(f[u>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[f[t>>2]>>1]=r;f[l>>2]=1;while(1){if((f[l>>2]|0)>=((f[o>>2]|0)-1|0))break;f[s>>2]=si((n[(f[a>>2]|0)+((f[l>>2]|0)+1<<1)>>1]|0)-(n[(f[a>>2]|0)+(f[l>>2]<<1)>>1]|0)|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+(f[l>>2]<<1)>>1]=r;f[u>>2]=si((n[(f[a>>2]|0)+((f[l>>2]|0)+2<<1)>>1]|0)-(n[(f[a>>2]|0)+((f[l>>2]|0)+1<<1)>>1]|0)|0,1)|0;f[u>>2]=131072/(f[u>>2]|0)|0;r=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+((f[l>>2]|0)+1<<1)>>1]=r;f[l>>2]=(f[l>>2]|0)+2}f[s>>2]=si(32768-(n[(f[a>>2]|0)+((f[o>>2]|0)-1<<1)>>1]|0)|0,1)|0;f[s>>2]=131072/(f[s>>2]|0)|0;u=(ui((f[s>>2]|0)+(f[u>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+((f[o>>2]|0)-1<<1)>>1]=u;h=c;return}function si(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function ui(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function hi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0;c=h;h=h+32|0;a=c+20|0;o=c+16|0;l=c+12|0;s=c+8|0;b=c+4|0;u=c;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[b>>2]=n;vs(f[o>>2]|0,0,300)|0;r=(f[l>>2]|0)!=8e3&(f[l>>2]|0)!=12e3&(f[l>>2]|0)!=16e3;do{if(f[b>>2]|0){if(!(r&(f[l>>2]|0)!=24e3&(f[l>>2]|0)!=48e3)?!((f[s>>2]|0)!=8e3&(f[s>>2]|0)!=12e3&(f[s>>2]|0)!=16e3):0){f[(f[o>>2]|0)+292>>2]=t[30493+((((f[l>>2]>>12)-((f[l>>2]|0)>16e3&1)>>((f[l>>2]|0)>24e3&1))-1|0)*3|0)+(((f[s>>2]>>12)-((f[s>>2]|0)>16e3&1)>>((f[s>>2]|0)>24e3&1))-1)>>0];break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}else{if(!r?!((f[s>>2]|0)!=8e3&(f[s>>2]|0)!=12e3&(f[s>>2]|0)!=16e3&(f[s>>2]|0)!=24e3&(f[s>>2]|0)!=48e3):0){f[(f[o>>2]|0)+292>>2]=t[30508+((((f[l>>2]>>12)-((f[l>>2]|0)>16e3&1)>>((f[l>>2]|0)>24e3&1))-1|0)*5|0)+(((f[s>>2]>>12)-((f[s>>2]|0)>16e3&1)>>((f[s>>2]|0)>24e3&1))-1)>>0];break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}}while(0);f[(f[o>>2]|0)+284>>2]=(f[l>>2]|0)/1e3|0;f[(f[o>>2]|0)+288>>2]=(f[s>>2]|0)/1e3|0;f[(f[o>>2]|0)+268>>2]=(f[(f[o>>2]|0)+284>>2]|0)*10;f[u>>2]=0;i=f[s>>2]|0;e=f[l>>2]|0;do{if((f[s>>2]|0)>(f[l>>2]|0)){r=(f[o>>2]|0)+264|0;if((i|0)==(e<<1|0)){f[r>>2]=1;break}else{f[r>>2]=2;f[u>>2]=1;break}}else{r=(f[o>>2]|0)+264|0;if((i|0)>=(e|0)){f[r>>2]=0;break}f[r>>2]=3;if((f[s>>2]<<2|0)==((f[l>>2]|0)*3|0)){f[(f[o>>2]|0)+280>>2]=3;f[(f[o>>2]|0)+276>>2]=18;f[(f[o>>2]|0)+296>>2]=24846;break}if(((f[s>>2]|0)*3|0)==(f[l>>2]<<1|0)){f[(f[o>>2]|0)+280>>2]=2;f[(f[o>>2]|0)+276>>2]=18;f[(f[o>>2]|0)+296>>2]=24904;break}if((f[s>>2]<<1|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=24;f[(f[o>>2]|0)+296>>2]=24944;break}if(((f[s>>2]|0)*3|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=24972;break}if((f[s>>2]<<2|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=25012;break}if(((f[s>>2]|0)*6|0)==(f[l>>2]|0)){f[(f[o>>2]|0)+280>>2]=1;f[(f[o>>2]|0)+276>>2]=36;f[(f[o>>2]|0)+296>>2]=25052;break}f[a>>2]=-1;b=f[a>>2]|0;h=c;return b|0}}while(0);f[(f[o>>2]|0)+272>>2]=((f[l>>2]<<14+(f[u>>2]|0)|0)/(f[s>>2]|0)|0)<<2;while(1){b=re(f[(f[o>>2]|0)+272>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;b=b+((re(f[(f[o>>2]|0)+272>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[(f[o>>2]|0)+272>>2]|0,(f[s>>2]>>15)+1>>1)|0)|0;if((b|0)>=(f[l>>2]<>2]|0))break;b=(f[o>>2]|0)+272|0;f[b>>2]=(f[b>>2]|0)+1}f[a>>2]=0;b=f[a>>2]|0;h=c;return b|0}function ci(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=(f[(f[n>>2]|0)+284>>2]|0)-(f[(f[n>>2]|0)+292>>2]|0);gs((f[n>>2]|0)+168+(f[(f[n>>2]|0)+292>>2]<<1)|0,f[o>>2]|0,f[s>>2]<<1|0)|0;switch(f[(f[n>>2]|0)+264>>2]|0){case 1:{_i(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);_i(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}case 2:{vi(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);vi(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}case 3:{di(f[n>>2]|0,f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]|0);di(f[n>>2]|0,(f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)|0);break}default:{gs(f[a>>2]|0,(f[n>>2]|0)+168|0,f[(f[n>>2]|0)+284>>2]<<1|0)|0;gs((f[a>>2]|0)+(f[(f[n>>2]|0)+288>>2]<<1)|0,(f[o>>2]|0)+(f[s>>2]<<1)|0,(f[l>>2]|0)-(f[(f[n>>2]|0)+284>>2]|0)<<1|0)|0}}gs((f[n>>2]|0)+168|0,(f[o>>2]|0)+((f[l>>2]|0)-(f[(f[n>>2]|0)+292>>2]|0)<<1)|0,f[(f[n>>2]|0)+292>>2]<<1|0)|0;h=u;return 0}function bi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+1968|0;a=d+1964|0;o=d+1960|0;l=d+1956|0;s=d+1952|0;w=d+1948|0;b=d+1944|0;k=d+1940|0;c=d+1936|0;u=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;r=f[a>>2]|0;f[u>>2]=f[r>>2];f[u+4>>2]=f[r+4>>2];f[u+8>>2]=f[r+8>>2];f[u+12>>2]=f[r+12>>2];while(1){f[w>>2]=(f[s>>2]|0)<480?f[s>>2]|0:480;ki((f[a>>2]|0)+16|0,u+16|0,f[l>>2]|0,25092,f[w>>2]|0);f[c>>2]=u;f[b>>2]=f[w>>2];while(1){if((f[b>>2]|0)<=2)break;r=re(f[f[c>>2]>>2]>>16,n[12548]|0)|0;f[k>>2]=r+((re(f[f[c>>2]>>2]&65535,n[12548]|0)|0)>>16);r=re(f[(f[c>>2]|0)+4>>2]>>16,n[12549]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+4>>2]&65535,n[12549]|0)|0)>>16));r=re(f[(f[c>>2]|0)+8>>2]>>16,n[12551]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+8>>2]&65535,n[12551]|0)|0)>>16));r=re(f[(f[c>>2]|0)+12>>2]>>16,n[12550]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+12>>2]&65535,n[12550]|0)|0)>>16));if(((f[k>>2]>>5)+1>>1|0)<=32767)if(((f[k>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>5)+1>>1;else e=32767;r=f[o>>2]|0;f[o>>2]=r+2;n[r>>1]=e;r=re(f[(f[c>>2]|0)+4>>2]>>16,n[12550]|0)|0;f[k>>2]=r+((re(f[(f[c>>2]|0)+4>>2]&65535,n[12550]|0)|0)>>16);r=re(f[(f[c>>2]|0)+8>>2]>>16,n[12551]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+8>>2]&65535,n[12551]|0)|0)>>16));r=re(f[(f[c>>2]|0)+12>>2]>>16,n[12549]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+12>>2]&65535,n[12549]|0)|0)>>16));r=re(f[(f[c>>2]|0)+16>>2]>>16,n[12548]|0)|0;f[k>>2]=(f[k>>2]|0)+(r+((re(f[(f[c>>2]|0)+16>>2]&65535,n[12548]|0)|0)>>16));if(((f[k>>2]>>5)+1>>1|0)<=32767)if(((f[k>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>5)+1>>1;else e=32767;r=f[o>>2]|0;f[o>>2]=r+2;n[r>>1]=e;f[c>>2]=(f[c>>2]|0)+12;f[b>>2]=(f[b>>2]|0)-3}f[l>>2]=(f[l>>2]|0)+(f[w>>2]<<1);f[s>>2]=(f[s>>2]|0)-(f[w>>2]|0);if((f[s>>2]|0)<=0)break;r=u+(f[w>>2]<<2)|0;f[u>>2]=f[r>>2];f[u+4>>2]=f[r+4>>2];f[u+8>>2]=f[r+8>>2];f[u+12>>2]=f[r+12>>2]}k=f[a>>2]|0;w=u+(f[w>>2]<<2)|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2];f[k+8>>2]=f[w+8>>2];f[k+12>>2]=f[w+12>>2];h=d;return}function wi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;d=h;h=h+48|0;a=d+36|0;o=d+32|0;l=d+28|0;p=d+24|0;b=d+20|0;w=d+16|0;c=d+12|0;k=d+8|0;u=d+4|0;s=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[p>>2]=t;f[w>>2]=f[p>>2]>>1;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[w>>2]|0))break;f[c>>2]=n[(f[l>>2]|0)+(f[b>>2]<<1<<1)>>1]<<10;f[u>>2]=(f[c>>2]|0)-(f[f[a>>2]>>2]|0);p=re(f[u>>2]>>16,-25727)|0;f[s>>2]=(f[u>>2]|0)+(p+((re(f[u>>2]&65535,-25727)|0)>>16));f[k>>2]=(f[f[a>>2]>>2]|0)+(f[s>>2]|0);f[f[a>>2]>>2]=(f[c>>2]|0)+(f[s>>2]|0);f[c>>2]=n[(f[l>>2]|0)+((f[b>>2]<<1)+1<<1)>>1]<<10;f[u>>2]=(f[c>>2]|0)-(f[(f[a>>2]|0)+4>>2]|0);f[s>>2]=((f[u>>2]>>16)*9872|0)+((f[u>>2]&65535)*9872>>16);f[k>>2]=(f[k>>2]|0)+(f[(f[a>>2]|0)+4>>2]|0);f[k>>2]=(f[k>>2]|0)+(f[s>>2]|0);f[(f[a>>2]|0)+4>>2]=(f[c>>2]|0)+(f[s>>2]|0);if(((f[k>>2]>>10)+1>>1|0)<=32767)if(((f[k>>2]>>10)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>10)+1>>1;else e=32767;n[(f[o>>2]|0)+(f[b>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+1}h=d;return}function ki(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;b=k+4|0;w=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;f[w>>2]=(f[f[o>>2]>>2]|0)+(n[(f[s>>2]|0)+(f[b>>2]<<1)>>1]<<8);f[(f[l>>2]|0)+(f[b>>2]<<2)>>2]=f[w>>2];f[w>>2]=f[w>>2]<<2;r=re(f[w>>2]>>16,n[f[u>>2]>>1]|0)|0;r=(f[(f[o>>2]|0)+4>>2]|0)+(r+((re(f[w>>2]&65535,n[f[u>>2]>>1]|0)|0)>>16))|0;f[f[o>>2]>>2]=r;r=re(f[w>>2]>>16,n[(f[u>>2]|0)+2>>1]|0)|0;r=r+((re(f[w>>2]&65535,n[(f[u>>2]|0)+2>>1]|0)|0)>>16)|0;f[(f[o>>2]|0)+4>>2]=r;f[b>>2]=(f[b>>2]|0)+1}h=k;return}function di(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;d=k+36|0;n=k+32|0;a=k+28|0;o=k+24|0;u=k+20|0;w=k+16|0;b=k+12|0;c=k+8|0;s=k+4|0;l=k;f[d>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=t;f[u>>2]=f[d>>2];r=(f[(f[u>>2]|0)+268>>2]|0)+(f[(f[u>>2]|0)+276>>2]|0)|0;f[l>>2]=he()|0;e=h;h=h+((1*(r<<2)|0)+15&-16)|0;gs(e|0,(f[u>>2]|0)+24|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0;f[s>>2]=(f[(f[u>>2]|0)+296>>2]|0)+4;f[c>>2]=f[(f[u>>2]|0)+272>>2];while(1){if((f[o>>2]|0)<(f[(f[u>>2]|0)+268>>2]|0))i=f[o>>2]|0;else i=f[(f[u>>2]|0)+268>>2]|0;f[w>>2]=i;ki(f[u>>2]|0,e+(f[(f[u>>2]|0)+276>>2]<<2)|0,f[a>>2]|0,f[(f[u>>2]|0)+296>>2]|0,f[w>>2]|0);f[b>>2]=f[w>>2]<<16;f[n>>2]=pi(f[n>>2]|0,e,f[s>>2]|0,f[(f[u>>2]|0)+276>>2]|0,f[(f[u>>2]|0)+280>>2]|0,f[b>>2]|0,f[c>>2]|0)|0;f[a>>2]=(f[a>>2]|0)+(f[w>>2]<<1);f[o>>2]=(f[o>>2]|0)-(f[w>>2]|0);if((f[o>>2]|0)<=1)break;gs(e|0,e+(f[w>>2]<<2)|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0}gs((f[u>>2]|0)+24|0,e+(f[w>>2]<<2)|0,f[(f[u>>2]|0)+276>>2]<<2|0)|0;de(f[l>>2]|0);h=k;return}function pi(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;b=_+44|0;w=_+40|0;k=_+36|0;m=_+32|0;s=_+28|0;d=_+24|0;p=_+20|0;g=_+16|0;y=_+12|0;v=_+8|0;u=_+4|0;c=_;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[m>>2]=t;f[s>>2]=a;f[d>>2]=o;f[p>>2]=l;switch(f[m>>2]|0){case 18:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[g>>2]&65535)>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=m+((re(f[g>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16);f[c>>2]=(f[k>>2]|0)+((f[u>>2]|0)*9<<1);m=re(f[f[v>>2]>>2]>>16,n[f[c>>2]>>1]|0)|0;f[y>>2]=m+((re(f[f[v>>2]>>2]&65535,n[f[c>>2]>>1]|0)|0)>>16);m=re(f[(f[v>>2]|0)+4>>2]>>16,n[(f[c>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+4>>2]&65535,n[(f[c>>2]|0)+2>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+8>>2]>>16,n[(f[c>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+8>>2]&65535,n[(f[c>>2]|0)+4>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+12>>2]>>16,n[(f[c>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+12>>2]&65535,n[(f[c>>2]|0)+6>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+16>>2]>>16,n[(f[c>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+16>>2]&65535,n[(f[c>>2]|0)+8>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+20>>2]>>16,n[(f[c>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+20>>2]&65535,n[(f[c>>2]|0)+10>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+24>>2]>>16,n[(f[c>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+24>>2]&65535,n[(f[c>>2]|0)+12>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+28>>2]>>16,n[(f[c>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+28>>2]&65535,n[(f[c>>2]|0)+14>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+32>>2]>>16,n[(f[c>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+32>>2]&65535,n[(f[c>>2]|0)+16>>1]|0)|0)>>16));f[c>>2]=(f[k>>2]|0)+(((f[s>>2]|0)-1-(f[u>>2]|0)|0)*9<<1);m=re(f[(f[v>>2]|0)+68>>2]>>16,n[f[c>>2]>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+68>>2]&65535,n[f[c>>2]>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+64>>2]>>16,n[(f[c>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+64>>2]&65535,n[(f[c>>2]|0)+2>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+60>>2]>>16,n[(f[c>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+60>>2]&65535,n[(f[c>>2]|0)+4>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+56>>2]>>16,n[(f[c>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+56>>2]&65535,n[(f[c>>2]|0)+6>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+52>>2]>>16,n[(f[c>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+52>>2]&65535,n[(f[c>>2]|0)+8>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+48>>2]>>16,n[(f[c>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+48>>2]&65535,n[(f[c>>2]|0)+10>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+44>>2]>>16,n[(f[c>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+44>>2]&65535,n[(f[c>>2]|0)+12>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+40>>2]>>16,n[(f[c>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+40>>2]&65535,n[(f[c>>2]|0)+14>>1]|0)|0)>>16));m=re(f[(f[v>>2]|0)+36>>2]>>16,n[(f[c>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re(f[(f[v>>2]|0)+36>>2]&65535,n[(f[c>>2]|0)+16>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}case 24:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)>>16,n[f[k>>2]>>1]|0)|0;f[y>>2]=m+((re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)&65535,n[f[k>>2]>>1]|0)|0)>>16);m=re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)>>16,n[(f[k>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)&65535,n[(f[k>>2]|0)+2>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)>>16,n[(f[k>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)&65535,n[(f[k>>2]|0)+4>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)>>16,n[(f[k>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)&65535,n[(f[k>>2]|0)+6>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)>>16,n[(f[k>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)&65535,n[(f[k>>2]|0)+8>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)>>16,n[(f[k>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)&65535,n[(f[k>>2]|0)+10>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+68>>2]|0)>>16,n[(f[k>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+68>>2]|0)&65535,n[(f[k>>2]|0)+12>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+64>>2]|0)>>16,n[(f[k>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+64>>2]|0)&65535,n[(f[k>>2]|0)+14>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+60>>2]|0)>>16,n[(f[k>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+60>>2]|0)&65535,n[(f[k>>2]|0)+16>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+56>>2]|0)>>16,n[(f[k>>2]|0)+18>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+56>>2]|0)&65535,n[(f[k>>2]|0)+18>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+52>>2]|0)>>16,n[(f[k>>2]|0)+20>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+52>>2]|0)&65535,n[(f[k>>2]|0)+20>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+48>>2]|0)>>16,n[(f[k>>2]|0)+22>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+48>>2]|0)&65535,n[(f[k>>2]|0)+22>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}case 36:{f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[d>>2]|0))break;f[v>>2]=(f[w>>2]|0)+(f[g>>2]>>16<<2);m=re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+140>>2]|0)>>16,n[f[k>>2]>>1]|0)|0;f[y>>2]=m+((re((f[f[v>>2]>>2]|0)+(f[(f[v>>2]|0)+140>>2]|0)&65535,n[f[k>>2]>>1]|0)|0)>>16);m=re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+136>>2]|0)>>16,n[(f[k>>2]|0)+2>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+4>>2]|0)+(f[(f[v>>2]|0)+136>>2]|0)&65535,n[(f[k>>2]|0)+2>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+132>>2]|0)>>16,n[(f[k>>2]|0)+4>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+8>>2]|0)+(f[(f[v>>2]|0)+132>>2]|0)&65535,n[(f[k>>2]|0)+4>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+128>>2]|0)>>16,n[(f[k>>2]|0)+6>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+12>>2]|0)+(f[(f[v>>2]|0)+128>>2]|0)&65535,n[(f[k>>2]|0)+6>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+124>>2]|0)>>16,n[(f[k>>2]|0)+8>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+16>>2]|0)+(f[(f[v>>2]|0)+124>>2]|0)&65535,n[(f[k>>2]|0)+8>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+120>>2]|0)>>16,n[(f[k>>2]|0)+10>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+20>>2]|0)+(f[(f[v>>2]|0)+120>>2]|0)&65535,n[(f[k>>2]|0)+10>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+116>>2]|0)>>16,n[(f[k>>2]|0)+12>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+24>>2]|0)+(f[(f[v>>2]|0)+116>>2]|0)&65535,n[(f[k>>2]|0)+12>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+112>>2]|0)>>16,n[(f[k>>2]|0)+14>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+28>>2]|0)+(f[(f[v>>2]|0)+112>>2]|0)&65535,n[(f[k>>2]|0)+14>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+108>>2]|0)>>16,n[(f[k>>2]|0)+16>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+32>>2]|0)+(f[(f[v>>2]|0)+108>>2]|0)&65535,n[(f[k>>2]|0)+16>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+104>>2]|0)>>16,n[(f[k>>2]|0)+18>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+36>>2]|0)+(f[(f[v>>2]|0)+104>>2]|0)&65535,n[(f[k>>2]|0)+18>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+100>>2]|0)>>16,n[(f[k>>2]|0)+20>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+40>>2]|0)+(f[(f[v>>2]|0)+100>>2]|0)&65535,n[(f[k>>2]|0)+20>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+96>>2]|0)>>16,n[(f[k>>2]|0)+22>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+44>>2]|0)+(f[(f[v>>2]|0)+96>>2]|0)&65535,n[(f[k>>2]|0)+22>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+48>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)>>16,n[(f[k>>2]|0)+24>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+48>>2]|0)+(f[(f[v>>2]|0)+92>>2]|0)&65535,n[(f[k>>2]|0)+24>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+52>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)>>16,n[(f[k>>2]|0)+26>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+52>>2]|0)+(f[(f[v>>2]|0)+88>>2]|0)&65535,n[(f[k>>2]|0)+26>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+56>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)>>16,n[(f[k>>2]|0)+28>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+56>>2]|0)+(f[(f[v>>2]|0)+84>>2]|0)&65535,n[(f[k>>2]|0)+28>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+60>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)>>16,n[(f[k>>2]|0)+30>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+60>>2]|0)+(f[(f[v>>2]|0)+80>>2]|0)&65535,n[(f[k>>2]|0)+30>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+64>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)>>16,n[(f[k>>2]|0)+32>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+64>>2]|0)+(f[(f[v>>2]|0)+76>>2]|0)&65535,n[(f[k>>2]|0)+32>>1]|0)|0)>>16));m=re((f[(f[v>>2]|0)+68>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)>>16,n[(f[k>>2]|0)+34>>1]|0)|0;f[y>>2]=(f[y>>2]|0)+(m+((re((f[(f[v>>2]|0)+68>>2]|0)+(f[(f[v>>2]|0)+72>>2]|0)&65535,n[(f[k>>2]|0)+34>>1]|0)|0)>>16));if(((f[y>>2]>>5)+1>>1|0)<=32767)if(((f[y>>2]>>5)+1>>1|0)<-32768)i=-32768;else i=(f[y>>2]>>5)+1>>1;else i=32767;m=f[b>>2]|0;f[b>>2]=m+2;n[m>>1]=i;f[g>>2]=(f[g>>2]|0)+(f[p>>2]|0)}m=f[b>>2]|0;h=_;return m|0}default:{m=f[b>>2]|0;h=_;return m|0}}return 0}function vi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;d=k+32|0;a=k+28|0;o=k+24|0;l=k+20|0;u=k+16|0;w=k+12|0;b=k+8|0;c=k+4|0;s=k;f[d>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=f[d>>2];r=(f[(f[u>>2]|0)+268>>2]<<1)+8|0;f[s>>2]=he()|0;e=h;h=h+((1*(r<<1)|0)+15&-16)|0;r=(f[u>>2]|0)+24|0;n[e>>1]=n[r>>1]|0;n[e+2>>1]=n[r+2>>1]|0;n[e+4>>1]=n[r+4>>1]|0;n[e+6>>1]=n[r+6>>1]|0;n[e+8>>1]=n[r+8>>1]|0;n[e+10>>1]=n[r+10>>1]|0;n[e+12>>1]=n[r+12>>1]|0;n[e+14>>1]=n[r+14>>1]|0;f[c>>2]=f[(f[u>>2]|0)+272>>2];while(1){if((f[l>>2]|0)<(f[(f[u>>2]|0)+268>>2]|0))i=f[l>>2]|0;else i=f[(f[u>>2]|0)+268>>2]|0;f[w>>2]=i;yi(f[u>>2]|0,e+16|0,f[o>>2]|0,f[w>>2]|0);f[b>>2]=f[w>>2]<<17;f[a>>2]=gi(f[a>>2]|0,e,f[b>>2]|0,f[c>>2]|0)|0;f[o>>2]=(f[o>>2]|0)+(f[w>>2]<<1);f[l>>2]=(f[l>>2]|0)-(f[w>>2]|0);if((f[l>>2]|0)<=0)break;d=e+(f[w>>2]<<1<<1)|0;n[e>>1]=n[d>>1]|0;n[e+2>>1]=n[d+2>>1]|0;n[e+4>>1]=n[d+4>>1]|0;n[e+6>>1]=n[d+6>>1]|0;n[e+8>>1]=n[d+8>>1]|0;n[e+10>>1]=n[d+10>>1]|0;n[e+12>>1]=n[d+12>>1]|0;n[e+14>>1]=n[d+14>>1]|0}d=(f[u>>2]|0)+24|0;w=e+(f[w>>2]<<1<<1)|0;n[d>>1]=n[w>>1]|0;n[d+2>>1]=n[w+2>>1]|0;n[d+4>>1]=n[w+4>>1]|0;n[d+6>>1]=n[w+6>>1]|0;n[d+8>>1]=n[w+8>>1]|0;n[d+10>>1]=n[w+10>>1]|0;n[d+12>>1]=n[w+12>>1]|0;n[d+14>>1]=n[w+14>>1]|0;de(f[s>>2]|0);h=k;return}function gi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;a=k+28|0;o=k+24|0;l=k+20|0;s=k+16|0;c=k+12|0;b=k+8|0;u=k+4|0;w=k;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=(((f[c>>2]&65535)>>16)*12|0)+((f[c>>2]&65535)*12>>16);f[u>>2]=(f[o>>2]|0)+(f[c>>2]>>16<<1);f[b>>2]=re(n[f[u>>2]>>1]|0,n[25104+(f[w>>2]<<3)>>1]|0)|0;f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+2>>1]|0,n[25104+(f[w>>2]<<3)+2>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+4>>1]|0,n[25104+(f[w>>2]<<3)+4>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+6>>1]|0,n[25104+(f[w>>2]<<3)+6>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+8>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+6>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+10>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+4>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+12>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)+2>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[u>>2]|0)+14>>1]|0,n[25104+(11-(f[w>>2]|0)<<3)>>1]|0)|0);if(((f[b>>2]>>14)+1>>1|0)<=32767)if(((f[b>>2]>>14)+1>>1|0)<-32768)r=-32768;else r=(f[b>>2]>>14)+1>>1;else r=32767;e=f[a>>2]|0;f[a>>2]=e+2;n[e>>1]=r;f[c>>2]=(f[c>>2]|0)+(f[s>>2]|0)}h=k;return f[a>>2]|0}function yi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;a=p+36|0;o=p+32|0;l=p+28|0;s=p+24|0;w=p+20|0;b=p+16|0;k=p+12|0;d=p+8|0;c=p+4|0;u=p;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[s>>2]|0))break;f[b>>2]=n[(f[l>>2]|0)+(f[w>>2]<<1)>>1]<<10;f[c>>2]=(f[b>>2]|0)-(f[f[a>>2]>>2]|0);r=re(f[c>>2]>>16,n[12417]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12417]|0)|0)>>16);f[k>>2]=(f[f[a>>2]>>2]|0)+(f[u>>2]|0);f[f[a>>2]>>2]=(f[b>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[k>>2]|0)-(f[(f[a>>2]|0)+4>>2]|0);r=re(f[c>>2]>>16,n[12418]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12418]|0)|0)>>16);f[d>>2]=(f[(f[a>>2]|0)+4>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+4>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[d>>2]|0)-(f[(f[a>>2]|0)+8>>2]|0);r=re(f[c>>2]>>16,n[12419]|0)|0;f[u>>2]=(f[c>>2]|0)+(r+((re(f[c>>2]&65535,n[12419]|0)|0)>>16));f[k>>2]=(f[(f[a>>2]|0)+8>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+8>>2]=(f[d>>2]|0)+(f[u>>2]|0);if(((f[k>>2]>>9)+1>>1|0)<=32767)if(((f[k>>2]>>9)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>9)+1>>1;else e=32767;n[(f[o>>2]|0)+(f[w>>2]<<1<<1)>>1]=e;f[c>>2]=(f[b>>2]|0)-(f[(f[a>>2]|0)+12>>2]|0);r=re(f[c>>2]>>16,n[12420]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12420]|0)|0)>>16);f[k>>2]=(f[(f[a>>2]|0)+12>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+12>>2]=(f[b>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[k>>2]|0)-(f[(f[a>>2]|0)+16>>2]|0);r=re(f[c>>2]>>16,n[12421]|0)|0;f[u>>2]=r+((re(f[c>>2]&65535,n[12421]|0)|0)>>16);f[d>>2]=(f[(f[a>>2]|0)+16>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+16>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[d>>2]|0)-(f[(f[a>>2]|0)+20>>2]|0);r=re(f[c>>2]>>16,n[12422]|0)|0;f[u>>2]=(f[c>>2]|0)+(r+((re(f[c>>2]&65535,n[12422]|0)|0)>>16));f[k>>2]=(f[(f[a>>2]|0)+20>>2]|0)+(f[u>>2]|0);f[(f[a>>2]|0)+20>>2]=(f[d>>2]|0)+(f[u>>2]|0);if(((f[k>>2]>>9)+1>>1|0)<=32767)if(((f[k>>2]>>9)+1>>1|0)<-32768)e=-32768;else e=(f[k>>2]>>9)+1>>1;else e=32767;n[(f[o>>2]|0)+((f[w>>2]<<1)+1<<1)>>1]=e;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function _i(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;n=h;h=h+32|0;u=n+16|0;l=n+12|0;o=n+8|0;a=n+4|0;s=n;f[u>>2]=e;f[l>>2]=r;f[o>>2]=i;f[a>>2]=t;f[s>>2]=f[u>>2];yi(f[s>>2]|0,f[l>>2]|0,f[o>>2]|0,f[a>>2]|0);h=n;return}function mi(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+8|0;i=n+4|0;t=n;f[i>>2]=e;e=f[i>>2]|0;if((f[i>>2]|0)<0){f[i>>2]=0-e;if((f[i>>2]|0)>=192){f[r>>2]=0;t=f[r>>2]|0;h=n;return t|0}else{f[t>>2]=f[i>>2]>>5;f[r>>2]=(f[17960+(f[t>>2]<<2)>>2]|0)-(re((f[17984+(f[t>>2]<<2)>>2]&65535)<<16>>16,(f[i>>2]&31)<<16>>16)|0);t=f[r>>2]|0;h=n;return t|0}}else if((e|0)>=192){f[r>>2]=32767;t=f[r>>2]|0;h=n;return t|0}else{f[t>>2]=f[i>>2]>>5;f[r>>2]=(f[18008+(f[t>>2]<<2)>>2]|0)+(re((f[17984+(f[t>>2]<<2)>>2]&65535)<<16>>16,(f[i>>2]&31)<<16>>16)|0);t=f[r>>2]|0;h=n;return t|0}return 0}function Ei(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+24|0;a=b+20|0;o=b+16|0;l=b+12|0;c=b+8|0;s=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=0;while(1){if((f[s>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=1;while(1){if((f[s>>2]|0)>=(f[l>>2]|0))break;f[c>>2]=f[(f[n>>2]|0)+(f[s>>2]<<2)>>2];f[u>>2]=(f[s>>2]|0)-1;while(1){if((f[u>>2]|0)<0)break;if((f[c>>2]|0)>=(f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]|0))break;f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+-1}f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[c>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=f[l>>2];while(1){if((f[s>>2]|0)>=(f[o>>2]|0))break;f[c>>2]=f[(f[n>>2]|0)+(f[s>>2]<<2)>>2];if((f[c>>2]|0)<(f[(f[n>>2]|0)+((f[l>>2]|0)-1<<2)>>2]|0)){f[u>>2]=(f[l>>2]|0)-2;while(1){if((f[u>>2]|0)<0)break;if((f[c>>2]|0)>=(f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]|0))break;f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+-1}f[(f[n>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[c>>2];f[(f[a>>2]|0)+((f[u>>2]|0)+1<<2)>>2]=f[s>>2]}f[s>>2]=(f[s>>2]|0)+1}h=b;return}function Ai(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;i=s+16|0;t=s+12|0;l=s+8|0;a=s+4|0;o=s;f[i>>2]=e;f[t>>2]=r;f[a>>2]=1;while(1){if((f[a>>2]|0)>=(f[t>>2]|0))break;f[l>>2]=n[(f[i>>2]|0)+(f[a>>2]<<1)>>1];f[o>>2]=(f[a>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((f[l>>2]|0)>=(n[(f[i>>2]|0)+(f[o>>2]<<1)>>1]|0))break;n[(f[i>>2]|0)+((f[o>>2]|0)+1<<1)>>1]=n[(f[i>>2]|0)+(f[o>>2]<<1)>>1]|0;f[o>>2]=(f[o>>2]|0)+-1}n[(f[i>>2]|0)+((f[o>>2]|0)+1<<1)>>1]=f[l>>2];f[a>>2]=(f[a>>2]|0)+1}h=s;return}function Si(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;c=d+12|0;k=d+8|0;w=d+4|0;b=d;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[b>>2]=0;f[k>>2]=0;f[u>>2]=(f[u>>2]|0)+-1;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;f[b>>2]=(f[b>>2]|0)+(re(n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+(re(n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0,n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0);if((f[b>>2]|0)<0){a=4;break}f[c>>2]=(f[c>>2]|0)+2}if((a|0)==4){f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=2;f[c>>2]=(f[c>>2]|0)+2}while(1){e=f[c>>2]|0;if((f[c>>2]|0)>=(f[u>>2]|0))break;f[w>>2]=re(n[(f[s>>2]|0)+(e<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(re(n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0,n[(f[s>>2]|0)+((f[c>>2]|0)+1<<1)>>1]|0)|0);f[b>>2]=(f[b>>2]|0)+((f[w>>2]|0)>>>(f[k>>2]|0));if((f[b>>2]|0)<0){f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=(f[k>>2]|0)+2}f[c>>2]=(f[c>>2]|0)+2}if((e|0)==(f[u>>2]|0)){f[w>>2]=re(n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0,n[(f[s>>2]|0)+(f[c>>2]<<1)>>1]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[w>>2]>>f[k>>2])}if(!(f[b>>2]&-1073741824)){k=f[k>>2]|0;w=f[l>>2]|0;f[w>>2]=k;w=f[b>>2]|0;k=f[o>>2]|0;f[k>>2]=w;h=d;return}f[b>>2]=(f[b>>2]|0)>>>2;f[k>>2]=(f[k>>2]|0)+2;k=f[k>>2]|0;w=f[l>>2]|0;f[w>>2]=k;w=f[b>>2]|0;k=f[o>>2]|0;f[k>>2]=w;h=d;return}function Ri(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+48|0;i=u+40|0;t=u+36|0;l=u+32|0;a=u+8|0;o=u+4|0;s=u;f[i>>2]=e;f[t>>2]=r;f[l>>2]=Fe(f[i>>2]|0,28978,8)|0;f[a+8>>2]=(f[l>>2]|0)/5|0;f[a+12+8>>2]=(f[l>>2]|0)-((f[a+8>>2]|0)*5|0);f[l>>2]=0;while(1){if((f[l>>2]|0)>=2)break;e=Fe(f[i>>2]|0,29031,8)|0;f[a+((f[l>>2]|0)*12|0)>>2]=e;e=Fe(f[i>>2]|0,29038,8)|0;f[a+((f[l>>2]|0)*12|0)+4>>2]=e;f[l>>2]=(f[l>>2]|0)+1}f[l>>2]=0;while(1){if((f[l>>2]|0)>=2)break;e=a+((f[l>>2]|0)*12|0)|0;f[e>>2]=(f[e>>2]|0)+((f[a+((f[l>>2]|0)*12|0)+8>>2]|0)*3|0);f[o>>2]=n[24526+(f[a+((f[l>>2]|0)*12|0)>>2]<<1)>>1];f[s>>2]=(((n[24526+((f[a+((f[l>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(f[o>>2]|0)>>16)*6554|0)+(((n[24526+((f[a+((f[l>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(f[o>>2]|0)&65535)*6554>>16);e=(f[o>>2]|0)+(re((f[s>>2]&65535)<<16>>16,((f[a+((f[l>>2]|0)*12|0)+4>>2]<<1)+1&65535)<<16>>16)|0)|0;f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=e;f[l>>2]=(f[l>>2]|0)+1}s=f[t>>2]|0;f[s>>2]=(f[s>>2]|0)-(f[(f[t>>2]|0)+4>>2]|0);h=u;return}function Ti(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;i=h;h=h+16|0;n=i+4|0;t=i;f[n>>2]=e;f[t>>2]=r;e=Fe(f[n>>2]|0,29003,8)|0;f[f[t>>2]>>2]=e;h=i;return}function Mi(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[n>>2]=r;f[a>>2]=((t[(f[n>>2]|0)+2>>0]|0)*5|0)+(t[(f[n>>2]|0)+3+2>>0]|0);$e(f[i>>2]|0,f[a>>2]|0,28978,8);f[a>>2]=0;while(1){if((f[a>>2]|0)>=2)break;$e(f[i>>2]|0,t[(f[n>>2]|0)+((f[a>>2]|0)*3|0)>>0]|0,29031,8);$e(f[i>>2]|0,t[(f[n>>2]|0)+((f[a>>2]|0)*3|0)+1>>0]|0,29038,8);f[a>>2]=(f[a>>2]|0)+1}h=o;return}function xi(e,r){e=e|0;r=r|0;var i=0,n=0,a=0;i=h;h=h+16|0;a=i;n=i+4|0;f[a>>2]=e;t[n>>0]=r;$e(f[a>>2]|0,t[n>>0]|0,29003,8);h=i;return}function Oi(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;p=h;h=h+64|0;w=p+52|0;y=p+48|0;g=p+44|0;k=p+40|0;v=p+36|0;o=p+32|0;b=p+28|0;_=p+24|0;m=p+20|0;s=p+16|0;u=p+12|0;l=p+8|0;d=p+4|0;c=p;f[w>>2]=e;f[y>>2]=r;f[g>>2]=i;f[k>>2]=t;f[v>>2]=n;f[o>>2]=a;Si(s,_,f[y>>2]|0,f[v>>2]|0);Si(u,m,f[g>>2]|0,f[v>>2]|0);f[b>>2]=Li(f[_>>2]|0,f[m>>2]|0)|0;f[b>>2]=(f[b>>2]|0)+(f[b>>2]&1);f[u>>2]=f[u>>2]>>(f[b>>2]|0)-(f[m>>2]|0);f[s>>2]=f[s>>2]>>(f[b>>2]|0)-(f[_>>2]|0);f[s>>2]=Li(f[s>>2]|0,1)|0;f[l>>2]=Ua(f[y>>2]|0,f[g>>2]|0,f[b>>2]|0,f[v>>2]|0)|0;f[d>>2]=Pi(f[l>>2]|0,f[s>>2]|0,13)|0;if((f[d>>2]|0)>16384)n=16384;else n=(f[d>>2]|0)<-16384?-16384:f[d>>2]|0;f[d>>2]=n;m=re(f[d>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;f[c>>2]=m+((re(f[d>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16);m=f[c>>2]|0;f[o>>2]=Li(f[o>>2]|0,(f[c>>2]|0)>0?m:0-m|0)|0;f[b>>2]=f[b>>2]>>1;m=f[f[k>>2]>>2]|0;_=Ci(f[s>>2]|0)|0;_=re((_<>2])-(f[f[k>>2]>>2]|0)>>16,(f[o>>2]&65535)<<16>>16)|0;y=Ci(f[s>>2]|0)|0;y=m+(_+((re((y<>2])-(f[f[k>>2]>>2]|0)&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[f[k>>2]>>2]=y;y=re(f[l>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;f[u>>2]=(f[u>>2]|0)-(y+((re(f[l>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16)<<4);y=re(f[s>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[u>>2]=(f[u>>2]|0)+(y+((re(f[s>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16)<<6);y=f[(f[k>>2]|0)+4>>2]|0;_=Ci(f[u>>2]|0)|0;_=re((_<>2])-(f[(f[k>>2]|0)+4>>2]|0)>>16,(f[o>>2]&65535)<<16>>16)|0;m=Ci(f[u>>2]|0)|0;m=y+(_+((re((m<>2])-(f[(f[k>>2]|0)+4>>2]|0)&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[k>>2]|0)+4>>2]=m;if((f[f[k>>2]>>2]|0)>1)n=f[f[k>>2]>>2]|0;else n=1;m=Pi(f[(f[k>>2]|0)+4>>2]|0,n,14)|0;f[f[w>>2]>>2]=m;if((f[f[w>>2]>>2]|0)>32767){_=32767;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}if((f[f[w>>2]>>2]|0)<0){_=0;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}_=f[f[w>>2]>>2]|0;m=f[w>>2]|0;f[m>>2]=_;m=f[d>>2]|0;h=p;return m|0}function Li(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Pi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(Ii((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(Ii((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ii(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Ci(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Ui(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Ui(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Ii(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Bi(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Bi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function ji(e,r){e=e|0;r=r|0;var i=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;i=p+40|0;a=p+36|0;s=p+32|0;u=p+28|0;w=p+24|0;c=p+20|0;d=p+16|0;b=p+12|0;l=p+8|0;o=p+4|0;k=p;f[i>>2]=e;f[a>>2]=r;f[k>>2]=0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=2)break;f[l>>2]=2147483647;f[s>>2]=0;e:while(1){if((f[s>>2]|0)>=15)break;f[c>>2]=n[24526+(f[s>>2]<<1)>>1];f[d>>2]=(((n[24526+((f[s>>2]|0)+1<<1)>>1]|0)-(f[c>>2]|0)>>16)*6554|0)+(((n[24526+((f[s>>2]|0)+1<<1)>>1]|0)-(f[c>>2]|0)&65535)*6554>>16);f[u>>2]=0;while(1){if((f[u>>2]|0)>=5)break;f[b>>2]=(f[c>>2]|0)+(re((f[d>>2]&65535)<<16>>16,((f[u>>2]<<1)+1&65535)<<16>>16)|0);e=(f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]|0)-(f[b>>2]|0)|0;f[o>>2]=((f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]|0)-(f[b>>2]|0)|0)>0?e:0-e|0;if((f[o>>2]|0)>=(f[l>>2]|0))break e;f[l>>2]=f[o>>2];f[k>>2]=f[b>>2];t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)>>0]=f[s>>2];t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+1>>0]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=(f[s>>2]|0)+1}t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+2>>0]=(t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)>>0]|0)/3|0;e=(f[a>>2]|0)+((f[w>>2]|0)*3|0)|0;t[e>>0]=(t[e>>0]|0)-((t[(f[a>>2]|0)+((f[w>>2]|0)*3|0)+2>>0]|0)*3|0);f[(f[i>>2]|0)+(f[w>>2]<<2)>>2]=f[k>>2];f[w>>2]=(f[w>>2]|0)+1}d=f[i>>2]|0;f[d>>2]=(f[d>>2]|0)-(f[(f[i>>2]|0)+4>>2]|0);h=p;return}function Di(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;n=k+32|0;a=k+28|0;d=k+24|0;o=k+20|0;w=k+16|0;b=k+12|0;c=k+8|0;l=k+4|0;u=k;f[n>>2]=e;f[a>>2]=r;f[d>>2]=i;f[o>>2]=t;s[b>>2]=3.1415927410125732/+((f[o>>2]|0)+1|0);s[c>>2]=2-+s[b>>2]*+s[b>>2];if((f[d>>2]|0)<2){s[l>>2]=0;s[u>>2]=+s[b>>2]}else{s[l>>2]=1;s[u>>2]=+s[c>>2]*.5}f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break;s[(f[n>>2]|0)+((f[w>>2]|0)+0<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+0<<2)>>2]*.5*(+s[l>>2]+ +s[u>>2]);s[(f[n>>2]|0)+((f[w>>2]|0)+1<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+1<<2)>>2]*+s[u>>2];s[l>>2]=+s[c>>2]*+s[u>>2]-+s[l>>2];s[(f[n>>2]|0)+((f[w>>2]|0)+2<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+2<<2)>>2]*.5*(+s[u>>2]+ +s[l>>2]);s[(f[n>>2]|0)+((f[w>>2]|0)+3<<2)>>2]=+s[(f[a>>2]|0)+((f[w>>2]|0)+3<<2)>>2]*+s[l>>2];s[u>>2]=+s[c>>2]*+s[l>>2]-+s[u>>2];f[w>>2]=(f[w>>2]|0)+4}h=k;return}function Ni(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;w=h;h=h+32|0;k=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;f[k>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=n;f[b>>2]=(f[k>>2]|0)+((f[l>>2]|0)-1<<2);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;d=+Bt(f[b>>2]|0,f[a>>2]|0,f[o>>2]|0);s[(f[u>>2]|0)+(f[c>>2]<<2)>>2]=d;f[b>>2]=(f[b>>2]|0)+-4;f[c>>2]=(f[c>>2]|0)+1}h=w;return}function Fi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;n=p+36|0;a=p+32|0;o=p+28|0;l=p+24|0;b=p+20|0;w=p+16|0;c=p;k=p+12|0;d=p+8|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[k>>2]=(f[n>>2]|0)+((f[o>>2]|0)-1<<2);u[c>>3]=+Ut(f[k>>2]|0,f[a>>2]|0);s[(f[l>>2]|0)+(0<<2)>>2]=+u[c>>3];f[b>>2]=1;while(1){if((f[b>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+u[c>>3]+(+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]*+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]-+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]*+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]);e=re(f[b>>2]|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+(f[b>>2]|0)<<2)>>2]=+u[c>>3];f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[n>>2]|0)+((f[o>>2]|0)-2<<2);f[w>>2]=1;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+Bt(f[k>>2]|0,f[d>>2]|0,f[a>>2]|0);s[(f[l>>2]|0)+((re(f[w>>2]|0,f[o>>2]|0)|0)+0<<2)>>2]=+u[c>>3];s[(f[l>>2]|0)+(0+(f[w>>2]|0)<<2)>>2]=+u[c>>3];f[b>>2]=1;while(1){if((f[b>>2]|0)>=((f[o>>2]|0)-(f[w>>2]|0)|0))break;u[c>>3]=+u[c>>3]+(+s[(f[k>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]*+s[(f[d>>2]|0)+(0-(f[b>>2]|0)<<2)>>2]-+s[(f[k>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]*+s[(f[d>>2]|0)+((f[a>>2]|0)-(f[b>>2]|0)<<2)>>2]);e=re((f[w>>2]|0)+(f[b>>2]|0)|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+(f[b>>2]|0)<<2)>>2]=+u[c>>3];e=re(f[b>>2]|0,f[o>>2]|0)|0;s[(f[l>>2]|0)+(e+((f[w>>2]|0)+(f[b>>2]|0))<<2)>>2]=+u[c>>3];f[b>>2]=(f[b>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+-4;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function zi(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;zf(f[r>>2]|0,(f[r>>2]|0)+5128+2|0)|0;e=f[r>>2]|0;if((f[(f[r>>2]|0)+4556>>2]|0)>=13){f[e+6116>>2]=0;f[(f[r>>2]|0)+6112>>2]=0;t[(f[r>>2]|0)+4768+29>>0]=1;t[(f[r>>2]|0)+4752+(f[(f[r>>2]|0)+5780>>2]|0)>>0]=1;h=i;return}t[e+4768+29>>0]=0;e=(f[r>>2]|0)+6116|0;f[e>>2]=(f[e>>2]|0)+1;e=f[r>>2]|0;if((f[(f[r>>2]|0)+6116>>2]|0)>=10){if((f[e+6116>>2]|0)>30){f[(f[r>>2]|0)+6116>>2]=10;f[(f[r>>2]|0)+6112>>2]=0}}else f[e+6112>>2]=0;t[(f[r>>2]|0)+4752+(f[(f[r>>2]|0)+5780>>2]|0)>>0]=0;h=i;return}function Yi(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;G=h;h=h+15152|0;w=G+13856|0;k=G+13852|0;d=G+13848|0;p=G+13844|0;v=G+13840|0;g=G+13836|0;y=G+13832|0;Y=G+12920|0;C=G+12916|0;U=G+12912|0;B=G+12908|0;R=G+12904|0;S=G+12900|0;z=G+12896|0;b=G+12892|0;c=G+12888|0;J=G+11608|0;u=G+8920|0;W=G+8872|0;Z=G+8824|0;H=G+4444|0;q=G+64|0;V=G+60|0;j=G+56|0;D=G+52|0;N=G+48|0;M=G+44|0;x=G+40|0;L=G+36|0;P=G+32|0;I=G+28|0;T=G+13862|0;E=G+13860|0;A=G+24|0;_=G+15139|0;F=G+8|0;m=G+13864|0;O=G;f[k>>2]=e;f[d>>2]=r;f[p>>2]=i;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[z>>2]=0;f[x>>2]=0;f[M>>2]=0;f[N>>2]=0;f[D>>2]=0;t[_>>0]=0;i=(f[k>>2]|0)+4644|0;l=f[i>>2]|0;f[i>>2]=l+1;t[(f[k>>2]|0)+4768+34>>0]=l&3;f[b>>2]=(f[k>>2]|0)+9356+(f[(f[k>>2]|0)+4616>>2]<<2);f[c>>2]=u+(f[(f[k>>2]|0)+4616>>2]<<2);Oo((f[k>>2]|0)+16|0,(f[k>>2]|0)+5128+2|0,f[(f[k>>2]|0)+4608>>2]|0);Hi((f[b>>2]|0)+((f[(f[k>>2]|0)+4600>>2]|0)*5<<2)|0,(f[k>>2]|0)+5128+2|0,f[(f[k>>2]|0)+4608>>2]|0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=8)break;l=((f[(f[k>>2]|0)+4600>>2]|0)*5|0)+(re(f[C>>2]|0,f[(f[k>>2]|0)+4608>>2]>>3)|0)|0;l=(f[b>>2]|0)+(l<<2)|0;s[l>>2]=+s[l>>2]+ +(1-(f[C>>2]&2)|0)*9.999999974752427e-7;f[C>>2]=(f[C>>2]|0)+1}e:do{if(!(f[(f[k>>2]|0)+4712>>2]|0)){$i(f[k>>2]|0,Y,u,f[b>>2]|0,f[(f[k>>2]|0)+5124>>2]|0);lt(f[k>>2]|0,Y,f[c>>2]|0,f[b>>2]|0);Qi(f[k>>2]|0,Y,u,f[b>>2]|0,f[v>>2]|0);dt(f[k>>2]|0,Y,f[v>>2]|0);bt(f[k>>2]|0,Y,J,f[b>>2]|0);qi(f[k>>2]|0,Y,J,f[v>>2]|0);f[B>>2]=6;n[T>>1]=256;f[S>>2]=0;f[R>>2]=0;f[L>>2]=Mo((f[k>>2]|0)+4768|0,f[(f[k>>2]|0)+4604>>2]|0)|0;f[P>>2]=-1;f[I>>2]=-1;a=W;o=f[p>>2]|0;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(H|0,(f[k>>2]|0)+144|0,4380)|0;f[V>>2]=t[(f[k>>2]|0)+4768+34>>0];n[E>>1]=n[(f[k>>2]|0)+5804>>1]|0;f[A>>2]=f[(f[k>>2]|0)+5800>>2];f[U>>2]=0;while(1){do{if((f[L>>2]|0)!=(f[P>>2]|0)){if((f[L>>2]|0)==(f[I>>2]|0)){f[j>>2]=f[N>>2];break}if((f[U>>2]|0)>0){a=f[p>>2]|0;o=W;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs((f[k>>2]|0)+144|0,H|0,4380)|0;t[(f[k>>2]|0)+4768+34>>0]=f[V>>2];n[(f[k>>2]|0)+5804>>1]=n[E>>1]|0;f[(f[k>>2]|0)+5800>>2]=f[A>>2]}Ot(f[k>>2]|0,Y,(f[k>>2]|0)+4768|0,(f[k>>2]|0)+144|0,(f[k>>2]|0)+4804|0,J);_o(f[k>>2]|0,f[p>>2]|0,f[(f[k>>2]|0)+5780>>2]|0,0,f[v>>2]|0);mo(f[p>>2]|0,t[(f[k>>2]|0)+4768+29>>0]|0,t[(f[k>>2]|0)+4768+30>>0]|0,(f[k>>2]|0)+4804|0,f[(f[k>>2]|0)+4608>>2]|0);f[j>>2]=Zi(f[p>>2]|0)|0;if((f[y>>2]|0)==0&(f[U>>2]|0)==0?(f[j>>2]|0)<=(f[g>>2]|0):0)break e}else f[j>>2]=f[D>>2]}while(0);if((f[U>>2]|0)==(f[B>>2]|0))break;do{if((f[j>>2]|0)>(f[g>>2]|0))if((f[S>>2]|0)==0&(f[U>>2]|0)>=2){b=Y+852|0;s[b>>2]=+s[b>>2]*1.5;f[R>>2]=0;f[I>>2]=-1;break}else{f[R>>2]=1;f[N>>2]=f[j>>2];f[x>>2]=n[T>>1];f[I>>2]=f[L>>2];break}else{if((f[j>>2]|0)>=((f[g>>2]|0)-5|0))break e;f[S>>2]=1;f[D>>2]=f[j>>2];f[M>>2]=n[T>>1];if((f[L>>2]|0)!=(f[P>>2]|0)){f[P>>2]=f[L>>2];a=Z;o=f[p>>2]|0;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(m|0,f[f[p>>2]>>2]|0,f[(f[p>>2]|0)+24>>2]|0)|0;gs(q|0,(f[k>>2]|0)+144|0,4380)|0;t[_>>0]=t[(f[k>>2]|0)+7200>>0]|0}}}while(0);do{if(f[S>>2]&f[R>>2]){b=re((f[x>>2]|0)-(f[M>>2]|0)|0,(f[g>>2]|0)-(f[D>>2]|0)|0)|0;n[T>>1]=(f[M>>2]|0)+((b|0)/((f[N>>2]|0)-(f[D>>2]|0)|0)|0);if((n[T>>1]|0)>((f[M>>2]|0)+((f[x>>2]|0)-(f[M>>2]|0)>>2)|0)){n[T>>1]=(f[M>>2]|0)+((f[x>>2]|0)-(f[M>>2]|0)>>2);break}if((n[T>>1]|0)<((f[x>>2]|0)-((f[x>>2]|0)-(f[M>>2]|0)>>2)|0))n[T>>1]=(f[x>>2]|0)-((f[x>>2]|0)-(f[M>>2]|0)>>2)}else{f[O>>2]=Fa((((f[j>>2]|0)-(f[g>>2]|0)<<7|0)/(f[(f[k>>2]|0)+4608>>2]|0)|0)+2048|0)|0;f[O>>2]=Vi(f[O>>2]|0,131072)|0;if((f[j>>2]|0)>(f[g>>2]|0))f[O>>2]=Ji(f[O>>2]|0,85197)|0;b=re(f[O>>2]>>16,n[T>>1]|0)|0;n[T>>1]=b+((re(f[O>>2]&65535,n[T>>1]|0)|0)>>16)}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;b=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;if((b+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0)<=8388607){b=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;if((b+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0)<-8388608)a=-8388608;else{a=re(f[Y+892+(f[C>>2]<<2)>>2]>>16,n[T>>1]|0)|0;a=a+((re(f[Y+892+(f[C>>2]<<2)>>2]&65535,n[T>>1]|0)|0)>>16)|0}}else a=8388607;f[F+(f[C>>2]<<2)>>2]=a<<8;f[C>>2]=(f[C>>2]|0)+1}t[(f[k>>2]|0)+7200>>0]=t[Y+908>>0]|0;Ao((f[k>>2]|0)+4768|0,F,(f[k>>2]|0)+7200|0,(f[v>>2]|0)==2&1,f[(f[k>>2]|0)+4604>>2]|0);f[L>>2]=Mo((f[k>>2]|0)+4768|0,f[(f[k>>2]|0)+4604>>2]|0)|0;f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[Y+(f[C>>2]<<2)>>2]=+(f[F+(f[C>>2]<<2)>>2]|0)/65536;f[C>>2]=(f[C>>2]|0)+1}f[U>>2]=(f[U>>2]|0)+1}if(f[S>>2]|0){if((f[L>>2]|0)!=(f[P>>2]|0)?(f[j>>2]|0)<=(f[g>>2]|0):0)break;a=f[p>>2]|0;o=Z;r=a+48|0;do{f[a>>2]=f[o>>2];a=a+4|0;o=o+4|0}while((a|0)<(r|0));gs(f[f[p>>2]>>2]|0,m|0,f[Z+24>>2]|0)|0;gs((f[k>>2]|0)+144|0,q|0,4380)|0;t[(f[k>>2]|0)+7200>>0]=t[_>>0]|0}}}while(0);ys((f[k>>2]|0)+9356|0,(f[k>>2]|0)+9356+(f[(f[k>>2]|0)+4608>>2]<<2)|0,(f[(f[k>>2]|0)+4616>>2]|0)+((f[(f[k>>2]|0)+4600>>2]|0)*5|0)<<2|0)|0;if(f[(f[k>>2]|0)+4712>>2]|0){f[f[d>>2]>>2]=0;f[w>>2]=f[z>>2];J=f[w>>2]|0;h=G;return J|0}else{f[(f[k>>2]|0)+4568>>2]=f[Y+228+((f[(f[k>>2]|0)+4604>>2]|0)-1<<2)>>2];t[(f[k>>2]|0)+4565>>0]=t[(f[k>>2]|0)+4768+29>>0]|0;f[(f[k>>2]|0)+4696>>2]=0;J=(Zi(f[p>>2]|0)|0)+7>>3;f[f[d>>2]>>2]=J;f[w>>2]=f[z>>2];J=f[w>>2]|0;h=G;return J|0}return 0}function Hi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function qi(e,r,i,a){e=e|0;r=r|0;i=i|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;v=h;h=h+4448|0;o=v+4432|0;l=v+4428|0;u=v+4424|0;c=v+4420|0;k=v+4416|0;b=v+4400|0;w=v+4384|0;d=v+4380|0;p=v;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=a;f[d>>2]=(f[o>>2]|0)+6132+((f[(f[o>>2]|0)+5780>>2]|0)*36|0);if(!(f[(f[o>>2]|0)+6124>>2]|0)){h=v;return}if((f[(f[o>>2]|0)+4556>>2]|0)<=77){h=v;return}f[(f[o>>2]|0)+4756+(f[(f[o>>2]|0)+5780>>2]<<2)>>2]=1;gs(p|0,(f[o>>2]|0)+144|0,4380)|0;a=f[d>>2]|0;e=(f[o>>2]|0)+4768|0;r=a+36|0;do{n[a>>1]=n[e>>1]|0;a=a+2|0;e=e+2|0}while((a|0)<(r|0));gs(w|0,f[l>>2]|0,f[(f[o>>2]|0)+4604>>2]<<2|0)|0;if(!((f[(f[o>>2]|0)+5780>>2]|0)!=0?(f[(f[o>>2]|0)+4756+((f[(f[o>>2]|0)+5780>>2]|0)-1<<2)>>2]|0)!=0:0)){t[(f[o>>2]|0)+4564>>0]=t[(f[o>>2]|0)+7200>>0]|0;i=f[d>>2]|0;t[i>>0]=(t[i>>0]|0)+(f[(f[o>>2]|0)+6128>>2]|0);i=(Wi(t[f[d>>2]>>0]|0,63)|0)&255;t[f[d>>2]>>0]=i}Ro(b,f[d>>2]|0,(f[o>>2]|0)+4564|0,(f[c>>2]|0)==2&1,f[(f[o>>2]|0)+4604>>2]|0);f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[(f[o>>2]|0)+4604>>2]|0))break;s[(f[l>>2]|0)+(f[k>>2]<<2)>>2]=+(f[b+(f[k>>2]<<2)>>2]|0)*152587890625e-16;f[k>>2]=(f[k>>2]|0)+1}Ot(f[o>>2]|0,f[l>>2]|0,f[d>>2]|0,p,(f[o>>2]|0)+6240+((f[(f[o>>2]|0)+5780>>2]|0)*320|0)|0,f[u>>2]|0);gs(f[l>>2]|0,w|0,f[(f[o>>2]|0)+4604>>2]<<2|0)|0;h=v;return}function Wi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zi(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Vi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ji(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Gi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=+n;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+1744|0;o=_+1700|0;l=_+1696|0;u=_+1692|0;a=_+1688|0;d=_+1684|0;y=_+1680|0;w=_+1616|0;p=_+1608|0;v=_+1604|0;g=_+1600|0;b=_+1704|0;k=_+1536|0;c=_;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;s[a>>2]=n;f[y>>2]=(f[(f[o>>2]|0)+4612>>2]|0)+(f[(f[o>>2]|0)+4664>>2]|0);t[(f[o>>2]|0)+4768+31>>0]=4;s[p>>2]=+It(w,f[u>>2]|0,+s[a>>2],f[y>>2]|0,f[(f[o>>2]|0)+4604>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);e:do{if((f[(f[o>>2]|0)+4656>>2]|0?(f[(f[o>>2]|0)+4696>>2]|0)==0:0)?(f[(f[o>>2]|0)+4604>>2]|0)==4:0){n=+It(k,(f[u>>2]|0)+(f[y>>2]<<1<<2)|0,+s[a>>2],f[y>>2]|0,2,f[(f[o>>2]|0)+4664>>2]|0);s[p>>2]=+s[p>>2]-n;Rt(f[l>>2]|0,k,f[(f[o>>2]|0)+4664>>2]|0);s[v>>2]=3.4028234663852886e38;f[d>>2]=3;while(1){if((f[d>>2]|0)<0)break e;xo(b,(f[o>>2]|0)+4524|0,f[l>>2]|0,f[d>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);Mt(k,b,f[(f[o>>2]|0)+4664>>2]|0);et(c,k,f[u>>2]|0,f[y>>2]<<1,f[(f[o>>2]|0)+4664>>2]|0);n=+Ut(c+(f[(f[o>>2]|0)+4664>>2]<<2)|0,(f[y>>2]|0)-(f[(f[o>>2]|0)+4664>>2]|0)|0);s[g>>2]=n+ +Ut(c+(f[(f[o>>2]|0)+4664>>2]<<2)+(f[y>>2]<<2)|0,(f[y>>2]|0)-(f[(f[o>>2]|0)+4664>>2]|0)|0);n=+s[g>>2];if(!(+s[g>>2]<+s[p>>2])){if(n>+s[v>>2])break e}else{s[p>>2]=n;t[(f[o>>2]|0)+4768+31>>0]=f[d>>2]}s[v>>2]=+s[g>>2];f[d>>2]=(f[d>>2]|0)+-1}}}while(0);if((t[(f[o>>2]|0)+4768+31>>0]|0)!=4){h=_;return}Rt(f[l>>2]|0,w,f[(f[o>>2]|0)+4664>>2]|0);h=_;return}function Ki(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;j=h;h=h+192|0;b=j+188|0;F=j+184|0;w=j+180|0;N=j+176|0;k=j+172|0;d=j+168|0;p=j+164|0;T=j+160|0;D=j+156|0;P=j+152|0;I=j+148|0;M=j+144|0;U=j+140|0;_=j+136|0;g=j+132|0;v=j+128|0;x=j+112|0;C=j+104|0;L=j+100|0;O=j+80|0;B=j+64|0;E=j+48|0;S=j+44|0;y=j+24|0;R=j+8|0;A=j+4|0;m=j;f[b>>2]=e;f[F>>2]=r;f[w>>2]=i;f[N>>2]=t;f[k>>2]=n;f[d>>2]=a;f[p>>2]=o;f[T>>2]=l;f[D>>2]=u;f[M>>2]=f[b>>2];f[_>>2]=f[F>>2];f[A>>2]=(f[N>>2]|0)+(f[D>>2]<<2);f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;f[m>>2]=(f[A>>2]|0)+(0-((f[(f[k>>2]|0)+(f[I>>2]<<2)>>2]|0)+2)<<2);Fi(f[m>>2]|0,f[p>>2]|0,5,f[_>>2]|0);Ni(f[m>>2]|0,f[A>>2]|0,f[p>>2]|0,5,y);c=+Ut(f[A>>2]|0,f[p>>2]|0);s[R+(f[I>>2]<<2)>>2]=c;s[S>>2]=+s[R+(f[I>>2]<<2)>>2]+1+ +s[f[_>>2]>>2]+ +s[(f[_>>2]|0)+96>>2];s[S>>2]=+s[S>>2]*.01666666753590107;vt(f[_>>2]|0,R+(f[I>>2]<<2)|0,+s[S>>2],5);_t(f[_>>2]|0,5,y,f[M>>2]|0);c=+gt(f[M>>2]|0,f[_>>2]|0,y,+s[R+(f[I>>2]<<2)>>2],5);s[E+(f[I>>2]<<2)>>2]=c;s[U>>2]=+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]/(+s[E+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]+ +(f[p>>2]|0)*.009999999776482582);Ko(f[_>>2]|0,+s[U>>2],25);s[B+(f[I>>2]<<2)>>2]=+s[(f[_>>2]|0)+48>>2];f[A>>2]=(f[A>>2]|0)+(f[p>>2]<<2);f[M>>2]=(f[M>>2]|0)+20;f[_>>2]=(f[_>>2]|0)+100;f[I>>2]=(f[I>>2]|0)+1}if(f[w>>2]|0){s[v>>2]=9.999999974752427e-7;s[g>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[g>>2]=+s[g>>2]+ +s[R+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[E+(f[I>>2]<<2)>>2]*+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}c=+Xi(+s[g>>2]/+s[v>>2])*3;s[f[w>>2]>>2]=c}f[M>>2]=f[b>>2];f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[x+(f[I>>2]<<2)>>2]=0;f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;F=x+(f[I>>2]<<2)|0;s[F>>2]=+s[F>>2]+ +s[(f[M>>2]|0)+(f[P>>2]<<2)>>2];f[P>>2]=(f[P>>2]|0)+1}f[M>>2]=(f[M>>2]|0)+20;f[I>>2]=(f[I>>2]|0)+1}s[U>>2]=.0010000000474974513;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[U>>2]=+s[U>>2]+ +s[B+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}s[C>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[C>>2]=+s[C>>2]+ +s[x+(f[I>>2]<<2)>>2]*+s[B+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}s[C>>2]=+s[C>>2]/+s[U>>2];f[M>>2]=f[b>>2];f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[T>>2]|0))break;s[L>>2]=.10000000149011612/(+s[B+(f[I>>2]<<2)>>2]+.10000000149011612)*(+s[C>>2]-+s[x+(f[I>>2]<<2)>>2]);s[U>>2]=0;f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;if(+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]>.10000000149011612)c=+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2];else c=.10000000149011612;s[O+(f[P>>2]<<2)>>2]=c;s[U>>2]=+s[U>>2]+ +s[O+(f[P>>2]<<2)>>2];f[P>>2]=(f[P>>2]|0)+1}s[U>>2]=+s[L>>2]/+s[U>>2];f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]=+s[(f[M>>2]|0)+(f[P>>2]<<2)>>2]+ +s[O+(f[P>>2]<<2)>>2]*+s[U>>2];f[P>>2]=(f[P>>2]|0)+1}f[M>>2]=(f[M>>2]|0)+20;f[I>>2]=(f[I>>2]|0)+1}h=j;return}function Xi(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function $i(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;k=h;h=h+1792|0;l=k+1776|0;u=k+1772|0;c=k+1768|0;S=k+1764|0;b=k+1760|0;d=k+1756|0;w=k+1752|0;y=k+1748|0;E=k+1744|0;p=k+1740|0;_=k+1672|0;v=k+1608|0;g=k+1544|0;m=k+8|0;A=k;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[S>>2]=a;f[b>>2]=o;f[d>>2]=(f[(f[l>>2]|0)+4620>>2]|0)+(f[(f[l>>2]|0)+4608>>2]|0)+(f[(f[l>>2]|0)+4616>>2]|0);f[p>>2]=(f[S>>2]|0)+(0-(f[(f[l>>2]|0)+4616>>2]|0)<<2);f[E>>2]=(f[p>>2]|0)+(f[d>>2]<<2)+(0-(f[(f[l>>2]|0)+4572>>2]|0)<<2);f[A>>2]=m;Di(f[A>>2]|0,f[E>>2]|0,1,f[(f[l>>2]|0)+4620>>2]|0);f[A>>2]=(f[A>>2]|0)+(f[(f[l>>2]|0)+4620>>2]<<2);f[E>>2]=(f[E>>2]|0)+(f[(f[l>>2]|0)+4620>>2]<<2);gs(f[A>>2]|0,f[E>>2]|0,(f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2|0)|0;f[A>>2]=(f[A>>2]|0)+((f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2);f[E>>2]=(f[E>>2]|0)+((f[(f[l>>2]|0)+4572>>2]|0)-(f[(f[l>>2]|0)+4620>>2]<<1)<<2);Di(f[A>>2]|0,f[E>>2]|0,2,f[(f[l>>2]|0)+4620>>2]|0);Pt(_,m,f[(f[l>>2]|0)+4572>>2]|0,(f[(f[l>>2]|0)+4672>>2]|0)+1|0);s[_>>2]=+s[_>>2]+(+s[_>>2]*.0010000000474974513+1);s[y>>2]=+Xo(g,_,f[(f[l>>2]|0)+4672>>2]|0);s[(f[u>>2]|0)+868>>2]=+s[_>>2]/(+s[y>>2]>1?+s[y>>2]:1);jt(v,g,f[(f[l>>2]|0)+4672>>2]|0);Ct(v,f[(f[l>>2]|0)+4672>>2]|0,.9900000095367432);et(f[c>>2]|0,v,f[p>>2]|0,f[d>>2]|0,f[(f[l>>2]|0)+4672>>2]|0);if(t[(f[l>>2]|0)+4768+29>>0]|0?(f[(f[l>>2]|0)+4696>>2]|0)==0:0){s[w>>2]=.6000000238418579;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4672>>2]|0)*.004000000189989805;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4556>>2]|0)*.10000000149011612*.00390625;s[w>>2]=+s[w>>2]-+(t[(f[l>>2]|0)+4565>>0]>>1|0)*.15000000596046448;s[w>>2]=+s[w>>2]-+(f[(f[l>>2]|0)+4744>>2]|0)*.10000000149011612*30517578125e-15;S=(Ft(f[c>>2]|0,(f[u>>2]|0)+228|0,(f[l>>2]|0)+4768+26|0,(f[l>>2]|0)+4768+28|0,(f[l>>2]|0)+12236|0,f[(f[l>>2]|0)+4568>>2]|0,+(f[(f[l>>2]|0)+4676>>2]|0)/65536,+s[w>>2],f[(f[l>>2]|0)+4600>>2]|0,f[(f[l>>2]|0)+4668>>2]|0,f[(f[l>>2]|0)+4604>>2]|0,f[b>>2]|0)|0)==0;l=(f[l>>2]|0)+4768+29|0;if(S){t[l>>0]=2;h=k;return}else{t[l>>0]=1;h=k;return}}S=(f[u>>2]|0)+228|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[(f[l>>2]|0)+4768+26>>1]=0;t[(f[l>>2]|0)+4768+28>>0]=0;s[(f[l>>2]|0)+12236>>2]=0;h=k;return}function Qi(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;A=h;h=h+2048|0;u=A+2004|0;c=A+2e3|0;b=A+1996|0;w=A+1992|0;k=A+1988|0;g=A+1984|0;p=A+1584|0;y=A+1568|0;v=A+1552|0;l=A+2008|0;E=A+1548|0;m=A+1544|0;d=A+8|0;_=A;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=a;f[k>>2]=o;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;s[y+(f[g>>2]<<2)>>2]=1/+s[(f[c>>2]|0)+(f[g>>2]<<2)>>2];s[v+(f[g>>2]<<2)>>2]=+s[y+(f[g>>2]<<2)>>2]*+s[y+(f[g>>2]<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}if((t[(f[u>>2]|0)+4768+29>>0]|0)==2){Ki((f[c>>2]|0)+144|0,p,(f[c>>2]|0)+872|0,f[b>>2]|0,(f[c>>2]|0)+228|0,v,f[(f[u>>2]|0)+4612>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+4616>>2]|0);Lt((f[c>>2]|0)+144|0,(f[u>>2]|0)+4768+4|0,(f[u>>2]|0)+4768+32|0,(f[u>>2]|0)+4688|0,p,f[(f[u>>2]|0)+4684>>2]|0,f[(f[u>>2]|0)+4680>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+5124>>2]|0);ot(f[u>>2]|0,f[c>>2]|0,f[k>>2]|0);at(d,(f[w>>2]|0)+(0-(f[(f[u>>2]|0)+4664>>2]|0)<<2)|0,(f[c>>2]|0)+144|0,(f[c>>2]|0)+228|0,y,f[(f[u>>2]|0)+4612>>2]|0,f[(f[u>>2]|0)+4604>>2]|0,f[(f[u>>2]|0)+4664>>2]|0)}else{f[E>>2]=(f[w>>2]|0)+(0-(f[(f[u>>2]|0)+4664>>2]|0)<<2);f[m>>2]=d;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;Jt(f[m>>2]|0,f[E>>2]|0,+s[y+(f[g>>2]<<2)>>2],(f[(f[u>>2]|0)+4612>>2]|0)+(f[(f[u>>2]|0)+4664>>2]|0)|0);f[m>>2]=(f[m>>2]|0)+((f[(f[u>>2]|0)+4612>>2]|0)+(f[(f[u>>2]|0)+4664>>2]|0)<<2);f[E>>2]=(f[E>>2]|0)+(f[(f[u>>2]|0)+4612>>2]<<2);f[g>>2]=(f[g>>2]|0)+1}vs((f[c>>2]|0)+144|0,0,(f[(f[u>>2]|0)+4604>>2]|0)*5<<2|0)|0;s[(f[c>>2]|0)+872>>2]=0;f[(f[u>>2]|0)+4688>>2]=0}if(f[(f[u>>2]|0)+4696>>2]|0){s[_>>2]=.009999999776482582;a=f[u>>2]|0;S=+s[_>>2];Gi(a,l,d,S);a=f[u>>2]|0;i=f[c>>2]|0;i=i+16|0;r=f[u>>2]|0;r=r+4524|0;xt(a,i,l,r);r=f[c>>2]|0;r=r+876|0;i=f[c>>2]|0;i=i+16|0;a=f[c>>2]|0;m=f[u>>2]|0;m=m+4612|0;m=f[m>>2]|0;E=f[u>>2]|0;E=E+4604|0;E=f[E>>2]|0;c=f[u>>2]|0;c=c+4664|0;c=f[c>>2]|0;yt(r,d,i,a,m,E,c);c=f[u>>2]|0;c=c+4524|0;u=c+32|0;do{n[c>>1]=n[l>>1]|0;c=c+2|0;l=l+2|0}while((c|0)<(u|0));h=A;return}else{s[_>>2]=+q(2,+(+s[(f[c>>2]|0)+872>>2]/3))/1e4;s[_>>2]=+s[_>>2]/(+s[(f[c>>2]|0)+860>>2]*.75+.25);a=f[u>>2]|0;S=+s[_>>2];Gi(a,l,d,S);a=f[u>>2]|0;i=f[c>>2]|0;i=i+16|0;r=f[u>>2]|0;r=r+4524|0;xt(a,i,l,r);r=f[c>>2]|0;r=r+876|0;i=f[c>>2]|0;i=i+16|0;a=f[c>>2]|0;m=f[u>>2]|0;m=m+4612|0;m=f[m>>2]|0;E=f[u>>2]|0;E=E+4604|0;E=f[E>>2]|0;c=f[u>>2]|0;c=c+4664|0;c=f[c>>2]|0;yt(r,d,i,a,m,E,c);c=f[u>>2]|0;c=c+4524|0;u=c+32|0;do{n[c>>1]=n[l>>1]|0;c=c+2|0;l=l+2|0}while((c|0)<(u|0));h=A;return}}function et(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;a=c+16|0;o=c+12|0;l=c+8|0;s=c+4|0;u=c;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;switch(f[u>>2]|0){case 6:{rt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 8:{it(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 10:{tt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 12:{nt(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}case 16:{ft(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,f[s>>2]|0);break}default:{}}vs(f[a>>2]|0,0,f[u>>2]<<2|0)|0;h=c;return}function rt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=6;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function it(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=8;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function tt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=10;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function nt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=12;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2]+ +s[(f[b>>2]|0)+-40>>2]*+s[(f[a>>2]|0)+40>>2]+ +s[(f[b>>2]|0)+-44>>2]*+s[(f[a>>2]|0)+44>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function ft(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;c=w+8|0;u=w+4|0;b=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[c>>2]=16;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;f[b>>2]=(f[o>>2]|0)+((f[c>>2]|0)-1<<2);s[u>>2]=+s[f[b>>2]>>2]*+s[f[a>>2]>>2]+ +s[(f[b>>2]|0)+-4>>2]*+s[(f[a>>2]|0)+4>>2]+ +s[(f[b>>2]|0)+-8>>2]*+s[(f[a>>2]|0)+8>>2]+ +s[(f[b>>2]|0)+-12>>2]*+s[(f[a>>2]|0)+12>>2]+ +s[(f[b>>2]|0)+-16>>2]*+s[(f[a>>2]|0)+16>>2]+ +s[(f[b>>2]|0)+-20>>2]*+s[(f[a>>2]|0)+20>>2]+ +s[(f[b>>2]|0)+-24>>2]*+s[(f[a>>2]|0)+24>>2]+ +s[(f[b>>2]|0)+-28>>2]*+s[(f[a>>2]|0)+28>>2]+ +s[(f[b>>2]|0)+-32>>2]*+s[(f[a>>2]|0)+32>>2]+ +s[(f[b>>2]|0)+-36>>2]*+s[(f[a>>2]|0)+36>>2]+ +s[(f[b>>2]|0)+-40>>2]*+s[(f[a>>2]|0)+40>>2]+ +s[(f[b>>2]|0)+-44>>2]*+s[(f[a>>2]|0)+44>>2]+ +s[(f[b>>2]|0)+-48>>2]*+s[(f[a>>2]|0)+48>>2]+ +s[(f[b>>2]|0)+-52>>2]*+s[(f[a>>2]|0)+52>>2]+ +s[(f[b>>2]|0)+-56>>2]*+s[(f[a>>2]|0)+56>>2]+ +s[(f[b>>2]|0)+-60>>2]*+s[(f[a>>2]|0)+60>>2];s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[(f[b>>2]|0)+4>>2]-+s[u>>2];f[c>>2]=(f[c>>2]|0)+1}h=w;return}function at(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0;S=h;h=h+80|0;R=S+76|0;T=S+72|0;u=S+68|0;c=S+64|0;b=S+60|0;w=S+56|0;k=S+52|0;d=S+48|0;A=S+44|0;E=S+40|0;p=S+20|0;v=S+16|0;y=S+12|0;m=S+8|0;g=S+4|0;_=S;f[R>>2]=e;f[T>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[A>>2]=f[T>>2];f[v>>2]=f[R>>2];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[k>>2]|0))break;f[E>>2]=(f[A>>2]|0)+(0-(f[(f[c>>2]|0)+(f[m>>2]<<2)>>2]|0)<<2);s[y>>2]=+s[(f[b>>2]|0)+(f[m>>2]<<2)>>2];f[g>>2]=0;while(1){if((f[g>>2]|0)>=5)break;s[p+(f[g>>2]<<2)>>2]=+s[(f[u>>2]|0)+(((f[m>>2]|0)*5|0)+(f[g>>2]|0)<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}f[g>>2]=0;while(1){if((f[g>>2]|0)>=((f[w>>2]|0)+(f[d>>2]|0)|0))break;s[(f[v>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[A>>2]|0)+(f[g>>2]<<2)>>2];f[_>>2]=0;while(1){if((f[_>>2]|0)>=5)break;T=(f[v>>2]|0)+(f[g>>2]<<2)|0;s[T>>2]=+s[T>>2]-+s[p+(f[_>>2]<<2)>>2]*+s[(f[E>>2]|0)+(2-(f[_>>2]|0)<<2)>>2];f[_>>2]=(f[_>>2]|0)+1}T=(f[v>>2]|0)+(f[g>>2]<<2)|0;s[T>>2]=+s[T>>2]*+s[y>>2];f[E>>2]=(f[E>>2]|0)+4;f[g>>2]=(f[g>>2]|0)+1}f[v>>2]=(f[v>>2]|0)+((f[w>>2]|0)+(f[d>>2]|0)<<2);f[A>>2]=(f[A>>2]|0)+(f[w>>2]<<2);f[m>>2]=(f[m>>2]|0)+1}h=S;return}function ot(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,u=0,c=0,b=0;c=h;h=h+16|0;l=c+12|0;u=c+8|0;b=c+4|0;o=c;f[l>>2]=e;f[u>>2]=r;f[b>>2]=i;i=f[l>>2]|0;if(!(f[b>>2]|0)){f[o>>2]=(f[i+4640>>2]|0)+(f[(f[l>>2]|0)+5776>>2]|0);if(!(+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612>2))if(+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612<0)a=0;else a=+(f[o>>2]|0)*+s[(f[u>>2]|0)+872>>2]*.10000000149011612;else a=2;t[(f[l>>2]|0)+4768+33>>0]=~~a}else t[i+4768+33>>0]=0;s[(f[u>>2]|0)+224>>2]=+(n[24566+(t[(f[l>>2]|0)+4768+33>>0]<<1)>>1]|0)/16384;h=c;return}function lt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;D=h;h=h+1152|0;x=D+1140|0;O=D+1136|0;a=D+1132|0;F=D+1128|0;B=D+1124|0;U=D+1120|0;c=D+1116|0;d=D+1112|0;L=D+1108|0;P=D+1104|0;I=D+1100|0;m=D+1096|0;E=D+1092|0;l=D+1088|0;u=D+1084|0;o=D+1080|0;v=D+1076|0;w=D+1072|0;k=D+1068|0;_=D+1064|0;y=D+1060|0;j=D+1056|0;C=D+1052|0;R=D+1048|0;M=D+88|0;p=D+20|0;T=D+16|0;b=D+12|0;A=D+8|0;S=D+4|0;g=D;f[x>>2]=e;f[O>>2]=r;f[a>>2]=i;f[F>>2]=n;f[B>>2]=(f[x>>2]|0)+7200;f[T>>2]=(f[F>>2]|0)+(0-(f[(f[x>>2]|0)+4624>>2]|0)<<2);s[d>>2]=+(f[(f[x>>2]|0)+4748>>2]|0)*.0078125;s[(f[O>>2]|0)+856>>2]=+((f[(f[x>>2]|0)+4728>>2]|0)+(f[(f[x>>2]|0)+4728+4>>2]|0)|0)*.5*30517578125e-15;N=+st((+s[d>>2]-20)*.25);s[(f[O>>2]|0)+860>>2]=N;if(!(f[(f[x>>2]|0)+4708>>2]|0)){s[C>>2]=1-+(f[(f[x>>2]|0)+4556>>2]|0)*.00390625;s[d>>2]=+s[d>>2]-+s[(f[O>>2]|0)+860>>2]*2*(+s[(f[O>>2]|0)+856>>2]*.5+.5)*+s[C>>2]*+s[C>>2]}i=f[x>>2]|0;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2)s[d>>2]=+s[d>>2]+ +s[i+12236>>2]*2;else s[d>>2]=+s[d>>2]+(+(f[i+4748>>2]|0)*-.4000000059604645*.0078125+6)*(1-+s[(f[O>>2]|0)+856>>2]);i=f[x>>2]|0;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){t[i+4768+30>>0]=0;s[(f[O>>2]|0)+864>>2]=0}else{f[c>>2]=f[i+4600>>2]<<1;s[o>>2]=0;s[u>>2]=0;f[b>>2]=f[a>>2];f[U>>2]=0;while(1){if((f[U>>2]|0)>=((((f[(f[x>>2]|0)+4604>>2]&65535)<<16>>16)*5|0)/2|0|0))break;N=+(f[c>>2]|0);s[m>>2]=N+ +Ut(f[b>>2]|0,f[c>>2]|0);s[l>>2]=+ut(+s[m>>2]);if((f[U>>2]|0)>0){N=+Y(+(+s[l>>2]-+s[u>>2]));s[o>>2]=+s[o>>2]+N}s[u>>2]=+s[l>>2];f[b>>2]=(f[b>>2]|0)+(f[c>>2]<<2);f[U>>2]=(f[U>>2]|0)+1}N=+st((+s[o>>2]-5)*.4000000059604645);s[(f[O>>2]|0)+864>>2]=N;i=(f[x>>2]|0)+4768+30|0;if(+s[(f[O>>2]|0)+864>>2]>.75)t[i>>0]=0;else t[i>>0]=1;s[d>>2]=+s[d>>2]+(+s[(f[O>>2]|0)+864>>2]-.5)*2}s[j>>2]=+s[(f[O>>2]|0)+868>>2]*.0010000000474974513;N=.949999988079071/(+s[j>>2]*+s[j>>2]+1);s[k>>2]=N;s[w>>2]=N;s[v>>2]=(1-+s[(f[O>>2]|0)+860>>2]*.75)*.009999999776482582;s[w>>2]=+s[w>>2]-+s[v>>2];s[k>>2]=+s[k>>2]+ +s[v>>2];s[w>>2]=+s[w>>2]/+s[k>>2];if((f[(f[x>>2]|0)+4704>>2]|0)>0)s[R>>2]=+(f[(f[x>>2]|0)+4704>>2]|0)/65536+ +s[(f[O>>2]|0)+860>>2]*.009999999776482582;else s[R>>2]=0;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;f[g>>2]=(f[(f[x>>2]|0)+4600>>2]|0)*3;f[S>>2]=((f[(f[x>>2]|0)+4628>>2]|0)-(f[g>>2]|0)|0)/2|0;Di(M,f[T>>2]|0,1,f[S>>2]|0);f[A>>2]=f[S>>2];gs(M+(f[A>>2]<<2)|0,(f[T>>2]|0)+(f[A>>2]<<2)|0,f[g>>2]<<2|0)|0;f[A>>2]=(f[A>>2]|0)+(f[g>>2]|0);Di(M+(f[A>>2]<<2)|0,(f[T>>2]|0)+(f[A>>2]<<2)|0,2,f[S>>2]|0);f[T>>2]=(f[T>>2]|0)+(f[(f[x>>2]|0)+4612>>2]<<2);if((f[(f[x>>2]|0)+4704>>2]|0)>0)St(p,M,+s[R>>2],f[(f[x>>2]|0)+4628>>2]|0,f[(f[x>>2]|0)+4660>>2]|0);else Pt(p,M,f[(f[x>>2]|0)+4628>>2]|0,(f[(f[x>>2]|0)+4660>>2]|0)+1|0);s[p>>2]=+s[p>>2]+ +s[p>>2]*4999999873689376e-20;s[m>>2]=+Dt((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,p,f[(f[x>>2]|0)+4660>>2]|0);N=+H(+ +s[m>>2]);s[(f[O>>2]|0)+(f[U>>2]<<2)>>2]=N;if((f[(f[x>>2]|0)+4704>>2]|0)>0){N=+ht((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,+s[R>>2],f[(f[x>>2]|0)+4660>>2]|0);F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*N}Ct((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0,+s[k>>2]);gs((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,(f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]<<2|0)|0;Ct((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0,+s[w>>2]);s[E>>2]=+Nt((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0);s[m>>2]=+Nt((f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,f[(f[x>>2]|0)+4660>>2]|0);s[(f[O>>2]|0)+788+(f[U>>2]<<2)>>2]=1-(1-+s[E>>2]/+s[m>>2])*.699999988079071;ct((f[O>>2]|0)+500+(f[U>>2]<<4<<2)|0,(f[O>>2]|0)+244+(f[U>>2]<<4<<2)|0,+s[R>>2],3.999000072479248,f[(f[x>>2]|0)+4660>>2]|0);f[U>>2]=(f[U>>2]|0)+1}s[_>>2]=+q(2,+(+s[d>>2]*-.1599999964237213));s[y>>2]=+q(2,.3199999928474426);f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*+s[_>>2];F=(f[O>>2]|0)+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]+ +s[y>>2];f[U>>2]=(f[U>>2]|0)+1}s[_>>2]=+s[(f[O>>2]|0)+860>>2]*.10000000149011612+1.0499999523162842;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[O>>2]|0)+788+(f[U>>2]<<2)|0;s[F>>2]=+s[F>>2]*+s[_>>2];f[U>>2]=(f[U>>2]|0)+1}s[j>>2]=((+(f[(f[x>>2]|0)+4728>>2]|0)*30517578125e-15-1)*.5+1)*4;s[j>>2]=+s[j>>2]*(+(f[(f[x>>2]|0)+4556>>2]|0)*.00390625);if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){f[U>>2]=0;while(1){i=f[x>>2]|0;if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;s[C>>2]=.20000000298023224/+(f[i+4600>>2]|0)+3/+(f[(f[O>>2]|0)+228+(f[U>>2]<<2)>>2]|0);s[(f[O>>2]|0)+756+(f[U>>2]<<2)>>2]=+s[C>>2]+-1;s[(f[O>>2]|0)+772+(f[U>>2]<<2)>>2]=1-+s[C>>2]-+s[C>>2]*+s[j>>2];f[U>>2]=(f[U>>2]|0)+1}s[I>>2]=-.25-+(f[i+4556>>2]|0)*.26249998807907104*.00390625}else{s[C>>2]=1.2999999523162842/+(f[(f[x>>2]|0)+4600>>2]|0);s[(f[O>>2]|0)+756>>2]=+s[C>>2]+-1;s[(f[O>>2]|0)+772>>2]=1-+s[C>>2]-+s[C>>2]*+s[j>>2]*.6000000238418579;f[U>>2]=1;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;s[(f[O>>2]|0)+756+(f[U>>2]<<2)>>2]=+s[(f[O>>2]|0)+756>>2];s[(f[O>>2]|0)+772+(f[U>>2]<<2)>>2]=+s[(f[O>>2]|0)+772>>2];f[U>>2]=(f[U>>2]|0)+1}s[I>>2]=-.25}s[L>>2]=(1-+s[(f[O>>2]|0)+860>>2])*.10000000149011612*+s[(f[x>>2]|0)+12236>>2];s[L>>2]=+s[L>>2]+(1-+s[(f[O>>2]|0)+856>>2])*.10000000149011612;if((t[(f[x>>2]|0)+4768+29>>0]|0)==2){s[P>>2]=.30000001192092896;s[P>>2]=+s[P>>2]+(1-(1-+s[(f[O>>2]|0)+860>>2])*+s[(f[O>>2]|0)+856>>2])*.20000000298023224;N=+H(+ +s[(f[x>>2]|0)+12236>>2]);s[P>>2]=+s[P>>2]*N}else s[P>>2]=0;f[U>>2]=0;while(1){if((f[U>>2]|0)>=(f[(f[x>>2]|0)+4604>>2]|0))break;F=(f[B>>2]|0)+4|0;s[F>>2]=+s[F>>2]+(+s[L>>2]-+s[(f[B>>2]|0)+4>>2])*.4000000059604645;s[(f[O>>2]|0)+804+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+4>>2];F=(f[B>>2]|0)+8|0;s[F>>2]=+s[F>>2]+(+s[P>>2]-+s[(f[B>>2]|0)+8>>2])*.4000000059604645;s[(f[O>>2]|0)+836+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+8>>2];F=(f[B>>2]|0)+12|0;s[F>>2]=+s[F>>2]+(+s[I>>2]-+s[(f[B>>2]|0)+12>>2])*.4000000059604645;s[(f[O>>2]|0)+820+(f[U>>2]<<2)>>2]=+s[(f[B>>2]|0)+12>>2];f[U>>2]=(f[U>>2]|0)+1}h=D;return}function st(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;s[i>>2]=e;e=1/(+$(+-+s[i>>2])+1);h=r;return+e}function ut(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function ht(e,r,i){e=e|0;r=+r;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;u=l+8|0;o=l+4|0;a=l;f[t>>2]=e;s[n>>2]=r;f[u>>2]=i;s[n>>2]=-+s[n>>2];s[a>>2]=+s[(f[t>>2]|0)+((f[u>>2]|0)-1<<2)>>2];f[o>>2]=(f[u>>2]|0)-2;while(1){r=+s[n>>2]*+s[a>>2];if((f[o>>2]|0)<0)break;s[a>>2]=r+ +s[(f[t>>2]|0)+(f[o>>2]<<2)>>2];f[o>>2]=(f[o>>2]|0)+-1}h=l;return+(1/(1-r))}function ct(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=+t;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+64|0;a=_+48|0;o=_+44|0;l=_+40|0;u=_+36|0;c=_+32|0;d=_+28|0;v=_+24|0;p=_+20|0;y=_+16|0;g=_+12|0;b=_+8|0;k=_+4|0;w=_;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;s[u>>2]=t;f[c>>2]=n;f[p>>2]=0;f[d>>2]=(f[c>>2]|0)-1;while(1){i=+s[l>>2];if((f[d>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-i*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-+s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+-1}s[k>>2]=(1-i*+s[l>>2])/(+s[l>>2]*+s[f[a>>2]>>2]+1);s[w>>2]=(1-+s[l>>2]*+s[l>>2])/(+s[l>>2]*+s[f[o>>2]>>2]+1);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}f[v>>2]=0;while(1){if((f[v>>2]|0)>=10){r=31;break}s[g>>2]=-1;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;t=+Y(+ +s[(f[a>>2]|0)+(f[d>>2]<<2)>>2]);n=t>+Y(+ +s[(f[o>>2]|0)+(f[d>>2]<<2)>>2]);r=f[d>>2]|0;if(n)i=+s[(f[a>>2]|0)+(r<<2)>>2];else i=+s[(f[o>>2]|0)+(r<<2)>>2];s[y>>2]=+Y(+i);if(+s[y>>2]>+s[g>>2]){s[g>>2]=+s[y>>2];f[p>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}if(+s[g>>2]<=+s[u>>2]){r=31;break}f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]+ +s[l>>2]*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]+ +s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[k>>2]=1/+s[k>>2];s[w>>2]=1/+s[w>>2];f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}s[b>>2]=.9900000095367432-(+(f[v>>2]|0)*.10000000149011612+.800000011920929)*(+s[g>>2]-+s[u>>2])/(+s[g>>2]*+((f[p>>2]|0)+1|0));Ct(f[a>>2]|0,f[c>>2]|0,+s[b>>2]);Ct(f[o>>2]|0,f[c>>2]|0,+s[b>>2]);f[d>>2]=(f[c>>2]|0)-1;while(1){i=+s[l>>2];if((f[d>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-i*+s[(f[a>>2]|0)+(f[d>>2]<<2)>>2];n=(f[o>>2]|0)+((f[d>>2]|0)-1<<2)|0;s[n>>2]=+s[n>>2]-+s[l>>2]*+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+-1}s[k>>2]=(1-i*+s[l>>2])/(+s[l>>2]*+s[f[a>>2]>>2]+1);s[w>>2]=(1-+s[l>>2]*+s[l>>2])/(+s[l>>2]*+s[f[o>>2]>>2]+1);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;n=(f[a>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[k>>2];n=(f[o>>2]|0)+(f[d>>2]<<2)|0;s[n>>2]=+s[n>>2]*+s[w>>2];f[d>>2]=(f[d>>2]|0)+1}f[v>>2]=(f[v>>2]|0)+1}if((r|0)==31){h=_;return}}function bt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;A=h;h=h+464|0;a=A+460|0;o=A+456|0;S=A+452|0;R=A+448|0;d=A+444|0;v=A+440|0;g=A+436|0;y=A+432|0;b=A+428|0;p=A+424|0;k=A+420|0;w=A+416|0;u=A+408|0;l=A+404|0;_=A+400|0;m=A+396|0;c=A+384|0;E=A;f[a>>2]=e;f[o>>2]=r;f[S>>2]=i;f[R>>2]=n;f[d>>2]=(f[a>>2]|0)+7216;f[_>>2]=f[R>>2];f[m>>2]=f[S>>2];f[y>>2]=f[(f[d>>2]|0)+2136>>2];f[g>>2]=0;while(1){e=f[a>>2]|0;if((f[g>>2]|0)>=(f[(f[a>>2]|0)+4604>>2]|0))break;if((t[e+4768+29>>0]|0)==2)f[y>>2]=f[(f[o>>2]|0)+228+(f[g>>2]<<2)>>2];s[b>>2]=+s[(f[o>>2]|0)+836+(f[g>>2]<<2)>>2]*(1-+s[(f[o>>2]|0)+804+(f[g>>2]<<2)>>2]);s[c>>2]=+s[b>>2]*.25;s[c+4>>2]=+s[b>>2]*.4999847412109375;s[c+8>>2]=+s[b>>2]*.25;s[p>>2]=+s[(f[o>>2]|0)+820+(f[g>>2]<<2)>>2];s[k>>2]=+s[(f[o>>2]|0)+756+(f[g>>2]<<2)>>2];s[w>>2]=+s[(f[o>>2]|0)+772+(f[g>>2]<<2)>>2];f[l>>2]=(f[o>>2]|0)+244+(f[g>>2]<<4<<2);wt((f[d>>2]|0)+2048|0,E,f[l>>2]|0,f[_>>2]|0,+(f[(f[a>>2]|0)+4704>>2]|0)/65536,f[(f[a>>2]|0)+4612>>2]|0,f[(f[a>>2]|0)+4660>>2]|0);s[u>>2]=+s[(f[o>>2]|0)+788+(f[g>>2]<<2)>>2];s[u+4>>2]=-+s[(f[o>>2]|0)+788+(f[g>>2]<<2)>>2]*(+s[(f[o>>2]|0)+804+(f[g>>2]<<2)>>2]*+s[b>>2]+.05000000074505806+ +s[(f[o>>2]|0)+860>>2]*.10000000149011612);s[f[m>>2]>>2]=+s[u>>2]*+s[E>>2]+ +s[u+4>>2]*+s[(f[d>>2]|0)+2128>>2];f[v>>2]=1;while(1){if((f[v>>2]|0)>=(f[(f[a>>2]|0)+4612>>2]|0))break;s[(f[m>>2]|0)+(f[v>>2]<<2)>>2]=+s[u>>2]*+s[E+(f[v>>2]<<2)>>2]+ +s[u+4>>2]*+s[E+((f[v>>2]|0)-1<<2)>>2];f[v>>2]=(f[v>>2]|0)+1}s[(f[d>>2]|0)+2128>>2]=+s[E+((f[(f[a>>2]|0)+4612>>2]|0)-1<<2)>>2];kt(f[d>>2]|0,f[m>>2]|0,f[m>>2]|0,c,+s[p>>2],+s[k>>2],+s[w>>2],f[y>>2]|0,f[(f[a>>2]|0)+4612>>2]|0);f[_>>2]=(f[_>>2]|0)+(f[(f[a>>2]|0)+4612>>2]<<2);f[m>>2]=(f[m>>2]|0)+(f[(f[a>>2]|0)+4612>>2]<<2);f[g>>2]=(f[g>>2]|0)+1}f[(f[d>>2]|0)+2136>>2]=f[(f[o>>2]|0)+228+((f[e+4604>>2]|0)-1<<2)>>2];h=A;return}function wt(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+48|0;l=m+44|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;k=m+24|0;d=m+20|0;g=m+16|0;v=m+12|0;p=m+8|0;y=m+4|0;_=m;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;s[w>>2]=n;f[k>>2]=a;f[d>>2]=o;f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[k>>2]|0))break;s[_>>2]=+s[f[l>>2]>>2]+ +s[w>>2]*+s[(f[l>>2]|0)+4>>2];s[f[l>>2]>>2]=+s[(f[b>>2]|0)+(f[g>>2]<<2)>>2];s[y>>2]=+s[(f[l>>2]|0)+4>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+8>>2]-+s[_>>2]);s[(f[l>>2]|0)+4>>2]=+s[_>>2];s[p>>2]=+s[f[c>>2]>>2]*+s[_>>2];f[v>>2]=2;while(1){if((f[v>>2]|0)>=(f[d>>2]|0))break;s[_>>2]=+s[(f[l>>2]|0)+(f[v>>2]<<2)>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]-+s[y>>2]);s[(f[l>>2]|0)+(f[v>>2]<<2)>>2]=+s[y>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+((f[v>>2]|0)-1<<2)>>2]*+s[y>>2];s[y>>2]=+s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]+ +s[w>>2]*(+s[(f[l>>2]|0)+((f[v>>2]|0)+2<<2)>>2]-+s[_>>2]);s[(f[l>>2]|0)+((f[v>>2]|0)+1<<2)>>2]=+s[_>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+(f[v>>2]<<2)>>2]*+s[_>>2];f[v>>2]=(f[v>>2]|0)+2}s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]=+s[y>>2];s[p>>2]=+s[p>>2]+ +s[(f[c>>2]|0)+((f[d>>2]|0)-1<<2)>>2]*+s[y>>2];s[(f[u>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[b>>2]|0)+(f[g>>2]<<2)>>2]-+s[p>>2];f[g>>2]=(f[g>>2]|0)+1}h=m;return}function kt(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=+a;o=+o;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;O=h;h=h+80|0;c=O+68|0;b=O+64|0;w=O+60|0;k=O+56|0;d=O+52|0;p=O+48|0;v=O+44|0;g=O+40|0;y=O+36|0;E=O+32|0;A=O+28|0;m=O+24|0;T=O+20|0;S=O+16|0;R=O+12|0;M=O+8|0;x=O+4|0;_=O;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;s[d>>2]=n;s[p>>2]=a;s[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=f[c>>2];f[m>>2]=f[(f[c>>2]|0)+2116>>2];s[M>>2]=+s[(f[c>>2]|0)+2120>>2];s[x>>2]=+s[(f[c>>2]|0)+2124>>2];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[y>>2]|0))break;if((f[g>>2]|0)>0){f[A>>2]=(f[g>>2]|0)+(f[m>>2]|0);s[R>>2]=+s[(f[_>>2]|0)+(((f[A>>2]|0)-1-1&511)<<2)>>2]*+s[f[k>>2]>>2];s[R>>2]=+s[R>>2]+ +s[(f[_>>2]|0)+(((f[A>>2]|0)-1&511)<<2)>>2]*+s[(f[k>>2]|0)+4>>2];s[R>>2]=+s[R>>2]+ +s[(f[_>>2]|0)+(((f[A>>2]|0)-1+1&511)<<2)>>2]*+s[(f[k>>2]|0)+8>>2]}else s[R>>2]=0;s[T>>2]=+s[M>>2]*+s[d>>2];s[S>>2]=+s[M>>2]*+s[v>>2]+ +s[x>>2]*+s[p>>2];s[M>>2]=+s[(f[b>>2]|0)+(f[E>>2]<<2)>>2]-+s[T>>2];s[x>>2]=+s[M>>2]-+s[S>>2];f[m>>2]=(f[m>>2]|0)-1&511;s[(f[_>>2]|0)+(f[m>>2]<<2)>>2]=+s[x>>2];s[(f[w>>2]|0)+(f[E>>2]<<2)>>2]=+s[x>>2]-+s[R>>2];f[E>>2]=(f[E>>2]|0)+1}s[(f[c>>2]|0)+2120>>2]=+s[M>>2];s[(f[c>>2]|0)+2124>>2]=+s[x>>2];f[(f[c>>2]|0)+2116>>2]=f[m>>2];h=O;return}function dt(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;v=h;h=h+64|0;k=v+48|0;d=v+44|0;a=v+40|0;b=v+36|0;u=v+32|0;c=v+16|0;w=v+12|0;o=v+8|0;l=v+4|0;p=v;f[k>>2]=e;f[d>>2]=r;f[a>>2]=i;f[b>>2]=(f[k>>2]|0)+7200;e:do{if((t[(f[k>>2]|0)+4768+29>>0]|0)==2){s[w>>2]=1-+pt((+s[(f[d>>2]|0)+872>>2]-12)*.25)*.5;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break e;r=(f[d>>2]|0)+(f[u>>2]<<2)|0;s[r>>2]=+s[r>>2]*+s[w>>2];f[u>>2]=(f[u>>2]|0)+1}}}while(0);g=+q(2,+((21-+(f[(f[k>>2]|0)+4748>>2]|0)*.0078125)*.33000001311302185));s[o>>2]=g/+(f[(f[k>>2]|0)+4612>>2]|0);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[l>>2]=+s[(f[d>>2]|0)+(f[u>>2]<<2)>>2];s[l>>2]=+H(+(+s[l>>2]*+s[l>>2]+ +s[(f[d>>2]|0)+876+(f[u>>2]<<2)>>2]*+s[o>>2]));s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]=+s[l>>2]<32767?+s[l>>2]:32767;f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;f[c+(f[u>>2]<<2)>>2]=~~(+s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]*65536);f[u>>2]=(f[u>>2]|0)+1}gs((f[d>>2]|0)+892|0,c|0,f[(f[k>>2]|0)+4604>>2]<<2|0)|0;t[(f[d>>2]|0)+908>>0]=t[f[b>>2]>>0]|0;Ao((f[k>>2]|0)+4768|0,c,f[b>>2]|0,(f[a>>2]|0)==2&1,f[(f[k>>2]|0)+4604>>2]|0);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[k>>2]|0)+4604>>2]|0))break;s[(f[d>>2]|0)+(f[u>>2]<<2)>>2]=+(f[c+(f[u>>2]<<2)>>2]|0)/65536;f[u>>2]=(f[u>>2]|0)+1}do{if((t[(f[k>>2]|0)+4768+29>>0]|0)==2){a=(f[k>>2]|0)+4768+30|0;if(+s[(f[d>>2]|0)+872>>2]+ +(f[(f[k>>2]|0)+4744>>2]|0)*30517578125e-15>1){t[a>>0]=0;break}else{t[a>>0]=1;break}}}while(0);s[p>>2]=+(n[24558+(t[(f[k>>2]|0)+4768+29>>0]>>1<<2)+(t[(f[k>>2]|0)+4768+30>>0]<<1)>>1]|0)/1024;s[(f[d>>2]|0)+852>>2]=+(f[(f[k>>2]|0)+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(f[(f[k>>2]|0)+4556>>2]|0)*-.20000000298023224*.00390625+ +s[(f[d>>2]|0)+856>>2]*-.10000000149011612+ +s[(f[d>>2]|0)+860>>2]*-.20000000298023224+ +s[p>>2]*.800000011920929;h=v;return}function pt(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;s[i>>2]=e;e=1/(+$(+-+s[i>>2])+1);h=r;return+e}function vt(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;s[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){i=+s[o>>2];if((f[u>>2]|0)>=(f[l>>2]|0))break;r=re(f[u>>2]|0,f[l>>2]|0)|0;r=(f[n>>2]|0)+(r+(f[u>>2]|0)<<2)|0;s[r>>2]=+s[r>>2]+i;f[u>>2]=(f[u>>2]|0)+1}u=f[a>>2]|0;s[u>>2]=+s[u>>2]+i;h=c;return}function gt(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;a=g+40|0;o=g+36|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;v=g+8|0;d=g+4|0;p=g;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;s[u>>2]=t;f[c>>2]=n;s[d>>2]=0;i=(re(f[c>>2]|0,f[c>>2]|0)|0)-1|0;s[p>>2]=(+s[f[o>>2]>>2]+ +s[(f[o>>2]|0)+(i<<2)>>2])*9.99999993922529e-9;f[k>>2]=0;while(1){if((f[k>>2]|0)>=10)break;s[d>>2]=+s[u>>2];s[v>>2]=0;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[b>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}s[d>>2]=+s[d>>2]-+s[v>>2]*2;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[v>>2]=0;f[w>>2]=(f[b>>2]|0)+1;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;t=+s[(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[w>>2]|0)|0)<<2)>>2];s[v>>2]=+s[v>>2]+t*+s[(f[a>>2]|0)+(f[w>>2]<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}t=+s[(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[b>>2]|0)|0)<<2)>>2];s[d>>2]=+s[d>>2]+ +s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]*(+s[v>>2]*2+t*+s[(f[a>>2]|0)+(f[b>>2]<<2)>>2]);f[b>>2]=(f[b>>2]|0)+1}if(+s[d>>2]>0)break;f[b>>2]=0;while(1){t=+s[p>>2];if((f[b>>2]|0)>=(f[c>>2]|0))break;i=(f[o>>2]|0)+((f[b>>2]|0)+(re(f[c>>2]|0,f[b>>2]|0)|0)<<2)|0;s[i>>2]=+s[i>>2]+t;f[b>>2]=(f[b>>2]|0)+1}s[p>>2]=t*2;f[k>>2]=(f[k>>2]|0)+1}if((f[k>>2]|0)!=10){t=+s[d>>2];h=g;return+t}s[d>>2]=1;t=+s[d>>2];h=g;return+t}function yt(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+816|0;l=g+800|0;u=g+796|0;c=g+792|0;b=g+788|0;w=g+784|0;y=g+780|0;k=g+776|0;v=g+772|0;p=g+768|0;d=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[y>>2]=a;f[k>>2]=o;f[p>>2]=d+(f[k>>2]<<2);f[v>>2]=(f[k>>2]|0)+(f[w>>2]|0);et(d,f[c>>2]|0,(f[u>>2]|0)+(0<<2)|0,f[v>>2]<<1,f[k>>2]|0);_=+s[f[b>>2]>>2]*+s[f[b>>2]>>2];_=_*+Ut((f[p>>2]|0)+(0<<2)|0,f[w>>2]|0);s[f[l>>2]>>2]=_;_=+s[(f[b>>2]|0)+4>>2]*+s[(f[b>>2]|0)+4>>2];_=_*+Ut((f[p>>2]|0)+(f[v>>2]<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+4>>2]=_;if((f[y>>2]|0)!=4){h=g;return}et(d,(f[c>>2]|0)+64|0,(f[u>>2]|0)+(f[v>>2]<<1<<2)|0,f[v>>2]<<1,f[k>>2]|0);_=+s[(f[b>>2]|0)+8>>2]*+s[(f[b>>2]|0)+8>>2];_=_*+Ut((f[p>>2]|0)+(0<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+8>>2]=_;_=+s[(f[b>>2]|0)+12>>2]*+s[(f[b>>2]|0)+12>>2];_=_*+Ut((f[p>>2]|0)+(f[v>>2]<<2)|0,f[w>>2]|0);s[(f[l>>2]|0)+12>>2]=_;h=g;return}function _t(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;b=h;h=h+1184|0;k=b+1168|0;n=b+1164|0;w=b+1160|0;a=b+1156|0;c=b+1152|0;l=b+128|0;u=b+64|0;o=b;f[k>>2]=e;f[n>>2]=r;f[w>>2]=i;f[a>>2]=t;mt(f[k>>2]|0,f[n>>2]|0,l,o);Et(l,f[n>>2]|0,f[w>>2]|0,u);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[n>>2]|0))break;s[u+(f[c>>2]<<2)>>2]=+s[u+(f[c>>2]<<2)>>2]*+s[o+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}At(l,f[n>>2]|0,u,f[a>>2]|0);h=b;return}function mt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+192|0;n=A+184|0;a=A+180|0;o=A+176|0;l=A+172|0;k=A+168|0;d=A+164|0;p=A+160|0;v=A+156|0;w=A+152|0;g=A+148|0;y=A+144|0;_=A+8|0;b=A;m=A+80|0;c=A+16|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[w>>2]=1;r=(re(f[a>>2]|0,f[a>>2]|0)|0)-1|0;u[b>>3]=(+s[f[n>>2]>>2]+ +s[(f[n>>2]|0)+(r<<2)>>2])*4999999873689376e-21;f[v>>2]=0;while(1){if(!((f[v>>2]|0)<(f[a>>2]|0)?(f[w>>2]|0)==1:0))break;f[w>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[a>>2]|0))break;f[g>>2]=(f[o>>2]|0)+((re(f[d>>2]|0,f[a>>2]|0)|0)+0<<2);r=re(f[d>>2]|0,f[a>>2]|0)|0;u[_>>3]=+s[(f[n>>2]|0)+(r+(f[d>>2]|0)<<2)>>2];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[d>>2]|0))break;s[m+(f[k>>2]<<2)>>2]=+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]*+s[c+(f[k>>2]<<2)>>2];u[_>>3]=+u[_>>3]-+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]*+s[m+(f[k>>2]<<2)>>2];f[k>>2]=(f[k>>2]|0)+1}if(+u[_>>3]<+u[b>>3]){E=9;break}s[c+(f[d>>2]<<2)>>2]=+u[_>>3];s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]=1/+u[_>>3];r=re(f[d>>2]|0,f[a>>2]|0)|0;s[(f[o>>2]|0)+(r+(f[d>>2]|0)<<2)>>2]=1;f[g>>2]=(f[n>>2]|0)+((re(f[d>>2]|0,f[a>>2]|0)|0)+0<<2);f[y>>2]=(f[o>>2]|0)+((re((f[d>>2]|0)+1|0,f[a>>2]|0)|0)+0<<2);f[k>>2]=(f[d>>2]|0)+1;while(1){if((f[k>>2]|0)>=(f[a>>2]|0))break;u[_>>3]=0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break;u[_>>3]=+u[_>>3]+ +s[(f[y>>2]|0)+(f[p>>2]<<2)>>2]*+s[m+(f[p>>2]<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}r=re(f[k>>2]|0,f[a>>2]|0)|0;s[(f[o>>2]|0)+(r+(f[d>>2]|0)<<2)>>2]=(+s[(f[g>>2]|0)+(f[k>>2]<<2)>>2]-+u[_>>3])*+s[(f[l>>2]|0)+(f[d>>2]<<2)>>2];f[y>>2]=(f[y>>2]|0)+(f[a>>2]<<2);f[k>>2]=(f[k>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}if((E|0)==9){E=0;u[_>>3]=+((f[v>>2]|0)+1|0)*+u[b>>3]-+u[_>>3];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[a>>2]|0))break;r=re(f[k>>2]|0,f[a>>2]|0)|0;r=(f[n>>2]|0)+(r+(f[k>>2]|0)<<2)|0;s[r>>2]=+s[r>>2]+ +u[_>>3];f[k>>2]=(f[k>>2]|0)+1}f[w>>2]=1}f[v>>2]=(f[v>>2]|0)+1}h=A;return}function Et(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;n=k+28|0;a=k+24|0;o=k+20|0;l=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[a>>2]|0))break;f[b>>2]=(f[n>>2]|0)+((re(f[u>>2]|0,f[a>>2]|0)|0)+0<<2);s[w>>2]=0;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;s[w>>2]=+s[w>>2]+ +s[(f[b>>2]|0)+(f[c>>2]<<2)>>2]*+s[(f[l>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}s[w>>2]=+s[(f[o>>2]|0)+(f[u>>2]<<2)>>2]-+s[w>>2];s[(f[l>>2]|0)+(f[u>>2]<<2)>>2]=+s[w>>2];f[u>>2]=(f[u>>2]|0)+1}h=k;return}function At(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;n=k+28|0;a=k+24|0;o=k+20|0;l=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=(f[a>>2]|0)-1;while(1){if((f[u>>2]|0)<0)break;f[b>>2]=(f[n>>2]|0)+(0+(f[u>>2]|0)<<2);s[w>>2]=0;f[c>>2]=(f[a>>2]|0)-1;while(1){if((f[c>>2]|0)<=(f[u>>2]|0))break;t=re(f[c>>2]|0,f[a>>2]|0)|0;s[w>>2]=+s[w>>2]+ +s[(f[b>>2]|0)+(t<<2)>>2]*+s[(f[l>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[w>>2]=+s[(f[o>>2]|0)+(f[u>>2]<<2)>>2]-+s[w>>2];s[(f[l>>2]|0)+(f[u>>2]<<2)>>2]=+s[w>>2];f[u>>2]=(f[u>>2]|0)+-1}h=k;return}function St(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;var a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+320|0;a=y+312|0;o=y+308|0;l=y+304|0;c=y+300|0;b=y+296|0;d=y+292|0;k=y+288|0;v=y+280|0;g=y+272|0;p=y+136|0;w=y;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;f[c>>2]=t;f[b>>2]=n;vs(p|0,0,136)|0;vs(w|0,0,136)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;u[v>>3]=+s[(f[o>>2]|0)+(f[d>>2]<<2)>>2];f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[b>>2]|0))break;u[g>>3]=+u[p+(f[k>>2]<<3)>>3]+ +s[l>>2]*(+u[p+((f[k>>2]|0)+1<<3)>>3]-+u[v>>3]);u[p+(f[k>>2]<<3)>>3]=+u[v>>3];n=w+(f[k>>2]<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[v>>3];u[v>>3]=+u[p+((f[k>>2]|0)+1<<3)>>3]+ +s[l>>2]*(+u[p+((f[k>>2]|0)+2<<3)>>3]-+u[g>>3]);u[p+((f[k>>2]|0)+1<<3)>>3]=+u[g>>3];n=w+((f[k>>2]|0)+1<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[g>>3];f[k>>2]=(f[k>>2]|0)+2}u[p+(f[b>>2]<<3)>>3]=+u[v>>3];n=w+(f[b>>2]<<3)|0;u[n>>3]=+u[n>>3]+ +u[p>>3]*+u[v>>3];f[d>>2]=(f[d>>2]|0)+1}f[k>>2]=0;while(1){if((f[k>>2]|0)>=((f[b>>2]|0)+1|0))break;s[(f[a>>2]|0)+(f[k>>2]<<2)>>2]=+u[w+(f[k>>2]<<3)>>3];f[k>>2]=(f[k>>2]|0)+1}h=y;return}function Rt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+80|0;t=u+76|0;n=u+72|0;a=u+68|0;l=u+64|0;o=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;r=Tt(+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*65536)|0;f[o+(f[l>>2]<<2)>>2]=r;f[l>>2]=(f[l>>2]|0)+1}Sa(f[t>>2]|0,o,f[a>>2]|0);h=u;return}function Tt(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;r=cs(+s[r>>2])|0;h=i;return r|0}function Mt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0;u=h;h=h+48|0;t=u+12|0;c=u+8|0;a=u+4|0;l=u;o=u+16|0;f[t>>2]=e;f[c>>2]=r;f[a>>2]=i;Za(o,f[c>>2]|0,f[a>>2]|0);f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=+(n[o+(f[l>>2]<<1)>>1]|0)*.000244140625;f[l>>2]=(f[l>>2]|0)+1}h=u;return}function xt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0;b=h;h=h+96|0;a=b+20|0;o=b+16|0;k=b+12|0;w=b+8|0;u=b+4|0;c=b;l=b+24|0;f[a>>2]=e;f[o>>2]=r;f[k>>2]=i;f[w>>2]=t;oa(f[a>>2]|0,l,f[k>>2]|0,f[w>>2]|0);f[c>>2]=0;while(1){if((f[c>>2]|0)>=2)break;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[a>>2]|0)+4664>>2]|0))break;s[(f[o>>2]|0)+(f[c>>2]<<6)+(f[u>>2]<<2)>>2]=+(n[l+(f[c>>2]<<5)+(f[u>>2]<<1)>>1]|0)*.000244140625;f[u>>2]=(f[u>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}h=b;return}function Ot(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+1632|0;u=x+1388|0;c=x+1384|0;b=x+1380|0;w=x+1376|0;k=x+1372|0;d=x+1368|0;R=x+1364|0;T=x+1360|0;M=x+80|0;v=x+64|0;A=x+1560|0;_=x+1520|0;m=x+56|0;p=x+1392|0;y=x+40|0;E=x+32|0;S=x+16|0;g=x;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;f[T>>2]=0;while(1){e=f[R>>2]|0;if((f[T>>2]|0)>=(f[(f[u>>2]|0)+4660>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+500+((e<<4)+(f[T>>2]|0)<<2)>>2]*8192)|0)&65535;n[p+((f[R>>2]<<4)+(f[T>>2]|0)<<1)>>1]=l;f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=e+1}f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+772+(f[R>>2]<<2)>>2]*16384)|0)<<16;l=l|(Tt(+s[(f[c>>2]|0)+756+(f[R>>2]<<2)>>2]*16384)|0)&65535;f[y+(f[R>>2]<<2)>>2]=l;l=Tt(+s[(f[c>>2]|0)+820+(f[R>>2]<<2)>>2]*16384)|0;f[S+(f[R>>2]<<2)>>2]=l;l=Tt(+s[(f[c>>2]|0)+836+(f[R>>2]<<2)>>2]*16384)|0;f[g+(f[R>>2]<<2)>>2]=l;f[R>>2]=(f[R>>2]|0)+1}f[E>>2]=Tt(+s[(f[c>>2]|0)+852>>2]*1024)|0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=((f[(f[u>>2]|0)+4604>>2]|0)*5|0))break;l=(Tt(+s[(f[c>>2]|0)+144+(f[R>>2]<<2)>>2]*16384)|0)&65535;n[_+(f[R>>2]<<1)>>1]=l;f[R>>2]=(f[R>>2]|0)+1}f[T>>2]=0;while(1){l=(f[T>>2]|0)<2;f[R>>2]=0;if(!l)break;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4664>>2]|0))break;l=(Tt(+s[(f[c>>2]|0)+16+(f[T>>2]<<6)+(f[R>>2]<<2)>>2]*4096)|0)&65535;n[A+(f[T>>2]<<5)+(f[R>>2]<<1)>>1]=l;f[R>>2]=(f[R>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4604>>2]|0))break;T=Tt(+s[(f[c>>2]|0)+(f[R>>2]<<2)>>2]*65536)|0;f[v+(f[R>>2]<<2)>>2]=T;f[R>>2]=(f[R>>2]|0)+1}if((t[(f[b>>2]|0)+29>>0]|0)==2)f[m>>2]=n[24566+(t[(f[b>>2]|0)+33>>0]<<1)>>1];else f[m>>2]=0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[(f[u>>2]|0)+4608>>2]|0))break;T=Tt(+s[(f[d>>2]|0)+(f[R>>2]<<2)>>2]*8)|0;f[M+(f[R>>2]<<2)>>2]=T;f[R>>2]=(f[R>>2]|0)+1}if((f[(f[u>>2]|0)+4652>>2]|0)<=1?(f[(f[u>>2]|0)+4704>>2]|0)<=0:0){Do(f[u>>2]|0,f[w>>2]|0,f[b>>2]|0,M,f[k>>2]|0,A,_,p,g,S,y,v,(f[c>>2]|0)+228|0,f[E>>2]|0,f[m>>2]|0);h=x;return}qo(f[u>>2]|0,f[w>>2]|0,f[b>>2]|0,M,f[k>>2]|0,A,_,p,g,S,y,v,(f[c>>2]|0)+228|0,f[E>>2]|0,f[m>>2]|0);h=x;return}function Lt(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0;S=h;h=h+480|0;b=S+436|0;w=S+432|0;k=S+428|0;d=S+424|0;p=S+420|0;v=S+416|0;g=S+412|0;y=S+408|0;_=S+404|0;A=S+400|0;m=S+440|0;E=S;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=c;f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[y>>2]|0)*5|0))break;t=(Tt(+s[(f[b>>2]|0)+(f[A>>2]<<2)>>2]*16384)|0)&65535;n[m+(f[A>>2]<<1)>>1]=t;f[A>>2]=(f[A>>2]|0)+1}f[A>>2]=0;while(1){if((f[A>>2]|0)>=(((f[y>>2]|0)*5|0)*5|0))break;t=Tt(+s[(f[p>>2]|0)+(f[A>>2]<<2)>>2]*262144)|0;f[E+(f[A>>2]<<2)>>2]=t;f[A>>2]=(f[A>>2]|0)+1}Kf(m,f[w>>2]|0,f[k>>2]|0,f[d>>2]|0,E,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0,f[_>>2]|0);f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[y>>2]|0)*5|0))break;s[(f[b>>2]|0)+(f[A>>2]<<2)>>2]=+(n[m+(f[A>>2]<<1)>>1]|0)*6103515625e-14;f[A>>2]=(f[A>>2]|0)+1}h=S;return}function Pt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;if((f[l>>2]|0)>(f[o>>2]|0))f[l>>2]=f[o>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;b=+Bt(f[a>>2]|0,(f[a>>2]|0)+(f[u>>2]<<2)|0,(f[o>>2]|0)-(f[u>>2]|0)|0);s[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=b;f[u>>2]=(f[u>>2]|0)+1}h=c;return}function It(e,r,i,t,n,a){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;a=a|0;var o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0;B=h;h=h+784|0;o=B+768|0;l=B+764|0;c=B+760|0;b=B+756|0;w=B+752|0;k=B+748|0;A=B+744|0;S=B+740|0;L=B+736|0;O=B+732|0;v=B+720|0;E=B+712|0;M=B+704|0;T=B+696|0;R=B+688|0;x=B+680|0;p=B+672|0;P=B+664|0;I=B+656|0;C=B+728|0;_=B+528|0;m=B+400|0;y=B+264|0;g=B+128|0;d=B;f[o>>2]=e;f[l>>2]=r;s[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;u[v>>3]=+Ut(f[l>>2]|0,re(f[w>>2]|0,f[b>>2]|0)|0);e=_;n=e+128|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(n|0));f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;f[C>>2]=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2);f[S>>2]=1;while(1){if((f[S>>2]|0)>=((f[k>>2]|0)+1|0))break;i=+Bt(f[C>>2]|0,(f[C>>2]|0)+(f[S>>2]<<2)|0,(f[b>>2]|0)-(f[S>>2]|0)|0);r=_+((f[S>>2]|0)-1<<3)|0;u[r>>3]=+u[r>>3]+i;f[S>>2]=(f[S>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}e=m;a=_;n=e+128|0;do{f[e>>2]=f[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(n|0));i=+u[v>>3]+ +u[v>>3]*9999999747378752e-21+9.999999717180685e-10;u[y>>3]=i;u[g>>3]=i;u[E>>3]=1;f[O>>2]=0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[k>>2]|0))break;f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;f[C>>2]=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2);u[P>>3]=+s[(f[C>>2]|0)+(f[S>>2]<<2)>>2];u[I>>3]=+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)-1<<2)>>2];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;r=_+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+s[(f[C>>2]|0)+(f[S>>2]<<2)>>2]*+s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)-1<<2)>>2];r=m+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)-1<<2)>>2]*+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)<<2)>>2];u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[P>>3]=+u[P>>3]+ +s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)-1<<2)>>2]*+u[p>>3];u[I>>3]=+u[I>>3]+ +s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)<<2)>>2]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}f[A>>2]=0;while(1){if((f[A>>2]|0)>(f[S>>2]|0))break;r=y+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+u[P>>3]*+s[(f[C>>2]|0)+((f[S>>2]|0)-(f[A>>2]|0)<<2)>>2];r=g+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]-+u[I>>3]*+s[(f[C>>2]|0)+((f[b>>2]|0)-(f[S>>2]|0)+(f[A>>2]|0)-1<<2)>>2];f[A>>2]=(f[A>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}u[P>>3]=+u[_+(f[S>>2]<<3)>>3];u[I>>3]=+u[m+(f[S>>2]<<3)>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[P>>3]=+u[P>>3]+ +u[m+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]*+u[p>>3];u[I>>3]=+u[I>>3]+ +u[_+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[y+((f[S>>2]|0)+1<<3)>>3]=+u[P>>3];u[g+((f[S>>2]|0)+1<<3)>>3]=+u[I>>3];u[M>>3]=+u[g+((f[S>>2]|0)+1<<3)>>3];u[R>>3]=+u[g>>3];u[T>>3]=+u[y>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[S>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[M>>3]=+u[M>>3]+ +u[g+((f[S>>2]|0)-(f[A>>2]|0)<<3)>>3]*+u[p>>3];u[R>>3]=+u[R>>3]+ +u[g+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];u[T>>3]=+u[T>>3]+ +u[y+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[x>>3]=+u[M>>3]*-2/(+u[T>>3]+ +u[R>>3]);u[P>>3]=+u[E>>3]*(1-+u[x>>3]*+u[x>>3]);if(+u[P>>3]<=+s[c>>2]){u[x>>3]=+H(+(1-+s[c>>2]/+u[E>>3]));if(+u[M>>3]>0)u[x>>3]=-+u[x>>3];u[E>>3]=+s[c>>2];f[O>>2]=1}else u[E>>3]=+u[P>>3];f[A>>2]=0;while(1){if((f[A>>2]|0)>=((f[S>>2]|0)+1>>1|0))break;u[P>>3]=+u[d+(f[A>>2]<<3)>>3];u[I>>3]=+u[d+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3];u[d+(f[A>>2]<<3)>>3]=+u[P>>3]+ +u[x>>3]*+u[I>>3];u[d+((f[S>>2]|0)-(f[A>>2]|0)-1<<3)>>3]=+u[I>>3]+ +u[x>>3]*+u[P>>3];f[A>>2]=(f[A>>2]|0)+1}u[d+(f[S>>2]<<3)>>3]=+u[x>>3];if(f[O>>2]|0){U=33;break}f[A>>2]=0;while(1){if((f[A>>2]|0)>((f[S>>2]|0)+1|0))break;u[P>>3]=+u[y+(f[A>>2]<<3)>>3];r=y+(f[A>>2]<<3)|0;u[r>>3]=+u[r>>3]+ +u[x>>3]*+u[g+((f[S>>2]|0)-(f[A>>2]|0)+1<<3)>>3];r=g+((f[S>>2]|0)-(f[A>>2]|0)+1<<3)|0;u[r>>3]=+u[r>>3]+ +u[x>>3]*+u[P>>3];f[A>>2]=(f[A>>2]|0)+1}f[S>>2]=(f[S>>2]|0)+1}e:do{if((U|0)==33){f[A>>2]=(f[S>>2]|0)+1;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break e;u[d+(f[A>>2]<<3)>>3]=0;f[A>>2]=(f[A>>2]|0)+1}}}while(0);if(!(f[O>>2]|0)){u[T>>3]=+u[y>>3];u[P>>3]=1;f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;u[p>>3]=+u[d+(f[A>>2]<<3)>>3];u[T>>3]=+u[T>>3]+ +u[y+((f[A>>2]|0)+1<<3)>>3]*+u[p>>3];u[P>>3]=+u[P>>3]+ +u[p>>3]*+u[p>>3];s[(f[o>>2]|0)+(f[A>>2]<<2)>>2]=-+u[p>>3];f[A>>2]=(f[A>>2]|0)+1}u[T>>3]=+u[T>>3]-+u[v>>3]*9999999747378752e-21*+u[P>>3];i=+u[T>>3];h=B;return+i}f[A>>2]=0;while(1){if((f[A>>2]|0)>=(f[k>>2]|0))break;s[(f[o>>2]|0)+(f[A>>2]<<2)>>2]=-+u[d+(f[A>>2]<<3)>>3];f[A>>2]=(f[A>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[w>>2]|0))break;U=(f[l>>2]|0)+((re(f[L>>2]|0,f[b>>2]|0)|0)<<2)|0;i=+Ut(U,f[k>>2]|0);u[v>>3]=+u[v>>3]-i;f[L>>2]=(f[L>>2]|0)+1}u[T>>3]=+u[v>>3]*+u[E>>3];i=+u[T>>3];h=B;return+i}function Ct(e,r,i){e=e|0;r=r|0;i=+i;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;l=u+4|0;o=u;f[t>>2]=e;f[n>>2]=r;s[a>>2]=i;s[o>>2]=+s[a>>2];f[l>>2]=0;while(1){i=+s[o>>2];if((f[l>>2]|0)>=((f[n>>2]|0)-1|0))break;r=(f[t>>2]|0)+(f[l>>2]<<2)|0;s[r>>2]=+s[r>>2]*i;s[o>>2]=+s[o>>2]*+s[a>>2];f[l>>2]=(f[l>>2]|0)+1}l=(f[t>>2]|0)+((f[n>>2]|0)-1<<2)|0;s[l>>2]=+s[l>>2]*i;h=u;return}function Ut(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;i=l+20|0;t=l+16|0;a=l+12|0;n=l+8|0;o=l;f[i>>2]=e;f[t>>2]=r;u[o>>3]=0;f[n>>2]=f[t>>2]&65532;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[n>>2]|0))break;u[o>>3]=+u[o>>3]+(+s[(f[i>>2]|0)+((f[a>>2]|0)+0<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+0<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+1<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+1<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+2<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+2<<2)>>2]+ +s[(f[i>>2]|0)+((f[a>>2]|0)+3<<2)>>2]*+s[(f[i>>2]|0)+((f[a>>2]|0)+3<<2)>>2]);f[a>>2]=(f[a>>2]|0)+4}while(1){if((f[a>>2]|0)>=(f[t>>2]|0))break;u[o>>3]=+u[o>>3]+ +s[(f[i>>2]|0)+(f[a>>2]<<2)>>2]*+s[(f[i>>2]|0)+(f[a>>2]<<2)>>2];f[a>>2]=(f[a>>2]|0)+1}h=l;return+ +u[o>>3]}function Bt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;n=b+20|0;a=b+16|0;l=b+12|0;o=b+8|0;c=b;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;u[c>>3]=0;f[o>>2]=f[a>>2]&65532;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;u[c>>3]=+u[c>>3]+(+s[(f[t>>2]|0)+((f[l>>2]|0)+0<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+0<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+1<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+1<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+2<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+2<<2)>>2]+ +s[(f[t>>2]|0)+((f[l>>2]|0)+3<<2)>>2]*+s[(f[n>>2]|0)+((f[l>>2]|0)+3<<2)>>2]);f[l>>2]=(f[l>>2]|0)+4}while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;u[c>>3]=+u[c>>3]+ +s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=b;return+ +u[c>>3]}function jt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+96|0;t=c+80|0;n=c+76|0;a=c+72|0;l=c+68|0;u=c+64|0;o=c;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;s[o+(f[u>>2]<<2)>>2]=+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=0;while(1){e=f[l>>2]|0;if((f[u>>2]|0)>=(f[l>>2]|0))break;r=(f[t>>2]|0)+(f[u>>2]<<2)|0;s[r>>2]=+s[r>>2]+ +s[o+(e-(f[u>>2]|0)-1<<2)>>2]*+s[(f[n>>2]|0)+(f[l>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=-+s[(f[n>>2]|0)+(e<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return}function Dt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;v=h;h=h+48|0;t=v+44|0;n=v+40|0;a=v+36|0;u=v+32|0;w=v+28|0;b=v+24|0;k=v+20|0;d=v+16|0;p=v+12|0;c=v+8|0;o=v+4|0;l=v;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;s[k>>2]=+s[f[n>>2]>>2]*9.999999960041972e-13+9.999999717180685e-10;s[d>>2]=+s[f[n>>2]>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];s[f[t>>2]>>2]=+s[(f[n>>2]|0)+4>>2]/+s[d>>2];s[d>>2]=+s[d>>2]-+s[f[t>>2]>>2]*+s[(f[n>>2]|0)+4>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];f[b>>2]=1;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;s[p>>2]=+s[(f[n>>2]|0)+((f[b>>2]|0)+1<<2)>>2];f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=+s[p>>2]-+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2]*+s[(f[n>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[c>>2]=+s[p>>2]/+s[d>>2];s[d>>2]=+s[d>>2]-+s[c>>2]*+s[p>>2];s[d>>2]=+s[k>>2]>+s[d>>2]?+s[k>>2]:+s[d>>2];f[w>>2]=f[b>>2]>>1;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[w>>2]|0))break;s[o>>2]=+s[(f[t>>2]|0)+(f[u>>2]<<2)>>2];s[l>>2]=+s[(f[t>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)-1<<2)>>2];i=(f[t>>2]|0)+((f[b>>2]|0)-(f[u>>2]|0)-1<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[o>>2];i=(f[t>>2]|0)+(f[u>>2]<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[l>>2];f[u>>2]=(f[u>>2]|0)+1}if(f[b>>2]&1|0){i=(f[t>>2]|0)+(f[w>>2]<<2)|0;s[i>>2]=+s[i>>2]-+s[c>>2]*+s[(f[t>>2]|0)+(f[w>>2]<<2)>>2]}s[(f[t>>2]|0)+(f[b>>2]<<2)>>2]=+s[c>>2];f[b>>2]=(f[b>>2]|0)+1}h=v;return+ +s[d>>2]}function Nt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;p=h;h=h+192|0;i=p+184|0;g=p+180|0;v=p+176|0;l=p+172|0;c=p+168|0;o=p+24|0;b=p+16|0;w=p+8|0;k=p;a=p+40|0;n=p+36|0;t=p+32|0;f[g>>2]=e;f[v>>2]=r;f[t>>2]=a+((f[v>>2]&1)<<6);gs(f[t>>2]|0,f[g>>2]|0,f[v>>2]<<2|0)|0;u[o>>3]=1;f[l>>2]=(f[v>>2]|0)-1;while(1){if((f[l>>2]|0)<=0)break;u[b>>3]=-+s[(f[t>>2]|0)+(f[l>>2]<<2)>>2];if(+u[b>>3]>.9998999834060669|+u[b>>3]<-.9998999834060669){d=4;break}u[w>>3]=1-+u[b>>3]*+u[b>>3];u[k>>3]=1/+u[w>>3];u[o>>3]=+u[o>>3]*+u[w>>3];f[n>>2]=f[t>>2];f[t>>2]=a+((f[l>>2]&1)<<6);f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[(f[t>>2]|0)+(f[c>>2]<<2)>>2]=(+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]-+s[(f[n>>2]|0)+((f[l>>2]|0)-(f[c>>2]|0)-1<<2)>>2]*+u[b>>3])*+u[k>>3];f[c>>2]=(f[c>>2]|0)+1}f[l>>2]=(f[l>>2]|0)+-1}if((d|0)==4){s[i>>2]=0;y=+s[i>>2];h=p;return+y}u[b>>3]=-+s[f[t>>2]>>2];if(+u[b>>3]>.9998999834060669|+u[b>>3]<-.9998999834060669){s[i>>2]=0;y=+s[i>>2];h=p;return+y}else{u[w>>3]=1-+u[b>>3]*+u[b>>3];u[o>>3]=+u[o>>3]*+u[w>>3];s[i>>2]=+u[o>>3];y=+s[i>>2];h=p;return+y}return 0}function Ft(e,r,i,a,o,l,c,b,w,k,d,p){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;c=+c;b=+b;w=w|0;k=k|0;d=d|0;p=p|0;var v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0;je=h;h=h+13936|0;Me=je+10416|0;te=je+10412|0;Oe=je+10408|0;Le=je+10404|0;Pe=je+10400|0;I=je+10396|0;C=je+10392|0;v=je+10388|0;U=je+10384|0;Ae=je+10380|0;ne=je+10376|0;xe=je+10372|0;fe=je+10368|0;Z=je+10364|0;Be=je+10360|0;he=je+10356|0;de=je+10352|0;W=je+9072|0;A=je+8432|0;S=je+13288|0;E=je+12968|0;y=je+8408|0;ee=je+8404|0;le=je+8400|0;B=je+6016|0;P=je+5756|0;D=je+5712|0;Ee=je+5708|0;z=je+5704|0;se=je+24|0;O=je+16|0;we=je+8|0;ke=je;H=je+5608|0;Y=je+12664|0;G=je+5600|0;J=je+5596|0;g=je+5592|0;ae=je+5588|0;N=je+5584|0;F=je+5580|0;oe=je+5576|0;Ie=je+5572|0;j=je+5568|0;Se=je+5564|0;me=je+5560|0;ce=je+5556|0;Re=je+5552|0;Ue=je+5548|0;V=je+5544|0;$=je+5540|0;q=je+5536|0;be=je+2816|0;ue=je+96|0;pe=je+88|0;R=je+84|0;M=je+80|0;T=je+76|0;_e=je+72|0;Q=je+68|0;L=je+64|0;Te=je+60|0;ge=je+56|0;X=je+52|0;ve=je+48|0;K=je+44|0;x=je+40|0;ye=je+36|0;Ce=je+32|0;m=je+11384|0;_=je+10424|0;f[te>>2]=e;f[Oe>>2]=r;f[Le>>2]=i;f[Pe>>2]=a;f[I>>2]=o;f[C>>2]=l;s[v>>2]=c;s[U>>2]=b;f[Ae>>2]=w;f[ne>>2]=k;f[xe>>2]=d;f[fe>>2]=p;f[R>>2]=re(20+((f[xe>>2]|0)*5|0)|0,f[Ae>>2]|0)|0;f[T>>2]=20+((f[xe>>2]|0)*5|0)<<2;f[M>>2]=20+((f[xe>>2]|0)*5|0)<<3;f[_e>>2]=(f[Ae>>2]|0)*5;f[L>>2]=20;f[Q>>2]=40;f[Te>>2]=f[Ae>>2]<<1;f[X>>2]=8;f[ge>>2]=16;f[ve>>2]=((f[Ae>>2]|0)*18|0)-1;f[x>>2]=72;f[K>>2]=143;do{if((f[Ae>>2]|0)!=16)if((f[Ae>>2]|0)==12){zt(_,f[te>>2]|0,f[R>>2]|0);f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;f[y+16>>2]=0;f[y+20>>2]=0;bi(y,S,_,f[R>>2]|0);Yt(W,S,f[M>>2]|0);break}else{zt(S,f[te>>2]|0,f[M>>2]|0);break}else{zt(m,f[te>>2]|0,f[R>>2]|0);f[y>>2]=0;f[y+4>>2]=0;wi(y,S,m,f[R>>2]|0);Yt(W,S,f[M>>2]|0)}}while(0);f[y>>2]=0;f[y+4>>2]=0;wi(y,E,S,f[M>>2]|0);Yt(A,E,f[T>>2]|0);f[Z>>2]=(f[T>>2]|0)-1;while(1){if((f[Z>>2]|0)<=0)break;l=A+(f[Z>>2]<<2)|0;s[l>>2]=+s[l>>2]+ +s[A+((f[Z>>2]|0)-1<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+-1}vs(B|0,0,(f[xe>>2]<<2)*149|0)|0;f[Ee>>2]=A+(f[L>>2]<<2<<2);f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]>>1|0))break;f[z>>2]=(f[Ee>>2]|0)+(0-(f[X>>2]|0)<<2);yr(f[Ee>>2]|0,(f[Ee>>2]|0)+(0-(f[x>>2]|0)<<2)|0,P,f[Q>>2]|0,(f[x>>2]|0)-(f[X>>2]|0)+1|0,f[fe>>2]|0);u[se>>3]=+s[P+((f[x>>2]|0)-(f[X>>2]|0)<<2)>>2];b=+Ut(f[Ee>>2]|0,f[Q>>2]|0);b=b+ +Ut(f[z>>2]|0,f[Q>>2]|0);u[O>>3]=b+ +(f[Q>>2]|0)*4e3;L=B+(f[X>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +u[se>>3]*2/+u[O>>3];f[he>>2]=(f[X>>2]|0)+1;while(1){if((f[he>>2]|0)>(f[x>>2]|0))break;f[z>>2]=(f[z>>2]|0)+-4;u[se>>3]=+s[P+((f[x>>2]|0)-(f[he>>2]|0)<<2)>>2];u[O>>3]=+u[O>>3]+(+s[f[z>>2]>>2]*+s[f[z>>2]>>2]-+s[(f[z>>2]|0)+(f[Q>>2]<<2)>>2]*+s[(f[z>>2]|0)+(f[Q>>2]<<2)>>2]);L=B+(f[he>>2]<<2)|0;s[L>>2]=+s[L>>2]+ +u[se>>3]*2/+u[O>>3];f[he>>2]=(f[he>>2]|0)+1}f[Ee>>2]=(f[Ee>>2]|0)+(f[Q>>2]<<2);f[Be>>2]=(f[Be>>2]|0)+1}f[Z>>2]=f[x>>2];while(1){if((f[Z>>2]|0)<(f[X>>2]|0))break;P=B+(f[Z>>2]<<2)|0;s[P>>2]=+s[P>>2]-+s[B+(f[Z>>2]<<2)>>2]*+(f[Z>>2]|0)/4096;f[Z>>2]=(f[Z>>2]|0)+-1}f[G>>2]=4+(f[ne>>2]<<1);$o(B+(f[X>>2]<<2)|0,H,(f[x>>2]|0)-(f[X>>2]|0)+1|0,f[G>>2]|0);s[g>>2]=+s[B+(f[X>>2]<<2)>>2];if(+s[g>>2]<.20000000298023224){vs(f[Oe>>2]|0,0,f[xe>>2]<<2|0)|0;s[f[I>>2]>>2]=0;n[f[Le>>2]>>1]=0;t[f[Pe>>2]>>0]=0;f[Me>>2]=1;Be=f[Me>>2]|0;h=je;return Be|0}s[ee>>2]=+s[v>>2]*+s[g>>2];f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[G>>2]|0))break;v=f[Z>>2]|0;if(!(+s[B+((f[X>>2]|0)+(f[Z>>2]|0)<<2)>>2]>+s[ee>>2])){ie=24;break}f[H+(f[Z>>2]<<2)>>2]=(f[H+(v<<2)>>2]|0)+(f[X>>2]|0)<<1;f[Z>>2]=(f[Z>>2]|0)+1}if((ie|0)==24)f[G>>2]=v;f[Z>>2]=(f[ge>>2]|0)-5;while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+5|0))break;n[Y+(f[Z>>2]<<1)>>1]=0;f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[G>>2]|0))break;n[Y+(f[H+(f[Z>>2]<<2)>>2]<<1)>>1]=1;f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=(f[K>>2]|0)+3;while(1){if((f[Z>>2]|0)<(f[ge>>2]|0))break;ie=Y+(f[Z>>2]<<1)|0;n[ie>>1]=(n[ie>>1]|0)+((n[Y+((f[Z>>2]|0)-1<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-2<<1)>>1]|0));f[Z>>2]=(f[Z>>2]|0)+-1}f[G>>2]=0;f[Z>>2]=f[ge>>2];while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+1|0))break;if((n[Y+((f[Z>>2]|0)+1<<1)>>1]|0)>0){f[H+(f[G>>2]<<2)>>2]=f[Z>>2];f[G>>2]=(f[G>>2]|0)+1}f[Z>>2]=(f[Z>>2]|0)+1}f[Z>>2]=(f[K>>2]|0)+3;while(1){if((f[Z>>2]|0)<(f[ge>>2]|0))break;ie=Y+(f[Z>>2]<<1)|0;n[ie>>1]=(n[ie>>1]|0)+((n[Y+((f[Z>>2]|0)-1<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-2<<1)>>1]|0)+(n[Y+((f[Z>>2]|0)-3<<1)>>1]|0));f[Z>>2]=(f[Z>>2]|0)+-1}f[J>>2]=0;f[Z>>2]=f[ge>>2];while(1){if((f[Z>>2]|0)>=((f[K>>2]|0)+4|0))break;if((n[Y+(f[Z>>2]<<1)>>1]|0)>0){n[Y+(f[J>>2]<<1)>>1]=(f[Z>>2]|0)-2;f[J>>2]=(f[J>>2]|0)+1}f[Z>>2]=(f[Z>>2]|0)+1}vs(B|0,0,2384)|0;if((f[Ae>>2]|0)==8)f[Ee>>2]=(f[te>>2]|0)+640;else f[Ee>>2]=W+640;f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]|0))break;u[ke>>3]=+Ut(f[Ee>>2]|0,f[Q>>2]|0)+1;f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[J>>2]|0))break;f[he>>2]=n[Y+(f[de>>2]<<1)>>1];f[z>>2]=(f[Ee>>2]|0)+(0-(f[he>>2]|0)<<2);u[se>>3]=+Bt(f[z>>2]|0,f[Ee>>2]|0,f[Q>>2]|0);if(+u[se>>3]>0){u[we>>3]=+Ut(f[z>>2]|0,f[Q>>2]|0);s[B+((f[Be>>2]|0)*596|0)+(f[he>>2]<<2)>>2]=+u[se>>3]*2/(+u[we>>3]+ +u[ke>>3])}else s[B+((f[Be>>2]|0)*596|0)+(f[he>>2]<<2)>>2]=0;f[de>>2]=(f[de>>2]|0)+1}f[Ee>>2]=(f[Ee>>2]|0)+(f[Q>>2]<<2);f[Be>>2]=(f[Be>>2]|0)+1}s[ae>>2]=0;s[N>>2]=-1e3;f[Ie>>2]=0;f[Se>>2]=-1;if((f[C>>2]|0)>0){if((f[Ae>>2]|0)!=12){if((f[Ae>>2]|0)==16)f[C>>2]=f[C>>2]>>1}else f[C>>2]=(f[C>>2]<<1|0)/3|0;s[$>>2]=+Ht(+(f[C>>2]|0))}else s[$>>2]=0;do{if((f[xe>>2]|0)==4){f[Ue>>2]=11;f[Ce>>2]=30286;if((f[Ae>>2]|0)==8&(f[ne>>2]|0)>0){f[ye>>2]=11;break}else{f[ye>>2]=3;break}}else{f[Ue>>2]=3;f[Ce>>2]=30252;f[ye>>2]=3}}while(0);f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[G>>2]|0))break;f[he>>2]=f[H+(f[Be>>2]<<2)>>2];f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[ye>>2]|0))break;s[D+(f[de>>2]<<2)>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[xe>>2]|0))break;ee=re(f[Z>>2]|0,f[Ue>>2]|0)|0;ie=D+(f[de>>2]<<2)|0;s[ie>>2]=+s[ie>>2]+ +s[B+((f[Z>>2]|0)*596|0)+((f[he>>2]|0)+(t[(f[Ce>>2]|0)+(ee+(f[de>>2]|0))>>0]|0)<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+1}f[de>>2]=(f[de>>2]|0)+1}s[oe>>2]=-1e3;f[j>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[ye>>2]|0))break;if(+s[D+(f[Z>>2]<<2)>>2]>+s[oe>>2]){s[oe>>2]=+s[D+(f[Z>>2]<<2)>>2];f[j>>2]=f[Z>>2]}f[Z>>2]=(f[Z>>2]|0)+1}s[V>>2]=+Ht(+(f[he>>2]|0));s[F>>2]=+s[oe>>2]-+(f[xe>>2]|0)*.20000000298023224*+s[V>>2];if((f[C>>2]|0)>0){s[q>>2]=+s[V>>2]-+s[$>>2];s[q>>2]=+s[q>>2]*+s[q>>2];s[F>>2]=+s[F>>2]-+(f[xe>>2]|0)*.20000000298023224*+s[f[I>>2]>>2]*+s[q>>2]/(+s[q>>2]+.5)}if(+s[F>>2]>+s[N>>2]?+s[oe>>2]>+(f[xe>>2]|0)*+s[U>>2]:0){s[N>>2]=+s[F>>2];s[ae>>2]=+s[oe>>2];f[Se>>2]=f[he>>2];f[Ie>>2]=f[j>>2]}f[Be>>2]=(f[Be>>2]|0)+1}if((f[Se>>2]|0)==-1){Be=f[Oe>>2]|0;f[Be>>2]=0;f[Be+4>>2]=0;f[Be+8>>2]=0;f[Be+12>>2]=0;s[f[I>>2]>>2]=0;n[f[Le>>2]>>1]=0;t[f[Pe>>2]>>0]=0;f[Me>>2]=1;Be=f[Me>>2]|0;h=je;return Be|0}s[f[I>>2]>>2]=+s[ae>>2]/+(f[xe>>2]|0);if((f[Ae>>2]|0)>8){v=f[Se>>2]|0;if((f[Ae>>2]|0)==12)f[Se>>2]=(((v&65535)<<16>>16)*3>>1)+(((f[Se>>2]&65535)<<16>>16)*3&1);else f[Se>>2]=v<<1;v=f[Se>>2]|0;do{if((f[Te>>2]|0)>(f[ve>>2]|0))if((v|0)>(f[Te>>2]|0)){v=f[Te>>2]|0;break}else{v=(f[Se>>2]|0)<(f[ve>>2]|0)?f[ve>>2]|0:f[Se>>2]|0;break}else if((v|0)>(f[ve>>2]|0)){v=f[ve>>2]|0;break}else{v=(f[Se>>2]|0)<(f[Te>>2]|0)?f[Te>>2]|0:f[Se>>2]|0;break}}while(0);f[Se>>2]=v;f[me>>2]=qt((f[Se>>2]|0)-2|0,f[Te>>2]|0)|0;f[ce>>2]=Wt((f[Se>>2]|0)+2|0,f[ve>>2]|0)|0;f[Re>>2]=f[Se>>2];f[Ie>>2]=0;s[ae>>2]=-1e3;Zt(ue,f[te>>2]|0,f[me>>2]|0,f[_e>>2]|0,f[xe>>2]|0,f[ne>>2]|0,f[fe>>2]|0);Vt(be,f[te>>2]|0,f[me>>2]|0,f[_e>>2]|0,f[xe>>2]|0,f[ne>>2]|0);f[pe>>2]=0;s[le>>2]=.05000000074505806/+(f[Se>>2]|0);if((f[xe>>2]|0)==4){f[ye>>2]=t[30490+(f[ne>>2]|0)>>0];f[Ue>>2]=34;f[Ce>>2]=30330}else{f[ye>>2]=12;f[Ue>>2]=12;f[Ce>>2]=30258}f[Ee>>2]=(f[te>>2]|0)+((f[Ae>>2]|0)*20<<2);u[ke>>3]=+Ut(f[Ee>>2]|0,re(f[xe>>2]|0,f[_e>>2]|0)|0)+1;f[he>>2]=f[me>>2];while(1){if((f[he>>2]|0)>(f[ce>>2]|0))break;f[de>>2]=0;while(1){if((f[de>>2]|0)>=(f[ye>>2]|0))break;u[se>>3]=0;u[we>>3]=+u[ke>>3];f[Be>>2]=0;while(1){if((f[Be>>2]|0)>=(f[xe>>2]|0))break;u[se>>3]=+u[se>>3]+ +s[ue+((f[Be>>2]|0)*680|0)+((f[de>>2]|0)*20|0)+(f[pe>>2]<<2)>>2];u[we>>3]=+u[we>>3]+ +s[be+((f[Be>>2]|0)*680|0)+((f[de>>2]|0)*20|0)+(f[pe>>2]<<2)>>2];f[Be>>2]=(f[Be>>2]|0)+1}if(+u[se>>3]>0){s[oe>>2]=+u[se>>3]*2/+u[we>>3];s[oe>>2]=+s[oe>>2]*(1-+s[le>>2]*+(f[de>>2]|0))}else s[oe>>2]=0;if(+s[oe>>2]>+s[ae>>2]?((f[he>>2]|0)+(t[30330+(f[de>>2]|0)>>0]|0)|0)<=(f[ve>>2]|0):0){s[ae>>2]=+s[oe>>2];f[Re>>2]=f[he>>2];f[Ie>>2]=f[de>>2]}f[de>>2]=(f[de>>2]|0)+1}f[pe>>2]=(f[pe>>2]|0)+1;f[he>>2]=(f[he>>2]|0)+1}f[Be>>2]=0;while(1){v=f[Re>>2]|0;if((f[Be>>2]|0)>=(f[xe>>2]|0))break;Se=re(f[Be>>2]|0,f[Ue>>2]|0)|0;f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v+(t[(f[Ce>>2]|0)+(Se+(f[Ie>>2]|0))>>0]|0);v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;do{if((f[Te>>2]|0)>((f[Ae>>2]|0)*18|0)){if((v|0)>(f[Te>>2]|0)){v=f[Te>>2]|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<((f[Ae>>2]|0)*18|0)){v=(f[Ae>>2]|0)*18|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}}else{if((v|0)>((f[Ae>>2]|0)*18|0)){v=(f[Ae>>2]|0)*18|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<(f[Te>>2]|0)){v=f[Te>>2]|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}}}while(0);f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v;f[Be>>2]=(f[Be>>2]|0)+1}n[f[Le>>2]>>1]=v-(f[Te>>2]|0);t[f[Pe>>2]>>0]=f[Ie>>2]}else{f[Be>>2]=0;while(1){v=f[Se>>2]|0;if((f[Be>>2]|0)>=(f[xe>>2]|0))break;Te=re(f[Be>>2]|0,f[Ue>>2]|0)|0;f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v+(t[(f[Ce>>2]|0)+(Te+(f[Ie>>2]|0))>>0]|0);v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;do{if((f[ge>>2]|0)>144){if((v|0)>(f[ge>>2]|0)){v=f[ge>>2]|0;break}if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<144)v=144;else v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0}else if((v|0)<=144)if((f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0)<(f[ge>>2]|0)){v=f[ge>>2]|0;break}else{v=f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]|0;break}else v=144}while(0);f[(f[Oe>>2]|0)+(f[Be>>2]<<2)>>2]=v;f[Be>>2]=(f[Be>>2]|0)+1}n[f[Le>>2]>>1]=v-(f[ge>>2]|0);t[f[Pe>>2]>>0]=f[Ie>>2]}f[Me>>2]=0;Be=f[Me>>2]|0;h=je;return Be|0}function zt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<=32767)if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<-32768)r=-32768;else r=cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0;else r=32767;n[(f[t>>2]|0)+(f[o>>2]<<1)>>1]=r;f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function Yt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function Ht(e){e=+e;var r=0,i=0;r=h;h=h+16|0;i=r;u[i>>3]=e;e=+hs(+u[i>>3])*3.32192809488736;h=r;return+e}function qt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Wt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zt(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;I=h;h=h+256|0;u=I+252|0;c=I+248|0;b=I+244|0;w=I+240|0;k=I+236|0;d=I+232|0;p=I+228|0;L=I+224|0;m=I+220|0;A=I+216|0;S=I+212|0;R=I+208|0;M=I+204|0;T=I+200|0;x=I+196|0;_=I+192|0;E=I+188|0;y=I+184|0;O=I+96|0;P=I+8|0;g=I+4|0;v=I;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=n;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;if((f[k>>2]|0)==4){f[g>>2]=30466+(f[d>>2]<<3);f[v>>2]=30330;f[x>>2]=t[30490+(f[d>>2]|0)>>0];f[y>>2]=34}else{f[g>>2]=30282;f[v>>2]=30258;f[x>>2]=12;f[y>>2]=12}f[L>>2]=(f[c>>2]|0)+(f[w>>2]<<2<<2);f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[k>>2]|0))break;f[R>>2]=0;f[M>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+0)>>0];f[T>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+1)>>0];yr(f[L>>2]|0,(f[L>>2]|0)+(0-(f[b>>2]|0)<<2)+(0-(f[T>>2]|0)<<2)|0,P,f[w>>2]|0,(f[T>>2]|0)-(f[M>>2]|0)+1|0,f[p>>2]|0);f[A>>2]=f[M>>2];while(1){if((f[A>>2]|0)>(f[T>>2]|0))break;s[O+(f[R>>2]<<2)>>2]=+s[P+((f[T>>2]|0)-(f[A>>2]|0)<<2)>>2];f[R>>2]=(f[R>>2]|0)+1;f[A>>2]=(f[A>>2]|0)+1}f[_>>2]=t[(f[g>>2]|0)+((f[S>>2]<<1)+0)>>0];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[x>>2]|0))break;i=re(f[S>>2]|0,f[y>>2]|0)|0;f[E>>2]=(t[(f[v>>2]|0)+(i+(f[m>>2]|0))>>0]|0)-(f[_>>2]|0);f[A>>2]=0;while(1){if((f[A>>2]|0)>=5)break;s[(f[u>>2]|0)+((f[S>>2]|0)*680|0)+((f[m>>2]|0)*20|0)+(f[A>>2]<<2)>>2]=+s[O+((f[E>>2]|0)+(f[A>>2]|0)<<2)>>2];f[A>>2]=(f[A>>2]|0)+1}f[m>>2]=(f[m>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+(f[w>>2]<<2);f[S>>2]=(f[S>>2]|0)+1}h=I;return}function Vt(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;P=h;h=h+176|0;l=P+168|0;c=P+164|0;b=P+160|0;w=P+156|0;k=P+152|0;d=P+148|0;L=P+144|0;g=P+140|0;m=P;R=P+136|0;E=P+132|0;S=P+128|0;T=P+124|0;x=P+120|0;_=P+116|0;A=P+112|0;y=P+108|0;M=P+104|0;O=P+16|0;v=P+12|0;p=P+8|0;f[l>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=n;f[k>>2]=a;f[d>>2]=o;if((f[k>>2]|0)==4){f[v>>2]=30466+(f[d>>2]<<3);f[p>>2]=30330;f[x>>2]=t[30490+(f[d>>2]|0)>>0];f[y>>2]=34}else{f[v>>2]=30282;f[p>>2]=30258;f[x>>2]=12;f[y>>2]=12}f[L>>2]=(f[c>>2]|0)+(f[w>>2]<<2<<2);f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[k>>2]|0))break;f[T>>2]=0;f[g>>2]=(f[L>>2]|0)+(0-((f[b>>2]|0)+(t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0]|0))<<2);u[m>>3]=+Ut(f[g>>2]|0,f[w>>2]|0)+.001;s[O+(f[T>>2]<<2)>>2]=+u[m>>3];f[T>>2]=(f[T>>2]|0)+1;f[M>>2]=(t[(f[v>>2]|0)+((f[R>>2]<<1)+1)>>0]|0)-(t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0]|0)+1;f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[M>>2]|0))break;u[m>>3]=+u[m>>3]-+s[(f[g>>2]|0)+((f[w>>2]|0)-(f[E>>2]|0)<<2)>>2]*+s[(f[g>>2]|0)+((f[w>>2]|0)-(f[E>>2]|0)<<2)>>2];u[m>>3]=+u[m>>3]+ +s[(f[g>>2]|0)+(0-(f[E>>2]|0)<<2)>>2]*+s[(f[g>>2]|0)+(0-(f[E>>2]|0)<<2)>>2];s[O+(f[T>>2]<<2)>>2]=+u[m>>3];f[T>>2]=(f[T>>2]|0)+1;f[E>>2]=(f[E>>2]|0)+1}f[_>>2]=t[(f[v>>2]|0)+((f[R>>2]<<1)+0)>>0];f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[x>>2]|0))break;i=re(f[R>>2]|0,f[y>>2]|0)|0;f[A>>2]=(t[(f[p>>2]|0)+(i+(f[E>>2]|0))>>0]|0)-(f[_>>2]|0);f[S>>2]=0;while(1){if((f[S>>2]|0)>=5)break;s[(f[l>>2]|0)+((f[R>>2]|0)*680|0)+((f[E>>2]|0)*20|0)+(f[S>>2]<<2)>>2]=+s[O+((f[A>>2]|0)+(f[S>>2]|0)<<2)>>2];f[S>>2]=(f[S>>2]|0)+1}f[E>>2]=(f[E>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+(f[w>>2]<<2);f[R>>2]=(f[R>>2]|0)+1}h=P;return}function Jt(e,r,i,t){e=e|0;r=r|0;i=+i;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;c=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;s[o>>2]=i;f[l>>2]=t;f[u>>2]=f[l>>2]&65532;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[u>>2]|0))break;s[(f[n>>2]|0)+((f[c>>2]|0)+0<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+0<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+2<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+2<<2)>>2];s[(f[n>>2]|0)+((f[c>>2]|0)+3<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+((f[c>>2]|0)+3<<2)>>2];f[c>>2]=(f[c>>2]|0)+4}while(1){if((f[c>>2]|0)>=(f[l>>2]|0))break;s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]=+s[o>>2]*+s[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+1}h=b;return}function Gt(e){e=e|0;var r=0;r=h;h=h+e|0;h=h+15&-16;return r|0}function Kt(){return h|0}function Xt(e){e=e|0;h=e}function $t(e,r){e=e|0;r=r|0;h=e;c=r}function Qt(e,r){e=e|0;r=r|0;if(!d){d=e;p=r}}function en(e){e=e|0;t[b>>0]=t[e>>0];t[b+1>>0]=t[e+1>>0];t[b+2>>0]=t[e+2>>0];t[b+3>>0]=t[e+3>>0]}function rn(e){e=e|0;t[b>>0]=t[e>>0];t[b+1>>0]=t[e+1>>0];t[b+2>>0]=t[e+2>>0];t[b+3>>0]=t[e+3>>0];t[b+4>>0]=t[e+4>>0];t[b+5>>0]=t[e+5>>0];t[b+6>>0]=t[e+6>>0];t[b+7>>0]=t[e+7>>0]}function tn(e){e=e|0;L=e}function nn(){return L|0}function fn(e,r,i,t,n){e=+e;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;a=w+20|0;o=w+16|0;l=w+12|0;u=w+8|0;c=w+4|0;b=w;s[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[u>>2]|0))break;if(+s[a>>2]<+s[(f[o>>2]|0)+(f[b>>2]<<2)>>2])break;f[b>>2]=(f[b>>2]|0)+1}if((f[b>>2]|0)>(f[c>>2]|0)?+s[a>>2]<+s[(f[o>>2]|0)+(f[c>>2]<<2)>>2]+ +s[(f[l>>2]|0)+(f[c>>2]<<2)>>2]:0)f[b>>2]=f[c>>2];if((f[b>>2]|0)>=(f[c>>2]|0)){r=f[b>>2]|0;h=w;return r|0}if(!(+s[a>>2]>+s[(f[o>>2]|0)+((f[c>>2]|0)-1<<2)>>2]-+s[(f[l>>2]|0)+((f[c>>2]|0)-1<<2)>>2])){r=f[b>>2]|0;h=w;return r|0}f[b>>2]=f[c>>2];r=f[b>>2]|0;h=w;return r|0}function an(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(re(1664525,f[i>>2]|0)|0)+1013904223|0;h=r;return e|0}function on(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;l=_+40|0;u=_+36|0;c=_+32|0;b=_+28|0;w=_+24|0;k=_+20|0;g=_+16|0;p=_+12|0;d=_+8|0;v=_+4|0;y=_;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[k>>2]=o;f[v>>2]=f[(f[l>>2]|0)+32>>2];f[d>>2]=f[(f[l>>2]|0)+44>>2]<>2];f[p>>2]=0;do{f[g>>2]=0;while(1){a=f[p>>2]|0;if((f[g>>2]|0)>=(f[b>>2]|0))break;t=re(a,f[d>>2]|0)|0;e=re(f[p>>2]|0,f[d>>2]|0)|0;s[y>>2]=+ln((f[u>>2]|0)+(t+(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]<>2])<<2)|0,(f[u>>2]|0)+(e+(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]<>2])<<2)|0,(n[(f[v>>2]|0)+((f[g>>2]|0)+1<<1)>>1]|0)-(n[(f[v>>2]|0)+(f[g>>2]<<1)>>1]|0)<>2])+1.0000000272452012e-27;m=+H(+ +s[y>>2]);e=(f[g>>2]|0)+(re(f[p>>2]|0,f[(f[l>>2]|0)+8>>2]|0)|0)|0;s[(f[c>>2]|0)+(e<<2)>>2]=m;f[g>>2]=(f[g>>2]|0)+1}e=a+1|0;f[p>>2]=e}while((e|0)<(f[w>>2]|0));h=_;return}function ln(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function sn(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+64|0;u=A+48|0;c=A+44|0;b=A+40|0;w=A+36|0;k=A+32|0;d=A+28|0;p=A+24|0;m=A+20|0;g=A+16|0;v=A+12|0;y=A+8|0;E=A+4|0;_=A;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[y>>2]=f[(f[u>>2]|0)+32>>2];f[v>>2]=re(f[p>>2]|0,f[(f[u>>2]|0)+44>>2]|0)|0;f[g>>2]=0;do{f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[k>>2]|0))break;e=(f[m>>2]|0)+(re(f[g>>2]|0,f[(f[u>>2]|0)+8>>2]|0)|0)|0;s[_>>2]=1/(+s[(f[w>>2]|0)+(e<<2)>>2]+1.0000000272452012e-27);f[E>>2]=re(f[p>>2]|0,n[(f[y>>2]|0)+(f[m>>2]<<1)>>1]|0)|0;while(1){if((f[E>>2]|0)>=(re(f[p>>2]|0,n[(f[y>>2]|0)+((f[m>>2]|0)+1<<1)>>1]|0)|0))break;r=(f[E>>2]|0)+(re(f[g>>2]|0,f[v>>2]|0)|0)|0;e=(f[E>>2]|0)+(re(f[g>>2]|0,f[v>>2]|0)|0)|0;s[(f[b>>2]|0)+(e<<2)>>2]=+s[(f[c>>2]|0)+(r<<2)>>2]*+s[_>>2];f[E>>2]=(f[E>>2]|0)+1}f[m>>2]=(f[m>>2]|0)+1}e=(f[g>>2]|0)+1|0;f[g>>2]=e}while((e|0)<(f[d>>2]|0));h=A;return}function un(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;L=h;h=h+80|0;P=L+72|0;w=L+68|0;k=L+64|0;d=L+60|0;p=L+56|0;v=L+52|0;g=L+48|0;b=L+44|0;y=L+40|0;T=L+36|0;_=L+32|0;E=L+28|0;S=L+24|0;O=L+20|0;A=L+16|0;M=L+12|0;m=L+8|0;R=L+4|0;x=L;f[P>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[b>>2]=u;f[y>>2]=c;f[A>>2]=f[(f[P>>2]|0)+32>>2];f[_>>2]=re(f[g>>2]|0,f[(f[P>>2]|0)+44>>2]|0)|0;f[E>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+(f[v>>2]<<1)>>1]|0)|0;if((f[b>>2]|0)!=1){if((f[E>>2]|0)<((f[_>>2]|0)/(f[b>>2]|0)|0|0))b=f[E>>2]|0;else b=(f[_>>2]|0)/(f[b>>2]|0)|0;f[E>>2]=b}if(f[y>>2]|0){f[E>>2]=0;f[v>>2]=0;f[p>>2]=0}f[S>>2]=f[k>>2];f[O>>2]=(f[w>>2]|0)+((re(f[g>>2]|0,n[(f[A>>2]|0)+(f[p>>2]<<1)>>1]|0)|0)<<2);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(re(f[g>>2]|0,n[(f[A>>2]|0)+(f[p>>2]<<1)>>1]|0)|0))break;P=f[S>>2]|0;f[S>>2]=P+4;s[P>>2]=0;f[T>>2]=(f[T>>2]|0)+1}f[T>>2]=f[p>>2];while(1){if((f[T>>2]|0)>=(f[v>>2]|0))break;f[M>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+(f[T>>2]<<1)>>1]|0)|0;f[m>>2]=re(f[g>>2]|0,n[(f[A>>2]|0)+((f[T>>2]|0)+1<<1)>>1]|0)|0;s[x>>2]=+s[(f[d>>2]|0)+(f[T>>2]<<2)>>2]+ +s[17464+(f[T>>2]<<2)>>2];s[R>>2]=+$(+(+s[x>>2]*.6931471805599453));do{P=f[O>>2]|0;f[O>>2]=P+4;I=+s[P>>2]*+s[R>>2];P=f[S>>2]|0;f[S>>2]=P+4;s[P>>2]=I;P=(f[M>>2]|0)+1|0;f[M>>2]=P}while((P|0)<(f[m>>2]|0));f[T>>2]=(f[T>>2]|0)+1}vs((f[k>>2]|0)+(f[E>>2]<<2)|0,0,(f[_>>2]|0)-(f[E>>2]|0)<<2|0)|0;h=L;return}function hn(e,r,i,t,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,q=0,W=0,Z=0,V=0,J=0,G=0;J=h;h=h+112|0;y=J+108|0;_=J+104|0;R=J+100|0;T=J+96|0;M=J+92|0;x=J+88|0;G=J+84|0;O=J+80|0;L=J+76|0;P=J+72|0;m=J+68|0;E=J+64|0;A=J+60|0;S=J+56|0;B=J+52|0;D=J+48|0;N=J+44|0;F=J+40|0;C=J+36|0;V=J+32|0;Z=J+28|0;j=J+24|0;U=J+20|0;z=J+16|0;Y=J+12|0;I=J+8|0;q=J+4|0;W=J;f[y>>2]=e;f[_>>2]=r;f[R>>2]=i;f[T>>2]=t;f[M>>2]=o;f[x>>2]=l;f[G>>2]=u;f[O>>2]=c;f[L>>2]=b;f[P>>2]=w;f[m>>2]=k;f[E>>2]=d;f[A>>2]=p;f[S>>2]=v;f[D>>2]=f[G>>2];while(1){if((f[D>>2]|0)>=(f[O>>2]|0))break;f[C>>2]=(n[(f[(f[y>>2]|0)+32>>2]|0)+((f[D>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]|0);G=cn(1+(f[(f[E>>2]|0)+(f[D>>2]<<2)>>2]|0)|0,(n[(f[(f[y>>2]|0)+32>>2]|0)+((f[D>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]|0)|0)|0;f[j>>2]=G>>>(f[T>>2]|0);s[V>>2]=+$(+(+(f[j>>2]|0)*-.125*.6931471805599453))*.5;s[Z>>2]=1/+H(+ +(f[C>>2]<>2]|0));f[B>>2]=0;do{f[W>>2]=0;G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[z>>2]=+s[(f[P>>2]|0)+(G+(f[D>>2]|0)<<2)>>2];G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[Y>>2]=+s[(f[m>>2]|0)+(G+(f[D>>2]|0)<<2)>>2];if((f[M>>2]|0)==1){if(+s[z>>2]>+s[(f[P>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2])g=+s[z>>2];else g=+s[(f[P>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2];s[z>>2]=g;if(+s[Y>>2]>+s[(f[m>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2])g=+s[Y>>2];else g=+s[(f[m>>2]|0)+((f[(f[y>>2]|0)+8>>2]|0)+(f[D>>2]|0)<<2)>>2];s[Y>>2]=g}G=re(f[B>>2]|0,f[(f[y>>2]|0)+8>>2]|0)|0;s[I>>2]=+s[(f[L>>2]|0)+(G+(f[D>>2]|0)<<2)>>2]-(+s[z>>2]<+s[Y>>2]?+s[z>>2]:+s[Y>>2]);s[I>>2]=0>+s[I>>2]?0:+s[I>>2];s[q>>2]=+$(+(-+s[I>>2]*.6931471805599453))*2;if((f[T>>2]|0)==3)s[q>>2]=+s[q>>2]*1.4142135381698608;s[q>>2]=+s[V>>2]<+s[q>>2]?+s[V>>2]:+s[q>>2];s[q>>2]=+s[q>>2]*+s[Z>>2];G=(f[_>>2]|0)+((re(f[B>>2]|0,f[x>>2]|0)|0)<<2)|0;f[U>>2]=G+(n[(f[(f[y>>2]|0)+32>>2]|0)+(f[D>>2]<<1)>>1]<>2]<<2);f[F>>2]=0;while(1){if((f[F>>2]|0)>=(1<>2]|0))break;G=re(f[D>>2]|0,f[M>>2]|0)|0;if(!(a[(f[R>>2]|0)+(G+(f[B>>2]|0))>>0]&1<>2])){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(f[C>>2]|0))break;f[A>>2]=an(f[A>>2]|0)|0;g=+s[q>>2];s[(f[U>>2]|0)+((f[N>>2]<>2])+(f[F>>2]|0)<<2)>>2]=f[A>>2]&32768|0?g:-g;f[N>>2]=(f[N>>2]|0)+1}f[W>>2]=1}f[F>>2]=(f[F>>2]|0)+1}if(f[W>>2]|0)ri(f[U>>2]|0,f[C>>2]<>2],1,f[S>>2]|0);G=(f[B>>2]|0)+1|0;f[B>>2]=G}while((G|0)<(f[M>>2]|0));f[D>>2]=(f[D>>2]|0)+1}h=J;return}function cn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>>>0)/((f[i>>2]|0)>>>0)|0|0}function bn(e,r,i,t,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+112|0;P=N+104|0;w=N+100|0;d=N+96|0;I=N+92|0;C=N+88|0;p=N+84|0;v=N+80|0;g=N+76|0;y=N+72|0;_=N+68|0;k=N+64|0;R=N+60|0;A=N+56|0;E=N+52|0;D=N+48|0;j=N+44|0;S=N+40|0;U=N+36|0;B=N+32|0;T=N+28|0;m=N+24|0;x=N+20|0;M=N+8|0;O=N+4|0;L=N;f[w>>2]=e;f[d>>2]=r;f[I>>2]=i;f[C>>2]=t;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[_>>2]=c;f[k>>2]=b;f[D>>2]=0;f[j>>2]=0;f[S>>2]=f[(f[w>>2]|0)+32>>2];f[B>>2]=0;f[E>>2]=re(f[k>>2]|0,f[(f[w>>2]|0)+44>>2]|0)|0;if((re(f[k>>2]|0,(n[(f[S>>2]|0)+(f[y>>2]<<1)>>1]|0)-(n[(f[S>>2]|0)+((f[y>>2]|0)-1<<1)>>1]|0)|0)|0)<=8){f[P>>2]=0;D=f[P>>2]|0;h=N;return D|0}f[A>>2]=0;do{f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[y>>2]|0))break;f[x>>2]=0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;l=(f[d>>2]|0)+((re(f[k>>2]|0,n[(f[S>>2]|0)+(f[R>>2]<<1)>>1]|0)|0)<<2)|0;f[O>>2]=l+((re(f[A>>2]|0,f[E>>2]|0)|0)<<2);f[m>>2]=re(f[k>>2]|0,(n[(f[S>>2]|0)+((f[R>>2]|0)+1<<1)>>1]|0)-(n[(f[S>>2]|0)+(f[R>>2]<<1)>>1]|0)|0)|0;if((f[m>>2]|0)>8){f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[m>>2]|0))break;s[L>>2]=+s[(f[O>>2]|0)+(f[T>>2]<<2)>>2]*+s[(f[O>>2]|0)+(f[T>>2]<<2)>>2]*+(f[m>>2]|0);if(+s[L>>2]<.25)f[M>>2]=(f[M>>2]|0)+1;if(+s[L>>2]<.0625){l=M+4|0;f[l>>2]=(f[l>>2]|0)+1}if(+s[L>>2]<.015625){l=M+8|0;f[l>>2]=(f[l>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}if((f[R>>2]|0)>((f[(f[w>>2]|0)+8>>2]|0)-4|0)){l=cn((f[M+4>>2]|0)+(f[M>>2]|0)<<5,f[m>>2]|0)|0;f[B>>2]=(f[B>>2]|0)+l}f[x>>2]=((f[M+8>>2]<<1|0)>=(f[m>>2]|0)&1)+((f[M+4>>2]<<1|0)>=(f[m>>2]|0)&1)+((f[M>>2]<<1|0)>=(f[m>>2]|0)&1);f[D>>2]=(f[D>>2]|0)+(f[x>>2]<<8);f[j>>2]=(f[j>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}l=(f[A>>2]|0)+1|0;f[A>>2]=l}while((l|0)<(f[_>>2]|0));do{if(f[g>>2]|0){if(f[B>>2]|0)f[B>>2]=cn(f[B>>2]|0,re(f[_>>2]|0,4-(f[(f[w>>2]|0)+8>>2]|0)+(f[y>>2]|0)|0)|0)|0;f[f[p>>2]>>2]=(f[f[p>>2]>>2]|0)+(f[B>>2]|0)>>1;f[B>>2]=f[f[p>>2]>>2];if((f[f[v>>2]>>2]|0)!=2){if(!(f[f[v>>2]>>2]|0))f[B>>2]=(f[B>>2]|0)-4}else f[B>>2]=(f[B>>2]|0)+4;if((f[B>>2]|0)>22){f[f[v>>2]>>2]=2;break}w=f[v>>2]|0;if((f[B>>2]|0)>18){f[w>>2]=1;break}else{f[w>>2]=0;break}}}while(0);f[D>>2]=cn(f[D>>2]|0,f[j>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+(f[f[I>>2]>>2]|0)>>1;f[f[I>>2]>>2]=f[D>>2];f[D>>2]=((f[D>>2]|0)*3|0)+((3-(f[C>>2]|0)<<7)+64)+2>>2;do{if((f[D>>2]|0)>=80){if((f[D>>2]|0)<256){f[U>>2]=2;break}if((f[D>>2]|0)<384){f[U>>2]=1;break}else{f[U>>2]=0;break}}else f[U>>2]=3}while(0);f[P>>2]=f[U>>2];D=f[P>>2]|0;h=N;return D|0}function wn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;t=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;u=b+4|0;c=b;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[n>>2]=f[n>>2]>>1;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[n>>2]|0))break;i=re(f[a>>2]<<1,f[l>>2]|0)|0;s[u>>2]=+s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]*.7071067690849304;i=re(f[a>>2]|0,(f[l>>2]<<1)+1|0)|0;s[c>>2]=+s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]*.7071067690849304;i=re(f[a>>2]<<1,f[l>>2]|0)|0;s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]=+s[u>>2]+ +s[c>>2];i=re(f[a>>2]|0,(f[l>>2]<<1)+1|0)|0;s[(f[t>>2]|0)+(i+(f[o>>2]|0)<<2)>>2]=+s[u>>2]-+s[c>>2];f[l>>2]=(f[l>>2]|0)+1}f[o>>2]=(f[o>>2]|0)+1}h=b;return}function kn(e,r,i,o,l,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;var T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0;Ee=h;h=h+256|0;Se=Ee+240|0;T=Ee+236|0;D=Ee+232|0;F=Ee+228|0;z=Ee+224|0;Y=Ee+220|0;H=Ee+216|0;Re=Ee+212|0;q=Ee+208|0;Te=Ee+204|0;M=Ee+200|0;x=Ee+196|0;O=Ee+192|0;L=Ee+188|0;P=Ee+184|0;I=Ee+180|0;C=Ee+176|0;U=Ee+172|0;B=Ee+168|0;j=Ee+164|0;Ae=Ee+160|0;ae=Ee+156|0;ke=Ee+152|0;ee=Ee+148|0;ce=Ee+144|0;be=Ee+140|0;ue=Ee+136|0;W=Ee+132|0;V=Ee+128|0;se=Ee+124|0;ye=Ee+120|0;Z=Ee+116|0;we=Ee+112|0;pe=Ee+108|0;$=Ee+64|0;N=Ee+60|0;ve=Ee+56|0;X=Ee+52|0;J=Ee+48|0;Q=Ee+44|0;ie=Ee+40|0;G=Ee+36|0;K=Ee+32|0;ge=Ee+28|0;_e=Ee+24|0;me=Ee+20|0;le=Ee+16|0;fe=Ee+12|0;te=Ee+8|0;ne=Ee+4|0;oe=Ee;f[Se>>2]=e;f[T>>2]=r;f[D>>2]=i;f[F>>2]=o;f[z>>2]=l;f[Y>>2]=u;f[H>>2]=c;f[Re>>2]=b;f[q>>2]=w;f[Te>>2]=k;f[M>>2]=d;f[x>>2]=p;f[O>>2]=v;f[L>>2]=g;f[P>>2]=y;f[I>>2]=_;f[C>>2]=m;f[U>>2]=E;f[B>>2]=A;f[j>>2]=S;f[Ae>>2]=R;f[ee>>2]=f[(f[T>>2]|0)+32>>2];f[ye>>2]=1;f[Z>>2]=f[Y>>2]|0?2:1;f[pe>>2]=((f[Se>>2]|0)!=0^1)&1;f[V>>2]=1<>2];f[W>>2]=f[Te>>2]|0?f[V>>2]|0:1;f[we>>2]=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[D>>2]<<1)>>1]|0)|0;g=re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0;g=re(f[Z>>2]|0,g-(f[we>>2]|0)|0)|0;f[N>>2]=he()|0;y=h;h=h+((1*(g<<2)|0)+15&-16)|0;f[ce>>2]=y;y=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2)|0;f[be>>2]=y+(0-(f[we>>2]|0)<<2);f[ue>>2]=(f[z>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[(f[T>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2);f[se>>2]=0;f[$+32>>2]=f[Re>>2];f[$+24>>2]=f[C>>2];f[$>>2]=f[Se>>2];f[$+12>>2]=f[O>>2];f[$+4>>2]=f[T>>2];f[$+36>>2]=f[f[j>>2]>>2];f[$+16>>2]=f[M>>2];f[$+40>>2]=f[Ae>>2];f[ae>>2]=f[D>>2];while(1){if((f[ae>>2]|0)>=(f[F>>2]|0))break;f[ie>>2]=-1;f[ge>>2]=0;f[$+8>>2]=f[ae>>2];f[le>>2]=(f[ae>>2]|0)==((f[F>>2]|0)-1|0)&1;f[G>>2]=(f[z>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2);if(f[Y>>2]|0)f[K>>2]=(f[Y>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2);else f[K>>2]=0;Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+((f[ae>>2]|0)+1<<1)>>1]|0)|0;f[J>>2]=Te-(re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0);f[ve>>2]=Le(f[C>>2]|0)|0;if((f[ae>>2]|0)!=(f[D>>2]|0))f[I>>2]=(f[I>>2]|0)-(f[ve>>2]|0);f[ke>>2]=(f[P>>2]|0)-(f[ve>>2]|0)-1;f[$+28>>2]=f[ke>>2];if((f[ae>>2]|0)<=((f[B>>2]|0)-1|0)){if(3<((f[B>>2]|0)-(f[ae>>2]|0)|0))E=3;else E=(f[B>>2]|0)-(f[ae>>2]|0)|0;f[Q>>2]=dn(f[I>>2]|0,E)|0;if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0))E=(f[ke>>2]|0)+1|0;else E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;do{if(16383>=(E|0))if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0)){E=(f[ke>>2]|0)+1|0;break}else{E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;break}else E=16383}while(0);do{if(0<=(E|0)){if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0))E=(f[ke>>2]|0)+1|0;else E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;if(16383>=(E|0))if(((f[ke>>2]|0)+1|0)<((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0)){E=(f[ke>>2]|0)+1|0;break}else{E=(f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[Q>>2]|0)|0;break}else E=16383}else E=0}while(0);f[X>>2]=E}else f[X>>2]=0;if((f[pe>>2]|0?(Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0,(Te-(f[J>>2]|0)|0)>=(re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[D>>2]<<1)>>1]|0)|0)):0)?(f[ye>>2]|0)!=0|(f[se>>2]|0)==0:0)f[se>>2]=f[ae>>2];f[ge>>2]=f[(f[L>>2]|0)+(f[ae>>2]<<2)>>2];f[$+20>>2]=f[ge>>2];if((f[ae>>2]|0)>=(f[(f[T>>2]|0)+12>>2]|0)){f[G>>2]=f[ce>>2];if(f[Y>>2]|0)f[K>>2]=f[ce>>2];f[ue>>2]=0}if((f[ae>>2]|0)==((f[F>>2]|0)-1|0))f[ue>>2]=0;if(f[se>>2]|0?(f[M>>2]|0)!=3|(f[W>>2]|0)>1|(f[ge>>2]|0)<0:0){Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[se>>2]<<1)>>1]|0)|0;if(0>(Te-(f[we>>2]|0)-(f[J>>2]|0)|0))E=0;else{E=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[se>>2]<<1)>>1]|0)|0;E=E-(f[we>>2]|0)-(f[J>>2]|0)|0}f[ie>>2]=E;f[fe>>2]=f[se>>2];do{Re=f[V>>2]|0;Te=(f[fe>>2]|0)+-1|0;f[fe>>2]=Te;Te=re(Re,n[(f[ee>>2]|0)+(Te<<1)>>1]|0)|0}while((Te|0)>((f[ie>>2]|0)+(f[we>>2]|0)|0));f[te>>2]=(f[se>>2]|0)-1;do{Re=f[V>>2]|0;Te=(f[te>>2]|0)+1|0;f[te>>2]=Te;Te=re(Re,n[(f[ee>>2]|0)+(Te<<1)>>1]|0)|0}while((Te|0)<((f[ie>>2]|0)+(f[we>>2]|0)+(f[J>>2]|0)|0));f[me>>2]=0;f[_e>>2]=0;f[ne>>2]=f[fe>>2];do{Te=(re(f[ne>>2]|0,f[Z>>2]|0)|0)+0|0;f[_e>>2]=f[_e>>2]|a[(f[H>>2]|0)+Te>>0];Te=re(f[ne>>2]|0,f[Z>>2]|0)|0;f[me>>2]=f[me>>2]|a[(f[H>>2]|0)+(Te+(f[Z>>2]|0)-1)>>0];Te=(f[ne>>2]|0)+1|0;f[ne>>2]=Te}while((Te|0)<(f[te>>2]|0))}else{Te=(1<>2])-1|0;f[me>>2]=Te;f[_e>>2]=Te}e:do{if((f[x>>2]|0?(f[ae>>2]|0)==(f[O>>2]|0):0)?(f[x>>2]=0,f[pe>>2]|0):0){f[oe>>2]=0;while(1){Te=re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0;if((f[oe>>2]|0)>=(Te-(f[we>>2]|0)|0))break e;s[(f[ce>>2]|0)+(f[oe>>2]<<2)>>2]=(+s[(f[ce>>2]|0)+(f[oe>>2]<<2)>>2]+ +s[(f[be>>2]|0)+(f[oe>>2]<<2)>>2])*.5;f[oe>>2]=(f[oe>>2]|0)+1}}}while(0);if(f[x>>2]|0){if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=pn($,f[G>>2]|0,f[J>>2]|0,(f[X>>2]|0)/2|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[_e>>2]|0)|0;if((f[ie>>2]|0)!=-1)E=(f[be>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[be>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[me>>2]=pn($,f[K>>2]|0,f[J>>2]|0,(f[X>>2]|0)/2|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[me>>2]|0)|0}else{u=f[G>>2]|0;if(f[K>>2]|0){if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=vn($,u,f[K>>2]|0,f[J>>2]|0,f[X>>2]|0,f[W>>2]|0,E,f[U>>2]|0,l,f[ue>>2]|0,f[_e>>2]|f[me>>2])|0}else{if((f[ie>>2]|0)!=-1)E=(f[ce>>2]|0)+(f[ie>>2]<<2)|0;else E=0;if(f[le>>2]|0)l=0;else{l=(f[ce>>2]|0)+((re(f[V>>2]|0,n[(f[ee>>2]|0)+(f[ae>>2]<<1)>>1]|0)|0)<<2)|0;l=l+(0-(f[we>>2]|0)<<2)|0}f[_e>>2]=pn($,u,f[J>>2]|0,f[X>>2]|0,f[W>>2]|0,E,f[U>>2]|0,l,1,f[ue>>2]|0,f[_e>>2]|f[me>>2])|0}f[me>>2]=f[_e>>2]}Te=(re(f[ae>>2]|0,f[Z>>2]|0)|0)+0|0;t[(f[H>>2]|0)+Te>>0]=f[_e>>2];Te=re(f[ae>>2]|0,f[Z>>2]|0)|0;t[(f[H>>2]|0)+(Te+(f[Z>>2]|0)-1)>>0]=f[me>>2];f[I>>2]=(f[I>>2]|0)+((f[(f[q>>2]|0)+(f[ae>>2]<<2)>>2]|0)+(f[ve>>2]|0));f[ye>>2]=(f[X>>2]|0)>(f[J>>2]<<3|0)&1;f[ae>>2]=(f[ae>>2]|0)+1}f[f[j>>2]>>2]=f[$+36>>2];de(f[N>>2]|0);h=Ee;return}function dn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return(f[t>>2]|0)/(f[i>>2]|0)|0|0}function pn(e,r,i,t,n,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;l=l|0;u=u|0;c=+c;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0;z=h;h=h+112|0;k=z+100|0;d=z+96|0;g=z+92|0;y=z+88|0;_=z+84|0;m=z+80|0;E=z+76|0;A=z+72|0;S=z+68|0;R=z+64|0;p=z+60|0;v=z+56|0;M=z+52|0;x=z+48|0;O=z+44|0;T=z+40|0;F=z+36|0;j=z+32|0;U=z+28|0;L=z+24|0;D=z+20|0;C=z+16|0;P=z+12|0;N=z+8|0;I=z+4|0;B=z;f[d>>2]=e;f[g>>2]=r;f[y>>2]=i;f[_>>2]=t;f[m>>2]=n;f[E>>2]=o;f[A>>2]=l;f[S>>2]=u;s[R>>2]=c;f[p>>2]=b;f[v>>2]=w;f[M>>2]=f[y>>2];f[x>>2]=f[y>>2];f[T>>2]=f[m>>2];f[F>>2]=0;f[j>>2]=0;f[L>>2]=0;f[D>>2]=((f[f[d>>2]>>2]|0)!=0^1)&1;f[P>>2]=f[f[d>>2]>>2];f[N>>2]=f[(f[d>>2]|0)+20>>2];f[U>>2]=(f[T>>2]|0)==1&1;f[x>>2]=cn(f[x>>2]|0,f[m>>2]|0)|0;if((f[y>>2]|0)==1){f[k>>2]=gn(f[d>>2]|0,f[g>>2]|0,0,f[_>>2]|0,f[S>>2]|0)|0;F=f[k>>2]|0;h=z;return F|0}if((f[N>>2]|0)>0)f[j>>2]=f[N>>2];do{if((f[p>>2]|0)!=0&(f[E>>2]|0)!=0){if((f[j>>2]|0)==0?!((f[x>>2]&1|0)==0&(f[N>>2]|0)<0|(f[T>>2]|0)>1):0)break;gs(f[p>>2]|0,f[E>>2]|0,(f[y>>2]<<2)+0|0)|0;f[E>>2]=f[p>>2]}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[j>>2]|0))break;if(f[P>>2]|0)wn(f[g>>2]|0,f[y>>2]>>f[C>>2],1<>2]);if(f[E>>2]|0)wn(f[E>>2]|0,f[y>>2]>>f[C>>2],1<>2]);f[v>>2]=a[25200+(f[v>>2]&15)>>0]|0|(a[25200+(f[v>>2]>>4)>>0]|0)<<2;f[C>>2]=(f[C>>2]|0)+1}f[m>>2]=f[m>>2]>>f[j>>2];f[x>>2]=f[x>>2]<>2];while(1){if(!((f[x>>2]&1|0)==0?(f[N>>2]|0)<0:0))break;if(f[P>>2]|0)wn(f[g>>2]|0,f[x>>2]|0,f[m>>2]|0);if(f[E>>2]|0)wn(f[E>>2]|0,f[x>>2]|0,f[m>>2]|0);f[v>>2]=f[v>>2]|f[v>>2]<>2];f[m>>2]=f[m>>2]<<1;f[x>>2]=f[x>>2]>>1;f[F>>2]=(f[F>>2]|0)+1;f[N>>2]=(f[N>>2]|0)+1}f[T>>2]=f[m>>2];f[O>>2]=f[x>>2];if((f[T>>2]|0)>1){if(f[P>>2]|0)yn(f[g>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0);if(f[E>>2]|0)yn(f[E>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0)}f[L>>2]=_n(f[d>>2]|0,f[g>>2]|0,f[y>>2]|0,f[_>>2]|0,f[m>>2]|0,f[E>>2]|0,f[A>>2]|0,+s[R>>2],f[v>>2]|0)|0;if(f[D>>2]|0){if((f[T>>2]|0)>1)mn(f[g>>2]|0,f[x>>2]>>f[j>>2],f[T>>2]<>2],f[U>>2]|0);f[x>>2]=f[O>>2];f[m>>2]=f[T>>2];f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[F>>2]|0))break;f[m>>2]=f[m>>2]>>1;f[x>>2]=f[x>>2]<<1;f[L>>2]=f[L>>2]|(f[L>>2]|0)>>>(f[m>>2]|0);wn(f[g>>2]|0,f[x>>2]|0,f[m>>2]|0);f[C>>2]=(f[C>>2]|0)+1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[j>>2]|0))break;f[L>>2]=a[25216+(f[L>>2]|0)>>0];wn(f[g>>2]|0,f[M>>2]>>f[C>>2],1<>2]);f[C>>2]=(f[C>>2]|0)+1}f[m>>2]=f[m>>2]<>2];e:do{if(f[S>>2]|0){s[B>>2]=+H(+ +(f[M>>2]|0));f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[M>>2]|0))break e;s[(f[S>>2]|0)+(f[I>>2]<<2)>>2]=+s[B>>2]*+s[(f[g>>2]|0)+(f[I>>2]<<2)>>2];f[I>>2]=(f[I>>2]|0)+1}}}while(0);f[L>>2]=f[L>>2]&(1<>2])-1}f[k>>2]=f[L>>2];F=f[k>>2]|0;h=z;return F|0}function vn(e,r,i,t,n,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;G=h;h=h+160|0;M=G+156|0;x=G+152|0;P=G+148|0;I=G+144|0;C=G+140|0;R=G+136|0;U=G+132|0;B=G+128|0;j=G+124|0;D=G+120|0;O=G+116|0;L=G+112|0;p=G+108|0;v=G+104|0;F=G+100|0;q=G+96|0;J=G+92|0;N=G+88|0;Z=G+84|0;H=G+80|0;V=G+76|0;S=G+72|0;z=G+68|0;T=G+64|0;y=G+40|0;g=G+36|0;d=G+32|0;k=G+28|0;w=G+24|0;_=G+20|0;E=G+16|0;A=G+12|0;m=G+8|0;W=G+4|0;Y=G;f[x>>2]=e;f[P>>2]=r;f[I>>2]=i;f[C>>2]=t;f[R>>2]=n;f[U>>2]=a;f[B>>2]=o;f[j>>2]=l;f[D>>2]=u;f[O>>2]=c;f[L>>2]=b;f[p>>2]=0;f[v>>2]=0;f[F>>2]=0;s[q>>2]=0;s[J>>2]=0;f[N>>2]=0;f[Z>>2]=((f[f[x>>2]>>2]|0)!=0^1)&1;f[d>>2]=f[f[x>>2]>>2];f[k>>2]=f[(f[x>>2]|0)+24>>2];if((f[C>>2]|0)==1){f[M>>2]=gn(f[x>>2]|0,f[P>>2]|0,f[I>>2]|0,f[R>>2]|0,f[D>>2]|0)|0;J=f[M>>2]|0;h=G;return J|0}f[g>>2]=f[L>>2];En(f[x>>2]|0,y,f[P>>2]|0,f[I>>2]|0,f[C>>2]|0,R,f[U>>2]|0,f[U>>2]|0,f[j>>2]|0,1,L);f[F>>2]=f[y>>2];f[p>>2]=f[y+4>>2];f[v>>2]=f[y+8>>2];f[S>>2]=f[y+12>>2];f[z>>2]=f[y+16>>2];f[T>>2]=f[y+20>>2];s[q>>2]=+(f[p>>2]|0)*30517578125e-15;s[J>>2]=+(f[v>>2]|0)*30517578125e-15;do{if((f[C>>2]|0)==2){f[_>>2]=0;f[H>>2]=f[R>>2];f[V>>2]=0;f[V>>2]=(f[z>>2]|0)!=0&(f[z>>2]|0)!=16384?8:0;f[H>>2]=(f[H>>2]|0)-(f[V>>2]|0);f[w>>2]=(f[z>>2]|0)>8192&1;W=(f[x>>2]|0)+28|0;f[W>>2]=(f[W>>2]|0)-((f[T>>2]|0)+(f[V>>2]|0));f[E>>2]=f[w>>2]|0?f[I>>2]|0:f[P>>2]|0;f[A>>2]=f[w>>2]|0?f[P>>2]|0:f[I>>2]|0;do{if(f[V>>2]|0)if(f[d>>2]|0){f[_>>2]=+s[f[E>>2]>>2]*+s[(f[A>>2]|0)+4>>2]-+s[(f[E>>2]|0)+4>>2]*+s[f[A>>2]>>2]<0&1;er(f[k>>2]|0,f[_>>2]|0,1);break}else{f[_>>2]=Ye(f[k>>2]|0,1)|0;break}}while(0);f[_>>2]=1-(f[_>>2]<<1);f[N>>2]=pn(f[x>>2]|0,f[E>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[g>>2]|0)|0;s[f[A>>2]>>2]=+(0-(f[_>>2]|0)|0)*+s[(f[E>>2]|0)+4>>2];s[(f[A>>2]|0)+4>>2]=+(f[_>>2]|0)*+s[f[E>>2]>>2];if(f[Z>>2]|0){s[f[P>>2]>>2]=+s[q>>2]*+s[f[P>>2]>>2];s[(f[P>>2]|0)+4>>2]=+s[q>>2]*+s[(f[P>>2]|0)+4>>2];s[f[I>>2]>>2]=+s[J>>2]*+s[f[I>>2]>>2];s[(f[I>>2]|0)+4>>2]=+s[J>>2]*+s[(f[I>>2]|0)+4>>2];s[m>>2]=+s[f[P>>2]>>2];s[f[P>>2]>>2]=+s[m>>2]-+s[f[I>>2]>>2];s[f[I>>2]>>2]=+s[m>>2]+ +s[f[I>>2]>>2];s[m>>2]=+s[(f[P>>2]|0)+4>>2];s[(f[P>>2]|0)+4>>2]=+s[m>>2]-+s[(f[I>>2]|0)+4>>2];s[(f[I>>2]|0)+4>>2]=+s[m>>2]+ +s[(f[I>>2]|0)+4>>2]}}else{a=f[R>>2]|0;if((f[R>>2]|0)>=(((f[R>>2]|0)-(f[S>>2]|0)|0)/2|0|0))a=(a-(f[S>>2]|0)|0)/2|0;if(0<=(a|0)){a=f[R>>2]|0;if((f[R>>2]|0)>=(((f[R>>2]|0)-(f[S>>2]|0)|0)/2|0|0))a=(a-(f[S>>2]|0)|0)/2|0}else a=0;f[H>>2]=a;f[V>>2]=(f[R>>2]|0)-(f[H>>2]|0);a=(f[x>>2]|0)+28|0;f[a>>2]=(f[a>>2]|0)-(f[T>>2]|0);f[W>>2]=f[(f[x>>2]|0)+28>>2];a=f[x>>2]|0;if((f[H>>2]|0)>=(f[V>>2]|0)){f[N>>2]=pn(a,f[P>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[L>>2]|0)|0;f[W>>2]=(f[H>>2]|0)-((f[W>>2]|0)-(f[(f[x>>2]|0)+28>>2]|0));if((f[W>>2]|0)>24&(f[z>>2]|0)!=0)f[V>>2]=(f[V>>2]|0)+((f[W>>2]|0)-24);J=pn(f[x>>2]|0,f[I>>2]|0,f[C>>2]|0,f[V>>2]|0,f[U>>2]|0,0,f[j>>2]|0,0,+s[J>>2],0,f[L>>2]>>f[U>>2])|0;f[N>>2]=f[N>>2]|J;break}else{f[N>>2]=pn(a,f[I>>2]|0,f[C>>2]|0,f[V>>2]|0,f[U>>2]|0,0,f[j>>2]|0,0,+s[J>>2],0,f[L>>2]>>f[U>>2])|0;f[W>>2]=(f[V>>2]|0)-((f[W>>2]|0)-(f[(f[x>>2]|0)+28>>2]|0));if((f[W>>2]|0)>24&(f[z>>2]|0)!=16384)f[H>>2]=(f[H>>2]|0)+((f[W>>2]|0)-24);J=pn(f[x>>2]|0,f[P>>2]|0,f[C>>2]|0,f[H>>2]|0,f[U>>2]|0,f[B>>2]|0,f[j>>2]|0,f[D>>2]|0,1,f[O>>2]|0,f[L>>2]|0)|0;f[N>>2]=f[N>>2]|J;break}}}while(0);e:do{if(f[Z>>2]|0){if((f[C>>2]|0)!=2)Pn(f[P>>2]|0,f[I>>2]|0,+s[q>>2],f[C>>2]|0,f[(f[x>>2]|0)+40>>2]|0);if(f[F>>2]|0){f[Y>>2]=0;while(1){if((f[Y>>2]|0)>=(f[C>>2]|0))break e;s[(f[I>>2]|0)+(f[Y>>2]<<2)>>2]=-+s[(f[I>>2]|0)+(f[Y>>2]<<2)>>2];f[Y>>2]=(f[Y>>2]|0)+1}}}}while(0);f[M>>2]=f[N>>2];J=f[M>>2]|0;h=G;return J|0}function gn(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;a=y+44|0;o=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;d=y+24|0;b=y+20|0;v=y+16|0;g=y+12|0;k=y+8|0;w=y+4|0;p=y;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;f[c>>2]=n;f[d>>2]=((f[f[a>>2]>>2]|0)!=0^1)&1;f[g>>2]=f[o>>2];f[k>>2]=f[f[a>>2]>>2];f[w>>2]=f[(f[a>>2]|0)+24>>2];f[v>>2]=(f[l>>2]|0)!=0&1;f[b>>2]=0;do{f[p>>2]=0;if((f[(f[a>>2]|0)+28>>2]|0)>=8){if(f[k>>2]|0){f[p>>2]=+s[f[g>>2]>>2]<0&1;er(f[w>>2]|0,f[p>>2]|0,1)}else f[p>>2]=Ye(f[w>>2]|0,1)|0;n=(f[a>>2]|0)+28|0;f[n>>2]=(f[n>>2]|0)-8;f[u>>2]=(f[u>>2]|0)-8}if(f[d>>2]|0)s[f[g>>2]>>2]=f[p>>2]|0?-1:1;f[g>>2]=f[l>>2];n=(f[b>>2]|0)+1|0;f[b>>2]=n}while((n|0)<(1+(f[v>>2]|0)|0));if(!(f[c>>2]|0)){h=y;return 1}s[f[c>>2]>>2]=+s[f[o>>2]>>2];h=y;return 1}function yn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;n=k+32|0;a=k+28|0;o=k+24|0;d=k+20|0;c=k+16|0;b=k+12|0;u=k+8|0;l=k+4|0;w=k;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[d>>2]=t;f[u>>2]=re(f[a>>2]|0,f[o>>2]|0)|0;i=f[u>>2]|0;f[l>>2]=he()|0;r=h;h=h+((1*(i<<2)|0)+15&-16)|0;if(f[d>>2]|0){f[w>>2]=8+(f[o>>2]<<2)+-8;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;i=re(f[b>>2]|0,f[o>>2]|0)|0;d=re(f[(f[w>>2]|0)+(f[c>>2]<<2)>>2]|0,f[a>>2]|0)|0;s[r+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[n>>2]|0)+(i+(f[c>>2]|0)<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}w=f[n>>2]|0;b=f[u>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,r|0,d|0)|0;d=f[l>>2]|0;de(d|0);h=k;return}else{f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[a>>2]|0))break;w=re(f[b>>2]|0,f[o>>2]|0)|0;d=re(f[c>>2]|0,f[a>>2]|0)|0;s[r+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[n>>2]|0)+(w+(f[c>>2]|0)<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}w=f[n>>2]|0;b=f[u>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,r|0,d|0)|0;d=f[l>>2]|0;de(d|0);h=k;return}}function _n(e,r,i,t,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;l=l|0;u=u|0;c=+c;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0;K=h;h=h+176|0;P=K+164|0;I=K+160|0;Z=K+156|0;x=K+152|0;V=K+148|0;C=K+144|0;U=K+140|0;J=K+136|0;B=K+132|0;X=K+128|0;_=K+124|0;k=K+120|0;p=K+116|0;v=K+112|0;j=K+108|0;z=K+104|0;W=K+100|0;G=K+96|0;m=K+92|0;D=K+88|0;O=K+84|0;y=K+80|0;d=K+76|0;R=K+72|0;M=K+68|0;F=K+64|0;q=K+60|0;T=K+56|0;N=K+52|0;L=K+48|0;E=K+24|0;Y=K+20|0;H=K+16|0;S=K+12|0;g=K+8|0;w=K+4|0;A=K;f[P>>2]=e;f[I>>2]=r;f[Z>>2]=i;f[x>>2]=t;f[V>>2]=o;f[C>>2]=l;f[U>>2]=u;s[J>>2]=c;f[B>>2]=b;f[p>>2]=0;f[v>>2]=0;f[j>>2]=f[V>>2];s[z>>2]=0;s[W>>2]=0;f[G>>2]=0;f[m>>2]=((f[f[P>>2]>>2]|0)!=0^1)&1;f[D>>2]=0;f[O>>2]=f[f[P>>2]>>2];f[y>>2]=f[(f[P>>2]|0)+4>>2];f[d>>2]=f[(f[P>>2]|0)+8>>2];f[R>>2]=f[(f[P>>2]|0)+16>>2];f[M>>2]=f[(f[P>>2]|0)+24>>2];l=re((f[U>>2]|0)+1|0,f[(f[y>>2]|0)+8>>2]|0)|0;f[X>>2]=(f[(f[y>>2]|0)+92+8>>2]|0)+(n[(f[(f[y>>2]|0)+92+4>>2]|0)+(l+(f[d>>2]|0)<<1)>>1]|0);if((f[U>>2]|0)!=-1?(f[Z>>2]|0)>2?(f[x>>2]|0)>((a[(f[X>>2]|0)+(a[f[X>>2]>>0]|0)>>0]|0)+12|0):0:0){f[Y>>2]=0;f[Z>>2]=f[Z>>2]>>1;f[D>>2]=(f[I>>2]|0)+(f[Z>>2]<<2);f[U>>2]=(f[U>>2]|0)-1;if((f[V>>2]|0)==1)f[B>>2]=f[B>>2]&1|f[B>>2]<<1;f[V>>2]=(f[V>>2]|0)+1>>1;En(f[P>>2]|0,E,f[I>>2]|0,f[D>>2]|0,f[Z>>2]|0,x,f[V>>2]|0,f[j>>2]|0,f[U>>2]|0,0,B);f[p>>2]=f[E+4>>2];f[v>>2]=f[E+8>>2];f[T>>2]=f[E+12>>2];f[N>>2]=f[E+16>>2];f[L>>2]=f[E+20>>2];s[z>>2]=+(f[p>>2]|0)*30517578125e-15;s[W>>2]=+(f[v>>2]|0)*30517578125e-15;do{if((f[j>>2]|0)>1?f[N>>2]&16383|0:0){o=f[T>>2]|0;if((f[N>>2]|0)>8192){f[T>>2]=(f[T>>2]|0)-(o>>4-(f[U>>2]|0));break}if(0<(o+(f[Z>>2]<<3>>5-(f[U>>2]|0))|0))o=0;else o=(f[T>>2]|0)+(f[Z>>2]<<3>>5-(f[U>>2]|0))|0;f[T>>2]=o}}while(0);o=f[x>>2]|0;if((f[x>>2]|0)>=(((f[x>>2]|0)-(f[T>>2]|0)|0)/2|0|0))o=(o-(f[T>>2]|0)|0)/2|0;if(0<=(o|0)){o=f[x>>2]|0;if((f[x>>2]|0)>=(((f[x>>2]|0)-(f[T>>2]|0)|0)/2|0|0))o=(o-(f[T>>2]|0)|0)/2|0}else o=0;f[F>>2]=o;f[q>>2]=(f[x>>2]|0)-(f[F>>2]|0);X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[L>>2]|0);if(f[C>>2]|0)f[Y>>2]=(f[C>>2]|0)+(f[Z>>2]<<2);f[H>>2]=f[(f[P>>2]|0)+28>>2];o=f[P>>2]|0;if((f[F>>2]|0)>=(f[q>>2]|0)){f[G>>2]=_n(o,f[I>>2]|0,f[Z>>2]|0,f[F>>2]|0,f[V>>2]|0,f[C>>2]|0,f[U>>2]|0,+s[J>>2]*+s[z>>2],f[B>>2]|0)|0;f[H>>2]=(f[F>>2]|0)-((f[H>>2]|0)-(f[(f[P>>2]|0)+28>>2]|0));if((f[H>>2]|0)>24&(f[N>>2]|0)!=0)f[q>>2]=(f[q>>2]|0)+((f[H>>2]|0)-24);X=_n(f[P>>2]|0,f[D>>2]|0,f[Z>>2]|0,f[q>>2]|0,f[V>>2]|0,f[Y>>2]|0,f[U>>2]|0,+s[J>>2]*+s[W>>2],f[B>>2]>>f[V>>2])|0;f[G>>2]=f[G>>2]|X<<(f[j>>2]>>1);X=f[G>>2]|0;h=K;return X|0}else{X=_n(o,f[D>>2]|0,f[Z>>2]|0,f[q>>2]|0,f[V>>2]|0,f[Y>>2]|0,f[U>>2]|0,+s[J>>2]*+s[W>>2],f[B>>2]>>f[V>>2])|0;f[G>>2]=X<<(f[j>>2]>>1);f[H>>2]=(f[q>>2]|0)-((f[H>>2]|0)-(f[(f[P>>2]|0)+28>>2]|0));if((f[H>>2]|0)>24&(f[N>>2]|0)!=16384)f[F>>2]=(f[F>>2]|0)+((f[H>>2]|0)-24);X=_n(f[P>>2]|0,f[I>>2]|0,f[Z>>2]|0,f[F>>2]|0,f[V>>2]|0,f[C>>2]|0,f[U>>2]|0,+s[J>>2]*+s[z>>2],f[B>>2]|0)|0;f[G>>2]=f[G>>2]|X;X=f[G>>2]|0;h=K;return X|0}}f[_>>2]=An(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[x>>2]|0)|0;f[k>>2]=Sn(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[_>>2]|0)|0;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[k>>2]|0);while(1){if(!((f[(f[P>>2]|0)+28>>2]|0)<0?(f[_>>2]|0)>0:0))break;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)+(f[k>>2]|0);f[_>>2]=(f[_>>2]|0)+-1;f[k>>2]=Sn(f[y>>2]|0,f[d>>2]|0,f[U>>2]|0,f[_>>2]|0)|0;X=(f[P>>2]|0)+28|0;f[X>>2]=(f[X>>2]|0)-(f[k>>2]|0)}if(f[_>>2]|0){f[S>>2]=Rn(f[_>>2]|0)|0;w=f[I>>2]|0;t=f[Z>>2]|0;r=f[S>>2]|0;i=f[R>>2]|0;u=f[V>>2]|0;o=f[M>>2]|0;if(f[O>>2]|0){f[G>>2]=Jr(w,t,r,i,u,o)|0;X=f[G>>2]|0;h=K;return X|0}else{f[G>>2]=Qr(w,t,r,i,u,o,+s[J>>2])|0;X=f[G>>2]|0;h=K;return X|0}}if(!(f[m>>2]|0)){X=f[G>>2]|0;h=K;return X|0}f[w>>2]=(1<>2])-1;f[B>>2]=f[B>>2]&f[w>>2];if(!(f[B>>2]|0)){vs(f[I>>2]|0,0,f[Z>>2]<<2|0)|0;X=f[G>>2]|0;h=K;return X|0}X=(f[C>>2]|0)==0;f[g>>2]=0;if(X){while(1){if((f[g>>2]|0)>=(f[Z>>2]|0))break;X=an(f[(f[P>>2]|0)+36>>2]|0)|0;f[(f[P>>2]|0)+36>>2]=X;s[(f[I>>2]|0)+(f[g>>2]<<2)>>2]=+(f[(f[P>>2]|0)+36>>2]>>20|0);f[g>>2]=(f[g>>2]|0)+1}f[G>>2]=f[w>>2]}else{while(1){if((f[g>>2]|0)>=(f[Z>>2]|0))break;X=an(f[(f[P>>2]|0)+36>>2]|0)|0;f[(f[P>>2]|0)+36>>2]=X;s[A>>2]=.00390625;c=+s[A>>2];s[A>>2]=f[(f[P>>2]|0)+36>>2]&32768|0?c:-c;s[(f[I>>2]|0)+(f[g>>2]<<2)>>2]=+s[(f[C>>2]|0)+(f[g>>2]<<2)>>2]+ +s[A>>2];f[g>>2]=(f[g>>2]|0)+1}f[G>>2]=f[B>>2]}ri(f[I>>2]|0,f[Z>>2]|0,+s[J>>2],f[(f[P>>2]|0)+40>>2]|0);X=f[G>>2]|0;h=K;return X|0}function mn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+48|0;a=k+32|0;o=k+28|0;l=k+24|0;d=k+20|0;b=k+16|0;w=k+12|0;c=k+8|0;u=k+4|0;n=k;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[d>>2]=t;f[c>>2]=re(f[o>>2]|0,f[l>>2]|0)|0;i=f[c>>2]|0;f[u>>2]=he()|0;e=h;h=h+((1*(i<<2)|0)+15&-16)|0;if(f[d>>2]|0){f[n>>2]=8+(f[l>>2]<<2)+-8;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=0;while(1){r=f[b>>2]|0;if((f[w>>2]|0)>=(f[o>>2]|0))break;i=re(f[(f[n>>2]|0)+(r<<2)>>2]|0,f[o>>2]|0)|0;d=re(f[w>>2]|0,f[l>>2]|0)|0;s[e+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[a>>2]|0)+(i+(f[w>>2]|0)<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=r+1}w=f[a>>2]|0;b=f[c>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,e|0,d|0)|0;d=f[u>>2]|0;de(d|0);h=k;return}else{f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[w>>2]=0;while(1){r=f[b>>2]|0;if((f[w>>2]|0)>=(f[o>>2]|0))break;n=re(r,f[o>>2]|0)|0;d=re(f[w>>2]|0,f[l>>2]|0)|0;s[e+(d+(f[b>>2]|0)<<2)>>2]=+s[(f[a>>2]|0)+(n+(f[w>>2]|0)<<2)>>2];f[w>>2]=(f[w>>2]|0)+1}f[b>>2]=r+1}w=f[a>>2]|0;b=f[c>>2]|0;b=b<<2;d=0;d=b+d|0;gs(w|0,e|0,d|0)|0;d=f[u>>2]|0;de(d|0);h=k;return}}function En(e,r,i,t,a,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0;K=h;h=h+160|0;k=K+148|0;B=K+144|0;x=K+140|0;O=K+136|0;D=K+132|0;N=K+128|0;F=K+124|0;d=K+120|0;ee=K+116|0;L=K+112|0;j=K+108|0;U=K+104|0;V=K+100|0;z=K+96|0;q=K+92|0;Z=K+88|0;J=K+84|0;$=K+80|0;Q=K+76|0;G=K+72|0;W=K+68|0;H=K+64|0;C=K+60|0;I=K+56|0;X=K+52|0;Y=K+48|0;P=K+44|0;S=K+40|0;T=K+36|0;R=K+32|0;M=K+28|0;y=K+24|0;E=K+20|0;A=K+16|0;m=K+12|0;p=K+8|0;v=K+4|0;g=K;f[k>>2]=e;f[B>>2]=r;f[x>>2]=i;f[O>>2]=t;f[D>>2]=a;f[N>>2]=o;f[F>>2]=l;f[d>>2]=u;f[ee>>2]=c;f[L>>2]=b;f[j>>2]=w;f[V>>2]=0;f[W>>2]=0;f[H>>2]=f[f[k>>2]>>2];f[C>>2]=f[(f[k>>2]|0)+4>>2];f[I>>2]=f[(f[k>>2]|0)+8>>2];f[X>>2]=f[(f[k>>2]|0)+12>>2];f[Y>>2]=f[(f[k>>2]|0)+24>>2];f[P>>2]=f[(f[k>>2]|0)+32>>2];f[$>>2]=(n[(f[(f[C>>2]|0)+56>>2]|0)+(f[I>>2]<<1)>>1]|0)+(f[ee>>2]<<3);f[Q>>2]=(f[$>>2]>>1)-((f[L>>2]|0?(f[D>>2]|0)==2:0)?16:4);f[U>>2]=Tn(f[D>>2]|0,f[f[N>>2]>>2]|0,f[Q>>2]|0,f[$>>2]|0,f[L>>2]|0)|0;if(f[L>>2]|0?(f[I>>2]|0)>=(f[X>>2]|0):0)f[U>>2]=1;if(f[H>>2]|0)f[V>>2]=ti(f[x>>2]|0,f[O>>2]|0,f[L>>2]|0,f[D>>2]|0,f[(f[k>>2]|0)+40>>2]|0)|0;f[G>>2]=Le(f[Y>>2]|0)|0;do{if((f[U>>2]|0)!=1){if(f[H>>2]|0)f[V>>2]=(re(f[V>>2]|0,f[U>>2]|0)|0)+8192>>14;do{if((f[L>>2]|0)!=0&(f[D>>2]|0)>2){f[S>>2]=3;f[T>>2]=f[V>>2];f[R>>2]=(f[U>>2]|0)/2|0;l=re(f[S>>2]|0,(f[R>>2]|0)+1|0)|0;f[M>>2]=l+(f[R>>2]|0);l=f[Y>>2]|0;if(f[H>>2]|0){if((f[T>>2]|0)<=(f[R>>2]|0))d=re(f[S>>2]|0,f[T>>2]|0)|0;else d=(f[T>>2]|0)-1-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;if((f[T>>2]|0)<=(f[R>>2]|0))k=re(f[S>>2]|0,(f[T>>2]|0)+1|0)|0;else k=(f[T>>2]|0)-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;We(l,d,k,f[M>>2]|0);break}f[y>>2]=Ue(l,f[M>>2]|0)|0;if((f[y>>2]|0)<(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0))f[T>>2]=(f[y>>2]|0)/(f[S>>2]|0)|0;else f[T>>2]=(f[R>>2]|0)+1+((f[y>>2]|0)-(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0));if((f[T>>2]|0)<=(f[R>>2]|0))d=re(f[S>>2]|0,f[T>>2]|0)|0;else d=(f[T>>2]|0)-1-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;if((f[T>>2]|0)<=(f[R>>2]|0))k=re(f[S>>2]|0,(f[T>>2]|0)+1|0)|0;else k=(f[T>>2]|0)-(f[R>>2]|0)+(re((f[R>>2]|0)+1|0,f[S>>2]|0)|0)|0;De(f[Y>>2]|0,d,k,f[M>>2]|0);f[V>>2]=f[T>>2]}else{if((f[d>>2]|0)>1|(f[L>>2]|0)!=0){k=f[Y>>2]|0;if(f[H>>2]|0){Qe(k,f[V>>2]|0,(f[U>>2]|0)+1|0);break}else{f[V>>2]=ze(k,(f[U>>2]|0)+1|0)|0;break}}f[E>>2]=1;f[A>>2]=re((f[U>>2]>>1)+1|0,(f[U>>2]>>1)+1|0)|0;if(!(f[H>>2]|0)){f[p>>2]=0;f[v>>2]=Ue(f[Y>>2]|0,f[A>>2]|0)|0;if((f[v>>2]|0)<((re(f[U>>2]>>1,(f[U>>2]>>1)+1|0)|0)>>1|0)){f[V>>2]=((wr((f[v>>2]<<3)+1|0)|0)-1|0)>>>1;f[E>>2]=(f[V>>2]|0)+1;f[p>>2]=(re(f[V>>2]|0,(f[V>>2]|0)+1|0)|0)>>1}else{ee=(f[U>>2]|0)+1<<1;f[V>>2]=(ee-(wr(((f[A>>2]|0)-(f[v>>2]|0)-1<<3)+1|0)|0)|0)>>>1;f[E>>2]=(f[U>>2]|0)+1-(f[V>>2]|0);f[p>>2]=(f[A>>2]|0)-((re((f[U>>2]|0)+1-(f[V>>2]|0)|0,(f[U>>2]|0)+2-(f[V>>2]|0)|0)|0)>>1)}De(f[Y>>2]|0,f[p>>2]|0,(f[p>>2]|0)+(f[E>>2]|0)|0,f[A>>2]|0);break}if((f[V>>2]|0)<=(f[U>>2]>>1|0))k=(f[V>>2]|0)+1|0;else k=(f[U>>2]|0)+1-(f[V>>2]|0)|0;f[E>>2]=k;if((f[V>>2]|0)<=(f[U>>2]>>1|0))k=(re(f[V>>2]|0,(f[V>>2]|0)+1|0)|0)>>1;else k=(f[A>>2]|0)-((re((f[U>>2]|0)+1-(f[V>>2]|0)|0,(f[U>>2]|0)+2-(f[V>>2]|0)|0)|0)>>1)|0;f[m>>2]=k;We(f[Y>>2]|0,f[m>>2]|0,(f[m>>2]|0)+(f[E>>2]|0)|0,f[A>>2]|0)}}while(0);f[V>>2]=cn(f[V>>2]<<14,f[U>>2]|0)|0;if((f[H>>2]|0)!=0&(f[L>>2]|0)!=0)if(!(f[V>>2]|0)){Mn(f[C>>2]|0,f[x>>2]|0,f[O>>2]|0,f[P>>2]|0,f[I>>2]|0,f[D>>2]|0);break}else{xn(f[x>>2]|0,f[O>>2]|0,f[D>>2]|0);break}}else if(f[L>>2]|0){if(f[H>>2]|0){f[W>>2]=(f[V>>2]|0)>8192&1;e:do{if(f[W>>2]|0){f[g>>2]=0;while(1){if((f[g>>2]|0)>=(f[D>>2]|0))break e;s[(f[O>>2]|0)+(f[g>>2]<<2)>>2]=-+s[(f[O>>2]|0)+(f[g>>2]<<2)>>2];f[g>>2]=(f[g>>2]|0)+1}}}while(0);Mn(f[C>>2]|0,f[x>>2]|0,f[O>>2]|0,f[P>>2]|0,f[I>>2]|0,f[D>>2]|0)}do{if((f[f[N>>2]>>2]|0)>16?(f[(f[k>>2]|0)+28>>2]|0)>16:0){k=f[Y>>2]|0;if(f[H>>2]|0){Xe(k,f[W>>2]|0,2);break}else{f[W>>2]=Ne(k,2)|0;break}}else _=60}while(0);if((_|0)==60)f[W>>2]=0;f[V>>2]=0}}while(0);ee=Le(f[Y>>2]|0)|0;f[J>>2]=ee-(f[G>>2]|0);ee=f[N>>2]|0;f[ee>>2]=(f[ee>>2]|0)-(f[J>>2]|0);if(!(f[V>>2]|0)){f[q>>2]=32767;f[Z>>2]=0;ee=f[j>>2]|0;f[ee>>2]=f[ee>>2]&(1<>2])-1;f[z>>2]=-16384;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}if((f[V>>2]|0)==16384){f[q>>2]=0;f[Z>>2]=32767;ee=f[j>>2]|0;f[ee>>2]=f[ee>>2]&(1<>2])-1<>2];f[z>>2]=16384;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}else{f[q>>2]=(On(f[V>>2]&65535)|0)<<16>>16;f[Z>>2]=(On(16384-(f[V>>2]|0)&65535)|0)<<16>>16;ee=((f[D>>2]|0)-1<<7&65535)<<16>>16;f[z>>2]=16384+(re(ee,((Ln(f[Z>>2]|0,f[q>>2]|0)|0)&65535)<<16>>16)|0)>>15;ee=f[W>>2]|0;Q=f[B>>2]|0;f[Q>>2]=ee;Q=f[q>>2]|0;ee=f[B>>2]|0;ee=ee+4|0;f[ee>>2]=Q;ee=f[Z>>2]|0;Q=f[B>>2]|0;Q=Q+8|0;f[Q>>2]=ee;Q=f[z>>2]|0;ee=f[B>>2]|0;ee=ee+12|0;f[ee>>2]=Q;ee=f[V>>2]|0;Q=f[B>>2]|0;Q=Q+16|0;f[Q>>2]=ee;Q=f[J>>2]|0;ee=f[B>>2]|0;ee=ee+20|0;f[ee>>2]=Q;h=K;return}}function An(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;k=h;h=h+48|0;s=k+36|0;p=k+32|0;d=k+28|0;v=k+24|0;u=k+20|0;o=k+16|0;w=k+12|0;b=k+8|0;c=k+4|0;l=k;f[p>>2]=e;f[d>>2]=r;f[v>>2]=i;f[u>>2]=t;f[v>>2]=(f[v>>2]|0)+1;e=re(f[v>>2]|0,f[(f[p>>2]|0)+8>>2]|0)|0;f[c>>2]=(f[(f[p>>2]|0)+92+8>>2]|0)+(n[(f[(f[p>>2]|0)+92+4>>2]|0)+(e+(f[d>>2]|0)<<1)>>1]|0);f[w>>2]=0;f[b>>2]=a[f[c>>2]>>0];f[u>>2]=(f[u>>2]|0)+-1;f[o>>2]=0;while(1){if((f[o>>2]|0)>=6)break;f[l>>2]=(f[w>>2]|0)+(f[b>>2]|0)+1>>1;i=f[l>>2]|0;if((a[(f[c>>2]|0)+(f[l>>2]|0)>>0]|0)>=(f[u>>2]|0))f[b>>2]=i;else f[w>>2]=i;f[o>>2]=(f[o>>2]|0)+1}if(!(f[w>>2]|0))i=-1;else i=a[(f[c>>2]|0)+(f[w>>2]|0)>>0]|0;if(((f[u>>2]|0)-i|0)<=((a[(f[c>>2]|0)+(f[b>>2]|0)>>0]|0)-(f[u>>2]|0)|0)){f[s>>2]=f[w>>2];v=f[s>>2]|0;h=k;return v|0}else{f[s>>2]=f[b>>2];v=f[s>>2]|0;h=k;return v|0}return 0}function Sn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0;s=h;h=h+32|0;c=s+16|0;u=s+12|0;b=s+8|0;o=s+4|0;l=s;f[c>>2]=e;f[u>>2]=r;f[b>>2]=i;f[o>>2]=t;f[b>>2]=(f[b>>2]|0)+1;t=re(f[b>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0;f[l>>2]=(f[(f[c>>2]|0)+92+8>>2]|0)+(n[(f[(f[c>>2]|0)+92+4>>2]|0)+(t+(f[u>>2]|0)<<1)>>1]|0);if(!(f[o>>2]|0)){b=0;h=s;return b|0}b=(a[(f[l>>2]|0)+(f[o>>2]|0)>>0]|0)+1|0;h=s;return b|0}function Rn(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;e=f[r>>2]|0;if((f[r>>2]|0)<8){r=e;h=i;return r|0}r=8+(e&7)<<(f[r>>2]>>3)-1;h=i;return r|0}function Tn(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;w=h;h=h+32|0;k=w+28|0;o=w+24|0;l=w+20|0;s=w+16|0;d=w+12|0;b=w+8|0;c=w+4|0;u=w;f[k>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[d>>2]=a;f[u>>2]=(f[k>>2]<<1)-1;if((f[d>>2]|0)!=0&(f[k>>2]|0)==2)f[u>>2]=(f[u>>2]|0)+-1;d=(f[o>>2]|0)+(re(f[u>>2]|0,f[l>>2]|0)|0)|0;f[c>>2]=dn(d,f[u>>2]|0)|0;if(((f[o>>2]|0)-(f[s>>2]|0)-32|0)<(f[c>>2]|0))o=(f[o>>2]|0)-(f[s>>2]|0)-32|0;else o=f[c>>2]|0;f[c>>2]=o;f[c>>2]=64<(f[c>>2]|0)?64:f[c>>2]|0;if((f[c>>2]|0)<4){f[b>>2]=1;d=f[b>>2]|0;h=w;return d|0}else{f[b>>2]=n[22328+((f[c>>2]&7)<<1)>>1]>>14-(f[c>>2]>>3);f[b>>2]=(f[b>>2]|0)+1>>1<<1;d=f[b>>2]|0;h=w;return d|0}return 0}function Mn(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;p=h;h=h+64|0;_=p+56|0;o=p+52|0;l=p+48|0;E=p+44|0;A=p+40|0;u=p+36|0;m=p+32|0;w=p+28|0;c=p+24|0;b=p+20|0;y=p+16|0;g=p+12|0;v=p+8|0;d=p+4|0;k=p;f[_>>2]=e;f[o>>2]=r;f[l>>2]=i;f[E>>2]=t;f[A>>2]=n;f[u>>2]=a;f[m>>2]=f[A>>2];s[y>>2]=+s[(f[E>>2]|0)+(f[m>>2]<<2)>>2];s[g>>2]=+s[(f[E>>2]|0)+((f[m>>2]|0)+(f[(f[_>>2]|0)+8>>2]|0)<<2)>>2];s[v>>2]=+H(+(+s[y>>2]*+s[y>>2]+1.0000000036274937e-15+ +s[g>>2]*+s[g>>2]))+1.0000000036274937e-15;s[c>>2]=+s[y>>2]/+s[v>>2];s[b>>2]=+s[g>>2]/+s[v>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[u>>2]|0))break;s[k>>2]=+s[(f[o>>2]|0)+(f[w>>2]<<2)>>2];s[d>>2]=+s[(f[l>>2]|0)+(f[w>>2]<<2)>>2];s[(f[o>>2]|0)+(f[w>>2]<<2)>>2]=+s[c>>2]*+s[k>>2]+ +s[b>>2]*+s[d>>2];f[w>>2]=(f[w>>2]|0)+1}h=p;return}function xn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;t=c+20|0;n=c+16|0;a=c+12|0;o=c+8|0;u=c+4|0;l=c;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;s[l>>2]=+s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]*.7071067690849304;s[u>>2]=+s[(f[n>>2]|0)+(f[o>>2]<<2)>>2]*.7071067690849304;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+s[l>>2]+ +s[u>>2];s[(f[n>>2]|0)+(f[o>>2]<<2)>>2]=+s[u>>2]-+s[l>>2];f[o>>2]=(f[o>>2]|0)+1}h=c;return}function On(e){e=e|0;var r=0,i=0,t=0,a=0;i=h;h=h+16|0;a=i+6|0;t=i;r=i+4|0;n[a>>1]=e;f[t>>2]=4096+(re(n[a>>1]|0,n[a>>1]|0)|0)>>13;n[r>>1]=f[t>>2];n[r>>1]=32767-(n[r>>1]|0)+(16384+(re(n[r>>1]|0,((16384+(re(n[r>>1]|0,(8277+(16384+(re(-626,n[r>>1]|0)|0)>>15)&65535)<<16>>16)|0)>>15)+-7651&65535)<<16>>16)|0)>>15);h=i;return 1+(n[r>>1]|0)&65535|0}function Ln(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;i=h;h=h+16|0;n=i+12|0;t=i+8|0;a=i+4|0;o=i;f[n>>2]=e;f[t>>2]=r;f[a>>2]=32-(te(f[t>>2]|0)|0);f[o>>2]=32-(te(f[n>>2]|0)|0);f[t>>2]=f[t>>2]<<15-(f[a>>2]|0);f[n>>2]=f[n>>2]<<15-(f[o>>2]|0);e=((f[o>>2]|0)-(f[a>>2]|0)<<11)+(16384+(re((f[n>>2]&65535)<<16>>16,((16384+(re((f[n>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;e=e-(16384+(re((f[t>>2]&65535)<<16>>16,((16384+(re((f[t>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;h=i;return e|0}function Pn(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;y=h;h=h+64|0;a=y+60|0;o=y+56|0;l=y+52|0;u=y+48|0;w=y+40|0;_=y+36|0;m=y+32|0;c=y+28|0;b=y+24|0;E=y+20|0;g=y+16|0;d=y+12|0;v=y+8|0;p=y+4|0;k=y;f[a>>2]=e;f[o>>2]=r;s[l>>2]=i;f[u>>2]=t;f[y+44>>2]=n;s[_>>2]=0;s[m>>2]=0;In(f[o>>2]|0,f[a>>2]|0,f[o>>2]|0,f[u>>2]|0,_,m);s[_>>2]=+s[l>>2]*+s[_>>2];s[E>>2]=+s[l>>2];s[c>>2]=+s[E>>2]*+s[E>>2]+ +s[m>>2]-+s[_>>2]*2;s[b>>2]=+s[E>>2]*+s[E>>2]+ +s[m>>2]+ +s[_>>2]*2;if(+s[b>>2]<.0006000000284984708|+s[c>>2]<.0006000000284984708){gs(f[o>>2]|0,f[a>>2]|0,(f[u>>2]<<2)+0|0)|0;h=y;return}s[g>>2]=+s[c>>2];s[d>>2]=1/+H(+ +s[g>>2]);s[g>>2]=+s[b>>2];s[v>>2]=1/+H(+ +s[g>>2]);f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[u>>2]|0))break;s[k>>2]=+s[l>>2]*+s[(f[a>>2]|0)+(f[w>>2]<<2)>>2];s[p>>2]=+s[(f[o>>2]|0)+(f[w>>2]<<2)>>2];s[(f[a>>2]|0)+(f[w>>2]<<2)>>2]=+s[d>>2]*(+s[k>>2]-+s[p>>2]);s[(f[o>>2]|0)+(f[w>>2]<<2)>>2]=+s[v>>2]*(+s[k>>2]+ +s[p>>2]);f[w>>2]=(f[w>>2]|0)+1}h=y;return}function In(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;d=g+8|0;p=g+4|0;v=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[p>>2]=0;s[v>>2]=0;f[d>>2]=0;while(1){o=+s[p>>2];if((f[d>>2]|0)>=(f[b>>2]|0))break;s[p>>2]=o+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[u>>2]|0)+(f[d>>2]<<2)>>2];s[v>>2]=+s[v>>2]+ +s[(f[l>>2]|0)+(f[d>>2]<<2)>>2]*+s[(f[c>>2]|0)+(f[d>>2]<<2)>>2];f[d>>2]=(f[d>>2]|0)+1}s[f[w>>2]>>2]=o;s[f[k>>2]>>2]=+s[v>>2];h=g;return}function Cn(e){e=e|0;var r=0,i=0,t=0,n=0;t=h;h=h+16|0;n=t+4|0;r=t;f[n>>2]=e;e=f[n>>2]|0;e:do{if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break;default:{i=7;break e}}f[r>>2]=6;break}else{switch(e|0){case 12e3:break;default:{i=7;break e}}f[r>>2]=4;break}else{if((e|0)<24e3){switch(e|0){case 16e3:break;default:{i=7;break e}}f[r>>2]=3;break}if((e|0)<48e3){switch(e|0){case 24e3:break;default:{i=7;break e}}f[r>>2]=2;break}else{switch(e|0){case 48e3:break;default:{i=7;break e}}f[r>>2]=1;break}}}while(0);if((i|0)==7)f[r>>2]=0;h=t;return f[r>>2]|0}function Un(e,r,i,t,n,a,o,l,u,c,b,w){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=+a;o=+o;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+112|0;k=N+96|0;d=N+92|0;v=N+88|0;g=N+84|0;y=N+80|0;_=N+76|0;m=N+72|0;E=N+68|0;A=N+64|0;S=N+60|0;p=N+56|0;I=N+48|0;T=N+44|0;M=N+40|0;x=N+36|0;O=N+32|0;L=N+28|0;P=N+24|0;C=N+20|0;U=N+16|0;B=N+12|0;j=N+8|0;D=N+4|0;R=N;f[k>>2]=e;f[d>>2]=r;f[v>>2]=i;f[g>>2]=t;f[y>>2]=n;s[_>>2]=a;s[m>>2]=o;f[E>>2]=l;f[A>>2]=u;f[S>>2]=c;f[p>>2]=b;f[N+52>>2]=w;if(+s[_>>2]==0&+s[m>>2]==0){if((f[d>>2]|0)==(f[k>>2]|0)){h=N;return}ys(f[k>>2]|0,f[d>>2]|0,(f[y>>2]<<2)+0|0)|0;h=N;return}s[T>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)>>2];s[M>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)+4>>2];s[x>>2]=+s[_>>2]*+s[128+((f[E>>2]|0)*12|0)+8>>2];s[O>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)>>2];s[L>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)+4>>2];s[P>>2]=+s[m>>2]*+s[128+((f[A>>2]|0)*12|0)+8>>2];s[U>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)+1<<2)>>2];s[B>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)<<2)>>2];s[j>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)-1<<2)>>2];s[D>>2]=+s[(f[d>>2]|0)+(0-(f[g>>2]|0)-2<<2)>>2];if((+s[_>>2]==+s[m>>2]?(f[v>>2]|0)==(f[g>>2]|0):0)?(f[E>>2]|0)==(f[A>>2]|0):0)f[p>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=(f[p>>2]|0))break;s[C>>2]=+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[g>>2]|0)+2<<2)>>2];s[R>>2]=+s[(f[S>>2]|0)+(f[I>>2]<<2)>>2]*+s[(f[S>>2]|0)+(f[I>>2]<<2)>>2];s[(f[k>>2]|0)+(f[I>>2]<<2)>>2]=+s[(f[d>>2]|0)+(f[I>>2]<<2)>>2]+(1-+s[R>>2])*+s[T>>2]*+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)<<2)>>2]+(1-+s[R>>2])*+s[M>>2]*(+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)+1<<2)>>2]+ +s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)-1<<2)>>2])+(1-+s[R>>2])*+s[x>>2]*(+s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)+2<<2)>>2]+ +s[(f[d>>2]|0)+((f[I>>2]|0)-(f[v>>2]|0)-2<<2)>>2])+ +s[R>>2]*+s[O>>2]*+s[B>>2]+ +s[R>>2]*+s[L>>2]*(+s[U>>2]+ +s[j>>2])+ +s[R>>2]*+s[P>>2]*(+s[C>>2]+ +s[D>>2]);s[D>>2]=+s[j>>2];s[j>>2]=+s[B>>2];s[B>>2]=+s[U>>2];s[U>>2]=+s[C>>2];f[I>>2]=(f[I>>2]|0)+1}if(!(+s[m>>2]==0)){Bn((f[k>>2]|0)+(f[I>>2]<<2)|0,(f[d>>2]|0)+(f[I>>2]<<2)|0,f[g>>2]|0,(f[y>>2]|0)-(f[I>>2]|0)|0,+s[O>>2],+s[L>>2],+s[P>>2]);h=N;return}if((f[d>>2]|0)==(f[k>>2]|0)){h=N;return}ys((f[k>>2]|0)+(f[p>>2]<<2)|0,(f[d>>2]|0)+(f[p>>2]<<2)|0,((f[y>>2]|0)-(f[p>>2]|0)<<2)+0|0)|0;h=N;return}function Bn(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;a=+a;o=+o;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+64|0;l=E+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;d=E+24|0;v=E+20|0;g=E+16|0;y=E+12|0;_=E+8|0;m=E+4|0;p=E;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;s[w>>2]=n;s[k>>2]=a;s[d>>2]=o;s[m>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)-2<<2)>>2];s[_>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)-1<<2)>>2];s[y>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)<<2)>>2];s[g>>2]=+s[(f[u>>2]|0)+(0-(f[c>>2]|0)+1<<2)>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;s[v>>2]=+s[(f[u>>2]|0)+((f[p>>2]|0)-(f[c>>2]|0)+2<<2)>>2];s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[u>>2]|0)+(f[p>>2]<<2)>>2]+ +s[w>>2]*+s[y>>2]+ +s[k>>2]*(+s[g>>2]+ +s[_>>2])+ +s[d>>2]*(+s[v>>2]+ +s[m>>2]);s[m>>2]=+s[_>>2];s[_>>2]=+s[y>>2];s[y>>2]=+s[g>>2];s[g>>2]=+s[v>>2];f[p>>2]=(f[p>>2]|0)+1}h=E;return}function jn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;b=w+4|0;c=w;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[(f[o>>2]|0)+8>>2]|0))break;f[c>>2]=(n[(f[(f[o>>2]|0)+32>>2]|0)+((f[b>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[o>>2]|0)+32>>2]|0)+(f[b>>2]<<1)>>1]|0)<>2];e=re(f[(f[o>>2]|0)+8>>2]|0,(f[s>>2]<<1)+(f[u>>2]|0)-1|0)|0;e=re((a[(f[(f[o>>2]|0)+92+12>>2]|0)+(e+(f[b>>2]|0))>>0]|0)+64|0,f[u>>2]|0)|0;e=(re(e,f[c>>2]|0)|0)>>2;f[(f[l>>2]|0)+(f[b>>2]<<2)>>2]=e;f[b>>2]=(f[b>>2]|0)+1}h=w;return}function Dn(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[i>>2]=e;if((f[i>>2]|0)>0|(f[i>>2]|0)<-7){f[r>>2]=25264;e=f[r>>2]|0;h=t;return e|0}else{f[r>>2]=f[164+(0-(f[i>>2]|0)<<2)>>2];e=f[r>>2]|0;h=t;return e|0}return 0}function Nn(){return 25415}function Fn(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=pr(48e3,960,0)|0;e=zn(f[t>>2]|0,f[i>>2]|0)|0;h=r;return e|0}function zn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;e=204+((re(f[a>>2]|0,f[(f[n>>2]|0)+4>>2]|0)|0)-1<<2)|0;f[i>>2]=e+(f[a>>2]<<10<<2)+((re((f[a>>2]|0)*3|0,f[(f[n>>2]|0)+8>>2]|0)|0)<<2);h=t;return f[i>>2]|0}function Yn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0;s=h;h=h+32|0;n=s+20|0;a=s+16|0;o=s+12|0;c=s+8|0;u=s+4|0;l=s;f[a>>2]=e;f[o>>2]=r;f[c>>2]=i;f[u>>2]=t;r=f[a>>2]|0;e=pr(48e3,960,0)|0;f[l>>2]=Hn(r,e,f[c>>2]|0,f[u>>2]|0)|0;if(f[l>>2]|0){f[n>>2]=f[l>>2];c=f[n>>2]|0;h=s;return c|0}else{c=Cn(f[o>>2]|0)|0;f[(f[a>>2]|0)+28>>2]=c;f[n>>2]=0;c=f[n>>2]|0;h=s;return c|0}return 0}function Hn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+20|0;a=u+16|0;o=u+12|0;l=u+8|0;s=u+4|0;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;if((f[l>>2]|0)<0|(f[l>>2]|0)>2){f[n>>2]=-1;e=f[n>>2]|0;h=u;return e|0}if((f[a>>2]|0)==0|(f[o>>2]|0)==0){f[n>>2]=-7;e=f[n>>2]|0;h=u;return e|0}else{e=f[a>>2]|0;vs(e|0,0,zn(f[o>>2]|0,f[l>>2]|0)|0)|0;f[f[a>>2]>>2]=f[o>>2];e=f[l>>2]|0;f[(f[a>>2]|0)+4>>2]=e;f[(f[a>>2]|0)+8>>2]=e;f[(f[a>>2]|0)+28>>2]=1;f[(f[a>>2]|0)+32>>2]=0;f[(f[a>>2]|0)+36>>2]=f[(f[f[a>>2]>>2]|0)+12>>2];f[(f[a>>2]|0)+48>>2]=1;f[(f[a>>2]|0)+72>>2]=f[s>>2];f[(f[a>>2]|0)+52>>2]=1;f[(f[a>>2]|0)+16>>2]=1;f[(f[a>>2]|0)+40>>2]=-1;f[(f[a>>2]|0)+44>>2]=0;f[(f[a>>2]|0)+12>>2]=0;f[(f[a>>2]|0)+24>>2]=5;f[(f[a>>2]|0)+60>>2]=24;qn(f[a>>2]|0,4028,u)|0;f[n>>2]=0;e=f[n>>2]|0;h=u;return e|0}return 0}function qn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;L=h;h=h+128|0;O=L+112|0;M=L+108|0;P=L+104|0;t=L+88|0;c=L+84|0;b=L+80|0;_=L+76|0;m=L+72|0;E=L+68|0;A=L+64|0;S=L+60|0;x=L+56|0;R=L+52|0;T=L+48|0;w=L+44|0;k=L+40|0;n=L+36|0;o=L+32|0;l=L+28|0;u=L+24|0;d=L+20|0;a=L+16|0;p=L+12|0;v=L+8|0;g=L+4|0;y=L;f[M>>2]=e;f[P>>2]=r;f[t>>2]=i;do{switch(f[P>>2]|0){case 4010:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[c>>2]=P;if((f[c>>2]|0)<0|(f[c>>2]|0)>10)t=41;else{f[(f[M>>2]|0)+24>>2]=f[c>>2];t=40}break}case 10010:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[b>>2]=P;if((f[b>>2]|0)>=0?(f[b>>2]|0)<(f[(f[f[M>>2]>>2]|0)+8>>2]|0):0){f[(f[M>>2]|0)+32>>2]=f[b>>2];t=40}else t=41;break}case 10012:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[_>>2]=P;if((f[_>>2]|0)>=1?(f[_>>2]|0)<=(f[(f[f[M>>2]>>2]|0)+8>>2]|0):0){f[(f[M>>2]|0)+36>>2]=f[_>>2];t=40}else t=41;break}case 10002:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[m>>2]=P;if((f[m>>2]|0)<0|(f[m>>2]|0)>2)t=41;else{f[(f[M>>2]|0)+20>>2]=(f[m>>2]|0)<=1&1;f[(f[M>>2]|0)+12>>2]=(f[m>>2]|0)==0&1;t=40}break}case 4014:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[E>>2]=P;if((f[E>>2]|0)<0|(f[E>>2]|0)>100)t=41;else{f[(f[M>>2]|0)+56>>2]=f[E>>2];t=40}break}case 4020:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[A>>2]=P;f[(f[M>>2]|0)+52>>2]=f[A>>2];t=40;break}case 4006:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[S>>2]=P;f[(f[M>>2]|0)+44>>2]=f[S>>2];t=40;break}case 4002:{i=(f[t>>2]|0)+(4-1)&~(4-1);P=f[i>>2]|0;f[t>>2]=i+4;f[x>>2]=P;if((f[x>>2]|0)<=500&(f[x>>2]|0)!=-1)t=41;else{if((f[x>>2]|0)<((f[(f[M>>2]|0)+4>>2]|0)*26e4|0))t=f[x>>2]|0;else t=(f[(f[M>>2]|0)+4>>2]|0)*26e4|0;f[x>>2]=t;f[(f[M>>2]|0)+40>>2]=f[x>>2];t=40}break}case 10008:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[R>>2]=P;if((f[R>>2]|0)<1|(f[R>>2]|0)>2)t=41;else{f[(f[M>>2]|0)+8>>2]=f[R>>2];t=40}break}case 4036:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[T>>2]=P;if((f[T>>2]|0)<8|(f[T>>2]|0)>24)t=41;else{f[(f[M>>2]|0)+60>>2]=f[T>>2];t=40}break}case 4037:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[w>>2]=P;f[f[w>>2]>>2]=f[(f[M>>2]|0)+60>>2];t=40;break}case 4040:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[k>>2]=P;f[(f[M>>2]|0)+64>>2]=f[k>>2];t=40;break}case 4028:{f[o>>2]=(f[M>>2]|0)+200+((re(f[(f[M>>2]|0)+4>>2]|0,(f[(f[f[M>>2]>>2]|0)+4>>2]|0)+1024|0)|0)<<2);f[l>>2]=(f[o>>2]|0)+((re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0)<<2);f[u>>2]=(f[l>>2]|0)+((re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0)<<2);vs((f[M>>2]|0)+76|0,0,(zn(f[f[M>>2]>>2]|0,f[(f[M>>2]|0)+4>>2]|0)|0)-((f[M>>2]|0)+76-(f[M>>2]|0))|0)|0;f[n>>2]=0;while(1){if((f[n>>2]|0)>=(re(f[(f[M>>2]|0)+4>>2]|0,f[(f[f[M>>2]>>2]|0)+8>>2]|0)|0))break;s[(f[u>>2]|0)+(f[n>>2]<<2)>>2]=-28;s[(f[l>>2]|0)+(f[n>>2]<<2)>>2]=-28;f[n>>2]=(f[n>>2]|0)+1}f[(f[M>>2]|0)+172>>2]=0;s[(f[M>>2]|0)+84>>2]=1;f[(f[M>>2]|0)+80>>2]=2;f[(f[M>>2]|0)+88>>2]=256;f[(f[M>>2]|0)+96>>2]=0;f[(f[M>>2]|0)+100>>2]=0;t=40;break}case 10016:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[d>>2]=P;f[(f[M>>2]|0)+48>>2]=f[d>>2];t=40;break}case 10022:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[a>>2]=P;if(f[a>>2]|0){gs((f[M>>2]|0)+120|0,f[a>>2]|0,28|0)|0;t=40}else t=40;break}case 10015:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[p>>2]=P;if(!(f[p>>2]|0))t=41;else{f[f[p>>2]>>2]=f[f[M>>2]>>2];t=40}break}case 4031:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[v>>2]=P;if(!(f[v>>2]|0))t=41;else{f[f[v>>2]>>2]=f[(f[M>>2]|0)+76>>2];t=40}break}case 10024:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[g>>2]=P;f[(f[M>>2]|0)+68>>2]=f[g>>2];t=40;break}case 10026:{x=(f[t>>2]|0)+(4-1)&~(4-1);P=f[x>>2]|0;f[t>>2]=x+4;f[y>>2]=P;f[(f[M>>2]|0)+192>>2]=f[y>>2];t=40;break}default:{f[O>>2]=-5;P=f[O>>2]|0;h=L;return P|0}}}while(0);if((t|0)==40){f[O>>2]=0;P=f[O>>2]|0;h=L;return P|0}else if((t|0)==41){f[O>>2]=-1;P=f[O>>2]|0;h=L;return P|0}return 0}function Wn(e,r,i,t,n,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;S=h;h=h+64|0;c=S+52|0;d=S+48|0;p=S+44|0;b=S+40|0;v=S+36|0;R=S+32|0;g=S+28|0;w=S+24|0;m=S+20|0;_=S+16|0;E=S+12|0;y=S+8|0;k=S+4|0;A=S;f[c>>2]=e;f[d>>2]=r;f[p>>2]=i;f[b>>2]=t;f[v>>2]=n;f[R>>2]=a;f[g>>2]=o;f[w>>2]=l;s[_>>2]=+s[f[R>>2]>>2];s[E>>2]=+s[f[g>>2]>>2];if(!(((f[v>>2]|0)==1?+s[(f[R>>2]|0)+4>>2]==0:0)^1|(f[w>>2]|0)!=0)){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[p>>2]|0))break;R=re(f[b>>2]|0,f[m>>2]|0)|0;s[k>>2]=+s[(f[c>>2]|0)+(R<<2)>>2]*32768;s[(f[d>>2]|0)+(f[m>>2]<<2)>>2]=+s[k>>2]-+s[E>>2];s[E>>2]=+s[_>>2]*+s[k>>2];f[m>>2]=(f[m>>2]|0)+1}s[f[g>>2]>>2]=+s[E>>2];h=S;return}f[y>>2]=(f[p>>2]|0)/(f[v>>2]|0)|0;if((f[v>>2]|0)!=1)vs(f[d>>2]|0,0,f[p>>2]<<2|0)|0;f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[y>>2]|0))break;k=re(f[b>>2]|0,f[m>>2]|0)|0;R=re(f[m>>2]|0,f[v>>2]|0)|0;s[(f[d>>2]|0)+(R<<2)>>2]=+s[(f[c>>2]|0)+(k<<2)>>2]*32768;f[m>>2]=(f[m>>2]|0)+1}e:do{if(f[w>>2]|0){f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[y>>2]|0))break e;R=re(f[m>>2]|0,f[v>>2]|0)|0;if(65536<+s[(f[d>>2]|0)+(R<<2)>>2])u=65536;else{R=re(f[m>>2]|0,f[v>>2]|0)|0;u=+s[(f[d>>2]|0)+(R<<2)>>2]}if(!(-65536>u)){R=re(f[m>>2]|0,f[v>>2]|0)|0;if(65536<+s[(f[d>>2]|0)+(R<<2)>>2])u=65536;else{R=re(f[m>>2]|0,f[v>>2]|0)|0;u=+s[(f[d>>2]|0)+(R<<2)>>2]}}else u=-65536;R=re(f[m>>2]|0,f[v>>2]|0)|0;s[(f[d>>2]|0)+(R<<2)>>2]=u;f[m>>2]=(f[m>>2]|0)+1}}}while(0);f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[p>>2]|0))break;s[A>>2]=+s[(f[d>>2]|0)+(f[m>>2]<<2)>>2];s[(f[d>>2]|0)+(f[m>>2]<<2)>>2]=+s[A>>2]-+s[E>>2];s[E>>2]=+s[_>>2]*+s[A>>2];f[m>>2]=(f[m>>2]|0)+1}s[f[g>>2]>>2]=+s[E>>2];h=S;return}function Zn(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,We=0,Ze=0,Ve=0,Je=0,Ge=0,Ke=0,rr=0,ir=0,fr=0,ar=0,or=0,lr=0,sr=0,ur=0,hr=0,cr=0,br=0,wr=0,kr=0,dr=0;dr=h;h=h+448|0;lr=dr+440|0;sr=dr+436|0;v=dr+432|0;l=dr+428|0;w=dr+424|0;ur=dr+420|0;hr=dr+416|0;Ke=dr+412|0;Je=dr+408|0;Ce=dr+404|0;xe=dr+400|0;k=dr+352|0;A=dr+348|0;ir=dr+344|0;fr=dr+340|0;ar=dr+336|0;We=dr+332|0;wr=dr+328|0;Ve=dr+324|0;Pe=dr+320|0;Ie=dr+316|0;W=dr+312|0;q=dr+308|0;Ee=dr+304|0;me=dr+300|0;or=dr+296|0;Ge=dr+292|0;Z=dr+288|0;De=dr+284|0;z=dr+280|0;Me=dr+276|0;Ye=dr+272|0;Fe=dr+268|0;Ne=dr+264|0;V=dr+260|0;G=dr+256|0;Se=dr+252|0;fe=dr+248|0;pe=dr+244|0;je=dr+240|0;ce=dr+236|0;He=dr+232|0;H=dr+228|0;Be=dr+224|0;Ue=dr+220|0;Ze=dr+216|0;F=dr+212|0;we=dr+208|0;se=dr+204|0;ke=dr+200|0;y=dr+196|0;oe=dr+192|0;ze=dr+188|0;rr=dr+184|0;E=dr+180|0;X=dr+176|0;D=dr+172|0;Oe=dr+168|0;kr=dr+164|0;ue=dr+160|0;be=dr+156|0;ne=dr+152|0;Re=dr+148|0;c=dr+144|0;b=dr+140|0;d=dr+136|0;p=dr+132|0;cr=dr+128|0;g=dr+124|0;_=dr+120|0;S=dr+116|0;m=dr+112|0;C=dr+108|0;O=dr+104|0;M=dr+100|0;I=dr+96|0;P=dr+92|0;R=dr+88|0;T=dr+84|0;x=dr+80|0;L=dr+76|0;U=dr+72|0;B=dr+68|0;j=dr+64|0;N=dr+60|0;ie=dr+56|0;ee=dr+52|0;K=dr+48|0;J=dr+44|0;Q=dr+40|0;$=dr+36|0;ge=dr+32|0;ye=dr+28|0;Ae=dr+24|0;ae=dr+20|0;le=dr+16|0;_e=dr+12|0;ve=dr+8|0;Te=dr+4|0;br=dr;f[sr>>2]=e;f[v>>2]=r;f[l>>2]=i;f[w>>2]=t;f[ur>>2]=a;f[hr>>2]=o;f[We>>2]=0;f[wr>>2]=0;f[Ve>>2]=f[(f[sr>>2]|0)+4>>2];f[Pe>>2]=f[(f[sr>>2]|0)+8>>2];f[Ye>>2]=15;s[Fe>>2]=0;f[Ne>>2]=0;f[He>>2]=0;f[Ue>>2]=0;f[Ze>>2]=0;f[F>>2]=0;f[se>>2]=0;f[kr>>2]=0;s[ue>>2]=0;s[be>>2]=0;s[ne>>2]=0;f[Re>>2]=51e4;f[ze>>2]=f[f[sr>>2]>>2];f[rr>>2]=f[(f[ze>>2]|0)+8>>2];f[E>>2]=f[(f[ze>>2]|0)+4>>2];f[X>>2]=f[(f[ze>>2]|0)+32>>2];f[or>>2]=f[(f[sr>>2]|0)+32>>2];f[Ge>>2]=f[(f[sr>>2]|0)+36>>2];s[we>>2]=0;if((f[ur>>2]|0)<2|(f[v>>2]|0)==0){f[lr>>2]=-1;kr=f[lr>>2]|0;h=dr;return kr|0}f[l>>2]=re(f[l>>2]|0,f[(f[sr>>2]|0)+28>>2]|0)|0;f[Ie>>2]=0;while(1){if((f[Ie>>2]|0)>(f[(f[ze>>2]|0)+36>>2]|0))break;if((f[(f[ze>>2]|0)+44>>2]<>2]|0)==(f[l>>2]|0))break;f[Ie>>2]=(f[Ie>>2]|0)+1}if((f[Ie>>2]|0)>(f[(f[ze>>2]|0)+36>>2]|0)){f[lr>>2]=-1;kr=f[lr>>2]|0;h=dr;return kr|0}f[W>>2]=1<>2];f[Ce>>2]=re(f[W>>2]|0,f[(f[ze>>2]|0)+44>>2]|0)|0;f[A>>2]=(f[sr>>2]|0)+200+((re(f[Ve>>2]|0,f[E>>2]|0)|0)<<2);f[ir>>2]=(f[sr>>2]|0)+200+((re(f[Ve>>2]|0,(f[E>>2]|0)+1024|0)|0)<<2);f[fr>>2]=(f[ir>>2]|0)+((re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2);f[ar>>2]=(f[fr>>2]|0)+((re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2);if(!(f[hr>>2]|0)){f[ce>>2]=1;f[Ee>>2]=0}else{f[ce>>2]=Vn(f[hr>>2]|0)|0;f[Ee>>2]=(f[ce>>2]|0)+4>>3}f[ur>>2]=(f[ur>>2]|0)<1275?f[ur>>2]|0:1275;f[me>>2]=(f[ur>>2]|0)-(f[Ee>>2]|0);if(f[(f[sr>>2]|0)+44>>2]|0?(f[(f[sr>>2]|0)+40>>2]|0)!=-1:0){f[c>>2]=f[f[ze>>2]>>2]>>3;b=re(f[(f[sr>>2]|0)+40>>2]|0,f[l>>2]|0)|0;f[Se>>2]=(b+(f[c>>2]>>1)|0)/(f[c>>2]|0)|0;f[V>>2]=f[Se>>2]>>6}else{f[Se>>2]=0;f[b>>2]=re(f[(f[sr>>2]|0)+40>>2]|0,f[l>>2]|0)|0;if((f[ce>>2]|0)>1)f[b>>2]=(f[b>>2]|0)+(f[ce>>2]|0);if((f[(f[sr>>2]|0)+40>>2]|0)!=-1){if((f[ur>>2]|0)<((((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0))l=f[ur>>2]|0;else l=(((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;do{if(2<=(l|0))if((f[ur>>2]|0)<((((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0)){l=f[ur>>2]|0;break}else{l=(((f[b>>2]|0)+(f[f[ze>>2]>>2]<<2)|0)/(f[f[ze>>2]>>2]<<3|0)|0)-(((f[(f[sr>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;break}else l=2}while(0);f[ur>>2]=l}f[V>>2]=f[ur>>2]}if((f[(f[sr>>2]|0)+40>>2]|0)!=-1)f[Re>>2]=(f[(f[sr>>2]|0)+40>>2]|0)-(re(((f[Pe>>2]|0)*40|0)+20|0,(400>>f[Ie>>2])-50|0)|0);if(!(f[hr>>2]|0)){qe(k,f[w>>2]|0,f[ur>>2]|0);f[hr>>2]=k}if((f[Se>>2]|0)>0?f[(f[sr>>2]|0)+52>>2]|0:0){f[d>>2]=f[Se>>2];if((((f[ce>>2]|0)==1?2:0)|0)>((f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6|0))l=(f[ce>>2]|0)==1?2:0;else l=(f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6;do{if((l|0)<(f[me>>2]|0))if((((f[ce>>2]|0)==1?2:0)|0)>((f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6|0)){l=(f[ce>>2]|0)==1?2:0;break}else{l=(f[Se>>2]|0)+(f[d>>2]|0)-(f[(f[sr>>2]|0)+164>>2]|0)>>6;break}else l=f[me>>2]|0}while(0);f[p>>2]=l;if((f[p>>2]|0)<(f[me>>2]|0)){f[ur>>2]=(f[Ee>>2]|0)+(f[p>>2]|0);f[me>>2]=f[p>>2];tr(f[hr>>2]|0,f[ur>>2]|0)}}f[fe>>2]=f[ur>>2]<<3;f[Z>>2]=f[Ge>>2];if((f[Z>>2]|0)>(f[(f[ze>>2]|0)+12>>2]|0))f[Z>>2]=f[(f[ze>>2]|0)+12>>2];p=re(f[Ve>>2]|0,(f[Ce>>2]|0)+(f[E>>2]|0)|0)|0;f[cr>>2]=he()|0;i=h;h=h+((1*(p<<2)|0)+15&-16)|0;u=+s[(f[sr>>2]|0)+180>>2];p=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;if(u>+Jn(f[v>>2]|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0))u=+s[(f[sr>>2]|0)+180>>2];else{p=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;u=+Jn(f[v>>2]|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0)}s[y>>2]=u;d=re(f[Pe>>2]|0,(f[Ce>>2]|0)-(f[E>>2]|0)|0)|0;p=re(f[Pe>>2]|0,f[E>>2]|0)|0;u=+Jn((f[v>>2]|0)+(((d|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0)<<2)|0,(p|0)/(f[(f[sr>>2]|0)+28>>2]|0)|0);s[(f[sr>>2]|0)+180>>2]=u;if(+s[y>>2]>+s[(f[sr>>2]|0)+180>>2])u=+s[y>>2];else u=+s[(f[sr>>2]|0)+180>>2];s[y>>2]=u;f[Ze>>2]=+s[y>>2]<=1/+(1<>2]|0)+60>>2]|0)&1;if((f[ce>>2]|0)==1)Xe(f[hr>>2]|0,f[Ze>>2]|0,15);else f[Ze>>2]=0;if(f[Ze>>2]|0){if((f[Se>>2]|0)>0){p=(f[ur>>2]|0)<((f[Ee>>2]|0)+2|0)?f[ur>>2]|0:(f[Ee>>2]|0)+2|0;f[ur>>2]=p;f[V>>2]=p;f[fe>>2]=f[ur>>2]<<3;f[me>>2]=2;tr(f[hr>>2]|0,f[ur>>2]|0)}f[ce>>2]=f[ur>>2]<<3;d=f[ce>>2]|0;d=d-(Vn(f[hr>>2]|0)|0)|0;p=(f[hr>>2]|0)+20|0;f[p>>2]=(f[p>>2]|0)+d}f[Je>>2]=0;do{f[g>>2]=0;f[g>>2]=(f[(f[sr>>2]|0)+16>>2]|0?+s[y>>2]>65536:0)&1;p=i+((re(f[Je>>2]|0,(f[Ce>>2]|0)+(f[E>>2]|0)|0)|0)<<2)|0;Wn((f[v>>2]|0)+(f[Je>>2]<<2)|0,p+(f[E>>2]<<2)|0,f[Ce>>2]|0,f[Ve>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,(f[ze>>2]|0)+16|0,(f[sr>>2]|0)+148+(f[Je>>2]<<2)|0,f[g>>2]|0);p=(f[Je>>2]|0)+1|0;f[Je>>2]=p}while((p|0)<(f[Ve>>2]|0));if((f[me>>2]|0)>3?(f[(f[sr>>2]|0)+68>>2]|0)!=0:0)if((f[or>>2]|0)!=0|(f[Ze>>2]|0)!=0)l=0;else Y=63;else if(((f[or>>2]|0)==0?(f[me>>2]|0)>((f[Pe>>2]|0)*12|0):0)^1|(f[Ze>>2]|0)!=0)l=0;else Y=63;if((Y|0)==63)if(!(f[(f[sr>>2]|0)+20>>2]|0)?(f[(f[sr>>2]|0)+24>>2]|0)>=5:0){if((f[Ie>>2]|0)!=3?(f[(f[sr>>2]|0)+116>>2]|0)!=0:0)l=(f[(f[sr>>2]|0)+64>>2]|0)==5010;else l=0;l=l^1}else l=0;f[_>>2]=l&1;f[He>>2]=f[(f[sr>>2]|0)+100>>2];f[H>>2]=Gn(f[sr>>2]|0,i,f[A>>2]|0,f[Ve>>2]|0,f[Ce>>2]|0,f[He>>2]|0,Ye,Fe,S,f[_>>2]|0,f[me>>2]|0)|0;if(!(!(+s[Fe>>2]>.4000000059604645)?!(+s[(f[sr>>2]|0)+108>>2]>.4000000059604645):0))Y=70;do{if((Y|0)==70){if(f[(f[sr>>2]|0)+120>>2]|0?!(+s[(f[sr>>2]|0)+120+4>>2]>.3):0)break;if(!(+(f[Ye>>2]|0)>+(f[(f[sr>>2]|0)+104>>2]|0)*1.26)?!(+(f[Ye>>2]|0)<+(f[(f[sr>>2]|0)+104>>2]|0)*.79):0)break;f[se>>2]=1}}while(0);if(!(f[H>>2]|0)){if((f[or>>2]|0)==0?((f[ce>>2]|0)+16|0)<=(f[fe>>2]|0):0)Xe(f[hr>>2]|0,0,1)}else{Xe(f[hr>>2]|0,1,1);f[Ye>>2]=(f[Ye>>2]|0)+1;f[m>>2]=32-(te(f[Ye>>2]|0)|0)-5;Qe(f[hr>>2]|0,f[m>>2]|0,6);er(f[hr>>2]|0,(f[Ye>>2]|0)-(16<>2])|0,4+(f[m>>2]|0)|0);f[Ye>>2]=(f[Ye>>2]|0)-1;er(f[hr>>2]|0,f[S>>2]|0,3);$e(f[hr>>2]|0,f[He>>2]|0,25429,2)}f[wr>>2]=0;f[We>>2]=0;if((f[(f[sr>>2]|0)+24>>2]|0)>=1?(f[(f[sr>>2]|0)+68>>2]|0)==0:0)f[wr>>2]=Kn(i,(f[Ce>>2]|0)+(f[E>>2]|0)|0,f[Ve>>2]|0,we,F)|0;if((f[Ie>>2]|0)>0?(S=(Vn(f[hr>>2]|0)|0)+3|0,(S|0)<=(f[fe>>2]|0)):0){if(f[wr>>2]|0)f[We>>2]=f[W>>2]}else{f[wr>>2]=0;f[kr>>2]=1}S=(re(f[Ve>>2]|0,f[Ce>>2]|0)|0)<<2;t=h;h=h+((1*S|0)+15&-16)|0;S=(re(f[rr>>2]|0,f[Ve>>2]|0)|0)<<2;k=h;h=h+((1*S|0)+15&-16)|0;S=(re(f[rr>>2]|0,f[Ve>>2]|0)|0)<<2;w=h;h=h+((1*S|0)+15&-16)|0;if(f[We>>2]|0)l=(f[(f[sr>>2]|0)+24>>2]|0)>=8;else l=0;f[D>>2]=l&1;S=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;o=h;h=h+((1*S|0)+15&-16)|0;e:do{if(f[D>>2]|0){Xn(f[ze>>2]|0,0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,o,f[Pe>>2]|0);f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break e;S=o+(f[Ke>>2]<<2)|0;s[S>>2]=+s[S>>2]+ +(f[Ie>>2]|0)*.5;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);Xn(f[ze>>2]|0,f[We>>2]|0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);if((f[Ve>>2]|0)==2&(f[Pe>>2]|0)==1)f[F>>2]=0;on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);e:do{if(f[(f[sr>>2]|0)+68>>2]|0){f[Ke>>2]=2;while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break e;if(+s[k+(f[Ke>>2]<<2)>>2]<+s[k>>2]*9999999747378752e-20)u=+s[k+(f[Ke>>2]<<2)>>2];else u=+s[k>>2]*9999999747378752e-20;s[k+(f[Ke>>2]<<2)>>2]=u;if(+s[k+(f[Ke>>2]<<2)>>2]>1.0000000036274937e-15)u=+s[k+(f[Ke>>2]<<2)>>2];else u=1.0000000036274937e-15;s[k+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,w,f[Pe>>2]|0);S=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;c=h;h=h+((1*S|0)+15&-16)|0;vs(c|0,0,f[Ge>>2]<<2|0)|0;do{if(!(f[or>>2]|0)){if(!(f[(f[sr>>2]|0)+192>>2]|0))break;if(f[(f[sr>>2]|0)+68>>2]|0)break;s[I>>2]=0;s[P>>2]=0;f[R>>2]=0;if(2>(f[(f[sr>>2]|0)+92>>2]|0))l=2;else l=f[(f[sr>>2]|0)+92>>2]|0;f[C>>2]=l;f[Je>>2]=0;while(1){if((f[Je>>2]|0)>=(f[Pe>>2]|0))break;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break;S=re(f[rr>>2]|0,f[Je>>2]|0)|0;if(+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]<.25){S=re(f[rr>>2]|0,f[Je>>2]|0)|0;u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]}else u=.25;do{if(u>-2){S=re(f[rr>>2]|0,f[Je>>2]|0)|0;if(!(+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]<.25)){u=.25;break}S=re(f[rr>>2]|0,f[Je>>2]|0)|0;u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(S+(f[Ke>>2]|0)<<2)>>2]}else u=-2}while(0);s[T>>2]=u;if(+s[T>>2]>0)s[T>>2]=+s[T>>2]*.5;s[I>>2]=+s[I>>2]+ +s[T>>2]*+((n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0)|0);f[R>>2]=(f[R>>2]|0)+((n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0));s[P>>2]=+s[P>>2]+ +s[T>>2]*+(1+(f[Ke>>2]<<1)-(f[C>>2]|0)|0);f[Ke>>2]=(f[Ke>>2]|0)+1}f[Je>>2]=(f[Je>>2]|0)+1}s[I>>2]=+s[I>>2]/+(f[R>>2]|0);s[I>>2]=+s[I>>2]+.20000000298023224;T=re(f[Pe>>2]|0,(f[C>>2]|0)-1|0)|0;T=re(T,(f[C>>2]|0)+1|0)|0;s[P>>2]=+s[P>>2]*6/+(re(T,f[C>>2]|0)|0);s[P>>2]=+s[P>>2]*.5;if((+s[P>>2]<.03099999949336052?+s[P>>2]:.03099999949336052)>-.03099999949336052)u=+s[P>>2]<.03099999949336052?+s[P>>2]:.03099999949336052;else u=-.03099999949336052;s[P>>2]=u;f[O>>2]=0;while(1){if((n[(f[X>>2]|0)+((f[O>>2]|0)+1<<1)>>1]|0)>=((n[(f[X>>2]|0)+(f[C>>2]<<1)>>1]|0)/2|0|0))break;f[O>>2]=(f[O>>2]|0)+1}f[M>>2]=0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break;s[x>>2]=+s[I>>2]+ +s[P>>2]*+((f[Ke>>2]|0)-(f[O>>2]|0)|0);u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(f[Ke>>2]<<2)>>2];if((f[Pe>>2]|0)==2){if(u>+s[(f[(f[sr>>2]|0)+192>>2]|0)+((f[rr>>2]|0)+(f[Ke>>2]|0)<<2)>>2])u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+(f[Ke>>2]<<2)>>2];else u=+s[(f[(f[sr>>2]|0)+192>>2]|0)+((f[rr>>2]|0)+(f[Ke>>2]|0)<<2)>>2];s[L>>2]=u}else s[L>>2]=u;s[L>>2]=+s[L>>2]<0?+s[L>>2]:0;s[L>>2]=+s[L>>2]-+s[x>>2];if(+s[L>>2]>.25){s[c+(f[Ke>>2]<<2)>>2]=+s[L>>2]-.25;f[M>>2]=(f[M>>2]|0)+1}f[Ke>>2]=(f[Ke>>2]|0)+1}e:do{if((f[M>>2]|0)>=3){s[I>>2]=+s[I>>2]+.25;if(+s[I>>2]>0){s[I>>2]=0;s[P>>2]=0;vs(c|0,0,f[C>>2]<<2|0)|0;break}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[C>>2]|0))break e;if(0>+s[c+(f[Ke>>2]<<2)>>2]-.25)u=0;else u=+s[c+(f[Ke>>2]<<2)>>2]-.25;s[c+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);s[I>>2]=+s[I>>2]+.20000000298023224;s[ne>>2]=+s[P>>2]*64;s[ue>>2]=+s[I>>2]}}while(0);if(!(f[(f[sr>>2]|0)+68>>2]|0)){s[U>>2]=-10;s[B>>2]=0;if(f[We>>2]|0)u=+(f[Ie>>2]|0)*.5;else u=0;s[j>>2]=u;f[Ke>>2]=f[or>>2];while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;if(+s[U>>2]-1>+s[w+(f[Ke>>2]<<2)>>2]-+s[j>>2])u=+s[U>>2]-1;else u=+s[w+(f[Ke>>2]<<2)>>2]-+s[j>>2];s[U>>2]=u;if((f[Pe>>2]|0)==2){if(+s[U>>2]>+s[w+((f[Ke>>2]|0)+(f[rr>>2]|0)<<2)>>2]-+s[j>>2])u=+s[U>>2];else u=+s[w+((f[Ke>>2]|0)+(f[rr>>2]|0)<<2)>>2]-+s[j>>2];s[U>>2]=u}s[B>>2]=+s[B>>2]+ +s[U>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}s[B>>2]=+s[B>>2]/+((f[Ge>>2]|0)-(f[or>>2]|0)|0);s[be>>2]=+s[B>>2]-+s[(f[sr>>2]|0)+196>>2];if(3<(-1.5>+s[be>>2]?-1.5:+s[be>>2]))u=3;else u=-1.5>+s[be>>2]?-1.5:+s[be>>2];s[be>>2]=u;j=(f[sr>>2]|0)+196|0;s[j>>2]=+s[j>>2]+ +s[be>>2]*.019999999552965164}if(!(f[D>>2]|0)){D=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;gs(o|0,w|0,D+0|0)|0}do{if((f[Ie>>2]|0)>0){D=(Vn(f[hr>>2]|0)|0)+3|0;if(f[wr>>2]|0?1:(D|0)>(f[fe>>2]|0))break;if((f[(f[sr>>2]|0)+24>>2]|0)<5)break;if(f[(f[sr>>2]|0)+68>>2]|0)break;if(!($n(w,f[ir>>2]|0,f[rr>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Pe>>2]|0)|0))break;f[wr>>2]=1;f[We>>2]=f[W>>2];Xn(f[ze>>2]|0,f[We>>2]|0,i,t,f[Pe>>2]|0,f[Ve>>2]|0,f[Ie>>2]|0,f[(f[sr>>2]|0)+28>>2]|0,f[(f[sr>>2]|0)+72>>2]|0);on(f[ze>>2]|0,t,k,f[Z>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0);qr(f[ze>>2]|0,f[Z>>2]|0,f[Ge>>2]|0,k,w,f[Pe>>2]|0);f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break;D=o+(f[Ke>>2]<<2)|0;s[D>>2]=+s[D>>2]+ +(f[Ie>>2]|0)*.5;f[Ke>>2]=(f[Ke>>2]|0)+1}s[we>>2]=.20000000298023224}}while(0);do{if((f[Ie>>2]|0)>0){D=(Vn(f[hr>>2]|0)|0)+3|0;if((D|0)>(f[fe>>2]|0))break;Xe(f[hr>>2]|0,f[wr>>2]|0,3)}}while(0);e=(re(f[Pe>>2]|0,f[Ce>>2]|0)|0)<<2;b=h;h=h+((1*e|0)+15&-16)|0;sn(f[ze>>2]|0,t,b,k,f[Z>>2]|0,f[Pe>>2]|0,f[W>>2]|0);e=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;e:do{if((f[or>>2]|0)==0?(f[V>>2]|0)>=((f[Pe>>2]|0)*15|0):0){if((f[(f[sr>>2]|0)+24>>2]|0)<2){Y=192;break}if(f[(f[sr>>2]|0)+68>>2]|0){Y=192;break}do{if((f[V>>2]|0)>=40){if((f[V>>2]|0)<60){f[N>>2]=6;break}if((f[V>>2]|0)<100){f[N>>2]=4;break}else{f[N>>2]=3;break}}else f[N>>2]=12}while(0);f[N>>2]=f[N>>2]<<1;f[q>>2]=Qn(f[ze>>2]|0,f[Z>>2]|0,f[wr>>2]|0,e,f[N>>2]|0,b,f[Ce>>2]|0,f[Ie>>2]|0,z,+s[we>>2],f[F>>2]|0)|0;f[Ke>>2]=f[Z>>2];while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break e;f[e+(f[Ke>>2]<<2)>>2]=f[e+((f[Z>>2]|0)-1<<2)>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}}else Y=192}while(0);if((Y|0)==192){f[z>>2]=0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;f[e+(f[Ke>>2]<<2)>>2]=f[wr>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}f[q>>2]=0}Y=(re(f[Pe>>2]|0,f[rr>>2]|0)|0)<<2;r=h;h=h+((1*Y|0)+15&-16)|0;Ir(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Z>>2]|0,w,f[ir>>2]|0,f[fe>>2]|0,r,f[hr>>2]|0,f[Pe>>2]|0,f[Ie>>2]|0,f[me>>2]|0,f[(f[sr>>2]|0)+12>>2]|0,(f[sr>>2]|0)+84|0,(f[(f[sr>>2]|0)+24>>2]|0)>=4&1,f[(f[sr>>2]|0)+56>>2]|0,f[(f[sr>>2]|0)+68>>2]|0);rf(f[or>>2]|0,f[Ge>>2]|0,f[wr>>2]|0,e,f[Ie>>2]|0,f[q>>2]|0,f[hr>>2]|0);q=(Vn(f[hr>>2]|0)|0)+4|0;if((q|0)<=(f[fe>>2]|0)){e:do{if(!(f[(f[sr>>2]|0)+68>>2]|0)){do{if(!(f[We>>2]|0)){if((f[(f[sr>>2]|0)+24>>2]|0)<3)break;if(f[or>>2]|0?1:(f[me>>2]|0)<((f[Pe>>2]|0)*10|0))break;if(f[H>>2]|0)l=(f[We>>2]|0)!=0^1;else l=0;Z=bn(f[ze>>2]|0,b,(f[sr>>2]|0)+88|0,f[(f[sr>>2]|0)+80>>2]|0,(f[sr>>2]|0)+96|0,(f[sr>>2]|0)+100|0,l&1,f[Z>>2]|0,f[Pe>>2]|0,f[W>>2]|0)|0;f[(f[sr>>2]|0)+80>>2]=Z;break e}}while(0);l=(f[sr>>2]|0)+80|0;if(!(f[(f[sr>>2]|0)+24>>2]|0)){f[l>>2]=0;break}else{f[l>>2]=2;break}}else{f[(f[sr>>2]|0)+100>>2]=0;f[(f[sr>>2]|0)+80>>2]=2}}while(0);$e(f[hr>>2]|0,f[(f[sr>>2]|0)+80>>2]|0,25560,5)}a=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;s[oe>>2]=+tf(w,o,f[rr>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[Pe>>2]|0,a,f[(f[sr>>2]|0)+60>>2]|0,f[(f[ze>>2]|0)+56>>2]|0,f[wr>>2]|0,f[(f[sr>>2]|0)+44>>2]|0,f[(f[sr>>2]|0)+52>>2]|0,f[X>>2]|0,f[Ie>>2]|0,f[V>>2]|0,ke,f[(f[sr>>2]|0)+68>>2]|0,c);if(f[(f[sr>>2]|0)+68>>2]|0){if(8<((f[V>>2]|0)/3|0|0))l=8;else l=(f[V>>2]|0)/3|0;f[a>>2]=l}t=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;jn(f[ze>>2]|0,t,f[Ie>>2]|0,f[Pe>>2]|0);f[G>>2]=6;f[fe>>2]=f[fe>>2]<<3;f[pe>>2]=0;f[ce>>2]=Le(f[hr>>2]|0)|0;f[Ke>>2]=f[or>>2];while(1){l=f[Pe>>2]|0;if((f[Ke>>2]|0)>=(f[Ge>>2]|0))break;l=re(l,(n[(f[X>>2]|0)+((f[Ke>>2]|0)+1<<1)>>1]|0)-(n[(f[X>>2]|0)+(f[Ke>>2]<<1)>>1]|0)|0)|0;f[ie>>2]=l<>2];l=f[ie>>2]|0;if((f[ie>>2]<<3|0)<((48>(f[ie>>2]|0)?48:f[ie>>2]|0)|0))l=l<<3;else l=48>(l|0)?48:f[ie>>2]|0;f[ee>>2]=l;f[K>>2]=f[G>>2];f[J>>2]=0;f[Q>>2]=0;while(1){if(((f[ce>>2]|0)+(f[K>>2]<<3)|0)>=((f[fe>>2]|0)-(f[pe>>2]|0)|0))break;if((f[J>>2]|0)>=(f[t+(f[Ke>>2]<<2)>>2]|0))break;f[$>>2]=(f[Q>>2]|0)<(f[a+(f[Ke>>2]<<2)>>2]|0)&1;Xe(f[hr>>2]|0,f[$>>2]|0,f[K>>2]|0);f[ce>>2]=Le(f[hr>>2]|0)|0;if(!(f[$>>2]|0))break;f[J>>2]=(f[J>>2]|0)+(f[ee>>2]|0);f[pe>>2]=(f[pe>>2]|0)+(f[ee>>2]|0);f[K>>2]=1;f[Q>>2]=(f[Q>>2]|0)+1}if(f[Q>>2]|0)f[G>>2]=2>((f[G>>2]|0)-1|0)?2:(f[G>>2]|0)-1|0;f[a+(f[Ke>>2]<<2)>>2]=f[J>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}if((l|0)==2){if(f[Ie>>2]|0)f[Ne>>2]=af(f[ze>>2]|0,b,f[Ie>>2]|0,f[Ce>>2]|0)|0;ie=fn(+((f[Re>>2]|0)/1e3|0|0),196,280,21,f[(f[sr>>2]|0)+188>>2]|0)|0;f[(f[sr>>2]|0)+188>>2]=ie;if((f[or>>2]|0)>(f[(f[sr>>2]|0)+188>>2]|0))l=f[or>>2]|0;else l=f[(f[sr>>2]|0)+188>>2]|0;do{if((f[Ge>>2]|0)>=(l|0))if((f[or>>2]|0)>(f[(f[sr>>2]|0)+188>>2]|0)){l=f[or>>2]|0;break}else{l=f[(f[sr>>2]|0)+188>>2]|0;break}else l=f[Ge>>2]|0}while(0);f[(f[sr>>2]|0)+188>>2]=l}f[Me>>2]=5;if(((f[ce>>2]|0)+48|0)<=((f[fe>>2]|0)-(f[pe>>2]|0)|0)){if(f[(f[sr>>2]|0)+68>>2]|0)f[Me>>2]=5;else f[Me>>2]=of(f[ze>>2]|0,b,w,f[Ge>>2]|0,f[Ie>>2]|0,f[Pe>>2]|0,f[Ce>>2]|0,(f[sr>>2]|0)+120|0,(f[sr>>2]|0)+184|0,+s[we>>2],f[(f[sr>>2]|0)+188>>2]|0,+s[ne>>2],f[(f[sr>>2]|0)+72>>2]|0)|0;$e(f[hr>>2]|0,f[Me>>2]|0,25564,7);f[ce>>2]=Le(f[hr>>2]|0)|0}if((f[Se>>2]|0)>0){f[_e>>2]=(f[(f[ze>>2]|0)+36>>2]|0)-(f[Ie>>2]|0);if((f[ur>>2]|0)<(1275>>3-(f[Ie>>2]|0)|0))l=f[ur>>2]|0;else l=1275>>3-(f[Ie>>2]|0);f[ur>>2]=l;f[ae>>2]=(f[Se>>2]|0)-(((f[Pe>>2]|0)*40|0)+20<<3);if(f[(f[sr>>2]|0)+52>>2]|0)f[ae>>2]=(f[ae>>2]|0)+(f[(f[sr>>2]|0)+172>>2]>>f[_e>>2]);f[Ae>>2]=sf(f[ze>>2]|0,(f[sr>>2]|0)+120|0,f[ae>>2]|0,f[Ie>>2]|0,f[Re>>2]|0,f[(f[sr>>2]|0)+92>>2]|0,f[Pe>>2]|0,f[(f[sr>>2]|0)+188>>2]|0,f[(f[sr>>2]|0)+52>>2]|0,+s[(f[sr>>2]|0)+184>>2],f[ke>>2]|0,+s[we>>2],f[se>>2]|0,+s[oe>>2],f[(f[sr>>2]|0)+64>>2]|0,f[(f[sr>>2]|0)+68>>2]|0,(f[(f[sr>>2]|0)+192>>2]|0)!=0&1,+s[ue>>2],+s[be>>2])|0;f[Ae>>2]=(f[Ae>>2]|0)+(f[ce>>2]|0);f[le>>2]=((f[ce>>2]|0)+(f[pe>>2]|0)+64-1>>6)+2-(f[Ee>>2]|0);f[me>>2]=(f[Ae>>2]|0)+32>>6;f[me>>2]=(f[le>>2]|0)>(f[me>>2]|0)?f[le>>2]|0:f[me>>2]|0;if((f[ur>>2]|0)<((f[me>>2]|0)+(f[Ee>>2]|0)|0))l=f[ur>>2]|0;else l=(f[me>>2]|0)+(f[Ee>>2]|0)|0;f[me>>2]=l-(f[Ee>>2]|0);f[ye>>2]=(f[Ae>>2]|0)-(f[Se>>2]|0);f[Ae>>2]=f[me>>2]<<6;if(f[Ze>>2]|0){f[me>>2]=2;f[Ae>>2]=128;f[ye>>2]=0}if((f[(f[sr>>2]|0)+176>>2]|0)<970){pe=(f[sr>>2]|0)+176|0;f[pe>>2]=(f[pe>>2]|0)+1;s[ge>>2]=1/+((f[(f[sr>>2]|0)+176>>2]|0)+20|0)}else s[ge>>2]=.0010000000474974513;if(f[(f[sr>>2]|0)+52>>2]|0){pe=(f[sr>>2]|0)+164|0;f[pe>>2]=(f[pe>>2]|0)+((f[Ae>>2]|0)-(f[Se>>2]|0))}if(f[(f[sr>>2]|0)+52>>2]|0){Ae=re(f[ye>>2]|0,1<>2])|0;Se=(f[sr>>2]|0)+168|0;f[Se>>2]=(f[Se>>2]|0)+~~(+s[ge>>2]*+(Ae-(f[(f[sr>>2]|0)+172>>2]|0)-(f[(f[sr>>2]|0)+168>>2]|0)|0));f[(f[sr>>2]|0)+172>>2]=0-(f[(f[sr>>2]|0)+168>>2]|0)}do{if(f[(f[sr>>2]|0)+52>>2]|0){if((f[(f[sr>>2]|0)+164>>2]|0)>=0)break;f[ve>>2]=(0-(f[(f[sr>>2]|0)+164>>2]|0)|0)/64|0;f[me>>2]=(f[me>>2]|0)+(f[Ze>>2]|0?0:f[ve>>2]|0);f[(f[sr>>2]|0)+164>>2]=0}}while(0);if((f[ur>>2]|0)<((f[me>>2]|0)+(f[Ee>>2]|0)|0))l=f[ur>>2]|0;else l=(f[me>>2]|0)+(f[Ee>>2]|0)|0;f[ur>>2]=l;tr(f[hr>>2]|0,f[ur>>2]|0)}c=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;o=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[rr>>2]<<2)|0)+15&-16)|0;Se=f[ur>>2]<<3<<3;f[xe>>2]=Se-(Le(f[hr>>2]|0)|0)-1;if((f[wr>>2]|0)!=0&(f[Ie>>2]|0)>=2)l=(f[xe>>2]|0)>=((f[Ie>>2]|0)+2<<3|0);else l=0;f[Be>>2]=l?8:0;f[xe>>2]=(f[xe>>2]|0)-(f[Be>>2]|0);f[Oe>>2]=(f[Ge>>2]|0)-1;if(f[(f[sr>>2]|0)+120>>2]|0){do{if((f[Re>>2]|0)>=((f[Pe>>2]|0)*32e3|0)){if((f[Re>>2]|0)<((f[Pe>>2]|0)*48e3|0)){f[Te>>2]=16;break}if((f[Re>>2]|0)<((f[Pe>>2]|0)*6e4|0)){f[Te>>2]=18;break}if((f[Re>>2]|0)<((f[Pe>>2]|0)*8e4|0)){f[Te>>2]=19;break}else{f[Te>>2]=20;break}}else f[Te>>2]=13}while(0);if((f[(f[sr>>2]|0)+120+24>>2]|0)>(f[Te>>2]|0))l=f[(f[sr>>2]|0)+120+24>>2]|0;else l=f[Te>>2]|0;f[Oe>>2]=l}if(f[(f[sr>>2]|0)+68>>2]|0)f[Oe>>2]=1;f[De>>2]=Wr(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,a,t,f[Me>>2]|0,(f[sr>>2]|0)+188|0,Ne,f[xe>>2]|0,je,o,c,i,f[Pe>>2]|0,f[Ie>>2]|0,f[hr>>2]|0,1,f[(f[sr>>2]|0)+92>>2]|0,f[Oe>>2]|0)|0;if(f[(f[sr>>2]|0)+92>>2]|0){if(((f[(f[sr>>2]|0)+92>>2]|0)-1|0)>(f[De>>2]|0))l=(f[(f[sr>>2]|0)+92>>2]|0)-1|0;else l=f[De>>2]|0;t=f[(f[sr>>2]|0)+92>>2]|0;do{if(((f[(f[sr>>2]|0)+92>>2]|0)+1|0)>=(l|0))if((t-1|0)>(f[De>>2]|0)){l=(f[(f[sr>>2]|0)+92>>2]|0)-1|0;break}else{l=f[De>>2]|0;break}else l=t+1|0}while(0);f[(f[sr>>2]|0)+92>>2]=l}else f[(f[sr>>2]|0)+92>>2]=f[De>>2];Nr(f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,f[ir>>2]|0,r,c,f[hr>>2]|0,f[Pe>>2]|0);xe=re(f[Pe>>2]|0,f[rr>>2]|0)|0;Oe=h;h=h+((1*xe|0)+15&-16)|0;kn(1,f[ze>>2]|0,f[or>>2]|0,f[Ge>>2]|0,b,(f[Pe>>2]|0)==2?b+(f[Ce>>2]<<2)|0:0,Oe,k,o,f[We>>2]|0,f[(f[sr>>2]|0)+80>>2]|0,f[Ne>>2]|0,f[(f[sr>>2]|0)+188>>2]|0,e,(f[ur>>2]<<6)-(f[Be>>2]|0)|0,f[je>>2]|0,f[hr>>2]|0,f[Ie>>2]|0,f[De>>2]|0,(f[sr>>2]|0)+76|0,f[(f[sr>>2]|0)+72>>2]|0);if((f[Be>>2]|0)>0){f[Ue>>2]=(f[(f[sr>>2]|0)+116>>2]|0)<2&1;er(f[hr>>2]|0,f[Ue>>2]|0,1)}je=f[ze>>2]|0;De=f[or>>2]|0;Ne=f[Ge>>2]|0;ze=f[ir>>2]|0;We=f[ur>>2]<<3;We=We-(Vn(f[hr>>2]|0)|0)|0;Fr(je,De,Ne,ze,r,c,i,We,f[hr>>2]|0,f[Pe>>2]|0);e:do{if(f[Ze>>2]|0){f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Pe>>2]|0,f[rr>>2]|0)|0))break e;s[(f[ir>>2]|0)+(f[Ke>>2]<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}}}while(0);f[(f[sr>>2]|0)+104>>2]=f[Ye>>2];s[(f[sr>>2]|0)+108>>2]=+s[Fe>>2];f[(f[sr>>2]|0)+112>>2]=f[He>>2];if((f[Ve>>2]|0)==2&(f[Pe>>2]|0)==1)gs((f[ir>>2]|0)+(f[rr>>2]<<2)|0,f[ir>>2]|0,(f[rr>>2]<<2)+0|0)|0;e:do{if(f[wr>>2]|0){f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Ve>>2]|0,f[rr>>2]|0)|0))break e;l=f[Ke>>2]|0;if(+s[(f[fr>>2]|0)+(f[Ke>>2]<<2)>>2]<+s[(f[ir>>2]|0)+(f[Ke>>2]<<2)>>2])u=+s[(f[fr>>2]|0)+(l<<2)>>2];else u=+s[(f[ir>>2]|0)+(l<<2)>>2];s[(f[fr>>2]|0)+(f[Ke>>2]<<2)>>2]=u;f[Ke>>2]=(f[Ke>>2]|0)+1}}else{Ze=(re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2;gs(f[ar>>2]|0,f[fr>>2]|0,Ze+0|0)|0;Ze=(re(f[Ve>>2]|0,f[rr>>2]|0)|0)<<2;gs(f[fr>>2]|0,f[ir>>2]|0,Ze+0|0)|0}}while(0);f[Je>>2]=0;do{f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(f[or>>2]|0))break;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ir>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=0;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ar>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[fr>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}f[Ke>>2]=f[Ge>>2];while(1){l=f[Je>>2]|0;if((f[Ke>>2]|0)>=(f[rr>>2]|0))break;Ze=re(l,f[rr>>2]|0)|0;s[(f[ir>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=0;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[ar>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;Ze=re(f[Je>>2]|0,f[rr>>2]|0)|0;s[(f[fr>>2]|0)+(Ze+(f[Ke>>2]|0)<<2)>>2]=-28;f[Ke>>2]=(f[Ke>>2]|0)+1}Ze=l+1|0;f[Je>>2]=Ze}while((Ze|0)<(f[Ve>>2]|0));l=(f[sr>>2]|0)+116|0;if((f[wr>>2]|0)!=0|(f[kr>>2]|0)!=0)f[l>>2]=(f[l>>2]|0)+1;else f[l>>2]=0;f[(f[sr>>2]|0)+76>>2]=f[(f[hr>>2]|0)+28>>2];nr(f[hr>>2]|0);if(uf(f[hr>>2]|0)|0){f[lr>>2]=-3;f[br>>2]=1}else{f[lr>>2]=f[ur>>2];f[br>>2]=1}de(f[cr>>2]|0);kr=f[lr>>2]|0;h=dr;return kr|0}function Vn(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Jn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;o=u+4|0;l=u;f[t>>2]=e;f[n>>2]=r;s[o>>2]=0;s[l>>2]=0;f[a>>2]=0;while(1){i=+s[o>>2];if((f[a>>2]|0)>=(f[n>>2]|0))break;if(i>+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2])i=+s[o>>2];else i=+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2];s[o>>2]=i;if(+s[l>>2]<+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2])i=+s[l>>2];else i=+s[(f[t>>2]|0)+(f[a>>2]<<2)>>2];s[l>>2]=i;f[a>>2]=(f[a>>2]|0)+1}h=u;return+(i>-+s[l>>2]?+s[o>>2]:-+s[l>>2])}function Gn(e,r,i,t,n,a,o,l,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;j=h;h=h+96|0;v=j+92|0;g=j+88|0;_=j+84|0;m=j+80|0;E=j+76|0;A=j+72|0;S=j+68|0;R=j+64|0;T=j+60|0;d=j+56|0;w=j+52|0;M=j+48|0;U=j+40|0;O=j+36|0;C=j+32|0;x=j+28|0;p=j+24|0;I=j+20|0;B=j+16|0;P=j+12|0;y=j+8|0;k=j+4|0;L=j;f[v>>2]=e;f[g>>2]=r;f[_>>2]=i;f[m>>2]=t;f[E>>2]=n;f[A>>2]=a;f[S>>2]=o;f[R>>2]=l;f[T>>2]=u;f[d>>2]=c;f[w>>2]=b;f[O>>2]=f[f[v>>2]>>2];f[P>>2]=f[(f[O>>2]|0)+4>>2];u=re(f[m>>2]|0,(f[E>>2]|0)+1024|0)|0;f[y>>2]=he()|0;e=h;h=h+((1*(u<<2)|0)+15&-16)|0;f[U>>2]=e;f[U+4>>2]=e+((f[E>>2]|0)+1024<<2);f[M>>2]=0;do{gs(f[U+(f[M>>2]<<2)>>2]|0,(f[_>>2]|0)+(f[M>>2]<<10<<2)|0,4096|0)|0;e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;gs((f[U+(f[M>>2]<<2)>>2]|0)+4096|0,e+(f[P>>2]<<2)|0,(f[E>>2]<<2)+0|0)|0;e=(f[M>>2]|0)+1|0;f[M>>2]=e}while((e|0)<(f[m>>2]|0));if(f[d>>2]|0){u=1024+(f[E>>2]|0)>>1;f[k>>2]=he()|0;e=h;h=h+((1*(u<<2)|0)+15&-16)|0;vr(U,e,1024+(f[E>>2]|0)|0,f[m>>2]|0,f[(f[v>>2]|0)+72>>2]|0);Er(e+2048|0,e,f[E>>2]|0,979,C,f[(f[v>>2]|0)+72>>2]|0);f[C>>2]=1024-(f[C>>2]|0);s[x>>2]=+Sr(e,1024,15,f[E>>2]|0,C,f[(f[v>>2]|0)+104>>2]|0,+s[(f[v>>2]|0)+108>>2],f[(f[v>>2]|0)+72>>2]|0);if((f[C>>2]|0)>1022)f[C>>2]=1022;s[x>>2]=+s[x>>2]*.699999988079071;if((f[(f[v>>2]|0)+56>>2]|0)>2)s[x>>2]=+s[x>>2]*.5;if((f[(f[v>>2]|0)+56>>2]|0)>4)s[x>>2]=+s[x>>2]*.5;if((f[(f[v>>2]|0)+56>>2]|0)>8)s[x>>2]=0;de(f[k>>2]|0)}else{s[x>>2]=0;f[C>>2]=15}s[p>>2]=.20000000298023224;e=(Y((f[C>>2]|0)-(f[(f[v>>2]|0)+104>>2]|0)|0)|0)*10|0;if((e|0)>(f[C>>2]|0))s[p>>2]=+s[p>>2]+.20000000298023224;if((f[w>>2]|0)<25)s[p>>2]=+s[p>>2]+.10000000149011612;if((f[w>>2]|0)<35)s[p>>2]=+s[p>>2]+.10000000149011612;if(+s[(f[v>>2]|0)+108>>2]>.4000000059604645)s[p>>2]=+s[p>>2]-.10000000149011612;if(+s[(f[v>>2]|0)+108>>2]>.550000011920929)s[p>>2]=+s[p>>2]-.10000000149011612;s[p>>2]=+s[p>>2]>.20000000298023224?+s[p>>2]:.20000000298023224;if(+s[x>>2]<+s[p>>2]){s[x>>2]=0;f[I>>2]=0;f[B>>2]=0}else{if(+Y(+(+s[x>>2]-+s[(f[v>>2]|0)+108>>2]))<.10000000149011612)s[x>>2]=+s[(f[v>>2]|0)+108>>2];f[B>>2]=~~+z(+(+s[x>>2]*32/3+.5))-1;if(0>((7<(f[B>>2]|0)?7:f[B>>2]|0)|0))w=0;else w=7<(f[B>>2]|0)?7:f[B>>2]|0;f[B>>2]=w;s[x>>2]=+((f[B>>2]|0)+1|0)*.09375;f[I>>2]=1}f[M>>2]=0;do{f[L>>2]=(f[(f[O>>2]|0)+44>>2]|0)-(f[P>>2]|0);if((f[(f[v>>2]|0)+104>>2]|0)>15)w=f[(f[v>>2]|0)+104>>2]|0;else w=15;f[(f[v>>2]|0)+104>>2]=w;u=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;e=(f[v>>2]|0)+200+((re(f[M>>2]|0,f[P>>2]|0)|0)<<2)|0;gs(u|0,e|0,(f[P>>2]<<2)+0|0)|0;if(f[L>>2]|0){e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;Un(e+(f[P>>2]<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096|0,f[(f[v>>2]|0)+104>>2]|0,f[(f[v>>2]|0)+104>>2]|0,f[L>>2]|0,-+s[(f[v>>2]|0)+108>>2],-+s[(f[v>>2]|0)+108>>2],f[(f[v>>2]|0)+112>>2]|0,f[(f[v>>2]|0)+112>>2]|0,0,0,f[(f[v>>2]|0)+72>>2]|0)}e=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;Un(e+(f[P>>2]<<2)+(f[L>>2]<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096+(f[L>>2]<<2)|0,f[(f[v>>2]|0)+104>>2]|0,f[C>>2]|0,(f[E>>2]|0)-(f[L>>2]|0)|0,-+s[(f[v>>2]|0)+108>>2],-+s[x>>2],f[(f[v>>2]|0)+112>>2]|0,f[A>>2]|0,f[(f[O>>2]|0)+60>>2]|0,f[P>>2]|0,f[(f[v>>2]|0)+72>>2]|0);e=(f[v>>2]|0)+200+((re(f[M>>2]|0,f[P>>2]|0)|0)<<2)|0;w=(f[g>>2]|0)+((re(f[M>>2]|0,(f[E>>2]|0)+(f[P>>2]|0)|0)|0)<<2)|0;gs(e|0,w+(f[E>>2]<<2)|0,(f[P>>2]<<2)+0|0)|0;w=(f[_>>2]|0)+(f[M>>2]<<10<<2)|0;if((f[E>>2]|0)>1024)ys(w|0,(f[U+(f[M>>2]<<2)>>2]|0)+(f[E>>2]<<2)|0,4096|0)|0;else{ys(w|0,(f[_>>2]|0)+(f[M>>2]<<10<<2)+(f[E>>2]<<2)|0,(1024-(f[E>>2]|0)<<2)+0|0)|0;ys((f[_>>2]|0)+(f[M>>2]<<10<<2)+4096+(0-(f[E>>2]|0)<<2)|0,(f[U+(f[M>>2]<<2)>>2]|0)+4096|0,(f[E>>2]<<2)+0|0)|0}e=(f[M>>2]|0)+1|0;f[M>>2]=e}while((e|0)<(f[m>>2]|0));s[f[R>>2]>>2]=+s[x>>2];f[f[S>>2]>>2]=f[C>>2];f[f[T>>2]>>2]=f[B>>2];B=f[I>>2]|0;de(f[y>>2]|0);h=j;return B|0}function Kn(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0;P=h;h=h+96|0;l=P+84|0;u=P+80|0;c=P+76|0;M=P+72|0;b=P+68|0;k=P+64|0;_=P+60|0;m=P+56|0;O=P+52|0;v=P+48|0;w=P+44|0;L=P+40|0;p=P+36|0;x=P+32|0;y=P+28|0;A=P+24|0;E=P+20|0;g=P+16|0;S=P+12|0;T=P+8|0;R=P+4|0;d=P;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[M>>2]=t;f[b>>2]=n;f[O>>2]=0;f[v>>2]=0;t=f[u>>2]|0;f[x>>2]=he()|0;r=h;h=h+((1*(t<<2)|0)+15&-16)|0;f[p>>2]=(f[u>>2]|0)/2|0;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;f[A>>2]=0;s[_>>2]=0;s[m>>2]=0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[u>>2]|0))break;t=(f[k>>2]|0)+(re(f[w>>2]|0,f[u>>2]|0)|0)|0;s[S>>2]=+s[(f[l>>2]|0)+(t<<2)>>2];s[T>>2]=+s[_>>2]+ +s[S>>2];s[_>>2]=+s[m>>2]+ +s[T>>2]-+s[S>>2]*2;s[m>>2]=+s[S>>2]-+s[T>>2]*.5;s[r+(f[k>>2]<<2)>>2]=+s[T>>2];f[k>>2]=(f[k>>2]|0)+1}i=r;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));s[y>>2]=0;s[_>>2]=0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[p>>2]|0))break;s[R>>2]=+s[r+(f[k>>2]<<1<<2)>>2]*+s[r+(f[k>>2]<<1<<2)>>2]+ +s[r+((f[k>>2]<<1)+1<<2)>>2]*+s[r+((f[k>>2]<<1)+1<<2)>>2];s[y>>2]=+s[y>>2]+ +s[R>>2];s[r+(f[k>>2]<<2)>>2]=+s[_>>2]+(+s[R>>2]-+s[_>>2])*.0625;s[_>>2]=+s[r+(f[k>>2]<<2)>>2];f[k>>2]=(f[k>>2]|0)+1}s[_>>2]=0;s[g>>2]=0;f[k>>2]=(f[p>>2]|0)-1;while(1){if((f[k>>2]|0)<0)break;s[r+(f[k>>2]<<2)>>2]=+s[_>>2]+(+s[r+(f[k>>2]<<2)>>2]-+s[_>>2])*.125;s[_>>2]=+s[r+(f[k>>2]<<2)>>2];s[g>>2]=+s[g>>2]>+s[_>>2]?+s[g>>2]:+s[_>>2];f[k>>2]=(f[k>>2]|0)+-1}s[y>>2]=+H(+(+s[y>>2]*+s[g>>2]*.5*+(f[p>>2]|0)));s[E>>2]=+(f[p>>2]|0)/(+s[y>>2]+1.0000000036274937e-15);f[A>>2]=0;f[k>>2]=12;while(1){if((f[k>>2]|0)>=((f[p>>2]|0)-5|0))break;if(127<+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15))))o=127;else o=+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15)));if(!(0>o))if(127<+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15))))o=127;else o=+z(+(+s[E>>2]*64*(+s[r+(f[k>>2]<<2)>>2]+1.0000000036274937e-15)));else o=0;f[d>>2]=~~o;f[A>>2]=(f[A>>2]|0)+(a[25432+(f[d>>2]|0)>>0]|0);f[k>>2]=(f[k>>2]|0)+4}f[A>>2]=(f[A>>2]<<6<<2|0)/(((f[p>>2]|0)-17|0)*6|0)|0;if((f[A>>2]|0)>(f[v>>2]|0)){f[f[b>>2]>>2]=f[w>>2];f[v>>2]=f[A>>2]}f[w>>2]=(f[w>>2]|0)+1}f[O>>2]=(f[v>>2]|0)>200&1;if(0>+H(+ +((f[v>>2]|0)*27|0))-42)o=0;else o=+H(+ +((f[v>>2]|0)*27|0))-42;s[L>>2]=o;if(0>(163<+s[L>>2]?163:+s[L>>2])*.006899999920278788-.139){o=0;o=+H(+o);L=f[M>>2]|0;s[L>>2]=o;L=f[O>>2]|0;O=f[x>>2]|0;de(O|0);h=P;return L|0}o=(163<+s[L>>2]?163:+s[L>>2])*.006899999920278788-.139;o=+H(+o);L=f[M>>2]|0;s[L>>2]=o;L=f[O>>2]|0;O=f[x>>2]|0;de(O|0);h=P;return L|0}function Xn(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+80|0;c=x+64|0;b=x+60|0;w=x+56|0;k=x+52|0;d=x+48|0;p=x+44|0;v=x+40|0;g=x+36|0;y=x+32|0;T=x+28|0;m=x+24|0;_=x+20|0;M=x+16|0;R=x+12|0;E=x+8|0;S=x+4|0;A=x;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=u;f[T>>2]=f[(f[c>>2]|0)+4>>2];if(f[b>>2]|0){f[_>>2]=f[b>>2];f[m>>2]=f[(f[c>>2]|0)+44>>2];f[M>>2]=f[(f[c>>2]|0)+36>>2]}else{f[_>>2]=1;f[m>>2]=f[(f[c>>2]|0)+44>>2]<>2];f[M>>2]=(f[(f[c>>2]|0)+36>>2]|0)-(f[v>>2]|0)}f[S>>2]=0;do{f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;r=re(f[_>>2]|0,f[m>>2]|0)|0;r=(f[w>>2]|0)+((re(f[S>>2]|0,r+(f[T>>2]|0)|0)|0)<<2)|0;r=r+((re(f[E>>2]|0,f[m>>2]|0)|0)<<2)|0;l=re(f[S>>2]|0,f[m>>2]|0)|0;l=(f[E>>2]|0)+(re(l,f[_>>2]|0)|0)|0;kr((f[c>>2]|0)+64|0,r,(f[k>>2]|0)+(l<<2)|0,f[(f[c>>2]|0)+60>>2]|0,f[T>>2]|0,f[M>>2]|0,f[_>>2]|0,f[y>>2]|0);f[E>>2]=(f[E>>2]|0)+1}l=(f[S>>2]|0)+1|0;f[S>>2]=l}while((l|0)<(f[p>>2]|0));e:do{if((f[p>>2]|0)==2&(f[d>>2]|0)==1){f[R>>2]=0;while(1){if((f[R>>2]|0)>=(re(f[_>>2]|0,f[m>>2]|0)|0))break e;l=re(f[_>>2]|0,f[m>>2]|0)|0;s[(f[k>>2]|0)+(f[R>>2]<<2)>>2]=+s[(f[k>>2]|0)+(f[R>>2]<<2)>>2]*.5+ +s[(f[k>>2]|0)+(l+(f[R>>2]|0)<<2)>>2]*.5;f[R>>2]=(f[R>>2]|0)+1}}}while(0);if((f[g>>2]|0)==1){h=x;return}f[S>>2]=0;do{l=re(f[_>>2]|0,f[m>>2]|0)|0;f[A>>2]=(l|0)/(f[g>>2]|0)|0;f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[A>>2]|0))break;l=re(f[S>>2]|0,f[_>>2]|0)|0;l=re(l,f[m>>2]|0)|0;l=(f[k>>2]|0)+(l+(f[R>>2]|0)<<2)|0;s[l>>2]=+s[l>>2]*+(f[g>>2]|0);f[R>>2]=(f[R>>2]|0)+1}r=re(f[S>>2]|0,f[_>>2]|0)|0;r=re(r,f[m>>2]|0)|0;l=re(f[_>>2]|0,f[m>>2]|0)|0;vs((f[k>>2]|0)+(r+(f[A>>2]|0)<<2)|0,0,l-(f[A>>2]|0)<<2|0)|0;l=(f[S>>2]|0)+1|0;f[S>>2]=l}while((l|0)<(f[d>>2]|0));h=x;return}function $n(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+160|0;u=m+144|0;l=m+140|0;c=m+136|0;b=m+132|0;w=m+128|0;k=m+124|0;p=m+120|0;d=m+116|0;v=m+112|0;g=m+8|0;y=m+4|0;_=m;f[u>>2]=e;f[l>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;s[v>>2]=0;o=+s[(f[l>>2]|0)+(f[b>>2]<<2)>>2];a=f[b>>2]|0;e:do{if((f[k>>2]|0)==1){s[g+(a<<2)>>2]=o;f[p>>2]=(f[b>>2]|0)+1;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break e;a=f[p>>2]|0;if(+s[g+((f[p>>2]|0)-1<<2)>>2]-1>+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2])o=+s[g+(a-1<<2)>>2]-1;else o=+s[(f[l>>2]|0)+(a<<2)>>2];s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+1}}else{n=f[b>>2]|0;if(o>+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2])o=+s[(f[l>>2]|0)+(n<<2)>>2];else o=+s[(f[l>>2]|0)+(n+(f[c>>2]|0)<<2)>>2];s[g+(f[b>>2]<<2)>>2]=o;f[p>>2]=(f[b>>2]|0)+1;while(1){if((f[p>>2]|0)>=(f[w>>2]|0))break e;a=f[p>>2]|0;if(+s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]>+s[(f[l>>2]|0)+((f[p>>2]|0)+(f[c>>2]|0)<<2)>>2])o=+s[(f[l>>2]|0)+(a<<2)>>2];else o=+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2];n=f[p>>2]|0;do{if(!(+s[g+((f[p>>2]|0)-1<<2)>>2]-1>o)){a=f[p>>2]|0;if(+s[(f[l>>2]|0)+(n<<2)>>2]>+s[(f[l>>2]|0)+((f[p>>2]|0)+(f[c>>2]|0)<<2)>>2]){o=+s[(f[l>>2]|0)+(a<<2)>>2];break}else{o=+s[(f[l>>2]|0)+(a+(f[c>>2]|0)<<2)>>2];break}}else o=+s[g+(n-1<<2)>>2]-1}while(0);s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+1}}}while(0);f[p>>2]=(f[w>>2]|0)-2;while(1){if((f[p>>2]|0)<(f[b>>2]|0))break;a=f[p>>2]|0;if(+s[g+(f[p>>2]<<2)>>2]>+s[g+((f[p>>2]|0)+1<<2)>>2]-1)o=+s[g+(a<<2)>>2];else o=+s[g+(a+1<<2)>>2]-1;s[g+(f[p>>2]<<2)>>2]=o;f[p>>2]=(f[p>>2]|0)+-1}f[d>>2]=0;do{f[p>>2]=2>(f[b>>2]|0)?2:f[b>>2]|0;while(1){if((f[p>>2]|0)>=((f[w>>2]|0)-1|0))break;l=(f[p>>2]|0)+(re(f[d>>2]|0,f[c>>2]|0)|0)|0;if(0>+s[(f[u>>2]|0)+(l<<2)>>2])o=0;else{l=(f[p>>2]|0)+(re(f[d>>2]|0,f[c>>2]|0)|0)|0;o=+s[(f[u>>2]|0)+(l<<2)>>2]}s[y>>2]=o;if(0>+s[g+(f[p>>2]<<2)>>2])o=0;else o=+s[g+(f[p>>2]<<2)>>2];s[_>>2]=o;if(0>+s[y>>2]-+s[_>>2])o=0;else o=+s[y>>2]-+s[_>>2];s[v>>2]=+s[v>>2]+o;f[p>>2]=(f[p>>2]|0)+1}l=(f[d>>2]|0)+1|0;f[d>>2]=l}while((l|0)<(f[k>>2]|0));s[v>>2]=+s[v>>2]/+(re(f[k>>2]|0,(f[w>>2]|0)-1-(2>(f[b>>2]|0)?2:f[b>>2]|0)|0)|0);h=m;return+s[v>>2]>1|0}function Qn(e,r,i,a,o,l,u,c,b,w,k){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=+w;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0;J=h;h=h+144|0;d=J+128|0;I=J+124|0;C=J+120|0;W=J+116|0;U=J+112|0;v=J+108|0;g=J+104|0;B=J+100|0;y=J+96|0;G=J+92|0;p=J+88|0;Z=J+84|0;j=J+80|0;D=J+76|0;L=J+72|0;P=J+64|0;V=J+60|0;R=J+56|0;q=J+52|0;T=J+48|0;E=J+44|0;M=J+40|0;m=J+36|0;A=J+32|0;S=J+28|0;_=J+24|0;x=J+20|0;O=J+16|0;N=J+12|0;F=J+8|0;z=J+4|0;H=J;f[d>>2]=e;f[I>>2]=r;f[C>>2]=i;f[W>>2]=a;f[U>>2]=o;f[v>>2]=l;f[g>>2]=u;f[B>>2]=c;f[y>>2]=b;s[G>>2]=w;f[p>>2]=k;f[V>>2]=0;s[R>>2]=(-.25>.5-+s[G>>2]?-.25:.5-+s[G>>2])*.03999999910593033;l=f[I>>2]|0;f[q>>2]=he()|0;o=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=h;h=h+((1*((n[(f[(f[d>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[I>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*((n[(f[(f[d>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[I>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[I>>2]<<2)|0)+15&-16)|0;e=h;h=h+((1*(f[I>>2]<<2)|0)+15&-16)|0;f[f[y>>2]>>2]=0;f[Z>>2]=0;while(1){if((f[Z>>2]|0)>=(f[I>>2]|0))break;f[S>>2]=0;f[E>>2]=(n[(f[(f[d>>2]|0)+32>>2]|0)+((f[Z>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]|0)<>2];f[M>>2]=((n[(f[(f[d>>2]|0)+32>>2]|0)+((f[Z>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]|0)|0)==1&1;G=re(f[p>>2]|0,f[g>>2]|0)|0;gs(l|0,(f[v>>2]|0)+(G+(n[(f[(f[d>>2]|0)+32>>2]|0)+(f[Z>>2]<<1)>>1]<>2])<<2)|0,(f[E>>2]<<2)+0|0)|0;s[m>>2]=+ef(l,f[E>>2]|0,f[C>>2]|0?f[B>>2]|0:0,+s[R>>2]);s[A>>2]=+s[m>>2];if(!((f[C>>2]|0)==0|(f[M>>2]|0)!=0)?(gs(i|0,l|0,(f[E>>2]<<2)+0|0)|0,wn(i,f[E>>2]>>f[B>>2],1<>2]),s[m>>2]=+ef(i,f[E>>2]|0,(f[B>>2]|0)+1|0,+s[R>>2]),+s[m>>2]<+s[A>>2]):0){s[A>>2]=+s[m>>2];f[S>>2]=-1}f[T>>2]=0;while(1){c=(f[C>>2]|0)!=0;if((f[T>>2]|0)>=((f[B>>2]|0)+(((f[C>>2]|0?1:(f[M>>2]|0)!=0)^1)&1)|0))break;if(c)f[_>>2]=(f[B>>2]|0)-(f[T>>2]|0)-1;else f[_>>2]=(f[T>>2]|0)+1;wn(l,f[E>>2]>>f[T>>2],1<>2]);s[m>>2]=+ef(l,f[E>>2]|0,f[_>>2]|0,+s[R>>2]);if(+s[m>>2]<+s[A>>2]){s[A>>2]=+s[m>>2];f[S>>2]=(f[T>>2]|0)+1}f[T>>2]=(f[T>>2]|0)+1}u=f[S>>2]|0;if(c)f[o+(f[Z>>2]<<2)>>2]=u<<1;else{G=re(-2,u)|0;f[o+(f[Z>>2]<<2)>>2]=G}G=f[y>>2]|0;f[G>>2]=(f[G>>2]|0)+((f[C>>2]|0?f[B>>2]|0:0)-((f[o+(f[Z>>2]<<2)>>2]|0)/2|0));do{if(f[M>>2]|0){if(f[o+(f[Z>>2]<<2)>>2]|0?(f[o+(f[Z>>2]<<2)>>2]|0)!=(re(-2,f[B>>2]|0)|0):0)break;G=o+(f[Z>>2]<<2)|0;f[G>>2]=(f[G>>2]|0)-1}}while(0);f[Z>>2]=(f[Z>>2]|0)+1}f[V>>2]=0;f[L>>2]=0;while(1){if((f[L>>2]|0)>=2)break;f[j>>2]=0;f[D>>2]=f[C>>2]|0?0:f[U>>2]|0;f[Z>>2]=1;while(1){c=f[j>>2]|0;u=f[D>>2]|0;if((f[Z>>2]|0)>=(f[I>>2]|0))break;if((c|0)<(u+(f[U>>2]|0)|0))c=f[j>>2]|0;else c=(f[D>>2]|0)+(f[U>>2]|0)|0;f[x>>2]=c;if(((f[j>>2]|0)+(f[U>>2]|0)|0)<(f[D>>2]|0))c=(f[j>>2]|0)+(f[U>>2]|0)|0;else c=f[D>>2]|0;f[O>>2]=c;f[j>>2]=(f[x>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[L>>2]<<1)+0)>>0]<<1)|0)|0);f[D>>2]=(f[O>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[L>>2]<<1)+1)>>0]<<1)|0)|0);f[Z>>2]=(f[Z>>2]|0)+1}f[j>>2]=(c|0)<(u|0)?f[j>>2]|0:f[D>>2]|0;f[P+(f[L>>2]<<2)>>2]=f[j>>2];f[L>>2]=(f[L>>2]|0)+1}if(f[C>>2]|0?(f[P+4>>2]|0)<(f[P>>2]|0):0)f[V>>2]=1;f[j>>2]=0;f[D>>2]=f[C>>2]|0?0:f[U>>2]|0;f[Z>>2]=1;while(1){c=f[j>>2]|0;if((f[Z>>2]|0)>=(f[I>>2]|0))break;f[z>>2]=c;f[H>>2]=(f[D>>2]|0)+(f[U>>2]|0);if((f[z>>2]|0)<(f[H>>2]|0)){f[N>>2]=f[z>>2];f[r+(f[Z>>2]<<2)>>2]=0}else{f[N>>2]=f[H>>2];f[r+(f[Z>>2]<<2)>>2]=1}f[z>>2]=(f[j>>2]|0)+(f[U>>2]|0);f[H>>2]=f[D>>2];if((f[z>>2]|0)<(f[H>>2]|0)){f[F>>2]=f[z>>2];f[e+(f[Z>>2]<<2)>>2]=0}else{f[F>>2]=f[H>>2];f[e+(f[Z>>2]<<2)>>2]=1}f[j>>2]=(f[N>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[V>>2]<<1)+0)>>0]<<1)|0)|0);f[D>>2]=(f[F>>2]|0)+(Y((f[o+(f[Z>>2]<<2)>>2]|0)-(t[25232+(f[B>>2]<<3)+((f[C>>2]<<2)+(f[V>>2]<<1)+1)>>0]<<1)|0)|0);f[Z>>2]=(f[Z>>2]|0)+1}f[(f[W>>2]|0)+((f[I>>2]|0)-1<<2)>>2]=(c|0)<(f[D>>2]|0)?0:1;f[Z>>2]=(f[I>>2]|0)-2;while(1){if((f[Z>>2]|0)<0)break;c=(f[Z>>2]|0)+1|0;if((f[(f[W>>2]|0)+((f[Z>>2]|0)+1<<2)>>2]|0)==1)f[(f[W>>2]|0)+(f[Z>>2]<<2)>>2]=f[e+(c<<2)>>2];else f[(f[W>>2]|0)+(f[Z>>2]<<2)>>2]=f[r+(c<<2)>>2];f[Z>>2]=(f[Z>>2]|0)+-1}G=f[V>>2]|0;de(f[q>>2]|0);h=J;return G|0}function ef(e,r,i,t){e=e|0;r=r|0;i=i|0;t=+t;var n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;c=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[l>>2]=t;s[u>>2]=0;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[a>>2]|0))break;t=+Y(+ +s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]);s[u>>2]=+s[u>>2]+t;f[c>>2]=(f[c>>2]|0)+1}s[u>>2]=+s[u>>2]+ +(f[o>>2]|0)*+s[l>>2]*+s[u>>2];h=b;return+ +s[u>>2]}function rf(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+64|0;s=A+52|0;u=A+48|0;c=A+44|0;b=A+40|0;w=A+36|0;k=A+32|0;d=A+28|0;v=A+24|0;g=A+20|0;E=A+16|0;m=A+12|0;y=A+8|0;p=A+4|0;_=A;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[p>>2]=f[(f[d>>2]|0)+4>>2]<<3;f[_>>2]=Vn(f[d>>2]|0)|0;f[y>>2]=f[c>>2]|0?2:4;if((f[w>>2]|0)>0)a=((f[_>>2]|0)+(f[y>>2]|0)+1|0)>>>0<=(f[p>>2]|0)>>>0;else a=0;f[E>>2]=a&1;f[p>>2]=(f[p>>2]|0)-(f[E>>2]|0);f[m>>2]=0;f[v>>2]=0;f[g>>2]=f[s>>2];while(1){if((f[g>>2]|0)>=(f[u>>2]|0))break;if(((f[_>>2]|0)+(f[y>>2]|0)|0)>>>0<=(f[p>>2]|0)>>>0){Xe(f[d>>2]|0,f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]^f[v>>2],f[y>>2]|0);f[_>>2]=Vn(f[d>>2]|0)|0;f[v>>2]=f[(f[b>>2]|0)+(f[g>>2]<<2)>>2];f[m>>2]=f[m>>2]|f[v>>2]}else f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]=f[v>>2];f[y>>2]=f[c>>2]|0?4:5;f[g>>2]=(f[g>>2]|0)+1}if(f[E>>2]|0?(t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+0+(f[m>>2]|0))>>0]|0)!=(t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+2+(f[m>>2]|0))>>0]|0):0)Xe(f[d>>2]|0,f[k>>2]|0,1);else f[k>>2]=0;f[g>>2]=f[s>>2];while(1){if((f[g>>2]|0)>=(f[u>>2]|0))break;f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]=t[25232+(f[w>>2]<<3)+((f[c>>2]<<2)+(f[k>>2]<<1)+(f[(f[b>>2]|0)+(f[g>>2]<<2)>>2]|0))>>0];f[g>>2]=(f[g>>2]|0)+1}h=A;return}function tf(e,r,i,t,a,o,l,u,c,b,w,k,d,p,v,g,y,_){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;var m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0;te=h;h=h+128|0;C=te+120|0;T=te+116|0;I=te+112|0;B=te+108|0;q=te+104|0;W=te+100|0;Z=te+96|0;A=te+92|0;S=te+88|0;V=te+84|0;j=te+80|0;D=te+76|0;N=te+72|0;F=te+68|0;z=te+64|0;Y=te+60|0;R=te+56|0;U=te+52|0;X=te+48|0;M=te+44|0;Q=te+40|0;$=te+36|0;H=te+32|0;O=te+28|0;L=te+24|0;P=te+20|0;x=te+16|0;ee=te+12|0;J=te+8|0;G=te+4|0;K=te;f[C>>2]=e;f[T>>2]=r;f[I>>2]=i;f[B>>2]=t;f[q>>2]=a;f[W>>2]=o;f[Z>>2]=l;f[A>>2]=u;f[S>>2]=c;f[V>>2]=b;f[j>>2]=w;f[D>>2]=k;f[N>>2]=d;f[F>>2]=p;f[z>>2]=v;f[Y>>2]=g;f[R>>2]=y;f[U>>2]=_;f[Q>>2]=0;w=re(f[W>>2]|0,f[I>>2]|0)|0;f[H>>2]=he()|0;e=h;h=h+((1*(w<<2)|0)+15&-16)|0;w=(re(f[W>>2]|0,f[I>>2]|0)|0)<<2;p=h;h=h+((1*w|0)+15&-16)|0;vs(f[Z>>2]|0,0,f[I>>2]<<2|0)|0;s[$>>2]=-31.899999618530273;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;E=+(n[(f[S>>2]|0)+(f[X>>2]<<1)>>1]|0)*.0625+.5+ +(9-(f[A>>2]|0)|0)-+s[17464+(f[X>>2]<<2)>>2]+ +(re((f[X>>2]|0)+5|0,(f[X>>2]|0)+5|0)|0)*.006200000178068876;s[p+(f[X>>2]<<2)>>2]=E;f[X>>2]=(f[X>>2]|0)+1}f[M>>2]=0;do{f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;S=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[$>>2]>+s[(f[C>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]-+s[p+(f[X>>2]<<2)>>2])m=+s[$>>2];else{S=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[C>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]-+s[p+(f[X>>2]<<2)>>2]}s[$>>2]=m;f[X>>2]=(f[X>>2]|0)+1}S=(f[M>>2]|0)+1|0;f[M>>2]=S}while((S|0)<(f[W>>2]|0));if((f[z>>2]|0)>50&(f[F>>2]|0)>=1^1|(f[R>>2]|0)!=0){ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}f[O>>2]=0;f[M>>2]=0;do{f[x>>2]=e+((re(f[M>>2]|0,f[I>>2]|0)|0)<<2);R=re(f[M>>2]|0,f[I>>2]|0)|0;s[f[x>>2]>>2]=+s[(f[T>>2]|0)+(R<<2)>>2];f[X>>2]=1;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;S=re(f[M>>2]|0,f[I>>2]|0)|0;R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[T>>2]|0)+(S+(f[X>>2]|0)<<2)>>2]>+s[(f[T>>2]|0)+(R+(f[X>>2]|0)-1<<2)>>2]+.5)f[O>>2]=f[X>>2];R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+((f[X>>2]|0)-1<<2)>>2]+1.5<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2])m=+s[(f[x>>2]|0)+((f[X>>2]|0)-1<<2)>>2]+1.5;else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]}s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}f[X>>2]=(f[O>>2]|0)-1;while(1){if((f[X>>2]|0)<0)break;R=re(f[M>>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2])m=+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2;else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]}o=f[X>>2]|0;do{if(!(+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]>2]|0,f[I>>2]|0)|0;if(+s[(f[x>>2]|0)+(o+1<<2)>>2]+2<+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2]){m=+s[(f[x>>2]|0)+((f[X>>2]|0)+1<<2)>>2]+2;break}else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+s[(f[T>>2]|0)+(R+(f[X>>2]|0)<<2)>>2];break}}else m=+s[(f[x>>2]|0)+(o<<2)>>2]}while(0);s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+-1}s[L>>2]=1;f[X>>2]=2;while(1){if((f[X>>2]|0)>=((f[q>>2]|0)-2|0))break;m=+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2];R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+nf((f[T>>2]|0)+(R+(f[X>>2]|0)-2<<2)|0);if(m>E-+s[L>>2])m=+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2];else{R=re(f[M>>2]|0,f[I>>2]|0)|0;m=+nf((f[T>>2]|0)+(R+(f[X>>2]|0)-2<<2)|0);m=m-+s[L>>2]}s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+ff((f[T>>2]|0)+(R<<2)|0);s[P>>2]=E-+s[L>>2];if(+s[f[x>>2]>>2]>+s[P>>2])m=+s[f[x>>2]>>2];else m=+s[P>>2];s[f[x>>2]>>2]=m;if(+s[(f[x>>2]|0)+4>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+4>>2];else m=+s[P>>2];s[(f[x>>2]|0)+4>>2]=m;R=re(f[M>>2]|0,f[I>>2]|0)|0;E=+ff((f[T>>2]|0)+(R+(f[q>>2]|0)-3<<2)|0);s[P>>2]=E-+s[L>>2];if(+s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2];else m=+s[P>>2];s[(f[x>>2]|0)+((f[q>>2]|0)-2<<2)>>2]=m;if(+s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2]>+s[P>>2])m=+s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2];else m=+s[P>>2];s[(f[x>>2]|0)+((f[q>>2]|0)-1<<2)>>2]=m;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;o=f[X>>2]|0;if(+s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]>+s[p+(f[X>>2]<<2)>>2])m=+s[(f[x>>2]|0)+(o<<2)>>2];else m=+s[p+(o<<2)>>2];s[(f[x>>2]|0)+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}R=(f[M>>2]|0)+1|0;f[M>>2]=R}while((R|0)<(f[W>>2]|0));P=(f[W>>2]|0)==2;f[X>>2]=f[B>>2];e:do{if(P)while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;if(+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]>+s[e+(f[X>>2]<<2)>>2]-4)m=+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2];else m=+s[e+(f[X>>2]<<2)>>2]-4;s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]=m;if(+s[e+(f[X>>2]<<2)>>2]>+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-4)m=+s[e+(f[X>>2]<<2)>>2];else m=+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-4;s[e+(f[X>>2]<<2)>>2]=m;if(0>+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2])E=0;else E=+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2];if(0>+s[(f[C>>2]|0)+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2])m=0;else m=+s[(f[C>>2]|0)+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2]-+s[e+((f[I>>2]|0)+(f[X>>2]|0)<<2)>>2];s[e+(f[X>>2]<<2)>>2]=(E+m)*.5;f[X>>2]=(f[X>>2]|0)+1}else while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;if(0>+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2])m=0;else m=+s[(f[C>>2]|0)+(f[X>>2]<<2)>>2]-+s[e+(f[X>>2]<<2)>>2];s[e+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}}while(0);f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break;o=f[X>>2]|0;if(+s[e+(f[X>>2]<<2)>>2]>+s[(f[U>>2]|0)+(f[X>>2]<<2)>>2])m=+s[e+(o<<2)>>2];else m=+s[(f[U>>2]|0)+(o<<2)>>2];s[e+(f[X>>2]<<2)>>2]=m;f[X>>2]=(f[X>>2]|0)+1}e:do{if(!(((f[j>>2]|0)==0|(f[D>>2]|0)!=0)^1|(f[V>>2]|0)!=0)){f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0))break e;s[e+(f[X>>2]<<2)>>2]=+s[e+(f[X>>2]<<2)>>2]*.5;f[X>>2]=(f[X>>2]|0)+1}}}while(0);f[X>>2]=f[B>>2];while(1){if((f[X>>2]|0)>=(f[q>>2]|0)){ie=103;break}if((f[X>>2]|0)<8){B=e+(f[X>>2]<<2)|0;s[B>>2]=+s[B>>2]*2}if((f[X>>2]|0)>=12)s[e+(f[X>>2]<<2)>>2]=+s[e+(f[X>>2]<<2)>>2]*.5;if(+s[e+(f[X>>2]<<2)>>2]<4)m=+s[e+(f[X>>2]<<2)>>2];else m=4;s[e+(f[X>>2]<<2)>>2]=m;B=re(f[W>>2]|0,(n[(f[N>>2]|0)+((f[X>>2]|0)+1<<1)>>1]|0)-(n[(f[N>>2]|0)+(f[X>>2]<<1)>>1]|0)|0)|0;f[ee>>2]=B<>2];do{if((f[ee>>2]|0)>=6){m=+s[e+(f[X>>2]<<2)>>2];if((f[ee>>2]|0)>48){f[J>>2]=~~(m*8);f[G>>2]=((re(f[J>>2]|0,f[ee>>2]|0)|0)<<3|0)/8|0;break}else{f[J>>2]=~~(m*+(f[ee>>2]|0)/6);f[G>>2]=(f[J>>2]|0)*6<<3;break}}else{f[J>>2]=~~+s[e+(f[X>>2]<<2)>>2];f[G>>2]=(re(f[J>>2]|0,f[ee>>2]|0)|0)<<3}}while(0);if(!(f[j>>2]|0?(f[D>>2]|0)==0|(f[V>>2]|0)!=0:0))ie=100;if((ie|0)==100?(ie=0,((f[Q>>2]|0)+(f[G>>2]|0)>>3>>3|0)>((f[z>>2]|0)/4|0|0)):0)break;f[(f[Z>>2]|0)+(f[X>>2]<<2)>>2]=f[J>>2];f[Q>>2]=(f[Q>>2]|0)+(f[G>>2]|0);f[X>>2]=(f[X>>2]|0)+1}if((ie|0)==103){ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}f[K>>2]=((f[z>>2]|0)/4|0)<<3<<3;f[(f[Z>>2]|0)+(f[X>>2]<<2)>>2]=(f[K>>2]|0)-(f[Q>>2]|0);f[Q>>2]=f[K>>2];ee=f[Q>>2]|0;ie=f[Y>>2]|0;f[ie>>2]=ee;E=+s[$>>2];ie=f[H>>2]|0;de(ie|0);h=te;return+E}function nf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;b=h;h=h+48|0;r=b+32|0;i=b+28|0;t=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;u=b+4|0;c=b;f[i>>2]=e;s[a>>2]=+s[(f[i>>2]|0)+8>>2];e=f[i>>2]|0;if(+s[f[i>>2]>>2]>+s[(f[i>>2]|0)+4>>2]){s[t>>2]=+s[e+4>>2];s[n>>2]=+s[f[i>>2]>>2]}else{s[t>>2]=+s[e>>2];s[n>>2]=+s[(f[i>>2]|0)+4>>2]}e=f[i>>2]|0;if(+s[(f[i>>2]|0)+12>>2]>+s[(f[i>>2]|0)+16>>2]){s[o>>2]=+s[e+16>>2];s[l>>2]=+s[(f[i>>2]|0)+12>>2]}else{s[o>>2]=+s[e+12>>2];s[l>>2]=+s[(f[i>>2]|0)+16>>2]}if(+s[t>>2]>+s[o>>2]){s[u>>2]=+s[t>>2];s[t>>2]=+s[o>>2];s[o>>2]=+s[u>>2];s[c>>2]=+s[n>>2];s[n>>2]=+s[l>>2];s[l>>2]=+s[c>>2]}if(+s[a>>2]>+s[n>>2])if(+s[n>>2]<+s[o>>2]){s[r>>2]=+s[a>>2]<+s[o>>2]?+s[a>>2]:+s[o>>2];w=+s[r>>2];h=b;return+w}else{s[r>>2]=+s[l>>2]<+s[n>>2]?+s[l>>2]:+s[n>>2];w=+s[r>>2];h=b;return+w}else if(+s[a>>2]<+s[o>>2]){s[r>>2]=+s[n>>2]<+s[o>>2]?+s[n>>2]:+s[o>>2];w=+s[r>>2];h=b;return+w}else{s[r>>2]=+s[a>>2]<+s[l>>2]?+s[a>>2]:+s[l>>2];w=+s[r>>2];h=b;return+w}return 0}function ff(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;e=f[i>>2]|0;if(+s[f[i>>2]>>2]>+s[(f[i>>2]|0)+4>>2]){s[t>>2]=+s[e+4>>2];s[n>>2]=+s[f[i>>2]>>2]}else{s[t>>2]=+s[e>>2];s[n>>2]=+s[(f[i>>2]|0)+4>>2]}s[a>>2]=+s[(f[i>>2]|0)+8>>2];if(+s[n>>2]<+s[a>>2]){s[r>>2]=+s[n>>2];l=+s[r>>2];h=o;return+l}if(+s[t>>2]<+s[a>>2]){s[r>>2]=+s[a>>2];l=+s[r>>2];h=o;return+l}else{s[r>>2]=+s[t>>2];l=+s[r>>2];h=o;return+l}return 0}function af(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+64|0;a=_+48|0;o=_+44|0;l=_+40|0;u=_+36|0;d=_+32|0;y=_+28|0;v=_+24|0;g=_+20|0;p=_+16|0;c=_+12|0;w=_+8|0;b=_+4|0;k=_;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;s[v>>2]=1.0000000036274937e-15;s[g>>2]=1.0000000036274937e-15;f[d>>2]=0;while(1){if((f[d>>2]|0)>=13)break;f[p>>2]=n[(f[(f[a>>2]|0)+32>>2]|0)+(f[d>>2]<<1)>>1]<>2];while(1){if((f[p>>2]|0)>=(n[(f[(f[a>>2]|0)+32>>2]|0)+((f[d>>2]|0)+1<<1)>>1]<>2]|0))break;s[c>>2]=+s[(f[o>>2]|0)+(f[p>>2]<<2)>>2];s[w>>2]=+s[(f[o>>2]|0)+((f[u>>2]|0)+(f[p>>2]|0)<<2)>>2];s[b>>2]=+s[c>>2]+ +s[w>>2];s[k>>2]=+s[c>>2]-+s[w>>2];m=+Y(+ +s[c>>2]);s[v>>2]=+s[v>>2]+(m+ +Y(+ +s[w>>2]));m=+Y(+ +s[b>>2]);s[g>>2]=+s[g>>2]+(m+ +Y(+ +s[k>>2]));f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}s[g>>2]=+s[g>>2]*.7071070075035095;f[y>>2]=13;if((f[l>>2]|0)<=1)f[y>>2]=(f[y>>2]|0)-8;h=_;return+((n[(f[(f[a>>2]|0)+32>>2]|0)+26>>1]<<(f[l>>2]|0)+1)+(f[y>>2]|0)|0)*+s[g>>2]>+(n[(f[(f[a>>2]|0)+32>>2]|0)+26>>1]<<(f[l>>2]|0)+1|0)*+s[v>>2]|0}function of(e,r,i,t,a,o,l,u,c,b,w,k,d){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=+b;w=w|0;k=+k;d=d|0;var p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0;F=h;h=h+96|0;T=F+92|0;v=F+88|0;M=F+84|0;x=F+80|0;y=F+76|0;O=F+72|0;_=F+68|0;j=F+64|0;L=F+60|0;B=F+56|0;g=F+52|0;U=F+48|0;I=F+40|0;C=F+36|0;P=F+32|0;N=F+28|0;D=F+24|0;S=F+20|0;R=F+16|0;A=F+12|0;E=F+8|0;p=F+4|0;m=F;f[T>>2]=e;f[v>>2]=r;f[M>>2]=i;f[x>>2]=t;f[y>>2]=a;f[O>>2]=o;f[_>>2]=l;f[j>>2]=u;f[L>>2]=c;s[B>>2]=b;f[g>>2]=w;s[U>>2]=k;f[F+44>>2]=d;s[C>>2]=0;s[D>>2]=5;if((f[O>>2]|0)==2){s[A>>2]=0;f[I>>2]=0;while(1){if((f[I>>2]|0)>=8)break;s[p>>2]=+lf((f[v>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2]<<2)|0,(f[v>>2]|0)+((f[_>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2])<<2)|0,(n[(f[(f[T>>2]|0)+32>>2]|0)+((f[I>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)<>2]);s[A>>2]=+s[A>>2]+ +s[p>>2];f[I>>2]=(f[I>>2]|0)+1}s[A>>2]=+s[A>>2]*.125;if(1<+Y(+ +s[A>>2]))k=1;else k=+Y(+ +s[A>>2]);s[A>>2]=k;s[E>>2]=+s[A>>2];f[I>>2]=8;while(1){if((f[I>>2]|0)>=(f[g>>2]|0))break;s[m>>2]=+lf((f[v>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2]<<2)|0,(f[v>>2]|0)+((f[_>>2]|0)+(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]<>2])<<2)|0,(n[(f[(f[T>>2]|0)+32>>2]|0)+((f[I>>2]|0)+1<<1)>>1]|0)-(n[(f[(f[T>>2]|0)+32>>2]|0)+(f[I>>2]<<1)>>1]|0)<>2]);if(+s[E>>2]<+Y(+ +s[m>>2]))k=+s[E>>2];else k=+Y(+ +s[m>>2]);s[E>>2]=k;f[I>>2]=(f[I>>2]|0)+1}if(1<+Y(+ +s[E>>2]))k=1;else k=+Y(+ +s[E>>2]);s[E>>2]=k;s[S>>2]=+Q(+(1.0010000467300415-+s[A>>2]*+s[A>>2]))*1.4426950408889634;if(+s[S>>2]*.5>+Q(+(1.0010000467300415-+s[E>>2]*+s[E>>2]))*1.4426950408889634)k=+s[S>>2]*.5;else k=+Q(+(1.0010000467300415-+s[E>>2]*+s[E>>2]))*1.4426950408889634;s[R>>2]=k;s[D>>2]=+s[D>>2]+(-4>+s[S>>2]*.75?-4:+s[S>>2]*.75);if(+s[f[L>>2]>>2]+.25<-(+s[R>>2]*.5))k=+s[f[L>>2]>>2]+.25;else k=-(+s[R>>2]*.5);s[f[L>>2]>>2]=k}f[P>>2]=0;do{f[I>>2]=0;while(1){if((f[I>>2]|0)>=((f[x>>2]|0)-1|0))break;L=(f[I>>2]|0)+(re(f[P>>2]|0,f[(f[T>>2]|0)+8>>2]|0)|0)|0;s[C>>2]=+s[C>>2]+ +s[(f[M>>2]|0)+(L<<2)>>2]*+(2+(f[I>>2]<<1)-(f[x>>2]|0)|0);f[I>>2]=(f[I>>2]|0)+1}L=(f[P>>2]|0)+1|0;f[P>>2]=L}while((L|0)<(f[O>>2]|0));b=+(re(f[O>>2]|0,(f[x>>2]|0)-1|0)|0);s[C>>2]=+s[C>>2]/b;if(2<(+s[C>>2]+1)/6)k=2;else k=(+s[C>>2]+1)/6;if(!(-2>k))if(2<(+s[C>>2]+1)/6)k=2;else k=(+s[C>>2]+1)/6;else k=-2;s[D>>2]=+s[D>>2]-k;s[D>>2]=+s[D>>2]-+s[U>>2];s[D>>2]=+s[D>>2]-+s[B>>2]*2;if(f[f[j>>2]>>2]|0){if(2<(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2)k=2;else k=(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2;if(!(-2>k))if(2<(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2)k=2;else k=(+s[(f[j>>2]|0)+8>>2]+.05000000074505806)*2;else k=-2;s[D>>2]=+s[D>>2]-k}f[N>>2]=~~+z(+(+s[D>>2]+.5));if(0>((10<(f[N>>2]|0)?10:f[N>>2]|0)|0)){D=0;f[N>>2]=D;N=f[N>>2]|0;h=F;return N|0}D=10<(f[N>>2]|0)?10:f[N>>2]|0;f[N>>2]=D;N=f[N>>2]|0;h=F;return N|0}function lf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function sf(e,r,i,t,a,o,l,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;b=+b;w=w|0;k=+k;d=d|0;p=+p;v=v|0;g=g|0;y=y|0;_=+_;m=+m;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0;ne=h;h=h+144|0;ae=ne+140|0;x=ne+136|0;Q=ne+132|0;z=ne+128|0;G=ne+124|0;fe=ne+120|0;Y=ne+116|0;E=ne+112|0;K=ne+108|0;A=ne+104|0;O=ne+100|0;V=ne+96|0;I=ne+92|0;N=ne+88|0;L=ne+84|0;F=ne+80|0;J=ne+76|0;C=ne+72|0;$=ne+68|0;ie=ne+64|0;U=ne+60|0;S=ne+56|0;P=ne+52|0;Z=ne+48|0;q=ne+44|0;R=ne+40|0;T=ne+36|0;M=ne+32|0;D=ne+28|0;j=ne+24|0;B=ne+20|0;W=ne+16|0;H=ne+12|0;X=ne+8|0;ee=ne+4|0;te=ne;f[ae>>2]=e;f[x>>2]=r;f[Q>>2]=i;f[z>>2]=t;f[G>>2]=a;f[fe>>2]=o;f[Y>>2]=l;f[E>>2]=u;f[K>>2]=c;s[A>>2]=b;f[O>>2]=w;s[V>>2]=k;f[I>>2]=d;s[N>>2]=p;f[L>>2]=v;f[F>>2]=g;f[J>>2]=y;s[C>>2]=_;s[$>>2]=m;f[Z>>2]=f[(f[ae>>2]|0)+8>>2];f[q>>2]=f[(f[ae>>2]|0)+32>>2];f[S>>2]=f[fe>>2]|0?f[fe>>2]|0:f[Z>>2]|0;f[U>>2]=n[(f[q>>2]|0)+(f[S>>2]<<1)>>1]<>2];if((f[Y>>2]|0)==2)f[U>>2]=(f[U>>2]|0)+(n[(f[q>>2]|0)+(((f[E>>2]|0)<(f[S>>2]|0)?f[E>>2]|0:f[S>>2]|0)<<1)>>1]<>2]);f[ie>>2]=f[Q>>2];if(f[f[x>>2]>>2]|0?+s[(f[x>>2]|0)+16>>2]<.4:0)f[ie>>2]=(f[ie>>2]|0)-~~(+(f[U>>2]<<3|0)*(.4000000059604645-+s[(f[x>>2]|0)+16>>2]));if((f[Y>>2]|0)==2){f[R>>2]=(f[E>>2]|0)<(f[S>>2]|0)?f[E>>2]|0:f[S>>2]|0;f[T>>2]=(n[(f[q>>2]|0)+(f[R>>2]<<1)>>1]<>2])-(f[R>>2]|0);s[M>>2]=+(f[T>>2]|0)*.800000011920929/+(f[U>>2]|0);s[A>>2]=+s[A>>2]<1?+s[A>>2]:1;if(+s[M>>2]*+(f[ie>>2]|0)<(+s[A>>2]-.10000000149011612)*+(f[T>>2]<<3|0))p=+s[M>>2]*+(f[ie>>2]|0);else p=(+s[A>>2]-.10000000149011612)*+(f[T>>2]<<3|0);f[ie>>2]=(f[ie>>2]|0)-~~p}f[ie>>2]=(f[ie>>2]|0)+((f[O>>2]|0)-(16<>2]));s[P>>2]=(f[L>>2]|0)==5010?.019999999552965164:.03999999910593033;f[ie>>2]=(f[ie>>2]|0)+~~((+s[V>>2]-+s[P>>2])*+(f[ie>>2]|0));if(!(f[F>>2]|0?1:(f[f[x>>2]>>2]|0)==0)){if(0>+s[(f[x>>2]|0)+4>>2]-.15000000596046448)p=0;else p=+s[(f[x>>2]|0)+4>>2]-.15000000596046448;s[j>>2]=p-.09000000357627869;f[D>>2]=(f[ie>>2]|0)+~~(+(f[U>>2]<<3|0)*1.2000000476837158*+s[j>>2]);if(f[I>>2]|0)f[D>>2]=(f[D>>2]|0)+~~(+(f[U>>2]<<3|0)*.800000011920929);f[ie>>2]=f[D>>2]}if(!((f[J>>2]|0)==0|(f[F>>2]|0)!=0)){f[B>>2]=(f[ie>>2]|0)+~~(+s[C>>2]*+(f[U>>2]<<3|0));if(((f[ie>>2]|0)/4|0|0)>(f[B>>2]|0))E=(f[ie>>2]|0)/4|0;else E=f[B>>2]|0;f[ie>>2]=E}f[H>>2]=n[(f[q>>2]|0)+((f[Z>>2]|0)-2<<1)>>1]<>2];k=+((re(f[Y>>2]|0,f[H>>2]|0)|0)<<3|0);f[W>>2]=~~(k*+s[N>>2]);f[W>>2]=(f[W>>2]|0)>(f[ie>>2]>>2|0)?f[W>>2]|0:f[ie>>2]>>2;f[ie>>2]=(f[ie>>2]|0)<(f[W>>2]|0)?f[ie>>2]|0:f[W>>2]|0;if((f[J>>2]|0)==0|(f[F>>2]|0)!=0?(f[K>>2]|0)!=0|(f[G>>2]|0)<64e3:0){if(0>+((f[G>>2]|0)-32e3|0)*30517578125e-15)p=0;else p=+((f[G>>2]|0)-32e3|0)*30517578125e-15;s[X>>2]=p;if(f[K>>2]|0)s[X>>2]=+s[X>>2]<.6700000166893005?+s[X>>2]:.6700000166893005;f[ie>>2]=(f[Q>>2]|0)+~~(+s[X>>2]*+((f[ie>>2]|0)-(f[Q>>2]|0)|0))}if(!((f[J>>2]|0)==0&+s[V>>2]<.20000000298023224)){fe=f[Q>>2]|0;fe=fe<<1;te=f[ie>>2]|0;te=(fe|0)<(te|0);fe=f[Q>>2]|0;fe=fe<<1;ae=f[ie>>2]|0;ae=te?fe:ae;f[ie>>2]=ae;ae=f[ie>>2]|0;h=ne;return ae|0}if(0>((32e3<(96e3-(f[G>>2]|0)|0)?32e3:96e3-(f[G>>2]|0)|0)|0))E=0;else E=32e3<(96e3-(f[G>>2]|0)|0)?32e3:96e3-(f[G>>2]|0)|0;s[ee>>2]=+(E|0)*3099999958067201e-21;s[te>>2]=+s[$>>2]*+s[ee>>2];f[ie>>2]=(f[ie>>2]|0)+~~(+s[te>>2]*+(f[ie>>2]|0));fe=f[Q>>2]|0;fe=fe<<1;te=f[ie>>2]|0;te=(fe|0)<(te|0);fe=f[Q>>2]|0;fe=fe<<1;ae=f[ie>>2]|0;ae=te?fe:ae;f[ie>>2]=ae;ae=f[ie>>2]|0;h=ne;return ae|0}function uf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return f[(f[r>>2]|0)+44>>2]|0}function hf(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=pr(48e3,960,0)|0;e=cf(f[t>>2]|0,f[i>>2]|0)|0;h=r;return e|0}function cf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;e=88+((re(f[a>>2]|0,2048+(f[(f[n>>2]|0)+4>>2]|0)|0)|0)-1<<2)|0;f[i>>2]=e+((f[a>>2]|0)*24<<2)+(f[(f[n>>2]|0)+8>>2]<<3<<2);h=t;return f[i>>2]|0}function bf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;a=l+8|0;s=l+4|0;o=l;f[n>>2]=e;f[a>>2]=r;f[s>>2]=i;r=f[n>>2]|0;e=pr(48e3,960,0)|0;f[o>>2]=wf(r,e,f[s>>2]|0)|0;if(f[o>>2]|0){f[t>>2]=f[o>>2];s=f[t>>2]|0;h=l;return s|0}s=Cn(f[a>>2]|0)|0;f[(f[n>>2]|0)+16>>2]=s;if(!(f[(f[n>>2]|0)+16>>2]|0)){f[t>>2]=-1;s=f[t>>2]|0;h=l;return s|0}else{f[t>>2]=0;s=f[t>>2]|0;h=l;return s|0}return 0}function wf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;t=l+16|0;n=l+12|0;a=l+8|0;o=l+4|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[o>>2]|0)<0|(f[o>>2]|0)>2){f[t>>2]=-1;e=f[t>>2]|0;h=l;return e|0}if(!(f[n>>2]|0)){f[t>>2]=-7;e=f[t>>2]|0;h=l;return e|0}else{e=f[n>>2]|0;vs(e|0,0,cf(f[a>>2]|0,f[o>>2]|0)|0)|0;f[f[n>>2]>>2]=f[a>>2];f[(f[n>>2]|0)+4>>2]=f[(f[a>>2]|0)+4>>2];e=f[o>>2]|0;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+12>>2]=e;f[(f[n>>2]|0)+16>>2]=1;f[(f[n>>2]|0)+20>>2]=0;f[(f[n>>2]|0)+24>>2]=f[(f[f[n>>2]>>2]|0)+12>>2];f[(f[n>>2]|0)+28>>2]=1;e=kf()|0;f[(f[n>>2]|0)+32>>2]=e;f[(f[n>>2]|0)+48>>2]=0;df(f[n>>2]|0,4028,l)|0;f[t>>2]=0;e=f[t>>2]|0;h=l;return e|0}return 0}function kf(){return 0}function df(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;E=h;h=h+96|0;m=E+80|0;t=E+76|0;A=E+72|0;n=E+56|0;b=E+52|0;w=E+48|0;k=E+44|0;d=E+40|0;p=E+36|0;a=E+32|0;o=E+28|0;l=E+24|0;u=E+20|0;c=E+16|0;v=E+12|0;g=E+8|0;y=E+4|0;_=E;f[t>>2]=e;f[A>>2]=r;f[n>>2]=i;e:do{switch(f[A>>2]|0){case 10010:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[b>>2]=A;if((f[b>>2]|0)>=0?(f[b>>2]|0)<(f[(f[f[t>>2]>>2]|0)+8>>2]|0):0){f[(f[t>>2]|0)+20>>2]=f[b>>2];t=24}else t=25;break}case 10012:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[w>>2]=A;if((f[w>>2]|0)>=1?(f[w>>2]|0)<=(f[(f[f[t>>2]>>2]|0)+8>>2]|0):0){f[(f[t>>2]|0)+24>>2]=f[w>>2];t=24}else t=25;break}case 10008:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[k>>2]=A;if((f[k>>2]|0)<1|(f[k>>2]|0)>2)t=25;else{f[(f[t>>2]|0)+12>>2]=f[k>>2];t=24}break}case 10007:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[d>>2]=A;if(!(f[d>>2]|0))t=25;else{f[f[d>>2]>>2]=f[(f[t>>2]|0)+40>>2];f[(f[t>>2]|0)+40>>2]=0;t=24}break}case 4027:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[p>>2]=A;if(!(f[p>>2]|0))t=25;else{f[f[p>>2]>>2]=(f[(f[t>>2]|0)+4>>2]|0)/(f[(f[t>>2]|0)+16>>2]|0)|0;t=24}break}case 4028:{f[o>>2]=(f[t>>2]|0)+84+((re(2048+(f[(f[t>>2]|0)+4>>2]|0)|0,f[(f[t>>2]|0)+8>>2]|0)|0)<<2);f[l>>2]=(f[o>>2]|0)+((f[(f[t>>2]|0)+8>>2]|0)*24<<2);f[u>>2]=(f[l>>2]|0)+(f[(f[f[t>>2]>>2]|0)+8>>2]<<1<<2);f[c>>2]=(f[u>>2]|0)+(f[(f[f[t>>2]>>2]|0)+8>>2]<<1<<2);vs((f[t>>2]|0)+36|0,0,(cf(f[f[t>>2]>>2]|0,f[(f[t>>2]|0)+8>>2]|0)|0)-((f[t>>2]|0)+36-(f[t>>2]|0))|0)|0;f[a>>2]=0;while(1){if((f[a>>2]|0)>=(f[(f[f[t>>2]>>2]|0)+8>>2]<<1|0)){t=24;break e}s[(f[c>>2]|0)+(f[a>>2]<<2)>>2]=-28;s[(f[u>>2]|0)+(f[a>>2]<<2)>>2]=-28;f[a>>2]=(f[a>>2]|0)+1}}case 4033:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[v>>2]=A;if(!(f[v>>2]|0))t=25;else{f[f[v>>2]>>2]=f[(f[t>>2]|0)+52>>2];t=24}break}case 10015:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[g>>2]=A;if(!(f[g>>2]|0))t=25;else{f[f[g>>2]>>2]=f[f[t>>2]>>2];t=24}break}case 10016:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[y>>2]=A;f[(f[t>>2]|0)+28>>2]=f[y>>2];t=24;break}case 4031:{i=(f[n>>2]|0)+(4-1)&~(4-1);A=f[i>>2]|0;f[n>>2]=i+4;f[_>>2]=A;if(!(f[_>>2]|0))t=25;else{f[f[_>>2]>>2]=f[(f[t>>2]|0)+36>>2];t=24}break}default:{f[m>>2]=-5;A=f[m>>2]|0;h=E;return A|0}}}while(0);if((t|0)==24){f[m>>2]=0;A=f[m>>2]|0;h=E;return A|0}else if((t|0)==25){f[m>>2]=-1;A=f[m>>2]|0;h=E;return A|0}return 0}function pf(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m,E,A,S,R,T,M,x){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;E=E|0;A=A|0;S=S|0;R=R|0;T=T|0;M=M|0;x=x|0;var O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0;Ne=h;h=h+256|0;O=Ne+240|0;Ie=Ne+236|0;N=Ne+232|0;W=Ne+228|0;Z=Ne+224|0;V=Ne+220|0;J=Ne+216|0;G=Ne+212|0;K=Ne+208|0;X=Ne+204|0;L=Ne+200|0;P=Ne+196|0;I=Ne+192|0;C=Ne+188|0;U=Ne+184|0;Fe=Ne+180|0;B=Ne+176|0;j=Ne+172|0;Ce=Ne+168|0;D=Ne+164|0;F=Ne+160|0;z=Ne+156|0;Y=Ne+152|0;Ue=Ne+148|0;H=Ne+144|0;q=Ne+140|0;ue=Ne+136|0;ce=Ne+132|0;je=Ne+128|0;oe=Ne+124|0;ae=Ne+120|0;ne=Ne+116|0;be=Ne+112|0;le=Ne+108|0;ie=Ne+104|0;ee=Ne+100|0;we=Ne+96|0;pe=Ne+92|0;ke=Ne+88|0;Ae=Ne+84|0;Te=Ne+80|0;Se=Ne+76|0;Re=Ne+72|0;fe=Ne+68|0;te=Ne+64|0;_e=Ne+60|0;me=Ne+56|0;Ee=Ne+52|0;se=Ne+48|0;Q=Ne+44|0;Pe=Ne+40|0;$=Ne+36|0;Oe=Ne+32|0;Le=Ne+28|0;Me=Ne+24|0;ve=Ne+20|0;xe=Ne+16|0;ge=Ne+12|0;De=Ne+8|0;ye=Ne+4|0;Be=Ne;f[O>>2]=e;f[Ie>>2]=r;f[N>>2]=i;f[W>>2]=a;f[Z>>2]=o;f[V>>2]=l;f[J>>2]=s;f[G>>2]=u;f[K>>2]=c;f[X>>2]=b;f[L>>2]=w;f[P>>2]=k;f[I>>2]=d;f[C>>2]=p;f[U>>2]=v;f[Fe>>2]=g;f[B>>2]=y;f[j>>2]=_;f[Ce>>2]=m;f[D>>2]=E;f[F>>2]=A;f[z>>2]=S;f[Y>>2]=R;f[Ue>>2]=T;f[H>>2]=M;f[q>>2]=x;l=f[Ue>>2]|0;f[Be>>2]=he()|0;g=h;h=h+((1*(l*48|0)|0)+15&-16)|0;f[xe>>2]=(f[O>>2]|0)+1280+((f[(f[O>>2]|0)+4364>>2]|0)-(f[P>>2]|0)+1<<2);f[ve>>2]=(f[J>>2]|0)+((f[(f[O>>2]|0)+4360>>2]|0)-(f[P>>2]|0)+2<<2);f[$>>2]=f[Fe>>2]>>6;f[ue>>2]=0;while(1){if((f[ue>>2]|0)>=(f[Ce>>2]|0))break;if((f[N>>2]|0)==2){f[ie>>2]=2;Fe=re(f[f[ve>>2]>>2]>>16,n[f[X>>2]>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[f[ve>>2]>>2]&65535,n[f[X>>2]>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-4>>2]>>16,n[(f[X>>2]|0)+2>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-4>>2]&65535,n[(f[X>>2]|0)+2>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-8>>2]>>16,n[(f[X>>2]|0)+4>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-8>>2]&65535,n[(f[X>>2]|0)+4>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-12>>2]>>16,n[(f[X>>2]|0)+6>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-12>>2]&65535,n[(f[X>>2]|0)+6>>1]|0)|0)>>16));Fe=re(f[(f[ve>>2]|0)+-16>>2]>>16,n[(f[X>>2]|0)+8>>1]|0)|0;f[ie>>2]=(f[ie>>2]|0)+(Fe+((re(f[(f[ve>>2]|0)+-16>>2]&65535,n[(f[X>>2]|0)+8>>1]|0)|0)>>16));f[ie>>2]=f[ie>>2]<<1;f[ve>>2]=(f[ve>>2]|0)+4}else f[ie>>2]=0;if((f[P>>2]|0)>0){Fe=re((f[f[xe>>2]>>2]|0)+(f[(f[xe>>2]|0)+-8>>2]|0)>>16,(f[I>>2]&65535)<<16>>16)|0;f[pe>>2]=Fe+((re((f[f[xe>>2]>>2]|0)+(f[(f[xe>>2]|0)+-8>>2]|0)&65535,(f[I>>2]&65535)<<16>>16)|0)>>16);Fe=(f[pe>>2]|0)+(re(f[(f[xe>>2]|0)+-4>>2]>>16,f[I>>2]>>16)|0)|0;f[pe>>2]=Fe+((re(f[(f[xe>>2]|0)+-4>>2]&65535,f[I>>2]>>16)|0)>>16);f[pe>>2]=(f[ie>>2]|0)-(f[pe>>2]<<2);f[xe>>2]=(f[xe>>2]|0)+4}else f[pe>>2]=0;f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);f[ye>>2]=g+((f[je>>2]|0)*48|0);Fe=907633515+(re(f[(f[De>>2]|0)+1156>>2]|0,196314165)|0)|0;f[(f[De>>2]|0)+1156>>2]=Fe;f[ge>>2]=(f[De>>2]|0)+(31+(f[ue>>2]|0)<<2);f[ee>>2]=f[z>>2]>>1;Fe=re(f[f[ge>>2]>>2]>>16,n[f[K>>2]>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[f[ge>>2]>>2]&65535,n[f[K>>2]>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-4>>2]>>16,n[(f[K>>2]|0)+2>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-4>>2]&65535,n[(f[K>>2]|0)+2>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-8>>2]>>16,n[(f[K>>2]|0)+4>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-8>>2]&65535,n[(f[K>>2]|0)+4>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-12>>2]>>16,n[(f[K>>2]|0)+6>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-12>>2]&65535,n[(f[K>>2]|0)+6>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-16>>2]>>16,n[(f[K>>2]|0)+8>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-16>>2]&65535,n[(f[K>>2]|0)+8>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-20>>2]>>16,n[(f[K>>2]|0)+10>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-20>>2]&65535,n[(f[K>>2]|0)+10>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-24>>2]>>16,n[(f[K>>2]|0)+12>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-24>>2]&65535,n[(f[K>>2]|0)+12>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-28>>2]>>16,n[(f[K>>2]|0)+14>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-28>>2]&65535,n[(f[K>>2]|0)+14>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-32>>2]>>16,n[(f[K>>2]|0)+16>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-32>>2]&65535,n[(f[K>>2]|0)+16>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-36>>2]>>16,n[(f[K>>2]|0)+18>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-36>>2]&65535,n[(f[K>>2]|0)+18>>1]|0)|0)>>16));if((f[z>>2]|0)==16){Fe=re(f[(f[ge>>2]|0)+-40>>2]>>16,n[(f[K>>2]|0)+20>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-40>>2]&65535,n[(f[K>>2]|0)+20>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-44>>2]>>16,n[(f[K>>2]|0)+22>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-44>>2]&65535,n[(f[K>>2]|0)+22>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-48>>2]>>16,n[(f[K>>2]|0)+24>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-48>>2]&65535,n[(f[K>>2]|0)+24>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-52>>2]>>16,n[(f[K>>2]|0)+26>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-52>>2]&65535,n[(f[K>>2]|0)+26>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-56>>2]>>16,n[(f[K>>2]|0)+28>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-56>>2]&65535,n[(f[K>>2]|0)+28>>1]|0)|0)>>16));Fe=re(f[(f[ge>>2]|0)+-60>>2]>>16,n[(f[K>>2]|0)+30>>1]|0)|0;f[ee>>2]=(f[ee>>2]|0)+(Fe+((re(f[(f[ge>>2]|0)+-60>>2]&65535,n[(f[K>>2]|0)+30>>1]|0)|0)>>16))}f[ee>>2]=f[ee>>2]<<4;Fe=re(f[(f[De>>2]|0)+1088>>2]>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Le>>2]=(f[f[ge>>2]>>2]|0)+(Fe+((re(f[(f[De>>2]|0)+1088>>2]&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));Fe=re((f[(f[De>>2]|0)+1088+4>>2]|0)-(f[Le>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Oe>>2]=(f[(f[De>>2]|0)+1088>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+4>>2]|0)-(f[Le>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088>>2]=f[Le>>2];f[we>>2]=f[F>>2]>>1;Fe=re(f[Le>>2]>>16,n[f[L>>2]>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Le>>2]&65535,n[f[L>>2]>>1]|0)|0)>>16));f[ce>>2]=2;while(1){if((f[ce>>2]|0)>=(f[F>>2]|0))break;Fe=re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)-(f[Oe>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Le>>2]=(f[(f[De>>2]|0)+1088+((f[ce>>2]|0)-1<<2)>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)-(f[Oe>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088+((f[ce>>2]|0)-1<<2)>>2]=f[Oe>>2];Fe=re(f[Oe>>2]>>16,n[(f[L>>2]|0)+((f[ce>>2]|0)-1<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Oe>>2]&65535,n[(f[L>>2]|0)+((f[ce>>2]|0)-1<<1)>>1]|0)|0)>>16));Fe=re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+1<<2)>>2]|0)-(f[Le>>2]|0)>>16,(f[Y>>2]&65535)<<16>>16)|0;f[Oe>>2]=(f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]|0)+(Fe+((re((f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+1<<2)>>2]|0)-(f[Le>>2]|0)&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));f[(f[De>>2]|0)+1088+((f[ce>>2]|0)+0<<2)>>2]=f[Le>>2];Fe=re(f[Le>>2]>>16,n[(f[L>>2]|0)+(f[ce>>2]<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Le>>2]&65535,n[(f[L>>2]|0)+(f[ce>>2]<<1)>>1]|0)|0)>>16));f[ce>>2]=(f[ce>>2]|0)+2}f[(f[De>>2]|0)+1088+((f[F>>2]|0)-1<<2)>>2]=f[Oe>>2];Fe=re(f[Oe>>2]>>16,n[(f[L>>2]|0)+((f[F>>2]|0)-1<<1)>>1]|0)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[Oe>>2]&65535,n[(f[L>>2]|0)+((f[F>>2]|0)-1<<1)>>1]|0)|0)>>16));f[we>>2]=f[we>>2]<<1;Fe=re(f[(f[De>>2]|0)+1152>>2]>>16,(f[C>>2]&65535)<<16>>16)|0;f[we>>2]=(f[we>>2]|0)+(Fe+((re(f[(f[De>>2]|0)+1152>>2]&65535,(f[C>>2]&65535)<<16>>16)|0)>>16));f[we>>2]=f[we>>2]<<2;Fe=re(f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]>>16,(f[U>>2]&65535)<<16>>16)|0;f[ke>>2]=Fe+((re(f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]&65535,(f[U>>2]&65535)<<16>>16)|0)>>16);Fe=(f[ke>>2]|0)+(re(f[(f[De>>2]|0)+1152>>2]>>16,f[U>>2]>>16)|0)|0;f[ke>>2]=Fe+((re(f[(f[De>>2]|0)+1152>>2]&65535,f[U>>2]>>16)|0)>>16);f[ke>>2]=f[ke>>2]<<2;f[Oe>>2]=(f[we>>2]|0)+(f[ke>>2]|0);f[Le>>2]=(f[pe>>2]|0)+(f[ee>>2]|0);f[Oe>>2]=(f[Le>>2]|0)-(f[Oe>>2]|0);f[Oe>>2]=(f[Oe>>2]>>3)+1>>1;f[Ae>>2]=(f[(f[W>>2]|0)+(f[ue>>2]<<2)>>2]|0)-(f[Oe>>2]|0);if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[Ae>>2]=0-(f[Ae>>2]|0);if((f[Ae>>2]|0)>30720)w=30720;else w=(f[Ae>>2]|0)<-31744?-31744:f[Ae>>2]|0;f[Ae>>2]=w;f[me>>2]=(f[Ae>>2]|0)-(f[j>>2]|0);f[_e>>2]=f[me>>2]>>10;w=f[_e>>2]|0;do{if((f[_e>>2]|0)<=0){if(!w){f[me>>2]=f[j>>2];f[Ee>>2]=(f[me>>2]|0)+944;f[Se>>2]=re((f[me>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}if((f[_e>>2]|0)==-1){f[Ee>>2]=f[j>>2];f[me>>2]=(f[Ee>>2]|0)-944;f[Se>>2]=re((0-(f[me>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}else{f[me>>2]=(f[_e>>2]<<10)+80;f[me>>2]=(f[me>>2]|0)+(f[j>>2]|0);f[Ee>>2]=(f[me>>2]|0)+1024;f[Se>>2]=re((0-(f[me>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((0-(f[Ee>>2]|0)&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;break}}else{f[me>>2]=(w<<10)-80;f[me>>2]=(f[me>>2]|0)+(f[j>>2]|0);f[Ee>>2]=(f[me>>2]|0)+1024;f[Se>>2]=re((f[me>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0;f[Re>>2]=re((f[Ee>>2]&65535)<<16>>16,(f[B>>2]&65535)<<16>>16)|0}}while(0);f[Te>>2]=(f[Ae>>2]|0)-(f[me>>2]|0);f[Se>>2]=(f[Se>>2]|0)+(re((f[Te>>2]&65535)<<16>>16,(f[Te>>2]&65535)<<16>>16)|0)>>10;f[Te>>2]=(f[Ae>>2]|0)-(f[Ee>>2]|0);f[Re>>2]=(f[Re>>2]|0)+(re((f[Te>>2]&65535)<<16>>16,(f[Te>>2]&65535)<<16>>16)|0)>>10;w=f[(f[De>>2]|0)+1164>>2]|0;if((f[Se>>2]|0)<(f[Re>>2]|0)){f[(f[ye>>2]|0)+4>>2]=w+(f[Se>>2]|0);f[(f[ye>>2]|0)+24+4>>2]=(f[(f[De>>2]|0)+1164>>2]|0)+(f[Re>>2]|0);f[f[ye>>2]>>2]=f[me>>2];f[(f[ye>>2]|0)+24>>2]=f[Ee>>2]}else{f[(f[ye>>2]|0)+4>>2]=w+(f[Re>>2]|0);f[(f[ye>>2]|0)+24+4>>2]=(f[(f[De>>2]|0)+1164>>2]|0)+(f[Se>>2]|0);f[f[ye>>2]>>2]=f[Ee>>2];f[(f[ye>>2]|0)+24>>2]=f[me>>2]}f[se>>2]=f[f[ye>>2]>>2]<<4;if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[se>>2]=0-(f[se>>2]|0);f[Q>>2]=(f[se>>2]|0)+(f[ie>>2]|0);f[Pe>>2]=(f[Q>>2]|0)+(f[ee>>2]|0);f[Me>>2]=(f[Pe>>2]|0)-(f[we>>2]|0);f[(f[ye>>2]|0)+16>>2]=(f[Me>>2]|0)-(f[ke>>2]|0);f[(f[ye>>2]|0)+12>>2]=f[Me>>2];f[(f[ye>>2]|0)+20>>2]=f[Q>>2];f[(f[ye>>2]|0)+8>>2]=f[Pe>>2];f[se>>2]=f[(f[ye>>2]|0)+24>>2]<<4;if((f[(f[De>>2]|0)+1156>>2]|0)<0)f[se>>2]=0-(f[se>>2]|0);f[Q>>2]=(f[se>>2]|0)+(f[ie>>2]|0);f[Pe>>2]=(f[Q>>2]|0)+(f[ee>>2]|0);f[Me>>2]=(f[Pe>>2]|0)-(f[we>>2]|0);f[(f[ye>>2]|0)+24+16>>2]=(f[Me>>2]|0)-(f[ke>>2]|0);f[(f[ye>>2]|0)+24+12>>2]=f[Me>>2];f[(f[ye>>2]|0)+24+20>>2]=f[Q>>2];f[(f[ye>>2]|0)+24+8>>2]=f[Pe>>2];f[je>>2]=(f[je>>2]|0)+1}f[f[H>>2]>>2]=(f[f[H>>2]>>2]|0)-1&31;f[be>>2]=(f[f[H>>2]>>2]|0)+(f[q>>2]|0)&31;f[fe>>2]=f[g+4>>2];f[oe>>2]=0;f[je>>2]=1;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[g+((f[je>>2]|0)*48|0)+4>>2]|0)<(f[fe>>2]|0)){f[fe>>2]=f[g+((f[je>>2]|0)*48|0)+4>>2];f[oe>>2]=f[je>>2]}f[je>>2]=(f[je>>2]|0)+1}f[le>>2]=f[(f[Ie>>2]|0)+((f[oe>>2]|0)*1168|0)+448+(f[be>>2]<<2)>>2];f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0)+448+(f[be>>2]<<2)>>2]|0)!=(f[le>>2]|0)){f[g+((f[je>>2]|0)*48|0)+4>>2]=(f[g+((f[je>>2]|0)*48|0)+4>>2]|0)+134217727;f[g+((f[je>>2]|0)*48|0)+24+4>>2]=(f[g+((f[je>>2]|0)*48|0)+24+4>>2]|0)+134217727}f[je>>2]=(f[je>>2]|0)+1}f[te>>2]=f[g+4>>2];f[fe>>2]=f[g+24+4>>2];f[ne>>2]=0;f[ae>>2]=0;f[je>>2]=1;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;if((f[g+((f[je>>2]|0)*48|0)+4>>2]|0)>(f[te>>2]|0)){f[te>>2]=f[g+((f[je>>2]|0)*48|0)+4>>2];f[ne>>2]=f[je>>2]}if((f[g+((f[je>>2]|0)*48|0)+24+4>>2]|0)<(f[fe>>2]|0)){f[fe>>2]=f[g+((f[je>>2]|0)*48|0)+24+4>>2];f[ae>>2]=f[je>>2]}f[je>>2]=(f[je>>2]|0)+1}if((f[fe>>2]|0)<(f[te>>2]|0)){gs((f[Ie>>2]|0)+((f[ne>>2]|0)*1168|0)+(f[ue>>2]<<2)|0,(f[Ie>>2]|0)+((f[ae>>2]|0)*1168|0)+(f[ue>>2]<<2)|0,1168-(f[ue>>2]<<2)|0)|0;Fe=g+((f[ne>>2]|0)*48|0)|0;l=g+((f[ae>>2]|0)*48|0)+24|0;f[Fe>>2]=f[l>>2];f[Fe+4>>2]=f[l+4>>2];f[Fe+8>>2]=f[l+8>>2];f[Fe+12>>2]=f[l+12>>2];f[Fe+16>>2]=f[l+16>>2];f[Fe+20>>2]=f[l+20>>2]}f[De>>2]=(f[Ie>>2]|0)+((f[oe>>2]|0)*1168|0);if(!((f[D>>2]|0)<=0?(f[ue>>2]|0)<(f[q>>2]|0):0)){t[(f[Z>>2]|0)+((f[ue>>2]|0)-(f[q>>2]|0))>>0]=(f[(f[De>>2]|0)+576+(f[be>>2]<<2)>>2]>>9)+1>>1;Fe=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;Fe=Fe+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Fe+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){Fe=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;Fe=Fe+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Fe+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)w=-32768;else{w=re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]>>16,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0;w=w+((re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]&65535,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;w=(w+(re(f[(f[De>>2]|0)+704+(f[be>>2]<<2)>>2]|0,(f[(f[G>>2]|0)+(f[be>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1}}else w=32767;n[(f[V>>2]|0)+((f[ue>>2]|0)-(f[q>>2]|0)<<1)>>1]=w;f[(f[O>>2]|0)+1280+((f[(f[O>>2]|0)+4364>>2]|0)-(f[q>>2]|0)<<2)>>2]=f[(f[De>>2]|0)+960+(f[be>>2]<<2)>>2];f[(f[J>>2]|0)+((f[(f[O>>2]|0)+4360>>2]|0)-(f[q>>2]|0)<<2)>>2]=f[(f[De>>2]|0)+832+(f[be>>2]<<2)>>2]}Fe=(f[O>>2]|0)+4364|0;f[Fe>>2]=(f[Fe>>2]|0)+1;Fe=(f[O>>2]|0)+4360|0;f[Fe>>2]=(f[Fe>>2]|0)+1;f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);f[ye>>2]=g+((f[je>>2]|0)*48|0);f[(f[De>>2]|0)+1152>>2]=f[(f[ye>>2]|0)+12>>2];f[(f[De>>2]|0)+(32+(f[ue>>2]|0)<<2)>>2]=f[(f[ye>>2]|0)+8>>2];f[(f[De>>2]|0)+704+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+8>>2];f[(f[De>>2]|0)+576+(f[f[H>>2]>>2]<<2)>>2]=f[f[ye>>2]>>2];f[(f[De>>2]|0)+832+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+20>>2]<<1;f[(f[De>>2]|0)+960+(f[f[H>>2]>>2]<<2)>>2]=f[(f[ye>>2]|0)+16>>2];f[(f[De>>2]|0)+1156>>2]=(f[(f[De>>2]|0)+1156>>2]|0)+((f[f[ye>>2]>>2]>>9)+1>>1);f[(f[De>>2]|0)+448+(f[f[H>>2]>>2]<<2)>>2]=f[(f[De>>2]|0)+1156>>2];f[(f[De>>2]|0)+1164>>2]=f[(f[ye>>2]|0)+4>>2];f[je>>2]=(f[je>>2]|0)+1}f[(f[G>>2]|0)+(f[f[H>>2]>>2]<<2)>>2]=f[$>>2];f[ue>>2]=(f[ue>>2]|0)+1}f[je>>2]=0;while(1){if((f[je>>2]|0)>=(f[Ue>>2]|0))break;f[De>>2]=(f[Ie>>2]|0)+((f[je>>2]|0)*1168|0);w=f[De>>2]|0;g=(f[De>>2]|0)+(f[Ce>>2]<<2)|0;d=w+128|0;do{f[w>>2]=f[g>>2];w=w+4|0;g=g+4|0}while((w|0)<(d|0));f[je>>2]=(f[je>>2]|0)+1}de(f[Be>>2]|0);h=Ne;return}function vf(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;f[(f[i>>2]|0)+4168>>2]=f[(f[i>>2]|0)+2328>>2]<<7;f[(f[i>>2]|0)+4168+72>>2]=65536;f[(f[i>>2]|0)+4168+72+4>>2]=65536;f[(f[i>>2]|0)+4168+88>>2]=20;f[(f[i>>2]|0)+4168+84>>2]=2;h=r;return}function gf(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;o=c+16|0;a=c+12|0;l=c+8|0;s=c+4|0;u=c;f[o>>2]=e;f[a>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;if((f[(f[o>>2]|0)+2316>>2]|0)!=(f[(f[o>>2]|0)+4168+80>>2]|0)){vf(f[o>>2]|0);f[(f[o>>2]|0)+4168+80>>2]=f[(f[o>>2]|0)+2316>>2]}i=f[o>>2]|0;n=f[a>>2]|0;if(f[s>>2]|0){yf(i,n,f[l>>2]|0,f[u>>2]|0);u=(f[o>>2]|0)+4160|0;f[u>>2]=(f[u>>2]|0)+1;h=c;return}else{xf(i,n);h=c;return}}function yf(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+176|0;S=N+120|0;R=N+116|0;T=N+112|0;c=N+108|0;L=N+104|0;P=N+100|0;y=N+96|0;I=N+92|0;p=N+88|0;A=N+84|0;s=N+80|0;u=N+76|0;j=N+72|0;d=N+68|0;m=N+64|0;g=N+60|0;o=N+56|0;l=N+52|0;E=N+48|0;_=N+44|0;O=N+40|0;w=N+36|0;B=N+160|0;b=N+32|0;D=N+28|0;x=N+128|0;U=N+24|0;C=N+16|0;M=N+8|0;v=N+4|0;k=N;f[S>>2]=e;f[R>>2]=r;f[T>>2]=i;f[c>>2]=t;f[U>>2]=(f[S>>2]|0)+4168;a=(f[(f[S>>2]|0)+2336>>2]|0)+(f[(f[S>>2]|0)+2328>>2]|0)|0;f[M>>2]=he()|0;r=h;h=h+((1*(a<<2)|0)+15&-16)|0;a=h;h=h+((1*(f[(f[S>>2]|0)+2336>>2]<<1)|0)+15&-16)|0;f[C>>2]=f[(f[U>>2]|0)+72>>2]>>6;f[C+4>>2]=f[(f[U>>2]|0)+72+4>>2]>>6;if(f[(f[S>>2]|0)+2376>>2]|0){i=(f[U>>2]|0)+14|0;e=i+32|0;do{n[i>>1]=0;i=i+2|0}while((i|0)<(e|0))}_f(o,s,l,u,(f[S>>2]|0)+4|0,C,f[(f[S>>2]|0)+2332>>2]|0,f[(f[S>>2]|0)+2324>>2]|0);t=f[(f[U>>2]|0)+84>>2]|0;if((f[o>>2]>>f[u>>2]|0)<(f[l>>2]>>f[s>>2]|0)){u=mf(0,(re(t-1|0,f[(f[U>>2]|0)+88>>2]|0)|0)-128|0)|0;f[E>>2]=(f[S>>2]|0)+4+(u<<2)}else{u=mf(0,(re(t,f[(f[U>>2]|0)+88>>2]|0)|0)-128|0)|0;f[E>>2]=(f[S>>2]|0)+4+(u<<2)}f[b>>2]=(f[U>>2]|0)+4;n[B>>1]=n[(f[U>>2]|0)+56>>1]|0;f[d>>2]=n[24440+((Ef(1,f[(f[S>>2]|0)+4160>>2]|0)|0)<<1)>>1];u=(f[(f[S>>2]|0)+4164>>2]|0)==2;t=Ef(1,f[(f[S>>2]|0)+4160>>2]|0)|0;if(u)f[m>>2]=n[24444+(t<<1)>>1];else f[m>>2]=n[24448+(t<<1)>>1];Ia((f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]|0,64881);gs(x|0,(f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]<<1|0)|0;do{if(!(f[(f[S>>2]|0)+4160>>2]|0)){n[B>>1]=16384;if((f[(f[S>>2]|0)+4164>>2]|0)!=2){f[v>>2]=Ya((f[U>>2]|0)+14|0,f[(f[S>>2]|0)+2340>>2]|0)|0;f[k>>2]=Sf(134217728,f[v>>2]|0)|0;f[k>>2]=Rf(4194304,f[k>>2]|0)|0;f[k>>2]=f[k>>2]<<3;v=re(f[k>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[m>>2]=v+((re(f[k>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)>>14;break}f[L>>2]=0;while(1){if((f[L>>2]|0)>=5)break;n[B>>1]=(n[B>>1]|0)-(n[(f[b>>2]|0)+(f[L>>2]<<1)>>1]|0);f[L>>2]=(f[L>>2]|0)+1}n[B>>1]=Af(3277,n[B>>1]|0)|0;n[B>>1]=(re(n[B>>1]|0,n[(f[U>>2]|0)+68>>1]|0)|0)>>14}}while(0);f[j>>2]=f[(f[U>>2]|0)+52>>2];f[I>>2]=(f[f[U>>2]>>2]>>7)+1>>1;f[A>>2]=f[(f[S>>2]|0)+2336>>2];f[p>>2]=(f[(f[S>>2]|0)+2336>>2]|0)-(f[I>>2]|0)-(f[(f[S>>2]|0)+2340>>2]|0)-2;za(a+(f[p>>2]<<1)|0,(f[S>>2]|0)+1348+(f[p>>2]<<1)|0,x,(f[(f[S>>2]|0)+2336>>2]|0)-(f[p>>2]|0)|0,f[(f[S>>2]|0)+2340>>2]|0,f[c>>2]|0);f[g>>2]=Tf(f[(f[U>>2]|0)+72+4>>2]|0,46)|0;f[g>>2]=(f[g>>2]|0)<1073741823?f[g>>2]|0:1073741823;f[L>>2]=(f[p>>2]|0)+(f[(f[S>>2]|0)+2340>>2]|0);while(1){if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2336>>2]|0))break;v=re(f[g>>2]>>16,n[a+(f[L>>2]<<1)>>1]|0)|0;v=v+((re(f[g>>2]&65535,n[a+(f[L>>2]<<1)>>1]|0)|0)>>16)|0;f[r+(f[L>>2]<<2)>>2]=v;f[L>>2]=(f[L>>2]|0)+1}f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[(f[S>>2]|0)+2324>>2]|0))break;f[_>>2]=r+((f[A>>2]|0)-(f[I>>2]|0)+2<<2);f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2332>>2]|0))break;f[w>>2]=2;g=re(f[f[_>>2]>>2]>>16,n[f[b>>2]>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[f[_>>2]>>2]&65535,n[f[b>>2]>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-4>>2]>>16,n[(f[b>>2]|0)+2>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-4>>2]&65535,n[(f[b>>2]|0)+2>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-8>>2]>>16,n[(f[b>>2]|0)+4>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-8>>2]&65535,n[(f[b>>2]|0)+4>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-12>>2]>>16,n[(f[b>>2]|0)+6>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-12>>2]&65535,n[(f[b>>2]|0)+6>>1]|0)|0)>>16));g=re(f[(f[_>>2]|0)+-16>>2]>>16,n[(f[b>>2]|0)+8>>1]|0)|0;f[w>>2]=(f[w>>2]|0)+(g+((re(f[(f[_>>2]|0)+-16>>2]&65535,n[(f[b>>2]|0)+8>>1]|0)|0)>>16));f[_>>2]=(f[_>>2]|0)+4;f[j>>2]=907633515+(re(f[j>>2]|0,196314165)|0);f[p>>2]=f[j>>2]>>25&127;g=re(f[(f[E>>2]|0)+(f[p>>2]<<2)>>2]>>16,n[B>>1]|0)|0;g=(f[w>>2]|0)+(g+((re(f[(f[E>>2]|0)+(f[p>>2]<<2)>>2]&65535,n[B>>1]|0)|0)>>16))<<2;f[r+(f[A>>2]<<2)>>2]=g;f[A>>2]=(f[A>>2]|0)+1;f[L>>2]=(f[L>>2]|0)+1}f[P>>2]=0;while(1){if((f[P>>2]|0)>=5)break;g=(re((f[d>>2]&65535)<<16>>16,n[(f[b>>2]|0)+(f[P>>2]<<1)>>1]|0)|0)>>15&65535;n[(f[b>>2]|0)+(f[P>>2]<<1)>>1]=g;f[P>>2]=(f[P>>2]|0)+1}n[B>>1]=(re(n[B>>1]|0,(f[m>>2]&65535)<<16>>16)|0)>>15;f[f[U>>2]>>2]=(f[f[U>>2]>>2]|0)+(((f[f[U>>2]>>2]>>16)*655|0)+((f[f[U>>2]>>2]&65535)*655>>16));g=Sf(f[f[U>>2]>>2]|0,((f[(f[S>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8)|0;f[f[U>>2]>>2]=g;f[I>>2]=(f[f[U>>2]>>2]>>7)+1>>1;f[y>>2]=(f[y>>2]|0)+1}f[D>>2]=r+((f[(f[S>>2]|0)+2336>>2]|0)-16<<2);i=f[D>>2]|0;t=(f[S>>2]|0)+1284|0;e=i+64|0;do{f[i>>2]=f[t>>2];i=i+4|0;t=t+4|0}while((i|0)<(e|0));f[L>>2]=0;while(1){t=f[S>>2]|0;if((f[L>>2]|0)>=(f[(f[S>>2]|0)+2328>>2]|0))break;f[O>>2]=f[t+2340>>2]>>1;A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-1<<2)>>2]>>16,n[x>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-1<<2)>>2]&65535,n[x>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-2<<2)>>2]>>16,n[x+2>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-2<<2)>>2]&65535,n[x+2>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-3<<2)>>2]>>16,n[x+4>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-3<<2)>>2]&65535,n[x+4>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-4<<2)>>2]>>16,n[x+6>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-4<<2)>>2]&65535,n[x+6>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-5<<2)>>2]>>16,n[x+8>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-5<<2)>>2]&65535,n[x+8>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-6<<2)>>2]>>16,n[x+10>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-6<<2)>>2]&65535,n[x+10>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-7<<2)>>2]>>16,n[x+12>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-7<<2)>>2]&65535,n[x+12>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-8<<2)>>2]>>16,n[x+14>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-8<<2)>>2]&65535,n[x+14>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-9<<2)>>2]>>16,n[x+16>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-9<<2)>>2]&65535,n[x+16>>1]|0)|0)>>16));A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-10<<2)>>2]>>16,n[x+18>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-10<<2)>>2]&65535,n[x+18>>1]|0)|0)>>16));f[P>>2]=10;while(1){if((f[P>>2]|0)>=(f[(f[S>>2]|0)+2340>>2]|0))break;A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-(f[P>>2]|0)-1<<2)>>2]>>16,n[x+(f[P>>2]<<1)>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)-(f[P>>2]|0)-1<<2)>>2]&65535,n[x+(f[P>>2]<<1)>>1]|0)|0)>>16));f[P>>2]=(f[P>>2]|0)+1}f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]=(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0)+(f[O>>2]<<4);A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767;if((t|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767;if((t|0)>=-32768){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){A=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;A=A+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((A+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)t=-32768;else{t=re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]>>16,(f[C+4>>2]&65535)<<16>>16)|0;t=t+((re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]&65535,(f[C+4>>2]&65535)<<16>>16)|0)>>16)|0;t=(t+(re(f[(f[D>>2]|0)+(16+(f[L>>2]|0)<<2)>>2]|0,(f[C+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else t=32767}else t=-32768}else t=32767;n[(f[T>>2]|0)+(f[L>>2]<<1)>>1]=t;f[L>>2]=(f[L>>2]|0)+1}i=t+1284|0;t=(f[D>>2]|0)+(f[(f[S>>2]|0)+2328>>2]<<2)|0;e=i+64|0;do{f[i>>2]=f[t>>2];i=i+4|0;t=t+4|0}while((i|0)<(e|0));f[(f[U>>2]|0)+52>>2]=f[j>>2];n[(f[U>>2]|0)+56>>1]=n[B>>1]|0;f[L>>2]=0;while(1){if((f[L>>2]|0)>=4)break;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=f[I>>2];f[L>>2]=(f[L>>2]|0)+1}de(f[M>>2]|0);h=N;return}function _f(e,r,i,t,a,o,l,s){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+48|0;u=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;d=E+24|0;p=E+20|0;v=E+16|0;_=E+12|0;m=E+8|0;y=E+4|0;g=E;f[u>>2]=e;f[c>>2]=r;f[b>>2]=i;f[w>>2]=t;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[v>>2]=s;l=f[p>>2]<<1;f[g>>2]=he()|0;e=h;h=h+((1*(l<<1)|0)+15&-16)|0;f[y>>2]=e;f[m>>2]=0;while(1){if((f[m>>2]|0)>=2)break;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[p>>2]|0))break;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=re(f[(f[k>>2]|0)+(l<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;t=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;t=l+((re(f[(f[k>>2]|0)+(t<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;if((t+(re(f[(f[k>>2]|0)+(l<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<=32767){l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=re(f[(f[k>>2]|0)+(l<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;t=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;t=l+((re(f[(f[k>>2]|0)+(t<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;if((t+(re(f[(f[k>>2]|0)+(l<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<-32768)i=-32768;else{i=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;i=re(f[(f[k>>2]|0)+(i<<2)>>2]>>16,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0;l=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;l=i+((re(f[(f[k>>2]|0)+(l<<2)>>2]&65535,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=(f[_>>2]|0)+(re((f[m>>2]|0)+(f[v>>2]|0)-2|0,f[p>>2]|0)|0)|0;i=l+(re(f[(f[k>>2]|0)+(i<<2)>>2]|0,(f[(f[d>>2]|0)+(f[m>>2]<<2)>>2]>>15)+1>>1)|0)>>8}}else i=32767;n[(f[y>>2]|0)+(f[_>>2]<<1)>>1]=i;f[_>>2]=(f[_>>2]|0)+1}f[y>>2]=(f[y>>2]|0)+(f[p>>2]<<1);f[m>>2]=(f[m>>2]|0)+1}Si(f[u>>2]|0,f[c>>2]|0,e,f[p>>2]|0);Si(f[b>>2]|0,f[w>>2]|0,e+(f[p>>2]<<1)|0,f[p>>2]|0);de(f[g>>2]|0);h=E;return}function mf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ef(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Af(e,r){e=e|0;r=r|0;var i=0,t=0,f=0;f=h;h=h+16|0;t=f+2|0;i=f;n[t>>1]=e;n[i>>1]=r;h=f;return((n[t>>1]|0)>(n[i>>1]|0)?n[t>>1]|0:n[i>>1]|0)&65535|0}function Sf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Rf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Tf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(Mf((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Mf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function xf(e,r){e=e|0;r=r|0;var i=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;i=p+40|0;a=p+36|0;o=p+32|0;w=p+28|0;l=p+24|0;s=p+20|0;u=p+16|0;c=p+12|0;k=p+8|0;b=p+4|0;d=p;f[i>>2]=e;f[a>>2]=r;f[u>>2]=(f[i>>2]|0)+4168;f[(f[i>>2]|0)+4164>>2]=t[(f[i>>2]|0)+2736+29>>0];f[o>>2]=0;e:do{if((t[(f[i>>2]|0)+2736+29>>0]|0)==2){f[s>>2]=0;while(1){r=re(f[s>>2]|0,f[(f[i>>2]|0)+2332>>2]|0)|0;if((r|0)>=(f[(f[a>>2]|0)+((f[(f[i>>2]|0)+2324>>2]|0)-1<<2)>>2]|0))break;if((f[s>>2]|0)==(f[(f[i>>2]|0)+2324>>2]|0))break;f[w>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break;f[w>>2]=(f[w>>2]|0)+(n[(f[a>>2]|0)+96+((((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)|0)*5|0)+(f[l>>2]|0)<<1)>>1]|0);f[l>>2]=(f[l>>2]|0)+1}if((f[w>>2]|0)>(f[o>>2]|0)){f[o>>2]=f[w>>2];r=(f[u>>2]|0)+4|0;e=(f[a>>2]|0)+96+((((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)&65535)<<16>>16)*5<<1)|0;n[r>>1]=n[e>>1]|0;n[r+2>>1]=n[e+2>>1]|0;n[r+4>>1]=n[e+4>>1]|0;n[r+6>>1]=n[e+6>>1]|0;n[r+8>>1]=n[e+8>>1]|0;f[f[u>>2]>>2]=f[(f[a>>2]|0)+((f[(f[i>>2]|0)+2324>>2]|0)-1-(f[s>>2]|0)<<2)>>2]<<8}f[s>>2]=(f[s>>2]|0)+1}w=(f[u>>2]|0)+4|0;f[w>>2]=0;f[w+4>>2]=0;n[w+8>>1]=0;n[(f[u>>2]|0)+4+4>>1]=f[o>>2];if((f[o>>2]|0)<11469){f[k>>2]=11744256;f[c>>2]=(f[k>>2]|0)/(((f[o>>2]|0)>1?f[o>>2]|0:1)|0)|0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break e;d=(re(n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]|0,(f[c>>2]&65535)<<16>>16)|0)>>10&65535;n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]=d;f[l>>2]=(f[l>>2]|0)+1}}if((f[o>>2]|0)>15565){f[d>>2]=255016960;f[b>>2]=(f[d>>2]|0)/(((f[o>>2]|0)>1?f[o>>2]|0:1)|0)|0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=5)break e;d=(re(n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]|0,(f[b>>2]&65535)<<16>>16)|0)>>14&65535;n[(f[u>>2]|0)+4+(f[l>>2]<<1)>>1]=d;f[l>>2]=(f[l>>2]|0)+1}}}else{f[f[u>>2]>>2]=((f[(f[i>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8;d=(f[u>>2]|0)+4|0;f[d>>2]=0;f[d+4>>2]=0;n[d+8>>1]=0}}while(0);gs((f[u>>2]|0)+14|0,(f[a>>2]|0)+32+32|0,f[(f[i>>2]|0)+2340>>2]<<1|0)|0;n[(f[u>>2]|0)+68>>1]=f[(f[a>>2]|0)+136>>2];d=(f[u>>2]|0)+72|0;k=(f[a>>2]|0)+16+((f[(f[i>>2]|0)+2324>>2]|0)-2<<2)|0;f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[(f[u>>2]|0)+88>>2]=f[(f[i>>2]|0)+2332>>2];f[(f[u>>2]|0)+84>>2]=f[(f[i>>2]|0)+2324>>2];h=p;return}function Of(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;t=p+40|0;a=p+36|0;o=p+32|0;w=p+28|0;u=p+24|0;s=p+20|0;k=p+16|0;c=p+12|0;l=p+8|0;b=p+4|0;d=p;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[k>>2]=(f[t>>2]|0)+4168;if(f[(f[t>>2]|0)+4160>>2]|0){Si((f[k>>2]|0)+60|0,(f[k>>2]|0)+64|0,f[a>>2]|0,f[o>>2]|0);f[(f[k>>2]|0)+48>>2]=1;h=p;return}e:do{if(f[(f[t>>2]|0)+4168+48>>2]|0){Si(s,u,f[a>>2]|0,f[o>>2]|0);if((f[u>>2]|0)<=(f[(f[k>>2]|0)+64>>2]|0)){if((f[u>>2]|0)<(f[(f[k>>2]|0)+64>>2]|0))f[s>>2]=f[s>>2]>>(f[(f[k>>2]|0)+64>>2]|0)-(f[u>>2]|0)}else f[(f[k>>2]|0)+60>>2]=f[(f[k>>2]|0)+60>>2]>>(f[u>>2]|0)-(f[(f[k>>2]|0)+64>>2]|0);if((f[s>>2]|0)>(f[(f[k>>2]|0)+60>>2]|0)){f[l>>2]=Mf(f[(f[k>>2]|0)+60>>2]|0)|0;f[l>>2]=(f[l>>2]|0)-1;f[(f[k>>2]|0)+60>>2]=f[(f[k>>2]|0)+60>>2]<>2];e=f[s>>2]|0;f[s>>2]=e>>(Rf(24-(f[l>>2]|0)|0,0)|0);f[c>>2]=(f[(f[k>>2]|0)+60>>2]|0)/(((f[s>>2]|0)>1?f[s>>2]|0:1)|0)|0;f[b>>2]=(Lf(f[c>>2]|0)|0)<<4;f[d>>2]=(65536-(f[b>>2]|0)|0)/(f[o>>2]|0)|0;f[d>>2]=f[d>>2]<<2;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[o>>2]|0))break e;e=re(f[b>>2]>>16,n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]|0)|0;e=e+((re(f[b>>2]&65535,n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]|0)|0)>>16)&65535;n[(f[a>>2]|0)+(f[w>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+(f[d>>2]|0);if((f[b>>2]|0)>65536)break e;f[w>>2]=(f[w>>2]|0)+1}}}}while(0);f[(f[k>>2]|0)+48>>2]=0;h=p;return}function Lf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Pf(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Pf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Mf(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(If(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function If(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Cf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;i=h;h=h+80|0;a=i+68|0;n=i+64|0;t=i+32|0;o=i+16|0;l=i+8|0;s=i;f[a>>2]=e;f[n>>2]=r;Uf(t,f[n>>2]|0,8);Uf(o,t,4);Uf(l,o,2);Uf(s,l,1);Bf(f[a>>2]|0,f[l>>2]|0,f[s>>2]|0,30015);Bf(f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,29863);Bf(f[a>>2]|0,f[t>>2]|0,f[o>>2]|0,29711);Bf(f[a>>2]|0,f[f[n>>2]>>2]|0,f[t>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+8>>2]|0,f[t+4>>2]|0,29559);Bf(f[a>>2]|0,f[t+8>>2]|0,f[o+4>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+16>>2]|0,f[t+8>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+24>>2]|0,f[t+12>>2]|0,29559);Bf(f[a>>2]|0,f[o+8>>2]|0,f[l+4>>2]|0,29863);Bf(f[a>>2]|0,f[t+16>>2]|0,f[o+8>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+32>>2]|0,f[t+16>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+40>>2]|0,f[t+20>>2]|0,29559);Bf(f[a>>2]|0,f[t+24>>2]|0,f[o+12>>2]|0,29711);Bf(f[a>>2]|0,f[(f[n>>2]|0)+48>>2]|0,f[t+24>>2]|0,29559);Bf(f[a>>2]|0,f[(f[n>>2]|0)+56>>2]|0,f[t+28>>2]|0,29559);h=i;return}function Uf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[a>>2]|0))break;f[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=(f[(f[n>>2]|0)+(f[o>>2]<<1<<2)>>2]|0)+(f[(f[n>>2]|0)+((f[o>>2]<<1)+1<<2)>>2]|0);f[o>>2]=(f[o>>2]|0)+1}h=l;return}function Bf(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,l=0,s=0,u=0;u=h;h=h+16|0;n=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;if((f[l>>2]|0)<=0){h=u;return}$e(f[n>>2]|0,f[o>>2]|0,(f[s>>2]|0)+(a[30167+(f[l>>2]|0)>>0]|0)|0,8);h=u;return}function jf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0;t=h;h=h+48|0;l=t+8|0;o=t+4|0;c=t;u=t+40|0;s=t+32|0;a=t+16|0;f[l>>2]=e;f[o>>2]=r;f[c>>2]=i;Df(u,u+2|0,f[o>>2]|0,f[c>>2]|0,30015);Df(s,s+2|0,f[o>>2]|0,n[u>>1]|0,29863);Df(a,a+2|0,f[o>>2]|0,n[s>>1]|0,29711);Df(f[l>>2]|0,(f[l>>2]|0)+2|0,f[o>>2]|0,n[a>>1]|0,29559);Df((f[l>>2]|0)+4|0,(f[l>>2]|0)+6|0,f[o>>2]|0,n[a+2>>1]|0,29559);Df(a+4|0,a+6|0,f[o>>2]|0,n[s+2>>1]|0,29711);Df((f[l>>2]|0)+8|0,(f[l>>2]|0)+10|0,f[o>>2]|0,n[a+4>>1]|0,29559);Df((f[l>>2]|0)+12|0,(f[l>>2]|0)+14|0,f[o>>2]|0,n[a+6>>1]|0,29559);Df(s+4|0,s+6|0,f[o>>2]|0,n[u+2>>1]|0,29863);Df(a+8|0,a+10|0,f[o>>2]|0,n[s+4>>1]|0,29711);Df((f[l>>2]|0)+16|0,(f[l>>2]|0)+18|0,f[o>>2]|0,n[a+8>>1]|0,29559);Df((f[l>>2]|0)+20|0,(f[l>>2]|0)+22|0,f[o>>2]|0,n[a+10>>1]|0,29559);Df(a+12|0,a+14|0,f[o>>2]|0,n[s+6>>1]|0,29711);Df((f[l>>2]|0)+24|0,(f[l>>2]|0)+26|0,f[o>>2]|0,n[a+12>>1]|0,29559);Df((f[l>>2]|0)+28|0,(f[l>>2]|0)+30|0,f[o>>2]|0,n[a+14>>1]|0,29559);h=t;return}function Df(e,r,i,t,o){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;l=w+16|0;s=w+12|0;u=w+8|0;c=w+4|0;b=w;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=o;if((f[c>>2]|0)>0){o=(Fe(f[u>>2]|0,(f[b>>2]|0)+(a[30167+(f[c>>2]|0)>>0]|0)|0,8)|0)&65535;n[f[l>>2]>>1]=o;n[f[s>>2]>>1]=(f[c>>2]|0)-(n[f[l>>2]>>1]|0);h=w;return}else{n[f[l>>2]>>1]=0;n[f[s>>2]>>1]=0;h=w;return}}function Nf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0;a=h;h=h+16|0;i=a+8|0;t=a+4|0;n=a;f[i>>2]=e;f[n>>2]=0;e=f[i>>2]|0;r=e+112|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(r|0));f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;r=Ff(50/((f[t>>2]|0)+1|0)|0,1)|0;f[(f[i>>2]|0)+92+(f[t>>2]<<2)>>2]=r;f[t>>2]=(f[t>>2]|0)+1}f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;f[(f[i>>2]|0)+60+(f[t>>2]<<2)>>2]=(f[(f[i>>2]|0)+92+(f[t>>2]<<2)>>2]|0)*100;f[(f[i>>2]|0)+76+(f[t>>2]<<2)>>2]=2147483647/(f[(f[i>>2]|0)+60+(f[t>>2]<<2)>>2]|0)|0;f[t>>2]=(f[t>>2]|0)+1}f[(f[i>>2]|0)+108>>2]=15;f[t>>2]=0;while(1){if((f[t>>2]|0)>=4)break;f[(f[i>>2]|0)+40+(f[t>>2]<<2)>>2]=25600;f[t>>2]=(f[t>>2]|0)+1}h=a;return f[n>>2]|0}function Ff(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function zf(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;M=h;h=h+144|0;v=M+132|0;L=M+128|0;_=M+124|0;d=M+120|0;k=M+116|0;O=M+112|0;x=M+108|0;s=M+104|0;o=M+100|0;l=M+96|0;m=M+92|0;u=M+88|0;E=M+84|0;c=M+80|0;p=M+76|0;R=M+72|0;i=M+136|0;w=M+56|0;y=M+40|0;T=M+36|0;b=M+32|0;a=M+16|0;S=M+8|0;A=M+4|0;g=M;f[v>>2]=e;f[L>>2]=r;f[S>>2]=0;f[A>>2]=(f[v>>2]|0)+32;f[O>>2]=f[(f[v>>2]|0)+4608>>2]>>1;f[x>>2]=f[(f[v>>2]|0)+4608>>2]>>2;f[s>>2]=f[(f[v>>2]|0)+4608>>2]>>3;f[a>>2]=0;f[a+4>>2]=(f[s>>2]|0)+(f[x>>2]|0);f[a+8>>2]=(f[a+4>>2]|0)+(f[s>>2]|0);f[a+12>>2]=(f[a+8>>2]|0)+(f[x>>2]|0);e=(f[a+12>>2]|0)+(f[O>>2]|0)|0;f[g>>2]=he()|0;t=h;h=h+((1*(e<<1)|0)+15&-16)|0;Oa(f[L>>2]|0,f[A>>2]|0,t,t+(f[a+12>>2]<<1)|0,f[(f[v>>2]|0)+4608>>2]|0);Oa(t,(f[A>>2]|0)+8|0,t,t+(f[a+8>>2]<<1)|0,f[O>>2]|0);Oa(t,(f[A>>2]|0)+16|0,t,t+(f[a+4>>2]<<1)|0,f[x>>2]|0);n[t+((f[s>>2]|0)-1<<1)>>1]=n[t+((f[s>>2]|0)-1<<1)>>1]>>1;n[i>>1]=n[t+((f[s>>2]|0)-1<<1)>>1]|0;f[u>>2]=(f[s>>2]|0)-1;while(1){if((f[u>>2]|0)<=0)break;n[t+((f[u>>2]|0)-1<<1)>>1]=n[t+((f[u>>2]|0)-1<<1)>>1]>>1;L=t+(f[u>>2]<<1)|0;n[L>>1]=(n[L>>1]|0)-(n[t+((f[u>>2]|0)-1<<1)>>1]|0);f[u>>2]=(f[u>>2]|0)+-1}n[t>>1]=(n[t>>1]|0)-(n[(f[A>>2]|0)+56>>1]|0);n[(f[A>>2]|0)+56>>1]=n[i>>1]|0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=f[(f[v>>2]|0)+4608>>2]|0;f[s>>2]=L>>(Yf(4-(f[E>>2]|0)|0,3)|0);f[o>>2]=f[s>>2]>>2;f[l>>2]=0;f[w+(f[E>>2]<<2)>>2]=f[(f[A>>2]|0)+24+(f[E>>2]<<2)>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=4)break;f[p>>2]=0;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[o>>2]|0))break;f[b>>2]=n[t+((f[a+(f[E>>2]<<2)>>2]|0)+(f[u>>2]|0)+(f[l>>2]|0)<<1)>>1]>>3;f[p>>2]=(f[p>>2]|0)+(re((f[b>>2]&65535)<<16>>16,(f[b>>2]&65535)<<16>>16)|0);f[u>>2]=(f[u>>2]|0)+1}r=f[w+(f[E>>2]<<2)>>2]|0;e=f[p>>2]|0;if((f[c>>2]|0)<3){if(r+e&-2147483648|0)r=2147483647;else r=(f[w+(f[E>>2]<<2)>>2]|0)+(f[p>>2]|0)|0;f[w+(f[E>>2]<<2)>>2]=r}else{if(r+(e>>1)&-2147483648|0)r=2147483647;else r=(f[w+(f[E>>2]<<2)>>2]|0)+(f[p>>2]>>1)|0;f[w+(f[E>>2]<<2)>>2]=r}f[l>>2]=(f[l>>2]|0)+(f[o>>2]|0);f[c>>2]=(f[c>>2]|0)+1}f[(f[A>>2]|0)+24+(f[E>>2]<<2)>>2]=f[p>>2];f[E>>2]=(f[E>>2]|0)+1}Hf(w,f[A>>2]|0);f[p>>2]=0;f[k>>2]=0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;f[T>>2]=(f[w+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0);r=f[E>>2]|0;if((f[T>>2]|0)>0){e=f[w+(f[E>>2]<<2)>>2]|0;if(!(f[w+(r<<2)>>2]&-8388608))f[y+(f[E>>2]<<2)>>2]=(e<<8|0)/((f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0)+1|0)|0;else f[y+(f[E>>2]<<2)>>2]=(e|0)/((f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]>>8)+1|0)|0;f[m>>2]=(Ba(f[y+(f[E>>2]<<2)>>2]|0)|0)-1024;f[p>>2]=(f[p>>2]|0)+(re((f[m>>2]&65535)<<16>>16,(f[m>>2]&65535)<<16>>16)|0);if((f[T>>2]|0)<1048576){O=(Wf(f[T>>2]|0)|0)<<6>>16;O=re(O,(f[m>>2]&65535)<<16>>16)|0;L=(Wf(f[T>>2]|0)|0)<<6&65535;f[m>>2]=O+((re(L,(f[m>>2]&65535)<<16>>16)|0)>>16)}L=re(f[17944+(f[E>>2]<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[k>>2]=(f[k>>2]|0)+(L+((re(f[17944+(f[E>>2]<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16))}else f[y+(r<<2)>>2]=256;f[E>>2]=(f[E>>2]|0)+1}f[p>>2]=(f[p>>2]|0)/4|0;f[d>>2]=((Wf(f[p>>2]|0)|0)*3&65535)<<16>>16;f[_>>2]=mi(0+(((f[d>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;L=(mi(f[k>>2]|0)|0)-16384<<1;f[(f[v>>2]|0)+4744>>2]=L;f[T>>2]=0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=re((f[E>>2]|0)+1|0,(f[w+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+60+(f[E>>2]<<2)>>2]|0)>>4)|0;f[T>>2]=(f[T>>2]|0)+L;f[E>>2]=(f[E>>2]|0)+1}if((f[T>>2]|0)>0){if((f[T>>2]|0)<32768){r=f[T>>2]|0;if((f[(f[v>>2]|0)+4608>>2]|0)==((f[(f[v>>2]|0)+4600>>2]|0)*10|0)){if((r|0)>32767)r=32767;else r=(f[T>>2]|0)<-32768?-32768:f[T>>2]|0;f[T>>2]=r<<16}else{if((r|0)>65535)r=65535;else r=(f[T>>2]|0)<-65536?-65536:f[T>>2]|0;f[T>>2]=r<<15}f[T>>2]=Wf(f[T>>2]|0)|0;L=re(32768+(f[T>>2]|0)>>16,(f[_>>2]&65535)<<16>>16)|0;f[_>>2]=L+((re(32768+(f[T>>2]|0)&65535,(f[_>>2]&65535)<<16>>16)|0)>>16)}}else f[_>>2]=f[_>>2]>>1;L=Yf(f[_>>2]>>7,255)|0;f[(f[v>>2]|0)+4556>>2]=L;L=re(f[_>>2]>>16,(f[_>>2]&65535)<<16>>16)|0;f[R>>2]=0+((L+((re(f[_>>2]&65535,(f[_>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((f[(f[v>>2]|0)+4608>>2]|0)==((f[(f[v>>2]|0)+4600>>2]|0)*10|0))f[R>>2]=f[R>>2]>>1;f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;L=re((f[y+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)>>16,(f[R>>2]&65535)<<16>>16)|0;L=(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)+(L+((re((f[y+(f[E>>2]<<2)>>2]|0)-(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)&65535,(f[R>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]=L;f[m>>2]=((Ba(f[(f[A>>2]|0)+40+(f[E>>2]<<2)>>2]|0)|0)-1024|0)*3;L=mi((f[m>>2]|0)-2048>>4)|0;f[(f[v>>2]|0)+4728+(f[E>>2]<<2)>>2]=L;f[E>>2]=(f[E>>2]|0)+1}L=f[S>>2]|0;de(f[g>>2]|0);h=M;return L|0}function Yf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Hf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;i=c+28|0;t=c+24|0;o=c+20|0;s=c+16|0;u=c+12|0;a=c+8|0;n=c+4|0;l=c;f[i>>2]=e;f[t>>2]=r;if((f[(f[t>>2]|0)+108>>2]|0)<1e3)f[l>>2]=32767/((f[(f[t>>2]|0)+108>>2]>>4)+1|0)|0;else f[l>>2]=0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=4)break;f[s>>2]=f[(f[t>>2]|0)+60+(f[o>>2]<<2)>>2];if((f[(f[i>>2]|0)+(f[o>>2]<<2)>>2]|0)+(f[(f[t>>2]|0)+92+(f[o>>2]<<2)>>2]|0)&-2147483648|0)e=2147483647;else e=(f[(f[i>>2]|0)+(f[o>>2]<<2)>>2]|0)+(f[(f[t>>2]|0)+92+(f[o>>2]<<2)>>2]|0)|0;f[u>>2]=e;f[a>>2]=2147483647/(f[u>>2]|0)|0;do{if((f[u>>2]|0)<=(f[s>>2]<<3|0))if((f[u>>2]|0)<(f[s>>2]|0)){f[n>>2]=1024;break}else{e=re(f[a>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;e=e+((re(f[a>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;e=e+(re(f[a>>2]|0,(f[s>>2]>>15)+1>>1)|0)>>16<<11;r=re(f[a>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=r+((re(f[a>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;f[n>>2]=e+((r+(re(f[a>>2]|0,(f[s>>2]>>15)+1>>1)|0)&65535)<<11>>16);break}else f[n>>2]=128}while(0);f[n>>2]=qf(f[n>>2]|0,f[l>>2]|0)|0;r=re((f[a>>2]|0)-(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)>>16,(f[n>>2]&65535)<<16>>16)|0;r=(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)+(r+((re((f[a>>2]|0)-(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)&65535,(f[n>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]=r;f[s>>2]=2147483647/(f[(f[t>>2]|0)+76+(f[o>>2]<<2)>>2]|0)|0;f[s>>2]=(f[s>>2]|0)<16777215?f[s>>2]|0:16777215;f[(f[t>>2]|0)+60+(f[o>>2]<<2)>>2]=f[s>>2];f[o>>2]=(f[o>>2]|0)+1}u=(f[t>>2]|0)+108|0;f[u>>2]=(f[u>>2]|0)+1;h=c;return}function qf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Wf(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Zf(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Zf(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Vf(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Jf(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Vf(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Jf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Gf(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;n=o+12|0;i=o+8|0;a=o+4|0;t=o;f[n>>2]=e;f[i>>2]=r;f[a>>2]=f[(f[n>>2]|0)+4600>>2];f[t>>2]=((f[a>>2]&65535)<<16>>16)*1e3;if(!(f[t>>2]|0)){r=f[n>>2]|0;if((f[(f[n>>2]|0)+4596>>2]|0)<(f[(f[n>>2]|0)+4580>>2]|0))r=f[r+4596>>2]|0;else r=f[r+4580>>2]|0;f[t>>2]=r;f[a>>2]=(f[t>>2]|0)/1e3|0;a=f[a>>2]|0;h=o;return a|0}if(((f[t>>2]|0)<=(f[(f[n>>2]|0)+4580>>2]|0)?(f[t>>2]|0)<=(f[(f[n>>2]|0)+4588>>2]|0):0)?(f[t>>2]|0)>=(f[(f[n>>2]|0)+4592>>2]|0):0){if((f[(f[n>>2]|0)+16+8>>2]|0)>=256)f[(f[n>>2]|0)+16+12>>2]=0;if((f[(f[n>>2]|0)+4560>>2]|0)==0?(f[(f[i>>2]|0)+60>>2]|0)==0:0){a=f[a>>2]|0;h=o;return a|0}r=f[n>>2]|0;if((((f[(f[n>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0)>(f[(f[n>>2]|0)+4596>>2]|0)){if(!(f[r+16+12>>2]|0)){f[(f[n>>2]|0)+16+8>>2]=256;t=(f[n>>2]|0)+16|0;f[t>>2]=0;f[t+4>>2]=0}r=(f[n>>2]|0)+16|0;if(f[(f[i>>2]|0)+60>>2]|0){f[r+12>>2]=0;f[a>>2]=(f[(f[n>>2]|0)+4600>>2]|0)==16?12:8;a=f[a>>2]|0;h=o;return a|0}if((f[r+8>>2]|0)<=0){f[(f[i>>2]|0)+84>>2]=1;n=(f[i>>2]|0)+52|0;f[n>>2]=(f[n>>2]|0)-(((f[(f[i>>2]|0)+52>>2]|0)*5|0)/((f[(f[i>>2]|0)+24>>2]|0)+5|0)|0);a=f[a>>2]|0;h=o;return a|0}else{f[(f[n>>2]|0)+16+12>>2]=-2;a=f[a>>2]|0;h=o;return a|0}}if((((f[r+4600>>2]&65535)<<16>>16)*1e3|0)>=(f[(f[n>>2]|0)+4596>>2]|0)){if((f[(f[n>>2]|0)+16+12>>2]|0)>=0){a=f[a>>2]|0;h=o;return a|0}f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}r=f[n>>2]|0;if(f[(f[i>>2]|0)+60>>2]|0){f[a>>2]=(f[r+4600>>2]|0)==8?12:16;f[(f[n>>2]|0)+16+8>>2]=0;t=(f[n>>2]|0)+16|0;f[t>>2]=0;f[t+4>>2]=0;f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}if(!(f[r+16+12>>2]|0)){f[(f[i>>2]|0)+84>>2]=1;n=(f[i>>2]|0)+52|0;f[n>>2]=(f[n>>2]|0)-(((f[(f[i>>2]|0)+52>>2]|0)*5|0)/((f[(f[i>>2]|0)+24>>2]|0)+5|0)|0);a=f[a>>2]|0;h=o;return a|0}else{f[(f[n>>2]|0)+16+12>>2]=1;a=f[a>>2]|0;h=o;return a|0}}f[t>>2]=f[(f[n>>2]|0)+4580>>2];if((f[t>>2]|0)<(f[(f[n>>2]|0)+4588>>2]|0))r=f[t>>2]|0;else r=f[(f[n>>2]|0)+4588>>2]|0;f[t>>2]=r;if((f[t>>2]|0)>(f[(f[n>>2]|0)+4592>>2]|0))r=f[t>>2]|0;else r=f[(f[n>>2]|0)+4592>>2]|0;f[t>>2]=r;f[a>>2]=(f[t>>2]|0)/1e3|0;a=f[a>>2]|0;h=o;return a|0}function Kf(e,r,i,a,o,l,s,u,c){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;D=h;h=h+112|0;O=D+96|0;L=D+92|0;b=D+88|0;P=D+84|0;w=D+80|0;k=D+76|0;d=D+72|0;I=D+68|0;B=D+60|0;j=D+56|0;y=D+52|0;x=D+100|0;_=D+48|0;U=D+44|0;g=D+40|0;v=D+36|0;p=D+32|0;T=D+28|0;R=D+24|0;S=D+20|0;M=D+16|0;C=D+12|0;A=D+8|0;m=D+4|0;E=D;f[O>>2]=e;f[L>>2]=r;f[b>>2]=i;f[P>>2]=a;f[w>>2]=o;f[k>>2]=l;f[d>>2]=s;f[I>>2]=u;f[D+64>>2]=c;f[S>>2]=2147483647;f[C>>2]=0;f[j>>2]=0;while(1){if((f[j>>2]|0)>=3)break;f[E>>2]=51;f[_>>2]=f[17632+(f[j>>2]<<2)>>2];f[U>>2]=f[17644+(f[j>>2]<<2)>>2];f[g>>2]=f[17656+(f[j>>2]<<2)>>2];f[y>>2]=t[27263+(f[j>>2]|0)>>0];f[p>>2]=f[w>>2];f[v>>2]=f[O>>2];f[R>>2]=0;f[M>>2]=f[f[P>>2]>>2];f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[I>>2]|0))break;a=Fa(5333-(f[M>>2]|0)+896|0)|0;f[A>>2]=a-(f[E>>2]|0);Xf(x+(f[B>>2]|0)|0,T,m,f[v>>2]|0,f[p>>2]|0,f[U>>2]|0,f[g>>2]|0,f[_>>2]|0,f[k>>2]|0,f[A>>2]|0,f[y>>2]|0);if((f[R>>2]|0)+(f[T>>2]|0)&-2147483648|0)e=2147483647;else e=(f[R>>2]|0)+(f[T>>2]|0)|0;f[R>>2]=e;a=f[M>>2]|0;if(0>(a+(Ba((f[E>>2]|0)+(f[m>>2]|0)|0)|0)-896|0))e=0;else{e=f[M>>2]|0;e=e+(Ba((f[E>>2]|0)+(f[m>>2]|0)|0)|0)-896|0}f[M>>2]=e;f[v>>2]=(f[v>>2]|0)+10;f[p>>2]=(f[p>>2]|0)+100;f[B>>2]=(f[B>>2]|0)+1}f[R>>2]=2147483646<(f[R>>2]|0)?2147483646:f[R>>2]|0;if((f[R>>2]|0)<(f[S>>2]|0)){f[S>>2]=f[R>>2];t[f[b>>2]>>0]=f[j>>2];gs(f[L>>2]|0,x|0,f[I>>2]|0)|0;f[C>>2]=f[M>>2]}if(f[d>>2]|0?(f[R>>2]|0)<(n[12226]|0):0)break;f[j>>2]=(f[j>>2]|0)+1}f[U>>2]=f[17644+(t[f[b>>2]>>0]<<2)>>2];f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[I>>2]|0))break;f[j>>2]=0;while(1){e=f[B>>2]|0;if((f[j>>2]|0)>=5)break;n[(f[O>>2]|0)+(((f[B>>2]|0)*5|0)+(f[j>>2]|0)<<1)>>1]=t[(f[U>>2]|0)+(((t[(f[L>>2]|0)+e>>0]|0)*5|0)+(f[j>>2]|0))>>0]<<7;f[j>>2]=(f[j>>2]|0)+1}f[B>>2]=e+1}f[f[P>>2]>>2]=f[C>>2];h=D;return}function Xf(e,r,i,o,l,s,u,c,b,w,k){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;var d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0;P=h;h=h+80|0;d=P+60|0;p=P+56|0;g=P+52|0;y=P+48|0;_=P+44|0;I=P+40|0;m=P+36|0;E=P+32|0;A=P+28|0;S=P+24|0;v=P+20|0;x=P+16|0;M=P+12|0;R=P+8|0;T=P+64|0;O=P+4|0;L=P;f[d>>2]=e;f[p>>2]=r;f[g>>2]=i;f[y>>2]=o;f[_>>2]=l;f[I>>2]=s;f[m>>2]=u;f[E>>2]=c;f[A>>2]=b;f[S>>2]=w;f[v>>2]=k;f[f[p>>2]>>2]=2147483647;f[R>>2]=f[I>>2];f[x>>2]=0;while(1){if((f[x>>2]|0)>=(f[v>>2]|0))break;f[M>>2]=a[(f[m>>2]|0)+(f[x>>2]|0)>>0];n[T>>1]=(n[f[y>>2]>>1]|0)-(t[f[R>>2]>>0]<<7);n[T+2>>1]=(n[(f[y>>2]|0)+2>>1]|0)-(t[(f[R>>2]|0)+1>>0]<<7);n[T+4>>1]=(n[(f[y>>2]|0)+4>>1]|0)-(t[(f[R>>2]|0)+2>>0]<<7);n[T+6>>1]=(n[(f[y>>2]|0)+6>>1]|0)-(t[(f[R>>2]|0)+3>>0]<<7);n[T+8>>1]=(n[(f[y>>2]|0)+8>>1]|0)-(t[(f[R>>2]|0)+4>>0]<<7);f[O>>2]=re((f[A>>2]&65535)<<16>>16,a[(f[E>>2]|0)+(f[x>>2]|0)>>0]|0)|0;if(((f[M>>2]|0)-(f[S>>2]|0)|0)>0)k=(f[M>>2]|0)-(f[S>>2]|0)|0;else k=0;f[O>>2]=(f[O>>2]|0)+(k<<10);I=re(f[(f[_>>2]|0)+4>>2]>>16,n[T+2>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+4>>2]&65535,n[T+2>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+8>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+8>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+12>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+12>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+16>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+16>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[f[_>>2]>>2]>>16,n[T>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[f[_>>2]>>2]&65535,n[T>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+28>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+28>>2]&65535,n[T+4>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+32>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+32>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+36>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+36>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+24>>2]>>16,n[T+2>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+24>>2]&65535,n[T+2>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+2>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+2>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+52>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+52>>2]&65535,n[T+6>>1]|0)|0)>>16);I=re(f[(f[_>>2]|0)+56>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+56>>2]&65535,n[T+8>>1]|0)|0)>>16));f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+48>>2]>>16,n[T+4>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+48>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+4>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+4>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+76>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+76>>2]&65535,n[T+8>>1]|0)|0)>>16);f[L>>2]=f[L>>2]<<1;I=re(f[(f[_>>2]|0)+72>>2]>>16,n[T+6>>1]|0)|0;f[L>>2]=(f[L>>2]|0)+(I+((re(f[(f[_>>2]|0)+72>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[L>>2]>>16,n[T+6>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+6>>1]|0)|0)>>16));I=re(f[(f[_>>2]|0)+96>>2]>>16,n[T+8>>1]|0)|0;f[L>>2]=I+((re(f[(f[_>>2]|0)+96>>2]&65535,n[T+8>>1]|0)|0)>>16);I=re(f[L>>2]>>16,n[T+8>>1]|0)|0;f[O>>2]=(f[O>>2]|0)+(I+((re(f[L>>2]&65535,n[T+8>>1]|0)|0)>>16));if((f[O>>2]|0)<(f[f[p>>2]>>2]|0)){f[f[p>>2]>>2]=f[O>>2];t[f[d>>2]>>0]=f[x>>2];f[f[g>>2]>>2]=f[M>>2]}f[R>>2]=(f[R>>2]|0)+5;f[x>>2]=(f[x>>2]|0)+1}h=P;return}function $f(e){e=e|0;var r=0,i=0,n=0,a=0,o=0,l=0,s=0,u=0;l=h;h=h+32|0;s=l+20|0;n=l+16|0;r=l+12|0;i=l+8|0;a=l+4|0;o=l;f[s>>2]=e;f[o>>2]=f[s>>2];if((t[(f[o>>2]|0)+4565>>0]|0)!=2){h=l;return}f[r>>2]=((f[(f[o>>2]|0)+4600>>2]|0)*1e3<<16|0)/(f[(f[o>>2]|0)+4568>>2]|0)|0;f[i>>2]=(Ba(f[r>>2]|0)|0)-2048;f[n>>2]=f[(f[o>>2]|0)+4728>>2];u=f[i>>2]|0;e=re(0-(f[n>>2]|0)<<2>>16,(f[n>>2]&65535)<<16>>16)|0;e=e+((re(0-(f[n>>2]|0)<<2&65535,(f[n>>2]&65535)<<16>>16)|0)>>16)>>16;r=f[i>>2]|0;r=re(e,(r-((Ba(3932160)|0)-2048)&65535)<<16>>16)|0;e=re(0-(f[n>>2]|0)<<2>>16,(f[n>>2]&65535)<<16>>16)|0;e=e+((re(0-(f[n>>2]|0)<<2&65535,(f[n>>2]&65535)<<16>>16)|0)>>16)&65535;s=f[i>>2]|0;f[i>>2]=u+(r+((re(e,(s-((Ba(3932160)|0)-2048)&65535)<<16>>16)|0)>>16));f[a>>2]=(f[i>>2]|0)-(f[(f[o>>2]|0)+8>>2]>>8);if((f[a>>2]|0)<0)f[a>>2]=(f[a>>2]|0)*3;if((f[a>>2]|0)>51)r=51;else r=(f[a>>2]|0)<-51?-51:f[a>>2]|0;f[a>>2]=r;u=((re((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0)>>16)*6554|0;u=(f[(f[o>>2]|0)+8>>2]|0)+(u+(((re((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0)&65535)*6554>>16))|0;f[(f[o>>2]|0)+8>>2]=u;u=(Ba(60)|0)<<8;u=(u|0)>((Ba(100)|0)<<8|0);r=f[(f[o>>2]|0)+8>>2]|0;do{if(u){if((r|0)>((Ba(60)|0)<<8|0)){r=(Ba(60)|0)<<8;break}u=f[(f[o>>2]|0)+8>>2]|0;if((u|0)<((Ba(100)|0)<<8|0)){r=(Ba(100)|0)<<8;break}else{r=f[(f[o>>2]|0)+8>>2]|0;break}}else{if((r|0)>((Ba(100)|0)<<8|0)){r=(Ba(100)|0)<<8;break}u=f[(f[o>>2]|0)+8>>2]|0;if((u|0)<((Ba(60)|0)<<8|0)){r=(Ba(60)|0)<<8;break}else{r=f[(f[o>>2]|0)+8>>2]|0;break}}}while(0);f[(f[o>>2]|0)+8>>2]=r;h=l;return}function Qf(e,r,i,l,s,u,c){e=e|0;r=r|0;i=i|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;j=h;h=h+288|0;b=j+64|0;w=j+60|0;k=j+56|0;d=j+52|0;p=j+48|0;v=j+44|0;g=j+40|0;M=j+36|0;B=j+32|0;O=j+28|0;S=j+24|0;I=j+20|0;R=j+16|0;E=j+12|0;U=j+232|0;C=j+200|0;_=j+168|0;A=j+136|0;m=j+104|0;P=j+264|0;T=j+72|0;L=j+8|0;x=j+4|0;y=j;f[b>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=l;f[p>>2]=s;f[v>>2]=u;f[g>>2]=c;fi(f[w>>2]|0,f[(f[k>>2]|0)+32>>2]|0,n[(f[k>>2]|0)+2>>1]|0);s=o[f[k>>2]>>1]|0;f[y>>2]=he()|0;u=h;h=h+((1*(s<<2)|0)+15&-16)|0;na(u,f[w>>2]|0,f[(f[k>>2]|0)+8>>2]|0,n[f[k>>2]>>1]|0,n[(f[k>>2]|0)+2>>1]|0);s=h;h=h+((1*(f[v>>2]<<2)|0)+15&-16)|0;Ei(u,s,n[f[k>>2]>>1]|0,f[v>>2]|0);u=h;h=h+((1*(f[v>>2]<<2)|0)+15&-16)|0;r=h;h=h+((1*(f[v>>2]<<4)|0)+15&-16)|0;f[B>>2]=0;while(1){if((f[B>>2]|0)>=(f[v>>2]|0))break;f[O>>2]=f[s+(f[B>>2]<<2)>>2];c=re(f[O>>2]|0,n[(f[k>>2]|0)+2>>1]|0)|0;f[L>>2]=(f[(f[k>>2]|0)+8>>2]|0)+c;f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;n[_+(f[M>>2]<<1)>>1]=(a[(f[L>>2]|0)+(f[M>>2]|0)>>0]&65535)<<7;n[U+(f[M>>2]<<1)>>1]=(n[(f[w>>2]|0)+(f[M>>2]<<1)>>1]|0)-(n[_+(f[M>>2]<<1)>>1]|0);f[M>>2]=(f[M>>2]|0)+1}li(A,_,n[(f[k>>2]|0)+2>>1]|0);f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;f[E>>2]=ea(n[A+(f[M>>2]<<1)>>1]<<16)|0;c=(re(n[U+(f[M>>2]<<1)>>1]|0,(f[E>>2]&65535)<<16>>16)|0)>>14&65535;n[C+(f[M>>2]<<1)>>1]=c;f[M>>2]=(f[M>>2]|0)+1}f[M>>2]=0;while(1){if((f[M>>2]|0)>=(n[(f[k>>2]|0)+2>>1]|0))break;n[m+(f[M>>2]<<1)>>1]=(n[(f[d>>2]|0)+(f[M>>2]<<1)>>1]<<5|0)/(n[A+(f[M>>2]<<1)>>1]|0)|0;f[M>>2]=(f[M>>2]|0)+1}fa(T,P,f[k>>2]|0,f[O>>2]|0);e=aa(r+(f[B>>2]<<4)|0,C,m,P,T,f[(f[k>>2]|0)+28>>2]|0,n[(f[k>>2]|0)+4>>1]|0,n[(f[k>>2]|0)+6>>1]|0,f[p>>2]|0,n[(f[k>>2]|0)+2>>1]|0)|0;f[u+(f[B>>2]<<2)>>2]=e;e=re(f[g>>2]>>1,n[f[k>>2]>>1]|0)|0;f[x>>2]=(f[(f[k>>2]|0)+12>>2]|0)+e;e=f[O>>2]|0;if(!(f[O>>2]|0))f[I>>2]=256-(a[(f[x>>2]|0)+e>>0]|0);else f[I>>2]=(a[(f[x>>2]|0)+(e-1)>>0]|0)-(a[(f[x>>2]|0)+(f[O>>2]|0)>>0]|0);f[R>>2]=1024-(Ba(f[I>>2]|0)|0);c=(f[u+(f[B>>2]<<2)>>2]|0)+(re((f[R>>2]&65535)<<16>>16,(f[p>>2]>>2&65535)<<16>>16)|0)|0;f[u+(f[B>>2]<<2)>>2]=c;f[B>>2]=(f[B>>2]|0)+1}Ei(u,S,f[v>>2]|0,1);t[f[b>>2]>>0]=f[s+(f[S>>2]<<2)>>2];gs((f[b>>2]|0)+1|0,r+(f[S>>2]<<4)|0,n[(f[k>>2]|0)+2>>1]|0)|0;Po(f[w>>2]|0,f[b>>2]|0,f[k>>2]|0);B=f[u>>2]|0;de(f[y>>2]|0);h=j;return B|0}function ea(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}ra(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function ra(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=ia(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(ta(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function ia(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ta(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function na(e,r,i,t,o){e=e|0;r=r|0;i=i|0;t=t|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+36|0;s=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;k=g+16|0;d=g+12|0;w=g+8|0;v=g+4|0;p=g;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=o;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;f[p>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;i=n[(f[s>>2]|0)+(f[d>>2]<<1)>>1]|0;r=f[u>>2]|0;f[u>>2]=r+1;f[w>>2]=i-(a[r>>0]<<7);f[v>>2]=re((f[w>>2]&65535)<<16>>16,(f[w>>2]&65535)<<16>>16)|0;r=n[(f[s>>2]|0)+((f[d>>2]|0)+1<<1)>>1]|0;i=f[u>>2]|0;f[u>>2]=i+1;f[w>>2]=r-(a[i>>0]<<7);f[v>>2]=(f[v>>2]|0)+(re((f[w>>2]&65535)<<16>>16,(f[w>>2]&65535)<<16>>16)|0);f[p>>2]=(f[p>>2]|0)+(f[v>>2]>>4);f[d>>2]=(f[d>>2]|0)+2}f[(f[l>>2]|0)+(f[k>>2]<<2)>>2]=f[p>>2];f[k>>2]=(f[k>>2]|0)+1}h=g;return}function fa(e,r,i,o){e=e|0;r=r|0;i=i|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+32|0;l=k+20|0;s=k+16|0;u=k+12|0;d=k+8|0;w=k+4|0;b=k+24|0;c=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[d>>2]=o;i=(re(f[d>>2]|0,n[(f[u>>2]|0)+2>>1]|0)|0)/2|0;f[c>>2]=(f[(f[u>>2]|0)+20>>2]|0)+i;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(n[(f[u>>2]|0)+2>>1]|0))break;d=f[c>>2]|0;f[c>>2]=d+1;t[b>>0]=t[d>>0]|0;n[(f[l>>2]|0)+(f[w>>2]<<1)>>1]=((a[b>>0]>>1&7)<<16>>16)*9;d=(f[w>>2]|0)+(re(a[b>>0]&1,(n[(f[u>>2]|0)+2>>1]|0)-1|0)|0)|0;t[(f[s>>2]|0)+(f[w>>2]|0)>>0]=t[(f[(f[u>>2]|0)+16>>2]|0)+d>>0]|0;n[(f[l>>2]|0)+((f[w>>2]|0)+1<<1)>>1]=((a[b>>0]>>5&7)<<16>>16)*9;d=(f[w>>2]|0)+(re(a[b>>0]>>4&1,(n[(f[u>>2]|0)+2>>1]|0)-1|0)|0)+1|0;t[(f[s>>2]|0)+((f[w>>2]|0)+1)>>0]=t[(f[(f[u>>2]|0)+16>>2]|0)+d>>0]|0;f[w>>2]=(f[w>>2]|0)+2}h=k;return}function aa(e,r,i,o,l,s,u,c,b,w){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0;Q=h;h=h+448|0;d=Q+352|0;p=Q+348|0;v=Q+344|0;g=Q+340|0;y=Q+336|0;_=Q+332|0;k=Q+328|0;m=Q+378|0;E=Q+324|0;A=Q+376|0;O=Q+320|0;j=Q+316|0;z=Q+312|0;B=Q+308|0;C=Q+304|0;I=Q+300|0;L=Q+296|0;$=Q+292|0;Z=Q+288|0;x=Q+284|0;Y=Q+280|0;q=Q+276|0;G=Q+272|0;K=Q+268|0;M=Q+264|0;N=Q+260|0;F=Q+256|0;D=Q+252|0;V=Q+248|0;U=Q+232|0;P=Q+384|0;J=Q+360|0;S=Q+200|0;T=Q+184|0;R=Q+168|0;X=Q+160|0;H=Q+80|0;W=Q;f[d>>2]=e;f[p>>2]=r;f[v>>2]=i;f[g>>2]=o;f[y>>2]=l;f[_>>2]=s;f[k>>2]=u;n[m>>1]=c;f[E>>2]=b;n[A>>1]=w;f[O>>2]=-10;while(1){if((f[O>>2]|0)>9)break;f[Y>>2]=f[O>>2]<<10;f[q>>2]=(f[Y>>2]|0)+1024;do{if((f[O>>2]|0)<=0){if(!(f[O>>2]|0)){f[q>>2]=(f[q>>2]|0)-102;break}r=(f[O>>2]|0)==-1;f[Y>>2]=(f[Y>>2]|0)+102;if(!r)f[q>>2]=(f[q>>2]|0)+102}else{f[Y>>2]=(f[Y>>2]|0)-102;f[q>>2]=(f[q>>2]|0)-102}}while(0);r=re(f[Y>>2]>>16,(f[k>>2]&65535)<<16>>16)|0;r=r+((re(f[Y>>2]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16)|0;f[H+((f[O>>2]|0)+10<<2)>>2]=r;r=re(f[q>>2]>>16,(f[k>>2]&65535)<<16>>16)|0;r=r+((re(f[q>>2]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16)|0;f[W+((f[O>>2]|0)+10<<2)>>2]=r;f[O>>2]=(f[O>>2]|0)+1}f[z>>2]=1;f[S>>2]=0;n[J>>1]=0;f[O>>2]=(n[A>>1]|0)-1;e:while(1){f[X>>2]=(f[_>>2]|0)+(n[(f[y>>2]|0)+(f[O>>2]<<1)>>1]|0);f[V>>2]=a[(f[g>>2]|0)+(f[O>>2]|0)>>0]<<8;f[L>>2]=n[(f[p>>2]|0)+(f[O>>2]<<1)>>1];f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[z>>2]|0))break;r=re(f[V>>2]>>16,n[J+(f[j>>2]<<1)>>1]|0)|0;f[Z>>2]=r+((re(f[V>>2]&65535,n[J+(f[j>>2]<<1)>>1]|0)|0)>>16);f[$>>2]=(f[L>>2]|0)-(f[Z>>2]|0);r=re(n[m>>1]>>16,(f[$>>2]&65535)<<16>>16)|0;f[B>>2]=r+((re(n[m>>1]&65535,(f[$>>2]&65535)<<16>>16)|0)>>16);if((f[B>>2]|0)>9)k=9;else k=(f[B>>2]|0)<-10?-10:f[B>>2]|0;f[B>>2]=k;t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]=f[B>>2];f[Y>>2]=f[H+((f[B>>2]|0)+10<<2)>>2];f[q>>2]=f[W+((f[B>>2]|0)+10<<2)>>2];f[Y>>2]=(f[Y>>2]|0)+(f[Z>>2]|0);f[q>>2]=(f[q>>2]|0)+(f[Z>>2]|0);n[J+(f[j>>2]<<1)>>1]=f[Y>>2];n[J+((f[j>>2]|0)+(f[z>>2]|0)<<1)>>1]=f[q>>2];l=f[B>>2]|0;do{if(((f[B>>2]|0)+1|0)>=4){k=f[B>>2]|0;if((l+1|0)==4){f[G>>2]=a[(f[X>>2]|0)+(k+4)>>0];f[K>>2]=280;break}else{f[G>>2]=108+(((k&65535)<<16>>16)*43|0);f[K>>2]=(f[G>>2]|0)+43;break}}else{k=f[B>>2]|0;if((l|0)>-4){f[G>>2]=a[(f[X>>2]|0)+(k+4)>>0];f[K>>2]=a[(f[X>>2]|0)+((f[B>>2]|0)+1+4)>>0];break}if((k|0)==-4){f[G>>2]=280;f[K>>2]=a[(f[X>>2]|0)+((f[B>>2]|0)+1+4)>>0];break}else{f[G>>2]=108+(re(-43,(f[B>>2]&65535)<<16>>16)|0);f[K>>2]=(f[G>>2]|0)-43;break}}}while(0);f[M>>2]=f[S+(f[j>>2]<<2)>>2];f[x>>2]=(f[L>>2]|0)-(f[Y>>2]|0);r=re((f[x>>2]&65535)<<16>>16,(f[x>>2]&65535)<<16>>16)|0;r=(f[M>>2]|0)+(re(r,n[(f[v>>2]|0)+(f[O>>2]<<1)>>1]|0)|0)|0;r=r+(re((f[E>>2]&65535)<<16>>16,(f[G>>2]&65535)<<16>>16)|0)|0;f[S+(f[j>>2]<<2)>>2]=r;f[x>>2]=(f[L>>2]|0)-(f[q>>2]|0);r=re((f[x>>2]&65535)<<16>>16,(f[x>>2]&65535)<<16>>16)|0;r=(f[M>>2]|0)+(re(r,n[(f[v>>2]|0)+(f[O>>2]<<1)>>1]|0)|0)|0;r=r+(re((f[E>>2]&65535)<<16>>16,(f[K>>2]&65535)<<16>>16)|0)|0;f[S+((f[j>>2]|0)+(f[z>>2]|0)<<2)>>2]=r;f[j>>2]=(f[j>>2]|0)+1}r:do{if((f[z>>2]|0)<=2){f[j>>2]=0;while(1){if((f[j>>2]|0)>=(f[z>>2]|0))break;t[P+((f[j>>2]|0)+(f[z>>2]|0)<<4)+(f[O>>2]|0)>>0]=(t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]|0)+1;f[j>>2]=(f[j>>2]|0)+1}f[z>>2]=f[z>>2]<<1;f[j>>2]=f[z>>2];while(1){if((f[j>>2]|0)>=4)break r;t[P+(f[j>>2]<<4)+(f[O>>2]|0)>>0]=t[P+((f[j>>2]|0)-(f[z>>2]|0)<<4)+(f[O>>2]|0)>>0]|0;f[j>>2]=(f[j>>2]|0)+1}}else{if((f[O>>2]|0)<=0)break e;f[j>>2]=0;while(1){if((f[j>>2]|0)>=4)break;k=f[S+(f[j>>2]<<2)>>2]|0;l=f[j>>2]|0;if((f[S+(f[j>>2]<<2)>>2]|0)>(f[S+((f[j>>2]|0)+4<<2)>>2]|0)){f[R+(l<<2)>>2]=k;f[T+(f[j>>2]<<2)>>2]=f[S+((f[j>>2]|0)+4<<2)>>2];f[S+(f[j>>2]<<2)>>2]=f[T+(f[j>>2]<<2)>>2];f[S+((f[j>>2]|0)+4<<2)>>2]=f[R+(f[j>>2]<<2)>>2];f[Y>>2]=n[J+(f[j>>2]<<1)>>1];n[J+(f[j>>2]<<1)>>1]=n[J+((f[j>>2]|0)+4<<1)>>1]|0;n[J+((f[j>>2]|0)+4<<1)>>1]=f[Y>>2];f[U+(f[j>>2]<<2)>>2]=(f[j>>2]|0)+4}else{f[T+(l<<2)>>2]=k;f[R+(f[j>>2]<<2)>>2]=f[S+((f[j>>2]|0)+4<<2)>>2];f[U+(f[j>>2]<<2)>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}while(1){f[F>>2]=2147483647;f[D>>2]=0;f[C>>2]=0;f[I>>2]=0;f[j>>2]=0;while(1){k=f[F>>2]|0;if((f[j>>2]|0)>=4)break;if((k|0)>(f[R+(f[j>>2]<<2)>>2]|0)){f[F>>2]=f[R+(f[j>>2]<<2)>>2];f[C>>2]=f[j>>2]}if((f[D>>2]|0)<(f[T+(f[j>>2]<<2)>>2]|0)){f[D>>2]=f[T+(f[j>>2]<<2)>>2];f[I>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}if((k|0)>=(f[D>>2]|0))break;f[U+(f[I>>2]<<2)>>2]=f[U+(f[C>>2]<<2)>>2]^4;f[S+(f[I>>2]<<2)>>2]=f[S+((f[C>>2]|0)+4<<2)>>2];n[J+(f[I>>2]<<1)>>1]=n[J+((f[C>>2]|0)+4<<1)>>1]|0;f[T+(f[I>>2]<<2)>>2]=0;f[R+(f[C>>2]<<2)>>2]=2147483647;k=P+(f[I>>2]<<4)|0;l=P+(f[C>>2]<<4)|0;s=k+16|0;do{t[k>>0]=t[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(s|0))}f[j>>2]=0;while(1){if((f[j>>2]|0)>=4)break r;r=P+(f[j>>2]<<4)+(f[O>>2]|0)|0;t[r>>0]=(t[r>>0]|0)+(f[U+(f[j>>2]<<2)>>2]>>2);f[j>>2]=(f[j>>2]|0)+1}}}while(0);f[O>>2]=(f[O>>2]|0)+-1}f[B>>2]=0;f[N>>2]=2147483647;f[j>>2]=0;while(1){if((f[j>>2]|0)>=8)break;if((f[N>>2]|0)>(f[S+(f[j>>2]<<2)>>2]|0)){f[N>>2]=f[S+(f[j>>2]<<2)>>2];f[B>>2]=f[j>>2]}f[j>>2]=(f[j>>2]|0)+1}f[j>>2]=0;while(1){if((f[j>>2]|0)>=(n[A>>1]|0))break;t[(f[d>>2]|0)+(f[j>>2]|0)>>0]=t[P+((f[B>>2]&3)<<4)+(f[j>>2]|0)>>0]|0;f[j>>2]=(f[j>>2]|0)+1}$=f[d>>2]|0;t[$>>0]=(t[$>>0]|0)+(f[B>>2]>>2);h=Q;return f[N>>2]|0}function oa(e,r,i,a){e=e|0;r=r|0;i=i|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+128|0;o=g+28|0;l=g+24|0;s=g+20|0;u=g+16|0;w=g+12|0;b=g+8|0;c=g+4|0;k=g;d=g+96|0;v=g+64|0;p=g+32|0;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=a;e=re(-5,(f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16)|0;f[c>>2]=3146+(e+(((f[(f[o>>2]|0)+4556>>2]&65535)<<16>>16)*59246>>16));if((f[(f[o>>2]|0)+4604>>2]|0)==2)f[c>>2]=(f[c>>2]|0)+(f[c>>2]>>1);li(v,f[s>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);if((f[(f[o>>2]|0)+4656>>2]|0)==1)r=(t[(f[o>>2]|0)+4768+31>>0]|0)<4;else r=0;f[b>>2]=r&1;e:do{if(f[b>>2]|0){xo(d,f[u>>2]|0,f[s>>2]|0,t[(f[o>>2]|0)+4768+31>>0]|0,f[(f[o>>2]|0)+4664>>2]|0);li(p,d,f[(f[o>>2]|0)+4664>>2]|0);f[k>>2]=(re(t[(f[o>>2]|0)+4768+31>>0]<<16>>16,t[(f[o>>2]|0)+4768+31>>0]<<16>>16)|0)<<11;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[o>>2]|0)+4664>>2]|0))break e;e=re(n[p+(f[w>>2]<<1)>>1]>>16,(f[k>>2]&65535)<<16>>16)|0;e=(n[v+(f[w>>2]<<1)>>1]>>1)+(e+((re(n[p+(f[w>>2]<<1)>>1]&65535,(f[k>>2]&65535)<<16>>16)|0)>>16))&65535;n[v+(f[w>>2]<<1)>>1]=e;f[w>>2]=(f[w>>2]|0)+1}}}while(0);Qf((f[o>>2]|0)+4768+8|0,f[s>>2]|0,f[(f[o>>2]|0)+4724>>2]|0,v,f[c>>2]|0,f[(f[o>>2]|0)+4692>>2]|0,t[(f[o>>2]|0)+4768+29>>0]|0)|0;Za((f[l>>2]|0)+32|0,f[s>>2]|0,f[(f[o>>2]|0)+4664>>2]|0);if(f[b>>2]|0){xo(d,f[u>>2]|0,f[s>>2]|0,t[(f[o>>2]|0)+4768+31>>0]|0,f[(f[o>>2]|0)+4664>>2]|0);Za(f[l>>2]|0,d,f[(f[o>>2]|0)+4664>>2]|0);h=g;return}else{gs(f[l>>2]|0,(f[l>>2]|0)+32|0,f[(f[o>>2]|0)+4664>>2]<<1|0)|0;h=g;return}}function la(e,r,i,a,o,l,s,u,c,b,w){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;var k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0;V=h;h=h+144|0;U=V+128|0;k=V+124|0;D=V+120|0;m=V+116|0;E=V+112|0;A=V+108|0;S=V+104|0;p=V+100|0;R=V+96|0;L=V+92|0;B=V+88|0;F=V+84|0;_=V+80|0;T=V+76|0;P=V+72|0;I=V+68|0;q=V+64|0;d=V+60|0;O=V+56|0;H=V+48|0;z=V+44|0;Y=V+40|0;g=V+36|0;v=V+32|0;M=V+28|0;y=V+24|0;x=V+20|0;Z=V+16|0;W=V+12|0;C=V+8|0;N=V+4|0;j=V;f[U>>2]=e;f[k>>2]=r;f[D>>2]=i;f[m>>2]=a;f[E>>2]=o;f[A>>2]=l;f[S>>2]=s;f[p>>2]=u;f[R>>2]=c;f[L>>2]=b;f[B>>2]=w;f[N>>2]=(f[k>>2]|0)+-4;i=(f[B>>2]|0)+2|0;f[j>>2]=he()|0;l=h;h=h+((1*(i<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=((f[B>>2]|0)+2|0))break;f[q>>2]=(n[(f[k>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0)+(n[(f[D>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0);f[d>>2]=(n[(f[k>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0)-(n[(f[D>>2]|0)+((f[F>>2]|0)-2<<1)>>1]|0);n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]=(f[q>>2]>>1)+(f[q>>2]&1);if(((f[d>>2]>>1)+(f[d>>2]&1)|0)<=32767)if(((f[d>>2]>>1)+(f[d>>2]&1)|0)<-32768)w=-32768;else w=(f[d>>2]>>1)+(f[d>>2]&1)|0;else w=32767;n[l+(f[F>>2]<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}a=f[N>>2]|0;o=(f[U>>2]|0)+4|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=(f[U>>2]|0)+8|0;n[l>>1]=n[a>>1]|0;n[l+2>>1]=n[a+2>>1]|0;a=(f[U>>2]|0)+4|0;o=(f[N>>2]|0)+(f[B>>2]<<1)|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=(f[U>>2]|0)+8|0;o=l+(f[B>>2]<<1)|0;n[a>>1]=n[o>>1]|0;n[a+2>>1]=n[o+2>>1]|0;a=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;o=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=((n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;n[a+(f[F>>2]<<1)>>1]=f[q>>2];n[o+(f[F>>2]<<1)>>1]=(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]|0)-(f[q>>2]|0);f[F>>2]=(f[F>>2]|0)+1}w=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;b=h;h=h+((1*(f[B>>2]<<1)|0)+15&-16)|0;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=((n[l+(f[F>>2]<<1)>>1]|0)+(n[l+((f[F>>2]|0)+2<<1)>>1]|0)+(n[l+((f[F>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;n[w+(f[F>>2]<<1)>>1]=f[q>>2];n[b+(f[F>>2]<<1)>>1]=(n[l+((f[F>>2]|0)+1<<1)>>1]|0)-(f[q>>2]|0);f[F>>2]=(f[F>>2]|0)+1}f[_>>2]=(f[B>>2]|0)==((f[L>>2]|0)*10|0)&1;f[O>>2]=f[_>>2]|0?328:655;d=(re((f[p>>2]&65535)<<16>>16,(f[p>>2]&65535)<<16>>16)|0)>>16;d=re(d,(f[O>>2]&65535)<<16>>16)|0;p=(re((f[p>>2]&65535)<<16>>16,(f[p>>2]&65535)<<16>>16)|0)&65535;f[O>>2]=d+((re(p,(f[O>>2]&65535)<<16>>16)|0)>>16);f[H>>2]=Oi(g,a,w,(f[U>>2]|0)+12|0,f[B>>2]|0,f[O>>2]|0)|0;f[H+4>>2]=Oi(v,o,b,(f[U>>2]|0)+12+8|0,f[B>>2]|0,f[O>>2]|0)|0;f[M>>2]=(f[v>>2]|0)+(((f[g>>2]&65535)<<16>>16)*3|0);f[M>>2]=(f[M>>2]|0)<65536?f[M>>2]|0:65536;_=(f[S>>2]|0)-(f[_>>2]|0?1200:600)|0;f[S>>2]=_;f[S>>2]=(f[S>>2]|0)<1?1:_;f[x>>2]=2e3+(((f[L>>2]&65535)<<16>>16)*900|0);f[y>>2]=(f[M>>2]|0)*3;_=sa(f[S>>2]|0,851968+(f[y>>2]|0)|0,19)|0;f[f[A>>2]>>2]=_;if((f[f[A>>2]>>2]|0)<(f[x>>2]|0)){f[f[A>>2]>>2]=f[x>>2];f[(f[A>>2]|0)+4>>2]=(f[S>>2]|0)-(f[f[A>>2]>>2]|0);_=re(65536+(f[y>>2]|0)>>16,(f[x>>2]&65535)<<16>>16)|0;f[Z>>2]=sa((f[(f[A>>2]|0)+4>>2]<<1)-(f[x>>2]|0)|0,_+((re(65536+(f[y>>2]|0)&65535,(f[x>>2]&65535)<<16>>16)|0)>>16)|0,16)|0;if((f[Z>>2]|0)>16384)w=16384;else w=(f[Z>>2]|0)<0?0:f[Z>>2]|0;f[Z>>2]=w}else{f[(f[A>>2]|0)+4>>2]=(f[S>>2]|0)-(f[f[A>>2]>>2]|0);f[Z>>2]=16384}_=re((f[Z>>2]|0)-(n[(f[U>>2]|0)+28>>1]|0)>>16,(f[O>>2]&65535)<<16>>16)|0;O=(n[(f[U>>2]|0)+28>>1]|0)+(_+((re((f[Z>>2]|0)-(n[(f[U>>2]|0)+28>>1]|0)&65535,(f[O>>2]&65535)<<16>>16)|0)>>16))&65535;n[(f[U>>2]|0)+28>>1]=O;t[f[E>>2]>>0]=0;e:do{if(!(f[R>>2]|0)){do{if(!(n[(f[U>>2]|0)+30>>1]|0)){if((f[S>>2]<<3|0)>=((f[x>>2]|0)*13|0)?(O=re(f[M>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0,(O+((re(f[M>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16)|0)>=819):0)break;f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;f[f[A>>2]>>2]=f[S>>2];f[(f[A>>2]|0)+4>>2]=0;t[f[E>>2]>>0]=1;break e}}while(0);do{if(n[(f[U>>2]|0)+30>>1]|0){if((f[S>>2]<<3|0)>=((f[x>>2]|0)*11|0)?(O=re(f[M>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0,(O+((re(f[M>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16)|0)>=328):0)break;f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;break e}}while(0);if((n[(f[U>>2]|0)+28>>1]|0)>15565){ji(H,f[m>>2]|0);f[Z>>2]=16384;break}else{f[H>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H>>2]&65535)<<16>>16)|0)>>14;f[H+4>>2]=(re(n[(f[U>>2]|0)+28>>1]|0,(f[H+4>>2]&65535)<<16>>16)|0)>>14;ji(H,f[m>>2]|0);f[Z>>2]=n[(f[U>>2]|0)+28>>1];break}}else{f[Z>>2]=0;f[H>>2]=0;f[H+4>>2]=0;ji(H,f[m>>2]|0)}}while(0);do{if((t[f[E>>2]>>0]|0)==1){O=(f[U>>2]|0)+32|0;n[O>>1]=(n[O>>1]|0)+((f[B>>2]|0)-(f[L>>2]<<3));if((n[(f[U>>2]|0)+32>>1]|0)<((f[L>>2]|0)*5|0)){t[f[E>>2]>>0]=0;break}else{n[(f[U>>2]|0)+32>>1]=1e4;break}}else n[(f[U>>2]|0)+32>>1]=0}while(0);if((t[f[E>>2]>>0]|0)==0?(f[(f[A>>2]|0)+4>>2]|0)<1:0){f[(f[A>>2]|0)+4>>2]=1;O=ha(1,(f[S>>2]|0)-(f[(f[A>>2]|0)+4>>2]|0)|0)|0;f[f[A>>2]>>2]=O}f[z>>2]=0-(n[f[U>>2]>>1]|0);f[Y>>2]=0-(n[(f[U>>2]|0)+2>>1]|0);f[W>>2]=n[(f[U>>2]|0)+30>>1]<<10;f[T>>2]=65536/(f[L>>2]<<3|0)|0;f[P>>2]=0-(((re(((f[H>>2]|0)-(n[f[U>>2]>>1]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0)>>15)+1>>1);f[I>>2]=0-(((re(((f[H+4>>2]|0)-(n[(f[U>>2]|0)+2>>1]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0)>>15)+1>>1);O=re((f[Z>>2]|0)-(n[(f[U>>2]|0)+30>>1]|0)>>16,(f[T>>2]&65535)<<16>>16)|0;f[C>>2]=O+((re((f[Z>>2]|0)-(n[(f[U>>2]|0)+30>>1]|0)&65535,(f[T>>2]&65535)<<16>>16)|0)>>16)<<10;f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[L>>2]<<3|0))break;f[z>>2]=(f[z>>2]|0)+(f[P>>2]|0);f[Y>>2]=(f[Y>>2]|0)+(f[I>>2]|0);f[W>>2]=(f[W>>2]|0)+(f[C>>2]|0);f[q>>2]=(n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)<<9;x=re(f[W>>2]>>16,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0;x=x+((re(f[W>>2]&65535,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;O=re(f[q>>2]>>16,(f[z>>2]&65535)<<16>>16)|0;f[q>>2]=x+(O+((re(f[q>>2]&65535,(f[z>>2]&65535)<<16>>16)|0)>>16));O=re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11>>16,(f[Y>>2]&65535)<<16>>16)|0;f[q>>2]=(f[q>>2]|0)+(O+((re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));if(((f[q>>2]>>7)+1>>1|0)<=32767)if(((f[q>>2]>>7)+1>>1|0)<-32768)w=-32768;else w=(f[q>>2]>>7)+1>>1;else w=32767;n[(f[D>>2]|0)+((f[F>>2]|0)-1<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}f[z>>2]=0-(f[H>>2]|0);f[Y>>2]=0-(f[H+4>>2]|0);f[W>>2]=f[Z>>2]<<10;f[F>>2]=f[L>>2]<<3;while(1){if((f[F>>2]|0)>=(f[B>>2]|0))break;f[q>>2]=(n[(f[N>>2]|0)+(f[F>>2]<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+2<<1)>>1]|0)+(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<1)<<9;I=re(f[W>>2]>>16,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0;I=I+((re(f[W>>2]&65535,n[l+((f[F>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;C=re(f[q>>2]>>16,(f[z>>2]&65535)<<16>>16)|0;f[q>>2]=I+(C+((re(f[q>>2]&65535,(f[z>>2]&65535)<<16>>16)|0)>>16));C=re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11>>16,(f[Y>>2]&65535)<<16>>16)|0;f[q>>2]=(f[q>>2]|0)+(C+((re(n[(f[N>>2]|0)+((f[F>>2]|0)+1<<1)>>1]<<11&65535,(f[Y>>2]&65535)<<16>>16)|0)>>16));if(((f[q>>2]>>7)+1>>1|0)<=32767)if(((f[q>>2]>>7)+1>>1|0)<-32768)w=-32768;else w=(f[q>>2]>>7)+1>>1;else w=32767;n[(f[D>>2]|0)+((f[F>>2]|0)-1<<1)>>1]=w;f[F>>2]=(f[F>>2]|0)+1}n[f[U>>2]>>1]=f[H>>2];n[(f[U>>2]|0)+2>>1]=f[H+4>>2];n[(f[U>>2]|0)+30>>1]=f[Z>>2];de(f[j>>2]|0);h=V;return}function sa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(ua((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(ua((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function ua(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ha(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function ca(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;m=h;h=h+64|0;c=m+52|0;d=m+48|0;p=m+44|0;b=m+40|0;l=m+36|0;v=m+32|0;y=m+28|0;E=m+24|0;s=m+20|0;u=m+16|0;_=m+12|0;g=m+8|0;w=m+4|0;k=m;f[c>>2]=e;f[d>>2]=r;f[p>>2]=i;f[b>>2]=t;f[l>>2]=a;f[v>>2]=o;i=f[d>>2]|0;r=(f[c>>2]|0)+4|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=f[p>>2]|0;r=(f[c>>2]|0)+8|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=(f[c>>2]|0)+4|0;r=(f[d>>2]|0)+(f[v>>2]<<1)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;i=(f[c>>2]|0)+8|0;r=(f[p>>2]|0)+(f[v>>2]<<1)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;f[w>>2]=n[f[c>>2]>>1];f[k>>2]=n[(f[c>>2]|0)+2>>1];f[E>>2]=65536/(f[l>>2]<<3|0)|0;f[s>>2]=((re(((f[f[b>>2]>>2]|0)-(n[f[c>>2]>>1]|0)&65535)<<16>>16,(f[E>>2]&65535)<<16>>16)|0)>>15)+1>>1;f[u>>2]=((re(((f[(f[b>>2]|0)+4>>2]|0)-(n[(f[c>>2]|0)+2>>1]|0)&65535)<<16>>16,(f[E>>2]&65535)<<16>>16)|0)>>15)+1>>1;f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[l>>2]<<3|0))break;f[w>>2]=(f[w>>2]|0)+(f[s>>2]|0);f[k>>2]=(f[k>>2]|0)+(f[u>>2]|0);f[_>>2]=(n[(f[d>>2]|0)+(f[y>>2]<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+2<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<1)<<9;E=re(f[_>>2]>>16,(f[w>>2]&65535)<<16>>16)|0;f[_>>2]=(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<8)+(E+((re(f[_>>2]&65535,(f[w>>2]&65535)<<16>>16)|0)>>16));E=re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11>>16,(f[k>>2]&65535)<<16>>16)|0;f[_>>2]=(f[_>>2]|0)+(E+((re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11&65535,(f[k>>2]&65535)<<16>>16)|0)>>16));if(((f[_>>2]>>7)+1>>1|0)<=32767)if(((f[_>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(f[_>>2]>>7)+1>>1;else o=32767;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}f[w>>2]=f[f[b>>2]>>2];f[k>>2]=f[(f[b>>2]|0)+4>>2];f[y>>2]=f[l>>2]<<3;while(1){if((f[y>>2]|0)>=(f[v>>2]|0))break;f[_>>2]=(n[(f[d>>2]|0)+(f[y>>2]<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+2<<1)>>1]|0)+(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<1)<<9;E=re(f[_>>2]>>16,(f[w>>2]&65535)<<16>>16)|0;f[_>>2]=(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<8)+(E+((re(f[_>>2]&65535,(f[w>>2]&65535)<<16>>16)|0)>>16));E=re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11>>16,(f[k>>2]&65535)<<16>>16)|0;f[_>>2]=(f[_>>2]|0)+(E+((re(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]<<11&65535,(f[k>>2]&65535)<<16>>16)|0)>>16));if(((f[_>>2]>>7)+1>>1|0)<=32767)if(((f[_>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(f[_>>2]>>7)+1>>1;else o=32767;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}n[f[c>>2]>>1]=f[f[b>>2]>>2];n[(f[c>>2]|0)+2>>1]=f[(f[b>>2]|0)+4>>2];f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[v>>2]|0))break;f[_>>2]=(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0)+(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0);f[g>>2]=(n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0)-(n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]|0);if((f[_>>2]|0)>32767)o=32767;else o=(f[_>>2]|0)<-32768?-32768:f[_>>2]|0;n[(f[d>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;if((f[g>>2]|0)>32767)o=32767;else o=(f[g>>2]|0)<-32768?-32768:f[g>>2]|0;n[(f[p>>2]|0)+((f[y>>2]|0)+1<<1)>>1]=o;f[y>>2]=(f[y>>2]|0)+1}h=m;return}function ba(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+4|0;i=n;f[i>>2]=e;if(!(((((((f[(f[i>>2]|0)+8>>2]|0)!=8e3?(f[(f[i>>2]|0)+8>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=16e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=24e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=32e3:0)?(f[(f[i>>2]|0)+8>>2]|0)!=44100:0)?(f[(f[i>>2]|0)+8>>2]|0)!=48e3:0))t=8;do{if((t|0)==8){if(((f[(f[i>>2]|0)+20>>2]|0)!=8e3?(f[(f[i>>2]|0)+20>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+20>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+12>>2]|0)!=8e3?(f[(f[i>>2]|0)+12>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+12>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+16>>2]|0)!=8e3?(f[(f[i>>2]|0)+16>>2]|0)!=12e3:0)?(f[(f[i>>2]|0)+16>>2]|0)!=16e3:0)break;if(((f[(f[i>>2]|0)+16>>2]|0)<=(f[(f[i>>2]|0)+20>>2]|0)?(f[(f[i>>2]|0)+12>>2]|0)>=(f[(f[i>>2]|0)+20>>2]|0):0)?(f[(f[i>>2]|0)+16>>2]|0)<=(f[(f[i>>2]|0)+12>>2]|0):0){if((((f[(f[i>>2]|0)+24>>2]|0)!=10?(f[(f[i>>2]|0)+24>>2]|0)!=20:0)?(f[(f[i>>2]|0)+24>>2]|0)!=40:0)?(f[(f[i>>2]|0)+24>>2]|0)!=60:0){f[r>>2]=-103;t=f[r>>2]|0;h=n;return t|0}if((f[(f[i>>2]|0)+32>>2]|0)>=0?(f[(f[i>>2]|0)+32>>2]|0)<=100:0){if((f[(f[i>>2]|0)+44>>2]|0)>=0?(f[(f[i>>2]|0)+44>>2]|0)<=1:0){if((f[(f[i>>2]|0)+48>>2]|0)>=0?(f[(f[i>>2]|0)+48>>2]|0)<=1:0){do{if((f[(f[i>>2]|0)+40>>2]|0)>=0){if((f[(f[i>>2]|0)+40>>2]|0)>1)break;do{if((f[f[i>>2]>>2]|0)>=1){if((f[f[i>>2]>>2]|0)>2)break;do{if((f[(f[i>>2]|0)+4>>2]|0)>=1){if((f[(f[i>>2]|0)+4>>2]|0)>2)break;if((f[(f[i>>2]|0)+4>>2]|0)>(f[f[i>>2]>>2]|0)){f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}do{if((f[(f[i>>2]|0)+36>>2]|0)>=0){if((f[(f[i>>2]|0)+36>>2]|0)>10)break;f[r>>2]=0;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-106;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-111;t=f[r>>2]|0;h=n;return t|0}}while(0);f[r>>2]=-107;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-109;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-108;t=f[r>>2]|0;h=n;return t|0}f[r>>2]=-105;t=f[r>>2]|0;h=n;return t|0}}}while(0);f[r>>2]=-102;t=f[r>>2]|0;h=n;return t|0}function wa(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;i=c+20|0;t=c+16|0;o=c+12|0;s=c+8|0;a=c+4|0;l=c;f[i>>2]=e;f[t>>2]=r;f[s>>2]=0;if((f[t>>2]|0)>8e4)r=8e4;else r=(f[t>>2]|0)<5e3?5e3:f[t>>2]|0;f[t>>2]=r;if((f[t>>2]|0)==(f[(f[i>>2]|0)+4632>>2]|0)){u=f[s>>2]|0;h=c;return u|0}f[(f[i>>2]|0)+4632>>2]=f[t>>2];do{if((f[(f[i>>2]|0)+4600>>2]|0)!=8)if((f[(f[i>>2]|0)+4600>>2]|0)==12){f[l>>2]=17772;break}else{f[l>>2]=17804;break}else f[l>>2]=17740}while(0);if((f[(f[i>>2]|0)+4604>>2]|0)==2)f[t>>2]=(f[t>>2]|0)-2200;f[o>>2]=1;while(1){if((f[o>>2]|0)>=8){u=16;break}if((f[t>>2]|0)<=(f[(f[l>>2]|0)+(f[o>>2]<<2)>>2]|0))break;f[o>>2]=(f[o>>2]|0)+1}if((u|0)==16){u=f[s>>2]|0;h=c;return u|0}f[a>>2]=((f[t>>2]|0)-(f[(f[l>>2]|0)+((f[o>>2]|0)-1<<2)>>2]|0)<<6|0)/((f[(f[l>>2]|0)+(f[o>>2]<<2)>>2]|0)-(f[(f[l>>2]|0)+((f[o>>2]|0)-1<<2)>>2]|0)|0)|0;u=(n[24510+((f[o>>2]|0)-1<<1)>>1]<<6)+(re(f[a>>2]|0,(n[24510+(f[o>>2]<<1)>>1]|0)-(n[24510+((f[o>>2]|0)-1<<1)>>1]|0)|0)|0)|0;f[(f[i>>2]|0)+4748>>2]=u;u=f[s>>2]|0;h=c;return u|0}function ka(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;t=h;h=h+16|0;n=t+8|0;a=t+4|0;i=t;f[n>>2]=e;f[a>>2]=r;f[i>>2]=0;vs(f[n>>2]|0,0,12240)|0;f[(f[n>>2]|0)+5124>>2]=f[a>>2];e=(Ba(3932160)|0)-2048<<8;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+12>>2]=f[(f[n>>2]|0)+8>>2];f[(f[n>>2]|0)+4696>>2]=1;e=Nf((f[n>>2]|0)+32|0)|0;f[i>>2]=(f[i>>2]|0)+e;h=t;return f[i>>2]|0}function da(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;k=h;h=h+48|0;o=k+32|0;l=k+28|0;s=k+24|0;u=k+20|0;p=k+16|0;d=k+12|0;c=k+8|0;b=k+4|0;w=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[p>>2]=t;f[d>>2]=n;f[c>>2]=a;f[w>>2]=0;f[(f[l>>2]|0)+6108>>2]=f[(f[s>>2]|0)+44>>2];f[(f[l>>2]|0)+4708>>2]=f[(f[s>>2]|0)+48>>2];f[(f[l>>2]|0)+4580>>2]=f[(f[s>>2]|0)+8>>2];f[(f[l>>2]|0)+4588>>2]=f[(f[s>>2]|0)+12>>2];f[(f[l>>2]|0)+4592>>2]=f[(f[s>>2]|0)+16>>2];f[(f[l>>2]|0)+4596>>2]=f[(f[s>>2]|0)+20>>2];f[(f[l>>2]|0)+6120>>2]=f[(f[s>>2]|0)+40>>2];f[(f[l>>2]|0)+5784>>2]=f[f[s>>2]>>2];f[(f[l>>2]|0)+5788>>2]=f[(f[s>>2]|0)+4>>2];f[(f[l>>2]|0)+4560>>2]=f[p>>2];f[(f[l>>2]|0)+5792>>2]=f[d>>2];if(f[(f[l>>2]|0)+4700>>2]|0?(f[(f[l>>2]|0)+4712>>2]|0)==0:0){if((f[(f[l>>2]|0)+4580>>2]|0)!=(f[(f[l>>2]|0)+4584>>2]|0)?(f[(f[l>>2]|0)+4600>>2]|0)>0:0){p=pa(f[l>>2]|0,f[(f[l>>2]|0)+4600>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p}f[o>>2]=f[w>>2];p=f[o>>2]|0;h=k;return p|0}f[b>>2]=Gf(f[l>>2]|0,f[s>>2]|0)|0;if(f[c>>2]|0)f[b>>2]=f[c>>2];p=pa(f[l>>2]|0,f[b>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;p=ya(f[l>>2]|0,f[b>>2]|0,f[(f[s>>2]|0)+24>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;p=_a(f[l>>2]|0,f[(f[s>>2]|0)+36>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;f[(f[l>>2]|0)+4640>>2]=f[(f[s>>2]|0)+32>>2];p=Ea(f[l>>2]|0,f[u>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+p;f[(f[l>>2]|0)+4700>>2]=1;f[o>>2]=f[w>>2];p=f[o>>2]|0;h=k;return p|0}function pa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+336|0;i=b+328|0;t=b+324|0;u=b+320|0;l=b+316|0;a=b+312|0;s=b+308|0;o=b+304|0;n=b+300|0;c=b;f[i>>2]=e;f[t>>2]=r;f[u>>2]=0;if((f[(f[i>>2]|0)+4600>>2]|0)==(f[t>>2]|0)?(f[(f[i>>2]|0)+4584>>2]|0)==(f[(f[i>>2]|0)+4580>>2]|0):0){s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}r=f[i>>2]|0;if(!(f[(f[i>>2]|0)+4600>>2]|0)){s=hi(r+5808|0,f[(f[i>>2]|0)+4580>>2]|0,(f[t>>2]|0)*1e3|0,1)|0;f[u>>2]=(f[u>>2]|0)+s;s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}else{f[o>>2]=((f[r+4604>>2]|0)*5<<1)+5;f[s>>2]=re(f[o>>2]|0,f[(f[i>>2]|0)+4600>>2]|0)|0;f[l>>2]=re(f[o>>2]|0,f[t>>2]|0)|0;r=(f[s>>2]|0)>(f[l>>2]|0)?f[s>>2]|0:f[l>>2]|0;f[n>>2]=he()|0;e=h;h=h+((1*(r<<1)|0)+15&-16)|0;va(e,(f[i>>2]|0)+9356|0,f[s>>2]|0);r=hi(c,((f[(f[i>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0,f[(f[i>>2]|0)+4580>>2]|0,0)|0;f[u>>2]=(f[u>>2]|0)+r;f[a>>2]=re(f[o>>2]|0,(f[(f[i>>2]|0)+4580>>2]|0)/1e3|0)|0;o=h;h=h+((1*(f[a>>2]<<1)|0)+15&-16)|0;s=ci(c,o,e,f[s>>2]|0)|0;f[u>>2]=(f[u>>2]|0)+s;s=hi((f[i>>2]|0)+5808|0,f[(f[i>>2]|0)+4580>>2]|0,((f[t>>2]&65535)<<16>>16)*1e3|0,1)|0;f[u>>2]=(f[u>>2]|0)+s;s=ci((f[i>>2]|0)+5808|0,e,o,f[a>>2]|0)|0;f[u>>2]=(f[u>>2]|0)+s;ga((f[i>>2]|0)+9356|0,e,f[l>>2]|0);de(f[n>>2]|0);s=f[i>>2]|0;s=s+4580|0;s=f[s>>2]|0;c=f[i>>2]|0;c=c+4584|0;f[c>>2]=s;c=f[u>>2]|0;h=b;return c|0}return 0}function va(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<=32767)if((cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0)<-32768)r=-32768;else r=cs(+s[(f[a>>2]|0)+(f[o>>2]<<2)>>2])|0;else r=32767;n[(f[t>>2]|0)+(f[o>>2]<<1)>>1]=r;f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function ga(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0;l=h;h=h+16|0;t=l+12|0;a=l+8|0;u=l+4|0;o=l;f[t>>2]=e;f[a>>2]=r;f[u>>2]=i;f[o>>2]=(f[u>>2]|0)-1;while(1){if((f[o>>2]|0)<0)break;s[(f[t>>2]|0)+(f[o>>2]<<2)>>2]=+(n[(f[a>>2]|0)+(f[o>>2]<<1)>>1]|0);f[o>>2]=(f[o>>2]|0)+-1}h=l;return}function ya(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0,s=0;s=h;h=h+16|0;o=s+12|0;a=s+8|0;n=s+4|0;l=s;f[o>>2]=e;f[a>>2]=r;f[n>>2]=i;f[l>>2]=0;if((f[n>>2]|0)!=(f[(f[o>>2]|0)+4636>>2]|0)){if((f[n>>2]|0)!=10&(f[n>>2]|0)!=20&(f[n>>2]|0)!=40&(f[n>>2]|0)!=60)f[l>>2]=-103;do{if((f[n>>2]|0)<=10){f[(f[o>>2]|0)+5776>>2]=1;f[(f[o>>2]|0)+4604>>2]=(f[n>>2]|0)==10?2:1;i=re((f[n>>2]&65535)<<16>>16,(f[a>>2]&65535)<<16>>16)|0;f[(f[o>>2]|0)+4608>>2]=i;f[(f[o>>2]|0)+4572>>2]=((f[a>>2]&65535)<<16>>16)*14;i=(f[o>>2]|0)+4720|0;if((f[(f[o>>2]|0)+4600>>2]|0)==8){f[i>>2]=29174;break}else{f[i>>2]=29162;break}}else{f[(f[o>>2]|0)+5776>>2]=(f[n>>2]|0)/20|0;f[(f[o>>2]|0)+4604>>2]=4;f[(f[o>>2]|0)+4608>>2]=((f[a>>2]&65535)<<16>>16)*20;f[(f[o>>2]|0)+4572>>2]=((f[a>>2]&65535)<<16>>16)*24;i=(f[o>>2]|0)+4720|0;if((f[(f[o>>2]|0)+4600>>2]|0)==8){f[i>>2]=29151;break}else{f[i>>2]=29117;break}}}while(0);f[(f[o>>2]|0)+4636>>2]=f[n>>2];f[(f[o>>2]|0)+4632>>2]=0}if((f[(f[o>>2]|0)+4600>>2]|0)==(f[a>>2]|0)){l=f[l>>2]|0;h=s;return l|0}i=(f[o>>2]|0)+7200|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;vs((f[o>>2]|0)+7216|0,0,2140)|0;vs((f[o>>2]|0)+144|0,0,4380)|0;i=(f[o>>2]|0)+4524|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;i=(f[o>>2]|0)+16|0;f[i>>2]=0;f[i+4>>2]=0;f[(f[o>>2]|0)+5772>>2]=0;f[(f[o>>2]|0)+5780>>2]=0;f[(f[o>>2]|0)+4632>>2]=0;f[(f[o>>2]|0)+4568>>2]=100;f[(f[o>>2]|0)+4696>>2]=1;f[(f[o>>2]|0)+7216+2136>>2]=100;t[(f[o>>2]|0)+7200>>0]=10;f[(f[o>>2]|0)+144+4356>>2]=100;f[(f[o>>2]|0)+144+4372>>2]=65536;t[(f[o>>2]|0)+4565>>0]=0;f[(f[o>>2]|0)+4600>>2]=f[a>>2];i=(f[(f[o>>2]|0)+4604>>2]|0)==4;r=(f[o>>2]|0)+4720|0;do{if((f[(f[o>>2]|0)+4600>>2]|0)==8)if(i){f[r>>2]=29151;break}else{f[r>>2]=29174;break}else if(i){f[r>>2]=29117;break}else{f[r>>2]=29162;break}}while(0);if((f[(f[o>>2]|0)+4600>>2]|0)!=8?(f[(f[o>>2]|0)+4600>>2]|0)!=12:0){f[(f[o>>2]|0)+4664>>2]=16;f[(f[o>>2]|0)+4724>>2]=17704}else{f[(f[o>>2]|0)+4664>>2]=10;f[(f[o>>2]|0)+4724>>2]=17668}f[(f[o>>2]|0)+4612>>2]=(f[a>>2]|0)*5;i=re((f[(f[o>>2]|0)+4612>>2]&65535)<<16>>16,(f[(f[o>>2]|0)+4604>>2]&65535)<<16>>16)|0;f[(f[o>>2]|0)+4608>>2]=i;f[(f[o>>2]|0)+4616>>2]=((f[a>>2]&65535)<<16>>16)*20;f[(f[o>>2]|0)+4620>>2]=(f[a>>2]&65535)<<16>>16<<1;f[(f[o>>2]|0)+4576>>2]=((f[a>>2]&65535)<<16>>16)*18;i=(f[a>>2]&65535)<<16>>16;if((f[(f[o>>2]|0)+4604>>2]|0)==4)f[(f[o>>2]|0)+4572>>2]=i*24;else f[(f[o>>2]|0)+4572>>2]=i*14;i=f[o>>2]|0;if((f[(f[o>>2]|0)+4600>>2]|0)==16){f[i+4684>>2]=10;f[(f[o>>2]|0)+4716>>2]=29049;l=f[l>>2]|0;h=s;return l|0}r=(f[o>>2]|0)+4684|0;if((f[i+4600>>2]|0)==12){f[r>>2]=13;f[(f[o>>2]|0)+4716>>2]=29043;l=f[l>>2]|0;h=s;return l|0}else{f[r>>2]=15;f[(f[o>>2]|0)+4716>>2]=29034;l=f[l>>2]|0;h=s;return l|0}return 0}function _a(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0;a=h;h=h+16|0;i=a+8|0;t=a+4|0;n=a;f[i>>2]=e;f[t>>2]=r;f[n>>2]=0;do{if((f[t>>2]|0)>=2){if((f[t>>2]|0)<4){f[(f[i>>2]|0)+4668>>2]=1;f[(f[i>>2]|0)+4676>>2]=49807;f[(f[i>>2]|0)+4672>>2]=8;f[(f[i>>2]|0)+4660>>2]=10;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=1;f[(f[i>>2]|0)+4656>>2]=0;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=4;f[(f[i>>2]|0)+4704>>2]=0;break}if((f[t>>2]|0)<6){f[(f[i>>2]|0)+4668>>2]=1;f[(f[i>>2]|0)+4676>>2]=48497;f[(f[i>>2]|0)+4672>>2]=10;f[(f[i>>2]|0)+4660>>2]=12;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=2;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=8;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}r=(f[i>>2]|0)+4668|0;if((f[t>>2]|0)<8){f[r>>2]=1;f[(f[i>>2]|0)+4676>>2]=47186;f[(f[i>>2]|0)+4672>>2]=12;f[(f[i>>2]|0)+4660>>2]=14;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=3;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=16;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}else{f[r>>2]=2;f[(f[i>>2]|0)+4676>>2]=45875;f[(f[i>>2]|0)+4672>>2]=16;f[(f[i>>2]|0)+4660>>2]=16;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*5;f[(f[i>>2]|0)+4652>>2]=4;f[(f[i>>2]|0)+4656>>2]=1;f[(f[i>>2]|0)+4680>>2]=0;f[(f[i>>2]|0)+4692>>2]=32;f[(f[i>>2]|0)+4704>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*983;break}}else{f[(f[i>>2]|0)+4668>>2]=0;f[(f[i>>2]|0)+4676>>2]=52429;f[(f[i>>2]|0)+4672>>2]=6;f[(f[i>>2]|0)+4660>>2]=8;f[(f[i>>2]|0)+4624>>2]=(f[(f[i>>2]|0)+4600>>2]|0)*3;f[(f[i>>2]|0)+4652>>2]=1;f[(f[i>>2]|0)+4656>>2]=0;f[(f[i>>2]|0)+4680>>2]=1;f[(f[i>>2]|0)+4692>>2]=2;f[(f[i>>2]|0)+4704>>2]=0}}while(0);e=ma(f[(f[i>>2]|0)+4672>>2]|0,f[(f[i>>2]|0)+4664>>2]|0)|0;f[(f[i>>2]|0)+4672>>2]=e;f[(f[i>>2]|0)+4628>>2]=((f[(f[i>>2]|0)+4600>>2]|0)*5|0)+(f[(f[i>>2]|0)+4624>>2]<<1);f[(f[i>>2]|0)+4648>>2]=f[t>>2];h=a;return f[n>>2]|0}function ma(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ea(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;n=l+16|0;i=l+12|0;a=l+8|0;o=l+4|0;t=l;f[n>>2]=e;f[i>>2]=r;f[o>>2]=0;f[a>>2]=f[(f[n>>2]|0)+6124>>2];f[(f[n>>2]|0)+6124>>2]=0;if(!(f[(f[n>>2]|0)+6120>>2]|0)){o=f[o>>2]|0;h=l;return o|0}if((f[(f[n>>2]|0)+4640>>2]|0)<=0){o=f[o>>2]|0;h=l;return o|0}do{if((f[(f[n>>2]|0)+4600>>2]|0)!=8)if((f[(f[n>>2]|0)+4600>>2]|0)==12){f[t>>2]=14e3;break}else{f[t>>2]=16e3;break}else f[t>>2]=12e3}while(0);if((f[(f[n>>2]|0)+4640>>2]|0)<25)r=f[(f[n>>2]|0)+4640>>2]|0;else r=25;r=((re(f[t>>2]|0,125-r|0)|0)>>16)*655|0;if((f[(f[n>>2]|0)+4640>>2]|0)<25)e=f[(f[n>>2]|0)+4640>>2]|0;else e=25;f[t>>2]=r+(((re(f[t>>2]|0,125-e|0)|0)&65535)*655>>16);if((f[i>>2]|0)<=(f[t>>2]|0)){o=f[o>>2]|0;h=l;return o|0}r=f[n>>2]|0;if(!(f[a>>2]|0))f[r+6128>>2]=7;else{a=Aa(7-(((f[r+4640>>2]>>16)*26214|0)+((f[(f[n>>2]|0)+4640>>2]&65535)*26214>>16))|0,2)|0;f[(f[n>>2]|0)+6128>>2]=a}f[(f[n>>2]|0)+6124>>2]=1;o=f[o>>2]|0;h=l;return o|0}function Aa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Sa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;x=h;h=h+160|0;t=x+156|0;a=x+152|0;o=x+148|0;k=x+144|0;d=x+140|0;p=x+136|0;c=x+132|0;y=x+128|0;w=x+124|0;E=x+120|0;m=x+116|0;A=x+112|0;R=x+108|0;S=x+104|0;T=x+100|0;_=x+96|0;v=x+92|0;b=x+88|0;l=x+52|0;u=x+16|0;s=x+8|0;g=x;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[s>>2]=l;f[s+4>>2]=u;f[c>>2]=f[o>>2]>>1;Ra(f[a>>2]|0,l,u,f[c>>2]|0);f[g>>2]=l;f[E>>2]=n[12288];f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;if((f[R>>2]|0)<0){n[f[t>>2]>>1]=0;f[g>>2]=u;f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;f[y>>2]=1}else f[y>>2]=0;f[d>>2]=1;f[k>>2]=0;f[_>>2]=0;e:while(1){f[m>>2]=n[24576+(f[d>>2]<<1)>>1];f[S>>2]=Ma(f[g>>2]|0,f[m>>2]|0,f[c>>2]|0)|0;if(!((f[R>>2]|0)<=0?(f[S>>2]|0)>=(f[_>>2]|0):0))M=7;do{if((M|0)==7){M=0;if((f[R>>2]|0)>=0?(f[S>>2]|0)<=(0-(f[_>>2]|0)|0):0)break;f[d>>2]=(f[d>>2]|0)+1;f[E>>2]=f[m>>2];f[R>>2]=f[S>>2];f[_>>2]=0;if((f[d>>2]|0)<=128)continue e;f[k>>2]=(f[k>>2]|0)+1;if((f[k>>2]|0)>30)break e;Pa(f[a>>2]|0,f[o>>2]|0,65536-(re((10+(f[k>>2]|0)&65535)<<16>>16,(f[k>>2]&65535)<<16>>16)|0)|0);Ra(f[a>>2]|0,l,u,f[c>>2]|0);f[g>>2]=l;f[E>>2]=n[12288];f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;if((f[R>>2]|0)<0){n[f[t>>2]>>1]=0;f[g>>2]=u;f[R>>2]=Ma(f[g>>2]|0,f[E>>2]|0,f[c>>2]|0)|0;f[y>>2]=1}else f[y>>2]=0;f[d>>2]=1;continue e}}while(0);if(!(f[S>>2]|0))f[_>>2]=1;else f[_>>2]=0;f[w>>2]=-256;f[p>>2]=0;while(1){if((f[p>>2]|0)>=3)break;f[A>>2]=((f[E>>2]|0)+(f[m>>2]|0)>>1)+((f[E>>2]|0)+(f[m>>2]|0)&1);f[T>>2]=Ma(f[g>>2]|0,f[A>>2]|0,f[c>>2]|0)|0;if(!((f[R>>2]|0)<=0&(f[T>>2]|0)>=0)?!((f[R>>2]|0)>=0&(f[T>>2]|0)<=0):0){f[E>>2]=f[A>>2];f[R>>2]=f[T>>2];f[w>>2]=(f[w>>2]|0)+(128>>f[p>>2])}else{f[m>>2]=f[A>>2];f[S>>2]=f[T>>2]}f[p>>2]=(f[p>>2]|0)+1}i=f[R>>2]|0;e=f[R>>2]|0;if((((f[R>>2]|0)>0?i:0-i|0)|0)<65536){f[b>>2]=e-(f[S>>2]|0);f[v>>2]=(f[R>>2]<<5)+(f[b>>2]>>1);if(f[b>>2]|0)f[w>>2]=(f[w>>2]|0)+((f[v>>2]|0)/(f[b>>2]|0)|0)}else f[w>>2]=(f[w>>2]|0)+((e|0)/((f[R>>2]|0)-(f[S>>2]|0)>>5|0)|0);i=(xa((f[d>>2]<<8)+(f[w>>2]|0)|0,32767)|0)&65535;n[(f[t>>2]|0)+(f[y>>2]<<1)>>1]=i;f[y>>2]=(f[y>>2]|0)+1;if((f[y>>2]|0)>=(f[o>>2]|0)){M=34;break}f[g>>2]=f[s+((f[y>>2]&1)<<2)>>2];f[E>>2]=n[24576+((f[d>>2]|0)-1<<1)>>1];f[R>>2]=1-(f[y>>2]&2)<<12}if((M|0)==34){h=x;return}n[f[t>>2]>>1]=32768/((f[o>>2]|0)+1|0)|0;f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[o>>2]|0))break;M=(re(((f[d>>2]|0)+1&65535)<<16>>16,n[f[t>>2]>>1]|0)|0)&65535;n[(f[t>>2]|0)+(f[d>>2]<<1)>>1]=M;f[d>>2]=(f[d>>2]|0)+1}h=x;return}function Ra(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;n=u+16|0;a=u+12|0;o=u+8|0;l=u+4|0;s=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[(f[a>>2]|0)+(f[l>>2]<<2)>>2]=65536;f[(f[o>>2]|0)+(f[l>>2]<<2)>>2]=65536;f[s>>2]=0;while(1){r=f[l>>2]|0;if((f[s>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=0-(f[(f[n>>2]|0)+(r-(f[s>>2]|0)-1<<2)>>2]|0)-(f[(f[n>>2]|0)+((f[l>>2]|0)+(f[s>>2]|0)<<2)>>2]|0);f[(f[o>>2]|0)+(f[s>>2]<<2)>>2]=0-(f[(f[n>>2]|0)+((f[l>>2]|0)-(f[s>>2]|0)-1<<2)>>2]|0)+(f[(f[n>>2]|0)+((f[l>>2]|0)+(f[s>>2]|0)<<2)>>2]|0);f[s>>2]=(f[s>>2]|0)+1}f[s>>2]=r;while(1){if((f[s>>2]|0)<=0)break;n=(f[a>>2]|0)+((f[s>>2]|0)-1<<2)|0;f[n>>2]=(f[n>>2]|0)-(f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]|0);n=(f[o>>2]|0)+((f[s>>2]|0)-1<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[(f[o>>2]|0)+(f[s>>2]<<2)>>2]|0);f[s>>2]=(f[s>>2]|0)+-1}Ta(f[a>>2]|0,f[l>>2]|0);Ta(f[o>>2]|0,f[l>>2]|0);h=u;return}function Ta(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;n=o+4|0;a=o;f[i>>2]=e;f[t>>2]=r;f[n>>2]=2;while(1){if((f[n>>2]|0)>(f[t>>2]|0))break;f[a>>2]=f[t>>2];while(1){if((f[a>>2]|0)<=(f[n>>2]|0))break;e=(f[i>>2]|0)+((f[a>>2]|0)-2<<2)|0;f[e>>2]=(f[e>>2]|0)-(f[(f[i>>2]|0)+(f[a>>2]<<2)>>2]|0);f[a>>2]=(f[a>>2]|0)+-1}e=(f[i>>2]|0)+((f[n>>2]|0)-2<<2)|0;f[e>>2]=(f[e>>2]|0)-(f[(f[i>>2]|0)+(f[n>>2]<<2)>>2]<<1);f[n>>2]=(f[n>>2]|0)+1}h=o;return}function Ma(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;s=h;h=h+32|0;t=s+20|0;u=s+16|0;n=s+12|0;a=s+8|0;o=s+4|0;l=s;f[t>>2]=e;f[u>>2]=r;f[n>>2]=i;f[l>>2]=f[(f[t>>2]|0)+(f[n>>2]<<2)>>2];f[o>>2]=f[u>>2]<<4;if(8==(f[n>>2]|0)^1^1){u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+28>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+24>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+20>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+16>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+12>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+8>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+4>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[f[t>>2]>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);u=f[l>>2]|0;h=s;return u|0}f[a>>2]=(f[n>>2]|0)-1;while(1){if((f[a>>2]|0)<0)break;u=re(f[l>>2]>>16,(f[o>>2]&65535)<<16>>16)|0;u=(f[(f[t>>2]|0)+(f[a>>2]<<2)>>2]|0)+(u+((re(f[l>>2]&65535,(f[o>>2]&65535)<<16>>16)|0)>>16))|0;f[l>>2]=u+(re(f[l>>2]|0,(f[o>>2]>>15)+1>>1)|0);f[a>>2]=(f[a>>2]|0)+-1}u=f[l>>2]|0;h=s;return u|0}function xa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Oa(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;g=h;h=h+48|0;o=g+44|0;l=g+40|0;s=g+36|0;u=g+32|0;y=g+28|0;d=g+24|0;c=g+20|0;k=g+16|0;b=g+12|0;w=g+8|0;p=g+4|0;v=g;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[y>>2]=a;f[c>>2]=f[y>>2]>>1;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[c>>2]|0))break;f[k>>2]=n[(f[o>>2]|0)+(f[d>>2]<<1<<1)>>1]<<10;f[w>>2]=(f[k>>2]|0)-(f[f[l>>2]>>2]|0);y=re(f[w>>2]>>16,n[12286]|0)|0;f[b>>2]=(f[w>>2]|0)+(y+((re(f[w>>2]&65535,n[12286]|0)|0)>>16));f[p>>2]=(f[f[l>>2]>>2]|0)+(f[b>>2]|0);f[f[l>>2]>>2]=(f[k>>2]|0)+(f[b>>2]|0);f[k>>2]=n[(f[o>>2]|0)+((f[d>>2]<<1)+1<<1)>>1]<<10;f[w>>2]=(f[k>>2]|0)-(f[(f[l>>2]|0)+4>>2]|0);y=re(f[w>>2]>>16,n[12287]|0)|0;f[b>>2]=y+((re(f[w>>2]&65535,n[12287]|0)|0)>>16);f[v>>2]=(f[(f[l>>2]|0)+4>>2]|0)+(f[b>>2]|0);f[(f[l>>2]|0)+4>>2]=(f[k>>2]|0)+(f[b>>2]|0);if((((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1|0)<=32767)if((((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((f[v>>2]|0)+(f[p>>2]|0)>>10)+1>>1;else a=32767;n[(f[s>>2]|0)+(f[d>>2]<<1)>>1]=a;if((((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1|0)<=32767)if((((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1|0)<-32768)a=-32768;else a=((f[v>>2]|0)-(f[p>>2]|0)>>10)+1>>1;else a=32767;n[(f[u>>2]|0)+(f[d>>2]<<1)>>1]=a;f[d>>2]=(f[d>>2]|0)+1}h=g;return}function La(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;E=h;h=h+64|0;s=E+52|0;u=E+48|0;A=E+44|0;c=E+40|0;b=E+36|0;w=E+32|0;k=E+28|0;_=E+24|0;y=E+20|0;p=E+16|0;d=E+12|0;g=E+8|0;v=E+4|0;m=E;f[s>>2]=e;f[u>>2]=r;f[A>>2]=i;f[c>>2]=t;f[b>>2]=a;f[w>>2]=o;f[k>>2]=l;f[d>>2]=0-(f[f[A>>2]>>2]|0)&16383;f[p>>2]=0-(f[f[A>>2]>>2]|0)>>14;f[v>>2]=0-(f[(f[A>>2]|0)+4>>2]|0)&16383;f[g>>2]=0-(f[(f[A>>2]|0)+4>>2]|0)>>14;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[w>>2]|0))break;A=re(f[_>>2]|0,f[k>>2]|0)|0;f[y>>2]=n[(f[s>>2]|0)+(A<<1)>>1];A=re(f[f[u>>2]>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;f[m>>2]=(f[f[c>>2]>>2]|0)+(A+((re(f[f[u>>2]>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))<<2;A=re(f[m>>2]>>16,(f[d>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+((A+((re(f[m>>2]&65535,(f[d>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1)|0;f[f[c>>2]>>2]=A;A=re(f[m>>2]>>16,(f[p>>2]&65535)<<16>>16)|0;A=(f[f[c>>2]>>2]|0)+(A+((re(f[m>>2]&65535,(f[p>>2]&65535)<<16>>16)|0)>>16))|0;f[f[c>>2]>>2]=A;A=re(f[(f[u>>2]|0)+4>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;A=(f[f[c>>2]>>2]|0)+(A+((re(f[(f[u>>2]|0)+4>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))|0;f[f[c>>2]>>2]=A;A=re(f[m>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;A=(A+((re(f[m>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1;f[(f[c>>2]|0)+4>>2]=A;A=re(f[m>>2]>>16,(f[g>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+(A+((re(f[m>>2]&65535,(f[g>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[c>>2]|0)+4>>2]=A;A=re(f[(f[u>>2]|0)+8>>2]>>16,(f[y>>2]&65535)<<16>>16)|0;A=(f[(f[c>>2]|0)+4>>2]|0)+(A+((re(f[(f[u>>2]|0)+8>>2]&65535,(f[y>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[c>>2]|0)+4>>2]=A;if(((f[m>>2]|0)+16384-1>>14|0)<=32767)if(((f[m>>2]|0)+16384-1>>14|0)<-32768)i=-32768;else i=(f[m>>2]|0)+16384-1>>14;else i=32767;A=re(f[_>>2]|0,f[k>>2]|0)|0;n[(f[b>>2]|0)+(A<<1)>>1]=i;f[_>>2]=(f[_>>2]|0)+1}h=E;return}function Pa(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+16|0;n=s+12|0;a=s+8|0;l=s+4|0;o=s;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[o>>2]=(f[a>>2]|0)-65536;f[l>>2]=0;while(1){e=f[a>>2]>>16;if((f[l>>2]|0)>=((f[n>>2]|0)-1|0))break;r=re(e,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]&65535)<<16>>16)|0;r=r+((re(f[a>>2]&65535,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;r=r+(re(f[a>>2]|0,(f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]=r;r=((re(f[a>>2]|0,f[o>>2]|0)|0)>>15)+1>>1;f[a>>2]=(f[a>>2]|0)+r;f[l>>2]=(f[l>>2]|0)+1}l=re(e,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;l=l+((re(f[a>>2]&65535,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;l=l+(re(f[a>>2]|0,(f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;f[(f[t>>2]|0)+((f[n>>2]|0)-1<<2)>>2]=l;h=s;return}function Ia(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+16|0;a=u+12|0;o=u+8|0;s=u+4|0;l=u;f[t>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=(f[o>>2]|0)-65536;f[s>>2]=0;while(1){e=f[o>>2]|0;if((f[s>>2]|0)>=((f[a>>2]|0)-1|0))break;r=((re(e,n[(f[t>>2]|0)+(f[s>>2]<<1)>>1]|0)|0)>>15)+1>>1&65535;n[(f[t>>2]|0)+(f[s>>2]<<1)>>1]=r;r=((re(f[o>>2]|0,f[l>>2]|0)|0)>>15)+1>>1;f[o>>2]=(f[o>>2]|0)+r;f[s>>2]=(f[s>>2]|0)+1}s=((re(e,n[(f[t>>2]|0)+((f[a>>2]|0)-1<<1)>>1]|0)|0)>>15)+1>>1&65535;n[(f[t>>2]|0)+((f[a>>2]|0)-1<<1)>>1]=s;h=u;return}function Ca(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+48|0;l=y+36|0;u=y+38|0;c=y+32|0;s=y+28|0;b=y+24|0;p=y+20|0;d=y+16|0;g=y+12|0;v=y+8|0;k=y+4|0;w=y;n[l>>1]=e;t[u>>0]=r;f[c>>2]=i;f[s>>2]=a;f[b>>2]=o;a=(f[b>>2]|0)==4;do{if((f[s>>2]|0)==8)if(a){f[w>>2]=30286;f[k>>2]=11;break}else{f[w>>2]=30252;f[k>>2]=3;break}else if(a){f[w>>2]=30330;f[k>>2]=34;break}else{f[w>>2]=30258;f[k>>2]=12;break}}while(0);f[g>>2]=(f[s>>2]&65535)<<16>>16<<1;f[v>>2]=((f[s>>2]&65535)<<16>>16)*18;f[p>>2]=(f[g>>2]|0)+(n[l>>1]|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;a=re(f[d>>2]|0,f[k>>2]|0)|0;f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]=(f[p>>2]|0)+(t[(f[w>>2]|0)+(a+(t[u>>0]|0))>>0]|0);a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;do{if((f[g>>2]|0)>(f[v>>2]|0)){if((a|0)>(f[g>>2]|0)){a=f[g>>2]|0;break}if((f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0)<(f[v>>2]|0)){a=f[v>>2]|0;break}else{a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;break}}else{if((a|0)>(f[v>>2]|0)){a=f[v>>2]|0;break}if((f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0)<(f[g>>2]|0)){a=f[g>>2]|0;break}else{a=f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]|0;break}}}while(0);f[(f[c>>2]|0)+(f[d>>2]<<2)>>2]=a;f[d>>2]=(f[d>>2]|0)+1}h=y;return}function Ua(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;a=b+20|0;o=b+16|0;l=b+12|0;s=b+8|0;u=b+4|0;c=b;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[c>>2]=0;f[u>>2]=0;while(1){e=f[c>>2]|0;if((f[u>>2]|0)>=(f[s>>2]|0))break;i=re(n[(f[a>>2]|0)+(f[u>>2]<<1)>>1]|0,n[(f[o>>2]|0)+(f[u>>2]<<1)>>1]|0)|0;f[c>>2]=e+(i>>f[l>>2]);f[u>>2]=(f[u>>2]|0)+1}h=b;return e|0}function Ba(e){e=e|0;var r=0,i=0,t=0,n=0;r=h;h=h+16|0;n=r+8|0;t=r+4|0;i=r;f[n>>2]=e;ja(f[n>>2]|0,t,i);e=((re(f[i>>2]|0,128-(f[i>>2]|0)|0)|0)>>16)*179|0;e=(31-(f[t>>2]|0)<<7)+((f[i>>2]|0)+(e+(((re(f[i>>2]|0,128-(f[i>>2]|0)|0)|0)&65535)*179>>16)))|0;h=r;return e|0}function ja(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Da(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(Na(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Da(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Na(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Fa(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+16|0;i=o+12|0;t=o+8|0;a=o+4|0;n=o;f[t>>2]=e;if((f[t>>2]|0)<0){f[i>>2]=0;a=f[i>>2]|0;h=o;return a|0}if((f[t>>2]|0)>=3967){f[i>>2]=2147483647;a=f[i>>2]|0;h=o;return a|0}f[a>>2]=1<<(f[t>>2]>>7);f[n>>2]=f[t>>2]&127;e=f[a>>2]|0;r=f[a>>2]|0;if((f[t>>2]|0)<2048){t=re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;f[a>>2]=e+((re(r,(f[n>>2]|0)+(t+((re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)>>7)}else{t=re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;f[a>>2]=e+(re(r>>7,(f[n>>2]|0)+(t+((re((re((f[n>>2]&65535)<<16>>16,(128-(f[n>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)}f[i>>2]=f[a>>2];a=f[i>>2]|0;h=o;return a|0}function za(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+40|0;s=g+36|0;u=g+32|0;c=g+28|0;b=g+24|0;d=g+16|0;k=g+12|0;v=g+8|0;p=g+4|0;w=g;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=a;f[g+20>>2]=o;f[k>>2]=f[b>>2];while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;f[w>>2]=(f[s>>2]|0)+((f[k>>2]|0)-1<<1);f[v>>2]=re(n[f[w>>2]>>1]|0,n[f[u>>2]>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-2>>1]|0,n[(f[u>>2]|0)+2>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-4>>1]|0,n[(f[u>>2]|0)+4>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-6>>1]|0,n[(f[u>>2]|0)+6>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-8>>1]|0,n[(f[u>>2]|0)+8>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+-10>>1]|0,n[(f[u>>2]|0)+10>>1]|0)|0);f[d>>2]=6;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+(0-(f[d>>2]|0)<<1)>>1]|0,n[(f[u>>2]|0)+(f[d>>2]<<1)>>1]|0)|0);f[v>>2]=(f[v>>2]|0)+(re(n[(f[w>>2]|0)+(0-(f[d>>2]|0)-1<<1)>>1]|0,n[(f[u>>2]|0)+((f[d>>2]|0)+1<<1)>>1]|0)|0);f[d>>2]=(f[d>>2]|0)+2}f[v>>2]=(n[(f[w>>2]|0)+2>>1]<<12)-(f[v>>2]|0);f[p>>2]=(f[v>>2]>>11)+1>>1;if((f[p>>2]|0)>32767)i=32767;else i=(f[p>>2]|0)<-32768?-32768:f[p>>2]|0;n[(f[l>>2]|0)+(f[k>>2]<<1)>>1]=i;f[k>>2]=(f[k>>2]|0)+1}vs(f[l>>2]|0,0,f[b>>2]<<1|0)|0;h=g;return}function Ya(e,r){e=e|0;r=r|0;var i=0,t=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+160|0;i=c+148|0;t=c+144|0;a=c+140|0;u=c+136|0;l=c+8|0;o=c+4|0;s=c;f[t>>2]=e;f[a>>2]=r;f[s>>2]=0;f[o>>2]=l+((f[a>>2]&1)<<6);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[a>>2]|0))break;f[s>>2]=(f[s>>2]|0)+(n[(f[t>>2]|0)+(f[u>>2]<<1)>>1]|0);f[(f[o>>2]|0)+(f[u>>2]<<2)>>2]=n[(f[t>>2]|0)+(f[u>>2]<<1)>>1]<<12;f[u>>2]=(f[u>>2]|0)+1}if((f[s>>2]|0)>=4096){f[i>>2]=0;r=f[i>>2]|0;h=c;return r|0}else{f[i>>2]=Ha(l,f[a>>2]|0)|0;r=f[i>>2]|0;h=c;return r|0}return 0}function Ha(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;p=h;h=h+64|0;i=p+48|0;t=p+44|0;v=p+40|0;l=p+36|0;u=p+32|0;s=p+28|0;o=p+24|0;c=p+20|0;b=p+16|0;w=p+12|0;k=p+8|0;a=p+4|0;n=p;f[t>>2]=e;f[v>>2]=r;f[n>>2]=(f[t>>2]|0)+((f[v>>2]&1)<<6);f[o>>2]=1073741824;f[l>>2]=(f[v>>2]|0)-1;while(1){if((f[l>>2]|0)<=0)break;if((f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]|0)>16773022){d=5;break}if((f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]|0)<-16773022){d=5;break}f[c>>2]=0-(f[(f[n>>2]|0)+(f[l>>2]<<2)>>2]<<7);v=f[c>>2]|0;r=f[c>>2]|0;r=Ms(v|0,((v|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;r=ps(r|0,L|0,32)|0;f[b>>2]=1073741824-r;r=f[b>>2]|0;f[s>>2]=32-(qa((f[b>>2]|0)>0?r:0-r|0)|0);f[w>>2]=Wa(f[b>>2]|0,(f[s>>2]|0)+30|0)|0;r=f[o>>2]|0;v=f[b>>2]|0;v=Ms(r|0,((r|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,32)|0;f[o>>2]=v<<2;f[a>>2]=f[n>>2];f[n>>2]=(f[t>>2]|0)+((f[l>>2]&1)<<6);f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;r=f[(f[a>>2]|0)+(f[u>>2]<<2)>>2]|0;e=f[(f[a>>2]|0)+((f[l>>2]|0)-(f[u>>2]|0)-1<<2)>>2]|0;v=f[c>>2]|0;v=Ms(e|0,((e|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,30)|0;v=ds(v|0,L|0,1,0)|0;v=ps(v|0,L|0,1)|0;f[k>>2]=r-v;v=(f[s>>2]|0)==1;r=f[k>>2]|0;e=f[w>>2]|0;e=Ms(r|0,((r|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;r=L;if(v){r=ps(e|0,r|0,1)|0;v=L;g=f[k>>2]|0;e=f[w>>2]|0;e=Ms(g|0,((g|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ds(r|0,v|0,e&1|0,0)|0}else{e=ps(e|0,r|0,(f[s>>2]|0)-1|0)|0;e=ds(e|0,L|0,1,0)|0;e=ps(e|0,L|0,1)|0}f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=e;f[u>>2]=(f[u>>2]|0)+1}f[l>>2]=(f[l>>2]|0)+-1}if((d|0)==5){f[i>>2]=0;g=f[i>>2]|0;h=p;return g|0}if((f[f[n>>2]>>2]|0)<=16773022?(f[f[n>>2]>>2]|0)>=-16773022:0){f[c>>2]=0-(f[f[n>>2]>>2]<<7);g=f[c>>2]|0;v=f[c>>2]|0;v=Ms(g|0,((g|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=ps(v|0,L|0,32)|0;f[b>>2]=1073741824-v;v=f[o>>2]|0;g=f[b>>2]|0;g=Ms(v|0,((v|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;g=ps(g|0,L|0,32)|0;f[o>>2]=g<<2;f[i>>2]=f[o>>2];g=f[i>>2]|0;h=p;return g|0}f[i>>2]=0;g=f[i>>2]|0;h=p;return g|0}function qa(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Wa(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(qa((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Za(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+272|0;E=M+264|0;t=M+260|0;A=M+256|0;_=M+252|0;T=M+248|0;R=M+244|0;k=M+240|0;b=M+176|0;o=M+140|0;s=M+104|0;l=M+100|0;u=M+96|0;v=M+92|0;p=M+88|0;w=M+84|0;d=M+80|0;S=M+16|0;y=M+12|0;c=M+8|0;g=M+4|0;m=M;f[E>>2]=e;f[t>>2]=r;f[A>>2]=i;f[g>>2]=0;f[_>>2]=(f[A>>2]|0)==16?30226:30242;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;f[v>>2]=n[(f[t>>2]|0)+(f[T>>2]<<1)>>1]>>8;f[p>>2]=(n[(f[t>>2]|0)+(f[T>>2]<<1)>>1]|0)-(f[v>>2]<<8);f[w>>2]=n[24576+(f[v>>2]<<1)>>1];f[d>>2]=(n[24576+((f[v>>2]|0)+1<<1)>>1]|0)-(f[w>>2]|0);i=((f[w>>2]<<8)+(re(f[d>>2]|0,f[p>>2]|0)|0)>>3)+1>>1;f[b+(a[(f[_>>2]|0)+(f[T>>2]|0)>>0]<<2)>>2]=i;f[T>>2]=(f[T>>2]|0)+1}f[k>>2]=f[A>>2]>>1;Va(o,b,f[k>>2]|0);Va(s,b+4|0,f[k>>2]|0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[k>>2]|0))break;f[l>>2]=(f[o+((f[T>>2]|0)+1<<2)>>2]|0)+(f[o+(f[T>>2]<<2)>>2]|0);f[u>>2]=(f[s+((f[T>>2]|0)+1<<2)>>2]|0)-(f[s+(f[T>>2]<<2)>>2]|0);f[S+(f[T>>2]<<2)>>2]=0-(f[u>>2]|0)-(f[l>>2]|0);f[S+((f[A>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=(f[u>>2]|0)-(f[l>>2]|0);f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=0;while(1){if((f[R>>2]|0)>=10)break;f[y>>2]=0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;_=f[S+(f[T>>2]<<2)>>2]|0;f[c>>2]=(f[S+(f[T>>2]<<2)>>2]|0)>0?_:0-_|0;if((f[c>>2]|0)>(f[y>>2]|0)){f[y>>2]=f[c>>2];f[g>>2]=f[T>>2]}f[T>>2]=(f[T>>2]|0)+1}f[y>>2]=(f[y>>2]>>4)+1>>1;if((f[y>>2]|0)<=32767)break;f[y>>2]=(f[y>>2]|0)<163838?f[y>>2]|0:163838;f[m>>2]=65470-(((f[y>>2]|0)-32767<<14|0)/((re(f[y>>2]|0,(f[g>>2]|0)+1|0)|0)>>2|0)|0);Pa(S,f[A>>2]|0,f[m>>2]|0);f[R>>2]=(f[R>>2]|0)+1}m=(f[R>>2]|0)==10;f[T>>2]=0;e:do{if(m)while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break e;if(((f[S+(f[T>>2]<<2)>>2]>>4)+1>>1|0)<=32767)if(((f[S+(f[T>>2]<<2)>>2]>>4)+1>>1|0)<-32768)t=-32768;else t=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;else t=32767;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=t;f[S+(f[T>>2]<<2)>>2]=n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]<<5;f[T>>2]=(f[T>>2]|0)+1}else while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break e;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;f[T>>2]=(f[T>>2]|0)+1}}while(0);f[R>>2]=0;while(1){if((f[R>>2]|0)>=16){t=31;break}if((Ya(f[E>>2]|0,f[A>>2]|0)|0)>=107374){t=31;break}Pa(S,f[A>>2]|0,65536-(2<>2])|0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[A>>2]|0))break;n[(f[E>>2]|0)+(f[T>>2]<<1)>>1]=(f[S+(f[T>>2]<<2)>>2]>>4)+1>>1;f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=(f[R>>2]|0)+1}if((t|0)==31){h=M;return}}function Va(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;s=u+4|0;o=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[f[t>>2]>>2]=65536;f[(f[t>>2]|0)+4>>2]=0-(f[f[n>>2]>>2]|0);f[l>>2]=1;while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;f[o>>2]=f[(f[n>>2]|0)+(f[l>>2]<<1<<2)>>2];i=f[(f[t>>2]|0)+((f[l>>2]|0)-1<<2)>>2]<<1;r=f[o>>2]|0;e=f[(f[t>>2]|0)+(f[l>>2]<<2)>>2]|0;e=Ms(r|0,((r|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ps(e|0,L|0,15)|0;e=ds(e|0,L|0,1,0)|0;e=ps(e|0,L|0,1)|0;f[(f[t>>2]|0)+((f[l>>2]|0)+1<<2)>>2]=i-e;f[s>>2]=f[l>>2];while(1){if((f[s>>2]|0)<=1)break;r=f[(f[t>>2]|0)+((f[s>>2]|0)-2<<2)>>2]|0;e=f[o>>2]|0;i=f[(f[t>>2]|0)+((f[s>>2]|0)-1<<2)>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,15)|0;i=ds(i|0,L|0,1,0)|0;i=ps(i|0,L|0,1)|0;e=(f[t>>2]|0)+(f[s>>2]<<2)|0;f[e>>2]=(f[e>>2]|0)+(r-i);f[s>>2]=(f[s>>2]|0)+-1}e=(f[t>>2]|0)+4|0;f[e>>2]=(f[e>>2]|0)-(f[o>>2]|0);f[l>>2]=(f[l>>2]|0)+1}h=u;return}function Ja(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+80|0;u=g+40|0;a=g+36|0;c=g+32|0;b=g+28|0;d=g+24|0;l=g+20|0;v=g+16|0;o=g+12|0;s=g+8|0;k=g+48|0;p=g+4|0;w=g;f[u>>2]=e;f[a>>2]=r;f[c>>2]=i;f[b>>2]=t;f[p>>2]=(f[u>>2]|0)+2772;if((f[(f[u>>2]|0)+2316>>2]|0)!=(f[(f[p>>2]|0)+1384>>2]|0)){ni(f[u>>2]|0);f[(f[p>>2]|0)+1384>>2]=f[(f[u>>2]|0)+2316>>2]}e:do{if((f[(f[u>>2]|0)+4160>>2]|0)==0?(f[(f[u>>2]|0)+4164>>2]|0)==0:0){f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2340>>2]|0))break;r=(f[p>>2]|0)+1280+(f[d>>2]<<1)|0;n[r>>1]=(n[r>>1]|0)+((((n[(f[u>>2]|0)+2344+(f[d>>2]<<1)>>1]|0)-(n[(f[p>>2]|0)+1280+(f[d>>2]<<1)>>1]|0)>>16)*16348|0)+(((n[(f[u>>2]|0)+2344+(f[d>>2]<<1)>>1]|0)-(n[(f[p>>2]|0)+1280+(f[d>>2]<<1)>>1]|0)&65535)*16348>>16));f[d>>2]=(f[d>>2]|0)+1}f[o>>2]=0;f[l>>2]=0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2324>>2]|0))break;if((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)>(f[o>>2]|0)){f[o>>2]=f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2];f[l>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}ys((f[p>>2]|0)+(f[(f[u>>2]|0)+2332>>2]<<2)|0,f[p>>2]|0,(re((f[(f[u>>2]|0)+2324>>2]|0)-1|0,f[(f[u>>2]|0)+2332>>2]|0)|0)<<2|0)|0;l=re(f[l>>2]|0,f[(f[u>>2]|0)+2332>>2]|0)|0;gs(f[p>>2]|0,(f[u>>2]|0)+4+(l<<2)|0,f[(f[u>>2]|0)+2332>>2]<<2|0)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[(f[u>>2]|0)+2324>>2]|0))break e;l=(f[p>>2]|0)+1376|0;f[l>>2]=(f[l>>2]|0)+((((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)-(f[(f[p>>2]|0)+1376>>2]|0)>>16)*4634|0)+(((f[(f[a>>2]|0)+16+(f[d>>2]<<2)>>2]|0)-(f[(f[p>>2]|0)+1376>>2]|0)&65535)*4634>>16));f[d>>2]=(f[d>>2]|0)+1}}}while(0);if(!(f[(f[u>>2]|0)+4160>>2]|0)){vs((f[p>>2]|0)+1312|0,0,f[(f[u>>2]|0)+2340>>2]<<2|0)|0;h=g;return}l=(f[b>>2]|0)+16|0;f[w>>2]=he()|0;o=h;h=h+((1*(l<<2)|0)+15&-16)|0;l=re(n[(f[u>>2]|0)+4168+56>>1]>>16,(f[(f[u>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0;l=l+((re(n[(f[u>>2]|0)+4168+56>>1]&65535,(f[(f[u>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0)>>16)|0;f[s>>2]=l+(re(n[(f[u>>2]|0)+4168+56>>1]|0,(f[(f[u>>2]|0)+4168+72+4>>2]>>15)+1>>1)|0);if((f[s>>2]|0)<2097152?(f[(f[p>>2]|0)+1376>>2]|0)<=8388608:0){l=re(f[s>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;l=l+((re(f[s>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16)|0;f[s>>2]=l+(re(f[s>>2]|0,(f[s>>2]>>15)+1>>1)|0);l=re(f[(f[p>>2]|0)+1376>>2]>>16,(f[(f[p>>2]|0)+1376>>2]&65535)<<16>>16)|0;l=l+((re(f[(f[p>>2]|0)+1376>>2]&65535,(f[(f[p>>2]|0)+1376>>2]&65535)<<16>>16)|0)>>16)|0;l=l+(re(f[(f[p>>2]|0)+1376>>2]|0,(f[(f[p>>2]|0)+1376>>2]>>15)+1>>1)|0)|0;f[s>>2]=l-(f[s>>2]<<5);f[s>>2]=(Ga(f[s>>2]|0)|0)<<8}else{f[s>>2]=re(f[s>>2]>>16,f[s>>2]>>16)|0;l=re(f[(f[p>>2]|0)+1376>>2]>>16,f[(f[p>>2]|0)+1376>>2]>>16)|0;f[s>>2]=l-(f[s>>2]<<5);f[s>>2]=(Ga(f[s>>2]|0)|0)<<16}Qa(o+64|0,f[p>>2]|0,f[s>>2]|0,f[b>>2]|0,(f[p>>2]|0)+1380|0);Za(k,(f[p>>2]|0)+1280|0,f[(f[u>>2]|0)+2340>>2]|0);a=o;i=(f[p>>2]|0)+1312|0;t=a+64|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[b>>2]|0))break;f[v>>2]=f[(f[u>>2]|0)+2340>>2]>>1;s=re(f[o+(16+(f[d>>2]|0)-1<<2)>>2]>>16,n[k>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-1<<2)>>2]&65535,n[k>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-2<<2)>>2]>>16,n[k+2>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-2<<2)>>2]&65535,n[k+2>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-3<<2)>>2]>>16,n[k+4>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-3<<2)>>2]&65535,n[k+4>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-4<<2)>>2]>>16,n[k+6>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-4<<2)>>2]&65535,n[k+6>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-5<<2)>>2]>>16,n[k+8>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-5<<2)>>2]&65535,n[k+8>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-6<<2)>>2]>>16,n[k+10>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-6<<2)>>2]&65535,n[k+10>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-7<<2)>>2]>>16,n[k+12>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-7<<2)>>2]&65535,n[k+12>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-8<<2)>>2]>>16,n[k+14>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-8<<2)>>2]&65535,n[k+14>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-9<<2)>>2]>>16,n[k+16>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-9<<2)>>2]&65535,n[k+16>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-10<<2)>>2]>>16,n[k+18>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-10<<2)>>2]&65535,n[k+18>>1]|0)|0)>>16));if((f[(f[u>>2]|0)+2340>>2]|0)==16){s=re(f[o+(16+(f[d>>2]|0)-11<<2)>>2]>>16,n[k+20>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-11<<2)>>2]&65535,n[k+20>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-12<<2)>>2]>>16,n[k+22>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-12<<2)>>2]&65535,n[k+22>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-13<<2)>>2]>>16,n[k+24>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-13<<2)>>2]&65535,n[k+24>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-14<<2)>>2]>>16,n[k+26>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-14<<2)>>2]&65535,n[k+26>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-15<<2)>>2]>>16,n[k+28>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-15<<2)>>2]&65535,n[k+28>>1]|0)|0)>>16));s=re(f[o+(16+(f[d>>2]|0)-16<<2)>>2]>>16,n[k+30>>1]|0)|0;f[v>>2]=(f[v>>2]|0)+(s+((re(f[o+(16+(f[d>>2]|0)-16<<2)>>2]&65535,n[k+30>>1]|0)|0)>>16))}f[o+(16+(f[d>>2]|0)<<2)>>2]=(f[o+(16+(f[d>>2]|0)<<2)>>2]|0)+(f[v>>2]<<4);if(((n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0)<=32767)if(((n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0)<-32768)a=-32768;else a=(n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]|0)+((f[o+(16+(f[d>>2]|0)<<2)>>2]>>9)+1>>1)|0;else a=32767;n[(f[c>>2]|0)+(f[d>>2]<<1)>>1]=a;f[d>>2]=(f[d>>2]|0)+1}a=(f[p>>2]|0)+1312|0;i=o+(f[b>>2]<<2)|0;t=a+64|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(t|0));de(f[w>>2]|0);h=g;return}function Ga(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Ka(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Ka(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Xa(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=($a(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Xa(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function $a(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Qa(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+48|0;a=d+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;k=d+12|0;b=d+8|0;w=d+4|0;c=d;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;f[c>>2]=255;while(1){if((f[c>>2]|0)<=(f[s>>2]|0))break;f[c>>2]=f[c>>2]>>1}f[k>>2]=f[f[u>>2]>>2];f[b>>2]=0;while(1){i=f[k>>2]|0;if((f[b>>2]|0)>=(f[s>>2]|0))break;f[k>>2]=907633515+(re(i,196314165)|0);f[w>>2]=f[k>>2]>>24&f[c>>2];n=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;n=n+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((n+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0)<=32767){n=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;n=n+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((n+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0)<-32768)i=-32768;else{i=re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]>>16,(f[l>>2]>>4&65535)<<16>>16)|0;i=i+((re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]&65535,(f[l>>2]>>4&65535)<<16>>16)|0)>>16)|0;i=i+(re(f[(f[o>>2]|0)+(f[w>>2]<<2)>>2]|0,(f[l>>2]>>4>>15)+1>>1)|0)|0}}else i=32767;f[(f[a>>2]|0)+(f[b>>2]<<2)>>2]=(i&65535)<<16>>16;f[b>>2]=(f[b>>2]|0)+1}f[f[u>>2]>>2]=i;h=d;return}function eo(e,r,i,n,a,o){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;v=h;h=h+48|0;l=v+40|0;_=v+36|0;s=v+32|0;g=v+28|0;y=v+24|0;u=v+20|0;c=v+16|0;k=v+12|0;d=v+8|0;b=v+44|0;p=v+4|0;w=v;f[l>>2]=e;f[_>>2]=r;f[s>>2]=i;f[g>>2]=n;f[y>>2]=a;f[u>>2]=o;t[b+1>>0]=0;f[p>>2]=f[_>>2];f[c>>2]=(((f[y>>2]|0)+(f[g>>2]<<1)&65535)<<16>>16)*7;f[w>>2]=30184+(f[c>>2]|0);f[s>>2]=(f[s>>2]|0)+8>>4;f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[s>>2]|0))break;f[d>>2]=f[(f[u>>2]|0)+(f[c>>2]<<2)>>2];e:do{if((f[d>>2]|0)>0){t[b>>0]=t[(f[w>>2]|0)+((f[d>>2]&31|0)<6?f[d>>2]&31:6)>>0]|0;f[k>>2]=0;while(1){if((f[k>>2]|0)>=16)break e;if(t[(f[p>>2]|0)+(f[k>>2]|0)>>0]|0)$e(f[l>>2]|0,(t[(f[p>>2]|0)+(f[k>>2]|0)>>0]>>15)+1|0,b,8);f[k>>2]=(f[k>>2]|0)+1}}}while(0);f[p>>2]=(f[p>>2]|0)+16;f[c>>2]=(f[c>>2]|0)+1}h=v;return}function ro(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;g=h;h=h+48|0;s=g+40|0;m=g+36|0;u=g+32|0;y=g+28|0;_=g+24|0;c=g+20|0;b=g+16|0;d=g+12|0;p=g+8|0;w=g+44|0;v=g+4|0;k=g;f[s>>2]=e;f[m>>2]=r;f[u>>2]=i;f[y>>2]=a;f[_>>2]=o;f[c>>2]=l;t[w+1>>0]=0;f[v>>2]=f[m>>2];f[b>>2]=(((f[_>>2]|0)+(f[y>>2]<<1)&65535)<<16>>16)*7;f[k>>2]=30184+(f[b>>2]|0);f[u>>2]=(f[u>>2]|0)+8>>4;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[u>>2]|0))break;f[p>>2]=f[(f[c>>2]|0)+(f[b>>2]<<2)>>2];e:do{if((f[p>>2]|0)>0){t[w>>0]=t[(f[k>>2]|0)+((f[p>>2]&31|0)<6?f[p>>2]&31:6)>>0]|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=16)break e;if((n[(f[v>>2]|0)+(f[d>>2]<<1)>>1]|0)>0){_=((Fe(f[s>>2]|0,w,8)|0)<<1)-1|0;m=(f[v>>2]|0)+(f[d>>2]<<1)|0;n[m>>1]=re(n[m>>1]|0,_)|0}f[d>>2]=(f[d>>2]|0)+1}}}while(0);f[v>>2]=(f[v>>2]|0)+32;f[b>>2]=(f[b>>2]|0)+1}h=g;return}function io(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;vs(f[i>>2]|0,0,4260)|0;f[(f[i>>2]|0)+2376>>2]=1;f[f[i>>2]>>2]=65536;ni(f[i>>2]|0);vf(f[i>>2]|0);h=r;return 0}function to(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;D=h;h=h+144|0;w=D+100|0;k=D+96|0;d=D+92|0;u=D+88|0;p=D+84|0;T=D+80|0;x=D+76|0;O=D+72|0;j=D+68|0;U=D+64|0;S=D+60|0;B=D+56|0;g=D+52|0;_=D+48|0;C=D+44|0;y=D+104|0;A=D+40|0;E=D+36|0;m=D+32|0;M=D+28|0;R=D+24|0;b=D+20|0;c=D+16|0;P=D+12|0;L=D+8|0;I=D+4|0;v=D;f[w>>2]=e;f[k>>2]=r;f[d>>2]=i;f[u>>2]=a;f[p>>2]=o;f[O>>2]=0;i=f[(f[w>>2]|0)+2336>>2]|0;f[v>>2]=he()|0;a=h;h=h+((1*(i<<1)|0)+15&-16)|0;i=h;h=h+((1*((f[(f[w>>2]|0)+2336>>2]|0)+(f[(f[w>>2]|0)+2328>>2]|0)<<2)|0)+15&-16)|0;l=h;h=h+((1*(f[(f[w>>2]|0)+2332>>2]<<2)|0)+15&-16)|0;s=h;h=h+((1*((f[(f[w>>2]|0)+2332>>2]|0)+16<<2)|0)+15&-16)|0;f[c>>2]=n[24558+(t[(f[w>>2]|0)+2736+29>>0]>>1<<2)+(t[(f[w>>2]|0)+2736+30>>0]<<1)>>1];if((t[(f[w>>2]|0)+2736+31>>0]|0)<4)f[S>>2]=1;else f[S>>2]=0;f[b>>2]=t[(f[w>>2]|0)+2736+34>>0];f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2328>>2]|0))break;f[b>>2]=907633515+(re(f[b>>2]|0,196314165)|0);f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]=n[(f[u>>2]|0)+(f[T>>2]<<1)>>1]<<14;o=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;e=f[o>>2]|0;if((f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]|0)<=0){if((e|0)<0){r=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+1280}}else f[o>>2]=e-1280;r=(f[w>>2]|0)+4+(f[T>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+(f[c>>2]<<4);if((f[b>>2]|0)<0)f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]=0-(f[(f[w>>2]|0)+4+(f[T>>2]<<2)>>2]|0);f[b>>2]=(f[b>>2]|0)+(n[(f[u>>2]|0)+(f[T>>2]<<1)>>1]|0);f[T>>2]=(f[T>>2]|0)+1}o=s;e=(f[w>>2]|0)+1284|0;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));f[L>>2]=(f[w>>2]|0)+4;f[C>>2]=f[d>>2];f[U>>2]=f[(f[w>>2]|0)+2336>>2];f[x>>2]=0;while(1){if((f[x>>2]|0)>=(f[(f[w>>2]|0)+2324>>2]|0))break;f[I>>2]=l;f[g>>2]=(f[k>>2]|0)+32+(f[x>>2]>>1<<5);gs(y|0,f[g>>2]|0,f[(f[w>>2]|0)+2340>>2]<<1|0)|0;f[_>>2]=(f[k>>2]|0)+96+((f[x>>2]|0)*5<<1);f[B>>2]=t[(f[w>>2]|0)+2736+29>>0];f[m>>2]=f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]>>6;f[M>>2]=no(f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0,47)|0;e:do{if((f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0)!=(f[f[w>>2]>>2]|0)){f[R>>2]=ao(f[f[w>>2]>>2]|0,f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2]|0,16)|0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=16)break e;b=re(f[R>>2]>>16,(f[s+(f[T>>2]<<2)>>2]&65535)<<16>>16)|0;b=b+((re(f[R>>2]&65535,(f[s+(f[T>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[R>>2]|0,(f[s+(f[T>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[s+(f[T>>2]<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}else f[R>>2]=65536}while(0);f[f[w>>2]>>2]=f[(f[k>>2]|0)+16+(f[x>>2]<<2)>>2];if((f[(f[w>>2]|0)+4160>>2]|0?(f[(f[w>>2]|0)+4164>>2]|0)==2:0)?(f[x>>2]|0)<2?(t[(f[w>>2]|0)+2736+29>>0]|0)!=2:0:0){b=f[_>>2]|0;n[b>>1]=0;n[b+2>>1]=0;n[b+4>>1]=0;n[b+6>>1]=0;n[b+8>>1]=0;n[(f[_>>2]|0)+4>>1]=4096;f[B>>2]=2;f[(f[k>>2]|0)+(f[x>>2]<<2)>>2]=f[(f[w>>2]|0)+2308>>2]}e:do{if((f[B>>2]|0)==2){f[O>>2]=f[(f[k>>2]|0)+(f[x>>2]<<2)>>2];if(f[x>>2]|0?!((f[x>>2]|0)==2&(f[S>>2]|0)!=0):0){if((f[R>>2]|0)==65536)break;f[T>>2]=0;while(1){if((f[T>>2]|0)>=((f[O>>2]|0)+2|0))break e;b=re(f[R>>2]>>16,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;b=b+((re(f[R>>2]&65535,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(re(f[R>>2]|0,(f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}f[j>>2]=(f[(f[w>>2]|0)+2336>>2]|0)-(f[O>>2]|0)-(f[(f[w>>2]|0)+2340>>2]|0)-2;if((f[x>>2]|0)==2)gs((f[w>>2]|0)+1348+(f[(f[w>>2]|0)+2336>>2]<<1)|0,f[d>>2]|0,f[(f[w>>2]|0)+2332>>2]<<1<<1|0)|0;b=(f[j>>2]|0)+(re(f[x>>2]|0,f[(f[w>>2]|0)+2332>>2]|0)|0)|0;za(a+(f[j>>2]<<1)|0,(f[w>>2]|0)+1348+(b<<1)|0,f[g>>2]|0,(f[(f[w>>2]|0)+2336>>2]|0)-(f[j>>2]|0)|0,f[(f[w>>2]|0)+2340>>2]|0,f[p>>2]|0);if(!(f[x>>2]|0)){b=re(f[M>>2]>>16,(f[(f[k>>2]|0)+136>>2]&65535)<<16>>16)|0;f[M>>2]=b+((re(f[M>>2]&65535,(f[(f[k>>2]|0)+136>>2]&65535)<<16>>16)|0)>>16)<<2}f[T>>2]=0;while(1){if((f[T>>2]|0)>=((f[O>>2]|0)+2|0))break e;b=re(f[M>>2]>>16,n[a+((f[(f[w>>2]|0)+2336>>2]|0)-(f[T>>2]|0)-1<<1)>>1]|0)|0;b=b+((re(f[M>>2]&65535,n[a+((f[(f[w>>2]|0)+2336>>2]|0)-(f[T>>2]|0)-1<<1)>>1]|0)|0)>>16)|0;f[i+((f[U>>2]|0)-(f[T>>2]|0)-1<<2)>>2]=b;f[T>>2]=(f[T>>2]|0)+1}}}while(0);e:do{if((f[B>>2]|0)==2){f[P>>2]=i+((f[U>>2]|0)-(f[O>>2]|0)+2<<2);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2332>>2]|0))break e;f[A>>2]=2;b=re(f[f[P>>2]>>2]>>16,n[f[_>>2]>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[f[P>>2]>>2]&65535,n[f[_>>2]>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-4>>2]>>16,n[(f[_>>2]|0)+2>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-4>>2]&65535,n[(f[_>>2]|0)+2>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-8>>2]>>16,n[(f[_>>2]|0)+4>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-8>>2]&65535,n[(f[_>>2]|0)+4>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-12>>2]>>16,n[(f[_>>2]|0)+6>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-12>>2]&65535,n[(f[_>>2]|0)+6>>1]|0)|0)>>16));b=re(f[(f[P>>2]|0)+-16>>2]>>16,n[(f[_>>2]|0)+8>>1]|0)|0;f[A>>2]=(f[A>>2]|0)+(b+((re(f[(f[P>>2]|0)+-16>>2]&65535,n[(f[_>>2]|0)+8>>1]|0)|0)>>16));f[P>>2]=(f[P>>2]|0)+4;f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]=(f[(f[L>>2]|0)+(f[T>>2]<<2)>>2]|0)+(f[A>>2]<<1);f[i+(f[U>>2]<<2)>>2]=f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]<<1;f[U>>2]=(f[U>>2]|0)+1;f[T>>2]=(f[T>>2]|0)+1}}else f[I>>2]=f[L>>2]}while(0);f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[w>>2]|0)+2332>>2]|0))break;f[E>>2]=f[(f[w>>2]|0)+2340>>2]>>1;b=re(f[s+(16+(f[T>>2]|0)-1<<2)>>2]>>16,n[y>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-1<<2)>>2]&65535,n[y>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-2<<2)>>2]>>16,n[y+2>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-2<<2)>>2]&65535,n[y+2>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-3<<2)>>2]>>16,n[y+4>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-3<<2)>>2]&65535,n[y+4>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-4<<2)>>2]>>16,n[y+6>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-4<<2)>>2]&65535,n[y+6>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-5<<2)>>2]>>16,n[y+8>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-5<<2)>>2]&65535,n[y+8>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-6<<2)>>2]>>16,n[y+10>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-6<<2)>>2]&65535,n[y+10>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-7<<2)>>2]>>16,n[y+12>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-7<<2)>>2]&65535,n[y+12>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-8<<2)>>2]>>16,n[y+14>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-8<<2)>>2]&65535,n[y+14>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-9<<2)>>2]>>16,n[y+16>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-9<<2)>>2]&65535,n[y+16>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-10<<2)>>2]>>16,n[y+18>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-10<<2)>>2]&65535,n[y+18>>1]|0)|0)>>16));if((f[(f[w>>2]|0)+2340>>2]|0)==16){b=re(f[s+(16+(f[T>>2]|0)-11<<2)>>2]>>16,n[y+20>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-11<<2)>>2]&65535,n[y+20>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-12<<2)>>2]>>16,n[y+22>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-12<<2)>>2]&65535,n[y+22>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-13<<2)>>2]>>16,n[y+24>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-13<<2)>>2]&65535,n[y+24>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-14<<2)>>2]>>16,n[y+26>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-14<<2)>>2]&65535,n[y+26>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-15<<2)>>2]>>16,n[y+28>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-15<<2)>>2]&65535,n[y+28>>1]|0)|0)>>16));b=re(f[s+(16+(f[T>>2]|0)-16<<2)>>2]>>16,n[y+30>>1]|0)|0;f[E>>2]=(f[E>>2]|0)+(b+((re(f[s+(16+(f[T>>2]|0)-16<<2)>>2]&65535,n[y+30>>1]|0)|0)>>16))}f[s+(16+(f[T>>2]|0)<<2)>>2]=(f[(f[I>>2]|0)+(f[T>>2]<<2)>>2]|0)+(f[E>>2]<<4);b=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;b=b+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;if(((b+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){b=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;b=b+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;if(((b+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)o=-32768;else{o=re(f[s+(16+(f[T>>2]|0)<<2)>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;o=o+((re(f[s+(16+(f[T>>2]|0)<<2)>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)|0;o=(o+(re(f[s+(16+(f[T>>2]|0)<<2)>>2]|0,(f[m>>2]>>15)+1>>1)|0)>>7)+1>>1}}else o=32767;n[(f[C>>2]|0)+(f[T>>2]<<1)>>1]=o;f[T>>2]=(f[T>>2]|0)+1}o=s;e=s+(f[(f[w>>2]|0)+2332>>2]<<2)|0;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));f[L>>2]=(f[L>>2]|0)+(f[(f[w>>2]|0)+2332>>2]<<2);f[C>>2]=(f[C>>2]|0)+(f[(f[w>>2]|0)+2332>>2]<<1);f[x>>2]=(f[x>>2]|0)+1}o=(f[w>>2]|0)+1284|0;e=s;r=o+64|0;do{f[o>>2]=f[e>>2];o=o+4|0;e=e+4|0}while((o|0)<(r|0));de(f[v>>2]|0);h=D;return}function no(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(fo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function fo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function ao(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(fo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(fo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function oo(e,r,i,n,a,o,l){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;E=h;h=h+192|0;s=E+180|0;u=E+176|0;c=E+172|0;b=E+168|0;w=E+164|0;k=E+160|0;d=E+156|0;v=E+152|0;g=E+148|0;_=E+144|0;y=E+4|0;p=E;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[_>>2]=0;f[v>>2]=f[(f[s>>2]|0)+2328>>2];f[y+136>>2]=0;do{if(!(f[w>>2]|0))m=4;else{if((f[w>>2]|0)==2?(f[(f[s>>2]|0)+2420+(f[(f[s>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){m=4;break}gf(f[s>>2]|0,y,f[c>>2]|0,1,f[d>>2]|0)}}while(0);if((m|0)==4){r=(f[v>>2]|0)+16-1&-16;f[p>>2]=he()|0;m=h;h=h+((1*(r<<1)|0)+15&-16)|0;so(f[s>>2]|0,f[u>>2]|0,f[(f[s>>2]|0)+2388>>2]|0,f[w>>2]|0,f[k>>2]|0);uo(f[u>>2]|0,m,t[(f[s>>2]|0)+2736+29>>0]|0,t[(f[s>>2]|0)+2736+30>>0]|0,f[(f[s>>2]|0)+2328>>2]|0);lo(f[s>>2]|0,y,f[k>>2]|0);to(f[s>>2]|0,y,f[c>>2]|0,m,f[d>>2]|0);gf(f[s>>2]|0,y,f[c>>2]|0,0,f[d>>2]|0);f[(f[s>>2]|0)+4160>>2]=0;f[(f[s>>2]|0)+4164>>2]=t[(f[s>>2]|0)+2736+29>>0];f[(f[s>>2]|0)+2376>>2]=0;de(f[p>>2]|0)}f[g>>2]=(f[(f[s>>2]|0)+2336>>2]|0)-(f[(f[s>>2]|0)+2328>>2]|0);ys((f[s>>2]|0)+1348|0,(f[s>>2]|0)+1348+(f[(f[s>>2]|0)+2328>>2]<<1)|0,f[g>>2]<<1|0)|0;gs((f[s>>2]|0)+1348+(f[g>>2]<<1)|0,f[c>>2]|0,f[(f[s>>2]|0)+2328>>2]<<1|0)|0;Ja(f[s>>2]|0,y,f[c>>2]|0,f[v>>2]|0);Of(f[s>>2]|0,f[c>>2]|0,f[v>>2]|0);f[(f[s>>2]|0)+2308>>2]=f[y+((f[(f[s>>2]|0)+2324>>2]|0)-1<<2)>>2];f[f[b>>2]>>2]=f[v>>2];h=E;return f[_>>2]|0}function lo(e,r,i){e=e|0;r=r|0;i=i|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+96|0;a=k+24|0;o=k+20|0;d=k+16|0;u=k+12|0;c=k+8|0;l=k+4|0;w=k+64|0;b=k+32|0;s=k;f[a>>2]=e;f[o>>2]=r;f[d>>2]=i;Ro((f[o>>2]|0)+16|0,(f[a>>2]|0)+2736|0,(f[a>>2]|0)+2312|0,(f[d>>2]|0)==2&1,f[(f[a>>2]|0)+2324>>2]|0);Po(w,(f[a>>2]|0)+2736+8|0,f[(f[a>>2]|0)+2732>>2]|0);Za((f[o>>2]|0)+32+32|0,w,f[(f[a>>2]|0)+2340>>2]|0);if((f[(f[a>>2]|0)+2376>>2]|0)==1)t[(f[a>>2]|0)+2736+31>>0]=4;if((t[(f[a>>2]|0)+2736+31>>0]|0)<4){f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[(f[a>>2]|0)+2340>>2]|0))break;d=(n[(f[a>>2]|0)+2344+(f[u>>2]<<1)>>1]|0)+((re(t[(f[a>>2]|0)+2736+31>>0]|0,(n[w+(f[u>>2]<<1)>>1]|0)-(n[(f[a>>2]|0)+2344+(f[u>>2]<<1)>>1]|0)|0)|0)>>2)&65535;n[b+(f[u>>2]<<1)>>1]=d;f[u>>2]=(f[u>>2]|0)+1}Za((f[o>>2]|0)+32|0,b,f[(f[a>>2]|0)+2340>>2]|0)}else gs((f[o>>2]|0)+32|0,(f[o>>2]|0)+32+32|0,f[(f[a>>2]|0)+2340>>2]<<1|0)|0;gs((f[a>>2]|0)+2344|0,w|0,f[(f[a>>2]|0)+2340>>2]<<1|0)|0;if(f[(f[a>>2]|0)+4160>>2]|0){Ia((f[o>>2]|0)+32|0,f[(f[a>>2]|0)+2340>>2]|0,63570);Ia((f[o>>2]|0)+32+32|0,f[(f[a>>2]|0)+2340>>2]|0,63570)}if((t[(f[a>>2]|0)+2736+29>>0]|0)!=2){vs(f[o>>2]|0,0,f[(f[a>>2]|0)+2324>>2]<<2|0)|0;vs((f[o>>2]|0)+96|0,0,(f[(f[a>>2]|0)+2324>>2]|0)*5<<1|0)|0;t[(f[a>>2]|0)+2736+32>>0]=0;f[(f[o>>2]|0)+136>>2]=0;h=k;return}Ca(n[(f[a>>2]|0)+2736+26>>1]|0,t[(f[a>>2]|0)+2736+28>>0]|0,f[o>>2]|0,f[(f[a>>2]|0)+2316>>2]|0,f[(f[a>>2]|0)+2324>>2]|0);f[s>>2]=f[17644+(t[(f[a>>2]|0)+2736+32>>0]<<2)>>2];f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[(f[a>>2]|0)+2324>>2]|0))break;f[l>>2]=t[(f[a>>2]|0)+2736+4+(f[c>>2]|0)>>0];f[u>>2]=0;while(1){if((f[u>>2]|0)>=5)break;n[(f[o>>2]|0)+96+(((f[c>>2]|0)*5|0)+(f[u>>2]|0)<<1)>>1]=t[(f[s>>2]|0)+(((f[l>>2]|0)*5|0)+(f[u>>2]|0))>>0]<<7;f[u>>2]=(f[u>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}f[l>>2]=t[(f[a>>2]|0)+2736+33>>0];f[(f[o>>2]|0)+136>>2]=n[24566+(f[l>>2]<<1)>>1];h=k;return}function so(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;g=h;h=h+96|0;l=g+36|0;s=g+32|0;y=g+28|0;_=g+24|0;u=g+20|0;d=g+16|0;p=g+12|0;c=g+8|0;b=g+4|0;w=g;k=g+40|0;v=g+72|0;f[l>>2]=e;f[s>>2]=r;f[y>>2]=i;f[_>>2]=a;f[u>>2]=o;if(!(f[_>>2]|0)?!(f[(f[l>>2]|0)+2404+(f[y>>2]<<2)>>2]|0):0)f[c>>2]=Fe(f[s>>2]|0,29024,8)|0;else f[c>>2]=(Fe(f[s>>2]|0,29020,8)|0)+2;t[(f[l>>2]|0)+2736+29>>0]=f[c>>2]>>1;t[(f[l>>2]|0)+2736+30>>0]=f[c>>2]&1;i=f[s>>2]|0;if((f[u>>2]|0)==2){_=(Fe(i,26771,8)|0)&255;t[(f[l>>2]|0)+2736>>0]=_}else{y=(Fe(i,26747+(t[(f[l>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;t[(f[l>>2]|0)+2736>>0]=y;y=((Fe(f[s>>2]|0,29049,8)|0)&255)<<24>>24;_=(f[l>>2]|0)+2736|0;t[_>>0]=(t[_>>0]|0)+y}f[d>>2]=1;while(1){i=f[s>>2]|0;if((f[d>>2]|0)>=(f[(f[l>>2]|0)+2324>>2]|0))break;_=(Fe(i,26771,8)|0)&255;t[(f[l>>2]|0)+2736+(f[d>>2]|0)>>0]=_;f[d>>2]=(f[d>>2]|0)+1}_=re(t[(f[l>>2]|0)+2736+29>>0]>>1,n[f[(f[l>>2]|0)+2732>>2]>>1]|0)|0;_=(Fe(i,(f[(f[(f[l>>2]|0)+2732>>2]|0)+12>>2]|0)+_|0,8)|0)&255;t[(f[l>>2]|0)+2736+8>>0]=_;fa(k,v,f[(f[l>>2]|0)+2732>>2]|0,t[(f[l>>2]|0)+2736+8>>0]|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(n[(f[(f[l>>2]|0)+2732>>2]|0)+2>>1]|0))break;f[c>>2]=Fe(f[s>>2]|0,(f[(f[(f[l>>2]|0)+2732>>2]|0)+24>>2]|0)+(n[k+(f[d>>2]<<1)>>1]|0)|0,8)|0;if(f[c>>2]|0){if((f[c>>2]|0)==8){_=Fe(f[s>>2]|0,29057,8)|0;f[c>>2]=(f[c>>2]|0)+_}}else{_=Fe(f[s>>2]|0,29057,8)|0;f[c>>2]=(f[c>>2]|0)-_}t[(f[l>>2]|0)+2736+8+((f[d>>2]|0)+1)>>0]=(f[c>>2]|0)-4;f[d>>2]=(f[d>>2]|0)+1}if((f[(f[l>>2]|0)+2324>>2]|0)==4){_=(Fe(f[s>>2]|0,29026,8)|0)&255;t[(f[l>>2]|0)+2736+31>>0]=_}else t[(f[l>>2]|0)+2736+31>>0]=4;if((t[(f[l>>2]|0)+2736+29>>0]|0)!=2){_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}f[b>>2]=1;if(((f[u>>2]|0)==2?(f[(f[l>>2]|0)+2396>>2]|0)==2:0)?(f[w>>2]=((Fe(f[s>>2]|0,29096,8)|0)&65535)<<16>>16,(f[w>>2]|0)>0):0){f[w>>2]=(f[w>>2]|0)-9;n[(f[l>>2]|0)+2736+26>>1]=(n[(f[l>>2]|0)+2400>>1]|0)+(f[w>>2]|0);f[b>>2]=0}if(f[b>>2]|0){y=((Fe(f[s>>2]|0,29064,8)|0)&65535)<<16>>16;y=(re(y,f[(f[l>>2]|0)+2316>>2]>>1)|0)&65535;n[(f[l>>2]|0)+2736+26>>1]=y;y=((Fe(f[s>>2]|0,f[(f[l>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;_=(f[l>>2]|0)+2736+26|0;n[_>>1]=(n[_>>1]|0)+y}n[(f[l>>2]|0)+2400>>1]=n[(f[l>>2]|0)+2736+26>>1]|0;_=(Fe(f[s>>2]|0,f[(f[l>>2]|0)+2384>>2]|0,8)|0)&255;t[(f[l>>2]|0)+2736+28>>0]=_;_=(Fe(f[s>>2]|0,26812,8)|0)&255;t[(f[l>>2]|0)+2736+32>>0]=_;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[(f[l>>2]|0)+2324>>2]|0))break;_=(Fe(f[s>>2]|0,f[17620+(t[(f[l>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;t[(f[l>>2]|0)+2736+4+(f[p>>2]|0)>>0]=_;f[p>>2]=(f[p>>2]|0)+1}if(!(f[u>>2]|0)){_=(Fe(f[s>>2]|0,29017,8)|0)&255;t[(f[l>>2]|0)+2736+33>>0]=_;_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}else{t[(f[l>>2]|0)+2736+33>>0]=0;_=f[l>>2]|0;_=_+2736|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;y=f[l>>2]|0;y=y+2396|0;f[y>>2]=_;y=f[s>>2]|0;y=Fe(y,29034,8)|0;y=y&255;_=f[l>>2]|0;_=_+2736|0;_=_+34|0;t[_>>0]=y;h=g;return}}function uo(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+224|0;s=A+212|0;u=A+208|0;c=A+204|0;b=A+200|0;w=A+196|0;d=A+192|0;v=A+188|0;g=A+184|0;p=A+180|0;k=A+176|0;y=A+172|0;o=A+168|0;E=A+88|0;_=A+8|0;m=A+4|0;l=A;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[o>>2]=Fe(f[s>>2]|0,29523+((f[c>>2]>>1)*9|0)|0,8)|0;f[p>>2]=f[w>>2]>>4;if((f[p>>2]<<4|0)<(f[w>>2]|0))f[p>>2]=(f[p>>2]|0)+1;f[l>>2]=29181+((f[o>>2]|0)*18|0);f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;f[_+(f[d>>2]<<2)>>2]=0;i=Fe(f[s>>2]|0,f[l>>2]|0,8)|0;f[E+(f[d>>2]<<2)>>2]=i;while(1){o=f[d>>2]|0;if((f[E+(f[d>>2]<<2)>>2]|0)!=17)break;i=_+(o<<2)|0;f[i>>2]=(f[i>>2]|0)+1;i=Fe(f[s>>2]|0,29343+((f[_+(f[d>>2]<<2)>>2]|0)==10&1)|0,8)|0;f[E+(f[d>>2]<<2)>>2]=i}f[d>>2]=o+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;o=(f[u>>2]|0)+((f[d>>2]&65535)<<16>>16<<4<<1)|0;if((f[E+(f[d>>2]<<2)>>2]|0)>0)jf(o,f[s>>2]|0,f[E+(f[d>>2]<<2)>>2]|0);else{a=o+32|0;do{n[o>>1]=0;o=o+2|0}while((o|0)<(a|0))}f[d>>2]=(f[d>>2]|0)+1}f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[p>>2]|0))break;if((f[_+(f[d>>2]<<2)>>2]|0)>0){f[y>>2]=f[_+(f[d>>2]<<2)>>2];f[m>>2]=(f[u>>2]|0)+((f[d>>2]&65535)<<16>>16<<4<<1);f[g>>2]=0;while(1){if((f[g>>2]|0)>=16)break;f[k>>2]=n[(f[m>>2]|0)+(f[g>>2]<<1)>>1];f[v>>2]=0;while(1){o=f[k>>2]|0;if((f[v>>2]|0)>=(f[y>>2]|0))break;f[k>>2]=o<<1;l=Fe(f[s>>2]|0,29015,8)|0;f[k>>2]=(f[k>>2]|0)+l;f[v>>2]=(f[v>>2]|0)+1}n[(f[m>>2]|0)+(f[g>>2]<<1)>>1]=o;f[g>>2]=(f[g>>2]|0)+1}l=E+(f[d>>2]<<2)|0;f[l>>2]=f[l>>2]|f[y>>2]<<5}f[d>>2]=(f[d>>2]|0)+1}ro(f[s>>2]|0,f[u>>2]|0,f[w>>2]|0,f[c>>2]|0,f[b>>2]|0,E);h=A;return}function ho(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;a=u+16|0;o=u+12|0;n=u+8|0;l=u+4|0;s=u;f[a>>2]=e;f[o>>2]=r;f[n>>2]=i;f[s>>2]=0;f[(f[a>>2]|0)+2332>>2]=((f[o>>2]&65535)<<16>>16)*5;f[l>>2]=re((f[(f[a>>2]|0)+2324>>2]&65535)<<16>>16,(f[(f[a>>2]|0)+2332>>2]&65535)<<16>>16)|0;if(!((f[(f[a>>2]|0)+2316>>2]|0)==(f[o>>2]|0)?(f[(f[a>>2]|0)+2320>>2]|0)==(f[n>>2]|0):0)){e=hi((f[a>>2]|0)+2432|0,((f[o>>2]&65535)<<16>>16)*1e3|0,f[n>>2]|0,0)|0;f[s>>2]=(f[s>>2]|0)+e;f[(f[a>>2]|0)+2320>>2]=f[n>>2]}if((f[(f[a>>2]|0)+2316>>2]|0)==(f[o>>2]|0)?(f[l>>2]|0)==(f[(f[a>>2]|0)+2328>>2]|0):0){s=f[s>>2]|0;h=u;return s|0}n=(f[(f[a>>2]|0)+2324>>2]|0)==4;i=(f[a>>2]|0)+2384|0;do{if((f[o>>2]|0)==8)if(n){f[i>>2]=29151;break}else{f[i>>2]=29174;break}else if(n){f[i>>2]=29117;break}else{f[i>>2]=29162;break}}while(0);if((f[(f[a>>2]|0)+2316>>2]|0)!=(f[o>>2]|0)){f[(f[a>>2]|0)+2336>>2]=((f[o>>2]&65535)<<16>>16)*20;n=(f[a>>2]|0)+2340|0;if((f[o>>2]|0)==8|(f[o>>2]|0)==12){f[n>>2]=10;f[(f[a>>2]|0)+2732>>2]=17668}else{f[n>>2]=16;f[(f[a>>2]|0)+2732>>2]=17704}do{if((f[o>>2]|0)!=16){if((f[o>>2]|0)==12){f[(f[a>>2]|0)+2380>>2]=29043;break}if((f[o>>2]|0)==8)f[(f[a>>2]|0)+2380>>2]=29034}else f[(f[a>>2]|0)+2380>>2]=29049}while(0);f[(f[a>>2]|0)+2376>>2]=1;f[(f[a>>2]|0)+2308>>2]=100;t[(f[a>>2]|0)+2312>>0]=10;f[(f[a>>2]|0)+4164>>2]=0;vs((f[a>>2]|0)+1348|0,0,960)|0;n=(f[a>>2]|0)+1284|0;i=n+64|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}f[(f[a>>2]|0)+2316>>2]=f[o>>2];f[(f[a>>2]|0)+2328>>2]=f[l>>2];s=f[s>>2]|0;h=u;return s|0}function co(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;t=i+4|0;r=i;f[t>>2]=e;f[r>>2]=0;f[f[t>>2]>>2]=8544;h=i;return f[r>>2]|0}function bo(e){e=e|0;var r=0,i=0,t=0,n=0,a=0;a=h;h=h+16|0;r=a+12|0;t=a+8|0;n=a+4|0;i=a;f[r>>2]=e;f[n>>2]=0;f[i>>2]=f[r>>2];f[t>>2]=0;while(1){if((f[t>>2]|0)>=2)break;f[n>>2]=io((f[i>>2]|0)+((f[t>>2]|0)*4260|0)|0)|0;f[t>>2]=(f[t>>2]|0)+1}t=(f[r>>2]|0)+8520|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[(f[r>>2]|0)+8540>>2]=0;h=a;return f[n>>2]|0}function wo(e,r,i,a,o,l,s,u){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0;z=h;h=h+784|0;A=z+128|0;H=z+124|0;S=z+120|0;R=z+116|0;Y=z+112|0;p=z+108|0;T=z+104|0;M=z+100|0;v=z+96|0;P=z+92|0;C=z+88|0;L=z+84|0;D=z+80|0;U=z+76|0;b=z+72|0;N=z+64|0;y=z+56|0;j=z+52|0;B=z+48|0;O=z+44|0;m=z+40|0;F=z+36|0;E=z+32|0;c=z+28|0;k=z+136|0;w=z+24|0;x=z+20|0;g=z+16|0;_=z+12|0;I=z;f[H>>2]=e;f[S>>2]=r;f[R>>2]=i;f[Y>>2]=a;f[p>>2]=o;f[T>>2]=l;f[M>>2]=s;f[v>>2]=u;f[L>>2]=0;f[D>>2]=0;f[y>>2]=0;f[y+4>>2]=0;f[B>>2]=f[H>>2];f[O>>2]=f[B>>2];e:do{if(f[Y>>2]|0){f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break e;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2388>>2]=0;f[C>>2]=(f[C>>2]|0)+1}}}while(0);if((f[(f[S>>2]|0)+4>>2]|0)>(f[(f[B>>2]|0)+8536>>2]|0)){H=io((f[O>>2]|0)+4260|0)|0;f[D>>2]=(f[D>>2]|0)+H}if((f[(f[S>>2]|0)+4>>2]|0)==1?(f[(f[B>>2]|0)+8536>>2]|0)==2:0)u=(f[(f[S>>2]|0)+12>>2]|0)==((f[(f[O>>2]|0)+2316>>2]|0)*1e3|0);else u=0;f[F>>2]=u&1;e:do{if(!(f[(f[O>>2]|0)+2388>>2]|0)){f[C>>2]=0;r:while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break e;do{if(!(f[(f[S>>2]|0)+16>>2]|0)){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=2}else{if((f[(f[S>>2]|0)+16>>2]|0)==10){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=2;break}if((f[(f[S>>2]|0)+16>>2]|0)==20){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=1;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4;break}if((f[(f[S>>2]|0)+16>>2]|0)==40){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=2;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4;break}if((f[(f[S>>2]|0)+16>>2]|0)!=60){d=23;break r}f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]=3;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2324>>2]=4}}while(0);f[c>>2]=(f[(f[S>>2]|0)+12>>2]>>10)+1;if((f[c>>2]|0)!=8&(f[c>>2]|0)!=12&(f[c>>2]|0)!=16){d=25;break}H=ho((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[c>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;f[C>>2]=(f[C>>2]|0)+1}if((d|0)==23){f[A>>2]=-203;H=f[A>>2]|0;h=z;return H|0}else if((d|0)==25){f[A>>2]=-200;H=f[A>>2]|0;h=z;return H|0}}}while(0);do{if((f[f[S>>2]>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0){if((f[(f[B>>2]|0)+8532>>2]|0)!=1?(f[(f[B>>2]|0)+8536>>2]|0)!=1:0)break;f[(f[B>>2]|0)+8520>>2]=0;f[(f[B>>2]|0)+8520+8>>2]=0;gs((f[O>>2]|0)+4260+2432|0,(f[O>>2]|0)+2432|0,300)|0}}while(0);f[(f[B>>2]|0)+8532>>2]=f[f[S>>2]>>2];f[(f[B>>2]|0)+8536>>2]=f[(f[S>>2]|0)+4>>2];if((f[(f[S>>2]|0)+8>>2]|0)<=48e3?(f[(f[S>>2]|0)+8>>2]|0)>=8e3:0){e:do{if((f[R>>2]|0)!=1?(f[(f[O>>2]|0)+2388>>2]|0)==0:0){f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;f[P>>2]=0;while(1){H=(f[P>>2]|0)<(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0);u=Ne(f[p>>2]|0,1)|0;if(!H)break;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2404+(f[P>>2]<<2)>>2]=u;f[P>>2]=(f[P>>2]|0)+1}f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2416>>2]=u;f[C>>2]=(f[C>>2]|0)+1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;H=(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;r:do{if(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2416>>2]|0){if((f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0)==1){f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420>>2]=1;break}f[b>>2]=(Fe(f[p>>2]|0,f[17836+((f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0)-2<<2)>>2]|0,8)|0)+1;f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2392>>2]|0))break r;f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+(f[P>>2]<<2)>>2]=f[b>>2]>>f[P>>2]&1;f[P>>2]=(f[P>>2]|0)+1}}}while(0);f[C>>2]=(f[C>>2]|0)+1}if(!(f[R>>2]|0)){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[O>>2]|0)+2392>>2]|0))break e;f[C>>2]=0;while(1){u=f[P>>2]|0;if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;if(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+(u<<2)>>2]|0){do{if((f[C>>2]|0)==0?(f[(f[S>>2]|0)+4>>2]|0)==2:0){Ri(f[p>>2]|0,y);if(f[(f[O>>2]|0)+4260+2420+(f[P>>2]<<2)>>2]|0)break;Ti(f[p>>2]|0,L)}}while(0);do{if((f[P>>2]|0)>0){if(!(f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+((f[P>>2]|0)-1<<2)>>2]|0)){d=64;break}f[w>>2]=2}else d=64}while(0);if((d|0)==64){d=0;f[w>>2]=0}so((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[p>>2]|0,f[P>>2]|0,1,f[w>>2]|0);uo(f[p>>2]|0,k,t[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2736+29>>0]|0,t[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2736+30>>0]|0,f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2328>>2]|0)}f[C>>2]=(f[C>>2]|0)+1}f[P>>2]=u+1}}}}while(0);e:do{if((f[(f[S>>2]|0)+4>>2]|0)==2){do{if(f[R>>2]|0){if((f[R>>2]|0)==2?(f[(f[O>>2]|0)+2420+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0)==1:0)break;f[C>>2]=0;while(1){if((f[C>>2]|0)>=2)break e;f[y+(f[C>>2]<<2)>>2]=n[(f[B>>2]|0)+8520+(f[C>>2]<<1)>>1];f[C>>2]=(f[C>>2]|0)+1}}}while(0);Ri(f[p>>2]|0,y);if(!((f[R>>2]|0)==0?!(f[(f[O>>2]|0)+4260+2404+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0):0))d=74;do{if((d|0)==74){if((f[R>>2]|0)==2?(f[(f[O>>2]|0)+4260+2420+(f[(f[O>>2]|0)+2388>>2]<<2)>>2]|0)==0:0)break;f[L>>2]=0;break e}}while(0);Ti(f[p>>2]|0,L)}}while(0);if(((f[L>>2]|0)==0?(f[(f[S>>2]|0)+4>>2]|0)==2:0)?(f[(f[B>>2]|0)+8540>>2]|0)==1:0){vs((f[B>>2]|0)+4260+1348|0,0,960)|0;u=(f[B>>2]|0)+4260+1284|0;r=u+64|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(r|0));f[(f[B>>2]|0)+4260+2308>>2]=100;t[(f[B>>2]|0)+4260+2312>>0]=10;f[(f[B>>2]|0)+4260+4164>>2]=0;f[(f[B>>2]|0)+4260+2376>>2]=1}H=re(f[(f[S>>2]|0)+12>>2]|0,f[(f[S>>2]|0)+4>>2]|0)|0;f[E>>2]=(H|0)<(re(f[(f[S>>2]|0)+8>>2]|0,f[f[S>>2]>>2]|0)|0)&1;if(f[E>>2]|0)u=1;else u=re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0;f[x>>2]=he()|0;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if(f[E>>2]|0){f[N>>2]=f[T>>2];f[N+4>>2]=(f[T>>2]|0)+(f[(f[O>>2]|0)+2328>>2]<<1)+4}else{f[N>>2]=r;f[N+4>>2]=r+(f[(f[O>>2]|0)+2328>>2]<<1)+4}if(!(f[R>>2]|0))f[m>>2]=((f[L>>2]|0)!=0^1)&1;else{if(f[(f[B>>2]|0)+8540>>2]|0)if((f[R>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0)u=(f[(f[O>>2]|0)+4260+2420+(f[(f[O>>2]|0)+4260+2388>>2]<<2)>>2]|0)==1;else u=0;else u=1;f[m>>2]=u&1}f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[(f[S>>2]|0)+4>>2]|0))break;if((f[C>>2]|0)==0|(f[m>>2]|0)!=0){f[g>>2]=(f[(f[O>>2]|0)+2388>>2]|0)-(f[C>>2]|0);e:do{if((f[g>>2]|0)<=0)f[_>>2]=0;else{if((f[R>>2]|0)==2){f[_>>2]=f[(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2420+((f[g>>2]|0)-1<<2)>>2]|0?2:0;break}do{if((f[C>>2]|0)>0){if(!(f[(f[B>>2]|0)+8540>>2]|0))break;f[_>>2]=1;break e}}while(0);f[_>>2]=2}}while(0);H=oo((f[O>>2]|0)+((f[C>>2]|0)*4260|0)|0,f[p>>2]|0,(f[N+(f[C>>2]<<2)>>2]|0)+4|0,U,f[R>>2]|0,f[_>>2]|0,f[v>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H}else vs((f[N+(f[C>>2]<<2)>>2]|0)+4|0,0,f[U>>2]<<1|0)|0;H=(f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2388|0;f[H>>2]=(f[H>>2]|0)+1;f[C>>2]=(f[C>>2]|0)+1}if((f[f[S>>2]>>2]|0)==2?(f[(f[S>>2]|0)+4>>2]|0)==2:0)ca((f[B>>2]|0)+8520|0,f[N>>2]|0,f[N+4>>2]|0,y,f[(f[O>>2]|0)+2316>>2]|0,f[U>>2]|0);else{H=f[N>>2]|0;Y=(f[B>>2]|0)+8520+4|0;n[H>>1]=n[Y>>1]|0;n[H+2>>1]=n[Y+2>>1]|0;H=(f[B>>2]|0)+8520+4|0;Y=(f[N>>2]|0)+(f[U>>2]<<1)|0;n[H>>1]=n[Y>>1]|0;n[H+2>>1]=n[Y+2>>1]|0}H=re(f[U>>2]|0,f[(f[S>>2]|0)+8>>2]|0)|0;f[f[M>>2]>>2]=(H|0)/(((f[(f[O>>2]|0)+2316>>2]&65535)<<16>>16)*1e3|0)|0;if((f[f[S>>2]>>2]|0)==2)u=f[f[M>>2]>>2]|0;else u=1;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if((f[f[S>>2]>>2]|0)==2)f[j>>2]=r;else f[j>>2]=f[T>>2];if(f[E>>2]|0)u=re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0;else u=1;r=h;h=h+((1*(u<<1)|0)+15&-16)|0;if(f[E>>2]|0){H=(re(f[(f[S>>2]|0)+4>>2]|0,(f[(f[O>>2]|0)+2328>>2]|0)+2|0)|0)<<1;gs(r|0,f[T>>2]|0,H+0|0)|0;f[N>>2]=r;f[N+4>>2]=r+(f[(f[O>>2]|0)+2328>>2]<<1)+4}f[C>>2]=0;while(1){u=f[S>>2]|0;if((f[f[S>>2]>>2]|0)<(f[(f[S>>2]|0)+4>>2]|0))u=f[u>>2]|0;else u=f[u+4>>2]|0;if((f[C>>2]|0)>=(u|0))break;H=ci((f[O>>2]|0)+((f[C>>2]|0)*4260|0)+2432|0,f[j>>2]|0,(f[N+(f[C>>2]<<2)>>2]|0)+2|0,f[U>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;e:do{if((f[f[S>>2]>>2]|0)==2){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+((f[C>>2]|0)+(f[P>>2]<<1)<<1)>>1]=n[(f[j>>2]|0)+(f[P>>2]<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}}while(0);f[C>>2]=(f[C>>2]|0)+1}e:do{if((f[f[S>>2]>>2]|0)==2){if((f[(f[S>>2]|0)+4>>2]|0)!=1)break;if(f[F>>2]|0){H=ci((f[O>>2]|0)+4260+2432|0,f[j>>2]|0,(f[N>>2]|0)+2|0,f[U>>2]|0)|0;f[D>>2]=(f[D>>2]|0)+H;f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+(1+(f[P>>2]<<1)<<1)>>1]=n[(f[j>>2]|0)+(f[P>>2]<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}else{f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[f[M>>2]>>2]|0))break e;n[(f[T>>2]|0)+(1+(f[P>>2]<<1)<<1)>>1]=n[(f[T>>2]|0)+(0+(f[P>>2]<<1)<<1)>>1]|0;f[P>>2]=(f[P>>2]|0)+1}}}}while(0);if((f[(f[O>>2]|0)+4164>>2]|0)==2){f[I>>2]=f[4402];f[I+4>>2]=f[4403];f[I+8>>2]=f[4404];H=re(f[(f[O>>2]|0)+2308>>2]|0,f[I+((f[(f[O>>2]|0)+2316>>2]|0)-8>>2<<2)>>2]|0)|0;f[(f[S>>2]|0)+20>>2]=H}else f[(f[S>>2]|0)+20>>2]=0;e:do{if((f[R>>2]|0)==1){f[P>>2]=0;while(1){if((f[P>>2]|0)>=(f[(f[B>>2]|0)+8536>>2]|0))break e;t[(f[B>>2]|0)+((f[P>>2]|0)*4260|0)+2312>>0]=10;f[P>>2]=(f[P>>2]|0)+1}}else f[(f[B>>2]|0)+8540>>2]=f[L>>2]}while(0);f[A>>2]=f[D>>2];de(f[x>>2]|0);H=f[A>>2]|0;h=z;return H|0}f[D>>2]=-200;f[A>>2]=f[D>>2];H=f[A>>2]|0;h=z;return H|0}function ko(e){e=e|0;var r=0,i=0,t=0;i=h;h=h+16|0;t=i+4|0;r=i;f[t>>2]=e;f[r>>2]=0;f[f[t>>2]>>2]=24568;h=i;return f[r>>2]|0}function po(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+32|0;t=u+20|0;n=u+16|0;a=u+12|0;l=u+8|0;o=u+4|0;s=u;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[s>>2]=0;f[l>>2]=f[t>>2];vs(f[l>>2]|0,0,24568)|0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=2)break;i=ka((f[l>>2]|0)+((f[o>>2]|0)*12240|0)|0,f[n>>2]|0)|0;f[s>>2]=(f[s>>2]|0)+i;f[o>>2]=(f[o>>2]|0)+1}f[(f[l>>2]|0)+24544>>2]=1;f[(f[l>>2]|0)+24548>>2]=1;l=vo(f[t>>2]|0,f[a>>2]|0)|0;f[s>>2]=(f[s>>2]|0)+l;h=u;return f[s>>2]|0}function vo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0;a=h;h=h+32|0;l=a+16|0;i=a+12|0;t=a+8|0;n=a+4|0;o=a;f[l>>2]=e;f[i>>2]=r;f[t>>2]=0;f[o>>2]=f[l>>2];f[n>>2]=f[o>>2];f[f[i>>2]>>2]=f[(f[o>>2]|0)+24544>>2];f[(f[i>>2]|0)+4>>2]=f[(f[o>>2]|0)+24548>>2];f[(f[i>>2]|0)+8>>2]=f[(f[n>>2]|0)+4580>>2];f[(f[i>>2]|0)+12>>2]=f[(f[n>>2]|0)+4588>>2];f[(f[i>>2]|0)+16>>2]=f[(f[n>>2]|0)+4592>>2];f[(f[i>>2]|0)+20>>2]=f[(f[n>>2]|0)+4596>>2];f[(f[i>>2]|0)+24>>2]=f[(f[n>>2]|0)+4636>>2];f[(f[i>>2]|0)+28>>2]=f[(f[n>>2]|0)+4632>>2];f[(f[i>>2]|0)+32>>2]=f[(f[n>>2]|0)+4640>>2];f[(f[i>>2]|0)+36>>2]=f[(f[n>>2]|0)+4648>>2];f[(f[i>>2]|0)+40>>2]=f[(f[n>>2]|0)+6120>>2];f[(f[i>>2]|0)+44>>2]=f[(f[n>>2]|0)+6108>>2];f[(f[i>>2]|0)+48>>2]=f[(f[n>>2]|0)+4708>>2];f[(f[i>>2]|0)+68>>2]=((f[(f[n>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;f[(f[i>>2]|0)+72>>2]=f[(f[n>>2]|0)+4560>>2];if((f[(f[n>>2]|0)+4600>>2]|0)!=16){o=0;o=o&1;l=f[i>>2]|0;l=l+76|0;f[l>>2]=o;l=f[t>>2]|0;h=a;return l|0}o=(f[(f[n>>2]|0)+16+12>>2]|0)==0;o=o&1;l=f[i>>2]|0;l=l+76|0;f[l>>2]=o;l=f[t>>2]|0;h=a;return l|0}function go(e,r,i,a,o,l,s){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0;K=h;h=h+176|0;z=K+156|0;X=K+152|0;Y=K+148|0;w=K+144|0;k=K+140|0;d=K+136|0;p=K+132|0;H=K+128|0;W=K+124|0;T=K+120|0;L=K+116|0;R=K+112|0;G=K+108|0;J=K+104|0;V=K+100|0;C=K+96|0;U=K+92|0;P=K+88|0;I=K+84|0;c=K+80|0;B=K+76|0;y=K+72|0;g=K+64|0;m=K+56|0;v=K+52|0;j=K+48|0;Z=K+44|0;b=K+40|0;S=K+36|0;D=K+32|0;u=K+28|0;q=K+24|0;x=K+20|0;M=K+160|0;E=K+16|0;_=K+12|0;O=K+8|0;N=K+4|0;A=K;f[X>>2]=e;f[Y>>2]=r;f[w>>2]=i;f[k>>2]=a;f[d>>2]=o;f[p>>2]=l;f[H>>2]=s;f[G>>2]=0;f[J>>2]=0;f[V>>2]=0;f[I>>2]=0;f[Z>>2]=f[X>>2];if(f[(f[Y>>2]|0)+64>>2]|0){f[(f[Z>>2]|0)+4696>>2]=1;f[(f[Z>>2]|0)+12240+4696>>2]=1}f[(f[Z>>2]|0)+12240+5780>>2]=0;f[(f[Z>>2]|0)+5780>>2]=0;X=ba(f[Y>>2]|0)|0;f[V>>2]=X;if(X|0){f[z>>2]=f[V>>2];X=f[z>>2]|0;h=K;return X|0}f[(f[Y>>2]|0)+84>>2]=0;if((f[(f[Y>>2]|0)+4>>2]|0)>(f[(f[Z>>2]|0)+24548>>2]|0)?(X=ka((f[Z>>2]|0)+12240|0,f[(f[Z>>2]|0)+5124>>2]|0)|0,f[V>>2]=(f[V>>2]|0)+X,f[(f[Z>>2]|0)+24480>>2]=0,f[(f[Z>>2]|0)+24480+8>>2]=0,f[(f[Z>>2]|0)+24480+12>>2]=0,f[(f[Z>>2]|0)+24480+12+4>>2]=1,f[(f[Z>>2]|0)+24480+12+8>>2]=0,f[(f[Z>>2]|0)+24480+12+12>>2]=1,n[(f[Z>>2]|0)+24480+30>>1]=0,n[(f[Z>>2]|0)+24480+28>>1]=16384,(f[(f[Z>>2]|0)+24544>>2]|0)==2):0){gs((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+5808|0,300)|0;X=(f[Z>>2]|0)+12240|0;i=f[Z>>2]|0;f[X>>2]=f[i>>2];f[X+4>>2]=f[i+4>>2]}if((f[(f[Y>>2]|0)+24>>2]|0)!=(f[(f[Z>>2]|0)+4636>>2]|0))r=1;else r=(f[(f[Z>>2]|0)+24548>>2]|0)!=(f[(f[Y>>2]|0)+4>>2]|0);f[b>>2]=r&1;f[(f[Z>>2]|0)+24544>>2]=f[f[Y>>2]>>2];f[(f[Z>>2]|0)+24548>>2]=f[(f[Y>>2]|0)+4>>2];f[P>>2]=((f[k>>2]|0)*100|0)/(f[(f[Y>>2]|0)+8>>2]|0)|0;f[D>>2]=(f[P>>2]|0)>1?f[P>>2]>>1:1;f[S>>2]=0;r=f[P>>2]|0;e:do{if(!(f[H>>2]|0)){X=re(r,f[(f[Y>>2]|0)+8>>2]|0)|0;if((f[k>>2]|0)<0?1:(X|0)!=((f[k>>2]|0)*100|0)){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}if(((f[k>>2]|0)*1e3|0)>(re(f[(f[Y>>2]|0)+24>>2]|0,f[(f[Y>>2]|0)+8>>2]|0)|0)){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}}else{if((r|0)!=1){f[z>>2]=-101;X=f[z>>2]|0;h=K;return X|0}f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[V>>2]=ka((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5124>>2]|0)|0;f[W>>2]=(f[W>>2]|0)+1}f[G>>2]=f[(f[Y>>2]|0)+24>>2];f[(f[Y>>2]|0)+24>>2]=10;f[J>>2]=f[(f[Y>>2]|0)+36>>2];f[(f[Y>>2]|0)+36>>2]=0;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4712>>2]=1;f[W>>2]=(f[W>>2]|0)+1}}}while(0);f[y>>2]=f[(f[Y>>2]|0)+28>>2]>>(f[(f[Y>>2]|0)+4>>2]|0)-1;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;if((f[W>>2]|0)==1)r=f[(f[Z>>2]|0)+4600>>2]|0;else r=0;f[u>>2]=r;X=da((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[Y>>2]|0,f[y>>2]|0,f[(f[Z>>2]|0)+24560>>2]|0,f[W>>2]|0,f[u>>2]|0)|0;f[V>>2]=X;if(X|0){F=28;break}e:do{if(f[b>>2]|0?1:(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4696>>2]|0)!=0){f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[Z>>2]|0)+5776>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(f[T>>2]<<2)>>2]=0;f[T>>2]=(f[T>>2]|0)+1}}}while(0);f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6112>>2]=f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6108>>2];f[W>>2]=(f[W>>2]|0)+1}if((F|0)==28){f[z>>2]=f[V>>2];X=f[z>>2]|0;h=K;return X|0}f[U>>2]=re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+4600>>2]|0)|0;X=re(f[U>>2]|0,f[(f[Z>>2]|0)+4580>>2]|0)|0;f[c>>2]=(X|0)/((f[(f[Z>>2]|0)+4600>>2]|0)*1e3|0)|0;X=f[c>>2]|0;f[q>>2]=he()|0;e=h;h=h+((1*(X<<1)|0)+15&-16)|0;while(1){f[C>>2]=(f[(f[Z>>2]|0)+4608>>2]|0)-(f[(f[Z>>2]|0)+5772>>2]|0);f[C>>2]=(f[C>>2]|0)<(f[U>>2]|0)?f[C>>2]|0:f[U>>2]|0;X=re(f[C>>2]|0,f[(f[Z>>2]|0)+4580>>2]|0)|0;f[I>>2]=(X|0)/((f[(f[Z>>2]|0)+4600>>2]|0)*1e3|0)|0;if((f[f[Y>>2]>>2]|0)==2?(f[(f[Y>>2]|0)+4>>2]|0)==2:0){f[x>>2]=f[(f[Z>>2]|0)+5780>>2];f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;n[e+(f[W>>2]<<1)>>1]=n[(f[w>>2]|0)+(f[W>>2]<<1<<1)>>1]|0;f[W>>2]=(f[W>>2]|0)+1}if((f[x>>2]|0)==0?(f[(f[Z>>2]|0)+24552>>2]|0)==1:0)gs((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+5808|0,300)|0;X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0);f[C>>2]=(f[(f[Z>>2]|0)+12240+4608>>2]|0)-(f[(f[Z>>2]|0)+12240+5772>>2]|0);if((f[C>>2]|0)<(re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+12240+4600>>2]|0)|0))r=f[C>>2]|0;else r=re((f[P>>2]|0)*10|0,f[(f[Z>>2]|0)+12240+4600>>2]|0)|0;f[C>>2]=r;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;n[e+(f[W>>2]<<1)>>1]=n[(f[w>>2]|0)+((f[W>>2]<<1)+1<<1)>>1]|0;f[W>>2]=(f[W>>2]|0)+1}X=ci((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+12240+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0)}else F=49;do{if((F|0)==49){F=0;if((f[f[Y>>2]>>2]|0)==2?(f[(f[Y>>2]|0)+4>>2]|0)==1:0){f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[I>>2]|0))break;f[j>>2]=(n[(f[w>>2]|0)+(f[W>>2]<<1<<1)>>1]|0)+(n[(f[w>>2]|0)+((f[W>>2]<<1)+1<<1)>>1]|0);n[e+(f[W>>2]<<1)>>1]=(f[j>>2]>>1)+(f[j>>2]&1);f[W>>2]=(f[W>>2]|0)+1}X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;e:do{if((f[(f[Z>>2]|0)+24552>>2]|0)==2?(f[(f[Z>>2]|0)+5780>>2]|0)==0:0){X=ci((f[Z>>2]|0)+12240+5808|0,(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Z>>2]|0)+4608>>2]|0))break e;n[(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]=(n[(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]|0)+(n[(f[Z>>2]|0)+12240+5128+((f[(f[Z>>2]|0)+12240+5772>>2]|0)+(f[W>>2]|0)+2<<1)>>1]|0)>>1;f[W>>2]=(f[W>>2]|0)+1}}}while(0);X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0);break}gs(e|0,f[w>>2]|0,f[I>>2]<<1|0)|0;X=ci((f[Z>>2]|0)+5808|0,(f[Z>>2]|0)+5128+((f[(f[Z>>2]|0)+5772>>2]|0)+2<<1)|0,e,f[I>>2]|0)|0;f[V>>2]=(f[V>>2]|0)+X;X=(f[Z>>2]|0)+5772|0;f[X>>2]=(f[X>>2]|0)+(f[C>>2]|0)}}while(0);X=re(f[I>>2]|0,f[f[Y>>2]>>2]|0)|0;f[w>>2]=(f[w>>2]|0)+(X<<1);f[k>>2]=(f[k>>2]|0)-(f[I>>2]|0);f[(f[Z>>2]|0)+24560>>2]=0;if((f[(f[Z>>2]|0)+5772>>2]|0)<(f[(f[Z>>2]|0)+4608>>2]|0))break;if(!(f[H>>2]|0?1:(f[(f[Z>>2]|0)+5780>>2]|0)!=0)){t[M>>0]=0;t[M+1>>0]=0;t[M>>0]=256-(256>>(re((f[(f[Z>>2]|0)+5776>>2]|0)+1|0,f[(f[Y>>2]|0)+4>>2]|0)|0));$e(f[d>>2]|0,0,M,8);f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[v>>2]=0;f[T>>2]=0;while(1){if((f[T>>2]|0)>=(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0))break;f[v>>2]=f[v>>2]|f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(f[T>>2]<<2)>>2]<>2];f[T>>2]=(f[T>>2]|0)+1}t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4755>>0]=(f[v>>2]|0)>0?1:0;if(f[v>>2]|0?(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0)>1:0)$e(f[d>>2]|0,(f[v>>2]|0)-1|0,f[17836+((f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0)-2<<2)>>2]|0,8);f[W>>2]=(f[W>>2]|0)+1}f[T>>2]=0;while(1){X=(f[T>>2]|0)<(f[(f[Z>>2]|0)+5776>>2]|0);f[W>>2]=0;if(!X)break;while(1){r=f[T>>2]|0;if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;if(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+(r<<2)>>2]|0){if(((f[W>>2]|0)==0?(f[(f[Y>>2]|0)+4>>2]|0)==2:0)?(Mi(f[d>>2]|0,(f[Z>>2]|0)+24480+34+((f[T>>2]|0)*6|0)|0),(f[(f[Z>>2]|0)+12240+4756+(f[T>>2]<<2)>>2]|0)==0):0)xi(f[d>>2]|0,t[(f[Z>>2]|0)+24480+52+(f[T>>2]|0)>>0]|0);if((f[T>>2]|0)>0?f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756+((f[T>>2]|0)-1<<2)>>2]|0:0)f[E>>2]=2;else f[E>>2]=0;_o((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[d>>2]|0,f[T>>2]|0,1,f[E>>2]|0);mo(f[d>>2]|0,t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6132+((f[T>>2]|0)*36|0)+29>>0]|0,t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6132+((f[T>>2]|0)*36|0)+30>>0]|0,(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+6240+((f[T>>2]|0)*320|0)|0,f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4608>>2]|0)}f[W>>2]=(f[W>>2]|0)+1}f[T>>2]=r+1}while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;X=(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4756|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[W>>2]=(f[W>>2]|0)+1}X=yo(f[d>>2]|0)|0;f[(f[Z>>2]|0)+24536>>2]=X}$f(f[Z>>2]|0);f[L>>2]=(re(f[(f[Y>>2]|0)+28>>2]|0,f[(f[Y>>2]|0)+24>>2]|0)|0)/1e3|0;if(!(f[H>>2]|0))f[L>>2]=(f[L>>2]|0)-(f[(f[Z>>2]|0)+24536>>2]|0);f[L>>2]=(f[L>>2]|0)/(f[(f[Z>>2]|0)+5776>>2]|0)|0;r=(f[L>>2]&65535)<<16>>16;if((f[(f[Y>>2]|0)+24>>2]|0)==10)f[y>>2]=r*100;else f[y>>2]=r*50;f[y>>2]=(f[y>>2]|0)-(((f[(f[Z>>2]|0)+24540>>2]|0)*1e3|0)/500|0);if((f[H>>2]|0)==0?(f[(f[Z>>2]|0)+5780>>2]|0)>0:0){X=yo(f[d>>2]|0)|0;f[_>>2]=X-(f[(f[Z>>2]|0)+24536>>2]|0)-(re(f[L>>2]|0,f[(f[Z>>2]|0)+5780>>2]|0)|0);f[y>>2]=(f[y>>2]|0)-(((f[_>>2]|0)*1e3|0)/500|0)}r=f[y>>2]|0;do{if((f[(f[Y>>2]|0)+28>>2]|0)>5e3)if((r|0)>(f[(f[Y>>2]|0)+28>>2]|0)){r=f[(f[Y>>2]|0)+28>>2]|0;break}else{r=(f[y>>2]|0)<5e3?5e3:f[y>>2]|0;break}else if((r|0)<=5e3)if((f[y>>2]|0)<(f[(f[Y>>2]|0)+28>>2]|0)){r=f[(f[Y>>2]|0)+28>>2]|0;break}else{r=f[y>>2]|0;break}else r=5e3}while(0);f[y>>2]=r;r=f[Z>>2]|0;if((f[(f[Y>>2]|0)+4>>2]|0)==2){la(r+24480|0,(f[Z>>2]|0)+5128+4|0,(f[Z>>2]|0)+12240+5128+4|0,(f[Z>>2]|0)+24480+34+((f[(f[Z>>2]|0)+5780>>2]|0)*6|0)|0,(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)|0,g,f[y>>2]|0,f[(f[Z>>2]|0)+4556>>2]|0,f[(f[Y>>2]|0)+56>>2]|0,f[(f[Z>>2]|0)+4600>>2]|0,f[(f[Z>>2]|0)+4608>>2]|0);r=f[Z>>2]|0;if(!(t[(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)){if((f[r+24564>>2]|0)==1){X=(f[Z>>2]|0)+12240+7200|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;vs((f[Z>>2]|0)+12240+7216|0,0,2140)|0;vs((f[Z>>2]|0)+12240+144|0,0,4380)|0;X=(f[Z>>2]|0)+12240+4524|0;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[X+12>>2]=0;f[X+16>>2]=0;f[X+20>>2]=0;f[X+24>>2]=0;f[X+28>>2]=0;X=(f[Z>>2]|0)+12240+16|0;f[X>>2]=0;f[X+4>>2]=0;f[(f[Z>>2]|0)+12240+4568>>2]=100;f[(f[Z>>2]|0)+12240+144+4356>>2]=100;t[(f[Z>>2]|0)+12240+7200>>0]=10;t[(f[Z>>2]|0)+12240+4565>>0]=0;f[(f[Z>>2]|0)+12240+144+4372>>2]=65536;f[(f[Z>>2]|0)+12240+4696>>2]=1}zi((f[Z>>2]|0)+12240|0)}else t[(f[Z>>2]|0)+12240+4752+(f[r+5780>>2]|0)>>0]=0;if((f[H>>2]|0)==0?(Mi(f[d>>2]|0,(f[Z>>2]|0)+24480+34+((f[(f[Z>>2]|0)+5780>>2]|0)*6|0)|0),(t[(f[Z>>2]|0)+12240+4752+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)==0):0)xi(f[d>>2]|0,t[(f[Z>>2]|0)+24480+52+(f[(f[Z>>2]|0)+5780>>2]|0)>>0]|0)}else{f[r+5128>>2]=f[(f[Z>>2]|0)+24480+4>>2];X=(f[Z>>2]|0)+24480+4|0;b=(f[Z>>2]|0)+5128+(f[(f[Z>>2]|0)+4608>>2]<<1)|0;n[X>>1]=n[b>>1]|0;n[X+2>>1]=n[b+2>>1]|0}zi(f[Z>>2]|0);f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[O>>2]=f[(f[Y>>2]|0)+52>>2];do{if(!((f[D>>2]|0)==2&(f[S>>2]|0)==0)){if((f[D>>2]|0)==3){if(!(f[S>>2]|0)){f[O>>2]=(f[O>>2]<<1|0)/5|0;break}if((f[S>>2]|0)!=1)break;f[O>>2]=((f[O>>2]|0)*3|0)/4|0}}else f[O>>2]=((f[O>>2]|0)*3|0)/5|0}while(0);if(f[(f[Y>>2]|0)+48>>2]|0)r=(f[S>>2]|0)==((f[D>>2]|0)-1|0);else r=0;f[N>>2]=r&1;do{if((f[(f[Y>>2]|0)+4>>2]|0)==1)f[m>>2]=f[y>>2];else{f[m>>2]=f[g+(f[W>>2]<<2)>>2];if(f[W>>2]|0)break;if((f[g+4>>2]|0)<=0)break;f[N>>2]=0;f[O>>2]=(f[O>>2]|0)-((f[(f[Y>>2]|0)+52>>2]|0)/(f[D>>2]<<1|0)|0)}}while(0);if((f[m>>2]|0)>0){wa((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[m>>2]|0)|0;e:do{if(((f[(f[Z>>2]|0)+5780>>2]|0)-(f[W>>2]|0)|0)<=0)f[A>>2]=0;else{do{if((f[W>>2]|0)>0){if(!(f[(f[Z>>2]|0)+24564>>2]|0))break;f[A>>2]=1;break e}}while(0);f[A>>2]=2}}while(0);f[V>>2]=Yi((f[Z>>2]|0)+((f[W>>2]|0)*12240|0)|0,f[p>>2]|0,f[d>>2]|0,f[A>>2]|0,f[O>>2]|0,f[N>>2]|0)|0}f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5772>>2]=0;X=(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5780|0;f[X>>2]=(f[X>>2]|0)+1;f[W>>2]=(f[W>>2]|0)+1}f[(f[Z>>2]|0)+24564>>2]=t[(f[Z>>2]|0)+24480+52+((f[(f[Z>>2]|0)+5780>>2]|0)-1)>>0];do{if((f[f[p>>2]>>2]|0)>0?(f[(f[Z>>2]|0)+5780>>2]|0)==(f[(f[Z>>2]|0)+5776>>2]|0):0){f[R>>2]=0;f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break;f[T>>2]=0;while(1){X=(f[T>>2]|0)<(f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+5776>>2]|0);f[R>>2]=f[R>>2]<<1;if(!X)break;f[R>>2]=f[R>>2]|t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4752+(f[T>>2]|0)>>0];f[T>>2]=(f[T>>2]|0)+1}f[R>>2]=f[R>>2]|t[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4755>>0];f[W>>2]=(f[W>>2]|0)+1}if(!(f[H>>2]|0))ir(f[d>>2]|0,f[R>>2]|0,re((f[(f[Z>>2]|0)+5776>>2]|0)+1|0,f[(f[Y>>2]|0)+4>>2]|0)|0);do{if(f[(f[Z>>2]|0)+6112>>2]|0){if((f[(f[Y>>2]|0)+4>>2]|0)!=1?(f[(f[Z>>2]|0)+12240+6112>>2]|0)==0:0)break;f[f[p>>2]>>2]=0}}while(0);b=(f[Z>>2]|0)+24540|0;f[b>>2]=(f[b>>2]|0)+(f[f[p>>2]>>2]<<3);b=(re(f[(f[Y>>2]|0)+28>>2]|0,f[(f[Y>>2]|0)+24>>2]|0)|0)/1e3|0;X=(f[Z>>2]|0)+24540|0;f[X>>2]=(f[X>>2]|0)-b;do{if((f[(f[Z>>2]|0)+24540>>2]|0)>1e4)r=1e4;else{if((f[(f[Z>>2]|0)+24540>>2]|0)<0){r=0;break}r=f[(f[Z>>2]|0)+24540>>2]|0}}while(0);f[(f[Z>>2]|0)+24540>>2]=r;f[B>>2]=13+(0+(((f[(f[Z>>2]|0)+24556>>2]&65535)<<16>>16)*3188>>16));r=(f[Z>>2]|0)+24560|0;if((f[(f[Z>>2]|0)+4556>>2]|0)<(f[B>>2]|0)){f[r>>2]=1;f[(f[Z>>2]|0)+24556>>2]=0;break}else{f[r>>2]=0;X=(f[Z>>2]|0)+24556|0;f[X>>2]=(f[X>>2]|0)+(f[(f[Y>>2]|0)+24>>2]|0);break}}}while(0);if(!(f[k>>2]|0))break;f[S>>2]=(f[S>>2]|0)+1}f[(f[Z>>2]|0)+24552>>2]=f[(f[Y>>2]|0)+4>>2];f[(f[Y>>2]|0)+72>>2]=f[(f[Z>>2]|0)+24560>>2];if((f[(f[Z>>2]|0)+4600>>2]|0)==16)r=(f[(f[Z>>2]|0)+16+12>>2]|0)==0;else r=0;f[(f[Y>>2]|0)+76>>2]=r&1;f[(f[Y>>2]|0)+68>>2]=((f[(f[Z>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;if(f[(f[Y>>2]|0)+56>>2]|0)r=0;else r=n[(f[Z>>2]|0)+24480+28>>1]|0;f[(f[Y>>2]|0)+80>>2]=r;e:do{if(f[H>>2]|0){f[(f[Y>>2]|0)+24>>2]=f[G>>2];f[(f[Y>>2]|0)+36>>2]=f[J>>2];f[W>>2]=0;while(1){if((f[W>>2]|0)>=(f[(f[Y>>2]|0)+4>>2]|0))break e;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4700>>2]=0;f[(f[Z>>2]|0)+((f[W>>2]|0)*12240|0)+4712>>2]=0;f[W>>2]=(f[W>>2]|0)+1}}}while(0);f[z>>2]=f[V>>2];de(f[q>>2]|0);X=f[z>>2]|0;h=K;return X|0}function yo(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function _o(e,r,i,a,o){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0;A=h;h=h+112|0;b=A+48|0;w=A+44|0;l=A+40|0;s=A+36|0;k=A+32|0;g=A+28|0;y=A+24|0;u=A+20|0;v=A+16|0;d=A+12|0;p=A+56|0;c=A+88|0;E=A+8|0;_=A+4|0;m=A;f[b>>2]=e;f[w>>2]=r;f[l>>2]=i;f[s>>2]=a;f[k>>2]=o;if(f[s>>2]|0)f[E>>2]=(f[b>>2]|0)+6132+((f[l>>2]|0)*36|0);else f[E>>2]=(f[b>>2]|0)+4768;f[u>>2]=(t[(f[E>>2]|0)+29>>0]<<1)+(t[(f[E>>2]|0)+30>>0]|0);l=f[w>>2]|0;i=f[u>>2]|0;if((f[s>>2]|0)!=0|(f[u>>2]|0)>=2)$e(l,i-2|0,29020,8);else $e(l,i,29024,8);l=f[w>>2]|0;i=t[f[E>>2]>>0]|0;if((f[k>>2]|0)==2)$e(l,i,26771,8);else{$e(l,i>>3,26747+(t[(f[E>>2]|0)+29>>0]<<3)|0,8);$e(f[w>>2]|0,t[f[E>>2]>>0]&7,29049,8)}f[g>>2]=1;while(1){l=f[w>>2]|0;if((f[g>>2]|0)>=(f[(f[b>>2]|0)+4604>>2]|0))break;$e(l,t[(f[E>>2]|0)+(f[g>>2]|0)>>0]|0,26771,8);f[g>>2]=(f[g>>2]|0)+1}u=re(t[(f[E>>2]|0)+29>>0]>>1,n[f[(f[b>>2]|0)+4724>>2]>>1]|0)|0;$e(l,t[(f[E>>2]|0)+8>>0]|0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+12>>2]|0)+u|0,8);fa(p,c,f[(f[b>>2]|0)+4724>>2]|0,t[(f[E>>2]|0)+8>>0]|0);f[g>>2]=0;while(1){if((f[g>>2]|0)>=(n[(f[(f[b>>2]|0)+4724>>2]|0)+2>>1]|0))break;do{if((t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)<4){l=f[w>>2]|0;i=f[g>>2]|0;if((t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)<=-4){$e(l,0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(i<<1)>>1]|0)|0,8);$e(f[w>>2]|0,0-(t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)-4|0,29057,8);break}else{$e(l,(t[(f[E>>2]|0)+8+(i+1)>>0]|0)+4|0,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(f[g>>2]<<1)>>1]|0)|0,8);break}}else{$e(f[w>>2]|0,8,(f[(f[(f[b>>2]|0)+4724>>2]|0)+24>>2]|0)+(n[p+(f[g>>2]<<1)>>1]|0)|0,8);$e(f[w>>2]|0,(t[(f[E>>2]|0)+8+((f[g>>2]|0)+1)>>0]|0)-4|0,29057,8)}}while(0);f[g>>2]=(f[g>>2]|0)+1}if((f[(f[b>>2]|0)+4604>>2]|0)==4)$e(f[w>>2]|0,t[(f[E>>2]|0)+31>>0]|0,29026,8);if((t[(f[E>>2]|0)+29>>0]|0)!=2){_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}f[v>>2]=1;if((f[k>>2]|0)==2?(f[(f[b>>2]|0)+5800>>2]|0)==2:0){f[d>>2]=(n[(f[E>>2]|0)+26>>1]|0)-(n[(f[b>>2]|0)+5804>>1]|0);if((f[d>>2]|0)<-8|(f[d>>2]|0)>11)f[d>>2]=0;else{f[d>>2]=(f[d>>2]|0)+9;f[v>>2]=0}$e(f[w>>2]|0,f[d>>2]|0,29096,8)}if(f[v>>2]|0){f[_>>2]=(n[(f[E>>2]|0)+26>>1]|0)/(f[(f[b>>2]|0)+4600>>2]>>1|0)|0;f[m>>2]=(n[(f[E>>2]|0)+26>>1]|0)-(re((f[_>>2]&65535)<<16>>16,(f[(f[b>>2]|0)+4600>>2]>>1&65535)<<16>>16)|0);$e(f[w>>2]|0,f[_>>2]|0,29064,8);$e(f[w>>2]|0,f[m>>2]|0,f[(f[b>>2]|0)+4716>>2]|0,8)}n[(f[b>>2]|0)+5804>>1]=n[(f[E>>2]|0)+26>>1]|0;$e(f[w>>2]|0,t[(f[E>>2]|0)+28>>0]|0,f[(f[b>>2]|0)+4720>>2]|0,8);$e(f[w>>2]|0,t[(f[E>>2]|0)+32>>0]|0,26812,8);f[y>>2]=0;while(1){if((f[y>>2]|0)>=(f[(f[b>>2]|0)+4604>>2]|0))break;$e(f[w>>2]|0,t[(f[E>>2]|0)+4+(f[y>>2]|0)>>0]|0,f[17620+(t[(f[E>>2]|0)+32>>0]<<2)>>2]|0,8);f[y>>2]=(f[y>>2]|0)+1}if(f[k>>2]|0){_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}$e(f[w>>2]|0,t[(f[E>>2]|0)+33>>0]|0,29017,8);_=f[E>>2]|0;_=_+29|0;_=t[_>>0]|0;_=_<<24>>24;m=f[b>>2]|0;m=m+5800|0;f[m>>2]=_;m=f[w>>2]|0;E=f[E>>2]|0;E=E+34|0;E=t[E>>0]|0;E=E<<24>>24;$e(m,E,29034,8);h=A;return}function mo(e,r,i,n,o){e=e|0;r=r|0;i=i|0;n=n|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;L=h;h=h+128|0;p=L+116|0;v=L+112|0;g=L+108|0;y=L+104|0;_=L+100|0;S=L+96|0;M=L+92|0;T=L+88|0;R=L+84|0;A=L+80|0;x=L+76|0;w=L+72|0;l=L+68|0;E=L+64|0;u=L+60|0;k=L+56|0;b=L+24|0;s=L+16|0;O=L+12|0;d=L+8|0;c=L+4|0;m=L;f[p>>2]=e;f[v>>2]=r;f[g>>2]=i;f[y>>2]=n;f[_>>2]=o;f[l>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;f[R>>2]=f[_>>2]>>4;if((f[R>>2]<<4|0)<(f[_>>2]|0)){f[R>>2]=(f[R>>2]|0)+1;o=(f[y>>2]|0)+(f[_>>2]|0)|0;e=o+16|0;do{t[o>>0]=0;o=o+1|0}while((o|0)<(e|0))}r=f[R>>2]<<4;f[m>>2]=he()|0;e=h;h=h+((1*(r<<2)|0)+15&-16)|0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]<<4|0))break;r=t[(f[y>>2]|0)+((f[S>>2]|0)+0)>>0]|0;f[e+((f[S>>2]|0)+0<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+0)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+1)>>0]|0;f[e+((f[S>>2]|0)+1<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+1)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+2)>>0]|0;f[e+((f[S>>2]|0)+2<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+2)>>0]|0)>0?r:0-r|0;r=t[(f[y>>2]|0)+((f[S>>2]|0)+3)>>0]|0;f[e+((f[S>>2]|0)+3<<2)>>2]=(t[(f[y>>2]|0)+((f[S>>2]|0)+3)>>0]|0)>0?r:0-r|0;f[S>>2]=(f[S>>2]|0)+4}n=h;h=h+((1*(f[R>>2]<<2)|0)+15&-16)|0;i=h;h=h+((1*(f[R>>2]<<2)|0)+15&-16)|0;f[s>>2]=e;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;f[i+(f[S>>2]<<2)>>2]=0;e:while(1){f[w>>2]=Eo(b,f[s>>2]|0,a[29177]|0,8)|0;r=Eo(b,b,a[29178]|0,4)|0;f[w>>2]=(f[w>>2]|0)+r;r=Eo(b,b,a[29179]|0,2)|0;f[w>>2]=(f[w>>2]|0)+r;r=Eo(n+(f[S>>2]<<2)|0,b,a[29180]|0,1)|0;f[w>>2]=(f[w>>2]|0)+r;if(!(f[w>>2]|0))break;r=i+(f[S>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+1;f[M>>2]=0;while(1){if((f[M>>2]|0)>=16)continue e;f[(f[s>>2]|0)+(f[M>>2]<<2)>>2]=f[(f[s>>2]|0)+(f[M>>2]<<2)>>2]>>1;f[M>>2]=(f[M>>2]|0)+1}}f[s>>2]=(f[s>>2]|0)+64;f[S>>2]=(f[S>>2]|0)+1}f[u>>2]=2147483647;f[M>>2]=0;while(1){if((f[M>>2]|0)>=9)break;f[c>>2]=29361+((f[M>>2]|0)*18|0);f[k>>2]=a[29541+((f[v>>2]>>1)*9|0)+(f[M>>2]|0)>>0];f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;if((f[i+(f[S>>2]<<2)>>2]|0)>0)f[k>>2]=(f[k>>2]|0)+(a[(f[c>>2]|0)+17>>0]|0);else f[k>>2]=(f[k>>2]|0)+(a[(f[c>>2]|0)+(f[n+(f[S>>2]<<2)>>2]|0)>>0]|0);f[S>>2]=(f[S>>2]|0)+1}if((f[k>>2]|0)<(f[u>>2]|0)){f[u>>2]=f[k>>2];f[l>>2]=f[M>>2]}f[M>>2]=(f[M>>2]|0)+1}$e(f[p>>2]|0,f[l>>2]|0,29523+((f[v>>2]>>1)*9|0)|0,8);f[d>>2]=29181+((f[l>>2]|0)*18|0);f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;o=f[p>>2]|0;if(!(f[i+(f[S>>2]<<2)>>2]|0))$e(o,f[n+(f[S>>2]<<2)>>2]|0,f[d>>2]|0,8);else{$e(o,17,f[d>>2]|0,8);f[M>>2]=0;while(1){o=f[p>>2]|0;if((f[M>>2]|0)>=((f[i+(f[S>>2]<<2)>>2]|0)-1|0))break;$e(o,17,29343,8);f[M>>2]=(f[M>>2]|0)+1}$e(o,f[n+(f[S>>2]<<2)>>2]|0,29343,8)}f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;if((f[n+(f[S>>2]<<2)>>2]|0)>0)Cf(f[p>>2]|0,e+(f[S>>2]<<4<<2)|0);f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[R>>2]|0))break;e:do{if((f[i+(f[S>>2]<<2)>>2]|0)>0){f[O>>2]=(f[y>>2]|0)+(f[S>>2]<<4);f[x>>2]=(f[i+(f[S>>2]<<2)>>2]|0)-1;f[M>>2]=0;while(1){if((f[M>>2]|0)>=16)break e;d=t[(f[O>>2]|0)+(f[M>>2]|0)>>0]|0;f[E>>2]=(((t[(f[O>>2]|0)+(f[M>>2]|0)>>0]|0)>0?d:0-d|0)&255)<<24>>24;f[T>>2]=f[x>>2];while(1){o=f[E>>2]|0;if((f[T>>2]|0)<=0)break;f[A>>2]=o>>f[T>>2]&1;$e(f[p>>2]|0,f[A>>2]|0,29015,8);f[T>>2]=(f[T>>2]|0)+-1}f[A>>2]=o&1;$e(f[p>>2]|0,f[A>>2]|0,29015,8);f[M>>2]=(f[M>>2]|0)+1}}}while(0);f[S>>2]=(f[S>>2]|0)+1}eo(f[p>>2]|0,f[y>>2]|0,f[_>>2]|0,f[v>>2]|0,f[g>>2]|0,n);de(f[m>>2]|0);h=L;return}function Eo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;b=h;h=h+32|0;c=b+24|0;n=b+20|0;a=b+16|0;o=b+12|0;l=b+8|0;s=b+4|0;u=b;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[s>>2]=0;while(1){if((f[s>>2]|0)>=(f[l>>2]|0)){n=6;break}f[u>>2]=(f[(f[a>>2]|0)+(f[s>>2]<<1<<2)>>2]|0)+(f[(f[a>>2]|0)+((f[s>>2]<<1)+1<<2)>>2]|0);if((f[u>>2]|0)>(f[o>>2]|0)){n=4;break}f[(f[n>>2]|0)+(f[s>>2]<<2)>>2]=f[u>>2];f[s>>2]=(f[s>>2]|0)+1}if((n|0)==4){f[c>>2]=1;c=f[c>>2]|0;h=b;return c|0}else if((n|0)==6){f[c>>2]=0;c=f[c>>2]|0;h=b;return c|0}return 0}function Ao(e,r,i,n,a){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;w=k+4|0;b=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=a;f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[c>>2]|0))break;Ba(f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]|0)|0;i=0+((((Ba(f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]|0)|0)-2090&65535)<<16>>16)*2251>>16)&255;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=i;if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<(t[f[s>>2]>>0]|0)){i=(f[o>>2]|0)+(f[w>>2]|0)|0;t[i>>0]=(t[i>>0]|0)+1<<24>>24}if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<=63)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<0)n=0;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;else n=63;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;if((f[w>>2]|0)==0&(f[u>>2]|0)==0){n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;do{if(((t[f[s>>2]>>0]|0)+-4|0)>63){if((n|0)>((t[f[s>>2]>>0]|0)+-4|0)){n=(t[f[s>>2]>>0]|0)+-4|0;break}if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<63)n=63;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0}else if((n|0)<=63)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<((t[f[s>>2]>>0]|0)+-4|0)){n=(t[f[s>>2]>>0]|0)+-4|0;break}else{n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;break}else n=63}while(0);t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;t[f[s>>2]>>0]=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0}else{t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=(t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)-(t[f[s>>2]>>0]|0);f[b>>2]=8+(t[f[s>>2]>>0]|0);if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)>(f[b>>2]|0))t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=(f[b>>2]|0)+((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)-(f[b>>2]|0)+1>>1);if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<=36)if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)<-4)n=-4;else n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;else n=36;t[(f[o>>2]|0)+(f[w>>2]|0)>>0]=n;n=t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0;if((t[(f[o>>2]|0)+(f[w>>2]|0)>>0]|0)>(f[b>>2]|0)){i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+((n<<1)-(f[b>>2]|0))}else{i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+n}i=(f[o>>2]|0)+(f[w>>2]|0)|0;t[i>>0]=(t[i>>0]|0)+4}i=Fa(So(((t[f[s>>2]>>0]<<16>>16)*29|0)+((t[f[s>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;f[(f[l>>2]|0)+(f[w>>2]<<2)>>2]=i;f[w>>2]=(f[w>>2]|0)+1}h=k;return}function So(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Ro(e,r,i,n,a){e=e|0;r=r|0;i=i|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+28|0;l=d+24|0;s=d+20|0;u=d+16|0;c=d+12|0;k=d+8|0;w=d+4|0;b=d;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=a;f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[c>>2]|0))break;n=t[(f[l>>2]|0)+(f[k>>2]|0)>>0]|0;do{if(!((f[k>>2]|0)==0&(f[u>>2]|0)==0)){f[w>>2]=n+-4;f[b>>2]=8+(t[f[s>>2]>>0]|0);n=f[w>>2]|0;if((f[w>>2]|0)>(f[b>>2]|0)){i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+((n<<1)-(f[b>>2]|0));break}else{i=f[s>>2]|0;t[i>>0]=(t[i>>0]|0)+n;break}}else{i=(To(n,(t[f[s>>2]>>0]|0)-16|0)|0)&255;t[f[s>>2]>>0]=i}}while(0);if((t[f[s>>2]>>0]|0)<=63)if((t[f[s>>2]>>0]|0)<0)n=0;else n=t[f[s>>2]>>0]|0;else n=63;t[f[s>>2]>>0]=n;i=Fa(So(((t[f[s>>2]>>0]<<16>>16)*29|0)+((t[f[s>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;f[(f[o>>2]|0)+(f[k>>2]<<2)>>2]=i;f[k>>2]=(f[k>>2]|0)+1}h=d;return}function To(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)>(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Mo(e,r){e=e|0;r=r|0;var i=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;i=l+12|0;n=l+8|0;o=l+4|0;a=l;f[i>>2]=e;f[n>>2]=r;f[a>>2]=0;f[o>>2]=0;while(1){if((f[o>>2]|0)>=(f[n>>2]|0))break;f[a>>2]=(t[(f[i>>2]|0)+(f[o>>2]|0)>>0]|0)+(f[a>>2]<<8);f[o>>2]=(f[o>>2]|0)+1}h=l;return f[a>>2]|0}function xo(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;c=w+4|0;b=w;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;e=(n[(f[l>>2]|0)+(f[b>>2]<<1)>>1]|0)+((re(((n[(f[s>>2]|0)+(f[b>>2]<<1)>>1]|0)-(n[(f[l>>2]|0)+(f[b>>2]<<1)>>1]|0)&65535)<<16>>16,(f[u>>2]&65535)<<16>>16)|0)>>2)&65535;n[(f[o>>2]|0)+(f[b>>2]<<1)>>1]=e;f[b>>2]=(f[b>>2]|0)+1}h=w;return}function Oo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+48|0;a=c+36|0;o=c+32|0;l=c+28|0;u=c+16|0;s=c+8|0;t=c+4|0;n=c;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[t>>2]=0;f[n>>2]=0;if(!(f[(f[a>>2]|0)+12>>2]|0)){h=c;return}f[t>>2]=256-(f[(f[a>>2]|0)+8>>2]|0)<<10;f[n>>2]=f[t>>2]>>16;f[t>>2]=(f[t>>2]|0)-(f[n>>2]<<16);Lo(u,s,f[n>>2]|0,f[t>>2]|0);if(((f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0)<=256)if(((f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0)<0)t=0;else t=(f[(f[a>>2]|0)+8>>2]|0)+(f[(f[a>>2]|0)+12>>2]|0)|0;else t=256;f[(f[a>>2]|0)+8>>2]=t;La(f[o>>2]|0,u,s,f[a>>2]|0,f[o>>2]|0,f[l>>2]|0,1);h=c;return}function Lo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0,c=0;c=h;h=h+32|0;n=c+20|0;a=c+16|0;o=c+12|0;l=c+8|0;u=c+4|0;s=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;if((f[o>>2]|0)>=4){u=f[n>>2]|0;f[u>>2]=f[4473];f[u+4>>2]=f[4474];f[u+8>>2]=f[4475];u=f[a>>2]|0;f[u>>2]=f[4484];f[u+4>>2]=f[4485];h=c;return}if((f[l>>2]|0)<=0){u=f[n>>2]|0;s=17844+((f[o>>2]|0)*12|0)|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];f[u+8>>2]=f[s+8>>2];u=f[a>>2]|0;s=17904+(f[o>>2]<<3)|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];h=c;return}i=(f[l>>2]|0)<32768;f[u>>2]=0;if(i){while(1){if((f[u>>2]|0)>=3)break;i=re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)>>16,(f[l>>2]&65535)<<16>>16)|0;i=(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)+(i+((re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)&65535,(f[l>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=i;f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=0;while(1){if((f[s>>2]|0)>=2)break;u=re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)>>16,(f[l>>2]&65535)<<16>>16)|0;u=(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)+(u+((re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)&65535,(f[l>>2]&65535)<<16>>16)|0)>>16))|0;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=u;f[s>>2]=(f[s>>2]|0)+1}h=c;return}else{while(1){if((f[u>>2]|0)>=3)break;i=re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)>>16,((f[l>>2]|0)-65536&65535)<<16>>16)|0;i=(f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)+(i+((re((f[17844+(((f[o>>2]|0)+1|0)*12|0)+(f[u>>2]<<2)>>2]|0)-(f[17844+((f[o>>2]|0)*12|0)+(f[u>>2]<<2)>>2]|0)&65535,((f[l>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;f[(f[n>>2]|0)+(f[u>>2]<<2)>>2]=i;f[u>>2]=(f[u>>2]|0)+1}f[s>>2]=0;while(1){if((f[s>>2]|0)>=2)break;u=re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)>>16,((f[l>>2]|0)-65536&65535)<<16>>16)|0;u=(f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)+(u+((re((f[17904+((f[o>>2]|0)+1<<3)+(f[s>>2]<<2)>>2]|0)-(f[17904+(f[o>>2]<<3)+(f[s>>2]<<2)>>2]|0)&65535,((f[l>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;f[(f[a>>2]|0)+(f[s>>2]<<2)>>2]=u;f[s>>2]=(f[s>>2]|0)+1}h=c;return}}function Po(e,r,i){e=e|0;r=r|0;i=i|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+144|0;c=g+24|0;o=g+20|0;b=g+16|0;p=g+12|0;u=g+128|0;l=g+96|0;v=g+64|0;d=g+32|0;k=g+8|0;w=g+4|0;s=g;f[c>>2]=e;f[o>>2]=r;f[b>>2]=i;i=re(t[f[o>>2]>>0]|0,n[(f[b>>2]|0)+2>>1]|0)|0;f[s>>2]=(f[(f[b>>2]|0)+8>>2]|0)+i;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(n[(f[b>>2]|0)+2>>1]|0))break;n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]=a[(f[s>>2]|0)+(f[p>>2]|0)>>0]<<7;f[p>>2]=(f[p>>2]|0)+1}fa(l,u,f[b>>2]|0,t[f[o>>2]>>0]|0);Io(v,(f[o>>2]|0)+1|0,u,n[(f[b>>2]|0)+4>>1]|0,n[(f[b>>2]|0)+2>>1]|0);li(d,f[c>>2]|0,n[(f[b>>2]|0)+2>>1]|0);f[p>>2]=0;while(1){if((f[p>>2]|0)>=(n[(f[b>>2]|0)+2>>1]|0))break;f[k>>2]=Co(n[d+(f[p>>2]<<1)>>1]<<16)|0;f[w>>2]=(n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]|0)+((n[v+(f[p>>2]<<1)>>1]<<14|0)/(f[k>>2]|0)|0);if((f[w>>2]|0)>32767)o=32767;else o=(f[w>>2]|0)<0?0:f[w>>2]|0;n[(f[c>>2]|0)+(f[p>>2]<<1)>>1]=o;f[p>>2]=(f[p>>2]|0)+1}fi(f[c>>2]|0,f[(f[b>>2]|0)+32>>2]|0,n[(f[b>>2]|0)+2>>1]|0);h=g;return}function Io(e,r,i,o,l){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;var s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+32|0;s=p+24|0;u=p+20|0;c=p+16|0;b=p+12|0;v=p+28|0;w=p+8|0;k=p+4|0;d=p;f[s>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=o;n[v>>1]=l;f[k>>2]=0;f[w>>2]=(n[v>>1]|0)-1;while(1){if((f[w>>2]|0)<0)break;f[d>>2]=(re((f[k>>2]&65535)<<16>>16,a[(f[c>>2]|0)+(f[w>>2]|0)>>0]|0)|0)>>8;f[k>>2]=t[(f[u>>2]|0)+(f[w>>2]|0)>>0]<<10;r=f[k>>2]|0;if((f[k>>2]|0)<=0){if((r|0)<0)f[k>>2]=(f[k>>2]|0)+102}else f[k>>2]=r-102;v=re(f[k>>2]>>16,(f[b>>2]&65535)<<16>>16)|0;f[k>>2]=(f[d>>2]|0)+(v+((re(f[k>>2]&65535,(f[b>>2]&65535)<<16>>16)|0)>>16));n[(f[s>>2]|0)+(f[w>>2]<<1)>>1]=f[k>>2];f[w>>2]=(f[w>>2]|0)+-1}h=p;return}function Co(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;n=o+4|0;t=o;f[i>>2]=e;if((f[i>>2]|0)<=0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}Uo(f[i>>2]|0,n,t);if(f[n>>2]&1|0)f[a>>2]=32768;else f[a>>2]=46214;f[a>>2]=f[a>>2]>>(f[n>>2]>>1);e=re(f[a>>2]>>16,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;f[a>>2]=(f[a>>2]|0)+(e+((re(f[a>>2]&65535,(((f[t>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));f[r>>2]=f[a>>2];a=f[r>>2]|0;h=o;return a|0}function Uo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;t=h;h=h+16|0;o=t+12|0;l=t+8|0;n=t+4|0;a=t;f[o>>2]=e;f[l>>2]=r;f[n>>2]=i;f[a>>2]=Bo(f[o>>2]|0)|0;f[f[l>>2]>>2]=f[a>>2];r=(jo(f[o>>2]|0,24-(f[a>>2]|0)|0)|0)&127;f[f[n>>2]>>2]=r;h=t;return}function Bo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function jo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;t=s+20|0;i=s+16|0;n=s+12|0;l=s+8|0;o=s+4|0;a=s;f[i>>2]=e;f[n>>2]=r;f[l>>2]=f[i>>2];f[o>>2]=f[n>>2];f[a>>2]=0-(f[n>>2]|0);if(!(f[n>>2]|0)){f[t>>2]=f[i>>2];l=f[t>>2]|0;h=s;return l|0}i=f[l>>2]|0;if((f[n>>2]|0)<0){f[t>>2]=i<>2]|(f[l>>2]|0)>>>(32-(f[a>>2]|0)|0);l=f[t>>2]|0;h=s;return l|0}else{f[t>>2]=i<<32-(f[o>>2]|0)|(f[l>>2]|0)>>>(f[o>>2]|0);l=f[t>>2]|0;h=s;return l|0}return 0}function Do(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0;W=h;h=h+112|0;g=W+100|0;y=W+96|0;T=W+92|0;M=W+88|0;x=W+84|0;O=W+80|0;L=W+76|0;P=W+72|0;I=W+68|0;C=W+64|0;_=W+60|0;m=W+56|0;E=W+52|0;A=W+48|0;S=W+44|0;F=W+40|0;z=W+36|0;q=W+32|0;N=W+28|0;B=W+24|0;j=W+20|0;U=W+16|0;H=W+12|0;D=W+8|0;Y=W+4|0;R=W;f[g>>2]=e;f[y>>2]=r;f[T>>2]=i;f[M>>2]=a;f[x>>2]=o;f[O>>2]=l;f[L>>2]=s;f[P>>2]=u;f[I>>2]=c;f[C>>2]=b;f[_>>2]=w;f[m>>2]=k;f[E>>2]=d;f[A>>2]=p;f[S>>2]=v;f[(f[y>>2]|0)+4368>>2]=t[(f[T>>2]|0)+34>>0];f[z>>2]=f[(f[y>>2]|0)+4356>>2];f[Y>>2]=n[24558+(t[(f[T>>2]|0)+29>>0]>>1<<2)+(t[(f[T>>2]|0)+30>>0]<<1)>>1];if((t[(f[T>>2]|0)+31>>0]|0)==4)f[N>>2]=0;else f[N>>2]=1;k=(f[(f[g>>2]|0)+4616>>2]|0)+(f[(f[g>>2]|0)+4608>>2]|0)|0;f[R>>2]=he()|0;u=h;h=h+((1*(k<<2)|0)+15&-16)|0;k=h;h=h+((1*((f[(f[g>>2]|0)+4616>>2]|0)+(f[(f[g>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;c=h;h=h+((1*(f[(f[g>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;f[(f[y>>2]|0)+4364>>2]=f[(f[g>>2]|0)+4616>>2];f[(f[y>>2]|0)+4360>>2]=f[(f[g>>2]|0)+4616>>2];f[H>>2]=(f[y>>2]|0)+(f[(f[g>>2]|0)+4616>>2]<<1);f[F>>2]=0;while(1){if((f[F>>2]|0)>=(f[(f[g>>2]|0)+4604>>2]|0))break;f[B>>2]=(f[O>>2]|0)+((f[F>>2]>>1|1-(f[N>>2]|0))<<4<<1);f[j>>2]=(f[L>>2]|0)+((f[F>>2]|0)*5<<1);f[U>>2]=(f[P>>2]|0)+(f[F>>2]<<4<<1);f[D>>2]=f[(f[I>>2]|0)+(f[F>>2]<<2)>>2]>>2;f[D>>2]=f[D>>2]|f[(f[I>>2]|0)+(f[F>>2]<<2)>>2]>>1<<16;f[(f[y>>2]|0)+4376>>2]=0;if((t[(f[T>>2]|0)+29>>0]|0)==2?(f[z>>2]=f[(f[E>>2]|0)+(f[F>>2]<<2)>>2],(f[F>>2]&3-(f[N>>2]<<1)|0)==0):0){f[q>>2]=(f[(f[g>>2]|0)+4616>>2]|0)-(f[z>>2]|0)-(f[(f[g>>2]|0)+4664>>2]|0)-2;a=(f[q>>2]|0)+(re(f[F>>2]|0,f[(f[g>>2]|0)+4612>>2]|0)|0)|0;za(k+(f[q>>2]<<1)|0,(f[y>>2]|0)+(a<<1)|0,f[B>>2]|0,(f[(f[g>>2]|0)+4616>>2]|0)-(f[q>>2]|0)|0,f[(f[g>>2]|0)+4664>>2]|0,f[(f[g>>2]|0)+5124>>2]|0);f[(f[y>>2]|0)+4376>>2]=1;f[(f[y>>2]|0)+4360>>2]=f[(f[g>>2]|0)+4616>>2]}No(f[g>>2]|0,f[y>>2]|0,f[M>>2]|0,c,k,u,f[F>>2]|0,f[S>>2]|0,f[m>>2]|0,f[E>>2]|0,t[(f[T>>2]|0)+29>>0]|0);Ho(f[y>>2]|0,t[(f[T>>2]|0)+29>>0]|0,c,f[x>>2]|0,f[H>>2]|0,u,f[B>>2]|0,f[j>>2]|0,f[U>>2]|0,f[z>>2]|0,f[D>>2]|0,f[(f[C>>2]|0)+(f[F>>2]<<2)>>2]|0,f[(f[_>>2]|0)+(f[F>>2]<<2)>>2]|0,f[(f[m>>2]|0)+(f[F>>2]<<2)>>2]|0,f[A>>2]|0,f[Y>>2]|0,f[(f[g>>2]|0)+4612>>2]|0,f[(f[g>>2]|0)+4660>>2]|0,f[(f[g>>2]|0)+4664>>2]|0);f[M>>2]=(f[M>>2]|0)+(f[(f[g>>2]|0)+4612>>2]<<2);f[x>>2]=(f[x>>2]|0)+(f[(f[g>>2]|0)+4612>>2]|0);f[H>>2]=(f[H>>2]|0)+(f[(f[g>>2]|0)+4612>>2]<<1);f[F>>2]=(f[F>>2]|0)+1}f[(f[y>>2]|0)+4356>>2]=f[(f[E>>2]|0)+((f[(f[g>>2]|0)+4604>>2]|0)-1<<2)>>2];ys(f[y>>2]|0,(f[y>>2]|0)+(f[(f[g>>2]|0)+4608>>2]<<1)|0,f[(f[g>>2]|0)+4616>>2]<<1|0)|0;ys((f[y>>2]|0)+1280|0,(f[y>>2]|0)+1280+(f[(f[g>>2]|0)+4608>>2]<<2)|0,f[(f[g>>2]|0)+4616>>2]<<2|0)|0;de(f[R>>2]|0);h=W;return}function No(e,r,i,t,a,o,l,s,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;x=h;h=h+64|0;w=x+60|0;k=x+56|0;p=x+52|0;v=x+48|0;g=x+44|0;y=x+40|0;_=x+36|0;m=x+32|0;E=x+28|0;O=x+24|0;d=x+20|0;S=x+16|0;M=x+12|0;A=x+8|0;T=x+4|0;R=x;f[w>>2]=e;f[k>>2]=r;f[p>>2]=i;f[v>>2]=t;f[g>>2]=a;f[y>>2]=o;f[_>>2]=l;f[m>>2]=s;f[E>>2]=u;f[O>>2]=c;f[d>>2]=b;f[M>>2]=f[(f[O>>2]|0)+(f[_>>2]<<2)>>2];if((f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0)>1)u=f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0;else u=1;f[T>>2]=Fo(u,47)|0;if((f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0)!=(f[(f[k>>2]|0)+4372>>2]|0))f[A>>2]=Yo(f[(f[k>>2]|0)+4372>>2]|0,f[(f[E>>2]|0)+(f[_>>2]<<2)>>2]|0,16)|0;else f[A>>2]=65536;f[R>>2]=(f[T>>2]>>7)+1>>1;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[(f[w>>2]|0)+4612>>2]|0))break;O=re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]>>16,(f[R>>2]&65535)<<16>>16)|0;O=O+((re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]&65535,(f[R>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[(f[p>>2]|0)+(f[S>>2]<<2)>>2]|0,(f[R>>2]>>15)+1>>1)|0)|0;f[(f[v>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}f[(f[k>>2]|0)+4372>>2]=f[(f[E>>2]|0)+(f[_>>2]<<2)>>2];e:do{if(f[(f[k>>2]|0)+4376>>2]|0){if(!(f[_>>2]|0)){O=re(f[T>>2]>>16,(f[m>>2]&65535)<<16>>16)|0;f[T>>2]=O+((re(f[T>>2]&65535,(f[m>>2]&65535)<<16>>16)|0)>>16)<<2}f[S>>2]=(f[(f[k>>2]|0)+4360>>2]|0)-(f[M>>2]|0)-2;while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4360>>2]|0))break e;O=re(f[T>>2]>>16,n[(f[g>>2]|0)+(f[S>>2]<<1)>>1]|0)|0;O=O+((re(f[T>>2]&65535,n[(f[g>>2]|0)+(f[S>>2]<<1)>>1]|0)|0)>>16)|0;f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}}}while(0);if((f[A>>2]|0)==65536){h=x;return}f[S>>2]=(f[(f[k>>2]|0)+4364>>2]|0)-(f[(f[w>>2]|0)+4616>>2]|0);while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4364>>2]|0))break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+1280+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}e:do{if((f[d>>2]|0)==2?(f[(f[k>>2]|0)+4376>>2]|0)==0:0){f[S>>2]=(f[(f[k>>2]|0)+4360>>2]|0)-(f[M>>2]|0)-2;while(1){if((f[S>>2]|0)>=(f[(f[k>>2]|0)+4360>>2]|0))break e;O=re(f[A>>2]>>16,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[y>>2]|0)+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}}}while(0);O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+4352>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+4352>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+4352>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+4352>>2]=O;f[S>>2]=0;while(1){if((f[S>>2]|0)>=32)break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+3840+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}f[S>>2]=0;while(1){if((f[S>>2]|0)>=16)break;O=re(f[A>>2]>>16,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0;O=O+((re(f[A>>2]&65535,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;O=O+(re(f[A>>2]|0,(f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[k>>2]|0)+4288+(f[S>>2]<<2)>>2]=O;f[S>>2]=(f[S>>2]|0)+1}h=x;return}function Fo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(zo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function zo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Yo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(zo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(zo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ho(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v,g,y,_,m){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;g=g|0;y=y|0;_=_|0;m=m|0;var E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0;ce=h;h=h+176|0;ue=ce+168|0;E=ce+164|0;L=ce+160|0;P=ce+156|0;I=ce+152|0;C=ce+148|0;U=ce+144|0;B=ce+140|0;j=ce+136|0;D=ce+132|0;A=ce+128|0;S=ce+124|0;R=ce+120|0;be=ce+116|0;T=ce+112|0;M=ce+108|0;he=ce+104|0;x=ce+100|0;O=ce+96|0;q=ce+92|0;W=ce+88|0;Y=ce+84|0;z=ce+80|0;Z=ce+76|0;J=ce+72|0;V=ce+68|0;ee=ce+64|0;ne=ce+60|0;X=ce+56|0;$=ce+52|0;Q=ce+48|0;ie=ce+44|0;te=ce+40|0;H=ce+36|0;F=ce+32|0;se=ce+28|0;N=ce+24|0;oe=ce+20|0;le=ce+16|0;fe=ce+12|0;K=ce+8|0;ae=ce+4|0;G=ce;f[ue>>2]=e;f[E>>2]=r;f[L>>2]=i;f[P>>2]=a;f[I>>2]=o;f[C>>2]=l;f[U>>2]=s;f[B>>2]=u;f[j>>2]=c;f[D>>2]=b;f[A>>2]=w;f[S>>2]=k;f[R>>2]=d;f[be>>2]=p;f[T>>2]=v;f[M>>2]=g;f[he>>2]=y;f[x>>2]=_;f[O>>2]=m;f[ae>>2]=(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-(f[D>>2]|0)+1<<2);f[G>>2]=(f[C>>2]|0)+((f[(f[ue>>2]|0)+4360>>2]|0)-(f[D>>2]|0)+2<<2);f[N>>2]=f[be>>2]>>6;f[K>>2]=(f[ue>>2]|0)+3840+124;f[q>>2]=0;while(1){c=f[ue>>2]|0;if((f[q>>2]|0)>=(f[he>>2]|0))break;be=907633515+(re(f[c+4368>>2]|0,196314165)|0)|0;f[(f[ue>>2]|0)+4368>>2]=be;f[z>>2]=f[O>>2]>>1;be=re(f[f[K>>2]>>2]>>16,n[f[U>>2]>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[f[K>>2]>>2]&65535,n[f[U>>2]>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-4>>2]>>16,n[(f[U>>2]|0)+2>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-4>>2]&65535,n[(f[U>>2]|0)+2>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-8>>2]>>16,n[(f[U>>2]|0)+4>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-8>>2]&65535,n[(f[U>>2]|0)+4>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-12>>2]>>16,n[(f[U>>2]|0)+6>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-12>>2]&65535,n[(f[U>>2]|0)+6>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-16>>2]>>16,n[(f[U>>2]|0)+8>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-16>>2]&65535,n[(f[U>>2]|0)+8>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-20>>2]>>16,n[(f[U>>2]|0)+10>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-20>>2]&65535,n[(f[U>>2]|0)+10>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-24>>2]>>16,n[(f[U>>2]|0)+12>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-24>>2]&65535,n[(f[U>>2]|0)+12>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-28>>2]>>16,n[(f[U>>2]|0)+14>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-28>>2]&65535,n[(f[U>>2]|0)+14>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-32>>2]>>16,n[(f[U>>2]|0)+16>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-32>>2]&65535,n[(f[U>>2]|0)+16>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-36>>2]>>16,n[(f[U>>2]|0)+18>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-36>>2]&65535,n[(f[U>>2]|0)+18>>1]|0)|0)>>16));if((f[O>>2]|0)==16){be=re(f[(f[K>>2]|0)+-40>>2]>>16,n[(f[U>>2]|0)+20>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-40>>2]&65535,n[(f[U>>2]|0)+20>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-44>>2]>>16,n[(f[U>>2]|0)+22>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-44>>2]&65535,n[(f[U>>2]|0)+22>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-48>>2]>>16,n[(f[U>>2]|0)+24>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-48>>2]&65535,n[(f[U>>2]|0)+24>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-52>>2]>>16,n[(f[U>>2]|0)+26>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-52>>2]&65535,n[(f[U>>2]|0)+26>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-56>>2]>>16,n[(f[U>>2]|0)+28>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-56>>2]&65535,n[(f[U>>2]|0)+28>>1]|0)|0)>>16));be=re(f[(f[K>>2]|0)+-60>>2]>>16,n[(f[U>>2]|0)+30>>1]|0)|0;f[z>>2]=(f[z>>2]|0)+(be+((re(f[(f[K>>2]|0)+-60>>2]&65535,n[(f[U>>2]|0)+30>>1]|0)|0)>>16))}if((f[E>>2]|0)==2){f[Y>>2]=2;be=re(f[f[G>>2]>>2]>>16,n[f[B>>2]>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[f[G>>2]>>2]&65535,n[f[B>>2]>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-4>>2]>>16,n[(f[B>>2]|0)+2>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-4>>2]&65535,n[(f[B>>2]|0)+2>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-8>>2]>>16,n[(f[B>>2]|0)+4>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-8>>2]&65535,n[(f[B>>2]|0)+4>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-12>>2]>>16,n[(f[B>>2]|0)+6>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-12>>2]&65535,n[(f[B>>2]|0)+6>>1]|0)|0)>>16));be=re(f[(f[G>>2]|0)+-16>>2]>>16,n[(f[B>>2]|0)+8>>1]|0)|0;f[Y>>2]=(f[Y>>2]|0)+(be+((re(f[(f[G>>2]|0)+-16>>2]&65535,n[(f[B>>2]|0)+8>>1]|0)|0)>>16));f[G>>2]=(f[G>>2]|0)+4}else f[Y>>2]=0;f[le>>2]=f[f[K>>2]>>2];f[oe>>2]=f[(f[ue>>2]|0)+4288>>2];f[(f[ue>>2]|0)+4288>>2]=f[le>>2];f[Z>>2]=f[x>>2]>>1;be=re(f[le>>2]>>16,n[f[j>>2]>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[le>>2]&65535,n[f[j>>2]>>1]|0)|0)>>16));f[W>>2]=2;while(1){if((f[W>>2]|0)>=(f[x>>2]|0))break;f[le>>2]=f[(f[ue>>2]|0)+4288+((f[W>>2]|0)-1<<2)>>2];f[(f[ue>>2]|0)+4288+((f[W>>2]|0)-1<<2)>>2]=f[oe>>2];be=re(f[oe>>2]>>16,n[(f[j>>2]|0)+((f[W>>2]|0)-1<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[oe>>2]&65535,n[(f[j>>2]|0)+((f[W>>2]|0)-1<<1)>>1]|0)|0)>>16));f[oe>>2]=f[(f[ue>>2]|0)+4288+((f[W>>2]|0)+0<<2)>>2];f[(f[ue>>2]|0)+4288+((f[W>>2]|0)+0<<2)>>2]=f[le>>2];be=re(f[le>>2]>>16,n[(f[j>>2]|0)+(f[W>>2]<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[le>>2]&65535,n[(f[j>>2]|0)+(f[W>>2]<<1)>>1]|0)|0)>>16));f[W>>2]=(f[W>>2]|0)+2}f[(f[ue>>2]|0)+4288+((f[x>>2]|0)-1<<2)>>2]=f[oe>>2];be=re(f[oe>>2]>>16,n[(f[j>>2]|0)+((f[x>>2]|0)-1<<1)>>1]|0)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[oe>>2]&65535,n[(f[j>>2]|0)+((f[x>>2]|0)-1<<1)>>1]|0)|0)>>16));f[Z>>2]=f[Z>>2]<<1;be=re(f[(f[ue>>2]|0)+4352>>2]>>16,(f[S>>2]&65535)<<16>>16)|0;f[Z>>2]=(f[Z>>2]|0)+(be+((re(f[(f[ue>>2]|0)+4352>>2]&65535,(f[S>>2]&65535)<<16>>16)|0)>>16));be=re(f[(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-1<<2)>>2]>>16,(f[R>>2]&65535)<<16>>16)|0;f[V>>2]=be+((re(f[(f[ue>>2]|0)+1280+((f[(f[ue>>2]|0)+4364>>2]|0)-1<<2)>>2]&65535,(f[R>>2]&65535)<<16>>16)|0)>>16);be=(f[V>>2]|0)+(re(f[(f[ue>>2]|0)+4352>>2]>>16,f[R>>2]>>16)|0)|0;f[V>>2]=be+((re(f[(f[ue>>2]|0)+4352>>2]&65535,f[R>>2]>>16)|0)>>16);f[oe>>2]=(f[z>>2]<<2)-(f[Z>>2]|0);f[oe>>2]=(f[oe>>2]|0)-(f[V>>2]|0);if((f[D>>2]|0)>0){be=re((f[f[ae>>2]>>2]|0)+(f[(f[ae>>2]|0)+-8>>2]|0)>>16,(f[A>>2]&65535)<<16>>16)|0;f[J>>2]=be+((re((f[f[ae>>2]>>2]|0)+(f[(f[ae>>2]|0)+-8>>2]|0)&65535,(f[A>>2]&65535)<<16>>16)|0)>>16);be=(f[J>>2]|0)+(re(f[(f[ae>>2]|0)+-4>>2]>>16,f[A>>2]>>16)|0)|0;f[J>>2]=be+((re(f[(f[ae>>2]|0)+-4>>2]&65535,f[A>>2]>>16)|0)>>16);f[J>>2]=f[J>>2]<<1;f[ae>>2]=(f[ae>>2]|0)+4;f[le>>2]=(f[Y>>2]|0)-(f[J>>2]|0);f[oe>>2]=(f[le>>2]|0)+(f[oe>>2]<<1);f[oe>>2]=(f[oe>>2]>>2)+1>>1}else f[oe>>2]=(f[oe>>2]>>1)+1>>1;f[ee>>2]=(f[(f[L>>2]|0)+(f[q>>2]<<2)>>2]|0)-(f[oe>>2]|0);if((f[(f[ue>>2]|0)+4368>>2]|0)<0)f[ee>>2]=0-(f[ee>>2]|0);if((f[ee>>2]|0)>30720)c=30720;else c=(f[ee>>2]|0)<-31744?-31744:f[ee>>2]|0;f[ee>>2]=c;f[$>>2]=(f[ee>>2]|0)-(f[M>>2]|0);f[X>>2]=f[$>>2]>>10;c=f[X>>2]|0;do{if((f[X>>2]|0)<=0){if(!c){f[$>>2]=f[M>>2];f[Q>>2]=(f[$>>2]|0)+944;f[ie>>2]=re((f[$>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}if((f[X>>2]|0)==-1){f[Q>>2]=f[M>>2];f[$>>2]=(f[Q>>2]|0)-944;f[ie>>2]=re((0-(f[$>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}else{f[$>>2]=(f[X>>2]<<10)+80;f[$>>2]=(f[$>>2]|0)+(f[M>>2]|0);f[Q>>2]=(f[$>>2]|0)+1024;f[ie>>2]=re((0-(f[$>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((0-(f[Q>>2]|0)&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;break}}else{f[$>>2]=(c<<10)-80;f[$>>2]=(f[$>>2]|0)+(f[M>>2]|0);f[Q>>2]=(f[$>>2]|0)+1024;f[ie>>2]=re((f[$>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0;f[te>>2]=re((f[Q>>2]&65535)<<16>>16,(f[T>>2]&65535)<<16>>16)|0}}while(0);f[ne>>2]=(f[ee>>2]|0)-(f[$>>2]|0);f[ie>>2]=(f[ie>>2]|0)+(re((f[ne>>2]&65535)<<16>>16,(f[ne>>2]&65535)<<16>>16)|0);f[ne>>2]=(f[ee>>2]|0)-(f[Q>>2]|0);f[te>>2]=(f[te>>2]|0)+(re((f[ne>>2]&65535)<<16>>16,(f[ne>>2]&65535)<<16>>16)|0);if((f[te>>2]|0)<(f[ie>>2]|0))f[$>>2]=f[Q>>2];t[(f[P>>2]|0)+(f[q>>2]|0)>>0]=(f[$>>2]>>9)+1>>1;f[H>>2]=f[$>>2]<<4;if((f[(f[ue>>2]|0)+4368>>2]|0)<0)f[H>>2]=0-(f[H>>2]|0);f[F>>2]=(f[H>>2]|0)+(f[Y>>2]<<1);f[se>>2]=(f[F>>2]|0)+(f[z>>2]<<4);be=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;be=be+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((be+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){be=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;be=be+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;if(((be+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)c=-32768;else{c=re(f[se>>2]>>16,(f[N>>2]&65535)<<16>>16)|0;c=c+((re(f[se>>2]&65535,(f[N>>2]&65535)<<16>>16)|0)>>16)|0;c=(c+(re(f[se>>2]|0,(f[N>>2]>>15)+1>>1)|0)>>7)+1>>1}}else c=32767;n[(f[I>>2]|0)+(f[q>>2]<<1)>>1]=c;f[K>>2]=(f[K>>2]|0)+4;f[f[K>>2]>>2]=f[se>>2];f[fe>>2]=(f[se>>2]|0)-(f[Z>>2]<<2);f[(f[ue>>2]|0)+4352>>2]=f[fe>>2];f[(f[ue>>2]|0)+1280+(f[(f[ue>>2]|0)+4364>>2]<<2)>>2]=(f[fe>>2]|0)-(f[V>>2]<<2);f[(f[C>>2]|0)+(f[(f[ue>>2]|0)+4360>>2]<<2)>>2]=f[F>>2]<<1;be=(f[ue>>2]|0)+4364|0;f[be>>2]=(f[be>>2]|0)+1;be=(f[ue>>2]|0)+4360|0;f[be>>2]=(f[be>>2]|0)+1;f[(f[ue>>2]|0)+4368>>2]=(f[(f[ue>>2]|0)+4368>>2]|0)+(t[(f[P>>2]|0)+(f[q>>2]|0)>>0]|0);f[q>>2]=(f[q>>2]|0)+1}w=c+3840|0;c=(f[ue>>2]|0)+3840+(f[he>>2]<<2)|0;p=w+128|0;do{f[w>>2]=f[c>>2];w=w+4|0;c=c+4|0}while((w|0)<(p|0));h=ce;return}function qo(e,r,i,a,o,l,s,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0;ie=h;h=h+272|0;q=ie+264|0;W=ie+260|0;E=ie+256|0;A=ie+252|0;J=ie+248|0;S=ie+244|0;R=ie+240|0;T=ie+236|0;M=ie+232|0;x=ie+228|0;g=ie+224|0;y=ie+220|0;Z=ie+216|0;_=ie+212|0;m=ie+208|0;X=ie+204|0;D=ie+200|0;N=ie+196|0;Y=ie+192|0;C=ie+188|0;B=ie+184|0;H=ie+180|0;$=ie+176|0;z=ie+172|0;K=ie+168|0;L=ie+164|0;P=ie+160|0;O=ie+156|0;ee=ie+152|0;I=ie+148|0;F=ie+144|0;U=ie+140|0;G=ie+136|0;Q=ie+132|0;V=ie+128|0;j=ie;f[q>>2]=e;f[W>>2]=r;f[E>>2]=i;f[A>>2]=a;f[J>>2]=o;f[S>>2]=l;f[R>>2]=s;f[T>>2]=u;f[M>>2]=c;f[x>>2]=b;f[g>>2]=w;f[y>>2]=k;f[Z>>2]=d;f[_>>2]=p;f[m>>2]=v;f[N>>2]=f[(f[W>>2]|0)+4356>>2];a=f[(f[q>>2]|0)+4652>>2]|0;f[V>>2]=he()|0;s=h;h=h+((1*(a*1168|0)|0)+15&-16)|0;vs(s|0,0,(f[(f[q>>2]|0)+4652>>2]|0)*1168|0)|0;f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;f[Q>>2]=s+((f[D>>2]|0)*1168|0);f[(f[Q>>2]|0)+1156>>2]=(f[D>>2]|0)+(t[(f[E>>2]|0)+34>>0]|0)&3;f[(f[Q>>2]|0)+1160>>2]=f[(f[Q>>2]|0)+1156>>2];f[(f[Q>>2]|0)+1164>>2]=0;f[(f[Q>>2]|0)+1152>>2]=f[(f[W>>2]|0)+4352>>2];f[(f[Q>>2]|0)+960>>2]=f[(f[W>>2]|0)+1280+((f[(f[q>>2]|0)+4616>>2]|0)-1<<2)>>2];u=f[Q>>2]|0;k=(f[W>>2]|0)+3840|0;c=u+128|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));u=(f[Q>>2]|0)+1088|0;k=(f[W>>2]|0)+4288|0;c=u+64|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));f[D>>2]=(f[D>>2]|0)+1}f[F>>2]=n[24558+(t[(f[E>>2]|0)+29>>0]>>1<<2)+(t[(f[E>>2]|0)+30>>0]<<1)>>1];f[z>>2]=0;f[K>>2]=Wo(32,f[(f[q>>2]|0)+4612>>2]|0)|0;e:do{if((t[(f[E>>2]|0)+29>>0]|0)!=2){if((f[N>>2]|0)>0)f[K>>2]=Wo(f[K>>2]|0,(f[N>>2]|0)-2-1|0)|0}else{f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4604>>2]|0))break e;f[K>>2]=Wo(f[K>>2]|0,(f[(f[Z>>2]|0)+(f[D>>2]<<2)>>2]|0)-2-1|0)|0;f[D>>2]=(f[D>>2]|0)+1}}}while(0);if((t[(f[E>>2]|0)+31>>0]|0)==4)f[C>>2]=0;else f[C>>2]=1;u=h;h=h+((1*((f[(f[q>>2]|0)+4616>>2]|0)+(f[(f[q>>2]|0)+4608>>2]|0)<<2)|0)+15&-16)|0;k=h;h=h+((1*((f[(f[q>>2]|0)+4616>>2]|0)+(f[(f[q>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;c=h;h=h+((1*(f[(f[q>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;f[ee>>2]=(f[W>>2]|0)+(f[(f[q>>2]|0)+4616>>2]<<1);f[(f[W>>2]|0)+4364>>2]=f[(f[q>>2]|0)+4616>>2];f[(f[W>>2]|0)+4360>>2]=f[(f[q>>2]|0)+4616>>2];f[H>>2]=0;f[D>>2]=0;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4604>>2]|0))break;f[L>>2]=(f[S>>2]|0)+((f[D>>2]>>1|1-(f[C>>2]|0))<<4<<1);f[P>>2]=(f[R>>2]|0)+((f[D>>2]|0)*5<<1);f[O>>2]=(f[T>>2]|0)+(f[D>>2]<<4<<1);f[I>>2]=f[(f[M>>2]|0)+(f[D>>2]<<2)>>2]>>2;f[I>>2]=f[I>>2]|f[(f[M>>2]|0)+(f[D>>2]<<2)>>2]>>1<<16;f[(f[W>>2]|0)+4376>>2]=0;if((t[(f[E>>2]|0)+29>>0]|0)==2?(f[N>>2]=f[(f[Z>>2]|0)+(f[D>>2]<<2)>>2],(f[D>>2]&3-(f[C>>2]<<1)|0)==0):0){if((f[D>>2]|0)==2){f[U>>2]=f[s+1164>>2];f[B>>2]=0;f[X>>2]=1;while(1){if((f[X>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[s+((f[X>>2]|0)*1168|0)+1164>>2]|0)<(f[U>>2]|0)){f[U>>2]=f[s+((f[X>>2]|0)*1168|0)+1164>>2];f[B>>2]=f[X>>2]}f[X>>2]=(f[X>>2]|0)+1}f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[X>>2]|0)!=(f[B>>2]|0)){a=s+((f[X>>2]|0)*1168|0)+1164|0;f[a>>2]=(f[a>>2]|0)+134217727}f[X>>2]=(f[X>>2]|0)+1}f[Q>>2]=s+((f[B>>2]|0)*1168|0);f[$>>2]=(f[z>>2]|0)+(f[K>>2]|0);f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[K>>2]|0))break;f[$>>2]=(f[$>>2]|0)-1&31;t[(f[J>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0))>>0]=(f[(f[Q>>2]|0)+576+(f[$>>2]<<2)>>2]>>9)+1>>1;a=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;a=a+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((a+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<=32767){a=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;a=a+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((a+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<-32768)w=-32768;else{w=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0;w=w+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[(f[y>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;w=(w+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[(f[y>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1}}else w=32767;n[(f[ee>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0)<<1)>>1]=w;f[(f[W>>2]|0)+1280+((f[(f[W>>2]|0)+4364>>2]|0)-(f[K>>2]|0)+(f[X>>2]|0)<<2)>>2]=f[(f[Q>>2]|0)+960+(f[$>>2]<<2)>>2];f[X>>2]=(f[X>>2]|0)+1}f[H>>2]=0}f[Y>>2]=(f[(f[q>>2]|0)+4616>>2]|0)-(f[N>>2]|0)-(f[(f[q>>2]|0)+4664>>2]|0)-2;a=(f[Y>>2]|0)+(re(f[D>>2]|0,f[(f[q>>2]|0)+4612>>2]|0)|0)|0;za(k+(f[Y>>2]<<1)|0,(f[W>>2]|0)+(a<<1)|0,f[L>>2]|0,(f[(f[q>>2]|0)+4616>>2]|0)-(f[Y>>2]|0)|0,f[(f[q>>2]|0)+4664>>2]|0,f[(f[q>>2]|0)+5124>>2]|0);f[(f[W>>2]|0)+4360>>2]=f[(f[q>>2]|0)+4616>>2];f[(f[W>>2]|0)+4376>>2]=1}Zo(f[q>>2]|0,f[W>>2]|0,s,f[A>>2]|0,c,k,u,f[D>>2]|0,f[(f[q>>2]|0)+4652>>2]|0,f[m>>2]|0,f[y>>2]|0,f[Z>>2]|0,t[(f[E>>2]|0)+29>>0]|0,f[K>>2]|0);oe=f[W>>2]|0;ae=t[(f[E>>2]|0)+29>>0]|0;fe=f[J>>2]|0;ne=f[ee>>2]|0;te=f[L>>2]|0;w=f[P>>2]|0;v=f[O>>2]|0;p=f[N>>2]|0;r=f[I>>2]|0;l=f[(f[x>>2]|0)+(f[D>>2]<<2)>>2]|0;b=f[(f[g>>2]|0)+(f[D>>2]<<2)>>2]|0;d=f[(f[y>>2]|0)+(f[D>>2]<<2)>>2]|0;e=f[_>>2]|0;i=f[F>>2]|0;o=f[(f[q>>2]|0)+4612>>2]|0;a=f[H>>2]|0;f[H>>2]=a+1;pf(oe,s,ae,c,fe,ne,u,j,te,w,v,p,r,l,b,d,e,i,o,a,f[(f[q>>2]|0)+4660>>2]|0,f[(f[q>>2]|0)+4664>>2]|0,f[(f[q>>2]|0)+4704>>2]|0,f[(f[q>>2]|0)+4652>>2]|0,z,f[K>>2]|0);f[A>>2]=(f[A>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<2);f[J>>2]=(f[J>>2]|0)+(f[(f[q>>2]|0)+4612>>2]|0);f[ee>>2]=(f[ee>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<1);f[D>>2]=(f[D>>2]|0)+1}f[U>>2]=f[s+1164>>2];f[B>>2]=0;f[D>>2]=1;while(1){if((f[D>>2]|0)>=(f[(f[q>>2]|0)+4652>>2]|0))break;if((f[s+((f[D>>2]|0)*1168|0)+1164>>2]|0)<(f[U>>2]|0)){f[U>>2]=f[s+((f[D>>2]|0)*1168|0)+1164>>2];f[B>>2]=f[D>>2]}f[D>>2]=(f[D>>2]|0)+1}f[Q>>2]=s+((f[B>>2]|0)*1168|0);t[(f[E>>2]|0)+34>>0]=f[(f[Q>>2]|0)+1160>>2];f[$>>2]=(f[z>>2]|0)+(f[K>>2]|0);f[G>>2]=f[(f[y>>2]|0)+((f[(f[q>>2]|0)+4604>>2]|0)-1<<2)>>2]>>6;f[X>>2]=0;while(1){if((f[X>>2]|0)>=(f[K>>2]|0))break;f[$>>2]=(f[$>>2]|0)-1&31;t[(f[J>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0))>>0]=(f[(f[Q>>2]|0)+576+(f[$>>2]<<2)>>2]>>9)+1>>1;oe=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;oe=oe+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;if(((oe+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){oe=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;oe=oe+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;if(((oe+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)u=-32768;else{u=re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]>>16,(f[G>>2]&65535)<<16>>16)|0;u=u+((re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]&65535,(f[G>>2]&65535)<<16>>16)|0)>>16)|0;u=(u+(re(f[(f[Q>>2]|0)+704+(f[$>>2]<<2)>>2]|0,(f[G>>2]>>15)+1>>1)|0)>>7)+1>>1}}else u=32767;n[(f[ee>>2]|0)+((f[X>>2]|0)-(f[K>>2]|0)<<1)>>1]=u;f[(f[W>>2]|0)+1280+((f[(f[W>>2]|0)+4364>>2]|0)-(f[K>>2]|0)+(f[X>>2]|0)<<2)>>2]=f[(f[Q>>2]|0)+960+(f[$>>2]<<2)>>2];f[X>>2]=(f[X>>2]|0)+1}u=(f[W>>2]|0)+3840|0;k=(f[Q>>2]|0)+(f[(f[q>>2]|0)+4612>>2]<<2)|0;c=u+128|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));u=(f[W>>2]|0)+4288|0;k=(f[Q>>2]|0)+1088|0;c=u+64|0;do{f[u>>2]=f[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(c|0));f[(f[W>>2]|0)+4352>>2]=f[(f[Q>>2]|0)+1152>>2];f[(f[W>>2]|0)+4356>>2]=f[(f[Z>>2]|0)+((f[(f[q>>2]|0)+4604>>2]|0)-1<<2)>>2];ys(f[W>>2]|0,(f[W>>2]|0)+(f[(f[q>>2]|0)+4608>>2]<<1)|0,f[(f[q>>2]|0)+4616>>2]<<1|0)|0;ys((f[W>>2]|0)+1280|0,(f[W>>2]|0)+1280+(f[(f[q>>2]|0)+4608>>2]<<2)|0,f[(f[q>>2]|0)+4616>>2]<<2|0)|0;de(f[V>>2]|0);h=ie;return}function Wo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=h;h=h+16|0;t=n+4|0;i=n;f[t>>2]=e;f[i>>2]=r;h=n;return((f[t>>2]|0)<(f[i>>2]|0)?f[t>>2]|0:f[i>>2]|0)|0}function Zo(e,r,i,t,a,o,l,s,u,c,b,w,k,d){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;var p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0;j=h;h=h+96|0;p=j+80|0;v=j+76|0;m=j+72|0;E=j+68|0;A=j+64|0;S=j+60|0;R=j+56|0;T=j+52|0;M=j+48|0;x=j+44|0;g=j+40|0;D=j+36|0;y=j+32|0;_=j+28|0;L=j+24|0;C=j+20|0;U=j+16|0;O=j+12|0;I=j+8|0;P=j+4|0;B=j;f[p>>2]=e;f[v>>2]=r;f[m>>2]=i;f[E>>2]=t;f[A>>2]=a;f[S>>2]=o;f[R>>2]=l;f[T>>2]=s;f[M>>2]=u;f[x>>2]=c;f[g>>2]=b;f[D>>2]=w;f[y>>2]=k;f[_>>2]=d;f[U>>2]=f[(f[D>>2]|0)+(f[T>>2]<<2)>>2];if((f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0)>1)b=f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0;else b=1;f[I>>2]=Vo(b,47)|0;if((f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0)!=(f[(f[v>>2]|0)+4372>>2]|0))f[O>>2]=Go(f[(f[v>>2]|0)+4372>>2]|0,f[(f[g>>2]|0)+(f[T>>2]<<2)>>2]|0,16)|0;else f[O>>2]=65536;f[P>>2]=(f[I>>2]>>7)+1>>1;f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[p>>2]|0)+4612>>2]|0))break;D=re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]>>16,(f[P>>2]&65535)<<16>>16)|0;D=D+((re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]&65535,(f[P>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[(f[E>>2]|0)+(f[L>>2]<<2)>>2]|0,(f[P>>2]>>15)+1>>1)|0)|0;f[(f[A>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[(f[v>>2]|0)+4372>>2]=f[(f[g>>2]|0)+(f[T>>2]<<2)>>2];e:do{if(f[(f[v>>2]|0)+4376>>2]|0){if(!(f[T>>2]|0)){D=re(f[I>>2]>>16,(f[x>>2]&65535)<<16>>16)|0;f[I>>2]=D+((re(f[I>>2]&65535,(f[x>>2]&65535)<<16>>16)|0)>>16)<<2}f[L>>2]=(f[(f[v>>2]|0)+4360>>2]|0)-(f[U>>2]|0)-2;while(1){if((f[L>>2]|0)>=(f[(f[v>>2]|0)+4360>>2]|0))break e;D=re(f[I>>2]>>16,n[(f[S>>2]|0)+(f[L>>2]<<1)>>1]|0)|0;D=D+((re(f[I>>2]&65535,n[(f[S>>2]|0)+(f[L>>2]<<1)>>1]|0)|0)>>16)|0;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}}}while(0);if((f[O>>2]|0)==65536){h=j;return}f[L>>2]=(f[(f[v>>2]|0)+4364>>2]|0)-(f[(f[p>>2]|0)+4616>>2]|0);while(1){if((f[L>>2]|0)>=(f[(f[v>>2]|0)+4364>>2]|0))break;D=re(f[O>>2]>>16,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[v>>2]|0)+1280+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}e:do{if((f[y>>2]|0)==2?(f[(f[v>>2]|0)+4376>>2]|0)==0:0){f[L>>2]=(f[(f[v>>2]|0)+4360>>2]|0)-(f[U>>2]|0)-2;while(1){if((f[L>>2]|0)>=((f[(f[v>>2]|0)+4360>>2]|0)-(f[_>>2]|0)|0))break e;D=re(f[O>>2]>>16,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[R>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}}}while(0);f[C>>2]=0;while(1){if((f[C>>2]|0)>=(f[M>>2]|0))break;f[B>>2]=(f[m>>2]|0)+((f[C>>2]|0)*1168|0);D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+1152>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+1152>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+1152>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+1152>>2]=D;f[L>>2]=0;while(1){if((f[L>>2]|0)>=32)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=16)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+1088+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[L>>2]=0;while(1){if((f[L>>2]|0)>=32)break;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+832+(f[L>>2]<<2)>>2]=D;D=re(f[O>>2]>>16,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0;D=D+((re(f[O>>2]&65535,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;D=D+(re(f[O>>2]|0,(f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]>>15)+1>>1)|0)|0;f[(f[B>>2]|0)+960+(f[L>>2]<<2)>>2]=D;f[L>>2]=(f[L>>2]|0)+1}f[C>>2]=(f[C>>2]|0)+1}h=j;return}function Vo(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0;o=h;h=h+48|0;n=o+32|0;b=o+28|0;i=o+24|0;l=o+20|0;a=o+16|0;s=o+12|0;c=o+8|0;u=o+4|0;t=o;f[b>>2]=e;f[i>>2]=r;r=f[b>>2]|0;f[l>>2]=(Jo((f[b>>2]|0)>0?r:0-r|0)|0)-1;f[c>>2]=f[b>>2]<>2];f[s>>2]=536870911/(f[c>>2]>>16|0)|0;f[t>>2]=f[s>>2]<<16;r=re(f[c>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;f[u>>2]=536870912-(r+((re(f[c>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))<<3;r=re(f[u>>2]>>16,(f[s>>2]&65535)<<16>>16)|0;r=(f[t>>2]|0)+(r+((re(f[u>>2]&65535,(f[s>>2]&65535)<<16>>16)|0)>>16))|0;f[t>>2]=r+(re(f[u>>2]|0,(f[s>>2]>>15)+1>>1)|0);f[a>>2]=61-(f[l>>2]|0)-(f[i>>2]|0);r=f[a>>2]|0;if((f[a>>2]|0)>0)if((r|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];b=f[n>>2]|0;h=o;return b|0}else{f[n>>2]=0;b=f[n>>2]|0;h=o;return b|0}e=f[t>>2]|0;i=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-r|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>i|0)){r=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){r=2147483647>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>i|0)){r=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){r=-2147483648>>0-(f[a>>2]|0);break}else{r=f[t>>2]|0;break}}}while(0);f[n>>2]=r<<0-(f[a>>2]|0);b=f[n>>2]|0;h=o;return b|0}function Jo(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;if(!(f[r>>2]|0)){e=32;h=i;return e|0}e=32-(32-(te(f[r>>2]|0)|0))|0;h=i;return e|0}function Go(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;o=h;h=h+48|0;n=o+40|0;d=o+36|0;k=o+32|0;l=o+28|0;u=o+24|0;s=o+20|0;a=o+16|0;c=o+12|0;b=o+8|0;w=o+4|0;t=o;f[d>>2]=e;f[k>>2]=r;f[l>>2]=i;r=f[d>>2]|0;f[u>>2]=(Jo((f[d>>2]|0)>0?r:0-r|0)|0)-1;f[b>>2]=f[d>>2]<>2];r=f[k>>2]|0;f[s>>2]=(Jo((f[k>>2]|0)>0?r:0-r|0)|0)-1;f[w>>2]=f[k>>2]<>2];f[c>>2]=536870911/(f[w>>2]>>16|0)|0;r=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=r+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16);r=f[b>>2]|0;e=f[w>>2]|0;i=f[t>>2]|0;i=Ms(e|0,((e|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=ps(i|0,L|0,32)|0;f[b>>2]=r-(i<<3);i=re(f[b>>2]>>16,(f[c>>2]&65535)<<16>>16)|0;f[t>>2]=(f[t>>2]|0)+(i+((re(f[b>>2]&65535,(f[c>>2]&65535)<<16>>16)|0)>>16));f[a>>2]=29+(f[u>>2]|0)-(f[s>>2]|0)-(f[l>>2]|0);i=f[a>>2]|0;if((f[a>>2]|0)>=0)if((i|0)<32){f[n>>2]=f[t>>2]>>f[a>>2];d=f[n>>2]|0;h=o;return d|0}else{f[n>>2]=0;d=f[n>>2]|0;h=o;return d|0}e=f[t>>2]|0;r=0-(f[a>>2]|0)|0;do{if((-2147483648>>0-i|0)>(2147483647>>0-(f[a>>2]|0)|0)){if((e|0)>(-2147483648>>r|0)){i=-2147483648>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(2147483647>>0-(f[a>>2]|0)|0)){i=2147483647>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}else{if((e|0)>(2147483647>>r|0)){i=2147483647>>0-(f[a>>2]|0);break}if((f[t>>2]|0)<(-2147483648>>0-(f[a>>2]|0)|0)){i=-2147483648>>0-(f[a>>2]|0);break}else{i=f[t>>2]|0;break}}}while(0);f[n>>2]=i<<0-(f[a>>2]|0);d=f[n>>2]|0;h=o;return d|0}function Ko(e,r,i){e=e|0;r=+r;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;t=u+16|0;n=u+12|0;a=u+8|0;l=u+4|0;o=u;f[t>>2]=e;s[n>>2]=r;f[a>>2]=i;f[o>>2]=f[a>>2]&65532;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;i=(f[t>>2]|0)+((f[l>>2]|0)+0<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+1<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+2<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];i=(f[t>>2]|0)+((f[l>>2]|0)+3<<2)|0;s[i>>2]=+s[i>>2]*+s[n>>2];f[l>>2]=(f[l>>2]|0)+4}while(1){if((f[l>>2]|0)>=(f[a>>2]|0))break;o=(f[t>>2]|0)+(f[l>>2]<<2)|0;s[o>>2]=+s[o>>2]*+s[n>>2];f[l>>2]=(f[l>>2]|0)+1}h=u;return}function Xo(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0;k=h;h=h+176|0;t=k+168|0;n=k+164|0;a=k+160|0;c=k+156|0;b=k+152|0;o=k+16|0;l=k+8|0;u=k+4|0;w=k;f[t>>2]=e;f[n>>2]=r;f[a>>2]=i;f[c>>2]=0;while(1){if((f[c>>2]|0)>=((f[a>>2]|0)+1|0))break;d=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];s[o+(f[c>>2]<<3)+4>>2]=d;s[o+(f[c>>2]<<3)>>2]=d;f[c>>2]=(f[c>>2]|0)+1}f[c>>2]=0;while(1){if((f[c>>2]|0)>=(f[a>>2]|0))break;s[w>>2]=-+s[o+((f[c>>2]|0)+1<<3)>>2]/(+s[o+4>>2]>9.999999717180685e-10?+s[o+4>>2]:9.999999717180685e-10);s[(f[t>>2]|0)+(f[c>>2]<<2)>>2]=+s[w>>2];f[b>>2]=0;while(1){if((f[b>>2]|0)>=((f[a>>2]|0)-(f[c>>2]|0)|0))break;s[l>>2]=+s[o+((f[b>>2]|0)+(f[c>>2]|0)+1<<3)>>2];s[u>>2]=+s[o+(f[b>>2]<<3)+4>>2];s[o+((f[b>>2]|0)+(f[c>>2]|0)+1<<3)>>2]=+s[l>>2]+ +s[u>>2]*+s[w>>2];s[o+(f[b>>2]<<3)+4>>2]=+s[u>>2]+ +s[l>>2]*+s[w>>2];f[b>>2]=(f[b>>2]|0)+1}f[c>>2]=(f[c>>2]|0)+1}h=k;return+ +s[o+4>>2]}function $o(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;n=w+24|0;a=w+20|0;o=w+16|0;l=w+12|0;b=w+8|0;u=w+4|0;c=w;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;f[l>>2]=t;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;f[(f[a>>2]|0)+(f[u>>2]<<2)>>2]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=1;while(1){if((f[u>>2]|0)>=(f[l>>2]|0))break;s[b>>2]=+s[(f[n>>2]|0)+(f[u>>2]<<2)>>2];f[c>>2]=(f[u>>2]|0)-1;while(1){if((f[c>>2]|0)<0)break;if(!(+s[b>>2]>+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]))break;s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[b>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[u>>2];f[u>>2]=(f[u>>2]|0)+1}f[u>>2]=f[l>>2];while(1){if((f[u>>2]|0)>=(f[o>>2]|0))break;s[b>>2]=+s[(f[n>>2]|0)+(f[u>>2]<<2)>>2];if(+s[b>>2]>+s[(f[n>>2]|0)+((f[l>>2]|0)-1<<2)>>2]){f[c>>2]=(f[l>>2]|0)-2;while(1){if((f[c>>2]|0)<0)break;if(!(+s[b>>2]>+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2]))break;s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[(f[n>>2]|0)+(f[c>>2]<<2)>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[(f[a>>2]|0)+(f[c>>2]<<2)>>2];f[c>>2]=(f[c>>2]|0)+-1}s[(f[n>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=+s[b>>2];f[(f[a>>2]|0)+((f[c>>2]|0)+1<<2)>>2]=f[u>>2]}f[u>>2]=(f[u>>2]|0)+1}h=w;return}function Qo(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;R=h;h=h+80|0;a=R+64|0;o=R+60|0;l=R+56|0;u=R+52|0;b=R+48|0;p=R+44|0;E=R+40|0;c=R+36|0;A=R+32|0;w=R+28|0;m=R+24|0;d=R+20|0;v=R+16|0;_=R+12|0;y=R+8|0;k=R+4|0;g=R;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[u>>2]=t;if(!((((f[l>>2]|0)<1|(f[o>>2]|0)<1)^1)&(f[a>>2]|0)!=0&(f[u>>2]|0)!=0)){h=R;return}f[p>>2]=0;while(1){if((f[p>>2]|0)>=(re(f[o>>2]|0,f[l>>2]|0)|0))break;if(2<+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2])n=2;else n=+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2];if(!(-2>n))if(2<+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2])n=2;else n=+s[(f[a>>2]|0)+(f[p>>2]<<2)>>2];else n=-2;s[(f[a>>2]|0)+(f[p>>2]<<2)>>2]=n;f[p>>2]=(f[p>>2]|0)+1}f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[l>>2]|0))break;f[E>>2]=(f[a>>2]|0)+(f[b>>2]<<2);s[c>>2]=+s[(f[u>>2]|0)+(f[b>>2]<<2)>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[o>>2]|0))break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]*+s[c>>2]>=0)break;i=re(f[p>>2]|0,f[l>>2]|0)|0;r=re(f[p>>2]|0,f[l>>2]|0)|0;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=+s[(f[E>>2]|0)+(i<<2)>>2]+ +s[c>>2]*+s[(f[E>>2]|0)+(r<<2)>>2]*+s[(f[E>>2]|0)+(e<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[w>>2]=0;s[A>>2]=+s[f[E>>2]>>2];do{f[_>>2]=0;f[p>>2]=f[w>>2];while(1){if((f[p>>2]|0)>=(f[o>>2]|0))break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]>1)break;t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]<-1)break;f[p>>2]=(f[p>>2]|0)+1}if((f[p>>2]|0)==(f[o>>2]|0)){S=23;break}f[y>>2]=f[p>>2];t=f[p>>2]|0;f[d>>2]=t;f[m>>2]=t;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[v>>2]=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);while(1){if((f[m>>2]|0)<=0)break;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re((f[m>>2]|0)-1|0,f[l>>2]|0)|0;if(!(+s[(f[E>>2]|0)+(e<<2)>>2]*+s[(f[E>>2]|0)+(t<<2)>>2]>=0))break;f[m>>2]=(f[m>>2]|0)+-1}while(1){if((f[d>>2]|0)>=(f[o>>2]|0))break;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[d>>2]|0,f[l>>2]|0)|0;if(!(+s[(f[E>>2]|0)+(e<<2)>>2]*+s[(f[E>>2]|0)+(t<<2)>>2]>=0))break;t=re(f[d>>2]|0,f[l>>2]|0)|0;n=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);if(n>+s[v>>2]){t=re(f[d>>2]|0,f[l>>2]|0)|0;s[v>>2]=+Y(+ +s[(f[E>>2]|0)+(t<<2)>>2]);f[y>>2]=f[d>>2]}f[d>>2]=(f[d>>2]|0)+1}if(!(f[m>>2]|0)){i=re(f[p>>2]|0,f[l>>2]|0)|0;i=+s[(f[E>>2]|0)+(i<<2)>>2]*+s[f[E>>2]>>2]>=0}else i=0;f[_>>2]=i&1;s[c>>2]=(+s[v>>2]-1)/(+s[v>>2]*+s[v>>2]);t=re(f[p>>2]|0,f[l>>2]|0)|0;if(+s[(f[E>>2]|0)+(t<<2)>>2]>0)s[c>>2]=-+s[c>>2];f[p>>2]=f[m>>2];while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break;i=re(f[p>>2]|0,f[l>>2]|0)|0;r=re(f[p>>2]|0,f[l>>2]|0)|0;e=re(f[p>>2]|0,f[l>>2]|0)|0;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=+s[(f[E>>2]|0)+(i<<2)>>2]+ +s[c>>2]*+s[(f[E>>2]|0)+(r<<2)>>2]*+s[(f[E>>2]|0)+(e<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}e:do{if((f[_>>2]|0)!=0&(f[y>>2]|0)>=2){s[g>>2]=+s[A>>2]-+s[f[E>>2]>>2];s[k>>2]=+s[g>>2]/+(f[y>>2]|0);f[p>>2]=f[w>>2];while(1){if((f[p>>2]|0)>=(f[y>>2]|0))break e;s[g>>2]=+s[g>>2]-+s[k>>2];t=re(f[p>>2]|0,f[l>>2]|0)|0;t=(f[E>>2]|0)+(t<<2)|0;s[t>>2]=+s[t>>2]+ +s[g>>2];t=re(f[p>>2]|0,f[l>>2]|0)|0;if(1<+s[(f[E>>2]|0)+(t<<2)>>2])n=1;else{t=re(f[p>>2]|0,f[l>>2]|0)|0;n=+s[(f[E>>2]|0)+(t<<2)>>2]}if(!(-1>n)){t=re(f[p>>2]|0,f[l>>2]|0)|0;if(1<+s[(f[E>>2]|0)+(t<<2)>>2])n=1;else{t=re(f[p>>2]|0,f[l>>2]|0)|0;n=+s[(f[E>>2]|0)+(t<<2)>>2]}}else n=-1;t=re(f[p>>2]|0,f[l>>2]|0)|0;s[(f[E>>2]|0)+(t<<2)>>2]=n;f[p>>2]=(f[p>>2]|0)+1}}}while(0);f[w>>2]=f[d>>2]}while((f[w>>2]|0)!=(f[o>>2]|0));if((S|0)==23){S=0;s[c>>2]=0}s[(f[u>>2]|0)+(f[b>>2]<<2)>>2]=+s[c>>2];f[b>>2]=(f[b>>2]|0)+1}h=R;return}function el(e,r){e=e|0;r=r|0;var i=0,n=0,o=0,l=0;l=h;h=h+16|0;i=l+8|0;n=l+4|0;o=l;f[n>>2]=e;f[o>>2]=r;r=f[n>>2]|0;if((f[n>>2]|0)<252){t[f[o>>2]>>0]=r;f[i>>2]=1;o=f[i>>2]|0;h=l;return o|0}else{t[f[o>>2]>>0]=252+(r&3);t[(f[o>>2]|0)+1>>0]=(f[n>>2]|0)-(a[f[o>>2]>>0]|0)>>2;f[i>>2]=2;o=f[i>>2]|0;h=l;return o|0}return 0}function rl(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0;o=h;h=h+16|0;i=o+8|0;t=o+4|0;n=o;f[i>>2]=e;f[t>>2]=r;r=a[f[i>>2]>>0]|0;if((a[f[i>>2]>>0]|0)&128|0){f[n>>2]=r>>3&3;f[n>>2]=(f[t>>2]<>2]|0)/400|0;n=f[n>>2]|0;h=o;return n|0}e=a[f[i>>2]>>0]|0;if((r&96|0)!=96){f[n>>2]=e>>3&3;r=f[t>>2]|0;if((f[n>>2]|0)==3){f[n>>2]=(r*60|0)/1e3|0;n=f[n>>2]|0;h=o;return n|0}else{f[n>>2]=(r<>2]|0)/100|0;n=f[n>>2]|0;h=o;return n|0}}else{r=f[t>>2]|0;if(e&8|0)r=(r|0)/50|0;else r=(r|0)/100|0;f[n>>2]=r;n=f[n>>2]|0;h=o;return n|0}return 0}function il(e,r,i,o,l,s,u,c){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0;U=h;h=h+80|0;b=U+72|0;w=U+68|0;k=U+64|0;d=U+60|0;p=U+56|0;v=U+52|0;g=U+48|0;y=U+44|0;_=U+40|0;M=U+36|0;m=U+32|0;S=U+28|0;E=U+24|0;A=U+77|0;I=U+76|0;T=U+20|0;x=U+16|0;L=U+12|0;R=U+8|0;O=U+4|0;P=U;f[w>>2]=e;f[k>>2]=r;f[d>>2]=i;f[p>>2]=o;f[v>>2]=l;f[g>>2]=s;f[y>>2]=u;f[_>>2]=c;f[L>>2]=0;f[R>>2]=f[w>>2];if(!(f[g>>2]|0)){f[b>>2]=-1;C=f[b>>2]|0;h=U;return C|0}f[T>>2]=rl(f[w>>2]|0,48e3)|0;f[E>>2]=0;s=f[w>>2]|0;f[w>>2]=s+1;t[I>>0]=t[s>>0]|0;f[k>>2]=(f[k>>2]|0)+-1;f[x>>2]=f[k>>2];e:do{switch(a[I>>0]&3|0){case 0:{f[S>>2]=1;break}case 1:{f[S>>2]=2;f[E>>2]=1;if(!(f[d>>2]|0)){if(!(f[k>>2]&1)){f[x>>2]=(f[k>>2]|0)/2|0;n[f[g>>2]>>1]=f[x>>2];break e}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}break}case 2:{f[S>>2]=2;f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,f[g>>2]|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[f[g>>2]>>1]|0)>=0?(n[f[g>>2]>>1]|0)<=(f[k>>2]|0):0){f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);f[x>>2]=(f[k>>2]|0)-(n[f[g>>2]>>1]|0);break e}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}default:{if((f[k>>2]|0)<1){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}s=f[w>>2]|0;f[w>>2]=s+1;t[A>>0]=t[s>>0]|0;f[S>>2]=a[A>>0]&63;if((f[S>>2]|0)>0?(re(f[T>>2]|0,f[S>>2]|0)|0)<=5760:0){f[k>>2]=(f[k>>2]|0)+-1;r:do{if(a[A>>0]&64|0){while(1){if((f[k>>2]|0)<=0)break;s=f[w>>2]|0;f[w>>2]=s+1;f[O>>2]=a[s>>0];f[k>>2]=(f[k>>2]|0)+-1;f[P>>2]=(f[O>>2]|0)==255?254:f[O>>2]|0;f[k>>2]=(f[k>>2]|0)-(f[P>>2]|0);f[L>>2]=(f[L>>2]|0)+(f[P>>2]|0);if((f[O>>2]|0)!=255)break r}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}while(0);if((f[k>>2]|0)<0){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[E>>2]=((a[A>>0]&128|0)!=0^1)&1;if(f[E>>2]|0){if(f[d>>2]|0)break e;f[x>>2]=(f[k>>2]|0)/(f[S>>2]|0)|0;C=re(f[x>>2]|0,f[S>>2]|0)|0;if((C|0)!=(f[k>>2]|0)){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break e;n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]=f[x>>2];f[M>>2]=(f[M>>2]|0)+1}}f[x>>2]=f[k>>2];f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break;f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,(f[g>>2]|0)+(f[M>>2]<<1)|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0)<0){C=29;break}if((n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0)>(f[k>>2]|0)){C=29;break}f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);f[x>>2]=(f[x>>2]|0)-((f[m>>2]|0)+(n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0));f[M>>2]=(f[M>>2]|0)+1}if((C|0)==29){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}if((f[x>>2]|0)>=0)break e;f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}}while(0);e:do{if(f[d>>2]|0){f[m>>2]=tl(f[w>>2]|0,f[k>>2]|0,(f[g>>2]|0)+(f[S>>2]<<1)+-2|0)|0;f[k>>2]=(f[k>>2]|0)-(f[m>>2]|0);if((n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)>=0?(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)<=(f[k>>2]|0):0){f[w>>2]=(f[w>>2]|0)+(f[m>>2]|0);if(!(f[E>>2]|0)){if(((f[m>>2]|0)+(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0)|0)<=(f[x>>2]|0))break;f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}C=re(n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0,f[S>>2]|0)|0;if((C|0)>(f[k>>2]|0)){f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}f[M>>2]=0;while(1){if((f[M>>2]|0)>=((f[S>>2]|0)-1|0))break e;n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]=n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]|0;f[M>>2]=(f[M>>2]|0)+1}}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}else{if((f[x>>2]|0)<=1275){n[(f[g>>2]|0)+((f[S>>2]|0)-1<<1)>>1]=f[x>>2];break}f[b>>2]=-4;C=f[b>>2]|0;h=U;return C|0}}while(0);if(f[y>>2]|0)f[f[y>>2]>>2]=(f[w>>2]|0)-(f[R>>2]|0);f[M>>2]=0;while(1){if((f[M>>2]|0)>=(f[S>>2]|0))break;if(f[v>>2]|0)f[(f[v>>2]|0)+(f[M>>2]<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+(n[(f[g>>2]|0)+(f[M>>2]<<1)>>1]|0);f[M>>2]=(f[M>>2]|0)+1}if(f[_>>2]|0)f[f[_>>2]>>2]=(f[L>>2]|0)+((f[w>>2]|0)-(f[R>>2]|0));if(f[p>>2]|0)t[f[p>>2]>>0]=t[I>>0]|0;f[b>>2]=f[S>>2];C=f[b>>2]|0;h=U;return C|0}function tl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,o=0,l=0,s=0,u=0;u=h;h=h+16|0;t=u+12|0;o=u+8|0;l=u+4|0;s=u;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;if((f[l>>2]|0)<1){n[f[s>>2]>>1]=-1;f[t>>2]=-1;i=f[t>>2]|0;h=u;return i|0}if((a[f[o>>2]>>0]|0|0)<252){n[f[s>>2]>>1]=a[f[o>>2]>>0]|0;f[t>>2]=1;i=f[t>>2]|0;h=u;return i|0}if((f[l>>2]|0)<2){n[f[s>>2]>>1]=-1;f[t>>2]=-1;i=f[t>>2]|0;h=u;return i|0}else{n[f[s>>2]>>1]=((a[(f[o>>2]|0)+1>>0]|0)<<2)+(a[f[o>>2]>>0]|0);f[t>>2]=2;i=f[t>>2]|0;h=u;return i|0}return 0}function nl(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;t=o+4|0;n=o;f[i>>2]=e;if((f[i>>2]|0)<1|(f[i>>2]|0)>2){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}f[n>>2]=co(a)|0;if(f[n>>2]|0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}else{f[a>>2]=fl(f[a>>2]|0)|0;f[t>>2]=hf(f[i>>2]|0)|0;n=fl(88)|0;f[r>>2]=n+(f[a>>2]|0)+(f[t>>2]|0);a=f[r>>2]|0;h=o;return a|0}return 0}function fl(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;t=r+4|0;i=r;f[t>>2]=e;f[i>>2]=4;e=re((((f[t>>2]|0)+(f[i>>2]|0)-1|0)>>>0)/((f[i>>2]|0)>>>0)|0,f[i>>2]|0)|0;h=r;return e|0}function al(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+48|0;b=w;t=w+32|0;n=w+28|0;a=w+24|0;o=w+20|0;c=w+16|0;l=w+12|0;s=w+8|0;u=w+4|0;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if(!((f[a>>2]|0)!=48e3&(f[a>>2]|0)!=24e3&(f[a>>2]|0)!=16e3&(f[a>>2]|0)!=12e3&(f[a>>2]|0)!=8e3)?!((f[o>>2]|0)!=1&(f[o>>2]|0)!=2):0){e=f[n>>2]|0;vs(e|0,0,nl(f[o>>2]|0)|0)|0;f[s>>2]=co(u)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}f[u>>2]=fl(f[u>>2]|0)|0;e=fl(88)|0;f[(f[n>>2]|0)+4>>2]=e;f[f[n>>2]>>2]=(f[(f[n>>2]|0)+4>>2]|0)+(f[u>>2]|0);f[c>>2]=(f[n>>2]|0)+(f[(f[n>>2]|0)+4>>2]|0);f[l>>2]=(f[n>>2]|0)+(f[f[n>>2]>>2]|0);e=f[o>>2]|0;f[(f[n>>2]|0)+8>>2]=e;f[(f[n>>2]|0)+48>>2]=e;f[(f[n>>2]|0)+12>>2]=f[a>>2];f[(f[n>>2]|0)+16+8>>2]=f[(f[n>>2]|0)+12>>2];f[(f[n>>2]|0)+16>>2]=f[(f[n>>2]|0)+8>>2];f[s>>2]=bo(f[c>>2]|0)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}f[s>>2]=bf(f[l>>2]|0,f[a>>2]|0,f[o>>2]|0)|0;if(f[s>>2]|0){f[t>>2]=-3;b=f[t>>2]|0;h=w;return b|0}else{e=f[l>>2]|0;f[b>>2]=0;df(e,10016,b)|0;f[(f[n>>2]|0)+60>>2]=0;f[(f[n>>2]|0)+64>>2]=(f[a>>2]|0)/400|0;b=ol()|0;f[(f[n>>2]|0)+44>>2]=b;f[t>>2]=0;b=f[t>>2]|0;h=w;return b|0}}f[t>>2]=-1;b=f[t>>2]|0;h=w;return b|0}function ol(){return 0}function ll(e,r,i,t,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0;N=h;h=h+208|0;P=N+88|0;I=N+84|0;b=N+80|0;w=N+76|0;C=N+72|0;U=N+68|0;k=N+64|0;d=N+60|0;p=N+56|0;v=N+52|0;_=N+48|0;m=N+44|0;g=N+40|0;E=N+36|0;L=N+192|0;S=N+32|0;A=N+28|0;R=N+24|0;T=N+20|0;O=N+96|0;B=N+16|0;j=N+12|0;y=N+8|0;M=N+4|0;x=N;f[I>>2]=e;f[b>>2]=r;f[w>>2]=i;f[C>>2]=t;f[U>>2]=a;f[k>>2]=o;f[d>>2]=l;f[p>>2]=u;f[v>>2]=c;if((f[k>>2]|0)<0|(f[k>>2]|0)>1){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}if((f[k>>2]|0)!=0|(f[w>>2]|0)==0|(f[b>>2]|0)==0?(f[U>>2]|0)%((f[(f[I>>2]|0)+12>>2]|0)/400|0|0)|0|0:0){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}if((f[w>>2]|0)==0|(f[b>>2]|0)==0){f[B>>2]=0;while(1){b=(f[C>>2]|0)+((re(f[B>>2]|0,f[(f[I>>2]|0)+8>>2]|0)|0)<<2)|0;f[j>>2]=sl(f[I>>2]|0,0,0,b,(f[U>>2]|0)-(f[B>>2]|0)|0,0)|0;b=f[j>>2]|0;if((f[j>>2]|0)<0){D=9;break}f[B>>2]=(f[B>>2]|0)+b;if((f[B>>2]|0)>=(f[U>>2]|0)){D=11;break}}if((D|0)==9){f[P>>2]=b;D=f[P>>2]|0;h=N;return D|0}else if((D|0)==11){cl()|0;f[(f[I>>2]|0)+72>>2]=f[B>>2];f[P>>2]=f[B>>2];D=f[P>>2]|0;h=N;return D|0}}if((f[w>>2]|0)<0){f[P>>2]=-1;D=f[P>>2]|0;h=N;return D|0}f[R>>2]=bl(f[b>>2]|0)|0;f[A>>2]=wl(f[b>>2]|0)|0;f[S>>2]=rl(f[b>>2]|0,f[(f[I>>2]|0)+12>>2]|0)|0;f[T>>2]=kl(f[b>>2]|0)|0;f[g>>2]=il(f[b>>2]|0,f[w>>2]|0,f[d>>2]|0,L,0,O,E,f[p>>2]|0)|0;if((f[g>>2]|0)<0){f[P>>2]=f[g>>2];D=f[P>>2]|0;h=N;return D|0}f[b>>2]=(f[b>>2]|0)+(f[E>>2]|0);if(f[k>>2]|0){if(!((f[R>>2]|0)==1002?1:(f[U>>2]|0)<(f[S>>2]|0))?(f[(f[I>>2]|0)+56>>2]|0)!=1002:0){f[y>>2]=f[(f[I>>2]|0)+72>>2];if((f[U>>2]|0)-(f[S>>2]|0)|0?(f[M>>2]=ll(f[I>>2]|0,0,0,f[C>>2]|0,(f[U>>2]|0)-(f[S>>2]|0)|0,0,0,0,f[v>>2]|0)|0,(f[M>>2]|0)<0):0){f[(f[I>>2]|0)+72>>2]=f[y>>2];f[P>>2]=f[M>>2];D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+56>>2]=f[R>>2];f[(f[I>>2]|0)+52>>2]=f[A>>2];f[(f[I>>2]|0)+64>>2]=f[S>>2];f[(f[I>>2]|0)+48>>2]=f[T>>2];D=(f[C>>2]|0)+((re(f[(f[I>>2]|0)+8>>2]|0,(f[U>>2]|0)-(f[S>>2]|0)|0)|0)<<2)|0;f[M>>2]=sl(f[I>>2]|0,f[b>>2]|0,n[O>>1]|0,D,f[S>>2]|0,1)|0;if((f[M>>2]|0)<0){f[P>>2]=f[M>>2];D=f[P>>2]|0;h=N;return D|0}else{cl()|0;f[(f[I>>2]|0)+72>>2]=f[U>>2];f[P>>2]=f[U>>2];D=f[P>>2]|0;h=N;return D|0}}f[P>>2]=ll(f[I>>2]|0,0,0,f[C>>2]|0,f[U>>2]|0,0,0,0,f[v>>2]|0)|0;D=f[P>>2]|0;h=N;return D|0}j=re(f[g>>2]|0,f[S>>2]|0)|0;if((j|0)>(f[U>>2]|0)){f[P>>2]=-2;D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+56>>2]=f[R>>2];f[(f[I>>2]|0)+52>>2]=f[A>>2];f[(f[I>>2]|0)+64>>2]=f[S>>2];f[(f[I>>2]|0)+48>>2]=f[T>>2];f[m>>2]=0;f[_>>2]=0;while(1){if((f[_>>2]|0)>=(f[g>>2]|0))break;j=(f[C>>2]|0)+((re(f[m>>2]|0,f[(f[I>>2]|0)+8>>2]|0)|0)<<2)|0;f[x>>2]=sl(f[I>>2]|0,f[b>>2]|0,n[O+(f[_>>2]<<1)>>1]|0,j,(f[U>>2]|0)-(f[m>>2]|0)|0,0)|0;if((f[x>>2]|0)<0){D=31;break}f[b>>2]=(f[b>>2]|0)+(n[O+(f[_>>2]<<1)>>1]|0);f[m>>2]=(f[m>>2]|0)+(f[x>>2]|0);f[_>>2]=(f[_>>2]|0)+1}if((D|0)==31){f[P>>2]=f[x>>2];D=f[P>>2]|0;h=N;return D|0}f[(f[I>>2]|0)+72>>2]=f[m>>2];cl()|0;if(f[v>>2]|0)Qo(f[C>>2]|0,f[m>>2]|0,f[(f[I>>2]|0)+8>>2]|0,(f[I>>2]|0)+76|0);else{s[(f[I>>2]|0)+76+4>>2]=0;s[(f[I>>2]|0)+76>>2]=0}f[P>>2]=f[m>>2];D=f[P>>2]|0;h=N;return D|0}function sl(e,r,i,a,o,l){e=e|0;r=r|0;i=i|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ye=0;ye=h;h=h+320|0;fe=ye+80|0;ne=ye+72|0;te=ye+64|0;ie=ye+56|0;ee=ye+48|0;Q=ye+40|0;X=ye+32|0;K=ye+24|0;G=ye+16|0;A=ye+8|0;E=ye;ke=ye+308|0;pe=ye+304|0;R=ye+300|0;T=ye+296|0;le=ye+292|0;se=ye+288|0;M=ye+284|0;g=ye+280|0;I=ye+276|0;N=ye+272|0;_=ye+268|0;we=ye+264|0;j=ye+216|0;y=ye+212|0;w=ye+208|0;S=ye+204|0;c=ye+200|0;z=ye+196|0;q=ye+192|0;ve=ye+188|0;F=ye+184|0;J=ye+180|0;V=ye+176|0;Y=ye+172|0;H=ye+168|0;B=ye+164|0;L=ye+160|0;x=ye+156|0;O=ye+152|0;b=ye+148|0;be=ye+144|0;ae=ye+140|0;W=ye+136|0;P=ye+132|0;u=ye+128|0;ue=ye+124|0;ce=ye+120|0;p=ye+116|0;k=ye+112|0;v=ye+108|0;d=ye+104|0;m=ye+100|0;C=ye+96|0;Z=ye+312|0;U=ye+92|0;D=ye+88|0;oe=ye+84|0;f[pe>>2]=e;f[R>>2]=r;f[T>>2]=i;f[le>>2]=a;f[se>>2]=o;f[M>>2]=l;f[_>>2]=0;f[we>>2]=0;f[z>>2]=0;f[J>>2]=0;f[Y>>2]=0;f[H>>2]=0;f[B>>2]=0;f[W>>2]=0;f[g>>2]=(f[pe>>2]|0)+(f[(f[pe>>2]|0)+4>>2]|0);f[I>>2]=(f[pe>>2]|0)+(f[f[pe>>2]>>2]|0);f[be>>2]=(f[(f[pe>>2]|0)+12>>2]|0)/50|0;f[b>>2]=f[be>>2]>>1;f[O>>2]=f[b>>2]>>1;f[x>>2]=f[O>>2]>>1;if((f[se>>2]|0)<(f[x>>2]|0)){f[ke>>2]=-2;ve=f[ke>>2]|0;h=ye;return ve|0}if((f[se>>2]|0)<(((f[(f[pe>>2]|0)+12>>2]|0)/25|0)*3|0))r=f[se>>2]|0;else r=((f[(f[pe>>2]|0)+12>>2]|0)/25|0)*3|0;f[se>>2]=r;if((f[T>>2]|0)<=1){f[R>>2]=0;if((f[se>>2]|0)<(f[(f[pe>>2]|0)+64>>2]|0))r=f[se>>2]|0;else r=f[(f[pe>>2]|0)+64>>2]|0;f[se>>2]=r}do{if(!(f[R>>2]|0)){f[ve>>2]=f[se>>2];f[F>>2]=f[(f[pe>>2]|0)+60>>2];if(!(f[F>>2]|0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[ve>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=0;f[N>>2]=(f[N>>2]|0)+1}f[ke>>2]=f[ve>>2];ve=f[ke>>2]|0;h=ye;return ve|0}if((f[ve>>2]|0)>(f[be>>2]|0)){while(1){f[u>>2]=sl(f[pe>>2]|0,0,0,f[le>>2]|0,(f[ve>>2]|0)<(f[be>>2]|0)?f[ve>>2]|0:f[be>>2]|0,0)|0;r=f[u>>2]|0;if((f[u>>2]|0)<0){l=20;break}we=re(r,f[(f[pe>>2]|0)+8>>2]|0)|0;f[le>>2]=(f[le>>2]|0)+(we<<2);f[ve>>2]=(f[ve>>2]|0)-(f[u>>2]|0);if((f[ve>>2]|0)<=0){l=22;break}}if((l|0)==20){f[ke>>2]=r;ve=f[ke>>2]|0;h=ye;return ve|0}else if((l|0)==22){f[ke>>2]=f[se>>2];ve=f[ke>>2]|0;h=ye;return ve|0}}if((f[ve>>2]|0)<(f[be>>2]|0)){if((f[ve>>2]|0)>(f[b>>2]|0)){f[ve>>2]=f[b>>2];break}if(((f[F>>2]|0)!=1e3?(f[ve>>2]|0)>(f[O>>2]|0):0)?(f[ve>>2]|0)<(f[b>>2]|0):0)f[ve>>2]=f[O>>2]}}else{f[ve>>2]=f[(f[pe>>2]|0)+64>>2];f[F>>2]=f[(f[pe>>2]|0)+56>>2];Pe(j,f[R>>2]|0,f[T>>2]|0)}}while(0);f[P>>2]=0;f[S>>2]=1;f[c>>2]=1;do{if(f[R>>2]|0?(f[(f[pe>>2]|0)+60>>2]|0)>0:0){if(!(((f[F>>2]|0)==1002?(f[(f[pe>>2]|0)+60>>2]|0)!=1002:0)?!(f[(f[pe>>2]|0)+68>>2]|0):0)){if((f[F>>2]|0)==1002)break;if((f[(f[pe>>2]|0)+60>>2]|0)!=1002)break}f[J>>2]=1;r=re(f[O>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;if((f[F>>2]|0)==1002){f[c>>2]=r;break}else{f[S>>2]=r;break}}}while(0);c=f[c>>2]|0;f[ue>>2]=he()|0;r=h;h=h+((1*(c<<2)|0)+15&-16)|0;if((f[J>>2]|0)!=0&(f[F>>2]|0)==1002){f[z>>2]=r;sl(f[pe>>2]|0,0,0,f[z>>2]|0,(f[O>>2]|0)<(f[ve>>2]|0)?f[O>>2]|0:f[ve>>2]|0,0)|0}e:do{if((f[ve>>2]|0)>(f[se>>2]|0)){f[ke>>2]=-1;f[ce>>2]=1}else{f[se>>2]=f[ve>>2];if((f[F>>2]|0)==1002|(f[P>>2]|0)!=0)r=1;else r=re((f[b>>2]|0)>(f[se>>2]|0)?f[b>>2]|0:f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;f[w>>2]=r;o=h;h=h+((1*(f[w>>2]<<1)|0)+15&-16)|0;r:do{if((f[F>>2]|0)!=1002){f[v>>2]=o;if((f[(f[pe>>2]|0)+60>>2]|0)==1002)bo(f[g>>2]|0)|0;if(10>(((f[ve>>2]|0)*1e3|0)/(f[(f[pe>>2]|0)+12>>2]|0)|0|0))r=10;else r=((f[ve>>2]|0)*1e3|0)/(f[(f[pe>>2]|0)+12>>2]|0)|0;f[(f[pe>>2]|0)+16+16>>2]=r;do{if(f[R>>2]|0){f[(f[pe>>2]|0)+16+4>>2]=f[(f[pe>>2]|0)+48>>2];r=f[pe>>2]|0;if((f[F>>2]|0)!=1e3){f[r+16+12>>2]=16e3;break}l=f[pe>>2]|0;if((f[r+52>>2]|0)==1101){f[l+16+12>>2]=8e3;break}if((f[l+52>>2]|0)==1102){f[(f[pe>>2]|0)+16+12>>2]=12e3;break}else{f[(f[pe>>2]|0)+16+12>>2]=16e3;break}}}while(0);f[p>>2]=(f[R>>2]|0)==0?1:f[M>>2]<<1;f[k>>2]=0;i:while(1){f[d>>2]=(f[k>>2]|0)==0&1;f[_>>2]=wo(f[g>>2]|0,(f[pe>>2]|0)+16|0,f[p>>2]|0,f[d>>2]|0,j,f[v>>2]|0,y,f[(f[pe>>2]|0)+44>>2]|0)|0;t:do{if(f[_>>2]|0){if(!(f[p>>2]|0))break i;f[y>>2]=f[se>>2];f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break t;n[(f[v>>2]|0)+(f[N>>2]<<1)>>1]=0;f[N>>2]=(f[N>>2]|0)+1}}}while(0);w=re(f[y>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;f[v>>2]=(f[v>>2]|0)+(w<<1);f[k>>2]=(f[k>>2]|0)+(f[y>>2]|0);if((f[k>>2]|0)>=(f[se>>2]|0))break r}f[ke>>2]=-3;f[ce>>2]=1;break e}}while(0);f[V>>2]=0;if((f[M>>2]|0)==0&(f[F>>2]|0)!=1002&(f[R>>2]|0)!=0?(_=(ul(j)|0)+17|0,(_+(((f[(f[pe>>2]|0)+56>>2]|0)==1001&1)*20|0)|0)<=(f[T>>2]<<3|0)):0){if((f[F>>2]|0)==1001)f[Y>>2]=Ne(j,12)|0;else f[Y>>2]=1;if(f[Y>>2]|0){f[B>>2]=Ne(j,1)|0;if((f[F>>2]|0)==1001)r=(ze(j,256)|0)+2|0;else{r=f[T>>2]|0;r=r-((ul(j)|0)+7>>3)|0}f[H>>2]=r;f[T>>2]=(f[T>>2]|0)-(f[H>>2]|0);_=f[T>>2]<<3;if((_|0)<(ul(j)|0)){f[T>>2]=0;f[H>>2]=0;f[Y>>2]=0}_=j+4|0;f[_>>2]=(f[_>>2]|0)-(f[H>>2]|0)}}if((f[F>>2]|0)!=1002)f[V>>2]=17;f[m>>2]=21;switch(f[(f[pe>>2]|0)+52>>2]|0){case 1101:{f[m>>2]=13;break}case 1103:case 1102:{f[m>>2]=17;break}case 1104:{f[m>>2]=19;break}case 1105:{f[m>>2]=21;break}default:{}}_=f[I>>2]|0;f[E>>2]=f[m>>2];df(_,10012,E)|0;E=f[I>>2]|0;f[A>>2]=f[(f[pe>>2]|0)+48>>2];df(E,10008,A)|0;if(f[Y>>2]|0){f[J>>2]=0;f[S>>2]=1}r=h;h=h+((1*(f[S>>2]<<2)|0)+15&-16)|0;if((f[J>>2]|0)!=0&(f[F>>2]|0)!=1002){f[z>>2]=r;sl(f[pe>>2]|0,0,0,f[z>>2]|0,(f[O>>2]|0)<(f[ve>>2]|0)?f[O>>2]|0:f[ve>>2]|0,0)|0}if(f[Y>>2]|0)r=re(f[O>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0;else r=1;f[q>>2]=r;r=h;h=h+((1*(f[q>>2]<<2)|0)+15&-16)|0;if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0){q=f[I>>2]|0;f[G>>2]=0;df(q,10010,G)|0;ge(f[I>>2]|0,(f[R>>2]|0)+(f[T>>2]|0)|0,f[H>>2]|0,r,f[O>>2]|0,0,0)|0;G=f[I>>2]|0;f[K>>2]=W+(((W-W|0)/4|0)<<2);df(G,4031,K)|0}K=f[I>>2]|0;f[X>>2]=f[V>>2];df(K,10010,X)|0;do{if((f[F>>2]|0)==1e3){t[Z>>0]=t[30523]|0;t[Z+1>>0]=t[30524]|0;r:do{if(!(f[P>>2]|0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=0;f[N>>2]=(f[N>>2]|0)+1}}}while(0);if((f[(f[pe>>2]|0)+60>>2]|0)==1001){if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0?f[(f[pe>>2]|0)+68>>2]|0:0)break;be=f[I>>2]|0;f[ee>>2]=0;df(be,10010,ee)|0;ge(f[I>>2]|0,Z,2,f[le>>2]|0,f[x>>2]|0,0,f[P>>2]|0)|0}}else{f[C>>2]=(f[be>>2]|0)<(f[se>>2]|0)?f[be>>2]|0:f[se>>2]|0;do{if((f[F>>2]|0)!=(f[(f[pe>>2]|0)+60>>2]|0)){if((f[(f[pe>>2]|0)+60>>2]|0)<=0)break;if(f[(f[pe>>2]|0)+68>>2]|0)break;df(f[I>>2]|0,4028,Q)|0}}while(0);f[we>>2]=ge(f[I>>2]|0,f[M>>2]|0?0:f[R>>2]|0,f[T>>2]|0,f[le>>2]|0,f[C>>2]|0,j,f[P>>2]|0)|0}}while(0);r:do{if(!((f[F>>2]|0)==1002|(f[P>>2]|0)!=0)){f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]+ +(n[o+(f[N>>2]<<1)>>1]|0)*30517578125e-15;f[N>>2]=(f[N>>2]|0)+1}}}while(0);be=f[I>>2]|0;f[ie>>2]=U+(((U-U|0)/4|0)<<2);df(be,10015,ie)|0;f[ae>>2]=f[(f[U>>2]|0)+60>>2];if(!((f[Y>>2]|0)==0|(f[B>>2]|0)!=0)){df(f[I>>2]|0,4028,te)|0;be=f[I>>2]|0;f[ne>>2]=0;df(be,10010,ne)|0;ge(f[I>>2]|0,(f[R>>2]|0)+(f[T>>2]|0)|0,f[H>>2]|0,r,f[O>>2]|0,0,0)|0;ne=f[I>>2]|0;f[fe>>2]=W+(((W-W|0)/4|0)<<2);df(ne,4031,fe)|0;ne=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,(f[se>>2]|0)-(f[x>>2]|0)|0)|0)<<2)|0;fe=r+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,(f[se>>2]|0)-(f[x>>2]|0)|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}if((f[Y>>2]|0)!=0&(f[B>>2]|0)!=0){f[L>>2]=0;while(1){if((f[L>>2]|0)>=(f[(f[pe>>2]|0)+8>>2]|0))break;f[N>>2]=0;while(1){if((f[N>>2]|0)>=(f[x>>2]|0))break;fe=re(f[(f[pe>>2]|0)+8>>2]|0,f[N>>2]|0)|0;be=re(f[(f[pe>>2]|0)+8>>2]|0,f[N>>2]|0)|0;s[(f[le>>2]|0)+(be+(f[L>>2]|0)<<2)>>2]=+s[r+(fe+(f[L>>2]|0)<<2)>>2];f[N>>2]=(f[N>>2]|0)+1}f[L>>2]=(f[L>>2]|0)+1}ne=r+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;fe=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}do{if(f[J>>2]|0){if((f[ve>>2]|0)<(f[O>>2]|0)){hl(f[z>>2]|0,f[le>>2]|0,f[le>>2]|0,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0);break}f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0))break;s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[(f[z>>2]|0)+(f[N>>2]<<2)>>2];f[N>>2]=(f[N>>2]|0)+1}ne=(f[z>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;fe=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;be=(f[le>>2]|0)+((re(f[(f[pe>>2]|0)+8>>2]|0,f[x>>2]|0)|0)<<2)|0;hl(ne,fe,be,f[x>>2]|0,f[(f[pe>>2]|0)+8>>2]|0,f[ae>>2]|0,f[(f[pe>>2]|0)+12>>2]|0)}}while(0);r:do{if(f[(f[pe>>2]|0)+40>>2]|0){s[D>>2]=+$(+(+(f[(f[pe>>2]|0)+40>>2]|0)*.0006488140788860619*.6931471805599453));f[N>>2]=0;while(1){if((f[N>>2]|0)>=(re(f[se>>2]|0,f[(f[pe>>2]|0)+8>>2]|0)|0))break r;s[oe>>2]=+s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]*+s[D>>2];s[(f[le>>2]|0)+(f[N>>2]<<2)>>2]=+s[oe>>2];f[N>>2]=(f[N>>2]|0)+1}}}while(0);if((f[T>>2]|0)<=1)f[(f[pe>>2]|0)+84>>2]=0;else f[(f[pe>>2]|0)+84>>2]=f[j+28>>2]^f[W>>2];f[(f[pe>>2]|0)+60>>2]=f[F>>2];if(f[Y>>2]|0)r=(f[B>>2]|0)!=0^1;else r=0;f[(f[pe>>2]|0)+68>>2]=r&1;if((f[we>>2]|0)>=0)cl()|0;f[ke>>2]=(f[we>>2]|0)<0?f[we>>2]|0:f[ve>>2]|0;f[ce>>2]=1}}while(0);de(f[ue>>2]|0);ve=f[ke>>2]|0;h=ye;return ve|0}function ul(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function hl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;l=y+40|0;u=y+36|0;c=y+32|0;b=y+28|0;w=y+24|0;k=y+20|0;_=y+16|0;p=y+12|0;d=y+8|0;v=y+4|0;g=y;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=n;f[k>>2]=a;f[_>>2]=o;f[v>>2]=48e3/(f[_>>2]|0)|0;f[d>>2]=0;while(1){if((f[d>>2]|0)>=(f[w>>2]|0))break;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;a=re(f[p>>2]|0,f[v>>2]|0)|0;t=re(f[p>>2]|0,f[v>>2]|0)|0;s[g>>2]=+s[(f[k>>2]|0)+(a<<2)>>2]*+s[(f[k>>2]|0)+(t<<2)>>2];t=re(f[p>>2]|0,f[w>>2]|0)|0;a=re(f[p>>2]|0,f[w>>2]|0)|0;_=re(f[p>>2]|0,f[w>>2]|0)|0;s[(f[c>>2]|0)+(_+(f[d>>2]|0)<<2)>>2]=+s[g>>2]*+s[(f[u>>2]|0)+(t+(f[d>>2]|0)<<2)>>2]+(1-+s[g>>2])*+s[(f[l>>2]|0)+(a+(f[d>>2]|0)<<2)>>2];f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}h=y;return}function cl(){return 0}function bl(e){e=e|0;var r=0,i=0,t=0;t=h;h=h+16|0;r=t+4|0;i=t;f[r>>2]=e;do{if(!((a[f[r>>2]>>0]|0)&128|0))if(((a[f[r>>2]>>0]|0)&96|0)==96){f[i>>2]=1001;break}else{f[i>>2]=1e3;break}else f[i>>2]=1002}while(0);h=t;return f[i>>2]|0}function wl(e){e=e|0;var r=0,i=0,t=0,n=0;n=h;h=h+16|0;r=n+4|0;t=n;f[r>>2]=e;i=a[f[r>>2]>>0]|0;if((a[f[r>>2]>>0]|0)&128|0){i=1102+(i>>5&3)|0;f[t>>2]=i;f[t>>2]=(f[t>>2]|0)==1102?1101:i;t=f[t>>2]|0;h=n;return t|0}e=a[f[r>>2]>>0]|0;if((i&96|0)==96){f[t>>2]=e&16|0?1105:1104;t=f[t>>2]|0;h=n;return t|0}else{f[t>>2]=1101+(e>>5&3);t=f[t>>2]|0;h=n;return t|0}return 0}function kl(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;h=i;return((a[f[r>>2]>>0]|0)&4|0?2:1)|0}function dl(e,r,i,t,a,o){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;_=h;h=h+48|0;u=_+40|0;c=_+36|0;b=_+32|0;w=_+28|0;k=_+24|0;d=_+20|0;p=_+16|0;y=_+12|0;g=_+8|0;l=_+4|0;v=_;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=a;f[p>>2]=o;if((f[d>>2]|0)<=0){f[u>>2]=-1;y=f[u>>2]|0;h=_;return y|0}do{if(!((f[b>>2]|0)!=0&(f[w>>2]|0)>0^1|(f[p>>2]|0)!=0)){f[l>>2]=pl(f[c>>2]|0,f[b>>2]|0,f[w>>2]|0)|0;if((f[l>>2]|0)>0){f[d>>2]=(f[d>>2]|0)<(f[l>>2]|0)?f[d>>2]|0:f[l>>2]|0;break}f[u>>2]=-4;y=f[u>>2]|0;h=_;return y|0}}while(0);e=re(f[d>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0;f[v>>2]=he()|0;r=h;h=h+((1*(e<<2)|0)+15&-16)|0;f[y>>2]=ll(f[c>>2]|0,f[b>>2]|0,f[w>>2]|0,r,f[d>>2]|0,f[p>>2]|0,0,0,1)|0;e:do{if((f[y>>2]|0)>0){f[g>>2]=0;while(1){if((f[g>>2]|0)>=(re(f[y>>2]|0,f[(f[c>>2]|0)+8>>2]|0)|0))break e;p=yl(+s[r+(f[g>>2]<<2)>>2])|0;n[(f[k>>2]|0)+(f[g>>2]<<1)>>1]=p;f[g>>2]=(f[g>>2]|0)+1}}}while(0);f[u>>2]=f[y>>2];de(f[v>>2]|0);y=f[u>>2]|0;h=_;return y|0}function pl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;n=t+8|0;o=t+4|0;a=t;f[n>>2]=e;f[o>>2]=r;f[a>>2]=i;r=vl(f[o>>2]|0,f[a>>2]|0,f[(f[n>>2]|0)+12>>2]|0)|0;h=t;return r|0}function vl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;l=h;h=h+32|0;t=l+20|0;n=l+16|0;u=l+12|0;a=l+8|0;o=l+4|0;s=l;f[n>>2]=e;f[u>>2]=r;f[a>>2]=i;f[s>>2]=gl(f[n>>2]|0,f[u>>2]|0)|0;i=f[s>>2]|0;if((f[s>>2]|0)<0){f[t>>2]=i;u=f[t>>2]|0;h=l;return u|0}f[o>>2]=re(i,rl(f[n>>2]|0,f[a>>2]|0)|0)|0;if(((f[o>>2]|0)*25|0)>((f[a>>2]|0)*3|0)){f[t>>2]=-4;u=f[t>>2]|0;h=l;return u|0}else{f[t>>2]=f[o>>2];u=f[t>>2]|0;h=l;return u|0}return 0}function gl(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,l=0;l=h;h=h+16|0;i=l+12|0;t=l+8|0;n=l+4|0;o=l;f[t>>2]=e;f[n>>2]=r;do{if((f[n>>2]|0)>=1){f[o>>2]=(a[f[t>>2]>>0]|0)&3;if(!(f[o>>2]|0)){f[i>>2]=1;break}if((f[o>>2]|0)!=3){f[i>>2]=2;break}if((f[n>>2]|0)<2){f[i>>2]=-4;break}else{f[i>>2]=(a[(f[t>>2]|0)+1>>0]|0)&63;break}}else f[i>>2]=-1}while(0);h=l;return f[i>>2]|0}function yl(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;s[r>>2]=+s[r>>2]*32768;s[r>>2]=+s[r>>2]>-32768?+s[r>>2]:-32768;s[r>>2]=+s[r>>2]<32767?+s[r>>2]:32767;r=(cs(+s[r>>2])|0)&65535;h=i;return r|0}function _l(e,r,i,t,n,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+24|0;l=k+20|0;s=k+16|0;u=k+12|0;c=k+8|0;b=k+4|0;w=k;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;if((f[b>>2]|0)<=0){f[o>>2]=-1;e=f[o>>2]|0;h=k;return e|0}else{f[o>>2]=ll(f[l>>2]|0,f[s>>2]|0,f[u>>2]|0,f[c>>2]|0,f[b>>2]|0,f[w>>2]|0,0,0,0)|0;e=f[o>>2]|0;h=k;return e|0}return 0}function ml(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;g=h;h=h+80|0;d=g+8|0;p=g+76|0;t=g+72|0;y=g+68|0;v=g+64|0;n=g+48|0;o=g+44|0;a=g+40|0;l=g+36|0;s=g+32|0;u=g+28|0;c=g+24|0;b=g+20|0;w=g+16|0;k=g+12|0;f[t>>2]=e;f[y>>2]=r;f[v>>2]=0;f[o>>2]=(f[t>>2]|0)+(f[(f[t>>2]|0)+4>>2]|0);f[a>>2]=(f[t>>2]|0)+(f[f[t>>2]>>2]|0);f[n>>2]=i;e:do{switch(f[y>>2]|0){case 4009:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[l>>2]=y;if(f[l>>2]|0){f[f[l>>2]>>2]=f[(f[t>>2]|0)+52>>2];t=20}else t=21;break}case 4031:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[s>>2]=y;if(f[s>>2]|0){f[f[s>>2]>>2]=f[(f[t>>2]|0)+84>>2];t=20}else t=21;break}case 4028:{vs((f[t>>2]|0)+48|0,0,88-((f[t>>2]|0)+48-(f[t>>2]|0))|0)|0;df(f[a>>2]|0,4028,g)|0;bo(f[o>>2]|0)|0;f[(f[t>>2]|0)+48>>2]=f[(f[t>>2]|0)+8>>2];f[(f[t>>2]|0)+64>>2]=(f[(f[t>>2]|0)+12>>2]|0)/400|0;t=20;break}case 4029:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[u>>2]=y;if(f[u>>2]|0){f[f[u>>2]>>2]=f[(f[t>>2]|0)+12>>2];t=20}else t=21;break}case 4033:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[c>>2]=y;if(f[c>>2]|0)if((f[(f[t>>2]|0)+60>>2]|0)==1002){t=f[a>>2]|0;f[d>>2]=(f[c>>2]|0)+((((f[c>>2]|0)-(f[c>>2]|0)|0)/4|0)<<2);df(t,4033,d)|0;t=20;break e}else{f[f[c>>2]>>2]=f[(f[t>>2]|0)+16+20>>2];t=20;break e}else t=21;break}case 4045:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[b>>2]=y;if(f[b>>2]|0){f[f[b>>2]>>2]=f[(f[t>>2]|0)+40>>2];t=20}else t=21;break}case 4034:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[w>>2]=y;if((f[w>>2]|0)<-32768|(f[w>>2]|0)>32767)t=21;else{f[(f[t>>2]|0)+40>>2]=f[w>>2];t=20}break}case 4039:{i=(f[n>>2]|0)+(4-1)&~(4-1);y=f[i>>2]|0;f[n>>2]=i+4;f[k>>2]=y;if(f[k>>2]|0){f[f[k>>2]>>2]=f[(f[t>>2]|0)+72>>2];t=20}else t=21;break}default:{f[v>>2]=-5;t=20}}}while(0);if((t|0)==20){f[p>>2]=f[v>>2];y=f[p>>2]|0;h=g;return y|0}else if((t|0)==21){f[p>>2]=-1;y=f[p>>2]|0;h=g;return y|0}return 0}function El(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0;o=h;h=h+32|0;r=o+16|0;i=o+12|0;a=o+8|0;t=o+4|0;n=o;f[i>>2]=e;if((f[i>>2]|0)<1|(f[i>>2]|0)>2){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}f[n>>2]=ko(a)|0;if(f[n>>2]|0){f[r>>2]=0;a=f[r>>2]|0;h=o;return a|0}else{f[a>>2]=Al(f[a>>2]|0)|0;f[t>>2]=Fn(f[i>>2]|0)|0;n=Al(18220)|0;f[r>>2]=n+(f[a>>2]|0)+(f[t>>2]|0);a=f[r>>2]|0;h=o;return a|0}return 0}function Al(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;t=r+4|0;i=r;f[t>>2]=e;f[i>>2]=4;e=re((((f[t>>2]|0)+(f[i>>2]|0)-1|0)>>>0)/((f[i>>2]|0)>>>0)|0,f[i>>2]|0)|0;h=r;return e|0}function Sl(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0;y=h;h=h+64|0;g=y+8|0;v=y;a=y+48|0;o=y+44|0;l=y+40|0;u=y+36|0;c=y+32|0;p=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;d=y+12|0;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;if((!((f[l>>2]|0)!=48e3&(f[l>>2]|0)!=24e3&(f[l>>2]|0)!=16e3&(f[l>>2]|0)!=12e3&(f[l>>2]|0)!=8e3)?!((f[u>>2]|0)!=1&(f[u>>2]|0)!=2):0)?!((f[c>>2]|0)!=2048&(f[c>>2]|0)!=2049&(f[c>>2]|0)!=2051):0){e=f[o>>2]|0;vs(e|0,0,El(f[u>>2]|0)|0)|0;f[k>>2]=ko(d)|0;if(f[k>>2]|0){f[a>>2]=-1;g=f[a>>2]|0;h=y;return g|0}f[d>>2]=Al(f[d>>2]|0)|0;e=Al(18220)|0;f[(f[o>>2]|0)+4>>2]=e;f[f[o>>2]>>2]=(f[(f[o>>2]|0)+4>>2]|0)+(f[d>>2]|0);f[p>>2]=(f[o>>2]|0)+(f[(f[o>>2]|0)+4>>2]|0);f[b>>2]=(f[o>>2]|0)+(f[f[o>>2]>>2]|0);e=f[u>>2]|0;f[(f[o>>2]|0)+100>>2]=e;f[(f[o>>2]|0)+14288>>2]=e;f[(f[o>>2]|0)+132>>2]=f[l>>2];e=Rl()|0;f[(f[o>>2]|0)+168>>2]=e;f[k>>2]=po(f[p>>2]|0,f[(f[o>>2]|0)+168>>2]|0,(f[o>>2]|0)+8|0)|0;if(f[k>>2]|0){f[a>>2]=-3;g=f[a>>2]|0;h=y;return g|0}f[(f[o>>2]|0)+8>>2]=f[u>>2];f[(f[o>>2]|0)+8+4>>2]=f[u>>2];f[(f[o>>2]|0)+8+8>>2]=f[(f[o>>2]|0)+132>>2];f[(f[o>>2]|0)+8+12>>2]=16e3;f[(f[o>>2]|0)+8+16>>2]=8e3;f[(f[o>>2]|0)+8+20>>2]=16e3;f[(f[o>>2]|0)+8+24>>2]=20;f[(f[o>>2]|0)+8+28>>2]=25e3;f[(f[o>>2]|0)+8+32>>2]=0;f[(f[o>>2]|0)+8+36>>2]=9;f[(f[o>>2]|0)+8+40>>2]=0;f[(f[o>>2]|0)+8+44>>2]=0;f[(f[o>>2]|0)+8+48>>2]=0;f[(f[o>>2]|0)+8+64>>2]=0;f[w>>2]=Yn(f[b>>2]|0,f[l>>2]|0,f[u>>2]|0,f[(f[o>>2]|0)+168>>2]|0)|0;if(f[w>>2]|0){f[a>>2]=-3;g=f[a>>2]|0;h=y;return g|0}else{e=f[b>>2]|0;f[v>>2]=0;qn(e,10016,v)|0;v=f[b>>2]|0;f[g>>2]=f[(f[o>>2]|0)+8+36>>2];qn(v,4010,g)|0;f[(f[o>>2]|0)+136>>2]=1;f[(f[o>>2]|0)+140>>2]=1;f[(f[o>>2]|0)+152>>2]=-1e3;g=3e3+(re(f[l>>2]|0,f[u>>2]|0)|0)|0;f[(f[o>>2]|0)+148>>2]=g;f[(f[o>>2]|0)+96>>2]=f[c>>2];f[(f[o>>2]|0)+112>>2]=-1e3;f[(f[o>>2]|0)+116>>2]=-1e3;f[(f[o>>2]|0)+120>>2]=1105;f[(f[o>>2]|0)+108>>2]=-1e3;f[(f[o>>2]|0)+124>>2]=-1e3;f[(f[o>>2]|0)+128>>2]=-1;f[(f[o>>2]|0)+160>>2]=(f[(f[o>>2]|0)+132>>2]|0)/100|0;f[(f[o>>2]|0)+156>>2]=24;f[(f[o>>2]|0)+144>>2]=5e3;f[(f[o>>2]|0)+104>>2]=(f[(f[o>>2]|0)+132>>2]|0)/250|0;n[(f[o>>2]|0)+14292>>1]=16384;s[(f[o>>2]|0)+14300>>2]=1;g=(Ba(60)|0)<<8;f[(f[o>>2]|0)+14296>>2]=g;f[(f[o>>2]|0)+14344>>2]=1;f[(f[o>>2]|0)+14320>>2]=1001;f[(f[o>>2]|0)+14336>>2]=1105;es((f[o>>2]|0)+172|0);f[a>>2]=0;g=f[a>>2]|0;h=y;return g|0}}f[a>>2]=-1;g=f[a>>2]|0;h=y;return g|0}function Rl(){return 0}function Tl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;y=h;h=h+48|0;_=y+40|0;l=y+36|0;u=y+32|0;c=y+28|0;b=y+24|0;w=y+20|0;k=y+16|0;g=y+12|0;v=y+8|0;p=y+4|0;d=y;f[_>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[k>>2]=o;f[g>>2]=f[_>>2];f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;_=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;s[(f[l>>2]|0)+(f[p>>2]<<2)>>2]=+s[(f[g>>2]|0)+(_+(f[b>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}e:do{if((f[w>>2]|0)<=-1){if((f[w>>2]|0)==-2){f[d>>2]=1;while(1){if((f[d>>2]|0)>=(f[k>>2]|0))break e;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;i=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]+ +s[(f[g>>2]|0)+(i+(f[d>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}f[d>>2]=(f[d>>2]|0)+1}}}else{f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break e;i=re((f[p>>2]|0)+(f[c>>2]|0)|0,f[k>>2]|0)|0;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]+ +s[(f[g>>2]|0)+(i+(f[w>>2]|0)<<2)>>2]*32768;f[p>>2]=(f[p>>2]|0)+1}}}while(0);s[v>>2]=1;if((f[k>>2]|0)==-2)s[v>>2]=+s[v>>2]/+(f[k>>2]|0);else s[v>>2]=+s[v>>2]/2;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[u>>2]|0))break;_=(f[l>>2]|0)+(f[p>>2]<<2)|0;s[_>>2]=+s[_>>2]*+s[v>>2];f[p>>2]=(f[p>>2]|0)+1}h=y;return}function Ml(e,r,i,t,a,o,l){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;o=o|0;l=l|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;_=h;h=h+48|0;m=_+40|0;u=_+36|0;c=_+32|0;b=_+28|0;w=_+24|0;k=_+20|0;d=_+16|0;y=_+12|0;g=_+8|0;v=_+4|0;p=_;f[m>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;f[k>>2]=o;f[d>>2]=l;f[y>>2]=f[m>>2];f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;m=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;s[(f[u>>2]|0)+(f[v>>2]<<2)>>2]=+(n[(f[y>>2]|0)+(m+(f[w>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}e:do{if((f[k>>2]|0)<=-1){if((f[k>>2]|0)==-2){f[p>>2]=1;while(1){if((f[p>>2]|0)>=(f[d>>2]|0))break e;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;i=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]+ +(n[(f[y>>2]|0)+(i+(f[p>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}f[p>>2]=(f[p>>2]|0)+1}}}else{f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break e;i=re((f[v>>2]|0)+(f[b>>2]|0)|0,f[d>>2]|0)|0;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]+ +(n[(f[y>>2]|0)+(i+(f[k>>2]|0)<<1)>>1]|0);f[v>>2]=(f[v>>2]|0)+1}}}while(0);s[g>>2]=30517578125e-15;if((f[d>>2]|0)==-2)s[g>>2]=+s[g>>2]/+(f[d>>2]|0);else s[g>>2]=+s[g>>2]/2;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[c>>2]|0))break;m=(f[u>>2]|0)+(f[v>>2]<<2)|0;s[m>>2]=+s[m>>2]*+s[g>>2];f[v>>2]=(f[v>>2]|0)+1}h=_;return}function xl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0;s=h;h=h+32|0;n=s+16|0;a=s+12|0;t=s+8|0;o=s+4|0;l=s;f[a>>2]=e;f[t>>2]=r;f[o>>2]=i;if((f[a>>2]|0)<((f[o>>2]|0)/400|0|0)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}do{if((f[t>>2]|0)==5e3)f[l>>2]=f[a>>2];else{if((f[t>>2]|0)==5010){f[l>>2]=(f[o>>2]|0)/50|0;break}if(!((f[t>>2]|0)>=5001&(f[t>>2]|0)<=5006)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}i=f[o>>2]|0;if((((f[o>>2]|0)*3|0)/50|0|0)<(((f[o>>2]|0)/400|0)<<(f[t>>2]|0)-5001|0))i=(i*3|0)/50|0;else i=((i|0)/400|0)<<(f[t>>2]|0)-5001;f[l>>2]=i}}while(0);if((f[l>>2]|0)>(f[a>>2]|0)){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}if(((((((f[l>>2]|0)*400|0)!=(f[o>>2]|0)?((f[l>>2]|0)*200|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*100|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*50|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*25|0)!=(f[o>>2]|0):0)?((f[l>>2]|0)*50|0)!=((f[o>>2]|0)*3|0):0){f[n>>2]=-1;l=f[n>>2]|0;h=s;return l|0}f[n>>2]=f[l>>2];l=f[n>>2]|0;h=s;return l|0}function Ol(e,r,i,t,n,a,o,l,s){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;s=s|0;var u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;m=h;h=h+48|0;u=m+40|0;c=m+36|0;b=m+32|0;w=m+28|0;k=m+24|0;d=m+20|0;p=m+16|0;v=m+12|0;g=m+8|0;y=m+4|0;_=m;f[c>>2]=e;f[b>>2]=r;f[w>>2]=i;f[k>>2]=t;f[d>>2]=n;f[p>>2]=a;f[v>>2]=o;f[g>>2]=l;f[y>>2]=s;if((f[w>>2]|0)==5010?(f[b>>2]|0)>=((f[d>>2]|0)/200|0|0):0){f[_>>2]=3;f[_>>2]=Ll(f[c>>2]|0,f[b>>2]|0,f[k>>2]|0,f[d>>2]|0,f[p>>2]|0,0,f[y>>2]|0,f[v>>2]|0,f[g>>2]|0)|0;while(1){if((((f[d>>2]|0)/400|0)<>2]|0)<=(f[b>>2]|0))break;f[_>>2]=(f[_>>2]|0)+-1}f[b>>2]=((f[d>>2]|0)/400|0)<>2]}else f[b>>2]=xl(f[b>>2]|0,f[w>>2]|0,f[d>>2]|0)|0;if((f[b>>2]|0)<0){f[u>>2]=-1;i=f[u>>2]|0;h=m;return i|0}else{f[u>>2]=f[b>>2];i=f[u>>2]|0;h=m;return i|0}return 0}function Ll(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=+a;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0;I=h;h=h+304|0;b=I+296|0;c=I+292|0;w=I+288|0;C=I+284|0;k=I+280|0;d=I+276|0;p=I+272|0;v=I+268|0;g=I+264|0;_=I+260|0;S=I+256|0;E=I+144|0;A=I+36|0;T=I+32|0;m=I+28|0;O=I+24|0;x=I+20|0;M=I+16|0;y=I+12|0;L=I+8|0;P=I+4|0;R=I;f[b>>2]=e;f[c>>2]=r;f[w>>2]=i;f[C>>2]=t;f[k>>2]=n;s[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[g>>2]=u;f[m>>2]=0;f[O>>2]=(f[C>>2]|0)/400|0;e=f[O>>2]|0;f[y>>2]=he()|0;t=h;h=h+((1*(e<<2)|0)+15&-16)|0;s[E>>2]=+s[f[p>>2]>>2];s[A>>2]=1/(+s[f[p>>2]>>2]+1.0000000036274937e-15);if(f[v>>2]|0){f[M>>2]=(f[O>>2]<<1)-(f[v>>2]|0);f[c>>2]=(f[c>>2]|0)-(f[M>>2]|0);s[E+4>>2]=+s[(f[p>>2]|0)+4>>2];s[A+4>>2]=1/(+s[(f[p>>2]|0)+4>>2]+1.0000000036274937e-15);s[E+8>>2]=+s[(f[p>>2]|0)+8>>2];s[A+8>>2]=1/(+s[(f[p>>2]|0)+8>>2]+1.0000000036274937e-15);f[x>>2]=3}else{f[x>>2]=1;f[M>>2]=0}if(((f[c>>2]|0)/(f[O>>2]|0)|0|0)<24)i=(f[c>>2]|0)/(f[O>>2]|0)|0;else i=24;f[_>>2]=i;s[T>>2]=0;f[S>>2]=0;while(1){if((f[S>>2]|0)>=(f[_>>2]|0))break;s[L>>2]=1.0000000036274937e-15;C=re(f[S>>2]|0,f[O>>2]|0)|0;Cs[f[g>>2]&3](f[b>>2]|0,t,f[O>>2]|0,C+(f[M>>2]|0)|0,0,-2,f[w>>2]|0);if(!(f[S>>2]|0))s[T>>2]=+s[t>>2];f[R>>2]=0;while(1){if((f[R>>2]|0)>=(f[O>>2]|0))break;s[P>>2]=+s[t+(f[R>>2]<<2)>>2];s[L>>2]=+s[L>>2]+(+s[P>>2]-+s[T>>2])*(+s[P>>2]-+s[T>>2]);s[T>>2]=+s[P>>2];f[R>>2]=(f[R>>2]|0)+1}s[E+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=+s[L>>2];s[A+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=1/+s[L>>2];f[S>>2]=(f[S>>2]|0)+1}s[E+((f[S>>2]|0)+(f[x>>2]|0)<<2)>>2]=+s[E+((f[S>>2]|0)+(f[x>>2]|0)-1<<2)>>2];if(f[v>>2]|0)f[_>>2]=24<((f[_>>2]|0)+2|0)?24:(f[_>>2]|0)+2|0;f[m>>2]=Pl(E,A,f[_>>2]|0,~~((+s[d>>2]*.5+1)*+(((f[w>>2]|0)*60|0)+40|0)),(f[k>>2]|0)/400|0)|0;s[f[p>>2]>>2]=+s[E+(1<>2]<<2)>>2];if(!(f[v>>2]|0)){C=f[m>>2]|0;P=f[y>>2]|0;de(P|0);h=I;return C|0}s[(f[p>>2]|0)+4>>2]=+s[E+((1<>2])+1<<2)>>2];s[(f[p>>2]|0)+8>>2]=+s[E+((1<>2])+2<<2)>>2];C=f[m>>2]|0;P=f[y>>2]|0;de(P|0);h=I;return C|0}function Pl(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0;S=h;h=h+3136|0;o=S+3124|0;l=S+3120|0;u=S+3116|0;c=S+3112|0;b=S+3108|0;E=S+3104|0;k=S+1568|0;A=S+32|0;w=S+28|0;m=S+24|0;p=S+20|0;v=S+16|0;g=S+12|0;y=S+8|0;d=S+4|0;_=S;f[o>>2]=e;f[l>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;do{if((f[b>>2]|0)>=80)if((f[b>>2]|0)>160){s[p>>2]=1;break}else{s[p>>2]=(+(f[b>>2]|0)-80)/80;break}else s[p>>2]=0}while(0);f[E>>2]=0;while(1){if((f[E>>2]|0)>=16)break;f[A+(f[E>>2]<<2)>>2]=-1;s[k+(f[E>>2]<<2)>>2]=1e10;f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=0;while(1){if((f[E>>2]|0)>=4)break;R=+((f[c>>2]|0)+(re(f[b>>2]|0,1<>2])|0)|0);a=+s[p>>2];a=R*(a*+Il(f[o>>2]|0,f[l>>2]|0,f[E>>2]|0,(f[u>>2]|0)+1|0)+1);s[k+(1<>2]<<2)>>2]=a;f[A+(1<>2]<<2)>>2]=f[E>>2];f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[u>>2]|0))break;f[v>>2]=2;while(1){if((f[v>>2]|0)>=16)break;s[k+(f[E>>2]<<6)+(f[v>>2]<<2)>>2]=+s[k+((f[E>>2]|0)-1<<6)+((f[v>>2]|0)-1<<2)>>2];f[A+(f[E>>2]<<6)+(f[v>>2]<<2)>>2]=(f[v>>2]|0)-1;f[v>>2]=(f[v>>2]|0)+1}f[v>>2]=0;while(1){if((f[v>>2]|0)>=4)break;f[A+(f[E>>2]<<6)+(1<>2]<<2)>>2]=1;s[y>>2]=+s[k+((f[E>>2]|0)-1<<6)+4>>2];f[g>>2]=1;while(1){if((f[g>>2]|0)>=4)break;s[_>>2]=+s[k+((f[E>>2]|0)-1<<6)+((1<<(f[g>>2]|0)+1)-1<<2)>>2];if(+s[_>>2]<+s[y>>2]){f[A+(f[E>>2]<<6)+(1<>2]<<2)>>2]=(1<<(f[g>>2]|0)+1)-1;s[y>>2]=+s[_>>2]}f[g>>2]=(f[g>>2]|0)+1}R=+((f[c>>2]|0)+(re(f[b>>2]|0,1<>2])|0)|0);a=+s[p>>2];s[d>>2]=R*(a*+Il((f[o>>2]|0)+(f[E>>2]<<2)|0,(f[l>>2]|0)+(f[E>>2]<<2)|0,f[v>>2]|0,(f[u>>2]|0)-(f[E>>2]|0)+1|0)+1);s[k+(f[E>>2]<<6)+(1<>2]<<2)>>2]=+s[y>>2];a=+s[d>>2];if(((f[u>>2]|0)-(f[E>>2]|0)|0)<(1<>2]|0)){n=k+(f[E>>2]<<6)+(1<>2]<<2)|0;s[n>>2]=+s[n>>2]+a*+((f[u>>2]|0)-(f[E>>2]|0)|0)/+(1<>2]|0)}else{n=k+(f[E>>2]<<6)+(1<>2]<<2)|0;s[n>>2]=+s[n>>2]+a}f[v>>2]=(f[v>>2]|0)+1}f[E>>2]=(f[E>>2]|0)+1}f[m>>2]=1;s[w>>2]=+s[k+((f[u>>2]|0)-1<<6)+4>>2];f[E>>2]=2;while(1){if((f[E>>2]|0)>=16)break;if(+s[k+((f[u>>2]|0)-1<<6)+(f[E>>2]<<2)>>2]<+s[w>>2]){s[w>>2]=+s[k+((f[u>>2]|0)-1<<6)+(f[E>>2]<<2)>>2];f[m>>2]=f[E>>2]}f[E>>2]=(f[E>>2]|0)+1}f[E>>2]=(f[u>>2]|0)-1;while(1){e=f[m>>2]|0;if((f[E>>2]|0)<0)break;f[m>>2]=f[A+(f[E>>2]<<6)+(e<<2)>>2];f[E>>2]=(f[E>>2]|0)+-1}h=S;return e|0}function Il(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0;p=h;h=h+48|0;l=p+32|0;u=p+28|0;a=p+24|0;o=p+20|0;b=p+16|0;c=p+12|0;w=p+8|0;k=p+4|0;d=p;f[l>>2]=e;f[u>>2]=r;f[a>>2]=i;f[o>>2]=t;s[w>>2]=0;s[k>>2]=0;if((f[o>>2]|0)<((1<>2])+1|0))a=f[o>>2]|0;else a=(1<>2])+1|0;f[c>>2]=a;f[b>>2]=0;while(1){if((f[b>>2]|0)>=(f[c>>2]|0))break;s[w>>2]=+s[w>>2]+ +s[(f[l>>2]|0)+(f[b>>2]<<2)>>2];s[k>>2]=+s[k>>2]+ +s[(f[u>>2]|0)+(f[b>>2]<<2)>>2];f[b>>2]=(f[b>>2]|0)+1}s[d>>2]=+s[w>>2]*+s[k>>2]/+(re(f[c>>2]|0,f[c>>2]|0)|0);if(0>(+s[d>>2]-2)*.05000000074505806)n=0;else n=(+s[d>>2]-2)*.05000000074505806;if(1<+H(+n)){n=1;h=p;return+n}if(0>(+s[d>>2]-2)*.05000000074505806)n=0;else n=(+s[d>>2]-2)*.05000000074505806;n=+H(+n);h=p;return+n}function Cl(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0;x=h;h=h+96|0;a=x+84|0;o=x+80|0;O=x+76|0;M=x+72|0;y=x+68|0;_=x+64|0;R=x+60|0;d=x+56|0;p=x+52|0;g=x+48|0;A=x+44|0;S=x+40|0;m=x+36|0;E=x+32|0;T=x+28|0;l=x+24|0;w=x+20|0;u=x+16|0;c=x+12|0;b=x+8|0;k=x+4|0;v=x;f[a>>2]=e;f[o>>2]=r;f[O>>2]=i;f[M>>2]=t;f[T>>2]=(f[O>>2]|0)/(f[o>>2]|0)|0;s[w>>2]=1-25/+((50>(f[T>>2]|0)?50:f[T>>2]|0)|0);s[g>>2]=0;s[p>>2]=0;s[d>>2]=0;f[l>>2]=0;while(1){if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=0;s[c>>2]=0;s[b>>2]=0;s[k>>2]=+s[(f[a>>2]|0)+(f[l>>2]<<1<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+1<<2)>>2];s[u>>2]=+s[k>>2]*+s[k>>2];s[c>>2]=+s[k>>2]*+s[v>>2];s[b>>2]=+s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+2<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+3<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+4<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+5<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[k>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+6<<2)>>2];s[v>>2]=+s[(f[a>>2]|0)+((f[l>>2]<<1)+7<<2)>>2];s[u>>2]=+s[u>>2]+ +s[k>>2]*+s[k>>2];s[c>>2]=+s[c>>2]+ +s[k>>2]*+s[v>>2];s[b>>2]=+s[b>>2]+ +s[v>>2]*+s[v>>2];s[d>>2]=+s[d>>2]+ +s[u>>2];s[p>>2]=+s[p>>2]+ +s[c>>2];s[g>>2]=+s[g>>2]+ +s[b>>2];f[l>>2]=(f[l>>2]|0)+4}O=f[M>>2]|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[d>>2]-+s[f[M>>2]>>2]);O=(f[M>>2]|0)+4|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[p>>2]-+s[(f[M>>2]|0)+4>>2]);O=(f[M>>2]|0)+8|0;s[O>>2]=+s[O>>2]+ +s[w>>2]*(+s[g>>2]-+s[(f[M>>2]|0)+8>>2]);if(0>+s[f[M>>2]>>2])n=0;else n=+s[f[M>>2]>>2];s[f[M>>2]>>2]=n;if(0>+s[(f[M>>2]|0)+4>>2])n=0;else n=+s[(f[M>>2]|0)+4>>2];s[(f[M>>2]|0)+4>>2]=n;if(0>+s[(f[M>>2]|0)+8>>2])n=0;else n=+s[(f[M>>2]|0)+8>>2];s[(f[M>>2]|0)+8>>2]=n;a=f[M>>2]|0;if(+s[f[M>>2]>>2]>+s[(f[M>>2]|0)+8>>2])n=+s[a>>2];else n=+s[a+8>>2];if(n>.0007999999797903001){s[A>>2]=+H(+ +s[f[M>>2]>>2]);s[S>>2]=+H(+ +s[(f[M>>2]|0)+8>>2]);s[m>>2]=+H(+ +s[A>>2]);s[E>>2]=+H(+ +s[S>>2]);if(+s[(f[M>>2]|0)+4>>2]<+s[A>>2]*+s[S>>2])n=+s[(f[M>>2]|0)+4>>2];else n=+s[A>>2]*+s[S>>2];s[(f[M>>2]|0)+4>>2]=n;s[y>>2]=+s[(f[M>>2]|0)+4>>2]/(+s[A>>2]*+s[S>>2]+1.0000000036274937e-15);n=+Y(+(+s[m>>2]-+s[E>>2]))*1;s[_>>2]=n/(+s[m>>2]+1.0000000036274937e-15+ +s[E>>2]);n=+H(+(1-+s[y>>2]*+s[y>>2]));s[R>>2]=n*+s[_>>2];a=(f[M>>2]|0)+12|0;s[a>>2]=+s[a>>2]+(+s[R>>2]-+s[(f[M>>2]|0)+12>>2])/+(f[T>>2]|0);a=f[M>>2]|0;if(+s[(f[M>>2]|0)+16>>2]-.019999999552965164/+(f[T>>2]|0)>+s[(f[M>>2]|0)+12>>2])n=+s[a+16>>2]-.019999999552965164/+(f[T>>2]|0);else n=+s[a+12>>2];s[(f[M>>2]|0)+16>>2]=n}else{s[R>>2]=0;s[y>>2]=1;s[_>>2]=0}if(1<+s[(f[M>>2]|0)+16>>2]*20){n=1;h=x;return+n}n=+s[(f[M>>2]|0)+16>>2]*20;h=x;return+n}function Ul(e,r,i,o,l,u,c,b,w,k,d,p,v){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;u=u|0;c=c|0;b=b|0;w=w|0;k=k|0;d=d|0;p=p|0;v=v|0;var g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,ce=0,be=0,we=0,ke=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,We=0,Ze=0,Ve=0,Je=0,Ge=0,Ke=0,$e=0,er=0,rr=0,ir=0,fr=0,ar=0,or=0,lr=0,sr=0,ur=0,hr=0,cr=0,br=0,wr=0,kr=0,dr=0,pr=0,vr=0,gr=0,yr=0,_r=0,mr=0,Er=0,Ar=0,Sr=0,Rr=0,Tr=0,Mr=0,xr=0,Or=0,Lr=0,Pr=0,Ir=0,Cr=0,Ur=0,Br=0,jr=0,Dr=0,Nr=0,Fr=0,zr=0,Yr=0,Hr=0,qr=0,Wr=0,Zr=0;Zr=h;h=h+1072|0;Pr=Zr+168|0;Lr=Zr+160|0;Or=Zr+152|0;xr=Zr+144|0;Mr=Zr+136|0;Tr=Zr+128|0;Rr=Zr+120|0;Sr=Zr+112|0;Ar=Zr+104|0;Er=Zr+96|0;mr=Zr+88|0;_r=Zr+80|0;Ve=Zr+72|0;Ze=Zr+64|0;We=Zr+56|0;He=Zr+48|0;Ye=Zr+40|0;ze=Zr+32|0;Fe=Zr+24|0;Ne=Zr+16|0;Z=Zr+8|0;m=Zr;Hr=Zr+1048|0;qr=Zr+1044|0;ve=Zr+1040|0;Ur=Zr+1036|0;Wr=Zr+1032|0;Q=Zr+1028|0;ee=Zr+1024|0;y=Zr+1020|0;_=Zr+1016|0;ie=Zr+1012|0;K=Zr+1008|0;X=Zr+1004|0;$=Zr+1e3|0;ge=Zr+996|0;Pe=Zr+992|0;hr=Zr+988|0;Ke=Zr+984|0;Yr=Zr+980|0;De=Zr+976|0;Br=Zr+928|0;Je=Zr+920|0;Oe=Zr+916|0;yr=Zr+912|0;Dr=Zr+908|0;Nr=Zr+904|0;cr=Zr+900|0;vr=Zr+896|0;Fr=Zr+892|0;gr=Zr+888|0;J=Zr+884|0;V=Zr+880|0;B=Zr+876|0;er=Zr+872|0;A=Zr+868|0;xe=Zr+864|0;Te=Zr+860|0;br=Zr+856|0;$e=Zr+852|0;jr=Zr+848|0;rr=Zr+844|0;L=Zr+840|0;ir=Zr+836|0;ur=Zr+808|0;q=Zr+804|0;W=Zr+800|0;E=Zr+796|0;T=Zr+792|0;S=Zr+788|0;R=Zr+784|0;M=Zr+780|0;O=Zr+776|0;x=Zr+772|0;P=Zr+768|0;I=Zr+680|0;U=Zr+676|0;C=Zr+672|0;D=Zr+640|0;j=Zr+632|0;N=Zr+628|0;Y=Zr+624|0;F=Zr+620|0;H=Zr+616|0;be=Zr+612|0;se=Zr+608|0;oe=Zr+604|0;le=Zr+600|0;ue=Zr+596|0;te=Zr+592|0;we=Zr+588|0;fe=Zr+584|0;ke=Zr+284|0;ne=Zr+280|0;zr=Zr+276|0;Cr=Zr+272|0;G=Zr+268|0;pe=Zr+264|0;ce=Zr+260|0;Ce=Zr+256|0;ae=Zr+252|0;Ee=Zr+248|0;Ae=Zr+244|0;Re=Zr+240|0;ye=Zr+236|0;_e=Zr+232|0;Se=Zr+1052|0;me=Zr+228|0;Me=Zr+224|0;Ie=Zr+220|0;Le=Zr+216|0;je=Zr+212|0;Be=Zr+208|0;Ge=Zr+204|0;Ue=Zr+200|0;fr=Zr+196|0;ar=Zr+192|0;or=Zr+188|0;dr=Zr+184|0;wr=Zr+1056|0;pr=Zr+180|0;kr=Zr+1054|0;lr=Zr+176|0;sr=Zr+172|0;f[qr>>2]=e;f[ve>>2]=r;f[Ur>>2]=i;f[Wr>>2]=o;f[Q>>2]=l;f[ee>>2]=u;f[y>>2]=c;f[_>>2]=b;f[ie>>2]=w;f[K>>2]=k;f[X>>2]=d;f[$>>2]=p;f[ge>>2]=v;f[Yr>>2]=0;f[Oe>>2]=0;f[yr>>2]=0;f[Dr>>2]=0;f[Nr>>2]=0;f[cr>>2]=0;f[Fr>>2]=0;f[gr>>2]=0;f[q>>2]=-1;f[W>>2]=-1;f[jr>>2]=1276<(f[Q>>2]|0)?1276:f[Q>>2]|0;f[(f[qr>>2]|0)+18216>>2]=0;if(!((((((!(f[(f[qr>>2]|0)+144>>2]|0)?((f[Ur>>2]|0)*400|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*200|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*100|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*50|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*25|0)!=(f[(f[qr>>2]|0)+132>>2]|0):0)?((f[Ur>>2]|0)*50|0)!=((f[(f[qr>>2]|0)+132>>2]|0)*3|0):0))Ir=8;if((Ir|0)==8?!((f[jr>>2]|0)<=0?1:((f[Ur>>2]|0)*400|0)<(f[(f[qr>>2]|0)+132>>2]|0)):0){f[Pe>>2]=(f[qr>>2]|0)+(f[(f[qr>>2]|0)+4>>2]|0);f[hr>>2]=(f[qr>>2]|0)+(f[f[qr>>2]>>2]|0);if((f[(f[qr>>2]|0)+96>>2]|0)==2051)f[A>>2]=0;else f[A>>2]=f[(f[qr>>2]|0)+104>>2];if((f[ee>>2]|0)<(f[(f[qr>>2]|0)+156>>2]|0))d=f[ee>>2]|0;else d=f[(f[qr>>2]|0)+156>>2]|0;f[ee>>2]=d;e=f[hr>>2]|0;f[m>>2]=ir+(((ir-ir|0)/4|0)<<2);qn(e,10015,m)|0;f[ur>>2]=0;if((f[(f[qr>>2]|0)+8+36>>2]|0)>=7?(f[(f[qr>>2]|0)+132>>2]|0)==48e3:0){f[q>>2]=f[(f[qr>>2]|0)+172+8508>>2];f[W>>2]=f[(f[qr>>2]|0)+172+8512>>2];ns((f[qr>>2]|0)+172|0,f[ir>>2]|0,f[y>>2]|0,f[_>>2]|0,f[Ur>>2]|0,f[ie>>2]|0,f[K>>2]|0,f[X>>2]|0,f[(f[qr>>2]|0)+132>>2]|0,f[ee>>2]|0,f[$>>2]|0,ur)}f[(f[qr>>2]|0)+128>>2]=-1;f[(f[qr>>2]|0)+18212>>2]=0;do{if(f[ur>>2]|0){if((f[(f[qr>>2]|0)+112>>2]|0)==-1e3){m=~~+z(+((1-+s[ur+20>>2])*100+.5));f[(f[qr>>2]|0)+128>>2]=m}f[E>>2]=f[ur+24>>2];if((f[E>>2]|0)<=12){f[(f[qr>>2]|0)+18212>>2]=1101;break}if((f[E>>2]|0)<=14){f[(f[qr>>2]|0)+18212>>2]=1102;break}if((f[E>>2]|0)<=16){f[(f[qr>>2]|0)+18212>>2]=1103;break}d=(f[qr>>2]|0)+18212|0;if((f[E>>2]|0)<=18){f[d>>2]=1104;break}else{f[d>>2]=1105;break}}}while(0);if((f[(f[qr>>2]|0)+100>>2]|0)==2?(f[(f[qr>>2]|0)+108>>2]|0)!=1:0)s[L>>2]=+Cl(f[ve>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+132>>2]|0,(f[qr>>2]|0)+14352|0);else s[L>>2]=0;f[rr>>2]=f[A>>2];A=Bl(f[qr>>2]|0,f[Ur>>2]|0,f[jr>>2]|0)|0;f[(f[qr>>2]|0)+148>>2]=A;f[xe>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0;do{if((f[jr>>2]|0)>=3?(f[(f[qr>>2]|0)+148>>2]|0)>=((f[xe>>2]|0)*3<<3|0):0){if((f[xe>>2]|0)<50){if((re(f[jr>>2]|0,f[xe>>2]|0)|0)<300)break;if((f[(f[qr>>2]|0)+148>>2]|0)<2400)break}if(!(f[(f[qr>>2]|0)+136>>2]|0)){if((((f[(f[qr>>2]|0)+148>>2]|0)+(f[xe>>2]<<2)|0)/(f[xe>>2]<<3|0)|0|0)<(f[jr>>2]|0))d=((f[(f[qr>>2]|0)+148>>2]|0)+(f[xe>>2]<<2)|0)/(f[xe>>2]<<3|0)|0;else d=f[jr>>2]|0;f[R>>2]=d;T=re(f[R>>2]|0,f[xe>>2]<<3)|0;f[(f[qr>>2]|0)+148>>2]=T;f[jr>>2]=f[R>>2]}f[Te>>2]=(re(f[xe>>2]|0,f[jr>>2]|0)|0)<<3;f[er>>2]=(f[(f[qr>>2]|0)+148>>2]|0)-(re(((f[(f[qr>>2]|0)+100>>2]|0)*40|0)+20|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0);do{if((f[(f[qr>>2]|0)+112>>2]|0)!=3001){if((f[(f[qr>>2]|0)+112>>2]|0)==3002){f[B>>2]=0;break}d=f[qr>>2]|0;if((f[(f[qr>>2]|0)+128>>2]|0)>=0){f[B>>2]=(f[d+128>>2]|0)*327>>8;if((f[(f[qr>>2]|0)+96>>2]|0)!=2049)break;f[B>>2]=(f[B>>2]|0)<115?f[B>>2]|0:115;break}if((f[d+96>>2]|0)==2048){f[B>>2]=115;break}else{f[B>>2]=48;break}}else f[B>>2]=127}while(0);if((f[(f[qr>>2]|0)+108>>2]|0)!=-1e3?(f[(f[qr>>2]|0)+100>>2]|0)==2:0)f[(f[qr>>2]|0)+14288>>2]=f[(f[qr>>2]|0)+108>>2];else Ir=73;do{if((Ir|0)==73){if((f[(f[qr>>2]|0)+100>>2]|0)!=2){f[(f[qr>>2]|0)+14288>>2]=f[(f[qr>>2]|0)+100>>2];break}f[M>>2]=3e4;d=f[M>>2]|0;if((f[(f[qr>>2]|0)+14288>>2]|0)==2)f[M>>2]=d-1e3;else f[M>>2]=d+1e3;f[(f[qr>>2]|0)+14288>>2]=(f[er>>2]|0)>(f[M>>2]|0)?2:1}}while(0);f[er>>2]=(f[(f[qr>>2]|0)+148>>2]|0)-(re(((f[(f[qr>>2]|0)+14288>>2]|0)*40|0)+20|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0);d=f[qr>>2]|0;do{if((f[(f[qr>>2]|0)+96>>2]|0)==2051)f[d+14320>>2]=1002;else{if((f[d+124>>2]|0)!=-1e3){f[(f[qr>>2]|0)+14320>>2]=f[(f[qr>>2]|0)+124>>2];break}f[O>>2]=~~((1-+s[L>>2])*+(f[4508]|0)+ +s[L>>2]*+(f[4510]|0));f[x>>2]=~~((1-+s[L>>2])*+(f[4511]|0)+ +s[L>>2]*+(f[4511]|0));L=re(f[B>>2]|0,f[B>>2]|0)|0;f[P>>2]=(f[x>>2]|0)+((re(L,(f[O>>2]|0)-(f[x>>2]|0)|0)|0)>>14);if((f[(f[qr>>2]|0)+96>>2]|0)==2048)f[P>>2]=(f[P>>2]|0)+8e3;do{if((f[(f[qr>>2]|0)+14324>>2]|0)==1002)f[P>>2]=(f[P>>2]|0)-4e3;else{if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;f[P>>2]=(f[P>>2]|0)+4e3}}while(0);f[(f[qr>>2]|0)+14320>>2]=(f[er>>2]|0)>=(f[P>>2]|0)?1002:1e3;do{if(f[(f[qr>>2]|0)+8+40>>2]|0){if((f[(f[qr>>2]|0)+8+32>>2]|0)<=(128-(f[B>>2]|0)>>4|0))break;f[(f[qr>>2]|0)+14320>>2]=1e3}}while(0);if(!((f[B>>2]|0)>100?(f[(f[qr>>2]|0)+8+44>>2]|0)!=0:0))break;f[(f[qr>>2]|0)+14320>>2]=1e3}}while(0);if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[Ur>>2]|0)<((f[(f[qr>>2]|0)+132>>2]|0)/100|0|0):0)f[(f[qr>>2]|0)+14320>>2]=1002;if(f[(f[qr>>2]|0)+164>>2]|0)f[(f[qr>>2]|0)+14320>>2]=1002;P=re((f[xe>>2]|0)>50?12e3:8e3,f[Ur>>2]|0)|0;if((f[jr>>2]|0)<((P|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0|0))f[(f[qr>>2]|0)+14320>>2]=1002;do{if((f[(f[qr>>2]|0)+14288>>2]|0)==1){if((f[(f[qr>>2]|0)+14328>>2]|0)!=2){Ir=107;break}if(f[(f[qr>>2]|0)+8+56>>2]|0){Ir=107;break}if((f[(f[qr>>2]|0)+14320>>2]|0)==1002){Ir=107;break}if((f[(f[qr>>2]|0)+14324>>2]|0)==1002){Ir=107;break}f[(f[qr>>2]|0)+8+56>>2]=1;f[(f[qr>>2]|0)+14288>>2]=2}else Ir=107}while(0);if((Ir|0)==107)f[(f[qr>>2]|0)+8+56>>2]=0;do{if((f[(f[qr>>2]|0)+14324>>2]|0)>0){if(!((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[(f[qr>>2]|0)+14324>>2]|0)==1002:0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)break;if((f[(f[qr>>2]|0)+14324>>2]|0)==1002)break}f[Dr>>2]=1;f[cr>>2]=(f[(f[qr>>2]|0)+14320>>2]|0)!=1002&1;if(f[cr>>2]|0)break;if((f[Ur>>2]|0)>=((f[(f[qr>>2]|0)+132>>2]|0)/100|0|0)){f[(f[qr>>2]|0)+14320>>2]=f[(f[qr>>2]|0)+14324>>2];f[Fr>>2]=1;break}else{f[Dr>>2]=0;break}}}while(0);if(f[(f[qr>>2]|0)+14340>>2]|0){f[Dr>>2]=1;f[cr>>2]=1;f[(f[qr>>2]|0)+14340>>2]=0;f[Oe>>2]=1}do{if(f[Dr>>2]|0){P=re(f[jr>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0;if(257<((P|0)/((f[Ur>>2]|0)+((f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0)|0|0))d=257;else{d=re(f[jr>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0;d=(d|0)/((f[Ur>>2]|0)+((f[(f[qr>>2]|0)+132>>2]|0)/200|0)|0)|0}f[Nr>>2]=d;if(!(f[(f[qr>>2]|0)+136>>2]|0))break;if((f[Nr>>2]|0)<((f[(f[qr>>2]|0)+148>>2]|0)/1600|0|0))d=f[Nr>>2]|0;else d=(f[(f[qr>>2]|0)+148>>2]|0)/1600|0;f[Nr>>2]=d}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){if((f[(f[qr>>2]|0)+14324>>2]|0)!=1002)break;po(f[Pe>>2]|0,f[(f[qr>>2]|0)+168>>2]|0,I)|0;f[Oe>>2]=1}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){if(f[(f[qr>>2]|0)+14344>>2]|0){Ir=133;break}if(f[(f[qr>>2]|0)+8+72>>2]|0)Ir=133}else Ir=133}while(0);do{if((Ir|0)==133){f[j>>2]=1105;f[N>>2]=f[er>>2];do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){f[N>>2]=(re(f[N>>2]|0,45+(f[(f[qr>>2]|0)+8+36>>2]|0)|0)|0)/50|0;if(f[(f[qr>>2]|0)+136>>2]|0)break;f[N>>2]=(f[N>>2]|0)-1e3}}while(0);do{if((f[(f[qr>>2]|0)+100>>2]|0)==2){if((f[(f[qr>>2]|0)+108>>2]|0)==1){Ir=139;break}f[U>>2]=18048;f[C>>2]=18080}else Ir=139}while(0);if((Ir|0)==139){f[U>>2]=18112;f[C>>2]=18144}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=8)break;I=re(f[B>>2]|0,f[B>>2]|0)|0;I=(f[(f[C>>2]|0)+(f[Ke>>2]<<2)>>2]|0)+((re(I,(f[(f[U>>2]|0)+(f[Ke>>2]<<2)>>2]|0)-(f[(f[C>>2]|0)+(f[Ke>>2]<<2)>>2]|0)|0)|0)>>14)|0;f[D+(f[Ke>>2]<<2)>>2]=I;f[Ke>>2]=(f[Ke>>2]|0)+1}do{f[Y>>2]=f[D+((f[j>>2]|0)-1102<<1<<2)>>2];f[F>>2]=f[D+(((f[j>>2]|0)-1102<<1)+1<<2)>>2];do{if(!(f[(f[qr>>2]|0)+14344>>2]|0)){d=f[F>>2]|0;c=f[Y>>2]|0;if((f[(f[qr>>2]|0)+14336>>2]|0)>=(f[j>>2]|0)){f[Y>>2]=c-d;break}else{f[Y>>2]=c+d;break}}}while(0);if((f[N>>2]|0)>=(f[Y>>2]|0))break;B=(f[j>>2]|0)+-1|0;f[j>>2]=B}while((B|0)>1101);f[(f[qr>>2]|0)+14336>>2]=f[j>>2];if(f[(f[qr>>2]|0)+14344>>2]|0)break;if((f[(f[qr>>2]|0)+14320>>2]|0)==1002)break;if(f[(f[qr>>2]|0)+8+76>>2]|0)break;if((f[(f[qr>>2]|0)+14336>>2]|0)<=1103)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);if((f[(f[qr>>2]|0)+14336>>2]|0)>(f[(f[qr>>2]|0)+120>>2]|0))f[(f[qr>>2]|0)+14336>>2]=f[(f[qr>>2]|0)+120>>2];if((f[(f[qr>>2]|0)+116>>2]|0)!=-1e3)f[(f[qr>>2]|0)+14336>>2]=f[(f[qr>>2]|0)+116>>2];if((f[Te>>2]|0)<15e3?(f[(f[qr>>2]|0)+14320>>2]|0)!=1002:0){if((f[(f[qr>>2]|0)+14336>>2]|0)<1103)d=f[(f[qr>>2]|0)+14336>>2]|0;else d=1103;f[(f[qr>>2]|0)+14336>>2]=d}do{if((f[(f[qr>>2]|0)+132>>2]|0)<=24e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1104)break;f[(f[qr>>2]|0)+14336>>2]=1104}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=16e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1103)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=12e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1102)break;f[(f[qr>>2]|0)+14336>>2]=1102}}while(0);do{if((f[(f[qr>>2]|0)+132>>2]|0)<=8e3){if((f[(f[qr>>2]|0)+14336>>2]|0)<=1101)break;f[(f[qr>>2]|0)+14336>>2]=1101}}while(0);do{if(f[(f[qr>>2]|0)+18212>>2]|0){if((f[(f[qr>>2]|0)+116>>2]|0)!=-1e3)break;do{if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*18e3|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){Ir=179;break}f[H>>2]=1101}else Ir=179}while(0);e:do{if((Ir|0)==179){do{if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*24e3|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)break;f[H>>2]=1102;break e}}while(0);if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*3e4|0)){f[H>>2]=1103;break}if((f[er>>2]|0)<=((f[(f[qr>>2]|0)+14288>>2]|0)*44e3|0)){f[H>>2]=1104;break}else{f[H>>2]=1105;break}}}while(0);if((f[(f[qr>>2]|0)+18212>>2]|0)>(f[H>>2]|0))d=f[(f[qr>>2]|0)+18212>>2]|0;else d=f[H>>2]|0;f[(f[qr>>2]|0)+18212>>2]=d;d=f[qr>>2]|0;if((f[(f[qr>>2]|0)+14336>>2]|0)<(f[(f[qr>>2]|0)+18212>>2]|0))d=f[d+14336>>2]|0;else d=f[d+18212>>2]|0;f[(f[qr>>2]|0)+14336>>2]=d}}while(0);H=f[hr>>2]|0;f[Z>>2]=f[ee>>2];qn(H,4036,Z)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1002){if((f[(f[qr>>2]|0)+14336>>2]|0)!=1102)break;f[(f[qr>>2]|0)+14336>>2]=1103}}while(0);if(f[(f[qr>>2]|0)+164>>2]|0)f[(f[qr>>2]|0)+14336>>2]=1101;do{if((f[Ur>>2]|0)>((f[(f[qr>>2]|0)+132>>2]|0)/50|0|0)){if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002?(f[(f[qr>>2]|0)+14336>>2]|0)<=1103:0)break;if((f[q>>2]|0)!=-1){f[(f[qr>>2]|0)+172+8508>>2]=f[q>>2];f[(f[qr>>2]|0)+172+8512>>2]=f[W>>2]}f[be>>2]=(f[Ur>>2]|0)>((f[(f[qr>>2]|0)+132>>2]|0)/25|0|0)?3:2;if(1276<(((f[Q>>2]|0)-3|0)/(f[be>>2]|0)|0|0))d=1276;else d=((f[Q>>2]|0)-3|0)/(f[be>>2]|0)|0;f[te>>2]=d;d=re(f[be>>2]|0,f[te>>2]|0)|0;f[fe>>2]=he()|0;c=h;h=h+((1*d|0)+15&-16)|0;Gl(ke)|0;f[se>>2]=f[(f[qr>>2]|0)+124>>2];f[oe>>2]=f[(f[qr>>2]|0)+116>>2];f[le>>2]=f[(f[qr>>2]|0)+108>>2];f[(f[qr>>2]|0)+124>>2]=f[(f[qr>>2]|0)+14320>>2];f[(f[qr>>2]|0)+116>>2]=f[(f[qr>>2]|0)+14336>>2];f[(f[qr>>2]|0)+108>>2]=f[(f[qr>>2]|0)+14288>>2];f[ue>>2]=f[(f[qr>>2]|0)+8+56>>2];d=f[qr>>2]|0;if(f[ue>>2]|0)f[d+108>>2]=1;else f[(f[qr>>2]|0)+14328>>2]=f[d+14288>>2];f[Ke>>2]=0;while(1){d=f[qr>>2]|0;if((f[Ke>>2]|0)>=(f[be>>2]|0)){Ir=219;break}f[d+8+56>>2]=0;do{if(f[Fr>>2]|0){if((f[Ke>>2]|0)!=((f[be>>2]|0)-1|0))break;f[(f[qr>>2]|0)+124>>2]=1002}}while(0);Dr=(f[ve>>2]|0)+((re(f[Ke>>2]|0,(re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/50|0)|0)<<2)|0;Nr=c+(re(f[Ke>>2]|0,f[te>>2]|0)|0)|0;f[ne>>2]=Ul(f[qr>>2]|0,Dr,(f[(f[qr>>2]|0)+132>>2]|0)/50|0,Nr,f[te>>2]|0,f[ee>>2]|0,0,0,f[ie>>2]|0,f[K>>2]|0,f[X>>2]|0,f[$>>2]|0,f[ge>>2]|0)|0;if((f[ne>>2]|0)<0){Ir=215;break}Nr=c+(re(f[Ke>>2]|0,f[te>>2]|0)|0)|0;f[Yr>>2]=Kl(ke,Nr,f[ne>>2]|0)|0;if((f[Yr>>2]|0)<0){Ir=217;break}f[Ke>>2]=(f[Ke>>2]|0)+1}do{if((Ir|0)==215){f[Hr>>2]=-3;f[zr>>2]=1}else if((Ir|0)==217){f[Hr>>2]=-3;f[zr>>2]=1}else if((Ir|0)==219){if(f[d+136>>2]|0)f[we>>2]=f[Q>>2];else{if((((f[(f[qr>>2]|0)+148>>2]|0)*3|0)/(1200/(f[be>>2]|0)|0|0)|0|0)<(f[Q>>2]|0))d=((f[(f[qr>>2]|0)+148>>2]|0)*3|0)/(1200/(f[be>>2]|0)|0|0)|0;else d=f[Q>>2]|0;f[we>>2]=d}f[Yr>>2]=$l(ke,0,f[be>>2]|0,f[Wr>>2]|0,f[we>>2]|0,0,((f[(f[qr>>2]|0)+136>>2]|0)!=0^1)&1)|0;if((f[Yr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break}else{f[(f[qr>>2]|0)+124>>2]=f[se>>2];f[(f[qr>>2]|0)+116>>2]=f[oe>>2];f[(f[qr>>2]|0)+108>>2]=f[le>>2];f[(f[qr>>2]|0)+8+56>>2]=f[ue>>2];f[Hr>>2]=f[Yr>>2];f[zr>>2]=1;break}}}while(0);de(f[fe>>2]|0);Wr=f[Hr>>2]|0;h=Zr;return Wr|0}}while(0);f[br>>2]=f[(f[qr>>2]|0)+14336>>2];if((f[br>>2]|0)>1103?(f[(f[qr>>2]|0)+14320>>2]|0)==1e3:0)f[(f[qr>>2]|0)+14320>>2]=1001;if((f[br>>2]|0)<=1103?(f[(f[qr>>2]|0)+14320>>2]|0)==1001:0)f[(f[qr>>2]|0)+14320>>2]=1e3;ke=re(f[(f[qr>>2]|0)+148>>2]|0,f[Ur>>2]|0)|0;if(((f[jr>>2]|0)-(f[Nr>>2]|0)|0)<((ke|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0|0))d=(f[jr>>2]|0)-(f[Nr>>2]|0)|0;else{d=re(f[(f[qr>>2]|0)+148>>2]|0,f[Ur>>2]|0)|0;d=(d|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0}f[Je>>2]=d-1;f[Wr>>2]=(f[Wr>>2]|0)+1;qe(Br,f[Wr>>2]|0,(f[jr>>2]|0)-1|0);we=re((f[rr>>2]|0)+(f[Ur>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;f[Cr>>2]=he()|0;b=h;h=h+((1*(we<<2)|0)+15&-16)|0;we=re((f[(f[qr>>2]|0)+160>>2]|0)-(f[rr>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;ke=(re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs(b|0,(f[qr>>2]|0)+14372+(we<<2)|0,ke+0|0)|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1002)f[V>>2]=(Ba(60)|0)<<8;else f[V>>2]=f[(f[Pe>>2]|0)+8>>2];f[(f[qr>>2]|0)+14296>>2]=(f[(f[qr>>2]|0)+14296>>2]|0)+((((f[V>>2]|0)-(f[(f[qr>>2]|0)+14296>>2]|0)>>16)*983|0)+(((f[V>>2]|0)-(f[(f[qr>>2]|0)+14296>>2]|0)&65535)*983>>16));f[J>>2]=Fa(f[(f[qr>>2]|0)+14296>>2]>>8)|0;d=f[ve>>2]|0;if((f[(f[qr>>2]|0)+96>>2]|0)==2048){ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;Dl(d,f[J>>2]|0,ve,(f[qr>>2]|0)+14304|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)}else{ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;Fl(d,3,ve,(f[qr>>2]|0)+14304|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)}do{if(f[ge>>2]|0){ve=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;ge=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;s[G>>2]=+zl(ve,ge,re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0);if(+s[G>>2]<1e9?!(+s[G>>2]!=+s[G>>2]):0)break;ge=b+((re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;vs(ge|0,0,(re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2|0)|0;s[(f[qr>>2]|0)+14304+12>>2]=0;s[(f[qr>>2]|0)+14304+8>>2]=0;s[(f[qr>>2]|0)+14304+4>>2]=0;s[(f[qr>>2]|0)+14304>>2]=0}}while(0);s[$e>>2]=1;if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){ge=re(f[(f[qr>>2]|0)+100>>2]|0,f[Ur>>2]|0)|0;f[Ce>>2]=he()|0;c=h;h=h+((1*(ge<<1)|0)+15&-16)|0;f[pe>>2]=re(f[Je>>2]<<3,f[xe>>2]|0)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){d=re(f[(f[qr>>2]|0)+14288>>2]|0,5e3+(((f[(f[qr>>2]|0)+132>>2]|0)==((f[Ur>>2]|0)*100|0)&1)*1e3|0)|0)|0;f[(f[qr>>2]|0)+8+28>>2]=d;d=(f[pe>>2]|0)-(f[(f[qr>>2]|0)+8+28>>2]|0)|0;if((f[br>>2]|0)==1104){ge=(f[qr>>2]|0)+8+28|0;f[ge>>2]=(f[ge>>2]|0)+((d<<1|0)/3|0)}else{ge=(f[qr>>2]|0)+8+28|0;f[ge>>2]=(f[ge>>2]|0)+((d*3|0)/5|0)}if((f[(f[qr>>2]|0)+8+28>>2]|0)>((f[pe>>2]<<2|0)/5|0|0))f[(f[qr>>2]|0)+8+28>>2]=(f[pe>>2]<<2|0)/5|0;if(f[(f[qr>>2]|0)+14348>>2]|0)break;f[ce>>2]=(f[pe>>2]|0)-(f[(f[qr>>2]|0)+8+28>>2]|0);f[ae>>2]=(f[br>>2]|0)==1104?3e3:3600;s[$e>>2]=+(f[ce>>2]|0)/(+(f[ce>>2]|0)+ +(re(f[(f[qr>>2]|0)+14288>>2]|0,f[ae>>2]|0)|0));s[$e>>2]=+s[$e>>2]<.8571428656578064?+s[$e>>2]+.1428571492433548:1}else f[(f[qr>>2]|0)+8+28>>2]=f[pe>>2]}while(0);do{if(f[(f[qr>>2]|0)+14348>>2]|0){if(!(f[(f[qr>>2]|0)+136>>2]|0))break;if(f[(f[qr>>2]|0)+164>>2]|0)break;s[Ee>>2]=0;f[_e>>2]=17;n[Se>>1]=16e3;do{if((f[(f[qr>>2]|0)+14336>>2]|0)==1101){f[_e>>2]=13;n[Se>>1]=8e3}else{if((f[(f[qr>>2]|0)+14336>>2]|0)!=1102)break;f[_e>>2]=15;n[Se>>1]=12e3}}while(0);f[ye>>2]=0;while(1){if((f[ye>>2]|0)>=(f[(f[qr>>2]|0)+100>>2]|0))break;f[Ke>>2]=0;while(1){d=f[ye>>2]|0;if((f[Ke>>2]|0)>=(f[_e>>2]|0))break;if(+s[(f[(f[qr>>2]|0)+14348>>2]|0)+((d*21|0)+(f[Ke>>2]|0)<<2)>>2]<.5)g=+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2];else g=.5;do{if(g>-2){if(!(+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2]<.5)){g=.5;break}g=+s[(f[(f[qr>>2]|0)+14348>>2]|0)+(((f[ye>>2]|0)*21|0)+(f[Ke>>2]|0)<<2)>>2]}else g=-2}while(0);s[me>>2]=g;if(+s[me>>2]>0)s[me>>2]=+s[me>>2]*.5;s[Ee>>2]=+s[Ee>>2]+ +s[me>>2];f[Ke>>2]=(f[Ke>>2]|0)+1}f[ye>>2]=d+1}s[Ae>>2]=+s[Ee>>2]/+(f[_e>>2]|0)*+(f[(f[qr>>2]|0)+100>>2]|0);s[Ae>>2]=+s[Ae>>2]+.20000000298023224;f[Re>>2]=~~(+(n[Se>>1]|0)*+s[Ae>>2]);if((f[Re>>2]|0)>((re(-2,f[(f[qr>>2]|0)+8+28>>2]|0)|0)/3|0|0))d=f[Re>>2]|0;else d=(re(-2,f[(f[qr>>2]|0)+8+28>>2]|0)|0)/3|0;f[Re>>2]=d;do{if((f[(f[qr>>2]|0)+14336>>2]|0)==1104)Ir=281;else{if((f[(f[qr>>2]|0)+14336>>2]|0)==1105){Ir=281;break}Se=(f[qr>>2]|0)+8+28|0;f[Se>>2]=(f[Se>>2]|0)+(f[Re>>2]|0)}}while(0);if((Ir|0)==281){Se=(f[qr>>2]|0)+8+28|0;f[Se>>2]=(f[Se>>2]|0)+(((f[Re>>2]|0)*3|0)/5|0)}Re=re(f[Re>>2]|0,f[Ur>>2]|0)|0;f[Je>>2]=(f[Je>>2]|0)+((Re|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0)}}while(0);f[(f[qr>>2]|0)+8+24>>2]=((f[Ur>>2]|0)*1e3|0)/(f[(f[qr>>2]|0)+132>>2]|0)|0;f[(f[qr>>2]|0)+8>>2]=f[(f[qr>>2]|0)+100>>2];f[(f[qr>>2]|0)+8+4>>2]=f[(f[qr>>2]|0)+14288>>2];do{if((f[br>>2]|0)!=1101){d=(f[qr>>2]|0)+8+20|0;if((f[br>>2]|0)==1102){f[d>>2]=12e3;break}else{f[d>>2]=16e3;break}}else f[(f[qr>>2]|0)+8+20>>2]=8e3}while(0);d=(f[qr>>2]|0)+8+16|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[d>>2]=16e3;else f[d>>2]=8e3;do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1e3){f[Me>>2]=f[Te>>2];f[(f[qr>>2]|0)+8+12>>2]=16e3;if((f[xe>>2]|0)>50)f[Me>>2]=(f[Me>>2]<<1|0)/3|0;if((f[Me>>2]|0)<13e3){f[(f[qr>>2]|0)+8+12>>2]=12e3;if(12e3<(f[(f[qr>>2]|0)+8+20>>2]|0))d=12e3;else d=f[(f[qr>>2]|0)+8+20>>2]|0;f[(f[qr>>2]|0)+8+20>>2]=d}if((f[Me>>2]|0)>=9600)break;f[(f[qr>>2]|0)+8+12>>2]=8e3;if(8e3<(f[(f[qr>>2]|0)+8+20>>2]|0))d=8e3;else d=f[(f[qr>>2]|0)+8+20>>2]|0;f[(f[qr>>2]|0)+8+20>>2]=d}else f[(f[qr>>2]|0)+8+12>>2]=16e3}while(0);f[(f[qr>>2]|0)+8+48>>2]=((f[(f[qr>>2]|0)+136>>2]|0)!=0^1)&1;if(1275<((f[jr>>2]|0)-1-(f[Nr>>2]|0)|0))d=1275;else d=(f[jr>>2]|0)-1-(f[Nr>>2]|0)|0;f[De>>2]=d;f[(f[qr>>2]|0)+8+52>>2]=f[De>>2]<<3;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[(f[qr>>2]|0)+8+52>>2]=((f[(f[qr>>2]|0)+8+52>>2]|0)*9|0)/10|0;if(f[(f[qr>>2]|0)+8+48>>2]|0){xe=re(f[(f[qr>>2]|0)+8+28>>2]|0,f[Ur>>2]|0)|0;f[(f[qr>>2]|0)+8+52>>2]=((xe|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0)<<3;if(1>((f[(f[qr>>2]|0)+8+28>>2]|0)-2e3|0))d=1;else d=(f[(f[qr>>2]|0)+8+28>>2]|0)-2e3|0;f[(f[qr>>2]|0)+8+28>>2]=d}if(f[Oe>>2]|0){f[Ie>>2]=0;f[Le>>2]=re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[(f[qr>>2]|0)+104>>2]|0)-((f[(f[qr>>2]|0)+132>>2]|0)/400|0)|0)|0;Yl((f[qr>>2]|0)+14372+(f[Le>>2]<<2)|0,(f[qr>>2]|0)+14372+(f[Le>>2]<<2)|0,0,1,f[(f[ir>>2]|0)+4>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/400|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);vs((f[qr>>2]|0)+14372|0,0,f[Le>>2]<<2|0)|0;f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[(f[qr>>2]|0)+160>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0))break;Le=Hl(+s[(f[qr>>2]|0)+14372+(f[Ke>>2]<<2)>>2])|0;n[c+(f[Ke>>2]<<1)>>1]=Le;f[Ke>>2]=(f[Ke>>2]|0)+1}go(f[Pe>>2]|0,(f[qr>>2]|0)+8|0,c,f[(f[qr>>2]|0)+160>>2]|0,0,Ie,1)|0}f[Ke>>2]=0;while(1){if((f[Ke>>2]|0)>=(re(f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0))break;Ie=re(f[rr>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0;Ie=Hl(+s[b+(Ie+(f[Ke>>2]|0)<<2)>>2])|0;n[c+(f[Ke>>2]<<1)>>1]=Ie;f[Ke>>2]=(f[Ke>>2]|0)+1}f[Yr>>2]=go(f[Pe>>2]|0,(f[qr>>2]|0)+8|0,c,f[Ur>>2]|0,Br,De,0)|0;do{if(f[Yr>>2]|0){f[Hr>>2]=-3;f[zr>>2]=1}else{d=f[qr>>2]|0;if(!(f[De>>2]|0)){f[d+18216>>2]=0;Ke=jl(f[(f[qr>>2]|0)+14320>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0,f[br>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[(f[Wr>>2]|0)+-1>>0]=Ke;f[Hr>>2]=1;f[zr>>2]=1;break}do{if((f[d+14320>>2]|0)==1e3){if((f[(f[qr>>2]|0)+8+68>>2]|0)==8e3){f[br>>2]=1101;break}if((f[(f[qr>>2]|0)+8+68>>2]|0)==12e3){f[br>>2]=1102;break}if((f[(f[qr>>2]|0)+8+68>>2]|0)!=16e3)break;f[br>>2]=1103}}while(0);f[(f[qr>>2]|0)+8+60>>2]=f[(f[qr>>2]|0)+8+84>>2];if(f[(f[qr>>2]|0)+8+60>>2]|0){f[Dr>>2]=1;f[cr>>2]=0;f[(f[qr>>2]|0)+14340>>2]=1}f[zr>>2]=0}}while(0);de(f[Ce>>2]|0);if(!(f[zr>>2]|0))Ir=335}else Ir=335;e:do{if((Ir|0)==335){f[je>>2]=21;switch(f[br>>2]|0){case 1101:{f[je>>2]=13;break}case 1103:case 1102:{f[je>>2]=17;break}case 1104:{f[je>>2]=19;break}case 1105:{f[je>>2]=21;break}default:{}}Ke=f[hr>>2]|0;f[Ne>>2]=f[je>>2];qn(Ke,10012,Ne)|0;Ke=f[hr>>2]|0;f[Fe>>2]=f[(f[qr>>2]|0)+14288>>2];qn(Ke,10008,Fe)|0;Ke=f[hr>>2]|0;f[ze>>2]=-1;qn(Ke,4002,ze)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){s[Be>>2]=2;Ke=f[hr>>2]|0;f[Ye>>2]=0;qn(Ke,4006,Ye)|0;if(f[(f[qr>>2]|0)+8+64>>2]|0)s[Be>>2]=0;Ke=f[hr>>2]|0;f[He>>2]=~~+s[Be>>2];qn(Ke,10002,He)|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){f[Ge>>2]=(ql(Br)|0)+7>>3;if(f[Dr>>2]|0)f[Ge>>2]=(f[Ge>>2]|0)+((f[(f[qr>>2]|0)+14320>>2]|0)==1001?3:1);d=f[Ge>>2]|0;c=f[Je>>2]|0;if(f[(f[qr>>2]|0)+136>>2]|0){Ke=re(f[(f[qr>>2]|0)+8+28>>2]|0,f[Ur>>2]|0)|0;f[vr>>2]=d+c-((Ke|0)/(f[(f[qr>>2]|0)+132>>2]<<3|0)|0);break}else{f[vr>>2]=(d|0)>(c|0)?f[Ge>>2]|0:f[Je>>2]|0;break}}if(!(f[(f[qr>>2]|0)+136>>2]|0)){f[vr>>2]=f[Je>>2];break}f[Ue>>2]=0;do{if((f[(f[qr>>2]|0)+144>>2]|0)==5010){if((f[Ur>>2]|0)==((f[(f[qr>>2]|0)+132>>2]|0)/50|0|0))break;f[Ue>>2]=re(((f[(f[qr>>2]|0)+14288>>2]|0)*60|0)+40|0,((f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0)-50|0)|0;if(!(f[ur>>2]|0))break;f[Ue>>2]=~~(+(f[Ue>>2]|0)*(+s[ur+4>>2]*.5+1))}}while(0);Ke=f[hr>>2]|0;f[We>>2]=1;qn(Ke,4006,We)|0;Ke=f[hr>>2]|0;f[Ze>>2]=f[(f[qr>>2]|0)+140>>2];qn(Ke,4020,Ze)|0;Ke=f[hr>>2]|0;f[Ve>>2]=(f[(f[qr>>2]|0)+148>>2]|0)+(f[Ue>>2]|0);qn(Ke,4002,Ve)|0;f[vr>>2]=(f[jr>>2]|0)-1-(f[Nr>>2]|0)}else f[vr>>2]=0}while(0);Ke=((re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/400|0)<<2;c=h;h=h+((1*Ke|0)+15&-16)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){if((f[(f[qr>>2]|0)+14320>>2]|0)==(f[(f[qr>>2]|0)+14324>>2]|0))break;if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;Ge=re((f[(f[qr>>2]|0)+160>>2]|0)-(f[rr>>2]|0)-((f[(f[qr>>2]|0)+132>>2]|0)/400|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0;Ke=((re(f[(f[qr>>2]|0)+100>>2]|0,f[(f[qr>>2]|0)+132>>2]|0)|0)/400|0)<<2;gs(c|0,(f[qr>>2]|0)+14372+(Ge<<2)|0,Ke+0|0)|0}}while(0);Ke=(re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-((f[Ur>>2]|0)+(f[rr>>2]|0))|0)|0)>0;d=(f[qr>>2]|0)+14372|0;if(Ke){Ge=re(f[(f[qr>>2]|0)+100>>2]|0,f[Ur>>2]|0)|0;Ke=(re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[Ur>>2]|0)-(f[rr>>2]|0)|0)|0)<<2;ys(d|0,(f[qr>>2]|0)+14372+(Ge<<2)|0,Ke+0|0)|0;Ke=re(f[(f[qr>>2]|0)+100>>2]|0,(f[(f[qr>>2]|0)+160>>2]|0)-(f[Ur>>2]|0)-(f[rr>>2]|0)|0)|0;rr=(re((f[Ur>>2]|0)+(f[rr>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs((f[qr>>2]|0)+14372+(Ke<<2)|0,b|0,rr+0|0)|0}else{Ke=b+((re((f[Ur>>2]|0)+(f[rr>>2]|0)-(f[(f[qr>>2]|0)+160>>2]|0)|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2)|0;rr=(re(f[(f[qr>>2]|0)+160>>2]|0,f[(f[qr>>2]|0)+100>>2]|0)|0)<<2;gs(d|0,Ke|0,rr+0|0)|0}if(+s[$e>>2]<1?1:+s[(f[qr>>2]|0)+14300>>2]<1)Yl(b,b,+s[(f[qr>>2]|0)+14300>>2],+s[$e>>2],f[(f[ir>>2]|0)+4>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);s[(f[qr>>2]|0)+14300>>2]=+s[$e>>2];if(!((f[(f[qr>>2]|0)+14320>>2]|0)==1001?(f[(f[qr>>2]|0)+14288>>2]|0)!=1:0)){if(16384<((0>((f[er>>2]|0)-3e4|0)?0:(f[er>>2]|0)-3e4|0)<<1|0))d=16384;else d=(0>((f[er>>2]|0)-3e4|0)?0:(f[er>>2]|0)-3e4|0)<<1;f[(f[qr>>2]|0)+8+80>>2]=d}do{if(!(f[(f[qr>>2]|0)+14348>>2]|0)){if((f[(f[qr>>2]|0)+100>>2]|0)!=2)break;if((n[(f[qr>>2]|0)+14292>>1]|0)>=16384?(f[(f[qr>>2]|0)+8+80>>2]|0)>=16384:0)break;s[fr>>2]=+(n[(f[qr>>2]|0)+14292>>1]|0);s[ar>>2]=+(f[(f[qr>>2]|0)+8+80>>2]|0);s[fr>>2]=+s[fr>>2]*6103515625e-14;s[ar>>2]=+s[ar>>2]*6103515625e-14;Wl(b,b,+s[fr>>2],+s[ar>>2],f[(f[ir>>2]|0)+4>>2]|0,f[Ur>>2]|0,f[(f[qr>>2]|0)+100>>2]|0,f[(f[ir>>2]|0)+60>>2]|0,f[(f[qr>>2]|0)+132>>2]|0);n[(f[qr>>2]|0)+14292>>1]=f[(f[qr>>2]|0)+8+80>>2]}}while(0);do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002){ar=(ql(Br)|0)+17|0;if((ar+(((f[(f[qr>>2]|0)+14320>>2]|0)==1001&1)*20|0)|0)>((f[jr>>2]|0)-1<<3|0)){Ir=393;break}do{if((f[(f[qr>>2]|0)+14320>>2]|0)==1001){if((f[Dr>>2]|0)==0?(ar=(ql(Br)|0)+37|0,(ar|0)>(f[vr>>2]<<3|0)):0)break;Xe(Br,f[Dr>>2]|0,12)}}while(0);if(!(f[Dr>>2]|0))break;Xe(Br,f[cr>>2]|0,1);d=(f[jr>>2]|0)-1|0;if((f[(f[qr>>2]|0)+14320>>2]|0)==1001)f[or>>2]=d-(f[vr>>2]|0);else f[or>>2]=d-((ql(Br)|0)+7>>3);if((f[or>>2]|0)<((f[(f[qr>>2]|0)+148>>2]|0)/1600|0|0))d=f[or>>2]|0;else d=(f[(f[qr>>2]|0)+148>>2]|0)/1600|0;f[Nr>>2]=d;if(257<((2>(f[Nr>>2]|0)?2:f[Nr>>2]|0)|0))d=257;else d=2>(f[Nr>>2]|0)?2:f[Nr>>2]|0;f[Nr>>2]=d;if((f[(f[qr>>2]|0)+14320>>2]|0)!=1001)break;Qe(Br,(f[Nr>>2]|0)-2|0,256)}else Ir=393}while(0);if((Ir|0)==393)f[Dr>>2]=0;if(!(f[Dr>>2]|0)){f[(f[qr>>2]|0)+14340>>2]=0;f[Nr>>2]=0}if((f[(f[qr>>2]|0)+14320>>2]|0)!=1002)f[yr>>2]=17;if((f[(f[qr>>2]|0)+14320>>2]|0)==1e3){f[Yr>>2]=(ql(Br)|0)+7>>3;nr(Br);f[vr>>2]=f[Yr>>2]}else{if(((f[jr>>2]|0)-1-(f[Nr>>2]|0)|0)<(f[vr>>2]|0))d=(f[jr>>2]|0)-1-(f[Nr>>2]|0)|0;else d=f[vr>>2]|0;f[vr>>2]=d;tr(Br,f[vr>>2]|0)}if(!(!(f[Dr>>2]|0)?(f[(f[qr>>2]|0)+14320>>2]|0)==1e3:0)){Ir=f[hr>>2]|0;f[_r>>2]=ur+(((ur-ur|0)/28|0)*28|0);qn(Ir,10022,_r)|0}do{if((f[Dr>>2]|0)!=0&(f[cr>>2]|0)!=0){Ir=f[hr>>2]|0;f[mr>>2]=0;qn(Ir,10010,mr)|0;Ir=f[hr>>2]|0;f[Er>>2]=0;qn(Ir,4006,Er)|0;f[dr>>2]=Zn(f[hr>>2]|0,b,(f[(f[qr>>2]|0)+132>>2]|0)/200|0,(f[Wr>>2]|0)+(f[vr>>2]|0)|0,f[Nr>>2]|0,0)|0;if((f[dr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{Ir=f[hr>>2]|0;f[Ar>>2]=gr+(((gr-gr|0)/4|0)<<2);qn(Ir,4031,Ar)|0;qn(f[hr>>2]|0,4028,Sr)|0;break}}}while(0);Ir=f[hr>>2]|0;f[Rr>>2]=f[yr>>2];qn(Ir,10010,Rr)|0;do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=1e3){do{if((f[(f[qr>>2]|0)+14320>>2]|0)!=(f[(f[qr>>2]|0)+14324>>2]|0)){if((f[(f[qr>>2]|0)+14324>>2]|0)<=0)break;qn(f[hr>>2]|0,4028,Tr)|0;Zn(f[hr>>2]|0,c,(f[(f[qr>>2]|0)+132>>2]|0)/400|0,wr,2,0)|0;Ir=f[hr>>2]|0;f[Mr>>2]=0;qn(Ir,10002,Mr)|0}}while(0);Ir=ql(Br)|0;if((Ir|0)>(f[vr>>2]<<3|0))break;f[Yr>>2]=Zn(f[hr>>2]|0,b,f[Ur>>2]|0,0,f[vr>>2]|0,Br)|0;if((f[Yr>>2]|0)>=0)break;f[Hr>>2]=-3;f[zr>>2]=1;break e}}while(0);do{if(!((f[Dr>>2]|0)==0|(f[cr>>2]|0)!=0)){f[lr>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/200|0;f[sr>>2]=(f[(f[qr>>2]|0)+132>>2]|0)/400|0;qn(f[hr>>2]|0,4028,xr)|0;Ir=f[hr>>2]|0;f[Or>>2]=0;qn(Ir,10010,Or)|0;Ir=f[hr>>2]|0;f[Lr>>2]=0;qn(Ir,10002,Lr)|0;Ir=b+((re(f[(f[qr>>2]|0)+100>>2]|0,(f[Ur>>2]|0)-(f[lr>>2]|0)-(f[sr>>2]|0)|0)|0)<<2)|0;Zn(f[hr>>2]|0,Ir,f[sr>>2]|0,kr,2,0)|0;Ir=b+((re(f[(f[qr>>2]|0)+100>>2]|0,(f[Ur>>2]|0)-(f[lr>>2]|0)|0)|0)<<2)|0;f[pr>>2]=Zn(f[hr>>2]|0,Ir,f[lr>>2]|0,(f[Wr>>2]|0)+(f[vr>>2]|0)|0,f[Nr>>2]|0,0)|0;if((f[pr>>2]|0)<0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{Ir=f[hr>>2]|0;f[Pr>>2]=gr+(((gr-gr|0)/4|0)<<2);qn(Ir,4031,Pr)|0;break}}}while(0);f[Wr>>2]=(f[Wr>>2]|0)+-1;d=jl(f[(f[qr>>2]|0)+14320>>2]|0,(f[(f[qr>>2]|0)+132>>2]|0)/(f[Ur>>2]|0)|0,f[br>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[f[Wr>>2]>>0]=d;f[(f[qr>>2]|0)+18216>>2]=f[Br+28>>2]^f[gr>>2];d=f[qr>>2]|0;if(f[Fr>>2]|0)f[d+14324>>2]=1002;else f[(f[qr>>2]|0)+14324>>2]=f[d+14320>>2];f[(f[qr>>2]|0)+14328>>2]=f[(f[qr>>2]|0)+14288>>2];f[(f[qr>>2]|0)+14332>>2]=f[Ur>>2];f[(f[qr>>2]|0)+14344>>2]=0;Fr=ql(Br)|0;r:do{if((Fr|0)>((f[jr>>2]|0)-1<<3|0))if((f[jr>>2]|0)<2){f[Hr>>2]=-2;f[zr>>2]=1;break e}else{t[(f[Wr>>2]|0)+1>>0]=0;f[Yr>>2]=1;f[(f[qr>>2]|0)+18216>>2]=0;break}else{if(!(((f[Dr>>2]|0?1:(f[(f[qr>>2]|0)+14320>>2]|0)!=1e3)^1)&(f[Yr>>2]|0)>2))break;do{if(a[(f[Wr>>2]|0)+(f[Yr>>2]|0)>>0]|0)break r;f[Yr>>2]=(f[Yr>>2]|0)+-1}while((f[Yr>>2]|0)>2)}}while(0);f[Yr>>2]=(f[Yr>>2]|0)+(1+(f[Nr>>2]|0));do{if(!(f[(f[qr>>2]|0)+136>>2]|0))if(Ql(f[Wr>>2]|0,f[Yr>>2]|0,f[jr>>2]|0)|0){f[Hr>>2]=-3;f[zr>>2]=1;break e}else{f[Yr>>2]=f[jr>>2];break}}while(0);f[Hr>>2]=f[Yr>>2];f[zr>>2]=1}}while(0);de(f[Cr>>2]|0);Wr=f[Hr>>2]|0;h=Zr;return Wr|0}}while(0);f[T>>2]=f[(f[qr>>2]|0)+14320>>2];if(!(f[(f[qr>>2]|0)+14336>>2]|0))d=1101;else d=f[(f[qr>>2]|0)+14336>>2]|0;f[S>>2]=d;if(!(f[T>>2]|0))f[T>>2]=1e3;if((f[xe>>2]|0)>100)f[T>>2]=1002;if((f[xe>>2]|0)<50)f[T>>2]=1e3;do{if(!((f[T>>2]|0)==1e3&(f[S>>2]|0)>1103)){if((f[T>>2]|0)==1002&(f[S>>2]|0)==1102){f[S>>2]=1101;break}if((f[S>>2]|0)<=1104)f[S>>2]=1104}else f[S>>2]=1103}while(0);qr=jl(f[T>>2]|0,f[xe>>2]|0,f[S>>2]|0,f[(f[qr>>2]|0)+14288>>2]|0)|0;t[f[Wr>>2]>>0]=qr;f[Hr>>2]=1;Wr=f[Hr>>2]|0;h=Zr;return Wr|0}f[Hr>>2]=-1;Wr=f[Hr>>2]|0;h=Zr;return Wr|0}function Bl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0;l=h;h=h+16|0;t=l+12|0;n=l+8|0;a=l+4|0;o=l;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if(!(f[a>>2]|0))f[a>>2]=(f[(f[n>>2]|0)+132>>2]|0)/400|0;r=f[n>>2]|0;if((f[(f[n>>2]|0)+152>>2]|0)==-1e3){f[t>>2]=(((f[r+132>>2]|0)*60|0)/(f[a>>2]|0)|0)+(re(f[(f[n>>2]|0)+132>>2]|0,f[(f[n>>2]|0)+100>>2]|0)|0);o=f[t>>2]|0;h=l;return o|0}if((f[r+152>>2]|0)==-1){o=re(f[o>>2]<<3,f[(f[n>>2]|0)+132>>2]|0)|0;f[t>>2]=(o|0)/(f[a>>2]|0)|0;o=f[t>>2]|0;h=l;return o|0}else{f[t>>2]=f[(f[n>>2]|0)+152>>2];o=f[t>>2]|0;h=l;return o|0}return 0}function jl(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0;k=h;h=h+32|0;o=k+20|0;l=k+16|0;s=k+12|0;u=k+8|0;c=k+4|0;w=k+24|0;b=k;f[o>>2]=e;f[l>>2]=r;f[s>>2]=i;f[u>>2]=n;f[c>>2]=0;while(1){if((f[l>>2]|0)>=400)break;f[l>>2]=f[l>>2]<<1;f[c>>2]=(f[c>>2]|0)+1}do{if((f[o>>2]|0)!=1e3)if((f[o>>2]|0)==1002){e=(f[s>>2]|0)-1102|0;f[b>>2]=e;f[b>>2]=(f[b>>2]|0)<0?0:e;t[w>>0]=-128;t[w>>0]=a[w>>0]|0|f[b>>2]<<5;t[w>>0]=a[w>>0]|0|f[c>>2]<<3;break}else{t[w>>0]=96;t[w>>0]=a[w>>0]|0|(f[s>>2]|0)-1104<<4;t[w>>0]=a[w>>0]|0|(f[c>>2]|0)-2<<3;break}else{t[w>>0]=(f[s>>2]|0)-1101<<5;t[w>>0]=a[w>>0]|0|(f[c>>2]|0)-2<<3}}while(0);t[w>>0]=a[w>>0]|0|((f[u>>2]|0)==2&1)<<2;h=k;return t[w>>0]|0}function Dl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0;d=h;h=h+64|0;l=d+60|0;_=d+56|0;s=d+52|0;u=d+48|0;c=d+44|0;b=d+40|0;y=d+36|0;k=d+24|0;w=d+16|0;v=d+8|0;g=d+4|0;p=d;f[l>>2]=e;f[_>>2]=r;f[s>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[y>>2]=o;f[v>>2]=(((f[_>>2]&65535)<<16>>16)*2471|0)/((f[y>>2]|0)/1e3|0|0)|0;f[g>>2]=268435456-((f[v>>2]|0)*471|0);f[k>>2]=f[g>>2];f[k+4>>2]=0-(f[g>>2]|0)<<1;f[k+8>>2]=f[g>>2];f[p>>2]=f[g>>2]>>6;i=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;i=i+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;i=re(f[p>>2]>>16,(i+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0;n=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;n=n+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;n=i+((re(f[p>>2]&65535,(n+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0)>>16)|0;i=re(f[v>>2]>>16,(f[v>>2]&65535)<<16>>16)|0;i=i+((re(f[v>>2]&65535,(f[v>>2]&65535)<<16>>16)|0)>>16)|0;f[w>>2]=n+(re(f[p>>2]|0,(i+(re(f[v>>2]|0,(f[v>>2]>>15)+1>>1)|0)-8388608>>15)+1>>1)|0);i=re(f[p>>2]>>16,(f[p>>2]&65535)<<16>>16)|0;i=i+((re(f[p>>2]&65535,(f[p>>2]&65535)<<16>>16)|0)>>16)|0;f[w+4>>2]=i+(re(f[p>>2]|0,(f[p>>2]>>15)+1>>1)|0);Nl(f[l>>2]|0,k,w,f[u>>2]|0,f[s>>2]|0,f[c>>2]|0,f[b>>2]|0);if((f[b>>2]|0)!=2){h=d;return}Nl((f[l>>2]|0)+4|0,k,w,(f[u>>2]|0)+8|0,(f[s>>2]|0)+4|0,f[c>>2]|0,f[b>>2]|0);h=d;return}function Nl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0;y=h;h=h+64|0;l=y+60|0;_=y+56|0;m=y+52|0;u=y+48|0;c=y+44|0;b=y+40|0;w=y+36|0;v=y+32|0;g=y+28|0;p=y+24|0;k=y+16|0;d=y;f[l>>2]=e;f[_>>2]=r;f[m>>2]=i;f[u>>2]=t;f[c>>2]=n;f[b>>2]=a;f[w>>2]=o;s[k>>2]=+(f[f[m>>2]>>2]|0)*3.725290298461914e-9;s[k+4>>2]=+(f[(f[m>>2]|0)+4>>2]|0)*3.725290298461914e-9;s[d>>2]=+(f[f[_>>2]>>2]|0)*3.725290298461914e-9;s[d+4>>2]=+(f[(f[_>>2]|0)+4>>2]|0)*3.725290298461914e-9;s[d+8>>2]=+(f[(f[_>>2]|0)+8>>2]|0)*3.725290298461914e-9;f[v>>2]=0;while(1){if((f[v>>2]|0)>=(f[b>>2]|0))break;m=re(f[v>>2]|0,f[w>>2]|0)|0;s[p>>2]=+s[(f[l>>2]|0)+(m<<2)>>2];s[g>>2]=+s[f[u>>2]>>2]+ +s[d>>2]*+s[p>>2];s[f[u>>2]>>2]=+s[(f[u>>2]|0)+4>>2]-+s[g>>2]*+s[k>>2]+ +s[d+4>>2]*+s[p>>2];s[(f[u>>2]|0)+4>>2]=-+s[g>>2]*+s[k+4>>2]+ +s[d+8>>2]*+s[p>>2]+1.0000000031710769e-30;m=re(f[v>>2]|0,f[w>>2]|0)|0;s[(f[c>>2]|0)+(m<<2)>>2]=+s[g>>2];f[v>>2]=(f[v>>2]|0)+1}h=y;return}function Fl(e,r,i,t,n,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;var l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0;_=h;h=h+64|0;l=_+48|0;E=_+44|0;u=_+40|0;c=_+36|0;b=_+32|0;w=_+28|0;m=_+24|0;k=_+20|0;p=_+16|0;d=_+12|0;g=_+8|0;v=_+4|0;y=_;f[l>>2]=e;f[E>>2]=r;f[u>>2]=i;f[c>>2]=t;f[b>>2]=n;f[w>>2]=a;f[m>>2]=o;s[d>>2]=+(f[E>>2]|0)*4/+(f[m>>2]|0);f[k>>2]=0;while(1){if((f[k>>2]|0)>=(f[w>>2]|0))break;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(f[b>>2]|0))break;E=re(f[w>>2]|0,f[p>>2]|0)|0;s[g>>2]=+s[(f[l>>2]|0)+(E+(f[k>>2]|0)<<2)>>2];s[v>>2]=+s[g>>2]-+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2];s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2]=+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2]+ +s[d>>2]*(+s[g>>2]-+s[(f[c>>2]|0)+(f[k>>2]<<1<<2)>>2])+1.0000000031710769e-30;s[y>>2]=+s[v>>2]-+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2];s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2]=+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2]+ +s[d>>2]*(+s[v>>2]-+s[(f[c>>2]|0)+((f[k>>2]<<1)+1<<2)>>2])+1.0000000031710769e-30;E=re(f[w>>2]|0,f[p>>2]|0)|0;s[(f[u>>2]|0)+(E+(f[k>>2]|0)<<2)>>2]=+s[y>>2];f[p>>2]=(f[p>>2]|0)+1}f[k>>2]=(f[k>>2]|0)+1}h=_;return}function zl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0;c=h;h=h+32|0;n=c+16|0;a=c+12|0;o=c+8|0;l=c+4|0;u=c;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;s[u>>2]=0;f[l>>2]=0;while(1){t=+s[u>>2];if((f[l>>2]|0)>=(f[o>>2]|0))break;s[u>>2]=t+ +s[(f[n>>2]|0)+(f[l>>2]<<2)>>2]*+s[(f[a>>2]|0)+(f[l>>2]<<2)>>2];f[l>>2]=(f[l>>2]|0)+1}h=c;return+t}function Yl(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=+i;t=+t;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0;T=h;h=h+80|0;c=T+64|0;b=T+60|0;w=T+56|0;k=T+52|0;M=T+48|0;d=T+44|0;p=T+40|0;v=T+36|0;x=T+32|0;m=T+28|0;E=T+24|0;A=T+20|0;g=T+16|0;y=T+12|0;S=T+8|0;_=T+4|0;R=T;f[c>>2]=e;f[b>>2]=r;s[w>>2]=i;s[k>>2]=t;f[M>>2]=n;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[x>>2]=u;f[E>>2]=48e3/(f[x>>2]|0)|0;f[A>>2]=(f[M>>2]|0)/(f[E>>2]|0)|0;l=(f[p>>2]|0)==1;f[m>>2]=0;e:do{if(l)while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break e;M=re(f[m>>2]|0,f[E>>2]|0)|0;x=re(f[m>>2]|0,f[E>>2]|0)|0;s[S>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(x<<2)>>2];s[y>>2]=+s[S>>2]*+s[k>>2]+(1-+s[S>>2])*+s[w>>2];s[(f[b>>2]|0)+(f[m>>2]<<2)>>2]=+s[y>>2]*+s[(f[c>>2]|0)+(f[m>>2]<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}else while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break e;M=re(f[m>>2]|0,f[E>>2]|0)|0;x=re(f[m>>2]|0,f[E>>2]|0)|0;s[R>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(x<<2)>>2];s[_>>2]=+s[R>>2]*+s[k>>2]+(1-+s[R>>2])*+s[w>>2];s[(f[b>>2]|0)+(f[m>>2]<<1<<2)>>2]=+s[_>>2]*+s[(f[c>>2]|0)+(f[m>>2]<<1<<2)>>2];s[(f[b>>2]|0)+((f[m>>2]<<1)+1<<2)>>2]=+s[_>>2]*+s[(f[c>>2]|0)+((f[m>>2]<<1)+1<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}}while(0);f[g>>2]=0;do{f[m>>2]=f[A>>2];while(1){if((f[m>>2]|0)>=(f[d>>2]|0))break;M=re(f[m>>2]|0,f[p>>2]|0)|0;x=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(x+(f[g>>2]|0)<<2)>>2]=+s[k>>2]*+s[(f[c>>2]|0)+(M+(f[g>>2]|0)<<2)>>2];f[m>>2]=(f[m>>2]|0)+1}x=(f[g>>2]|0)+1|0;f[g>>2]=x}while((x|0)<(f[p>>2]|0));h=T;return}function Hl(e){e=+e;var r=0,i=0;i=h;h=h+16|0;r=i;s[r>>2]=e;s[r>>2]=+s[r>>2]*32768;s[r>>2]=+s[r>>2]>-32768?+s[r>>2]:-32768;s[r>>2]=+s[r>>2]<32767?+s[r>>2]:32767;r=(cs(+s[r>>2])|0)&65535;h=i;return r|0}function ql(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=(f[(f[i>>2]|0)+20>>2]|0)-(32-(te(f[(f[i>>2]|0)+28>>2]|0)|0))|0;h=r;return e|0}function Wl(e,r,i,t,n,a,o,l,u){e=e|0;r=r|0;i=+i;t=+t;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;R=h;h=h+64|0;c=R+60|0;b=R+56|0;w=R+52|0;k=R+48|0;T=R+44|0;d=R+40|0;p=R+36|0;v=R+32|0;M=R+28|0;m=R+24|0;A=R+20|0;E=R+16|0;g=R+12|0;_=R+8|0;S=R+4|0;y=R;f[c>>2]=e;f[b>>2]=r;s[w>>2]=i;s[k>>2]=t;f[T>>2]=n;f[d>>2]=a;f[p>>2]=o;f[v>>2]=l;f[M>>2]=u;f[E>>2]=48e3/(f[M>>2]|0)|0;f[A>>2]=(f[T>>2]|0)/(f[E>>2]|0)|0;s[w>>2]=1-+s[w>>2];s[k>>2]=1-+s[k>>2];f[m>>2]=0;while(1){if((f[m>>2]|0)>=(f[A>>2]|0))break;M=re(f[m>>2]|0,f[E>>2]|0)|0;T=re(f[m>>2]|0,f[E>>2]|0)|0;s[S>>2]=+s[(f[v>>2]|0)+(M<<2)>>2]*+s[(f[v>>2]|0)+(T<<2)>>2];s[_>>2]=+s[S>>2]*+s[k>>2]+(1-+s[S>>2])*+s[w>>2];T=re(f[m>>2]|0,f[p>>2]|0)|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[g>>2]=(+s[(f[c>>2]|0)+(T<<2)>>2]-+s[(f[c>>2]|0)+(M<<2)>>2])*.5;s[g>>2]=+s[_>>2]*+s[g>>2];M=re(f[m>>2]|0,f[p>>2]|0)|0;T=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(T<<2)>>2]=+s[(f[b>>2]|0)+(M<<2)>>2]-+s[g>>2];T=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[(f[b>>2]|0)+(M<<2)>>2]=+s[(f[b>>2]|0)+(T<<2)>>2]+ +s[g>>2];f[m>>2]=(f[m>>2]|0)+1}while(1){if((f[m>>2]|0)>=(f[d>>2]|0))break;T=re(f[m>>2]|0,f[p>>2]|0)|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[y>>2]=(+s[(f[c>>2]|0)+(T<<2)>>2]-+s[(f[c>>2]|0)+(M<<2)>>2])*.5;s[y>>2]=+s[k>>2]*+s[y>>2];M=re(f[m>>2]|0,f[p>>2]|0)|0;T=re(f[m>>2]|0,f[p>>2]|0)|0;s[(f[b>>2]|0)+(T<<2)>>2]=+s[(f[b>>2]|0)+(M<<2)>>2]-+s[y>>2];T=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;M=(re(f[m>>2]|0,f[p>>2]|0)|0)+1|0;s[(f[b>>2]|0)+(M<<2)>>2]=+s[(f[b>>2]|0)+(T<<2)>>2]+ +s[y>>2];f[m>>2]=(f[m>>2]|0)+1}h=R;return}function Zl(e,r,i,t,a){e=e|0;r=r|0;i=i|0;t=t|0;a=a|0;var o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0;g=h;h=h+48|0;l=g+36|0;u=g+32|0;c=g+28|0;b=g+24|0;w=g+20|0;p=g+16|0;v=g+12|0;d=g+8|0;o=g+4|0;k=g;f[l>>2]=e;f[u>>2]=r;f[c>>2]=i;f[b>>2]=t;f[w>>2]=a;if((f[(f[l>>2]|0)+96>>2]|0)==2051)f[o>>2]=0;else f[o>>2]=f[(f[l>>2]|0)+104>>2];f[d>>2]=Ol(f[u>>2]|0,f[c>>2]|0,f[(f[l>>2]|0)+144>>2]|0,f[(f[l>>2]|0)+100>>2]|0,f[(f[l>>2]|0)+132>>2]|0,f[(f[l>>2]|0)+148>>2]|0,f[o>>2]|0,1,(f[l>>2]|0)+172+6872|0)|0;e=re(f[d>>2]|0,f[(f[l>>2]|0)+100>>2]|0)|0;f[k>>2]=he()|0;i=h;h=h+((1*(e<<2)|0)+15&-16)|0;f[p>>2]=0;while(1){if((f[p>>2]|0)>=(re(f[d>>2]|0,f[(f[l>>2]|0)+100>>2]|0)|0))break;s[i+(f[p>>2]<<2)>>2]=+(n[(f[u>>2]|0)+(f[p>>2]<<1)>>1]|0)*30517578125e-15;f[p>>2]=(f[p>>2]|0)+1}f[v>>2]=Ul(f[l>>2]|0,i,f[d>>2]|0,f[b>>2]|0,f[w>>2]|0,16,f[u>>2]|0,f[c>>2]|0,0,-2,f[(f[l>>2]|0)+100>>2]|0,1,0)|0;v=f[v>>2]|0;de(f[k>>2]|0);h=g;return v|0}function Vl(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,c=0,b=0,w=0;w=h;h=h+32|0;a=w+24|0;o=w+20|0;l=w+16|0;s=w+12|0;u=w+8|0;b=w+4|0;c=w;f[a>>2]=e;f[o>>2]=r;f[l>>2]=i;f[s>>2]=t;f[u>>2]=n;if((f[(f[a>>2]|0)+96>>2]|0)==2051)f[c>>2]=0;else f[c>>2]=f[(f[a>>2]|0)+104>>2];f[b>>2]=Ol(f[o>>2]|0,f[l>>2]|0,f[(f[a>>2]|0)+144>>2]|0,f[(f[a>>2]|0)+100>>2]|0,f[(f[a>>2]|0)+132>>2]|0,f[(f[a>>2]|0)+148>>2]|0,f[c>>2]|0,2,(f[a>>2]|0)+172+6872|0)|0;e=Ul(f[a>>2]|0,f[o>>2]|0,f[b>>2]|0,f[s>>2]|0,f[u>>2]|0,24,f[o>>2]|0,f[l>>2]|0,0,-2,f[(f[a>>2]|0)+100>>2]|0,2,1)|0;h=w;return e|0}function Jl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,z=0,Y=0,H=0,q=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,Q=0,ee=0,re=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0;oe=h;h=h+352|0;ie=oe+48|0;re=oe+40|0;ee=oe+32|0;Q=oe+24|0;$=oe+16|0;X=oe+8|0;K=oe;fe=oe+336|0;ne=oe+332|0;le=oe+328|0;ae=oe+324|0;a=oe+320|0;t=oe+304|0;c=oe+300|0;b=oe+296|0;A=oe+292|0;U=oe+288|0;te=oe+284|0;W=oe+280|0;Z=oe+276|0;V=oe+272|0;J=oe+268|0;G=oe+264|0;w=oe+260|0;k=oe+256|0;d=oe+252|0;p=oe+248|0;v=oe+244|0;g=oe+240|0;y=oe+236|0;_=oe+232|0;m=oe+228|0;E=oe+224|0;S=oe+220|0;R=oe+216|0;T=oe+212|0;M=oe+208|0;x=oe+204|0;O=oe+200|0;L=oe+196|0;P=oe+192|0;I=oe+188|0;C=oe+184|0;B=oe+180|0;j=oe+176|0;D=oe+172|0;N=oe+168|0;F=oe+164|0;l=oe+160|0;o=oe+72|0;u=oe+68|0;z=oe+64|0;Y=oe+60|0;H=oe+56|0;q=oe+52|0;f[ne>>2]=e;f[le>>2]=r;f[ae>>2]=0;f[t>>2]=i;f[a>>2]=(f[ne>>2]|0)+(f[f[ne>>2]>>2]|0);e:do{switch(f[le>>2]|0){case 4e3:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[c>>2]=le;do{if(!((f[c>>2]|0)!=2048&(f[c>>2]|0)!=2049&(f[c>>2]|0)!=2051)){if((f[(f[ne>>2]|0)+14344>>2]|0)==0?(f[(f[ne>>2]|0)+96>>2]|0)!=(f[c>>2]|0):0)break;f[(f[ne>>2]|0)+96>>2]=f[c>>2];t=99;break e}}while(0);f[ae>>2]=-1;t=99;break}case 4001:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[b>>2]=le;if(f[b>>2]|0){f[f[b>>2]>>2]=f[(f[ne>>2]|0)+96>>2];t=99}else t=100;break}case 4002:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[A>>2]=le;do{if((f[A>>2]|0)!=-1e3&(f[A>>2]|0)!=-1){if((f[A>>2]|0)<=0){t=100;break e}if((f[A>>2]|0)<=500){f[A>>2]=500;break}if((f[A>>2]|0)>((f[(f[ne>>2]|0)+100>>2]|0)*3e5|0))f[A>>2]=(f[(f[ne>>2]|0)+100>>2]|0)*3e5}}while(0);f[(f[ne>>2]|0)+152>>2]=f[A>>2];t=99;break}case 4003:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[U>>2]=le;if(f[U>>2]|0){t=Bl(f[ne>>2]|0,f[(f[ne>>2]|0)+14332>>2]|0,1276)|0;f[f[U>>2]>>2]=t;t=99}else t=100;break}case 4022:{i=(f[t>>2]|0)+(4-1)&~(4-1);le=f[i>>2]|0;f[t>>2]=i+4;f[te>>2]=le;t=f[te>>2]|0;if((f[te>>2]|0)<1){if((t|0)!=-1e3){t=100;break e}}else if((f[te>>2]|0)!=-1e3?(t|0)>(f[(f[ne>>2]|0)+100>>2]|0):0){t=100;break e}f[(f[ne>>2]|0)+108>>2]=f[te>>2];t=99;break}case 4023:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[W>>2]=le;if(f[W>>2]|0){f[f[W>>2]>>2]=f[(f[ne>>2]|0)+108>>2];t=99}else t=100;break}case 4004:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[Z>>2]=le;if(!((f[Z>>2]|0)<1101|(f[Z>>2]|0)>1105)){f[(f[ne>>2]|0)+120>>2]=f[Z>>2];a=f[ne>>2]|0;if((f[(f[ne>>2]|0)+120>>2]|0)==1101){f[a+8+12>>2]=8e3;t=99;break e}t=(f[ne>>2]|0)+8+12|0;if((f[a+120>>2]|0)==1102){f[t>>2]=12e3;t=99;break e}else{f[t>>2]=16e3;t=99;break e}}else t=100;break}case 4005:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[V>>2]=le;if(f[V>>2]|0){f[f[V>>2]>>2]=f[(f[ne>>2]|0)+120>>2];t=99}else t=100;break}case 4008:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[J>>2]=le;if(!(((f[J>>2]|0)<1101|(f[J>>2]|0)>1105)&(f[J>>2]|0)!=-1e3)){f[(f[ne>>2]|0)+116>>2]=f[J>>2];a=f[ne>>2]|0;if((f[(f[ne>>2]|0)+116>>2]|0)==1101){f[a+8+12>>2]=8e3;t=99;break e}t=(f[ne>>2]|0)+8+12|0;if((f[a+116>>2]|0)==1102){f[t>>2]=12e3;t=99;break e}else{f[t>>2]=16e3;t=99;break e}}else t=100;break}case 4009:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[G>>2]=le;if(f[G>>2]|0){f[f[G>>2]>>2]=f[(f[ne>>2]|0)+14336>>2];t=99}else t=100;break}case 4016:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[w>>2]=le;if((f[w>>2]|0)<0|(f[w>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+8+44>>2]=f[w>>2];t=99}break}case 4017:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[k>>2]=le;if(f[k>>2]|0){f[f[k>>2]>>2]=f[(f[ne>>2]|0)+8+44>>2];t=99}else t=100;break}case 4010:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[d>>2]=le;if((f[d>>2]|0)<0|(f[d>>2]|0)>10)t=100;else{f[(f[ne>>2]|0)+8+36>>2]=f[d>>2];t=f[a>>2]|0;f[K>>2]=f[d>>2];qn(t,4010,K)|0;t=99}break}case 4011:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[p>>2]=le;if(f[p>>2]|0){f[f[p>>2]>>2]=f[(f[ne>>2]|0)+8+36>>2];t=99}else t=100;break}case 4012:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[v>>2]=le;if((f[v>>2]|0)<0|(f[v>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+8+40>>2]=f[v>>2];t=99}break}case 4013:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[g>>2]=le;if(f[g>>2]|0){f[f[g>>2]>>2]=f[(f[ne>>2]|0)+8+40>>2];t=99}else t=100;break}case 4014:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[y>>2]=le;if((f[y>>2]|0)<0|(f[y>>2]|0)>100)t=100;else{f[(f[ne>>2]|0)+8+32>>2]=f[y>>2];t=f[a>>2]|0;f[X>>2]=f[y>>2];qn(t,4014,X)|0;t=99}break}case 4015:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[_>>2]=le;if(f[_>>2]|0){f[f[_>>2]>>2]=f[(f[ne>>2]|0)+8+32>>2];t=99}else t=100;break}case 4006:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[m>>2]=le;if((f[m>>2]|0)<0|(f[m>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+136>>2]=f[m>>2];f[(f[ne>>2]|0)+8+48>>2]=1-(f[m>>2]|0);t=99}break}case 4007:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[E>>2]=le;if(f[E>>2]|0){f[f[E>>2]>>2]=f[(f[ne>>2]|0)+136>>2];t=99}else t=100;break}case 11018:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[S>>2]=le;if((f[S>>2]|0)<-1|(f[S>>2]|0)>100)t=100;else{f[(f[ne>>2]|0)+128>>2]=f[S>>2];t=99}break}case 11019:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[R>>2]=le;if(f[R>>2]|0){f[f[R>>2]>>2]=f[(f[ne>>2]|0)+128>>2];t=99}else t=100;break}case 4020:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[T>>2]=le;if((f[T>>2]|0)<0|(f[T>>2]|0)>1)t=100;else{f[(f[ne>>2]|0)+140>>2]=f[T>>2];t=99}break}case 4021:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[M>>2]=le;if(f[M>>2]|0){f[f[M>>2]>>2]=f[(f[ne>>2]|0)+140>>2];t=99}else t=100;break}case 4024:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[x>>2]=le;if((f[x>>2]|0)!=-1e3&(f[x>>2]|0)!=3001&(f[x>>2]|0)!=3002)t=100;else{f[(f[ne>>2]|0)+112>>2]=f[x>>2];t=99}break}case 4025:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[O>>2]=le;if(f[O>>2]|0){f[f[O>>2]>>2]=f[(f[ne>>2]|0)+112>>2];t=99}else t=100;break}case 4027:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[L>>2]=le;if(f[L>>2]|0){f[f[L>>2]>>2]=(f[(f[ne>>2]|0)+132>>2]|0)/400|0;if((f[(f[ne>>2]|0)+96>>2]|0)!=2051){t=f[L>>2]|0;f[t>>2]=(f[t>>2]|0)+(f[(f[ne>>2]|0)+104>>2]|0);t=99}else t=99}else t=100;break}case 4029:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[P>>2]=le;if(f[P>>2]|0){f[f[P>>2]>>2]=f[(f[ne>>2]|0)+132>>2];t=99}else t=100;break}case 4031:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[I>>2]=le;if(f[I>>2]|0){f[f[I>>2]>>2]=f[(f[ne>>2]|0)+18216>>2];t=99}else t=100;break}case 4036:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[C>>2]=le;if((f[C>>2]|0)<8|(f[C>>2]|0)>24)t=100;else{f[(f[ne>>2]|0)+156>>2]=f[C>>2];t=99}break}case 4037:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[B>>2]=le;if(f[B>>2]|0){f[f[B>>2]>>2]=f[(f[ne>>2]|0)+156>>2];t=99}else t=100;break}case 4040:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[j>>2]=le;if((f[j>>2]|0)!=5e3&(f[j>>2]|0)!=5001&(f[j>>2]|0)!=5002&(f[j>>2]|0)!=5003&(f[j>>2]|0)!=5004&(f[j>>2]|0)!=5005&(f[j>>2]|0)!=5006&(f[j>>2]|0)!=5010)t=100;else{f[(f[ne>>2]|0)+144>>2]=f[j>>2];t=f[a>>2]|0;f[$>>2]=f[j>>2];qn(t,4040,$)|0;t=99}break}case 4041:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[D>>2]=le;if(f[D>>2]|0){f[f[D>>2]>>2]=f[(f[ne>>2]|0)+144>>2];t=99}else t=100;break}case 4042:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[N>>2]=le;if((f[N>>2]|0)>1|(f[N>>2]|0)<0)t=100;else{f[(f[ne>>2]|0)+8+64>>2]=f[N>>2];t=99}break}case 4043:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[F>>2]=le;if(f[F>>2]|0){f[f[F>>2]>>2]=f[(f[ne>>2]|0)+8+64>>2];t=99}else t=100;break}case 4028:{f[l>>2]=(f[ne>>2]|0)+(f[(f[ne>>2]|0)+4>>2]|0);is((f[ne>>2]|0)+172|0);f[u>>2]=(f[ne>>2]|0)+14288;vs(f[u>>2]|0,0,18220-((f[u>>2]|0)-(f[ne>>2]|0))|0)|0;qn(f[a>>2]|0,4028,Q)|0;po(f[l>>2]|0,f[(f[ne>>2]|0)+168>>2]|0,o)|0;f[(f[ne>>2]|0)+14288>>2]=f[(f[ne>>2]|0)+100>>2];n[(f[ne>>2]|0)+14292>>1]=16384;s[(f[ne>>2]|0)+14300>>2]=1;f[(f[ne>>2]|0)+14344>>2]=1;f[(f[ne>>2]|0)+14320>>2]=1001;f[(f[ne>>2]|0)+14336>>2]=1105;t=(Ba(60)|0)<<8;f[(f[ne>>2]|0)+14296>>2]=t;t=99;break}case 11002:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[z>>2]=le;if(((f[z>>2]|0)<1e3|(f[z>>2]|0)>1002)&(f[z>>2]|0)!=-1e3)t=100;else{f[(f[ne>>2]|0)+124>>2]=f[z>>2];t=99}break}case 10024:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[Y>>2]=le;f[(f[ne>>2]|0)+164>>2]=f[Y>>2];t=f[a>>2]|0;f[ee>>2]=f[Y>>2];f[ae>>2]=qn(t,10024,ee)|0;t=99;break}case 10026:{te=(f[t>>2]|0)+(4-1)&~(4-1);le=f[te>>2]|0;f[t>>2]=te+4;f[H>>2]=le;f[(f[ne>>2]|0)+14348>>2]=f[H>>2];t=f[a>>2]|0;f[re>>2]=(f[H>>2]|0)+((((f[H>>2]|0)-(f[H>>2]|0)|0)/4|0)<<2);f[ae>>2]=qn(t,10026,re)|0;t=99;break}case 10015:{ne=(f[t>>2]|0)+(4-1)&~(4-1);le=f[ne>>2]|0;f[t>>2]=ne+4;f[q>>2]=le;if(f[q>>2]|0){t=f[a>>2]|0;f[ie>>2]=(f[q>>2]|0)+((((f[q>>2]|0)-(f[q>>2]|0)|0)/4|0)<<2);f[ae>>2]=qn(t,10015,ie)|0;t=99}else t=100;break}default:{f[ae>>2]=-5;t=99}}}while(0);if((t|0)==99){f[fe>>2]=f[ae>>2];le=f[fe>>2]|0;h=oe;return le|0}else if((t|0)==100){f[fe>>2]=-1;le=f[fe>>2]|0;h=oe;return le|0}return 0}function Gl(e){e=e|0;var r=0,i=0;i=h;h=h+16|0;r=i;f[r>>2]=e;f[(f[r>>2]|0)+4>>2]=0;h=i;return f[r>>2]|0}function Kl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0;t=h;h=h+16|0;o=t+8|0;a=t+4|0;n=t;f[o>>2]=e;f[a>>2]=r;f[n>>2]=i;e=Xl(f[o>>2]|0,f[a>>2]|0,f[n>>2]|0,0)|0;h=t;return e|0}function Xl(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var o=0,l=0,s=0,u=0,c=0,b=0,w=0,k=0,d=0;d=h;h=h+32|0;o=d+24|0;l=d+20|0;s=d+16|0;u=d+12|0;c=d+8|0;k=d+28|0;b=d+4|0;w=d;f[l>>2]=e;f[s>>2]=r;f[u>>2]=i;f[c>>2]=n;if((f[u>>2]|0)<1){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}if(f[(f[l>>2]|0)+4>>2]|0){if(((a[f[l>>2]>>0]|0)&252|0)!=((a[f[s>>2]>>0]|0)&252|0)){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}}else{t[f[l>>2]>>0]=t[f[s>>2]>>0]|0;n=rl(f[s>>2]|0,8e3)|0;f[(f[l>>2]|0)+296>>2]=n}f[b>>2]=gl(f[s>>2]|0,f[u>>2]|0)|0;if((f[b>>2]|0)<1){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}if((re((f[b>>2]|0)+(f[(f[l>>2]|0)+4>>2]|0)|0,f[(f[l>>2]|0)+296>>2]|0)|0)>960){f[o>>2]=-4;k=f[o>>2]|0;h=d;return k|0}f[w>>2]=il(f[s>>2]|0,f[u>>2]|0,f[c>>2]|0,k,(f[l>>2]|0)+8+(f[(f[l>>2]|0)+4>>2]<<2)|0,(f[l>>2]|0)+200+(f[(f[l>>2]|0)+4>>2]<<1)|0,0,0)|0;if((f[w>>2]|0)<1){f[o>>2]=f[w>>2];k=f[o>>2]|0;h=d;return k|0}else{k=(f[l>>2]|0)+4|0;f[k>>2]=(f[k>>2]|0)+(f[b>>2]|0);f[o>>2]=0;k=f[o>>2]|0;h=d;return k|0}return 0}function $l(e,r,i,o,l,s,u){e=e|0;r=r|0;i=i|0;o=o|0;l=l|0;s=s|0;u=u|0;var c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0;L=h;h=h+80|0;d=L+68|0;w=L+64|0;c=L+60|0;b=L+56|0;p=L+52|0;v=L+48|0;g=L+44|0;y=L+40|0;E=L+36|0;_=L+32|0;x=L+28|0;A=L+24|0;m=L+20|0;T=L+16|0;O=L+12|0;R=L+8|0;S=L+4|0;M=L;f[w>>2]=e;f[c>>2]=r;f[b>>2]=i;f[p>>2]=o;f[v>>2]=l;f[g>>2]=s;f[y>>2]=u;if(((f[c>>2]|0)>=0?(f[c>>2]|0)<(f[b>>2]|0):0)?(f[b>>2]|0)<=(f[(f[w>>2]|0)+4>>2]|0):0){f[_>>2]=(f[b>>2]|0)-(f[c>>2]|0);f[A>>2]=(f[w>>2]|0)+200+(f[c>>2]<<1);f[m>>2]=(f[w>>2]|0)+8+(f[c>>2]<<2);if(f[g>>2]|0)f[x>>2]=1+((n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0)>=252&1);else f[x>>2]=0;f[T>>2]=f[p>>2];do{if((f[_>>2]|0)!=1){if((f[_>>2]|0)==2){c=n[f[A>>2]>>1]|0;if((n[(f[A>>2]|0)+2>>1]|0)==(n[f[A>>2]>>1]|0)){f[x>>2]=(f[x>>2]|0)+((c<<1)+1);if((f[x>>2]|0)<=(f[v>>2]|0)){e=(a[f[w>>2]>>0]&252|1)&255;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}else{f[x>>2]=(f[x>>2]|0)+(c+(n[(f[A>>2]|0)+2>>1]|0)+2+((n[f[A>>2]>>1]|0)>=252&1));if((f[x>>2]|0)<=(f[v>>2]|0)){e=(a[f[w>>2]>>0]&252|2)&255;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;s=el(n[f[A>>2]>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+s;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}}else{f[x>>2]=(f[x>>2]|0)+((n[f[A>>2]>>1]|0)+1);if((f[x>>2]|0)<=(f[v>>2]|0)){e=a[f[w>>2]>>0]&252;s=f[T>>2]|0;f[T>>2]=s+1;t[s>>0]=e;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}while(0);if((f[_>>2]|0)<=2){if(f[y>>2]|0?(f[x>>2]|0)<(f[v>>2]|0):0)k=23}else k=23;e:do{if((k|0)==23){f[R>>2]=0;f[T>>2]=f[p>>2];if(f[g>>2]|0)f[x>>2]=1+((n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0)>=252&1);else f[x>>2]=0;f[O>>2]=0;f[E>>2]=1;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;if((n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)!=(n[f[A>>2]>>1]|0)){k=29;break}f[E>>2]=(f[E>>2]|0)+1}if((k|0)==29)f[O>>2]=1;do{if(f[O>>2]|0){f[x>>2]=(f[x>>2]|0)+2;f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-1|0))break;f[x>>2]=(f[x>>2]|0)+(1+((n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)>=252&1)+(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0));f[E>>2]=(f[E>>2]|0)+1}f[x>>2]=(f[x>>2]|0)+(n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0);if((f[x>>2]|0)<=(f[v>>2]|0)){k=(a[f[w>>2]>>0]&252|3)&255;w=f[T>>2]|0;f[T>>2]=w+1;t[w>>0]=k;w=(f[_>>2]|128)&255;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=w;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}else{k=(re(f[_>>2]|0,n[f[A>>2]>>1]|0)|0)+2|0;f[x>>2]=(f[x>>2]|0)+k;if((f[x>>2]|0)<=(f[v>>2]|0)){k=(a[f[w>>2]>>0]&252|3)&255;w=f[T>>2]|0;f[T>>2]=w+1;t[w>>0]=k;w=f[_>>2]&255;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=w;break}f[d>>2]=-2;O=f[d>>2]|0;h=L;return O|0}}while(0);if(f[y>>2]|0)c=(f[v>>2]|0)-(f[x>>2]|0)|0;else c=0;f[R>>2]=c;if(f[R>>2]|0){k=(f[p>>2]|0)+1|0;t[k>>0]=a[k>>0]|64;f[S>>2]=((f[R>>2]|0)-1|0)/255|0;f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[S>>2]|0))break;k=f[T>>2]|0;f[T>>2]=k+1;t[k>>0]=-1;f[E>>2]=(f[E>>2]|0)+1}k=(f[R>>2]|0)-((f[S>>2]|0)*255|0)-1&255;S=f[T>>2]|0;f[T>>2]=S+1;t[S>>0]=k;f[x>>2]=(f[x>>2]|0)+(f[R>>2]|0)}if(f[O>>2]|0){f[E>>2]=0;while(1){if((f[E>>2]|0)>=((f[_>>2]|0)-1|0))break e;O=el(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+O;f[E>>2]=(f[E>>2]|0)+1}}}}while(0);if(f[g>>2]|0){f[M>>2]=el(n[(f[A>>2]|0)+((f[_>>2]|0)-1<<1)>>1]|0,f[T>>2]|0)|0;f[T>>2]=(f[T>>2]|0)+(f[M>>2]|0)}f[E>>2]=0;while(1){if((f[E>>2]|0)>=(f[_>>2]|0))break;ys(f[T>>2]|0,f[(f[m>>2]|0)+(f[E>>2]<<2)>>2]|0,(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0)+0|0)|0;f[T>>2]=(f[T>>2]|0)+(n[(f[A>>2]|0)+(f[E>>2]<<1)>>1]|0);f[E>>2]=(f[E>>2]|0)+1}e:do{if(f[y>>2]|0)while(1){if((f[T>>2]|0)>>>0>=((f[p>>2]|0)+(f[v>>2]|0)|0)>>>0)break e;O=f[T>>2]|0;f[T>>2]=O+1;t[O>>0]=0}}while(0);f[d>>2]=f[x>>2];O=f[d>>2]|0;h=L;return O|0}f[d>>2]=-1;O=f[d>>2]|0;h=L;return O|0}function Ql(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,s=0,u=0;u=h;h=h+320|0;t=u+316|0;n=u+312|0;a=u+308|0;o=u+304|0;s=u+4|0;l=u;f[n>>2]=e;f[a>>2]=r;f[o>>2]=i;if((f[a>>2]|0)<1){f[t>>2]=-1;s=f[t>>2]|0;h=u;return s|0}if((f[a>>2]|0)==(f[o>>2]|0)){f[t>>2]=0;s=f[t>>2]|0;h=u;return s|0}if((f[a>>2]|0)>(f[o>>2]|0)){f[t>>2]=-1;s=f[t>>2]|0;h=u;return s|0}Gl(s)|0;ys((f[n>>2]|0)+(f[o>>2]|0)+(0-(f[a>>2]|0))|0,f[n>>2]|0,(f[a>>2]|0)+0|0)|0;Kl(s,(f[n>>2]|0)+(f[o>>2]|0)+(0-(f[a>>2]|0))|0,f[a>>2]|0)|0;f[l>>2]=$l(s,0,f[s+4>>2]|0,f[n>>2]|0,f[o>>2]|0,0,1)|0;if((f[l>>2]|0)>0){f[t>>2]=0;s=f[t>>2]|0;h=u;return s|0}else{f[t>>2]=f[l>>2];s=f[t>>2]|0;h=u;return s|0}return 0}function es(e){e=e|0;var r=0,i=0;r=h;h=h+16|0;i=r;f[i>>2]=e;e=rs()|0;f[f[i>>2]>>2]=e;is(f[i>>2]|0);h=r;return}function rs(){return 0}function is(e){e=e|0;var r=0,i=0,t=0;r=h;h=h+16|0;i=r+4|0;t=r;f[i>>2]=e;f[t>>2]=(f[i>>2]|0)+4;vs(f[t>>2]|0,0,14116-((f[t>>2]|0)-(f[i>>2]|0))|0)|0;h=r;return}function ts(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0;b=h;h=h+32|0;a=b+24|0;o=b+20|0;t=b+16|0;n=b+12|0;l=b+8|0;c=b+4|0;u=b;f[a>>2]=e;f[o>>2]=r;f[t>>2]=i;f[n>>2]=f[(f[a>>2]|0)+8508>>2];f[l>>2]=(f[(f[a>>2]|0)+8504>>2]|0)-(f[(f[a>>2]|0)+8508>>2]|0);if((f[l>>2]|0)<0)f[l>>2]=(f[l>>2]|0)+200;if((f[t>>2]|0)>480?(f[n>>2]|0)!=(f[(f[a>>2]|0)+8504>>2]|0):0){e=(f[n>>2]|0)+1|0;f[n>>2]=e;f[n>>2]=(f[n>>2]|0)==200?0:e}if((f[n>>2]|0)==(f[(f[a>>2]|0)+8504>>2]|0))f[n>>2]=(f[n>>2]|0)+-1;if((f[n>>2]|0)<0)f[n>>2]=199;gs(f[o>>2]|0,(f[a>>2]|0)+8516+((f[n>>2]|0)*28|0)|0,28|0)|0;e=(f[a>>2]|0)+8512|0;f[e>>2]=(f[e>>2]|0)+((f[t>>2]|0)/120|0);while(1){t=f[a>>2]|0;if((f[(f[a>>2]|0)+8512>>2]|0)<4)break;e=t+8512|0;f[e>>2]=(f[e>>2]|0)-4;e=(f[a>>2]|0)+8508|0;f[e>>2]=(f[e>>2]|0)+1}if((f[t+8508>>2]|0)>=200){e=(f[a>>2]|0)+8508|0;f[e>>2]=(f[e>>2]|0)-200}f[l>>2]=((f[l>>2]|0)-10|0)>0?(f[l>>2]|0)-10|0:0;s[c>>2]=0;f[u>>2]=0;while(1){if((f[u>>2]|0)>=(200-(f[l>>2]|0)|0))break;s[c>>2]=+s[c>>2]+ +s[(f[a>>2]|0)+7688+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}while(1){if((f[u>>2]|0)>=200)break;s[c>>2]=+s[c>>2]+ +s[(f[a>>2]|0)+6888+(f[u>>2]<<2)>>2];f[u>>2]=(f[u>>2]|0)+1}s[c>>2]=+s[c>>2]*+s[(f[a>>2]|0)+8492>>2]+(1-+s[c>>2])*+s[(f[a>>2]|0)+8488>>2];s[(f[o>>2]|0)+20>>2]=+s[c>>2];h=b;return}function ns(e,r,i,t,n,a,o,l,s,u,c,b){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;s=s|0;u=u|0;c=c|0;b=b|0;var w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0;M=h;h=h+64|0;k=M+52|0;d=M+48|0;g=M+44|0;y=M+40|0;_=M+36|0;m=M+32|0;E=M+28|0;A=M+24|0;w=M+20|0;S=M+16|0;p=M+12|0;v=M+8|0;R=M+4|0;T=M;f[k>>2]=e;f[d>>2]=r;f[g>>2]=i;f[y>>2]=t;f[_>>2]=n;f[m>>2]=a;f[E>>2]=o;f[A>>2]=l;f[w>>2]=s;f[S>>2]=u;f[p>>2]=c;f[v>>2]=b;if(!(f[g>>2]|0)){S=f[v>>2]|0;f[S>>2]=0;S=f[k>>2]|0;R=f[v>>2]|0;T=f[_>>2]|0;ts(S,R,T);h=M;return}if((((f[w>>2]|0)*195|0)/100|0|0)<(f[y>>2]|0))w=((f[w>>2]|0)*195|0)/100|0;else w=f[y>>2]|0;f[y>>2]=w;f[T>>2]=(f[y>>2]|0)-(f[(f[k>>2]|0)+6884>>2]|0);f[R>>2]=f[(f[k>>2]|0)+6884>>2];do{fs(f[k>>2]|0,f[d>>2]|0,f[g>>2]|0,480<(f[T>>2]|0)?480:f[T>>2]|0,f[R>>2]|0,f[m>>2]|0,f[E>>2]|0,f[A>>2]|0,f[S>>2]|0,f[p>>2]|0);f[R>>2]=(f[R>>2]|0)+480;f[T>>2]=(f[T>>2]|0)-480}while((f[T>>2]|0)>0);f[(f[k>>2]|0)+6884>>2]=f[y>>2];S=(f[k>>2]|0)+6884|0;f[S>>2]=(f[S>>2]|0)-(f[_>>2]|0);S=f[v>>2]|0;f[S>>2]=0;S=f[k>>2]|0;R=f[v>>2]|0;T=f[_>>2]|0;ts(S,R,T);h=M;return}function fs(e,r,i,t,n,a,o,l,u,c){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;a=a|0;o=o|0;l=l|0;u=u|0;c=c|0;var b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0,D=0,N=0,F=0,W=0,Z=0,V=0,J=0,G=0,K=0,X=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,fe=0,ae=0,oe=0,le=0,se=0,ue=0,he=0,ce=0,be=0,we=0,ke=0,de=0,pe=0,ve=0,ge=0,ye=0,_e=0,me=0,Ee=0,Ae=0,Se=0,Re=0,Te=0,Me=0,xe=0,Oe=0,Le=0,Pe=0,Ie=0,Ce=0,Ue=0,Be=0,je=0,De=0,Ne=0,Fe=0,ze=0,Ye=0,He=0,qe=0,We=0,Ze=0,Ve=0,Je=0;Je=h;h=h+10192|0;He=Je+10180|0;w=Je+10176|0;k=Je+10172|0;d=Je+10168|0;p=Je+10164|0;v=Je+10160|0;g=Je+10156|0;y=Je+10152|0;V=Je+10148|0;_=Je+10144|0;Oe=Je+10140|0;pe=Je+10136|0;D=Je+10132|0;oe=Je+10128|0;E=Je+10124|0;m=Je+10120|0;C=Je+10116|0;L=Je+10112|0;X=Je+10040|0;ge=Je+9968|0;Ee=Je+9936|0;Se=Je+9836|0;Te=Je+9832|0;ye=Je+9828|0;Ze=Je+9824|0;Me=Je+9816|0;Re=Je+9812|0;_e=Je+9808|0;Ye=Je+9800|0;Ae=Je+9796|0;de=Je+9792|0;le=Je+9788|0;ve=Je+9784|0;he=Je+9780|0;We=Je+9776|0;be=Je+9772|0;we=Je+9768|0;W=Je+9764|0;Ve=Je+9760|0;j=Je+5920|0;ke=Je+2080|0;ne=Je+1120|0;re=Je+160|0;Z=Je+152|0;S=Je+148|0;T=Je+144|0;A=Je+140|0;R=Je+136|0;M=Je+132|0;U=Je+128|0;P=Je+124|0;x=Je+120|0;B=Je+116|0;I=Je+112|0;N=Je+108|0;F=Je+104|0;O=Je+100|0;J=Je+96|0;te=Je+92|0;ee=Je+88|0;G=Je+84|0;K=Je+80|0;ie=Je+76|0;$=Je+72|0;ae=Je+68|0;ue=Je+64|0;se=Je+60|0;ce=Je+56|0;me=Je+52|0;Fe=Je+48|0;xe=Je+44|0;Ce=Je+40|0;Ue=Je+36|0;De=Je+32|0;Le=Je+28|0;Be=Je+24|0;Ne=Je+20|0;Pe=Je+16|0;Ie=Je+12|0;je=Je+8|0;ze=Je+4|0;qe=Je;f[He>>2]=e;f[w>>2]=r;f[k>>2]=i;f[d>>2]=t;f[p>>2]=n;f[v>>2]=a;f[g>>2]=o;f[y>>2]=l;f[V>>2]=u;f[_>>2]=c;f[oe>>2]=480;f[E>>2]=240;f[m>>2]=(f[He>>2]|0)+4;f[C>>2]=(f[He>>2]|0)+964;f[L>>2]=(f[He>>2]|0)+1924;s[Je+9820>>2]=97.40908813476562;s[Me>>2]=0;f[We>>2]=0;s[be>>2]=0;i=(f[He>>2]|0)+6864|0;f[i>>2]=(f[i>>2]|0)+1;if(20<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=20;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[Ae>>2]=1/+(l|0);if(50<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=50;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[de>>2]=1/+(l|0);if(1e3<(1+(f[(f[He>>2]|0)+6868>>2]|0)|0))l=1e3;else l=1+(f[(f[He>>2]|0)+6868>>2]|0)|0;s[le>>2]=1/+(l|0);if((f[(f[He>>2]|0)+6868>>2]|0)<4)s[(f[He>>2]|0)+6844>>2]=.5;f[D>>2]=f[(f[w>>2]|0)+64+8>>2];if(!(f[(f[He>>2]|0)+6868>>2]|0))f[(f[He>>2]|0)+5764>>2]=240;if((f[d>>2]|0)<(720-(f[(f[He>>2]|0)+5764>>2]|0)|0))l=f[d>>2]|0;else l=720-(f[(f[He>>2]|0)+5764>>2]|0)|0;Cs[f[_>>2]&3](f[k>>2]|0,(f[He>>2]|0)+2884+(f[(f[He>>2]|0)+5764>>2]<<2)|0,l,f[p>>2]|0,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0);if(((f[(f[He>>2]|0)+5764>>2]|0)+(f[d>>2]|0)|0)<720){Ve=(f[He>>2]|0)+5764|0;f[Ve>>2]=(f[Ve>>2]|0)+(f[d>>2]|0);h=Je;return}i=(f[He>>2]|0)+8504|0;w=f[i>>2]|0;f[i>>2]=w+1;f[Ve>>2]=(f[He>>2]|0)+8516+(w*28|0);if((f[(f[He>>2]|0)+8504>>2]|0)>=200){w=(f[He>>2]|0)+8504|0;f[w>>2]=(f[w>>2]|0)-200}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=(f[E>>2]|0))break;s[Z>>2]=+s[18176+(f[Oe>>2]<<2)>>2];s[j+(f[Oe>>2]<<3)>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+(f[Oe>>2]<<2)>>2];s[j+(f[Oe>>2]<<3)+4>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[E>>2]|0)+(f[Oe>>2]|0)<<2)>>2];s[j+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<3)>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<2)>>2];s[j+((f[oe>>2]|0)-(f[Oe>>2]|0)-1<<3)+4>>2]=+s[Z>>2]*+s[(f[He>>2]|0)+2884+((f[oe>>2]|0)+(f[E>>2]|0)-(f[Oe>>2]|0)-1<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}ys((f[He>>2]|0)+2884|0,(f[He>>2]|0)+2884+2880+-960|0,960|0)|0;f[W>>2]=(f[d>>2]|0)-(720-(f[(f[He>>2]|0)+5764>>2]|0));Cs[f[_>>2]&3](f[k>>2]|0,(f[He>>2]|0)+2884+960|0,f[W>>2]|0,(f[p>>2]|0)+720-(f[(f[He>>2]|0)+5764>>2]|0)|0,f[v>>2]|0,f[g>>2]|0,f[y>>2]|0);f[(f[He>>2]|0)+5764>>2]=240+(f[W>>2]|0);ur(f[D>>2]|0,j,ke);if(+s[ke>>2]!=+s[ke>>2]){f[f[Ve>>2]>>2]=0;h=Je;return}f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=(f[E>>2]|0))break;s[S>>2]=+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2];s[A>>2]=+s[ke+(f[Oe>>2]<<3)+4>>2]-+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[T>>2]=+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[R>>2]=+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]-+s[ke+(f[Oe>>2]<<3)>>2];s[M>>2]=+as(+s[A>>2],+s[S>>2])*.15915493667125702;s[U>>2]=+s[M>>2]-+s[(f[m>>2]|0)+(f[Oe>>2]<<2)>>2];s[P>>2]=+s[U>>2]-+s[(f[C>>2]|0)+(f[Oe>>2]<<2)>>2];s[x>>2]=+as(+s[R>>2],+s[T>>2])*.15915493667125702;s[B>>2]=+s[x>>2]-+s[M>>2];s[I>>2]=+s[B>>2]-+s[U>>2];s[N>>2]=+s[P>>2]-+z(+(+s[P>>2]+.5));b=+Y(+ +s[N>>2]);s[re+(f[Oe>>2]<<2)>>2]=b;s[N>>2]=+s[N>>2]*+s[N>>2];s[N>>2]=+s[N>>2]*+s[N>>2];s[F>>2]=+s[I>>2]-+z(+(+s[I>>2]+.5));b=+Y(+ +s[F>>2]);Z=re+(f[Oe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]+b;s[F>>2]=+s[F>>2]*+s[F>>2];s[F>>2]=+s[F>>2]*+s[F>>2];s[O>>2]=(+s[(f[L>>2]|0)+(f[Oe>>2]<<2)>>2]+ +s[N>>2]*2+ +s[F>>2])*.25;s[ne+(f[Oe>>2]<<2)>>2]=1/(+s[O>>2]*62341.81640625+1)-.014999999664723873;s[(f[m>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[x>>2];s[(f[C>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[B>>2];s[(f[L>>2]|0)+(f[Oe>>2]<<2)>>2]=+s[F>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Te>>2]=0;s[ye>>2]=0;s[(f[Ve>>2]|0)+16>>2]=0;s[Ze>>2]=0;s[Re>>2]=0;e:do{if(!(f[(f[He>>2]|0)+6868>>2]|0)){f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=18)break e;s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]=1e10;s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]=-1e10;f[pe>>2]=(f[pe>>2]|0)+1}}}while(0);s[_e>>2]=0;s[ve>>2]=0;f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=18)break;s[J>>2]=0;s[te>>2]=0;s[ee>>2]=0;f[Oe>>2]=f[19136+(f[pe>>2]<<2)>>2];while(1){if((f[Oe>>2]|0)>=(f[19136+((f[pe>>2]|0)+1<<2)>>2]|0))break;s[$>>2]=+s[ke+(f[Oe>>2]<<3)>>2]*+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]+ +s[ke+(f[Oe>>2]<<3)+4>>2]*+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[J>>2]=+s[J>>2]+ +s[$>>2];s[te>>2]=+s[te>>2]+ +s[$>>2]*+s[ne+(f[Oe>>2]<<2)>>2];s[ee>>2]=+s[ee>>2]+ +s[$>>2]*2*(.5-+s[re+(f[Oe>>2]<<2)>>2]);f[Oe>>2]=(f[Oe>>2]|0)+1}if(!(+s[J>>2]<1e9)){fe=37;break}if(+s[J>>2]!=+s[J>>2]){fe=37;break}s[(f[He>>2]|0)+5844+((f[(f[He>>2]|0)+6856>>2]|0)*72|0)+(f[pe>>2]<<2)>>2]=+s[J>>2];s[Ze>>2]=+s[Ze>>2]+ +s[ee>>2]/(+s[J>>2]+1.0000000036274937e-15);b=+H(+(+s[J>>2]+1.000000013351432e-10));s[ve>>2]=+s[ve>>2]+b;b=+Q(+(+s[J>>2]+1.000000013351432e-10));s[ge+(f[pe>>2]<<2)>>2]=b;l=f[pe>>2]|0;if(+s[ge+(f[pe>>2]<<2)>>2]<+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]+.009999999776482582)b=+s[ge+(l<<2)>>2];else b=+s[(f[He>>2]|0)+6420+(l<<2)>>2]+.009999999776482582;s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]=b;l=f[pe>>2]|0;if(+s[ge+(f[pe>>2]<<2)>>2]>+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]-.10000000149011612)b=+s[ge+(l<<2)>>2];else b=+s[(f[He>>2]|0)+6492+(l<<2)>>2]-.10000000149011612;s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]=b;if(+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]<+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]+1){Z=(f[He>>2]|0)+6492+(f[pe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]+.5;Z=(f[He>>2]|0)+6420+(f[pe>>2]<<2)|0;s[Z>>2]=+s[Z>>2]-.5}s[_e>>2]=+s[_e>>2]+(+s[ge+(f[pe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2])/(+s[(f[He>>2]|0)+6492+(f[pe>>2]<<2)>>2]+1.0000000036274937e-15-+s[(f[He>>2]|0)+6420+(f[pe>>2]<<2)>>2]);s[K>>2]=0;s[G>>2]=0;f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;b=+H(+ +s[(f[He>>2]|0)+5844+((f[Oe>>2]|0)*72|0)+(f[pe>>2]<<2)>>2]);s[G>>2]=+s[G>>2]+b;s[K>>2]=+s[K>>2]+ +s[(f[He>>2]|0)+5844+((f[Oe>>2]|0)*72|0)+(f[pe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}if(.9900000095367432<+s[G>>2]/+H(+(+s[K>>2]*8+1e-15)))b=.9900000095367432;else b=+s[G>>2]/+H(+(+s[K>>2]*8+1e-15));s[ie>>2]=b;s[ie>>2]=+s[ie>>2]*+s[ie>>2];s[ie>>2]=+s[ie>>2]*+s[ie>>2];s[Re>>2]=+s[Re>>2]+ +s[ie>>2];if(+s[te>>2]/(+s[J>>2]+1.0000000036274937e-15)>+s[ie>>2]*+s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2])b=+s[te>>2]/(+s[J>>2]+1.0000000036274937e-15);else b=+s[ie>>2]*+s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2];s[X+(f[pe>>2]<<2)>>2]=b;s[Te>>2]=+s[Te>>2]+ +s[X+(f[pe>>2]<<2)>>2];if((f[pe>>2]|0)>=9)s[Te>>2]=+s[Te>>2]-+s[X+((f[pe>>2]|0)-18+9<<2)>>2];if(+s[ye>>2]>(+((f[pe>>2]|0)-18|0)*.029999999329447746+1)*+s[Te>>2])b=+s[ye>>2];else b=(+((f[pe>>2]|0)-18|0)*.029999999329447746+1)*+s[Te>>2];s[ye>>2]=b;s[Me>>2]=+s[Me>>2]+ +s[X+(f[pe>>2]<<2)>>2]*+((f[pe>>2]|0)-8|0);s[(f[He>>2]|0)+5768+(f[pe>>2]<<2)>>2]=+s[X+(f[pe>>2]<<2)>>2];f[pe>>2]=(f[pe>>2]|0)+1}if((fe|0)==37){f[f[Ve>>2]>>2]=0;h=Je;return}s[he>>2]=0;f[We>>2]=0;s[be>>2]=0;s[we>>2]=.0005699999746866524/+(1<<(0>((f[V>>2]|0)-8|0)?0:(f[V>>2]|0)-8|0)|0);s[we>>2]=+s[we>>2]*+s[we>>2];f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=21)break;s[ae>>2]=0;f[ue>>2]=f[19212+(f[pe>>2]<<2)>>2];f[se>>2]=f[19212+((f[pe>>2]|0)+1<<2)>>2];f[Oe>>2]=f[ue>>2];while(1){if((f[Oe>>2]|0)>=(f[se>>2]|0))break;s[ce>>2]=+s[ke+(f[Oe>>2]<<3)>>2]*+s[ke+(f[Oe>>2]<<3)>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)>>2]+ +s[ke+(f[Oe>>2]<<3)+4>>2]*+s[ke+(f[Oe>>2]<<3)+4>>2]+ +s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2]*+s[ke+((f[oe>>2]|0)-(f[Oe>>2]|0)<<3)+4>>2];s[ae>>2]=+s[ae>>2]+ +s[ce>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[be>>2]=+s[be>>2]>+s[ae>>2]?+s[be>>2]:+s[ae>>2];if((1-+s[le>>2])*+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2]>+s[ae>>2])b=(1-+s[le>>2])*+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2];else b=+s[ae>>2];s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2]=b;if(+s[ae>>2]>+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2])b=+s[ae>>2];else b=+s[(f[He>>2]|0)+6564+(f[pe>>2]<<2)>>2];s[ae>>2]=b;s[he>>2]=+s[he>>2]*.05000000074505806>+s[ae>>2]?+s[he>>2]*.05000000074505806:+s[ae>>2];if((+s[ae>>2]>+s[he>>2]*.1?+s[ae>>2]*1e9>+s[be>>2]:0)?+s[ae>>2]>+s[we>>2]*+((f[se>>2]|0)-(f[ue>>2]|0)|0):0)f[We>>2]=f[pe>>2];f[pe>>2]=(f[pe>>2]|0)+1}if((f[(f[He>>2]|0)+6868>>2]|0)<=2)f[We>>2]=20;s[ve>>2]=+hs(+s[ve>>2])*20;if(+s[(f[He>>2]|0)+6848>>2]-.029999999329447746>+s[ve>>2])b=+s[(f[He>>2]|0)+6848>>2]-.029999999329447746;else b=+s[ve>>2];s[(f[He>>2]|0)+6848>>2]=b;ke=(f[He>>2]|0)+6852|0;s[ke>>2]=+s[ke>>2]*(1-+s[de>>2]);if(+s[ve>>2]<+s[(f[He>>2]|0)+6848>>2]-30){ve=(f[He>>2]|0)+6852|0;s[ve>>2]=+s[ve>>2]+ +s[de>>2]}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;s[me>>2]=0;f[pe>>2]=0;while(1){if((f[pe>>2]|0)>=16)break;s[me>>2]=+s[me>>2]+ +s[19300+((f[Oe>>2]<<4)+(f[pe>>2]|0)<<2)>>2]*+s[ge+(f[pe>>2]<<2)>>2];f[pe>>2]=(f[pe>>2]|0)+1}s[Ee+(f[Oe>>2]<<2)>>2]=+s[me>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Re>>2]=+s[Re>>2]/18;b=+s[_e>>2]/18;s[_e>>2]=b;s[_e>>2]=(f[(f[He>>2]|0)+6868>>2]|0)<10?.5:b;s[Ze>>2]=+s[Ze>>2]/18;s[(f[Ve>>2]|0)+16>>2]=+s[Ze>>2]+(1-+s[Ze>>2])*+s[_e>>2];s[Te>>2]=+s[ye>>2]/9;if(+s[Te>>2]>+s[(f[He>>2]|0)+5840>>2]*.800000011920929)b=+s[Te>>2];else b=+s[(f[He>>2]|0)+5840>>2]*.800000011920929;s[Te>>2]=b;s[(f[He>>2]|0)+5840>>2]=+s[Te>>2];s[Me>>2]=+s[Me>>2]/64;s[(f[Ve>>2]|0)+8>>2]=+s[Me>>2];f[(f[He>>2]|0)+6856>>2]=((f[(f[He>>2]|0)+6856>>2]|0)+1|0)%8|0;Me=(f[He>>2]|0)+6868|0;f[Me>>2]=(f[Me>>2]|0)+1;s[(f[Ve>>2]|0)+4>>2]=+s[Te>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[Se+(f[Oe>>2]<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*-.12298999726772308+(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.49195000529289246+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]*.6969299912452698-+s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]*1.4349000453948975;f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]=(1-+s[Ae>>2])*+s[(f[He>>2]|0)+6776+(f[Oe>>2]<<2)>>2]+ +s[Ae>>2]*+s[Ee+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=4)break;s[Se+(4+(f[Oe>>2]|0)<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*.6324599981307983+(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.31622999906539917;f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=3)break;s[Se+(8+(f[Oe>>2]|0)<<2)>>2]=(+s[Ee+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2])*.5345199704170227-(+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2])*.26725998520851135-+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]*.5345199704170227;f[Oe>>2]=(f[Oe>>2]|0)+1}e:do{if((f[(f[He>>2]|0)+6868>>2]|0)>5){f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=9)break e;s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]=(1-+s[Ae>>2])*+s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]+ +s[Ae>>2]*+s[Se+(f[Oe>>2]<<2)>>2]*+s[Se+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}}}while(0);f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=8)break;s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+24<<2)>>2]=+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2];s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+16<<2)>>2]=+s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2];s[(f[He>>2]|0)+6648+((f[Oe>>2]|0)+8<<2)>>2]=+s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2];s[(f[He>>2]|0)+6648+(f[Oe>>2]<<2)>>2]=+s[Ee+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=9)break;b=+H(+ +s[(f[He>>2]|0)+6808+(f[Oe>>2]<<2)>>2]);s[Se+(11+(f[Oe>>2]|0)<<2)>>2]=b;f[Oe>>2]=(f[Oe>>2]|0)+1}s[Se+80>>2]=+s[(f[Ve>>2]|0)+4>>2];s[Se+84>>2]=+s[(f[Ve>>2]|0)+16>>2];s[Se+88>>2]=+s[Re>>2];s[Se+92>>2]=+s[(f[Ve>>2]|0)+8>>2];s[Se+96>>2]=+s[(f[He>>2]|0)+6852>>2];os(20616,Se,Ye);s[Ye>>2]=(+s[Ye>>2]+1)*.5;s[Ye>>2]=+s[Ye>>2]*1.2100000381469727*+s[Ye>>2]+.009999999776482582-+q(+ +s[Ye>>2],10)*.23000000417232513;s[Ye+4>>2]=+s[Ye+4>>2]*.5+.5;s[Ye>>2]=+s[Ye+4>>2]*+s[Ye>>2]+(1-+s[Ye+4>>2])*.5;s[Fe>>2]=+s[Ye+4>>2]*4999999873689376e-20;s[xe>>2]=.05000000074505806;if(.05000000074505806>(.949999988079071<+s[Ye>>2]?.949999988079071:+s[Ye>>2]))b=.05000000074505806;else b=.949999988079071<+s[Ye>>2]?.949999988079071:+s[Ye>>2];s[Ie>>2]=b;if(.949999988079071<+s[(f[He>>2]|0)+6844>>2])b=.949999988079071;else b=+s[(f[He>>2]|0)+6844>>2];if(!(.05000000074505806>b))if(.949999988079071<+s[(f[He>>2]|0)+6844>>2])b=.949999988079071;else b=+s[(f[He>>2]|0)+6844>>2];else b=.05000000074505806;s[je>>2]=b;b=+Y(+(+s[Ie>>2]-+s[je>>2]))*.05000000074505806;s[xe>>2]=b/(+s[Ie>>2]*(1-+s[je>>2])+ +s[je>>2]*(1-+s[Ie>>2]))+.009999999776482582;s[Ce>>2]=(1-+s[(f[He>>2]|0)+6844>>2])*(1-+s[Fe>>2])+ +s[(f[He>>2]|0)+6844>>2]*+s[Fe>>2];s[Ue>>2]=+s[(f[He>>2]|0)+6844>>2]*(1-+s[Fe>>2])+(1-+s[(f[He>>2]|0)+6844>>2])*+s[Fe>>2];b=+q(+(1-+s[Ye>>2]),+ +s[xe>>2]);s[Ce>>2]=+s[Ce>>2]*b;b=+q(+ +s[Ye>>2],+ +s[xe>>2]);s[Ue>>2]=+s[Ue>>2]*b;s[(f[He>>2]|0)+6844>>2]=+s[Ue>>2]/(+s[Ce>>2]+ +s[Ue>>2]);s[(f[Ve>>2]|0)+20>>2]=+s[(f[He>>2]|0)+6844>>2];s[Be>>2]=9.999999682655225e-21;s[Ne>>2]=+q(+(1-+s[Ye>>2]),+ +s[xe>>2]);s[Pe>>2]=+q(+ +s[Ye>>2],+ +s[xe>>2]);if((f[(f[He>>2]|0)+6868>>2]|0)==1){s[(f[He>>2]|0)+6888>>2]=.5;s[(f[He>>2]|0)+7688>>2]=.5}s[De>>2]=+s[(f[He>>2]|0)+6888>>2]+ +s[(f[He>>2]|0)+6888+4>>2];s[Le>>2]=+s[(f[He>>2]|0)+7688>>2]+ +s[(f[He>>2]|0)+7688+4>>2];s[(f[He>>2]|0)+6888>>2]=+s[De>>2]*(1-+s[Fe>>2])*+s[Ne>>2];s[(f[He>>2]|0)+7688>>2]=+s[Le>>2]*(1-+s[Fe>>2])*+s[Pe>>2];f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=199)break;s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2]=+s[(f[He>>2]|0)+6888+((f[Oe>>2]|0)+1<<2)>>2]*+s[Ne>>2];s[(f[He>>2]|0)+7688+(f[Oe>>2]<<2)>>2]=+s[(f[He>>2]|0)+7688+((f[Oe>>2]|0)+1<<2)>>2]*+s[Pe>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[(f[He>>2]|0)+6888+796>>2]=+s[Le>>2]*+s[Fe>>2]*+s[Ne>>2];s[(f[He>>2]|0)+7688+796>>2]=+s[De>>2]*+s[Fe>>2]*+s[Pe>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=200)break;s[Be>>2]=+s[Be>>2]+(+s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2]+ +s[(f[He>>2]|0)+7688+(f[Oe>>2]<<2)>>2]);f[Oe>>2]=(f[Oe>>2]|0)+1}s[Be>>2]=1/+s[Be>>2];f[Oe>>2]=0;while(1){if((f[Oe>>2]|0)>=200)break;Fe=(f[He>>2]|0)+6888+(f[Oe>>2]<<2)|0;s[Fe>>2]=+s[Fe>>2]*+s[Be>>2];Fe=(f[He>>2]|0)+7688+(f[Oe>>2]<<2)|0;s[Fe>>2]=+s[Fe>>2]*+s[Be>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}s[Be>>2]=+s[(f[He>>2]|0)+7688>>2];f[Oe>>2]=1;while(1){if((f[Oe>>2]|0)>=200)break;s[Be>>2]=+s[Be>>2]+ +s[(f[He>>2]|0)+6888+(f[Oe>>2]<<2)>>2];f[Oe>>2]=(f[Oe>>2]|0)+1}l=f[He>>2]|0;do{if(+s[Ye+4>>2]>.75){if(+s[l+6844>>2]>.9){Ne=(f[He>>2]|0)+8500|0;Fe=(f[Ne>>2]|0)+1|0;f[Ne>>2]=Fe;s[ze>>2]=1/+(Fe|0);if((f[(f[He>>2]|0)+8500>>2]|0)<500)l=f[(f[He>>2]|0)+8500>>2]|0;else l=500;f[(f[He>>2]|0)+8500>>2]=l;if(-.20000000298023224>+s[Ye>>2]-+s[(f[He>>2]|0)+8492>>2])b=-.20000000298023224;else b=+s[Ye>>2]-+s[(f[He>>2]|0)+8492>>2];Fe=(f[He>>2]|0)+8492|0;s[Fe>>2]=+s[Fe>>2]+ +s[ze>>2]*b}if(!(+s[(f[He>>2]|0)+6844>>2]<.1))break;Fe=(f[He>>2]|0)+8496|0;ze=(f[Fe>>2]|0)+1|0;f[Fe>>2]=ze;s[qe>>2]=1/+(ze|0);if((f[(f[He>>2]|0)+8496>>2]|0)<500)l=f[(f[He>>2]|0)+8496>>2]|0;else l=500;f[(f[He>>2]|0)+8496>>2]=l;if(.20000000298023224<+s[Ye>>2]-+s[(f[He>>2]|0)+8488>>2])b=.20000000298023224;else b=+s[Ye>>2]-+s[(f[He>>2]|0)+8488>>2];Ye=(f[He>>2]|0)+8488|0;s[Ye>>2]=+s[Ye>>2]+ +s[qe>>2]*b}else{if(!(f[l+8500>>2]|0))s[(f[He>>2]|0)+8492>>2]=.8999999761581421;if(f[(f[He>>2]|0)+8496>>2]|0)break;s[(f[He>>2]|0)+8488>>2]=.10000000149011612}}while(0);if((f[(f[He>>2]|0)+6860>>2]|0)!=(+s[(f[He>>2]|0)+6844>>2]>.5|0))f[(f[He>>2]|0)+6864>>2]=0;f[(f[He>>2]|0)+6860>>2]=+s[(f[He>>2]|0)+6844>>2]>.5&1;f[(f[Ve>>2]|0)+24>>2]=f[We>>2];s[(f[Ve>>2]|0)+12>>2]=+s[Ze>>2];f[f[Ve>>2]>>2]=1;h=Je;return}function as(e,r){e=+e;r=+r;var i=0,t=0,n=0,f=0,a=0,o=0,l=0,u=0;u=h;h=h+32|0;i=u+24|0;t=u+20|0;n=u+16|0;o=u+12|0;l=u+8|0;f=u+4|0;a=u;s[t>>2]=e;s[n>>2]=r;e=+Y(+ +s[n>>2]);if(e+ +Y(+ +s[t>>2])<9.999999717180685e-10){s[n>>2]=+s[n>>2]*999999995904;s[t>>2]=+s[t>>2]*999999995904}s[o>>2]=+s[n>>2]*+s[n>>2];s[l>>2]=+s[t>>2]*+s[t>>2];if(+s[o>>2]<+s[l>>2]){s[f>>2]=(+s[l>>2]+ +s[o>>2]*.6784840226173401)*(+s[l>>2]+ +s[o>>2]*.0859554186463356);if(+s[f>>2]!=0){s[i>>2]=-+s[n>>2]*+s[t>>2]*(+s[l>>2]+ +s[o>>2]*.43157973885536194)/+s[f>>2]+(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}else{s[i>>2]=+s[t>>2]<0?-1.5707963705062866:1.5707963705062866;e=+s[i>>2];h=u;return+e}}else{s[a>>2]=(+s[o>>2]+ +s[l>>2]*.6784840226173401)*(+s[o>>2]+ +s[l>>2]*.0859554186463356);if(+s[a>>2]!=0){s[i>>2]=+s[n>>2]*+s[t>>2]*(+s[o>>2]+ +s[l>>2]*.43157973885536194)/+s[a>>2]+(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866)-(+s[n>>2]*+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}else{s[i>>2]=(+s[t>>2]<0?-1.5707963705062866:1.5707963705062866)-(+s[n>>2]*+s[t>>2]<0?-1.5707963705062866:1.5707963705062866);e=+s[i>>2];h=u;return+e}}return 0}function os(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,a=0,o=0,l=0,u=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0;p=h;h=h+448|0;l=p+436|0;n=p+432|0;u=p+428|0;w=p+424|0;b=p+24|0;c=p+16|0;a=p+12|0;o=p+8|0;k=p+4|0;d=p;f[l>>2]=e;f[n>>2]=r;f[u>>2]=i;f[c>>2]=f[(f[l>>2]|0)+8>>2];f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+4>>2]|0))break;i=f[c>>2]|0;f[c>>2]=i+4;s[o>>2]=+s[i>>2];f[a>>2]=0;while(1){t=+s[o>>2];if((f[a>>2]|0)>=(f[f[(f[l>>2]|0)+4>>2]>>2]|0))break;v=+s[(f[n>>2]|0)+(f[a>>2]<<2)>>2];i=f[c>>2]|0;f[c>>2]=i+4;s[o>>2]=t+v*+s[i>>2];f[a>>2]=(f[a>>2]|0)+1}v=+ls(t);s[b+(f[w>>2]<<2)>>2]=v;f[w>>2]=(f[w>>2]|0)+1}f[w>>2]=0;while(1){if((f[w>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+8>>2]|0))break;o=f[c>>2]|0;f[c>>2]=o+4;s[d>>2]=+s[o>>2];f[k>>2]=0;while(1){t=+s[d>>2];if((f[k>>2]|0)>=(f[(f[(f[l>>2]|0)+4>>2]|0)+4>>2]|0))break;v=+s[b+(f[k>>2]<<2)>>2];o=f[c>>2]|0;f[c>>2]=o+4;s[d>>2]=t+v*+s[o>>2];f[k>>2]=(f[k>>2]|0)+1}v=+ls(t);s[(f[u>>2]|0)+(f[w>>2]<<2)>>2]=v;f[w>>2]=(f[w>>2]|0)+1}h=p;return}function ls(e){e=+e;var r=0,i=0,t=0,n=0,a=0,o=0,l=0;l=h;h=h+32|0;r=l+20|0;i=l+16|0;n=l+12|0;o=l+8|0;t=l+4|0;a=l;s[i>>2]=e;s[a>>2]=1;if(!(+s[i>>2]<8)){s[r>>2]=1;e=+s[r>>2];h=l;return+e}if(!(+s[i>>2]>-8)){s[r>>2]=-1;e=+s[r>>2];h=l;return+e}if(+s[i>>2]!=+s[i>>2]){s[r>>2]=0;e=+s[r>>2];h=l;return+e}if(+s[i>>2]<0){s[i>>2]=-+s[i>>2];s[a>>2]=-1}f[n>>2]=~~+z(+(+s[i>>2]*25+.5));s[i>>2]=+s[i>>2]-+(f[n>>2]|0)*.03999999910593033;s[o>>2]=+s[19812+(f[n>>2]<<2)>>2];s[t>>2]=1-+s[o>>2]*+s[o>>2];s[o>>2]=+s[o>>2]+ +s[i>>2]*+s[t>>2]*(1-+s[o>>2]*+s[i>>2]);s[r>>2]=+s[a>>2]*+s[o>>2];e=+s[r>>2];h=l;return+e}function ss(){var e=0;if(!(f[7632]|0))e=30572;else e=f[(le()|0)+64>>2]|0;return e|0}function us(e){e=+e;var r=0;r=(s[b>>2]=e,f[b>>2]|0);if((r&2130706432)>>>0<=1249902592){r=(r|0)<0;e=r?e+-8388608+8388608:e+8388608+-8388608;if(e==0)e=r?-0:0}return+e}function hs(e){e=+e;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,h=0;u[b>>3]=e;i=f[b>>2]|0;r=f[b+4>>2]|0;t=(r|0)<0;do{if(t|r>>>0<1048576){a=+Y(+e);u[b>>3]=a;if((f[b>>2]|0)==0&(f[b+4>>2]|0)==0){e=-1/(e*e);break}if(t){e=(e-e)/0;break}else{u[b>>3]=e*0x40000000000000;r=f[b+4>>2]|0;t=f[b>>2]|0;i=-1077;n=9;break}}else if(r>>>0<=2146435071)if((i|0)==0&0==0&(r|0)==1072693248)e=0;else{t=i;i=-1023;n=9}}while(0);if((n|0)==9){n=r+614242|0;f[b>>2]=t;f[b+4>>2]=(n&1048575)+1072079006;l=+u[b>>3]+-1;o=l*(l*.5);s=l/(l+2);h=s*s;e=h*h;u[b>>3]=l-o;t=f[b+4>>2]|0;f[b>>2]=0;f[b+4>>2]=t;a=+u[b>>3];e=l-a-o+s*(o+(e*(e*(e*.15313837699209373+.22222198432149784)+.3999999999940942)+h*(e*(e*(e*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));h=a*.4342944818781689;o=+(i+(n>>>20)|0);s=o*.30102999566361177;l=s+h;e=l+(h+(s-l)+(e*.4342944818781689+(o*3.694239077158931e-13+(a+e)*2.5082946711645275e-11)))}return+e}function cs(e){e=+e;return~~+us(e)|0}function bs(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0,d=0,p=0,v=0,g=0,y=0,_=0,m=0,E=0,A=0,S=0,R=0,T=0,M=0,x=0,O=0,L=0,P=0,I=0,C=0,U=0,B=0,j=0;do{if(e>>>0<245){w=e>>>0<11?16:e+11&-8;e=w>>>3;s=f[7644]|0;r=s>>>e;if(r&3|0){r=(r&1^1)+e|0;i=30616+(r<<1<<2)|0;t=i+8|0;n=f[t>>2]|0;a=n+8|0;o=f[a>>2]|0;do{if((i|0)!=(o|0)){if(o>>>0<(f[7648]|0)>>>0)se();e=o+12|0;if((f[e>>2]|0)==(n|0)){f[e>>2]=i;f[t>>2]=o;break}else se()}else f[7644]=s&~(1<>2]=j|3;j=n+j+4|0;f[j>>2]=f[j>>2]|1;j=a;return j|0}o=f[7646]|0;if(w>>>0>o>>>0){if(r|0){i=2<>>12&16;i=i>>>l;n=i>>>5&8;i=i>>>n;a=i>>>2&4;i=i>>>a;t=i>>>1&2;i=i>>>t;r=i>>>1&1;r=(n|l|a|t|r)+(i>>>r)|0;i=30616+(r<<1<<2)|0;t=i+8|0;a=f[t>>2]|0;l=a+8|0;n=f[l>>2]|0;do{if((i|0)!=(n|0)){if(n>>>0<(f[7648]|0)>>>0)se();e=n+12|0;if((f[e>>2]|0)==(a|0)){f[e>>2]=i;f[t>>2]=n;u=f[7646]|0;break}else se()}else{f[7644]=s&~(1<>2]=w|3;t=a+w|0;f[t+4>>2]=o|1;f[t+o>>2]=o;if(u|0){n=f[7649]|0;r=u>>>3;i=30616+(r<<1<<2)|0;e=f[7644]|0;r=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{h=e;c=r}}else{f[7644]=e|r;h=i+8|0;c=i}f[h>>2]=n;f[c+12>>2]=n;f[n+8>>2]=c;f[n+12>>2]=i}f[7646]=o;f[7649]=t;j=l;return j|0}e=f[7645]|0;if(e){i=(e&0-e)+-1|0;B=i>>>12&16;i=i>>>B;U=i>>>5&8;i=i>>>U;j=i>>>2&4;i=i>>>j;r=i>>>1&2;i=i>>>r;t=i>>>1&1;t=f[30880+((U|B|j|r|t)+(i>>>t)<<2)>>2]|0;i=(f[t+4>>2]&-8)-w|0;r=t;while(1){e=f[r+16>>2]|0;if(!e){e=f[r+20>>2]|0;if(!e){s=t;break}}r=(f[e+4>>2]&-8)-w|0;j=r>>>0>>0;i=j?r:i;r=e;t=j?e:t}a=f[7648]|0;if(s>>>0>>0)se();l=s+w|0;if(s>>>0>=l>>>0)se();o=f[s+24>>2]|0;t=f[s+12>>2]|0;do{if((t|0)==(s|0)){r=s+20|0;e=f[r>>2]|0;if(!e){r=s+16|0;e=f[r>>2]|0;if(!e){b=0;break}}while(1){t=e+20|0;n=f[t>>2]|0;if(n|0){e=n;r=t;continue}t=e+16|0;n=f[t>>2]|0;if(!n)break;else{e=n;r=t}}if(r>>>0>>0)se();else{f[r>>2]=0;b=e;break}}else{n=f[s+8>>2]|0;if(n>>>0>>0)se();e=n+12|0;if((f[e>>2]|0)!=(s|0))se();r=t+8|0;if((f[r>>2]|0)==(s|0)){f[e>>2]=t;f[r>>2]=n;b=t;break}else se()}}while(0);do{if(o|0){e=f[s+28>>2]|0;r=30880+(e<<2)|0;if((s|0)==(f[r>>2]|0)){f[r>>2]=b;if(!b){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=o+16|0;if((f[e>>2]|0)==(s|0))f[e>>2]=b;else f[o+20>>2]=b;if(!b)break}r=f[7648]|0;if(b>>>0>>0)se();f[b+24>>2]=o;e=f[s+16>>2]|0;do{if(e|0)if(e>>>0>>0)se();else{f[b+16>>2]=e;f[e+24>>2]=b;break}}while(0);e=f[s+20>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[b+20>>2]=e;f[e+24>>2]=b;break}}}while(0);if(i>>>0<16){j=i+w|0;f[s+4>>2]=j|3;j=s+j+4|0;f[j>>2]=f[j>>2]|1}else{f[s+4>>2]=w|3;f[l+4>>2]=i|1;f[l+i>>2]=i;e=f[7646]|0;if(e|0){n=f[7649]|0;r=e>>>3;t=30616+(r<<1<<2)|0;e=f[7644]|0;r=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{k=e;d=r}}else{f[7644]=e|r;k=t+8|0;d=t}f[k>>2]=n;f[d+12>>2]=n;f[n+8>>2]=d;f[n+12>>2]=t}f[7646]=i;f[7649]=l}j=s+8|0;return j|0}}}else if(e>>>0<=4294967231){e=e+11|0;w=e&-8;s=f[7645]|0;if(s){i=0-w|0;e=e>>>8;if(e)if(w>>>0>16777215)l=31;else{d=(e+1048320|0)>>>16&8;O=e<>>16&4;O=O<>>16&2;l=14-(k|d|l)+(O<>>15)|0;l=w>>>(l+7|0)&1|l<<1}else l=0;r=f[30880+(l<<2)>>2]|0;e:do{if(!r){e=0;r=0;O=86}else{n=i;e=0;a=w<<((l|0)==31?0:25-(l>>>1)|0);o=r;r=0;while(1){t=f[o+4>>2]&-8;i=t-w|0;if(i>>>0>>0)if((t|0)==(w|0)){e=o;r=o;O=90;break e}else r=o;else i=n;t=f[o+20>>2]|0;o=f[o+16+(a>>>31<<2)>>2]|0;e=(t|0)==0|(t|0)==(o|0)?e:t;t=(o|0)==0;if(t){O=86;break}else{n=i;a=a<<(t&1^1)}}}}while(0);if((O|0)==86){if((e|0)==0&(r|0)==0){e=2<>>12&16;d=d>>>c;h=d>>>5&8;d=d>>>h;b=d>>>2&4;d=d>>>b;k=d>>>1&2;d=d>>>k;e=d>>>1&1;e=f[30880+((h|c|b|k|e)+(d>>>e)<<2)>>2]|0}if(!e){l=i;s=r}else O=90}if((O|0)==90)while(1){O=0;d=(f[e+4>>2]&-8)-w|0;t=d>>>0>>0;i=t?d:i;r=t?e:r;t=f[e+16>>2]|0;if(t|0){e=t;O=90;continue}e=f[e+20>>2]|0;if(!e){l=i;s=r;break}else O=90}if((s|0)!=0?l>>>0<((f[7646]|0)-w|0)>>>0:0){n=f[7648]|0;if(s>>>0>>0)se();o=s+w|0;if(s>>>0>=o>>>0)se();a=f[s+24>>2]|0;i=f[s+12>>2]|0;do{if((i|0)==(s|0)){r=s+20|0;e=f[r>>2]|0;if(!e){r=s+16|0;e=f[r>>2]|0;if(!e){v=0;break}}while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0>>0)se();else{f[r>>2]=0;v=e;break}}else{t=f[s+8>>2]|0;if(t>>>0>>0)se();e=t+12|0;if((f[e>>2]|0)!=(s|0))se();r=i+8|0;if((f[r>>2]|0)==(s|0)){f[e>>2]=i;f[r>>2]=t;v=i;break}else se()}}while(0);do{if(a|0){e=f[s+28>>2]|0;r=30880+(e<<2)|0;if((s|0)==(f[r>>2]|0)){f[r>>2]=v;if(!v){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=a+16|0;if((f[e>>2]|0)==(s|0))f[e>>2]=v;else f[a+20>>2]=v;if(!v)break}r=f[7648]|0;if(v>>>0>>0)se();f[v+24>>2]=a;e=f[s+16>>2]|0;do{if(e|0)if(e>>>0>>0)se();else{f[v+16>>2]=e;f[e+24>>2]=v;break}}while(0);e=f[s+20>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[v+20>>2]=e;f[e+24>>2]=v;break}}}while(0);do{if(l>>>0>=16){f[s+4>>2]=w|3;f[o+4>>2]=l|1;f[o+l>>2]=l;e=l>>>3;if(l>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{y=e;_=r}}else{f[7644]=r|e;y=i+8|0;_=i}f[y>>2]=o;f[_+12>>2]=o;f[o+8>>2]=_;f[o+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)i=31;else{B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=l>>>(i+7|0)&1|i<<1}else i=0;t=30880+(i<<2)|0;f[o+28>>2]=i;e=o+16|0;f[e+4>>2]=0;f[e>>2]=0;e=f[7645]|0;r=1<>2]=o;f[o+24>>2]=t;f[o+12>>2]=o;f[o+8>>2]=o;break}n=l<<((i|0)==31?0:25-(i>>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(l|0)){i=e;O=148;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=145;break}else{n=n<<1;e=i}}if((O|0)==145)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=o;f[o+24>>2]=e;f[o+12>>2]=o;f[o+8>>2]=o;break}else if((O|0)==148){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=o;f[e>>2]=o;f[o+8>>2]=r;f[o+12>>2]=i;f[o+24>>2]=0;break}else se()}}else{j=l+w|0;f[s+4>>2]=j|3;j=s+j+4|0;f[j>>2]=f[j>>2]|1}}while(0);j=s+8|0;return j|0}}}else w=-1}while(0);i=f[7646]|0;if(i>>>0>=w>>>0){e=i-w|0;r=f[7649]|0;if(e>>>0>15){j=r+w|0;f[7649]=j;f[7646]=e;f[j+4>>2]=e|1;f[j+e>>2]=e;f[r+4>>2]=w|3}else{f[7646]=0;f[7649]=0;f[r+4>>2]=i|3;j=r+i+4|0;f[j>>2]=f[j>>2]|1}j=r+8|0;return j|0}e=f[7647]|0;if(e>>>0>w>>>0){U=e-w|0;f[7647]=U;j=f[7650]|0;B=j+w|0;f[7650]=B;f[B+4>>2]=U|1;f[j+4>>2]=w|3;j=j+8|0;return j|0}do{if(!(f[7762]|0)){e=pe(30)|0;if(!(e+-1&e)){f[7764]=e;f[7763]=e;f[7765]=-1;f[7766]=-1;f[7767]=0;f[7755]=0;f[7762]=(be(0)|0)&-16^1431655768;break}else se()}}while(0);o=w+48|0;a=f[7764]|0;l=w+47|0;n=a+l|0;a=0-a|0;s=n&a;if(s>>>0<=w>>>0){j=0;return j|0}e=f[7754]|0;if(e|0?(y=f[7752]|0,_=y+s|0,_>>>0<=y>>>0|_>>>0>e>>>0):0){j=0;return j|0}e:do{if(!(f[7755]&4)){e=f[7650]|0;r:do{if(e){i=31024;while(1){r=f[i>>2]|0;if(r>>>0<=e>>>0?(p=i+4|0,(r+(f[p>>2]|0)|0)>>>0>e>>>0):0){t=i;i=p;break}i=f[i+8>>2]|0;if(!i){O=173;break r}}e=n-(f[7647]|0)&a;if(e>>>0<2147483647){r=ce(e|0)|0;if((r|0)==((f[t>>2]|0)+(f[i>>2]|0)|0)){if((r|0)!=(-1|0)){o=r;n=e;O=193;break e}}else O=183}}else O=173}while(0);do{if((O|0)==173?(g=ce(0)|0,(g|0)!=(-1|0)):0){e=g;r=f[7763]|0;i=r+-1|0;if(!(i&e))e=s;else e=s-e+(i+e&0-r)|0;r=f[7752]|0;i=r+e|0;if(e>>>0>w>>>0&e>>>0<2147483647){_=f[7754]|0;if(_|0?i>>>0<=r>>>0|i>>>0>_>>>0:0)break;r=ce(e|0)|0;if((r|0)==(g|0)){o=g;n=e;O=193;break e}else O=183}}}while(0);r:do{if((O|0)==183){i=0-e|0;do{if(o>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))?(m=f[7764]|0,m=l-e+m&0-m,m>>>0<2147483647):0)if((ce(m|0)|0)==(-1|0)){ce(i|0)|0;break r}else{e=m+e|0;break}}while(0);if((r|0)!=(-1|0)){o=r;n=e;O=193;break e}}}while(0);f[7755]=f[7755]|4;O=190}else O=190}while(0);if((((O|0)==190?s>>>0<2147483647:0)?(E=ce(s|0)|0,A=ce(0)|0,E>>>0>>0&((E|0)!=(-1|0)&(A|0)!=(-1|0))):0)?(S=A-E|0,S>>>0>(w+40|0)>>>0):0){o=E;n=S;O=193}if((O|0)==193){e=(f[7752]|0)+n|0;f[7752]=e;if(e>>>0>(f[7753]|0)>>>0)f[7753]=e;l=f[7650]|0;do{if(l){t=31024;do{e=f[t>>2]|0;r=t+4|0;i=f[r>>2]|0;if((o|0)==(e+i|0)){R=e;T=r;M=i;x=t;O=203;break}t=f[t+8>>2]|0}while((t|0)!=0);if(((O|0)==203?(f[x+12>>2]&8|0)==0:0)?l>>>0>>0&l>>>0>=R>>>0:0){f[T>>2]=M+n;j=l+8|0;j=(j&7|0)==0?0:0-j&7;B=l+j|0;j=n-j+(f[7647]|0)|0;f[7650]=B;f[7647]=j;f[B+4>>2]=j|1;f[B+j+4>>2]=40;f[7651]=f[7766];break}e=f[7648]|0;if(o>>>0>>0){f[7648]=o;s=o}else s=e;i=o+n|0;e=31024;while(1){if((f[e>>2]|0)==(i|0)){r=e;O=211;break}e=f[e+8>>2]|0;if(!e){r=31024;break}}if((O|0)==211)if(!(f[e+12>>2]&8)){f[r>>2]=o;h=e+4|0;f[h>>2]=(f[h>>2]|0)+n;h=o+8|0;h=o+((h&7|0)==0?0:0-h&7)|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;u=h+w|0;a=e-h-w|0;f[h+4>>2]=w|3;do{if((e|0)!=(l|0)){if((e|0)==(f[7649]|0)){j=(f[7646]|0)+a|0;f[7646]=j;f[7649]=u;f[u+4>>2]=j|1;f[u+j>>2]=j;break}r=f[e+4>>2]|0;if((r&3|0)==1){l=r&-8;n=r>>>3;e:do{if(r>>>0>=256){o=f[e+24>>2]|0;t=f[e+12>>2]|0;do{if((t|0)==(e|0)){i=e+16|0;t=i+4|0;r=f[t>>2]|0;if(!r){r=f[i>>2]|0;if(!r){U=0;break}}else i=t;while(1){t=r+20|0;n=f[t>>2]|0;if(n|0){r=n;i=t;continue}t=r+16|0;n=f[t>>2]|0;if(!n)break;else{r=n;i=t}}if(i>>>0>>0)se();else{f[i>>2]=0;U=r;break}}else{n=f[e+8>>2]|0;if(n>>>0>>0)se();r=n+12|0;if((f[r>>2]|0)!=(e|0))se();i=t+8|0;if((f[i>>2]|0)==(e|0)){f[r>>2]=t;f[i>>2]=n;U=t;break}else se()}}while(0);if(!o)break;r=f[e+28>>2]|0;i=30880+(r<<2)|0;do{if((e|0)!=(f[i>>2]|0)){if(o>>>0<(f[7648]|0)>>>0)se();r=o+16|0;if((f[r>>2]|0)==(e|0))f[r>>2]=U;else f[o+20>>2]=U;if(!U)break e}else{f[i>>2]=U;if(U|0)break;f[7645]=f[7645]&~(1<>>0>>0)se();f[U+24>>2]=o;r=e+16|0;i=f[r>>2]|0;do{if(i|0)if(i>>>0>>0)se();else{f[U+16>>2]=i;f[i+24>>2]=U;break}}while(0);r=f[r+4>>2]|0;if(!r)break;if(r>>>0<(f[7648]|0)>>>0)se();else{f[U+20>>2]=r;f[r+24>>2]=U;break}}else{i=f[e+8>>2]|0;t=f[e+12>>2]|0;r=30616+(n<<1<<2)|0;do{if((i|0)!=(r|0)){if(i>>>0>>0)se();if((f[i+12>>2]|0)==(e|0))break;se()}}while(0);if((t|0)==(i|0)){f[7644]=f[7644]&~(1<>>0>>0)se();r=t+8|0;if((f[r>>2]|0)==(e|0)){P=r;break}se()}}while(0);f[i+12>>2]=t;f[P>>2]=i}}while(0);e=e+l|0;a=l+a|0}e=e+4|0;f[e>>2]=f[e>>2]&-2;f[u+4>>2]=a|1;f[u+a>>2]=a;e=a>>>3;if(a>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0>=(f[7648]|0)>>>0){B=e;j=r;break}se()}}while(0);f[B>>2]=u;f[j+12>>2]=u;f[u+8>>2]=j;f[u+12>>2]=i;break}e=a>>>8;do{if(!e)i=0;else{if(a>>>0>16777215){i=31;break}B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=a>>>(i+7|0)&1|i<<1}}while(0);t=30880+(i<<2)|0;f[u+28>>2]=i;e=u+16|0;f[e+4>>2]=0;f[e>>2]=0;e=f[7645]|0;r=1<>2]=u;f[u+24>>2]=t;f[u+12>>2]=u;f[u+8>>2]=u;break}n=a<<((i|0)==31?0:25-(i>>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(a|0)){i=e;O=281;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=278;break}else{n=n<<1;e=i}}if((O|0)==278)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=u;f[u+24>>2]=e;f[u+12>>2]=u;f[u+8>>2]=u;break}else if((O|0)==281){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=u;f[e>>2]=u;f[u+8>>2]=r;f[u+12>>2]=i;f[u+24>>2]=0;break}else se()}}else{j=(f[7647]|0)+a|0;f[7647]=j;f[7650]=u;f[u+4>>2]=j|1}}while(0);j=h+8|0;return j|0}else r=31024;while(1){e=f[r>>2]|0;if(e>>>0<=l>>>0?(L=e+(f[r+4>>2]|0)|0,L>>>0>l>>>0):0){r=L;break}r=f[r+8>>2]|0}a=r+-47|0;i=a+8|0;i=a+((i&7|0)==0?0:0-i&7)|0;a=l+16|0;i=i>>>0>>0?l:i;e=i+8|0;t=o+8|0;t=(t&7|0)==0?0:0-t&7;j=o+t|0;t=n+-40-t|0;f[7650]=j;f[7647]=t;f[j+4>>2]=t|1;f[j+t+4>>2]=40;f[7651]=f[7766];t=i+4|0;f[t>>2]=27;f[e>>2]=f[7756];f[e+4>>2]=f[7757];f[e+8>>2]=f[7758];f[e+12>>2]=f[7759];f[7756]=o;f[7757]=n;f[7759]=0;f[7758]=e;e=i+24|0;do{e=e+4|0;f[e>>2]=7}while((e+4|0)>>>0>>0);if((i|0)!=(l|0)){o=i-l|0;f[t>>2]=f[t>>2]&-2;f[l+4>>2]=o|1;f[i>>2]=o;e=o>>>3;if(o>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{I=e;C=r}}else{f[7644]=r|e;I=i+8|0;C=i}f[I>>2]=l;f[C+12>>2]=l;f[l+8>>2]=C;f[l+12>>2]=i;break}e=o>>>8;if(e)if(o>>>0>16777215)i=31;else{B=(e+1048320|0)>>>16&8;j=e<>>16&4;j=j<>>16&2;i=14-(U|B|i)+(j<>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;n=30880+(i<<2)|0;f[l+28>>2]=i;f[l+20>>2]=0;f[a>>2]=0;e=f[7645]|0;r=1<>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}t=o<<((i|0)==31?0:25-(i>>>1)|0);e=f[n>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(o|0)){i=e;O=307;break}r=e+16+(t>>>31<<2)|0;i=f[r>>2]|0;if(!i){O=304;break}else{t=t<<1;e=i}}if((O|0)==304)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=l;f[l+24>>2]=e;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((O|0)==307){e=i+8|0;r=f[e>>2]|0;j=f[7648]|0;if(r>>>0>=j>>>0&i>>>0>=j>>>0){f[r+12>>2]=l;f[e>>2]=l;f[l+8>>2]=r;f[l+12>>2]=i;f[l+24>>2]=0;break}else se()}}}else{j=f[7648]|0;if((j|0)==0|o>>>0>>0)f[7648]=o;f[7756]=o;f[7757]=n;f[7759]=0;f[7653]=f[7762];f[7652]=-1;e=0;do{j=30616+(e<<1<<2)|0;f[j+12>>2]=j;f[j+8>>2]=j;e=e+1|0}while((e|0)!=32);j=o+8|0;j=(j&7|0)==0?0:0-j&7;B=o+j|0;j=n+-40-j|0;f[7650]=B;f[7647]=j;f[B+4>>2]=j|1;f[B+j+4>>2]=40;f[7651]=f[7766]}}while(0);e=f[7647]|0;if(e>>>0>w>>>0){U=e-w|0;f[7647]=U;j=f[7650]|0;B=j+w|0;f[7650]=B;f[B+4>>2]=U|1;f[j+4>>2]=w|3;j=j+8|0;return j|0}}f[(ss()|0)>>2]=12;j=0;return j|0}function ws(e){e=e|0;var r=0,i=0,t=0,n=0,a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0,d=0;if(!e)return;i=e+-8|0;o=f[7648]|0;if(i>>>0>>0)se();e=f[e+-4>>2]|0;r=e&3;if((r|0)==1)se();t=e&-8;c=i+t|0;do{if(!(e&1)){e=f[i>>2]|0;if(!r)return;u=i+(0-e)|0;s=e+t|0;if(u>>>0>>0)se();if((u|0)==(f[7649]|0)){e=c+4|0;r=f[e>>2]|0;if((r&3|0)!=3){d=u;a=s;break}f[7646]=s;f[e>>2]=r&-2;f[u+4>>2]=s|1;f[u+s>>2]=s;return}t=e>>>3;if(e>>>0<256){r=f[u+8>>2]|0;i=f[u+12>>2]|0;e=30616+(t<<1<<2)|0;if((r|0)!=(e|0)){if(r>>>0>>0)se();if((f[r+12>>2]|0)!=(u|0))se()}if((i|0)==(r|0)){f[7644]=f[7644]&~(1<>>0>>0)se();e=i+8|0;if((f[e>>2]|0)==(u|0))n=e;else se()}else n=i+8|0;f[r+12>>2]=i;f[n>>2]=r;d=u;a=s;break}n=f[u+24>>2]|0;i=f[u+12>>2]|0;do{if((i|0)==(u|0)){r=u+16|0;i=r+4|0;e=f[i>>2]|0;if(!e){e=f[r>>2]|0;if(!e){l=0;break}}else r=i;while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0>>0)se();else{f[r>>2]=0;l=e;break}}else{t=f[u+8>>2]|0;if(t>>>0>>0)se();e=t+12|0;if((f[e>>2]|0)!=(u|0))se();r=i+8|0;if((f[r>>2]|0)==(u|0)){f[e>>2]=i;f[r>>2]=t;l=i;break}else se()}}while(0);if(n){e=f[u+28>>2]|0;r=30880+(e<<2)|0;if((u|0)==(f[r>>2]|0)){f[r>>2]=l;if(!l){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=n+16|0;if((f[e>>2]|0)==(u|0))f[e>>2]=l;else f[n+20>>2]=l;if(!l){d=u;a=s;break}}i=f[7648]|0;if(l>>>0>>0)se();f[l+24>>2]=n;e=u+16|0;r=f[e>>2]|0;do{if(r|0)if(r>>>0>>0)se();else{f[l+16>>2]=r;f[r+24>>2]=l;break}}while(0);e=f[e+4>>2]|0;if(e)if(e>>>0<(f[7648]|0)>>>0)se();else{f[l+20>>2]=e;f[e+24>>2]=l;d=u;a=s;break}else{d=u;a=s}}else{d=u;a=s}}else{d=i;a=t}}while(0);if(d>>>0>=c>>>0)se();e=c+4|0;r=f[e>>2]|0;if(!(r&1))se();if(!(r&2)){if((c|0)==(f[7650]|0)){k=(f[7647]|0)+a|0;f[7647]=k;f[7650]=d;f[d+4>>2]=k|1;if((d|0)!=(f[7649]|0))return;f[7649]=0;f[7646]=0;return}if((c|0)==(f[7649]|0)){k=(f[7646]|0)+a|0;f[7646]=k;f[7649]=d;f[d+4>>2]=k|1;f[d+k>>2]=k;return}a=(r&-8)+a|0;t=r>>>3;do{if(r>>>0>=256){n=f[c+24>>2]|0;e=f[c+12>>2]|0;do{if((e|0)==(c|0)){r=c+16|0;i=r+4|0;e=f[i>>2]|0;if(!e){e=f[r>>2]|0;if(!e){b=0;break}}else r=i;while(1){i=e+20|0;t=f[i>>2]|0;if(t|0){e=t;r=i;continue}i=e+16|0;t=f[i>>2]|0;if(!t)break;else{e=t;r=i}}if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=0;b=e;break}}else{r=f[c+8>>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();i=r+12|0;if((f[i>>2]|0)!=(c|0))se();t=e+8|0;if((f[t>>2]|0)==(c|0)){f[i>>2]=e;f[t>>2]=r;b=e;break}else se()}}while(0);if(n|0){e=f[c+28>>2]|0;r=30880+(e<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=b;if(!b){f[7645]=f[7645]&~(1<>>0<(f[7648]|0)>>>0)se();e=n+16|0;if((f[e>>2]|0)==(c|0))f[e>>2]=b;else f[n+20>>2]=b;if(!b)break}i=f[7648]|0;if(b>>>0>>0)se();f[b+24>>2]=n;e=c+16|0;r=f[e>>2]|0;do{if(r|0)if(r>>>0>>0)se();else{f[b+16>>2]=r;f[r+24>>2]=b;break}}while(0);e=f[e+4>>2]|0;if(e|0)if(e>>>0<(f[7648]|0)>>>0)se();else{f[b+20>>2]=e;f[e+24>>2]=b;break}}}else{r=f[c+8>>2]|0;i=f[c+12>>2]|0;e=30616+(t<<1<<2)|0;if((r|0)!=(e|0)){if(r>>>0<(f[7648]|0)>>>0)se();if((f[r+12>>2]|0)!=(c|0))se()}if((i|0)==(r|0)){f[7644]=f[7644]&~(1<>>0<(f[7648]|0)>>>0)se();e=i+8|0;if((f[e>>2]|0)==(c|0))h=e;else se()}else h=i+8|0;f[r+12>>2]=i;f[h>>2]=r}}while(0);f[d+4>>2]=a|1;f[d+a>>2]=a;if((d|0)==(f[7649]|0)){f[7646]=a;return}}else{f[e>>2]=r&-2;f[d+4>>2]=a|1;f[d+a>>2]=a}e=a>>>3;if(a>>>0<256){i=30616+(e<<1<<2)|0;r=f[7644]|0;e=1<>2]|0;if(r>>>0<(f[7648]|0)>>>0)se();else{w=e;k=r}}else{f[7644]=r|e;w=i+8|0;k=i}f[w>>2]=d;f[k+12>>2]=d;f[d+8>>2]=k;f[d+12>>2]=i;return}e=a>>>8;if(e)if(a>>>0>16777215)i=31;else{w=(e+1048320|0)>>>16&8;k=e<>>16&4;k=k<>>16&2;i=14-(b|w|i)+(k<>>15)|0;i=a>>>(i+7|0)&1|i<<1}else i=0;t=30880+(i<<2)|0;f[d+28>>2]=i;f[d+20>>2]=0;f[d+16>>2]=0;e=f[7645]|0;r=1<>>1)|0);e=f[t>>2]|0;while(1){if((f[e+4>>2]&-8|0)==(a|0)){i=e;t=130;break}r=e+16+(n>>>31<<2)|0;i=f[r>>2]|0;if(!i){t=127;break}else{n=n<<1;e=i}}if((t|0)==127)if(r>>>0<(f[7648]|0)>>>0)se();else{f[r>>2]=d;f[d+24>>2]=e;f[d+12>>2]=d;f[d+8>>2]=d;break}else if((t|0)==130){e=i+8|0;r=f[e>>2]|0;k=f[7648]|0;if(r>>>0>=k>>>0&i>>>0>=k>>>0){f[r+12>>2]=d;f[e>>2]=d;f[d+8>>2]=r;f[d+12>>2]=i;f[d+24>>2]=0;break}else se()}}else{f[7645]=e|r;f[t>>2]=d;f[d+24>>2]=t;f[d+12>>2]=d;f[d+8>>2]=d}}while(0);d=(f[7652]|0)+-1|0;f[7652]=d;if(!d)e=31032;else return;while(1){e=f[e>>2]|0;if(!e)break;else e=e+8|0}f[7652]=-1;return}function ks(){}function ds(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;i=e+i>>>0;return(L=r+t+(i>>>0>>0|0)>>>0,i|0)|0}function ps(e,r,i){e=e|0;r=r|0;i=i|0;if((i|0)<32){L=r>>i;return e>>>i|(r&(1<>i-32|0}function vs(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,a=0,o=0,l=0;n=e+i|0;if((i|0)>=20){r=r&255;o=e&3;l=r|r<<8|r<<16|r<<24;a=n&~3;if(o){o=e+4-o|0;while((e|0)<(o|0)){t[e>>0]=r;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=r;e=e+1|0}return e-i|0}function gs(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((i|0)>=4096)return ke(e|0,r|0,i|0)|0;n=e|0;if((e&3)==(r&3)){while(e&3){if(!i)return n|0;t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}while((i|0)>=4){f[e>>2]=f[r>>2];e=e+4|0;r=r+4|0;i=i-4|0}}while((i|0)>0){t[e>>0]=t[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}return n|0}function ys(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((r|0)<(e|0)&(e|0)<(r+i|0)){n=e;r=r+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;r=r-1|0;i=i-1|0;t[e>>0]=t[r>>0]|0}e=n}else gs(e,r,i)|0;return e|0}function _s(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;t=r-t-(i>>>0>e>>>0|0)>>>0;return(L=t,e-i>>>0|0)|0}function ms(e,r,i){e=e|0;r=r|0;i=i|0;if((i|0)<32){L=r<>>32-i;return e<>>i;return e>>>i|(r&(1<>>i-32|0}function As(e){e=e|0;var r=0;r=t[k+(e&255)>>0]|0;if((r|0)<8)return r|0;r=t[k+(e>>8&255)>>0]|0;if((r|0)<8)return r+8|0;r=t[k+(e>>16&255)>>0]|0;if((r|0)<8)return r+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function Ss(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,f=0;f=e&65535;n=r&65535;i=re(n,f)|0;t=e>>>16;e=(i>>>16)+(re(n,t)|0)|0;n=r>>>16;r=re(n,f)|0;return(L=(e>>>16)+(re(n,t)|0)+(((e&65535)+r|0)>>>16)|0,e+r<<16|i&65535|0)|0}function Rs(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,f=0,a=0,o=0,l=0,s=0;s=r>>31|((r|0)<0?-1:0)<<1;l=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;o=_s(s^e|0,l^r|0,s|0,l|0)|0;a=L;e=f^s;r=n^l;return _s((Ls(o,a,_s(f^i|0,n^t|0,f|0,n|0)|0,L,0)|0)^e|0,L^r|0,e|0,r|0)|0}function Ts(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0,o=0,l=0,s=0,u=0;n=h;h=h+16|0;l=n|0;o=r>>31|((r|0)<0?-1:0)<<1;a=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=_s(o^e|0,a^r|0,o|0,a|0)|0;r=L;Ls(e,r,_s(u^i|0,s^t|0,u|0,s|0)|0,L,l)|0;t=_s(f[l>>2]^o|0,f[l+4>>2]^a|0,o|0,a|0)|0;i=L;h=n;return(L=i,t)|0}function Ms(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,f=0;n=e;f=i;i=Ss(n,f)|0;e=L;return(L=(re(r,f)|0)+(re(t,n)|0)+e|e&0,i|0|0)|0}function xs(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;return Ls(e,r,i,t,0)|0}function Os(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,a=0;a=h;h=h+16|0;n=a|0;Ls(e,r,i,t,n)|0;h=a;return(L=f[n+4>>2]|0,f[n>>2]|0)|0}function Ls(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var a=0,o=0,l=0,s=0,u=0,h=0,c=0,b=0,w=0,k=0;h=e;s=r;u=s;o=i;b=t;l=b;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(h>>>0)%(o>>>0);f[n+4>>2]=0}b=0;n=(h>>>0)/(o>>>0)>>>0;return(L=b,n)|0}else{if(!a){b=0;n=0;return(L=b,n)|0}f[n>>2]=e|0;f[n+4>>2]=r&0;b=0;n=0;return(L=b,n)|0}}a=(l|0)==0;do{if(o){if(!a){a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=31){c=a+1|0;l=31-a|0;r=a-31>>31;o=c;e=h>>>(c>>>0)&r|u<>>(c>>>0)&r;a=0;l=h<>2]=e|0;f[n+4>>2]=s|r&0;b=0;n=0;return(L=b,n)|0}a=o-1|0;if(a&o|0){l=(te(o|0)|0)+33-(te(u|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;w=l-32|0;r=w>>31;o=l;e=c-1>>31&u>>>(w>>>0)|(u<>>(l>>>0))&r;r=r&u>>>(l>>>0);a=h<>>(w>>>0))&s|h<>31;break}if(n|0){f[n>>2]=a&h;f[n+4>>2]=0}if((o|0)==1){w=s|r&0;k=e|0|0;return(L=w,k)|0}else{k=As(o|0)|0;w=u>>>(k>>>0)|0;k=u<<32-k|h>>>(k>>>0)|0;return(L=w,k)|0}}else{if(a){if(n|0){f[n>>2]=(u>>>0)%(o>>>0);f[n+4>>2]=0}w=0;k=(u>>>0)/(o>>>0)>>>0;return(L=w,k)|0}if(!h){if(n|0){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}w=0;k=(u>>>0)/(l>>>0)>>>0;return(L=w,k)|0}a=l-1|0;if(!(a&l)){if(n|0){f[n>>2]=e|0;f[n+4>>2]=a&u|r&0}w=0;k=u>>>((As(l|0)|0)>>>0);return(L=w,k)|0}a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=30){r=a+1|0;l=31-a|0;o=r;e=u<>>(r>>>0);r=u>>>(r>>>0);a=0;l=h<>2]=e|0;f[n+4>>2]=s|r&0;w=0;k=0;return(L=w,k)|0}}while(0);if(!o){u=l;s=0;l=0}else{c=i|0|0;h=b|t&0;u=ds(c|0,h|0,-1,-1)|0;i=L;s=l;l=0;do{t=s;s=a>>>31|s<<1;a=l|a<<1;t=e<<1|t>>>31|0;b=e>>>31|r<<1|0;_s(u|0,i|0,t|0,b|0)|0;k=L;w=k>>31|((k|0)<0?-1:0)<<1;l=w&1;e=_s(t|0,b|0,w&c|0,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&h|0)|0;r=L;o=o-1|0}while((o|0)!=0);u=s;s=0}o=0;if(n|0){f[n>>2]=e;f[n+4>>2]=r}w=(a|0)>>>31|(u|o)<<1|(o<<1|a>>>31)&0|s;k=(a<<1|0>>>31)&-2|l;return(L=w,k)|0}function Ps(e,r,i,t,n,f,a,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;f=f|0;a=a|0;o=o|0;Cs[e&3](r|0,i|0,t|0,n|0,f|0,a|0,o|0)}function Is(e,r,i,t,n,f,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;f=f|0;a=a|0;ne(0)}var Cs=[Is,Ml,Tl,Is];return{_opus_decoder_get_size:nl,_opus_get_version_string:Nn,_free:ws,_opus_encode_float:Vl,_opus_strerror:Dn,_i64Add:ds,_memmove:ys,_opus_decoder_init:al,_bitshift64Ashr:ps,_opus_encoder_get_size:El,_memset:vs,_malloc:bs,_opus_decoder_ctl:ml,_opus_encode:Zl,_opus_encoder_init:Sl,_opus_decode:dl,_opus_packet_get_nb_samples:vl,_memcpy:gs,_opus_encoder_ctl:Jl,_opus_decode_float:_l,runPostSets:ks,stackAlloc:Gt,stackSave:Kt,stackRestore:Xt,establishStackSpace:$t,setThrew:Qt,setTempRet0:tn,getTempRet0:nn,dynCall_viiiiiii:Ps}}(b.s,b.t,buffer);b._opus_decoder_get_size=Z._opus_decoder_get_size,b._opus_get_version_string=Z._opus_get_version_string;var va=b._free=Z._free;b._opus_encode_float=Z._opus_encode_float,b._opus_strerror=Z._opus_strerror;var Pa=b._i64Add=Z._i64Add,Ua=b._memmove=Z._memmove;b._opus_decoder_init=Z._opus_decoder_init;var Qa=b._bitshift64Ashr=Z._bitshift64Ashr;b._opus_encoder_get_size=Z._opus_encoder_get_size;var Ra=b._memset=Z._memset,Q=b._malloc=Z._malloc;b._opus_packet_get_nb_samples=Z._opus_packet_get_nb_samples,b._opus_encode=Z._opus_encode,b._opus_encoder_init=Z._opus_encoder_init,b._opus_decode=Z._opus_decode,b._opus_decoder_ctl=Z._opus_decoder_ctl;var Sa=b._memcpy=Z._memcpy;b._opus_encoder_ctl=Z._opus_encoder_ctl,b._opus_decode_float=Z._opus_decode_float,b.runPostSets=Z.runPostSets,b.dynCall_viiiiiii=Z.dynCall_viiiiiii,y.f=Z.stackAlloc,y.g=Z.stackSave,y.c=Z.stackRestore,y.I=Z.establishStackSpace,y.B=Z.setTempRet0,y.w=Z.getTempRet0,w.prototype=Error(),w.prototype.constructor=w;var Wa=null,X=function e(){b.calledRun||Ya(),b.calledRun||(X=e)};b.callMain=b.G=function(e){function r(){for(var e=0;3>e;e++)t.push(0)}e=e||[],T||(T=!0,V(Ea));var i=e.length+1,t=[O(Ka(b.thisProgram),"i8",0)];r();for(var n=0;n0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,r){function i(){this.removeListener(e,i),n||(n=!0,r.apply(this,arguments))}if(!t(r))throw TypeError("listener must be a function");var n=!1;return i.listener=r,this.on(e,i),this},i.prototype.removeListener=function(e,r){var i,n,a,o;if(!t(r))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=this._events[e],a=i.length,n=-1,i===r||t(i.listener)&&i.listener===r)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,r);else if(f(i)){for(o=a;o-- >0;)if(i[o]===r||i[o].listener&&i[o].listener===r){n=o;break}if(n<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,r)}return this},i.prototype.removeAllListeners=function(e){var r,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(r in this._events)"removeListener"!==r&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[e],t(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?t(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var r=this._events[e];if(t(r))return 1;if(r)return r.length}return 0},i.listenerCount=function(e,r){return e.listenerCount(r)}},function(e,r,i){"use strict";(function(r,t,n){function f(e){var r=this;this.next=null,this.entry=null,this.finish=function(){T(r,e)}}function a(e){return C.from(e)}function o(e){return C.isBuffer(e)||e instanceof U}function l(){}function s(e,r){x=x||i(1),e=e||{},this.objectMode=!!e.objectMode,r instanceof x&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var t=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=t||0===t?t:n,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){v(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new f(this)}function u(e){if(x=x||i(1),!(j.call(u,this)||this instanceof x))return new u(e);this._writableState=new s(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),I.call(this)}function h(e,r){var i=new Error("write after end");e.emit("error",i),M(r,i)}function c(e,r,i,t){var n=!0,f=!1;return null===i?f=new TypeError("May not write null values to stream"):"string"==typeof i||void 0===i||r.objectMode||(f=new TypeError("Invalid non-string/buffer chunk")),f&&(e.emit("error",f),M(t,f),n=!1),n}function b(e,r,i){return e.objectMode||!1===e.decodeStrings||"string"!=typeof r||(r=C.from(r,i)),r}function w(e,r,i,t,n,f){if(!i){var a=b(r,t,n);t!==a&&(i=!0,n="buffer",t=a)}var o=r.objectMode?1:t.length;r.length+=o;var l=r.length-1?t:M;u.WritableState=s;var L=i(5);L.inherits=i(2);var P={deprecate:i(36)},I=i(19),C=i(11).Buffer,U=n.Uint8Array||function(){},B=i(18);L.inherits(u,I),s.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r},function(){try{Object.defineProperty(s.prototype,"buffer",{get:P.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var j;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(j=Function.prototype[Symbol.hasInstance],Object.defineProperty(u,Symbol.hasInstance,{value:function(e){return!!j.call(this,e)||e&&e._writableState instanceof s}})):j=function(e){return e instanceof this},u.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},u.prototype.write=function(e,r,i){var t=this._writableState,n=!1,f=o(e)&&!t.objectMode;return f&&!C.isBuffer(e)&&(e=a(e)),"function"==typeof r&&(i=r,r=null),f?r="buffer":r||(r=t.defaultEncoding),"function"!=typeof i&&(i=l),t.ended?h(this,i):(f||c(this,t,e,i))&&(t.pendingcb++,n=w(this,t,f,e,r,i)),n},u.prototype.cork=function(){this._writableState.corked++},u.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},u.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},u.prototype._write=function(e,r,i){i(new Error("_write() is not implemented"))},u.prototype._writev=null,u.prototype.end=function(e,r,i){var t=this._writableState;"function"==typeof e?(i=e,e=null,r=null):"function"==typeof r&&(i=r,r=null),null!==e&&void 0!==e&&this.write(e,r),t.corked&&(t.corked=1,this.uncork()),t.ending||t.finished||R(this,t,i)},Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),u.prototype.destroy=B.destroy,u.prototype._undestroy=B.undestroy,u.prototype._destroy=function(e,r){this.end(),r(e)}}).call(r,i(0),i(35).setImmediate,i(3))},function(e,r,i){r=e.exports=i(16),r.Stream=r,r.Readable=r,r.Writable=i(9),r.Duplex=i(1),r.Transform=i(17),r.PassThrough=i(29)},function(e,r,i){function t(e,r){for(var i in e)r[i]=e[i]}function n(e,r,i){return a(e,r,i)}var f=i(4),a=f.Buffer;a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=f:(t(f,r),r.Buffer=n),t(a,n),n.from=function(e,r,i){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,r,i)},n.alloc=function(e,r,i){if("number"!=typeof e)throw new TypeError("Argument must be a number");var t=a(e);return void 0!==r?"string"==typeof i?t.fill(r,i):t.fill(r):t.fill(0),t},n.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},n.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return f.SlowBuffer(e)}},function(e,r,i){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,f=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},a=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!i)return!1;var f;for(f in e);return void 0===f||t.call(e,f)};e.exports=function e(){var r,i,t,n,o,l,s=arguments[0],u=1,h=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),(null==s||"object"!=typeof s&&"function"!=typeof s)&&(s={});u=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,i),this.charReceived+=i,this.charReceived=55296&&t<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return r;break}this.charLength+=this.surrogateSize,r=""}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived),r+=e.toString(this.encoding,0,n);var n=r.length-1,t=r.charCodeAt(n);if(t>=55296&&t<=56319){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),e.copy(this.charBuffer,0,0,f),r.substring(0,n)}return r},s.prototype.detectIncompleteChar=function(e){for(var r=e.length>=3?3:e.length;r>0;r--){var i=e[e.length-r];if(1==r&&i>>5==6){this.charLength=2;break}if(r<=2&&i>>4==14){this.charLength=3;break}if(r<=3&&i>>3==30){this.charLength=4;break}}this.charReceived=r},s.prototype.end=function(e){var r="";if(e&&e.length&&(r=this.write(e)),this.charReceived){var i=this.charReceived,t=this.charBuffer,n=this.encoding;r+=t.slice(0,i).toString(n)}return r}},function(e,r,i){"use strict";(function(r,t){function n(e){return j.from(e)}function f(e){return j.isBuffer(e)||e instanceof D}function a(e,r,i){if("function"==typeof e.prependListener)return e.prependListener(r,i);e._events&&e._events[r]?C(e._events[r])?e._events[r].unshift(i):e._events[r]=[i,e._events[r]]:e.on(r,i)}function o(e,r){I=I||i(1),e=e||{},this.objectMode=!!e.objectMode,r instanceof I&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var t=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=t||0===t?t:n,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new H,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(Y||(Y=i(15).StringDecoder),this.decoder=new Y(e.encoding),this.encoding=e.encoding)}function l(e){if(I=I||i(1),!(this instanceof l))return new l(e);this._readableState=new o(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),B.call(this)}function s(e,r,i,t,f){var a=e._readableState;if(null===r)a.reading=!1,k(e,a);else{var o;f||(o=h(a,r)),o?e.emit("error",o):a.objectMode||r&&r.length>0?("string"==typeof r||a.objectMode||Object.getPrototypeOf(r)===j.prototype||(r=n(r)),t?a.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):u(e,a,r,!0):a.ended?e.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!i?(r=a.decoder.write(r),a.objectMode||0!==r.length?u(e,a,r,!1):v(e,a)):u(e,a,r,!1))):t||(a.reading=!1)}return c(a)}function u(e,r,i,t){r.flowing&&0===r.length&&!r.sync?(e.emit("data",i),e.read(0)):(r.length+=r.objectMode?1:i.length,t?r.buffer.unshift(i):r.buffer.push(i),r.needReadable&&d(e)),v(e,r)}function h(e,r){var i;return f(r)||"string"==typeof r||void 0===r||e.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i}function c(e){return!e.ended&&(e.needReadable||e.length=Z?e=Z:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function w(e,r){return e<=0||0===r.length&&r.ended?0:r.objectMode?1:e!==e?r.flowing&&r.length?r.buffer.head.data.length:r.length:(e>r.highWaterMark&&(r.highWaterMark=b(e)),e<=r.length?e:r.ended?r.length:(r.needReadable=!0,0))}function k(e,r){if(!r.ended){if(r.decoder){var i=r.decoder.end();i&&i.length&&(r.buffer.push(i),r.length+=r.objectMode?1:i.length)}r.ended=!0,d(e)}}function d(e){var r=e._readableState;r.needReadable=!1,r.emittedReadable||(z("emitReadable",r.flowing),r.emittedReadable=!0,r.sync?P(p,e):p(e))}function p(e){z("emit readable"),e.emit("readable"),A(e)}function v(e,r){r.readingMore||(r.readingMore=!0,P(g,e,r))}function g(e,r){for(var i=r.length;!r.reading&&!r.flowing&&!r.ended&&r.length=r.length?(i=r.decoder?r.buffer.join(""):1===r.buffer.length?r.buffer.head.data:r.buffer.concat(r.length),r.buffer.clear()):i=R(e,r.buffer,r.decoder),i}function R(e,r,i){var t;return ef.length?f.length:e;if(a===f.length?n+=f:n+=f.slice(0,e),0===(e-=a)){a===f.length?(++t,i.next?r.head=i.next:r.head=r.tail=null):(r.head=i,i.data=f.slice(a));break}++t}return r.length-=t,n}function M(e,r){var i=j.allocUnsafe(e),t=r.head,n=1;for(t.data.copy(i),e-=t.data.length;t=t.next;){var f=t.data,a=e>f.length?f.length:e;if(f.copy(i,i.length-e,0,a),0===(e-=a)){a===f.length?(++n,t.next?r.head=t.next:r.head=r.tail=null):(r.head=t,t.data=f.slice(a));break}++n}return r.length-=n,i}function x(e){var r=e._readableState;if(r.length>0)throw new Error('"endReadable()" called on non-empty stream');r.endEmitted||(r.ended=!0,P(O,r,e))}function O(e,r){e.endEmitted||0!==e.length||(e.endEmitted=!0,r.readable=!1,r.emit("end"))}function L(e,r){for(var i=0,t=e.length;i=r.highWaterMark||r.ended))return z("read: emitReadable",r.length,r.ended),0===r.length&&r.ended?x(this):d(this),null;if(0===(e=w(e,r))&&r.ended)return 0===r.length&&x(this),null;var t=r.needReadable;z("need readable",t),(0===r.length||r.length-e0?S(e,r):null,null===n?(r.needReadable=!0,e=0):r.length-=e,0===r.length&&(r.ended||(r.needReadable=!0),i!==e&&r.ended&&x(this)),null!==n&&this.emit("data",n),n},l.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},l.prototype.pipe=function(e,r){function i(e,r){z("onunpipe"),e===c&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f())}function n(){z("onend"),e.end()}function f(){z("cleanup"),e.removeListener("close",s),e.removeListener("finish",u),e.removeListener("drain",d),e.removeListener("error",l),e.removeListener("unpipe",i),c.removeListener("end",n),c.removeListener("end",h),c.removeListener("data",o),p=!0,!b.awaitDrain||e._writableState&&!e._writableState.needDrain||d()}function o(r){z("ondata"),v=!1,!1!==e.write(r)||v||((1===b.pipesCount&&b.pipes===e||b.pipesCount>1&&-1!==L(b.pipes,e))&&!p&&(z("false write response, pause",c._readableState.awaitDrain),c._readableState.awaitDrain++,v=!0),c.pause())}function l(r){z("onerror",r),h(),e.removeListener("error",l),0===U(e,"error")&&e.emit("error",r)}function s(){e.removeListener("finish",u),h()}function u(){z("onfinish"),e.removeListener("close",s),h()}function h(){z("unpipe"),c.unpipe(e)}var c=this,b=this._readableState;switch(b.pipesCount){case 0:b.pipes=e;break;case 1:b.pipes=[b.pipes,e];break;default:b.pipes.push(e)}b.pipesCount+=1,z("pipe count=%d opts=%j",b.pipesCount,r);var w=(!r||!1!==r.end)&&e!==t.stdout&&e!==t.stderr,k=w?n:h;b.endEmitted?P(k):c.once("end",k),e.on("unpipe",i);var d=y(c);e.on("drain",d);var p=!1,v=!1;return c.on("data",o),a(e,"error",l),e.once("close",s),e.once("finish",u),e.emit("pipe",c),b.flowing||(z("pipe resume"),c.resume()),e},l.prototype.unpipe=function(e){var r=this._readableState,i={hasUnpiped:!1};if(0===r.pipesCount)return this;if(1===r.pipesCount)return e&&e!==r.pipes?this:(e||(e=r.pipes),r.pipes=null,r.pipesCount=0,r.flowing=!1,e&&e.emit("unpipe",this,i),this);if(!e){var t=r.pipes,n=r.pipesCount;r.pipes=null,r.pipesCount=0,r.flowing=!1;for(var f=0;f=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),k(i)?t.showHidden=i:i&&r._extend(t,i),_(t.showHidden)&&(t.showHidden=!1),_(t.depth)&&(t.depth=2),_(t.colors)&&(t.colors=!1),_(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=f),l(t,e,t.depth)}function f(e,r){var i=n.styles[r];return i?"["+n.colors[i][0]+"m"+e+"["+n.colors[i][1]+"m":e}function a(e,r){return e}function o(e){var r={};return e.forEach(function(e,i){r[e]=!0}),r}function l(e,i,t){if(e.customInspect&&i&&R(i.inspect)&&i.inspect!==r.inspect&&(!i.constructor||i.constructor.prototype!==i)){var n=i.inspect(t,e);return g(n)||(n=l(e,n,t)),n}var f=s(e,i);if(f)return f;var a=Object.keys(i),k=o(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(i)),S(i)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return u(i);if(0===a.length){if(R(i)){var d=i.name?": "+i.name:"";return e.stylize("[Function"+d+"]","special")}if(m(i))return e.stylize(RegExp.prototype.toString.call(i),"regexp");if(A(i))return e.stylize(Date.prototype.toString.call(i),"date");if(S(i))return u(i)}var p="",v=!1,y=["{","}"];if(w(i)&&(v=!0,y=["[","]"]),R(i)){p=" [Function"+(i.name?": "+i.name:"")+"]"}if(m(i)&&(p=" "+RegExp.prototype.toString.call(i)),A(i)&&(p=" "+Date.prototype.toUTCString.call(i)),S(i)&&(p=" "+u(i)),0===a.length&&(!v||0==i.length))return y[0]+p+y[1];if(t<0)return m(i)?e.stylize(RegExp.prototype.toString.call(i),"regexp"):e.stylize("[Object]","special");e.seen.push(i);var _;return _=v?h(e,i,t,k,a):a.map(function(r){return c(e,i,t,k,r,v)}),e.seen.pop(),b(_,p,y)}function s(e,r){if(_(r))return e.stylize("undefined","undefined");if(g(r)){var i="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(i,"string")}return v(r)?e.stylize(""+r,"number"):k(r)?e.stylize(""+r,"boolean"):d(r)?e.stylize("null","null"):void 0}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,r,i,t,n){for(var f=[],a=0,o=r.length;a-1&&(o=f?o.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+o.split("\n").map(function(e){return" "+e}).join("\n"))):o=e.stylize("[Circular]","special")),_(a)){if(f&&n.match(/^\d+$/))return o;a=JSON.stringify(""+n),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function b(e,r,i){var t=0;return e.reduce(function(e,r){return t++,r.indexOf("\n")>=0&&t++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?i[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+i[1]:i[0]+r+" "+e.join(", ")+" "+i[1]}function w(e){return Array.isArray(e)}function k(e){return"boolean"==typeof e}function d(e){return null===e}function p(e){return null==e}function v(e){return"number"==typeof e}function g(e){return"string"==typeof e}function y(e){return"symbol"==typeof e}function _(e){return void 0===e}function m(e){return E(e)&&"[object RegExp]"===M(e)}function E(e){return"object"==typeof e&&null!==e}function A(e){return E(e)&&"[object Date]"===M(e)}function S(e){return E(e)&&("[object Error]"===M(e)||e instanceof Error)}function R(e){return"function"==typeof e}function T(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function M(e){return Object.prototype.toString.call(e)}function x(e){return e<10?"0"+e.toString(10):e.toString(10)}function O(){var e=new Date,r=[x(e.getHours()),x(e.getMinutes()),x(e.getSeconds())].join(":");return[e.getDate(),U[e.getMonth()],r].join(" ")}function L(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var P=/%[sdj%]/g;r.format=function(e){if(!g(e)){for(var r=[],i=0;i=f)return e;switch(e){case"%s":return String(t[i++]);case"%d":return Number(t[i++]);case"%j":try{return JSON.stringify(t[i++])}catch(e){return"[Circular]"}default:return e}}),o=t[i];i0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[r-2]?2:"="===e[r-1]?1:0}function n(e){return 3*e.length/4-t(e)}function f(e){var r,i,n,f,a,o=e.length;f=t(e),a=new h(3*o/4-f),i=f>0?o-4:o;var l=0;for(r=0;r>16&255,a[l++]=n>>8&255,a[l++]=255&n;return 2===f?(n=u[e.charCodeAt(r)]<<2|u[e.charCodeAt(r+1)]>>4,a[l++]=255&n):1===f&&(n=u[e.charCodeAt(r)]<<10|u[e.charCodeAt(r+1)]<<4|u[e.charCodeAt(r+2)]>>2,a[l++]=n>>8&255,a[l++]=255&n),a}function a(e){return s[e>>18&63]+s[e>>12&63]+s[e>>6&63]+s[63&e]}function o(e,r,i){for(var t,n=[],f=r;fl?l:a+16383));return 1===t?(r=e[i-1],n+=s[r>>2],n+=s[r<<4&63],n+="=="):2===t&&(r=(e[i-2]<<8)+e[i-1],n+=s[r>>10],n+=s[r>>4&63],n+=s[r<<2&63],n+="="),f.push(n),f.join("")}r.byteLength=n,r.toByteArray=f,r.fromByteArray=l;for(var s=[],u=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b=0,w=c.length;b>1,u=-7,h=i?n-1:0,c=i?-1:1,b=e[r+h];for(h+=c,f=b&(1<<-u)-1,b>>=-u,u+=o;u>0;f=256*f+e[r+h],h+=c,u-=8);for(a=f&(1<<-u)-1,f>>=-u,u+=t;u>0;a=256*a+e[r+h],h+=c,u-=8);if(0===f)f=1-s;else{if(f===l)return a?NaN:1/0*(b?-1:1);a+=Math.pow(2,t),f-=s}return(b?-1:1)*a*Math.pow(2,f-t)},r.write=function(e,r,i,t,n,f){var a,o,l,s=8*f-n-1,u=(1<>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,b=t?0:f-1,w=t?1:-1,k=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(o=isNaN(r)?1:0,a=u):(a=Math.floor(Math.log(r)/Math.LN2),r*(l=Math.pow(2,-a))<1&&(a--,l*=2),r+=a+h>=1?c/l:c*Math.pow(2,1-h),r*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(r*l-1)*Math.pow(2,n),a+=h):(o=r*Math.pow(2,h-1)*Math.pow(2,n),a=0));n>=8;e[i+b]=255&o,b+=w,o/=256,n-=8);for(a=a<0;e[i+b]=255&a,b+=w,a/=256,s-=8);e[i+b-w]|=128*k}},function(e,r,i){(function(r){function t(e){if(!(this instanceof t))return new t(e);if(e=l({rate:48e3,channels:1,unsafe:!1},e),e.channels<1||e.channels>2)throw u("channels must be either 1 or 2");if(-1==[8e3,12e3,16e3,24e3,48e3].indexOf(e.rate))throw u("rate can only be 8k, 12k, 16k, 24k or 48k");this._rate=e.rate,this._channels=e.channels,this._unsafe=e.unsafe;var r=f._opus_decoder_get_size(this._channels),i=f._malloc(r),n=f._opus_decoder_init(i,this._rate,this._channels);if(0!==n)throw f._free(i),u(a.stringifyError(n));this._unsafe?this._state=i:(this._state=f.HEAPU8.slice(i,i+r),f._free(i))}function n(e,r){if(s.call(this,{}),"Float32"==r)this._decode=e.decodeFloat32.bind(e);else{if("Int16"!=r)throw new TypeError("mode cannot be "+r);this._decode=e.decodeInt16.bind(e)}}var f=i(6).instance,a=i(14),o=i(21),l=i(12),s=i(20).Transform,u=function(e){return new Error(e)},h=a.p_pcm,c=a.p_data;t.prototype._withState=function(e){if(this._unsafe)return e(this._state);var r=f._malloc(this._state.length);f.HEAPU8.set(this._state,r);try{return e(r)}finally{this._state.set(f.HEAPU8.subarray(r,r+this._state.length)),f._free(r)}},t.prototype.destroy=function(){this._unsafe&&f._free(this._state)},t.prototype.decodeInt16=function(e){return new Int16Array(this._decode(e,2,f._opus_decode))},t.prototype.decodeFloat32=function(e){return new Float32Array(this._decode(e,4,f._opus_decode_float))},t.prototype._decode=function(e,r,i){var t=this;return this._withState(function(n){e=e||t._getLastPacketDuration(n);var o;if("number"==typeof e){if(e*r>a.p_data_len)throw u("too much lost data");o=i(n,0,0,h,e,0)}else{if(!e)throw new TypeError("data must be number, Buffer or null");if(e.length>a.p_data_len)throw u("data array too large");f.HEAPU8.set(e,c);var l=a.p_pcm_len/t._channels/r;o=i(n,c,e.length,h,l,0)}if(o<0)throw u(a.stringifyError(o));return f.HEAPU8.slice(h,h+o*r).buffer})},t.prototype.getLastPacketDuration=function(){return this._withState(this._getLastPacketDuration.bind(this))},t.prototype._getLastPacketDuration=function(e){var r=f._malloc(4),i=f._malloc(4);try{f.HEAPU32[i>>2]=r;var t=f._opus_decoder_ctl(e,4039,i);if(t)throw u(a.stringifyError(t));return f.HEAP32[r>>2]}finally{f._free(i),f._free(r)}},t.prototype.stream=function(e){return new n(this,e)},o.inherits(n,s),n.prototype._transform=function(e,i,t){var n;try{var f=this._decode(e);n=r.from(f.buffer,f.byteOffset,f.byteLength)}catch(e){return t(e)}t(null,n)},t.getNumberOfSamples=function(e,i){if(!(e instanceof r))throw new TypeError("data must be a Buffer");if(e.length>a.p_data_len)throw u("data array too large");f.HEAPU8.set(e,c);var t=f._opus_packet_get_nb_samples(c,e.length,i);if(t<0)throw u(a.stringifyError(t));return t},e.exports=t}).call(r,i(4).Buffer)},function(e,r,i){(function(r){function t(e){if(!(this instanceof t))return new t(e);if(e=l({rate:48e3,channels:1,application:u.AUDIO,unsafe:!1},e),e.channels<1||e.channels>2)throw"channels must be either 1 or 2";if(-1==[8e3,12e3,16e3,24e3,48e3].indexOf(e.rate))throw"rate can only be 8k, 12k, 16k, 24k or 48k";if(e.application!==u.VOIP&&e.application!==u.AUDIO&&e.application!==u.RESTRICTED_LOWDELAY)throw"invalid application type";this._rate=e.rate,this._channels=e.channels,this._application=e.application,this._unsafe=e.unsafe;var r=f._opus_encoder_get_size(this._channels),i=f._malloc(r),n=f._opus_encoder_init(i,this._rate,this._channels,this._application);if(0!==n)throw f._free(i),a.stringifyError(n);this._unsafe?this._state=i:(this._state=f.HEAPU8.slice(i,i+r),f._free(i))}function n(e,r){if(s.call(this,{}),this._encoder=e,"Float32"==r)this._mode=Float32Array;else{if("Int16"!=r)throw new TypeError("mode cannot be "+r);this._mode=Int16Array}}var f=i(6).instance,a=i(14),o=i(21),l=i(12),s=i(20).Transform,u={VOIP:2048,AUDIO:2049,RESTRICTED_LOWDELAY:2051},h=a.p_pcm,c=a.p_data;t.prototype._withState=function(e){if(this._unsafe)return e(this._state);var r=f._malloc(this._state.length);f.HEAPU8.set(this._state,r);try{return e(r)}finally{this._state.set(f.HEAPU8.subarray(r,r+this._state.length)),f._free(r)}},t.prototype.destroy=function(){this._unsafe&&f._free(this._state)},t.prototype.encode=function(e){var i=e.length/this._channels;return this._withState(function(t){var n;if(e instanceof Float32Array){if(4*e.length>a.p_pcm_len)throw new Error("pcm array too large");f.HEAPF32.set(e,h>>2),n=f._opus_encode_float.bind(f)}else{if(!(e instanceof Int16Array))throw new TypeError("pcm must be Int16Array or Float32Array");if(2*e.length>a.p_pcm_len)throw new Error("pcm array too large");f.HEAP16.set(e,h>>1),n=f._opus_encode.bind(f)}var o=n(t,h,i,c,a.p_data_len);if(o<0)throw new Error(a.stringifyError(o));return r.from(f.HEAPU8.subarray(c,c+o))})},t.prototype.stream=function(e){return new n(this,e)},o.inherits(n,s),n.prototype._transform=function(e,r,i){e=new this._mode(e.buffer,e.byteOffset,e.byteLength/this._mode.BYTES_PER_ELEMENT);var t;try{t=this._encoder.encode(e)}catch(e){return i(e)}i(null,t)},t.Application=u,e.exports=t}).call(r,i(4).Buffer)},function(e,r,i){(function(e){function i(e,r){for(var i=0,t=e.length-1;t>=0;t--){var n=e[t];"."===n?e.splice(t,1):".."===n?(e.splice(t,1),i++):i&&(e.splice(t,1),i--)}if(r)for(;i--;i)e.unshift("..");return e}function t(e,r){if(e.filter)return e.filter(r);for(var i=[],t=0;t=-1&&!n;f--){var a=f>=0?arguments[f]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,n="/"===a.charAt(0))}return r=i(t(r.split("/"),function(e){return!!e}),!n).join("/"),(n?"/":"")+r||"."},r.normalize=function(e){var n=r.isAbsolute(e),f="/"===a(e,-1);return e=i(t(e.split("/"),function(e){return!!e}),!n).join("/"),e||n||(e="."),e&&f&&(e+="/"),(n?"/":"")+e},r.isAbsolute=function(e){return"/"===e.charAt(0)},r.join=function(){var e=Array.prototype.slice.call(arguments,0);return r.normalize(t(e,function(e,r){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},r.relative=function(e,i){function t(e){for(var r=0;r=0&&""===e[i];i--);return r>i?[]:e.slice(r,i-r+1)}e=r.resolve(e).substr(1),i=r.resolve(i).substr(1);for(var n=t(e.split("/")),f=t(i.split("/")),a=Math.min(n.length,f.length),o=a,l=0;l0?this.tail.next=r:this.head=r,this.tail=r,++this.length},e.prototype.unshift=function(e){var r={data:e,next:this.head};0===this.length&&(this.tail=r),this.head=r,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var r=this.head,i=""+r.data;r=r.next;)i+=e+r.data;return i},e.prototype.concat=function(e){if(0===this.length)return f.alloc(0);if(1===this.length)return this.head.data;for(var r=f.allocUnsafe(e>>>0),i=this.head,t=0;i;)n(i.data,r,t),t+=i.data.length,i=i.next;return r},e}()},function(e,r,i){e.exports=i(10).PassThrough},function(e,r,i){e.exports=i(10).Transform},function(e,r,i){e.exports=i(9)},function(e,r,i){(function(e,r){!function(e,i){"use strict";function t(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),i=0;i=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},r))},i(34),r.setImmediate=setImmediate,r.clearImmediate=clearImmediate},function(e,r,i){(function(r){function i(e,r){function i(){if(!n){if(t("throwDeprecation"))throw new Error(r);t("traceDeprecation")?console.trace(r):console.warn(r),n=!0}return e.apply(this,arguments)}if(t("noDeprecation"))return e;var n=!1;return i}function t(e){try{if(!r.localStorage)return!1}catch(e){return!1}var i=r.localStorage[e];return null!=i&&"true"===String(i).toLowerCase()}e.exports=i}).call(r,i(3))},function(e,r){"function"==typeof Object.create?e.exports=function(e,r){e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}},function(e,r){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,r,i){var t,n=i(22).Decoder;self.addEventListener("message",function(e){switch(e.data.type){case"init":t=new n({rate:e.data.config.rate,channels:e.data.config.channels});break;case"decode":var r=t.decodeFloat32(e.data.buffer);self.postMessage({buffer:r,pt:e.data.pt});break;case"destroy":t.destroy()}})},function(e,r){}])}); \ No newline at end of file diff --git a/src/opus-to-pcm.js b/src/opus-to-pcm.js new file mode 100644 index 0000000..54ff0b7 --- /dev/null +++ b/src/opus-to-pcm.js @@ -0,0 +1,35 @@ +import { appendByteArray } from '../utils/utils.js'; +import Ogg from '../utils/ogg.js'; +import OpusWorker from '../utils/opus-worker.js'; +export default class OpusToPCM { + + constructor(options) { + window.MediaSource = window.MediaSource || window.WebKitMediaSource; + let nativeSupport = !!(window.MediaSource && window.MediaSource.isTypeSupported('audio/webm; codecs=opus')); + let defaults = { + orgSampleRate : 8000, + channels: 1, + fallback: true + }; + options = Object.assign({}, defaults, options); + + if (nativeSupport) { + this.decoder = new Ogg(options.orgSampleRate, options.channels); + } else if(options.fallback) { + this.decoder = new OpusWorker(options.channels) + } else { + this.decoder = null; + } + } + + decode(packet) { + if (!this.decoder) { + throw ('opps! no decoder is found to decode'); + } + return this.decoder.decode(packet); + } + + destroy() { + this.decoder.destroy(); + } +} diff --git a/src/utils/ogg.js b/src/utils/ogg.js new file mode 100644 index 0000000..34159d0 --- /dev/null +++ b/src/utils/ogg.js @@ -0,0 +1,149 @@ +import { appendByteArray } from './utils.js'; +export default class Ogg { + constructor(orgSampleRate, channel) { + this.orgSampleRate = orgSampleRate; + this.channel = channel; + this.audioCtx = new (window.AudioContext || window.webkitAudioContext)(); + this.init(); + } + + init() { + this.pageIndex = 0; + this.serial = Math.floor(Math.random() * Math.pow(2,32)); + this.initChecksumTable(); + let idHeader = this.getIDHeader(); + let commentHeader = this.getCommentHeader(); + let idPage = this.getPage(idHeader, 2); // headerType of ID header is 2 i.e beginning of stream + let commentPage = this.getPage(commentHeader, 0); // headerType of comment header is 0 + this.oggHeader = appendByteArray(idPage, commentPage); + } + + getIDHeader() { + let data = new Uint8Array(19), + dv = new DataView(data.buffer); + dv.setUint32( 0, 1937076303, true ); // Magic Signature 'Opus' + dv.setUint32( 4, 1684104520, true ); // Magic Signature 'Head' + dv.setUint8( 8, 1, true ); // Version + dv.setUint8( 9, this.channel, true ); // Channel count + dv.setUint16( 10, 0, true ); // pre-skip, don't need to skip any value + dv.setUint32( 12, this.orgSampleRate, true ); // original sample rate + dv.setUint16( 16, 0, true ); // output gain + dv.setUint8( 18, 0, true ); // channel map 0 = mono or stereo + return data; + } + + getCommentHeader() { + let data = new Uint8Array(24), + dv = new DataView(data.buffer); + dv.setUint32( 0, 1937076303, true ); // Magic Signature 'Opus' + dv.setUint32( 4, 1936154964, true ); // Magic Signature 'Tags' + dv.setUint32( 8, 8, true ); // Vendor Length + dv.setUint32( 12, 1919512167, true ); // Vendor name 'ring' + dv.setUint32( 16, 1818850917, true ); // Vendor name 'live' + dv.setUint32( 20, 0, true ); // User Comment List Length + return data; + } + + + getPage(segmentData, headerType) { + + /* ref: https://tools.ietf.org/id/draft-ietf-codec-oggopus-00.html */ + let segmentTable = new Uint8Array(1); /* segment table stores segment length map. always providing one single segment */ + let page = new Uint8Array(27 + segmentTable.byteLength + segmentData.byteLength); + let pageDV = new DataView(page.buffer); + segmentTable[0] = segmentData.length; + + + pageDV.setUint32( 0, 1399285583, true); // page headers starts with 'OggS' + pageDV.setUint8( 4, 0, true ); // Version + pageDV.setUint8( 5, headerType, true ); // 1 = continuation, 2 = beginning of stream, 4 = end of stream + pageDV.setUint32( 6, -1, true ); // granuale position -1 i.e single packet per page. granuable position is 8 bytes but 4bytes for us. + pageDV.setUint32( 14, this.serial, true ); // Bitstream serial number + pageDV.setUint32( 18, this.pageIndex++, true ); // Page sequence number + pageDV.setUint8( 26, 1, true ); // Number of segments in page, giving always 1 segment + + page.set( segmentTable, 27 ); // Segment Table inserting at 27th position since page header length is 27 + page.set( segmentData, 28 ); // inserting at 28th since Segment Table(1) + header length(27) + pageDV.setUint32( 22, this.getChecksum( page ), true ); // Checksum - generating for page data and inserting at 22th position into 32 bits + + return page; + } + + getOGG(packet) { + let oggData = this.oggHeader, + segmentData; + + segmentData = this.getPage(packet, 4); /* headerType - end of stream i.e 4 */ + oggData = appendByteArray(oggData, segmentData); + this.pageIndex = 2; /* reseting pageIndex to 2 so we can re-use same header */ + return oggData; + } + + getChecksum(data) { + let checksum = 0; + for ( var i = 0; i < data.length; i++ ) { + checksum = (checksum << 8) ^ this.checksumTable[ ((checksum>>>24) & 0xff) ^ data[i] ]; + } + return checksum >>> 0; + } + + initChecksumTable () { + this.checksumTable = []; + for ( var i = 0; i < 256; i++ ) { + var r = i << 24; + for ( var j = 0; j < 8; j++ ) { + r = ((r & 0x80000000) != 0) ? ((r << 1) ^ 0x04c11db7) : (r << 1); + } + this.checksumTable[i] = (r & 0xffffffff); + } + } + + decode(packet) { + let ogg = this.getOGG(packet); + return new Promise((resolve) => { + this.audioCtx.decodeAudioData(ogg.buffer, (audioBuffer) => { + let audioData, + i, + result = [], + pcmFloat; + + if (this.channel == 1) { + pcmFloat = audioBuffer.getChannelData(0); + } else { + pcmFloat = this.getMergedPCMData(audioBuffer); + } + resolve(result); + }); + }); + } + + getMergedPCMData(audioBuffer) { + let audioData, + result, + length, + pcmData, + offset = 0 + i=0, + j=0; + + for(i=0; i i) { + for(j=0; j { + this.resolver = resolve; + }); + } + + onMessage(event) { + let data = event.data; + if (this.resolver) { + this.resolver(data.buffer); + } + } + destroy() { + this.worker = null; + } +} diff --git a/src/utils/utils.js b/src/utils/utils.js new file mode 100644 index 0000000..a8e5f43 --- /dev/null +++ b/src/utils/utils.js @@ -0,0 +1,6 @@ +export function appendByteArray(buffer1, buffer2) { + let tmp = new Uint8Array((buffer1.length|0) + (buffer2.length|0)); + tmp.set(buffer1, 0); + tmp.set(buffer2, buffer1.length|0); + return tmp; +}