@loaders.gl/las 3.0.13 → 3.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.min.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(n,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var t in r)("object"==typeof exports?exports:n)[t]=r[t]}}(window,(function(){return function(n){var e={};function r(t){if(e[t])return e[t].exports;var A=e[t]={i:t,l:!1,exports:{}};return n[t].call(A.exports,A,A.exports,r),A.l=!0,A.exports}return r.m=n,r.c=e,r.d=function(n,e,t){r.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:t})},r.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var A in n)r.d(t,A,function(e){return n[e]}.bind(null,A));return t},r.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(e,"a",e),e},r.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},r.p="",r(r.s=2)}([function(n,e){},function(n,e,r){(function(e,t){n.exports=function(){var A,i=void 0!==i?i:{},u={};for(A in i)i.hasOwnProperty(A)&&(u[A]=i[A]);var f=[],o=!1,c=!1,l=!1,a=!1;o="object"==typeof window,c="function"==typeof importScripts,l="object"==typeof e&&"object"==typeof e.versions&&"string"==typeof e.versions.node,a=!o&&!l&&!c;var s,d,b,h,Z,v="";function m(n){return i.locateFile?i.locateFile(n,v):v+n}l?(v=c?r(0).dirname(v)+"/":t+"/",s=function(n,e){var t=Rr(n);return t?e?t:t.toString():(h||(h=r(5)),Z||(Z=r(0)),n=Z.normalize(n),h.readFileSync(n,e?null:"utf8"))},b=function(n){var e=s(n,!0);return e.buffer||(e=new Uint8Array(e)),F(e.buffer),e},e.argv.length>1&&e.argv[1].replace(/\\/g,"/"),f=e.argv.slice(2),n.exports=i,e.on("uncaughtException",(function(n){if(!(n instanceof Yr))throw n})),e.on("unhandledRejection",Zn),function(n){e.exit(n)},i.inspect=function(){return"[Emscripten Module object]"}):a?("undefined"!=typeof read&&(s=function(n){var e=Rr(n);return e?Vr(e):read(n)}),b=function(n){var e;return(e=Rr(n))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(n)):(F("object"==typeof(e=read(n,"binary"))),e)},"undefined"!=typeof scriptArgs?f=scriptArgs:void 0!==arguments&&(f=arguments),"function"==typeof quit&&function(n){quit(n)},"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(o||c)&&(c?v=self.location.href:document.currentScript&&(v=document.currentScript.src),v=0!==v.indexOf("blob:")?v.substr(0,v.lastIndexOf("/")+1):"",s=function(n){try{var e=new XMLHttpRequest;return e.open("GET",n,!1),e.send(null),e.responseText}catch(e){var r=Rr(n);if(r)return Vr(r);throw e}},c&&(b=function(n){try{var e=new XMLHttpRequest;return e.open("GET",n,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var r=Rr(n);if(r)return r;throw e}}),d=function(n,e,r){var t=new XMLHttpRequest;t.open("GET",n,!0),t.responseType="arraybuffer",t.onload=function(){if(200==t.status||0==t.status&&t.response)e(t.response);else{var A=Rr(n);A?e(A.buffer):r()}},t.onerror=r,t.send(null)});var V=i.print||console.log.bind(console),p=i.printErr||console.warn.bind(console);for(A in u)u.hasOwnProperty(A)&&(i[A]=u[A]);u=null,i.arguments&&(f=i.arguments),i.thisProgram&&i.thisProgram,i.quit&&i.quit;new Array(0);var y=0,R=function(n){y=n},W=function(){return y},X=8;i.wasmBinary&&i.wasmBinary,i.noExitRuntime&&i.noExitRuntime;var w=!1;function F(n,e){n||Zn("Assertion failed: "+e)}var k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function U(n,e,r){for(var t=e+r,A=e;n[A]&&!(A>=t);)++A;if(A-e>16&&n.subarray&&k)return k.decode(n.subarray(e,A));for(var i="";e<A;){var u=n[e++];if(128&u){var f=63&n[e++];if(192!=(224&u)){var o=63&n[e++];if((u=224==(240&u)?(15&u)<<12|f<<6|o:(7&u)<<18|f<<12|o<<6|63&n[e++])<65536)i+=String.fromCharCode(u);else{var c=u-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&u)<<6|f)}else i+=String.fromCharCode(u)}return i}function G(n,e){return n?U(B,n,e):""}function z(n,e,r,t){if(!(t>0))return 0;for(var A=r,i=r+t-1,u=0;u<n.length;++u){var f=n.charCodeAt(u);if(f>=55296&&f<=57343)f=65536+((1023&f)<<10)|1023&n.charCodeAt(++u);if(f<=127){if(r>=i)break;e[r++]=f}else if(f<=2047){if(r+1>=i)break;e[r++]=192|f>>6,e[r++]=128|63&f}else if(f<=65535){if(r+2>=i)break;e[r++]=224|f>>12,e[r++]=128|f>>6&63,e[r++]=128|63&f}else{if(r+3>=i)break;e[r++]=240|f>>18,e[r++]=128|f>>12&63,e[r++]=128|f>>6&63,e[r++]=128|63&f}}return e[r]=0,r-A}function N(n,e,r){return z(n,B,e,r)}function g(n){for(var e=0,r=0;r<n.length;++r){var t=n.charCodeAt(r);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&n.charCodeAt(++r)),t<=127?++e:e+=t<=2047?2:t<=65535?3:4}return e}var T,M,B,J,Y,E,x,O,C,j="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function I(n,e){for(var r=n,t=r>>1,A=t+e/2;!(t>=A)&&Y[t];)++t;if((r=t<<1)-n>32&&j)return j.decode(B.subarray(n,r));for(var i=0,u="";;){var f=J[n+2*i>>1];if(0==f||i==e/2)return u;++i,u+=String.fromCharCode(f)}}function S(n,e,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=e,A=(r-=2)<2*n.length?r/2:n.length,i=0;i<A;++i){var u=n.charCodeAt(i);J[e>>1]=u,e+=2}return J[e>>1]=0,e-t}function H(n){return 2*n.length}function Q(n,e){for(var r=0,t="";!(r>=e/4);){var A=E[n+4*r>>2];if(0==A)break;if(++r,A>=65536){var i=A-65536;t+=String.fromCharCode(55296|i>>10,56320|1023&i)}else t+=String.fromCharCode(A)}return t}function _(n,e,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=e,A=t+r-4,i=0;i<n.length;++i){var u=n.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((1023&u)<<10)|1023&n.charCodeAt(++i);if(E[e>>2]=u,(e+=4)+4>A)break}return E[e>>2]=0,e-t}function D(n){for(var e=0,r=0;r<n.length;++r){var t=n.charCodeAt(r);t>=55296&&t<=57343&&++r,e+=4}return e}function P(n){T=n,i.HEAP8=M=new Int8Array(n),i.HEAP16=J=new Int16Array(n),i.HEAP32=E=new Int32Array(n),i.HEAPU8=B=new Uint8Array(n),i.HEAPU16=Y=new Uint16Array(n),i.HEAPU32=x=new Uint32Array(n),i.HEAPF32=O=new Float32Array(n),i.HEAPF64=C=new Float64Array(n)}var $=5265264,L=22176,K=i.INITIAL_MEMORY||167772160;function q(n){for(;n.length>0;){var e=n.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?i.dynCall_v(r):i.dynCall_vi(r,e.arg):r(void 0===e.arg?null:e.arg)}else e(i)}}K=(T=i.buffer?i.buffer:new ArrayBuffer(K)).byteLength,P(T),E[L>>2]=$;var nn=[],en=[],rn=[],tn=[];function An(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)cn(i.preRun.shift());q(nn)}function un(){!0,q(en)}function fn(){q(rn)}function on(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)ln(i.postRun.shift());q(tn)}function cn(n){nn.unshift(n)}function ln(n){tn.unshift(n)}Math.abs,Math.ceil,Math.floor,Math.min;var an=0,sn=null,dn=null;function bn(n){an++,i.monitorRunDependencies&&i.monitorRunDependencies(an)}function hn(n){if(an--,i.monitorRunDependencies&&i.monitorRunDependencies(an),0==an&&(null!==sn&&(clearInterval(sn),sn=null),dn)){var e=dn;dn=null,e()}}function Zn(n){throw i.onAbort&&i.onAbort(n),V(n+=""),p(n),w=!0,1,n="abort("+n+"). Build with -s ASSERTIONS=1 for more info."}i.preloadedImages={},i.preloadedAudios={};var vn=null;function mn(n,e){return String.prototype.startsWith?n.startsWith(e):0===n.indexOf(e)}var Vn="data:application/octet-stream;base64,";function pn(n){return mn(n,Vn)}en.push({func:function(){Nr()}}),vn="data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";var yn=22368;function Rn(n){return zr(n)}var Wn={},Xn=[];function wn(n){n&&Wn[n].refcount++}function Fn(n){if(!n||Wn[n])return n;for(var e in Wn)for(var r=+e,t=Wn[r].adjusted,A=t.length,i=0;i<A;i++)if(t[i]===n)return r;return n}function kn(n){var e=Wn[n];return e&&!e.caught&&(e.caught=!0,kr.uncaught_exceptions--),e&&(e.rethrown=!1),Xn.push(n),wn(Fn(n)),n}function Un(n,e,r){throw Wn[n]={ptr:n,adjusted:[n],type:e,destructor:r,refcount:0,caught:!1,rethrown:!1},n,"uncaught_exception"in kr?kr.uncaught_exceptions++:kr.uncaught_exceptions=1,n}function Gn(){return kr.uncaught_exceptions}function zn(){}function Nn(n){switch(n){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+n)}}function gn(){for(var n=new Array(256),e=0;e<256;++e)n[e]=String.fromCharCode(e);Tn=n}var Tn=void 0;function Mn(n){for(var e="",r=n;B[r];)e+=Tn[B[r++]];return e}var Bn={},Jn={},Yn={},En=48,xn=57;function On(n){if(void 0===n)return"_unknown";var e=(n=n.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=En&&e<=xn?"_"+n:n}function Cn(n,e){return n=On(n),new Function("body","return function "+n+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function jn(n,e){var r=Cn(e,(function(n){this.name=e,this.message=n;var r=new Error(n).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var In=void 0;function Sn(n){throw new In(n)}var Hn=void 0;function Qn(n){throw new Hn(n)}function _n(n,e,r){function t(e){var t=r(e);t.length!==n.length&&Qn("Mismatched type converter count");for(var A=0;A<n.length;++A)Dn(n[A],t[A])}n.forEach((function(n){Yn[n]=e}));var A=new Array(e.length),i=[],u=0;e.forEach((function(n,e){Jn.hasOwnProperty(n)?A[e]=Jn[n]:(i.push(n),Bn.hasOwnProperty(n)||(Bn[n]=[]),Bn[n].push((function(){A[e]=Jn[n],++u===i.length&&t(A)})))})),0===i.length&&t(A)}function Dn(n,e,r){if(r=r||{},!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var t=e.name;if(n||Sn('type "'+t+'" must have a positive integer typeid pointer'),Jn.hasOwnProperty(n)){if(r.ignoreDuplicateRegistrations)return;Sn("Cannot register type '"+t+"' twice")}if(Jn[n]=e,delete Yn[n],Bn.hasOwnProperty(n)){var A=Bn[n];delete Bn[n],A.forEach((function(n){n()}))}}function Pn(n,e,r,t,A){var i=Nn(r);Dn(n,{name:e=Mn(e),fromWireType:function(n){return!!n},toWireType:function(n,e){return e?t:A},argPackAdvance:8,readValueFromPointer:function(n){var t;if(1===r)t=M;else if(2===r)t=J;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+e);t=E}return this.fromWireType(t[n>>i])},destructorFunction:null})}function $n(n){if(!(this instanceof se))return!1;if(!(n instanceof se))return!1;for(var e=this.$$.ptrType.registeredClass,r=this.$$.ptr,t=n.$$.ptrType.registeredClass,A=n.$$.ptr;e.baseClass;)r=e.upcast(r),e=e.baseClass;for(;t.baseClass;)A=t.upcast(A),t=t.baseClass;return e===t&&r===A}function Ln(n){return{count:n.count,deleteScheduled:n.deleteScheduled,preservePointerOnDelete:n.preservePointerOnDelete,ptr:n.ptr,ptrType:n.ptrType,smartPtr:n.smartPtr,smartPtrType:n.smartPtrType}}function Kn(n){Sn(n.$$.ptrType.registeredClass.name+" instance already deleted")}var qn=!1;function ne(n){}function ee(n){n.smartPtr?n.smartPtrType.rawDestructor(n.smartPtr):n.ptrType.registeredClass.rawDestructor(n.ptr)}function re(n){n.count.value-=1,0===n.count.value&&ee(n)}function te(n){return"undefined"==typeof FinalizationGroup?(te=function(n){return n},n):(qn=new FinalizationGroup((function(n){for(var e=n.next();!e.done;e=n.next()){var r=e.value;r.ptr?re(r):console.warn("object already deleted: "+r.ptr)}})),ne=function(n){qn.unregister(n.$$)},(te=function(n){return qn.register(n,n.$$,n.$$),n})(n))}function Ae(){if(this.$$.ptr||Kn(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var n=te(Object.create(Object.getPrototypeOf(this),{$$:{value:Ln(this.$$)}}));return n.$$.count.value+=1,n.$$.deleteScheduled=!1,n}function ie(){this.$$.ptr||Kn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Sn("Object already scheduled for deletion"),ne(this),re(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function ue(){return!this.$$.ptr}var fe=void 0,oe=[];function ce(){for(;oe.length;){var n=oe.pop();n.$$.deleteScheduled=!1,n.delete()}}function le(){return this.$$.ptr||Kn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Sn("Object already scheduled for deletion"),oe.push(this),1===oe.length&&fe&&fe(ce),this.$$.deleteScheduled=!0,this}function ae(){se.prototype.isAliasOf=$n,se.prototype.clone=Ae,se.prototype.delete=ie,se.prototype.isDeleted=ue,se.prototype.deleteLater=le}function se(){}var de={};function be(n,e,r){if(void 0===n[e].overloadTable){var t=n[e];n[e]=function(){return n[e].overloadTable.hasOwnProperty(arguments.length)||Sn("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+n[e].overloadTable+")!"),n[e].overloadTable[arguments.length].apply(this,arguments)},n[e].overloadTable=[],n[e].overloadTable[t.argCount]=t}}function he(n,e,r){i.hasOwnProperty(n)?((void 0===r||void 0!==i[n].overloadTable&&void 0!==i[n].overloadTable[r])&&Sn("Cannot register public name '"+n+"' twice"),be(i,n,n),i.hasOwnProperty(r)&&Sn("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),i[n].overloadTable[r]=e):(i[n]=e,void 0!==r&&(i[n].numArguments=r))}function Ze(n,e,r,t,A,i,u,f){this.name=n,this.constructor=e,this.instancePrototype=r,this.rawDestructor=t,this.baseClass=A,this.getActualType=i,this.upcast=u,this.downcast=f,this.pureVirtualFunctions=[]}function ve(n,e,r){for(;e!==r;)e.upcast||Sn("Expected null or instance of "+r.name+", got an instance of "+e.name),n=e.upcast(n),e=e.baseClass;return n}function me(n,e){if(null===e)return this.isReference&&Sn("null is not a valid "+this.name),0;e.$$||Sn('Cannot pass "'+tr(e)+'" as a '+this.name),e.$$.ptr||Sn("Cannot pass deleted object as a pointer of type "+this.name);var r=e.$$.ptrType.registeredClass;return ve(e.$$.ptr,r,this.registeredClass)}function Ve(n,e){var r;if(null===e)return this.isReference&&Sn("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==n&&n.push(this.rawDestructor,r),r):0;e.$$||Sn('Cannot pass "'+tr(e)+'" as a '+this.name),e.$$.ptr||Sn("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&e.$$.ptrType.isConst&&Sn("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);var t=e.$$.ptrType.registeredClass;if(r=ve(e.$$.ptr,t,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&Sn("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?r=e.$$.smartPtr:Sn("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)r=e.$$.smartPtr;else{var A=e.clone();r=this.rawShare(r,er((function(){A.delete()}))),null!==n&&n.push(this.rawDestructor,r)}break;default:Sn("Unsupporting sharing policy")}return r}function pe(n,e){if(null===e)return this.isReference&&Sn("null is not a valid "+this.name),0;e.$$||Sn('Cannot pass "'+tr(e)+'" as a '+this.name),e.$$.ptr||Sn("Cannot pass deleted object as a pointer of type "+this.name),e.$$.ptrType.isConst&&Sn("Cannot convert argument of type "+e.$$.ptrType.name+" to parameter type "+this.name);var r=e.$$.ptrType.registeredClass;return ve(e.$$.ptr,r,this.registeredClass)}function ye(n){return this.fromWireType(x[n>>2])}function Re(n){return this.rawGetPointee&&(n=this.rawGetPointee(n)),n}function We(n){this.rawDestructor&&this.rawDestructor(n)}function Xe(n){null!==n&&n.delete()}function we(n,e,r){if(e===r)return n;if(void 0===r.baseClass)return null;var t=we(n,e,r.baseClass);return null===t?null:r.downcast(t)}function Fe(){return Object.keys(ze).length}function ke(){var n=[];for(var e in ze)ze.hasOwnProperty(e)&&n.push(ze[e]);return n}function Ue(n){fe=n,oe.length&&fe&&fe(ce)}function Ge(){i.getInheritedInstanceCount=Fe,i.getLiveInheritedInstances=ke,i.flushPendingDeletes=ce,i.setDelayFunction=Ue}var ze={};function Ne(n,e){for(void 0===e&&Sn("ptr should not be undefined");n.baseClass;)e=n.upcast(e),n=n.baseClass;return e}function ge(n,e){return e=Ne(n,e),ze[e]}function Te(n,e){return e.ptrType&&e.ptr||Qn("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&Qn("Both smartPtrType and smartPtr must be specified"),e.count={value:1},te(Object.create(n,{$$:{value:e}}))}function Me(n){var e=this.getPointee(n);if(!e)return this.destructor(n),null;var r=ge(this.registeredClass,e);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=e,r.$$.smartPtr=n,r.clone();var t=r.clone();return this.destructor(n),t}function A(){return this.isSmartPointer?Te(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:n}):Te(this.registeredClass.instancePrototype,{ptrType:this,ptr:n})}var i,u=this.registeredClass.getActualType(e),f=de[u];if(!f)return A.call(this);i=this.isConst?f.constPointerType:f.pointerType;var o=we(e,this.registeredClass,i.registeredClass);return null===o?A.call(this):this.isSmartPointer?Te(i.registeredClass.instancePrototype,{ptrType:i,ptr:o,smartPtrType:this,smartPtr:n}):Te(i.registeredClass.instancePrototype,{ptrType:i,ptr:o})}function Be(){Je.prototype.getPointee=Re,Je.prototype.destructor=We,Je.prototype.argPackAdvance=8,Je.prototype.readValueFromPointer=ye,Je.prototype.deleteObject=Xe,Je.prototype.fromWireType=Me}function Je(n,e,r,t,A,i,u,f,o,c,l){this.name=n,this.registeredClass=e,this.isReference=r,this.isConst=t,this.isSmartPointer=A,this.pointeeType=i,this.sharingPolicy=u,this.rawGetPointee=f,this.rawConstructor=o,this.rawShare=c,this.rawDestructor=l,A||void 0!==e.baseClass?this.toWireType=Ve:t?(this.toWireType=me,this.destructorFunction=null):(this.toWireType=pe,this.destructorFunction=null)}function Ye(n,e,r){i.hasOwnProperty(n)||Qn("Replacing nonexistant public symbol"),void 0!==i[n].overloadTable&&void 0!==r?i[n].overloadTable[r]=e:(i[n]=e,i[n].argCount=r)}function Ee(n,e){n=Mn(n);var r=function(r){for(var t=[],A=1;A<n.length;++A)t.push("a"+A);var i="return function "+("dynCall_"+n+"_"+e)+"("+t.join(", ")+") {\n";return i+=" return dynCall(rawFunction"+(t.length?", ":"")+t.join(", ")+");\n",i+="};\n",new Function("dynCall","rawFunction",i)(r,e)}(i["dynCall_"+n]);return"function"!=typeof r&&Sn("unknown function pointer with signature "+n+": "+e),r}var xe=void 0;function Oe(n){var e=Ur(n),r=Mn(e);return Gr(e),r}function Ce(n,e){var r=[],t={};throw e.forEach((function n(e){t[e]||Jn[e]||(Yn[e]?Yn[e].forEach(n):(r.push(e),t[e]=!0))})),new xe(n+": "+r.map(Oe).join([", "]))}function je(n,e,r,t,A,i,u,f,o,c,l,a,s){l=Mn(l),i=Ee(A,i),f&&(f=Ee(u,f)),c&&(c=Ee(o,c)),s=Ee(a,s);var d=On(l);he(d,(function(){Ce("Cannot construct "+l+" due to unbound types",[t])})),_n([n,e,r],t?[t]:[],(function(e){var r,A;e=e[0],A=t?(r=e.registeredClass).instancePrototype:se.prototype;var u=Cn(d,(function(){if(Object.getPrototypeOf(this)!==o)throw new In("Use 'new' to construct "+l);if(void 0===a.constructor_body)throw new In(l+" has no accessible constructor");var n=a.constructor_body[arguments.length];if(void 0===n)throw new In("Tried to invoke ctor of "+l+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(a.constructor_body).toString()+") parameters instead!");return n.apply(this,arguments)})),o=Object.create(A,{constructor:{value:u}});u.prototype=o;var a=new Ze(l,u,o,s,r,i,f,c),b=new Je(l,a,!0,!1,!1),h=new Je(l+"*",a,!1,!1,!1),Z=new Je(l+" const*",a,!1,!0,!1);return de[n]={pointerType:h,constPointerType:Z},Ye(d,u),[b,h,Z]}))}function Ie(n,e){for(var r=[],t=0;t<n;t++)r.push(E[(e>>2)+t]);return r}function Se(n){for(;n.length;){var e=n.pop();n.pop()(e)}}function He(n,e,r,t,A,i){F(e>0);var u=Ie(e,r);A=Ee(t,A);var f=[i],o=[];_n([],[n],(function(n){var r="constructor "+(n=n[0]).name;if(void 0===n.registeredClass.constructor_body&&(n.registeredClass.constructor_body=[]),void 0!==n.registeredClass.constructor_body[e-1])throw new In("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+n.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return n.registeredClass.constructor_body[e-1]=function(){Ce("Cannot construct "+n.name+" due to unbound types",u)},_n([],u,(function(t){return n.registeredClass.constructor_body[e-1]=function(){arguments.length!==e-1&&Sn(r+" called with "+arguments.length+" arguments, expected "+(e-1)),o.length=0,f.length=e;for(var n=1;n<e;++n)f[n]=t[n].toWireType(o,arguments[n-1]);var i=A.apply(null,f);return Se(o),t[0].fromWireType(i)},[]})),[]}))}function Qe(n,e){if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=Cn(n.name||"unknownFunctionName",(function(){}));r.prototype=n.prototype;var t=new r,A=n.apply(t,e);return A instanceof Object?A:t}function _e(n,e,r,t,A){var i=e.length;i<2&&Sn("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var u=null!==e[1]&&null!==r,f=!1,o=1;o<e.length;++o)if(null!==e[o]&&void 0===e[o].destructorFunction){f=!0;break}var c="void"!==e[0].name,l="",a="";for(o=0;o<i-2;++o)l+=(0!==o?", ":"")+"arg"+o,a+=(0!==o?", ":"")+"arg"+o+"Wired";var s="return function "+On(n)+"("+l+") {\nif (arguments.length !== "+(i-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(i-2)+" args!');\n}\n";f&&(s+="var destructors = [];\n");var d=f?"destructors":"null",b=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[Sn,t,A,Se,e[0],e[1]];u&&(s+="var thisWired = classParam.toWireType("+d+", this);\n");for(o=0;o<i-2;++o)s+="var arg"+o+"Wired = argType"+o+".toWireType("+d+", arg"+o+"); // "+e[o+2].name+"\n",b.push("argType"+o),h.push(e[o+2]);if(u&&(a="thisWired"+(a.length>0?", ":"")+a),s+=(c?"var rv = ":"")+"invoker(fn"+(a.length>0?", ":"")+a+");\n",f)s+="runDestructors(destructors);\n";else for(o=u?1:2;o<e.length;++o){var Z=1===o?"thisWired":"arg"+(o-2)+"Wired";null!==e[o].destructorFunction&&(s+=Z+"_dtor("+Z+"); // "+e[o].name+"\n",b.push(Z+"_dtor"),h.push(e[o].destructorFunction))}return c&&(s+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),s+="}\n",b.push(s),Qe(Function,b).apply(null,h)}function De(n,e,r,t,A,i,u,f){var o=Ie(r,t);e=Mn(e),i=Ee(A,i),_n([],[n],(function(n){var t=(n=n[0]).name+"."+e;function A(){Ce("Cannot call "+t+" due to unbound types",o)}f&&n.registeredClass.pureVirtualFunctions.push(e);var c=n.registeredClass.instancePrototype,l=c[e];return void 0===l||void 0===l.overloadTable&&l.className!==n.name&&l.argCount===r-2?(A.argCount=r-2,A.className=n.name,c[e]=A):(be(c,e,t),c[e].overloadTable[r-2]=A),_n([],o,(function(A){var f=_e(t,A,n,i,u);return void 0===c[e].overloadTable?(f.argCount=r-2,c[e]=f):c[e].overloadTable[r-2]=f,[]})),[]}))}var Pe=[],$e=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Le(n){n>4&&0==--$e[n].refcount&&($e[n]=void 0,Pe.push(n))}function Ke(){for(var n=0,e=5;e<$e.length;++e)void 0!==$e[e]&&++n;return n}function qe(){for(var n=5;n<$e.length;++n)if(void 0!==$e[n])return $e[n];return null}function nr(){i.count_emval_handles=Ke,i.get_first_emval=qe}function er(n){switch(n){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var e=Pe.length?Pe.pop():$e.length;return $e[e]={refcount:1,value:n},e}}function rr(n,e){Dn(n,{name:e=Mn(e),fromWireType:function(n){var e=$e[n].value;return Le(n),e},toWireType:function(n,e){return er(e)},argPackAdvance:8,readValueFromPointer:ye,destructorFunction:null})}function tr(n){if(null===n)return"null";var e=typeof n;return"object"===e||"array"===e||"function"===e?n.toString():""+n}function Ar(n,e){switch(e){case 2:return function(n){return this.fromWireType(O[n>>2])};case 3:return function(n){return this.fromWireType(C[n>>3])};default:throw new TypeError("Unknown float type: "+n)}}function ir(n,e,r){var t=Nn(r);Dn(n,{name:e=Mn(e),fromWireType:function(n){return n},toWireType:function(n,e){if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+tr(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Ar(e,t),destructorFunction:null})}function ur(n,e,r){switch(e){case 0:return r?function(n){return M[n]}:function(n){return B[n]};case 1:return r?function(n){return J[n>>1]}:function(n){return Y[n>>1]};case 2:return r?function(n){return E[n>>2]}:function(n){return x[n>>2]};default:throw new TypeError("Unknown integer type: "+n)}}function fr(n,e,r,t,A){e=Mn(e),-1===A&&(A=4294967295);var i=Nn(r),u=function(n){return n};if(0===t){var f=32-8*r;u=function(n){return n<<f>>>f}}var o=-1!=e.indexOf("unsigned");Dn(n,{name:e,fromWireType:u,toWireType:function(n,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+tr(r)+'" to '+this.name);if(r<t||r>A)throw new TypeError('Passing a number "'+tr(r)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+t+", "+A+"]!");return o?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:ur(e,i,0!==t),destructorFunction:null})}function or(n,e,r){var t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function A(n){var e=x,r=e[n>>=2],A=e[n+1];return new t(T,A,r)}Dn(n,{name:r=Mn(r),fromWireType:A,argPackAdvance:8,readValueFromPointer:A},{ignoreDuplicateRegistrations:!0})}function cr(n,e){var r="std::string"===(e=Mn(e));Dn(n,{name:e,fromWireType:function(n){var e,t=x[n>>2];if(r)for(var A=n+4,i=0;i<=t;++i){var u=n+4+i;if(0==B[u]||i==t){var f=G(A,u-A);void 0===e?e=f:(e+=String.fromCharCode(0),e+=f),A=u+1}}else{var o=new Array(t);for(i=0;i<t;++i)o[i]=String.fromCharCode(B[n+4+i]);e=o.join("")}return Gr(n),e},toWireType:function(n,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var t="string"==typeof e;t||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||Sn("Cannot pass non-string to std::string");var A=(r&&t?function(){return g(e)}:function(){return e.length})(),i=zr(4+A+1);if(x[i>>2]=A,r&&t)N(e,i+4,A+1);else if(t)for(var u=0;u<A;++u){var f=e.charCodeAt(u);f>255&&(Gr(i),Sn("String has UTF-16 code units that do not fit in 8 bits")),B[i+4+u]=f}else for(u=0;u<A;++u)B[i+4+u]=e[u];return null!==n&&n.push(Gr,i),i},argPackAdvance:8,readValueFromPointer:ye,destructorFunction:function(n){Gr(n)}})}function lr(n,e,r){var t,A,i,u,f;r=Mn(r),2===e?(t=I,A=S,u=H,i=function(){return Y},f=1):4===e&&(t=Q,A=_,u=D,i=function(){return x},f=2),Dn(n,{name:r,fromWireType:function(n){for(var r,A=x[n>>2],u=i(),o=n+4,c=0;c<=A;++c){var l=n+4+c*e;if(0==u[l>>f]||c==A){var a=t(o,l-o);void 0===r?r=a:(r+=String.fromCharCode(0),r+=a),o=l+e}}return Gr(n),r},toWireType:function(n,t){"string"!=typeof t&&Sn("Cannot pass non-string to C++ string type "+r);var i=u(t),o=zr(4+i+e);return x[o>>2]=i>>f,A(t,o+4,i+e),null!==n&&n.push(Gr,o),o},argPackAdvance:8,readValueFromPointer:ye,destructorFunction:function(n){Gr(n)}})}function ar(n,e){Dn(n,{isVoid:!0,name:e=Mn(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(n,e){}})}function sr(){Zn()}function dr(){return B.length}function br(n){Zn("OOM")}function hr(n){br()}function Zr(){Zn("trap!")}function vr(n,e,r){B.copyWithin(n,e,e+r)}gn(),In=i.BindingError=jn(Error,"BindingError"),Hn=i.InternalError=jn(Error,"InternalError"),ae(),Be(),Ge(),xe=i.UnboundTypeError=jn(Error,"UnboundTypeError"),nr();var mr=!1;function Vr(n){for(var e=[],r=0;r<n.length;r++){var t=n[r];t>255&&(mr&&F(!1,"Character code "+t+" ("+String.fromCharCode(t)+") at offset "+r+" not in 0x00-0xFF."),t&=255),e.push(String.fromCharCode(t))}return e.join("")}var pr="function"==typeof atob?atob:function(n){var e,r,t,A,i,u,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",c=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=f.indexOf(n.charAt(c++))<<2|(A=f.indexOf(n.charAt(c++)))>>4,r=(15&A)<<4|(i=f.indexOf(n.charAt(c++)))>>2,t=(3&i)<<6|(u=f.indexOf(n.charAt(c++))),o+=String.fromCharCode(e),64!==i&&(o+=String.fromCharCode(r)),64!==u&&(o+=String.fromCharCode(t))}while(c<n.length);return o};function yr(n){if("boolean"==typeof l&&l){var e;try{e=Buffer.from(n,"base64")}catch(r){e=new Buffer(n,"base64")}return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}try{for(var r=pr(n),t=new Uint8Array(r.length),A=0;A<r.length;++A)t[A]=r.charCodeAt(A);return t}catch(n){throw new Error("Converting base64 string to bytes failed.")}}function Rr(n){if(pn(n))return yr(n.slice(Vn.length))}var Wr,Xr={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Float32Array:Float32Array,Float64Array:Float64Array},wr={A:vr,B:hr,C:Zr,D:yn,a:Zn,b:R,c:W,d:Rn,e:kn,f:Un,g:Gn,h:wn,i:Fn,j:zn,k:Pn,l:je,m:He,n:De,o:rr,p:ir,q:fr,r:or,s:cr,t:lr,u:ar,v:Le,w:er,x:sr,y:tr,z:dr},Fr=function(n,e,r){"use asm";var t=new n.Int8Array(r),A=new n.Int16Array(r),i=new n.Int32Array(r),u=new n.Uint8Array(r),f=new n.Uint16Array(r),o=new n.Float32Array(r),c=new n.Float64Array(r),l=e.D|0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0.0,V=n.Math.imul,p=n.Math.clz32,y=e.a,R=e.b,W=e.c,X=e.d,w=e.e,F=e.f,k=e.g,U=e.h,G=e.i,z=e.j,N=e.k,g=e.l,T=e.m,M=e.n,B=e.o,J=e.p,Y=e.q,E=e.r,x=e.s,O=e.t,C=e.u,j=e.v,I=e.w,S=e.x,H=e.y,Q=e.z,_=e.A,D=e.B,P=e.C,$=22384,L=5265264,K=0.0;function q(){La();Ka()}function nn(){en(0);return}function en(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0;n=$;$=$+16|0;e=n+8|0;r=n;bl();s=Zl()|0;u=vl()|0;A=Vl()|0;f=pl()|0;o=yl()|0;c=Rl()|0;l=Ul()|0;a=Gl()|0;t=Gl()|0;g(A|0,f|0,o|0,c|0,l|0,9,a|0,s|0,t|0,u|0,6204,zl()|0,138);gl(1);i[r>>2]=5;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xl(6211,e);i[r>>2]=3;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];Pl(6216,e);i[r>>2]=10;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];ta(6225,e);aa();u=da()|0;t=ba()|0;s=Za()|0;a=va()|0;l=ma()|0;c=Rl()|0;o=Ul()|0;f=Gl()|0;A=Gl()|0;g(s|0,a|0,l|0,c|0,o|0,11,f|0,u|0,A|0,t|0,6234,zl()|0,139);wa(2);i[r>>2]=6;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];ga(6211,e);i[r>>2]=4;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xa(6248,e);i[r>>2]=5;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xa(6265,e);i[r>>2]=6;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xa(6280,e);i[r>>2]=7;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];Ha(6216,e);$=n;return}function rn(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0,o=0;t=$;$=$+32|0;f=t+16|0;A=t+8|0;o=t;u=Ph(20)|0;an(u,e,r);i[o>>2]=0;i[f>>2]=i[o>>2];dn(A,u,f);e=i[A>>2]|0;i[A>>2]=i[n>>2];i[n>>2]=e;e=A+4|0;r=n+4|0;u=i[e>>2]|0;i[e>>2]=i[r>>2];i[r>>2]=u;bn(A);r=Ph(352)|0;sn(r,i[n>>2]|0);u=n+8|0;i[o>>2]=0;i[f>>2]=i[o>>2];Wn(A,r,f);r=i[A>>2]|0;i[A>>2]=i[u>>2];i[u>>2]=r;u=A+4|0;r=n+12|0;e=i[u>>2]|0;i[u>>2]=i[r>>2];i[r>>2]=e;Xn(A);$=t;return}function tn(n,e){n=n|0;e=e|0;Pr(i[n+8>>2]|0,e);return}function An(n){n=n|0;n=(Mf(i[n+8>>2]|0)|0)+107|0;return u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24|0}function un(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0,o=0;t=$;$=$+32|0;u=t+16|0;A=t+8|0;f=t;o=Ph(12)|0;Bf(o,e,r);i[f>>2]=0;i[u>>2]=i[f>>2];xf(A,o,u);o=i[A>>2]|0;i[A>>2]=i[n>>2];i[n>>2]=o;o=A+4|0;r=n+4|0;e=i[o>>2]|0;i[o>>2]=i[r>>2];i[r>>2]=e;Of(A);r=n+8|0;e=Ph(12)|0;Jf(e,i[n>>2]|0);i[f>>2]=0;i[u>>2]=i[f>>2];Qf(A,e,u);e=i[A>>2]|0;i[A>>2]=i[r>>2];i[r>>2]=e;e=A+4|0;f=n+12|0;o=i[e>>2]|0;i[e>>2]=i[f>>2];i[f>>2]=o;_f(A);Yf(A,i[r>>2]|0);r=n+16|0;f=i[A>>2]|0;o=A+4|0;e=i[o>>2]|0;i[A>>2]=0;i[o>>2]=0;i[u>>2]=i[r>>2];i[r>>2]=f;r=n+20|0;i[u+4>>2]=i[r>>2];i[r>>2]=e;Ef(u);Ef(A);$=t;return}function fn(n,e){n=n|0;e=e|0;var r=0;n=n+16|0;r=i[n>>2]|0;n:do{if(r|0)switch(e|0){case 4:{so(r);break n}case 8:{bo(r);bo(i[n>>2]|0);break n}default:break n}}while(0);return}function on(n,e){n=n|0;e=e|0;var r=0;r=n+16|0;n=i[r>>2]|0;n:do{if(n|0){switch(e|0){case 1:{nc(n);break n}case 2:{ec(n);break n}case 8:{so(n);n=i[r>>2]|0;break}case 4:break;default:break n}so(n)}}while(0);return}function cn(n,e){n=n|0;e=e|0;var r=0;r=n+16|0;n=i[r>>2]|0;n:do{if(n|0){switch(e|0){case 1:{Jc(n);break n}case 2:{Yc(n);break n}case 8:{bo(n);n=i[r>>2]|0;break}case 4:break;default:break n}bo(n)}}while(0);return}function ln(n,e){n=n|0;e=e|0;n=i[n+16>>2]|0;if(n|0)Cv[i[i[n>>2]>>2]&63](n,e)|0;return}function an(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;i[n+4>>2]=r;i[n+8>>2]=0;t[n+12>>0]=0;t[n+13>>0]=0;i[n+16>>2]=0;return}function sn(n,e){n=n|0;e=e|0;i[n>>2]=e;xn(n+4|0,e);On(n+247|0);i[n+288>>2]=0;i[n+292>>2]=0;i[n+296>>2]=0;Cn(n+300|0);e=n+312|0;i[e>>2]=0;i[e+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;jn(n+328|0);In(n);return}function dn(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4296;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;hn(n,t);$=r;return}function bn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function hn(n,e){n=n|0;e=e|0;return}function Zn(n){n|0;w(n|0)|0;rh()}function vn(n){n=n|0;uZ(n);nh(n);return}function mn(n){n=n|0;n=i[n+12>>2]|0;if(n|0)nh(n);return}function Vn(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==6407?n+12|0:0)|0}function pn(n){n=n|0;yn(n,16);return}function yn(n,e){n=n|0;e=e|0;Rn(n);return}function Rn(n){n=n|0;nh(n);return}function Wn(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4324;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;wn(n,t);$=r;return}function Xn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function wn(n,e){n=n|0;e=e|0;return}function Fn(n){n=n|0;uZ(n);nh(n);return}function kn(n){n=n|0;n=i[n+12>>2]|0;if(n|0){zn(n);nh(n)}return}function Un(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==6605?n+12|0:0)|0}function Gn(n){n=n|0;yn(n,16);return}function zn(n){n=n|0;Nn(n+320|0);gn(n+312|0);Tn(n+300|0);Yn(n+288|0);Mn(n+247|0);Bn(n+4|0);return}function Nn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function gn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Tn(n){n=n|0;Jn(n);return}function Mn(n){n=n|0;n=n+34|0;n=u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24;if(n|0)Lh(n);return}function Bn(n){n=n|0;En(i[n+12>>2]|0);return}function Jn(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=e;if(e|0){i[n+4>>2]=r;yn(e,(i[n+8>>2]|0)-r|0)}return}function Yn(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=e;if(e|0){i[n+4>>2]=r;yn(e,(i[n+8>>2]|0)-r|0)}return}function En(n){n=n|0;PZ(i[n+-4>>2]|0);return}function xn(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=Sn(1048576)|0;return}function On(n){n=n|0;var e=0;e=n+32|0;t[e>>0]=0;t[e+1>>0]=0;n=n+34|0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;return}function Cn(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;return}function jn(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;n=n+16|0;i[n>>2]=-1;i[n+4>>2]=-1;return}function In(n){n=n|0;var e=0,r=0,A=0,u=0,f=0,o=0;o=$;$=$+64|0;u=o+32|0;r=o+56|0;e=o+16|0;f=o;Hn(i[n>>2]|0,r,4);Ae(u,r,r+4|0);r=te(6693)|0;A=t[u+11>>0]|0;if((r|0)==((A<<24>>24<0?i[u+4>>2]|0:A&255)|0)){A=(XZ(u,0,-1,6693,r)|0)==0;VZ(u);if(A){r=i[n>>2]|0;i[e>>2]=0;i[e+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;i[u>>2]=i[e>>2];i[u+4>>2]=i[e+4>>2];i[u+8>>2]=i[e+8>>2];i[u+12>>2]=i[e+12>>2];_n(r,u);r=n+20|0;Hn(i[n>>2]|0,r,227);Dn(n,r);A=Pn()|0;e=i[A>>2]|0;A=i[A+4>>2]|0;if((e|0)!=(A|0))do{$n(u,e);Ln(u,r);Kn(u);e=e+24|0}while((e|0)!=(A|0));qn(n);ne(n);ee(i[n>>2]|0);A=i[n>>2]|0;e=(i[n+116>>2]|0)+8|0;r=f;i[r>>2]=0;i[r+4>>2]=0;r=f+8|0;i[r>>2]=e;i[r+4>>2]=0;i[u>>2]=i[f>>2];i[u+4>>2]=i[f+4>>2];i[u+8>>2]=i[f+8>>2];i[u+12>>2]=i[f+12>>2];_n(A,u);re(n+4|0);$=o;return}}else VZ(u);o=X(8)|0;Qn(o);F(o|0,2592,8)}function Sn(n){n=n|0;var e=0;e=DZ(n+68|0)|0;n=e+68&-64;i[n+-4>>2]=e;return n|0}function Hn(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;o=n+13|0;if(!(t[o>>0]|0)){f=n+4|0;A=i[f>>2]|0;c=n+8|0;u=i[c>>2]|0;l=A-u|0;r=(l|0)<(r|0)?l:r;if(r){sv(e|0,(i[n>>2]|0)+u|0,r|0)|0;u=i[c>>2]|0;A=i[f>>2]|0}l=u+r|0;i[c>>2]=l;i[n+16>>2]=r;if((l|0)>=(A|0))t[o>>0]=1}else t[n+12>>0]=1;return}function Qn(n){n=n|0;bZ(n,6791);i[n>>2]=4352;return}function _n(n,e){n=n|0;e=e|0;var r=0,A=0,u=0;u=e+8|0;e=i[u>>2]|0;u=i[u+4>>2]|0;r=i[n+4>>2]|0;A=((r|0)<0)<<31>>31;if((u|0)<(A|0)|(u|0)==(A|0)&e>>>0<r>>>0)i[n+8>>2]=e;else t[n+12>>0]=1;return}function Dn(n,e){n=n|0;e=e|0;var r=0.0,A=0.0,i=0,u=0.0,f=0,o=0.0,a=0,s=0.0,d=0,b=0.0;d=e+179|0;t[l>>0]=t[d>>0];t[l+1>>0]=t[d+1>>0];t[l+2>>0]=t[d+2>>0];t[l+3>>0]=t[d+3>>0];t[l+4>>0]=t[d+4>>0];t[l+5>>0]=t[d+5>>0];t[l+6>>0]=t[d+6>>0];t[l+7>>0]=t[d+7>>0];s=+c[l>>3];f=e+187|0;t[l>>0]=t[f>>0];t[l+1>>0]=t[f+1>>0];t[l+2>>0]=t[f+2>>0];t[l+3>>0]=t[f+3>>0];t[l+4>>0]=t[f+4>>0];t[l+5>>0]=t[f+5>>0];t[l+6>>0]=t[f+6>>0];t[l+7>>0]=t[f+7>>0];b=+c[l>>3];n=e+195|0;t[l>>0]=t[n>>0];t[l+1>>0]=t[n+1>>0];t[l+2>>0]=t[n+2>>0];t[l+3>>0]=t[n+3>>0];t[l+4>>0]=t[n+4>>0];t[l+5>>0]=t[n+5>>0];t[l+6>>0]=t[n+6>>0];t[l+7>>0]=t[n+7>>0];u=+c[l>>3];a=e+203|0;t[l>>0]=t[a>>0];t[l+1>>0]=t[a+1>>0];t[l+2>>0]=t[a+2>>0];t[l+3>>0]=t[a+3>>0];t[l+4>>0]=t[a+4>>0];t[l+5>>0]=t[a+5>>0];t[l+6>>0]=t[a+6>>0];t[l+7>>0]=t[a+7>>0];o=+c[l>>3];i=e+211|0;t[l>>0]=t[i>>0];t[l+1>>0]=t[i+1>>0];t[l+2>>0]=t[i+2>>0];t[l+3>>0]=t[i+3>>0];t[l+4>>0]=t[i+4>>0];t[l+5>>0]=t[i+5>>0];t[l+6>>0]=t[i+6>>0];t[l+7>>0]=t[i+7>>0];r=+c[l>>3];e=e+219|0;t[l>>0]=t[e>>0];t[l+1>>0]=t[e+1>>0];t[l+2>>0]=t[e+2>>0];t[l+3>>0]=t[e+3>>0];t[l+4>>0]=t[e+4>>0];t[l+5>>0]=t[e+5>>0];t[l+6>>0]=t[e+6>>0];t[l+7>>0]=t[e+7>>0];A=+c[l>>3];c[l>>3]=b;t[d>>0]=t[l>>0];t[d+1>>0]=t[l+1>>0];t[d+2>>0]=t[l+2>>0];t[d+3>>0]=t[l+3>>0];t[d+4>>0]=t[l+4>>0];t[d+5>>0]=t[l+5>>0];t[d+6>>0]=t[l+6>>0];t[d+7>>0]=t[l+7>>0];c[l>>3]=s;t[a>>0]=t[l>>0];t[a+1>>0]=t[l+1>>0];t[a+2>>0]=t[l+2>>0];t[a+3>>0]=t[l+3>>0];t[a+4>>0]=t[l+4>>0];t[a+5>>0]=t[l+5>>0];t[a+6>>0]=t[l+6>>0];t[a+7>>0]=t[l+7>>0];c[l>>3]=o;t[f>>0]=t[l>>0];t[f+1>>0]=t[l+1>>0];t[f+2>>0]=t[l+2>>0];t[f+3>>0]=t[l+3>>0];t[f+4>>0]=t[l+4>>0];t[f+5>>0]=t[l+5>>0];t[f+6>>0]=t[l+6>>0];t[f+7>>0]=t[l+7>>0];c[l>>3]=u;t[i>>0]=t[l>>0];t[i+1>>0]=t[l+1>>0];t[i+2>>0]=t[l+2>>0];t[i+3>>0]=t[l+3>>0];t[i+4>>0]=t[l+4>>0];t[i+5>>0]=t[l+5>>0];t[i+6>>0]=t[l+6>>0];t[i+7>>0]=t[l+7>>0];c[l>>3]=A;t[n>>0]=t[l>>0];t[n+1>>0]=t[l+1>>0];t[n+2>>0]=t[l+2>>0];t[n+3>>0]=t[l+3>>0];t[n+4>>0]=t[l+4>>0];t[n+5>>0]=t[l+5>>0];t[n+6>>0]=t[l+6>>0];t[n+7>>0]=t[l+7>>0];c[l>>3]=r;t[e>>0]=t[l>>0];t[e+1>>0]=t[l+1>>0];t[e+2>>0]=t[l+2>>0];t[e+3>>0]=t[l+3>>0];t[e+4>>0]=t[l+4>>0];t[e+5>>0]=t[l+5>>0];t[e+6>>0]=t[l+6>>0];t[e+7>>0]=t[l+7>>0];return}function Pn(){var n=0,e=0,r=0,A=0,u=0,f=0,o=0,c=0;u=$;$=$+48|0;r=u+24|0;A=u;n=u+44|0;if((t[21440]|0)==0?Jh(21440)|0:0){i[5374]=0;i[5375]=0;i[5376]=0;Sh(21440)}if((t[21448]|0)==0?Jh(21448)|0:0)Sh(21448);if((i[5374]|0)==(i[5375]|0)){oZ(21508);if((i[5374]|0)==(i[5375]|0)){t[r>>0]=t[n>>0]|0;fe(A,r);n=i[5375]|0;do{if(n>>>0>=(i[5376]|0)>>>0){n=((n-(i[5374]|0)|0)/24|0)+1|0;e=he(21496)|0;if(e>>>0<n>>>0)_Z(21496);else{f=i[5374]|0;c=((i[5376]|0)-f|0)/24|0;o=c<<1;se(r,c>>>0<e>>>1>>>0?o>>>0<n>>>0?n:o:e,((i[5375]|0)-f|0)/24|0,21504);e=r+8|0;le(i[e>>2]|0,A);i[e>>2]=(i[e>>2]|0)+24;de(21496,r);be(r);break}}else{oe(r,21496,1);c=r+4|0;le(i[c>>2]|0,A);i[c>>2]=(i[c>>2]|0)+24;ce(r)}}while(0);Kn(A)}cZ(21508)}$=u;return 21496}function $n(n,e){n=n|0;e=e|0;var r=0,t=0;r=e+16|0;t=i[r>>2]|0;do{if(t){if((e|0)==(t|0)){t=ae(n)|0;i[n+16>>2]=t;r=i[r>>2]|0;Hv[i[(i[r>>2]|0)+12>>2]&15](r,t);break}else{i[n+16>>2]=xv[i[(i[t>>2]|0)+8>>2]&15](t)|0;break}}else i[n+16>>2]=0}while(0);return}function Ln(n,e){n=n|0;e=e|0;n=i[n+16>>2]|0;if(!n){e=X(4)|0;i[e>>2]=0;Ne(e);F(e|0,4168,131)}else{Hv[i[(i[n>>2]|0)+24>>2]&15](n,e);return}}function Kn(n){n=n|0;var e=0;e=i[n+16>>2]|0;if((n|0)!=(e|0)){if(e|0)Sv[i[(i[e>>2]|0)+20>>2]&255](e)}else Sv[i[(i[e>>2]|0)+16>>2]&255](e);return}function qn(n){n=n|0;var e=0,r=0,A=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;Z=$;$=$+96|0;o=Z+16|0;b=Z;a=Z+72|0;c=i[n>>2]|0;s=f[n+114>>1]|0;d=b;i[d>>2]=0;i[d+4>>2]=0;d=b+8|0;i[d>>2]=s;i[d+4>>2]=0;i[o>>2]=i[b>>2];i[o+4>>2]=i[b+4>>2];i[o+8>>2]=i[b+8>>2];i[o+12>>2]=i[b+12>>2];_n(c,o);c=n+120|0;n:do{if(i[c>>2]|0){l=o+2|0;s=o+16|0;d=o+20|0;b=o+18|0;r=0;while(1){if(!(ge(i[n>>2]|0)|0))break n;if(Te(i[n>>2]|0)|0)break n;Hn(i[n>>2]|0,o,54);e=7277;A=l;while(1){if((t[A>>0]|0)!=(t[e>>0]|0))break;A=A+1|0;if((A|0)==(s|0)){h=8;break}else e=e+1|0}if((h|0)==8?(h=0,(u[b>>0]|u[b+1>>0]<<8)<<16>>16==22204):0)break;Be(i[n>>2]|0,(u[d>>0]|u[d+1>>0]<<8)&65535,0,1);r=r+1|0;if(r>>>0>=(i[c>>2]|0)>>>0)break n}b=(u[d>>0]|u[d+1>>0]<<8)&65535;h=$h(b)|0;Hn(i[n>>2]|0,h,b);Me(n,h);nh(h);h=n+125|0;Ye(a,n+247|0,(u[h>>0]|u[h+1>>0]<<8)&65535);Ee(n+300|0,a)|0;Tn(a);$=Z;return}}while(0);Z=X(8)|0;Je(Z);F(Z|0,2672,8)}function ne(n){n=n|0;var e=0,r=0,t=0,A=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;d=$;$=$+176|0;A=d+40|0;f=d+24|0;e=d+16|0;t=d;l=d+152|0;a=d+136|0;s=d+56|0;c=i[n>>2]|0;o=n+116|0;b=i[o>>2]|0;r=f;i[r>>2]=0;i[r+4>>2]=0;r=f+8|0;i[r>>2]=b;i[r+4>>2]=0;i[A>>2]=i[f>>2];i[A+4>>2]=i[f+4>>2];i[A+8>>2]=i[f+8>>2];i[A+12>>2]=i[f+12>>2];_n(c,A);c=e;i[c>>2]=0;i[c+4>>2]=0;Hn(i[n>>2]|0,e,8);if(!(ge(i[n>>2]|0)|0)){b=X(8)|0;qe(b);F(b|0,2704,8)}r=e;e=i[r>>2]|0;r=i[r+4>>2]|0;if((e|0)==-1&(r|0)==-1){b=X(8)|0;nr(b,7488);F(b|0,2720,8)}b=i[n>>2]|0;c=t;i[c>>2]=0;i[c+4>>2]=0;c=t+8|0;i[c>>2]=e;i[c+4>>2]=r;i[A>>2]=i[t>>2];i[A+4>>2]=i[t+4>>2];i[A+8>>2]=i[t+8>>2];i[A+12>>2]=i[t+12>>2];_n(b,A);if(!(ge(i[n>>2]|0)|0)){b=X(8)|0;qe(b);F(b|0,2704,8)}Hn(i[n>>2]|0,A,8);if(!(ge(i[n>>2]|0)|0)){b=X(8)|0;qe(b);F(b|0,2704,8)}if(i[A>>2]|0){b=X(8)|0;er(b);F(b|0,2736,8)}f=n+288|0;c=n+292|0;i[c>>2]=i[f>>2];b=n+259|0;if((u[b>>0]|u[b+1>>0]<<8|u[b+2>>0]<<16|u[b+3>>0]<<24|0)==-1){b=X(8)|0;nr(b,7606);F(b|0,2720,8)}t=A+4|0;rr(f,(i[t>>2]|0)+1|0);b=i[f>>2]|0;i[b>>2]=(i[o>>2]|0)+8;i[b+4>>2]=0;if((i[t>>2]|0)>>>0>1){xn(l,i[n>>2]|0);tr(a,l);Ar(s,32,2,8,0);ir(a);ur(s);if(!(i[t>>2]|0)){f=i[f>>2]|0;r=f}else{r=1;do{if(r>>>0>1)e=i[(i[f>>2]|0)+(r+-1<<3)>>2]|0;else e=0;o=fr(s,a,e,1)|0;e=i[f>>2]|0;b=e+(r<<3)|0;i[b>>2]=o;i[b+4>>2]=((o|0)<0)<<31>>31;r=r+1|0}while(r>>>0<=(i[t>>2]|0)>>>0);r=e;f=e}e=i[c>>2]|0;if(e-r>>3>>>0>1){A=e-f>>3;t=f;e=1;r=i[t>>2]|0;t=i[t+4>>2]|0;do{b=f+(e<<3)|0;c=b;r=rv(i[c>>2]|0,i[c+4>>2]|0,r|0,t|0)|0;t=W()|0;i[b>>2]=r;i[b+4>>2]=t;e=e+1|0}while(e>>>0<A>>>0)}or(s);cr(a);Bn(l)}$=d;return}function ee(n){n=n|0;t[n+12>>0]=0;t[n+13>>0]=0;return}function re(n){n=n|0;i[n+8>>2]=0;i[n+4>>2]=0;return}function te(n){n=n|0;return $d(n)|0}function Ae(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;o=$;$=$+16|0;u=e;f=o;A=r-u|0;if(A>>>0>4294967279)hZ(n);if(A>>>0<11)t[n+11>>0]=A;else{l=A+16&-16;c=Ph(l)|0;i[n>>2]=c;i[n+8>>2]=l|-2147483648;i[n+4>>2]=A;n=c}if((e|0)!=(r|0)){u=r-u|0;A=n;while(1){ie(A,e);e=e+1|0;if((e|0)==(r|0))break;else A=A+1|0}n=n+u|0}t[f>>0]=0;ie(n,f);$=o;return}function ie(n,e){n=n|0;e=e|0;t[n>>0]=t[e>>0]|0;return}function ue(n){n=n|0;hh(n);nh(n);return}function fe(n,e){n=n|0;e=e|0;i[n>>2]=4372;i[n+16>>2]=n;return}function oe(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r*24|0);return}function ce(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function le(n,e){n=n|0;e=e|0;var r=0,t=0;r=e+16|0;t=i[r>>2]|0;do{if(t){if((e|0)==(t|0)){t=ae(n)|0;i[n+16>>2]=t;r=i[r>>2]|0;Hv[i[(i[r>>2]|0)+12>>2]&15](r,t);break}else{i[n+16>>2]=t;i[r>>2]=0;break}}else i[n+16>>2]=0}while(0);return}function ae(n){n=n|0;return n|0}function se(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>178956970){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e*24|0)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r*24|0)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e*24|0);return}function de(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;o=i[n>>2]|0;c=n+4|0;r=i[c>>2]|0;f=e+4|0;if((r|0)==(o|0)){A=f;u=n;t=i[f>>2]|0;r=o}else{t=i[f>>2]|0;do{r=r+-24|0;le(t+-24|0,r);t=(i[f>>2]|0)+-24|0;i[f>>2]=t}while((r|0)!=(o|0));A=f;u=n;r=i[n>>2]|0}i[u>>2]=t;i[A>>2]=r;o=e+8|0;f=i[c>>2]|0;i[c>>2]=i[o>>2];i[o>>2]=f;o=n+8|0;c=e+12|0;n=i[o>>2]|0;i[o>>2]=i[c>>2];i[c>>2]=n;i[e>>2]=i[A>>2];return}function be(n){n=n|0;var e=0,r=0,t=0,A=0;r=i[n+4>>2]|0;t=n+8|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{A=e+-24|0;i[t>>2]=A;Kn(A);e=i[t>>2]|0}while((e|0)!=(r|0));e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function he(n){n=n|0;return 178956970}function Ze(n){n=n|0;nh(n);return}function ve(n){n=n|0;n=Ph(8)|0;i[n>>2]=4372;return n|0}function me(n,e){n=n|0;e=e|0;i[e>>2]=4372;return}function Ve(n){n=n|0;return}function pe(n){n=n|0;yn(n,8);return}function ye(n,e){n=n|0;e=e|0;we(n+4|0,e);return}function Re(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==7183?n+4|0:0)|0}function We(n){n=n|0;return 2664}function Xe(n){n=n|0;return}function we(n,e){n=n|0;e=e|0;Fe(n,e);return}function Fe(n,e){n=n|0;e=e|0;var r=0,A=0;n=e+104|0;e=u[n>>0]|0;r=e>>>7;A=e>>>6&1;if((r|0)==1&(A|0)!=0){A=X(8)|0;ke(A);F(A|0,2632,8)}if((r|0)==(A|0)){A=X(8)|0;Ue(A);F(A|0,2648,8)}else{t[n>>0]=e&63;return}}function ke(n){n=n|0;bZ(n,7076);i[n>>2]=4416;return}function Ue(n){n=n|0;bZ(n,7144);i[n>>2]=4436;return}function Ge(n){n=n|0;hh(n);nh(n);return}function ze(n){n=n|0;hh(n);nh(n);return}function Ne(n){n=n|0;i[n>>2]=6092;return}function ge(n){n=n|0;var e=0;e=n+12|0;n=(t[e>>0]|0)==0;t[e>>0]=0;return n|0}function Te(n){n=n|0;return(t[n+13>>0]|0)!=0|0}function Me(n,e){n=n|0;e=e|0;n=n+247|0;xe(n,e);if((u[n>>0]|u[n+1>>0]<<8)<<16>>16==2)return;else{e=X(8)|0;Oe(e);F(e|0,2688,8)}}function Be(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0;switch(A|0){case 0:break;case 2:{A=i[n+4>>2]|0;e=rv(rv(e|0,r|0,-1,-1)|0,W()|0,A|0,((A|0)<0)<<31>>31|0)|0;r=W()|0;break}case 1:{A=i[n+8>>2]|0;e=rv(A|0,((A|0)<0)<<31>>31|0,e|0,r|0)|0;r=W()|0;break}default:{r=0;e=0}}u=i[n+4>>2]|0;f=((u|0)<0)<<31>>31;A=n+12|0;if((r|0)<0|((r|0)>(f|0)|(r|0)==(f|0)&e>>>0>=u>>>0))t[A>>0]=1;else{t[A>>0]=0;i[n+8>>2]=e}return}function Je(n){n=n|0;bZ(n,7410);i[n>>2]=4476;return}function Ye(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,i=0,f=0,o=0,c=0,l=0;f=$;$=$+16|0;i=f;Cn(n);A=e+32|0;if((u[A>>0]|u[A+1>>0]<<8)<<16>>16){t=e+34|0;e=0;do{c=u[t>>0]|u[t+1>>0]<<8|u[t+2>>0]<<16|u[t+3>>0]<<24;l=c+(e*6|0)|0;o=c+(e*6|0)+2|0;c=c+(e*6|0)+4|0;Se(i,(u[l>>0]|u[l+1>>0]<<8)&65535,(u[o>>0]|u[o+1>>0]<<8)&65535,(u[c>>0]|u[c+1>>0]<<8)&65535);Ie(n,i);r=r-((u[o>>0]|u[o+1>>0]<<8)&65535)|0;e=e+1|0}while(e>>>0<((u[A>>0]|u[A+1>>0]<<8)&65535)>>>0)}if((r|0)<0){l=X(8)|0;Oe(l);F(l|0,2688,8)}if(r|0){Se(i,0,r,2);Ie(n,i)}$=f;return}function Ee(n,e){n=n|0;e=e|0;var r=0,A=0;r=$;$=$+16|0;A=r+1|0;t[A>>0]=t[r>>0]|0;Le(n,e,A);$=r;return n|0}function xe(n,e){n=n|0;e=e|0;var r=0,A=0,i=0,f=0,o=0,c=0,l=0;A=e+2|0;f=u[e>>0]|u[e+1>>0]<<8;t[n>>0]=f;t[n+1>>0]=f>>8;f=n+2|0;A=u[A>>0]|u[A+1>>0]<<8;t[f>>0]=A;t[f+1>>0]=A>>8;t[n+4>>0]=t[e+4>>0]|0;f=e+6|0;t[n+5>>0]=t[e+5>>0]|0;A=e+8|0;r=n+6|0;f=u[f>>0]|u[f+1>>0]<<8;t[r>>0]=f;t[r+1>>0]=f>>8;r=e+12|0;f=n+8|0;A=u[A>>0]|u[A+1>>0]<<8|u[A+2>>0]<<16|u[A+3>>0]<<24;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;f=n+12|0;r=u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24;t[f>>0]=r;t[f+1>>0]=r>>8;t[f+2>>0]=r>>16;t[f+3>>0]=r>>24;f=e+16|0;r=f;r=u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24;f=f+4|0;f=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24;A=n+16|0;o=A;t[o>>0]=r;t[o+1>>0]=r>>8;t[o+2>>0]=r>>16;t[o+3>>0]=r>>24;A=A+4|0;t[A>>0]=f;t[A+1>>0]=f>>8;t[A+2>>0]=f>>16;t[A+3>>0]=f>>24;A=e+32|0;f=e+24|0;o=f;o=u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24;f=f+4|0;f=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24;r=n+24|0;i=r;t[i>>0]=o;t[i+1>>0]=o>>8;t[i+2>>0]=o>>16;t[i+3>>0]=o>>24;r=r+4|0;t[r>>0]=f;t[r+1>>0]=f>>8;t[r+2>>0]=f>>16;t[r+3>>0]=f>>24;r=e+34|0;f=n+32|0;A=u[A>>0]|u[A+1>>0]<<8;t[f>>0]=A;t[f+1>>0]=A>>8;i=n+34|0;n=u[i>>0]|u[i+1>>0]<<8|u[i+2>>0]<<16|u[i+3>>0]<<24;if(!n)n=A;else{Lh(n);n=u[f>>0]|u[f+1>>0]<<8}A=$h((n&65535)*6|0)|0;t[i>>0]=A;t[i+1>>0]=A>>8;t[i+2>>0]=A>>16;t[i+3>>0]=A>>24;if(n<<16>>16?(n=e+36|0,o=u[r>>0]|u[r+1>>0]<<8,t[A>>0]=o,t[A+1>>0]=o>>8,e=e+38|0,o=A+2|0,n=u[n>>0]|u[n+1>>0]<<8,t[o>>0]=n,t[o+1>>0]=n>>8,o=A+4|0,e=u[e>>0]|u[e+1>>0]<<8,t[o>>0]=e,t[o+1>>0]=e>>8,((u[f>>0]|u[f+1>>0]<<8)&65535)>1):0){n=1;do{e=r;r=r+6|0;o=u[i>>0]|u[i+1>>0]<<8|u[i+2>>0]<<16|u[i+3>>0]<<24;c=e+8|0;A=o+(n*6|0)|0;l=u[r>>0]|u[r+1>>0]<<8;t[A>>0]=l;t[A+1>>0]=l>>8;e=e+10|0;A=o+(n*6|0)+2|0;c=u[c>>0]|u[c+1>>0]<<8;t[A>>0]=c;t[A+1>>0]=c>>8;o=o+(n*6|0)+4|0;e=u[e>>0]|u[e+1>>0]<<8;t[o>>0]=e;t[o+1>>0]=e>>8;n=n+1|0}while(n>>>0<((u[f>>0]|u[f+1>>0]<<8)&65535)>>>0)}return}function Oe(n){n=n|0;bZ(n,7354);i[n>>2]=4456;return}function Ce(n){n=n|0;hh(n);nh(n);return}function je(n){n=n|0;hh(n);nh(n);return}function Ie(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0;o=$;$=$+32|0;A=o;u=n+4|0;r=i[u>>2]|0;f=n+8|0;do{if((r|0)==(i[f>>2]|0)){r=((r-(i[n>>2]|0)|0)/12|0)+1|0;t=$e(n)|0;if(t>>>0<r>>>0)_Z(n);else{c=i[n>>2]|0;l=((i[f>>2]|0)-c|0)/12|0;f=l<<1;_e(A,l>>>0<t>>>1>>>0?f>>>0<r>>>0?r:f:t,((i[u>>2]|0)-c|0)/12|0,n+8|0);f=A+8|0;u=i[f>>2]|0;i[u>>2]=i[e>>2];i[u+4>>2]=i[e+4>>2];i[u+8>>2]=i[e+8>>2];i[f>>2]=(i[f>>2]|0)+12;De(n,A);Pe(A);break}}else{He(A,n,1);l=A+4|0;c=i[l>>2]|0;i[c>>2]=i[e>>2];i[c+4>>2]=i[e+4>>2];i[c+8>>2]=i[e+8>>2];i[l>>2]=(i[l>>2]|0)+12;Qe(A)}}while(0);$=o;return}function Se(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;i[n>>2]=e;i[n+4>>2]=r;i[n+8>>2]=t;return}function He(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r*12|0);return}function Qe(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function _e(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>357913941){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e*12|0)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r*12|0)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e*12|0);return}function De(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;t=i[n>>2]|0;f=n+4|0;u=e+4|0;A=(i[f>>2]|0)-t|0;r=(i[u>>2]|0)+(((A|0)/-12|0)*12|0)|0;i[u>>2]=r;if((A|0)>0){av(r|0,t|0,A|0)|0;t=u;r=i[u>>2]|0}else t=u;u=i[n>>2]|0;i[n>>2]=r;i[t>>2]=u;u=e+8|0;A=i[f>>2]|0;i[f>>2]=i[u>>2];i[u>>2]=A;u=n+8|0;f=e+12|0;n=i[u>>2]|0;i[u>>2]=i[f>>2];i[f>>2]=n;i[e>>2]=i[t>>2];return}function Pe(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~(((t+-12-e|0)>>>0)/12|0)*12|0);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function $e(n){n=n|0;return 357913941}function Le(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;Ke(n);i[n>>2]=i[e>>2];r=e+4|0;i[n+4>>2]=i[r>>2];t=e+8|0;i[n+8>>2]=i[t>>2];i[t>>2]=0;i[r>>2]=0;i[e>>2]=0;return}function Ke(n){n=n|0;var e=0,r=0,t=0,A=0;e=i[n>>2]|0;r=e;if(e|0){t=n+4|0;i[t>>2]=r;A=n+8|0;yn(e,(i[A>>2]|0)-r|0);i[A>>2]=0;i[t>>2]=0;i[n>>2]=0}return}function qe(n){n=n|0;bZ(n,7660);i[n>>2]=4496;return}function nr(n,e){n=n|0;e=e|0;bZ(n,e);i[n>>2]=4516;return}function er(n){n=n|0;bZ(n,7704);i[n>>2]=4536;return}function rr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0;r=n+4|0;A=i[n>>2]|0;t=(i[r>>2]|0)-A>>3;if(t>>>0>=e>>>0){if(t>>>0>e>>>0)i[r>>2]=A+(e<<3)}else dr(n,e-t|0);return}function tr(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=0;i[n+8>>2]=-1;return}function Ar(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0;i[n+4>>2]=e;i[n+8>>2]=r;i[n+12>>2]=t;i[n+16>>2]=A;i[n+36>>2]=0;i[n+40>>2]=0;i[n+44>>2]=0;Xr(n+48|0);i[n+68>>2]=0;i[n+72>>2]=0;i[n+76>>2]=0;do{if(!A){r=n+20|0;if((e+-1|0)>>>0<31){i[r>>2]=e;A=1<<e;i[n+24>>2]=A;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0;break}else{i[r>>2]=32;i[n+24>>2]=0;i[n+28>>2]=-2147483648;r=2147483647;break}}else{t=n+20|0;i[t>>2]=0;i[n+24>>2]=A;r=A;u=0;while(1){r=r>>>1;e=u+1|0;if(!r)break;else u=e}i[t>>2]=(1<<u|0)==(A|0)?u:e;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0}}while(0);i[n+32>>2]=r;i[n>>2]=0;return}function ir(n){n=n|0;var e=0;e=((kr(i[n>>2]|0)|0)&255)<<24;e=((kr(i[n>>2]|0)|0)&255)<<16|e;e=e|((kr(i[n>>2]|0)|0)&255)<<8;i[n+4>>2]=e|(kr(i[n>>2]|0)|0)&255;return}function ur(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0;Z=$;$=$+64|0;b=Z+44|0;h=Z;l=n+36|0;a=n+40|0;n:do{if((i[l>>2]|0)==(i[a>>2]|0)){s=n+8|0;e:do{if(!(i[s>>2]|0))d=n+20|0;else{A=n+20|0;u=n+44|0;f=b+4|0;o=n+44|0;c=b+8|0;t=0;while(1){gr(h,(i[A>>2]|0)+1|0,0,0);e=i[a>>2]|0;if(e>>>0<(i[u>>2]|0)>>>0){Tr(b,l,1);Br(i[f>>2]|0,h);i[f>>2]=(i[f>>2]|0)+44;Mr(b)}else{e=((e-(i[l>>2]|0)|0)/44|0)+1|0;r=xr(l)|0;if(r>>>0<e>>>0)break;v=i[l>>2]|0;V=((i[u>>2]|0)-v|0)/44|0;m=V<<1;Jr(b,V>>>0<r>>>1>>>0?m>>>0<e>>>0?e:m:r,((i[a>>2]|0)-v|0)/44|0,o);Br(i[c>>2]|0,h);i[c>>2]=(i[c>>2]|0)+44;Yr(l,b);Er(b)}Fr(h);t=t+1|0;if(t>>>0>=(i[s>>2]|0)>>>0){d=A;break e}}_Z(l)}}while(0);if(i[d>>2]|0){f=n+12|0;o=n+68|0;c=n+72|0;l=n+76|0;a=b+4|0;A=n+76|0;u=b+8|0;t=1;while(1){e=i[f>>2]|0;gr(h,1<<(t>>>0>e>>>0?e:t),0,0);e=i[c>>2]|0;if(e>>>0<(i[l>>2]|0)>>>0){Tr(b,o,1);Br(i[a>>2]|0,h);i[a>>2]=(i[a>>2]|0)+44;Mr(b)}else{e=((e-(i[o>>2]|0)|0)/44|0)+1|0;r=xr(o)|0;if(r>>>0<e>>>0)break;V=i[o>>2]|0;v=((i[l>>2]|0)-V|0)/44|0;m=v<<1;Jr(b,v>>>0<r>>>1>>>0?m>>>0<e>>>0?e:m:r,((i[c>>2]|0)-V|0)/44|0,A);Br(i[u>>2]|0,h);i[u>>2]=(i[u>>2]|0)+44;Yr(o,b);Er(b)}Fr(h);t=t+1|0;if(t>>>0>(i[d>>2]|0)>>>0)break n}_Z(o)}}}while(0);$=Z;return}function fr(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;r=(jr(n,e,(i[n+36>>2]|0)+(t*44|0)|0)|0)+r|0;e=i[n+24>>2]|0;if((r|0)<0)return r+e|0;else return r-(r>>>0<e>>>0?0:e)|0;return 0}function or(n){n=n|0;wr(n+68|0);wr(n+36|0);return}function cr(n){n=n|0;return}function lr(n){n=n|0;hh(n);nh(n);return}function ar(n){n=n|0;hh(n);nh(n);return}function sr(n){n=n|0;hh(n);nh(n);return}function dr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0;o=$;$=$+32|0;A=o;u=n+8|0;f=n+4|0;r=i[f>>2]|0;do{if((i[u>>2]|0)-r>>3>>>0<e>>>0){r=(r-(i[n>>2]|0)>>3)+e|0;t=yr(n)|0;if(t>>>0<r>>>0)_Z(n);else{c=i[n>>2]|0;l=(i[u>>2]|0)-c|0;u=l>>2;hr(A,l>>3>>>0<t>>>1>>>0?u>>>0<r>>>0?r:u:t,(i[f>>2]|0)-c>>3,n+8|0);Zr(A,e);vr(n,A);mr(A);break}}else br(n,e)}while(0);$=o;return}function br(n,e){n=n|0;e=e|0;var r=0,t=0,A=0;A=$;$=$+16|0;t=A;Vr(t,n,e);n=t+4|0;e=i[n>>2]|0;r=i[t+8>>2]|0;if((e|0)!=(r|0)){r=r+-8-e|0;dv(e|0,0,r+8&-8|0)|0;i[n>>2]=e+((r>>>3)+1<<3)}pr(t);$=A;return}function hr(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>536870911){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e<<3)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r<<3)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e<<3);return}function Zr(n,e){n=n|0;e=e|0;var r=0,t=0;t=$;$=$+16|0;r=t;Rr(r,n+8|0,e);n=i[r>>2]|0;e=i[r+4>>2]|0;if((n|0)!=(e|0)){e=e+-8-n|0;dv(n|0,0,e+8&-8|0)|0;i[r>>2]=n+((e>>>3)+1<<3)}Wr(r);$=t;return}function vr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;t=i[n>>2]|0;f=n+4|0;u=e+4|0;A=(i[f>>2]|0)-t|0;r=(i[u>>2]|0)+(0-(A>>3)<<3)|0;i[u>>2]=r;if((A|0)>0){av(r|0,t|0,A|0)|0;t=u;r=i[u>>2]|0}else t=u;u=i[n>>2]|0;i[n>>2]=r;i[t>>2]=u;u=e+8|0;A=i[f>>2]|0;i[f>>2]=i[u>>2];i[u>>2]=A;u=n+8|0;f=e+12|0;n=i[u>>2]|0;i[u>>2]=i[f>>2];i[f>>2]=n;i[e>>2]=i[t>>2];return}function mr(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~((t+-8-e|0)>>>3)<<3);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function Vr(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r<<3);return}function pr(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function yr(n){n=n|0;return 536870911}function Rr(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=i[e>>2];i[n+4>>2]=(i[e>>2]|0)+(r<<3);i[n+8>>2]=e;return}function Wr(n){n=n|0;i[i[n+8>>2]>>2]=i[n>>2];return}function Xr(n){n=n|0;i[n+12>>2]=1;i[n+16>>2]=2;i[n+8>>2]=4096;i[n+4>>2]=4;i[n>>2]=4;return}function wr(n){n=n|0;var e=0,r=0,t=0;r=i[n>>2]|0;if(r|0){t=n+4|0;e=i[t>>2]|0;if((e|0)==(r|0))e=r;else{do{e=e+-44|0;Fr(e)}while((e|0)!=(r|0));e=i[n>>2]|0}i[t>>2]=r;yn(e,(i[n+8>>2]|0)-e|0)}return}function Fr(n){n=n|0;var e=0;e=i[n+8>>2]|0;if(e|0)En(e);e=i[n+12>>2]|0;if(e|0)En(e);e=i[n+16>>2]|0;if(e|0)En(e);return}function kr(n){n=n|0;var e=0,r=0;r=n+4|0;e=i[r>>2]|0;if((e|0)>=(i[n+8>>2]|0)){Ur(n);e=i[r>>2]|0}n=i[n+12>>2]|0;i[r>>2]=e+1;return t[n+e>>0]|0}function Ur(n){n=n|0;var e=0;i[n+4>>2]=0;Hn(i[n>>2]|0,i[n+12>>2]|0,1048576);e=Gr(i[n>>2]|0)|0;i[n+8>>2]=e;if(!e){e=X(8)|0;zr(e);F(e|0,2752,8)}else return}function Gr(n){n=n|0;return i[n+16>>2]|0}function zr(n){n=n|0;bZ(n,7769);i[n>>2]=4556;return}function Nr(n){n=n|0;hh(n);nh(n);return}function gr(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0,o=0;i[n>>2]=e;t[n+4>>0]=r&1;f=n+8|0;i[f>>2]=0;o=n+12|0;i[o>>2]=0;u=n+16|0;i[u>>2]=0;if((e+-2|0)>>>0>2046){n=X(8)|0;bZ(n,7789);F(n|0,3912,8)}i[n+32>>2]=e+-1;if(e>>>0>16&(r^1)){r=3;while(1)if(1<<r+2>>>0<e>>>0)r=r+1|0;else break;e=1<<r;i[n+36>>2]=e;i[n+40>>2]=15-r;i[u>>2]=Sn((e<<2)+8|0)|0;e=i[n>>2]|0}else{i[u>>2]=0;i[n+40>>2]=0;i[n+36>>2]=0}i[f>>2]=Sn(e<<2)|0;u=Sn(i[n>>2]<<2)|0;i[o>>2]=u;i[n+20>>2]=0;e=i[n>>2]|0;r=n+24|0;i[r>>2]=e;e=(e|0)!=0;if(!A){if(e){e=0;do{i[u+(e<<2)>>2]=1;e=e+1|0}while(e>>>0<(i[n>>2]|0)>>>0)}}else if(e){e=0;do{i[u+(e<<2)>>2]=i[A+(e<<2)>>2];e=e+1|0}while(e>>>0<(i[n>>2]|0)>>>0)}Cr(n);A=((i[n>>2]|0)+6|0)>>>1;i[r>>2]=A;i[n+28>>2]=A;return}function Tr(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r*44|0);return}function Mr(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function Br(n,e){n=n|0;e=e|0;var r=0;i[n>>2]=i[e>>2];t[n+4>>0]=t[e+4>>0]|0;r=e+8|0;i[n+8>>2]=i[r>>2];i[n+12>>2]=i[e+12>>2];i[n+16>>2]=i[e+16>>2];i[n+20>>2]=i[e+20>>2];i[n+24>>2]=i[e+24>>2];i[n+28>>2]=i[e+28>>2];i[n+32>>2]=i[e+32>>2];i[n+36>>2]=i[e+36>>2];i[n+40>>2]=i[e+40>>2];i[r>>2]=0;i[r+4>>2]=0;i[r+8>>2]=0;return}function Jr(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>97612893){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e*44|0)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r*44|0)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e*44|0);return}function Yr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;o=i[n>>2]|0;c=n+4|0;r=i[c>>2]|0;f=e+4|0;if((r|0)==(o|0)){A=f;u=n;t=i[f>>2]|0;r=o}else{t=i[f>>2]|0;do{r=r+-44|0;Or(t+-44|0,r);t=(i[f>>2]|0)+-44|0;i[f>>2]=t}while((r|0)!=(o|0));A=f;u=n;r=i[n>>2]|0}i[u>>2]=t;i[A>>2]=r;o=e+8|0;f=i[c>>2]|0;i[c>>2]=i[o>>2];i[o>>2]=f;o=n+8|0;c=e+12|0;n=i[o>>2]|0;i[o>>2]=i[c>>2];i[c>>2]=n;i[e>>2]=i[A>>2];return}function Er(n){n=n|0;var e=0,r=0,t=0,A=0;r=i[n+4>>2]|0;t=n+8|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{A=e+-44|0;i[t>>2]=A;Fr(A);e=i[t>>2]|0}while((e|0)!=(r|0));e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function xr(n){n=n|0;return 97612893}function Or(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0;r=i[e>>2]|0;i[n>>2]=r;t[n+4>>0]=t[e+4>>0]|0;i[n+20>>2]=i[e+20>>2];i[n+24>>2]=i[e+24>>2];i[n+28>>2]=i[e+28>>2];i[n+32>>2]=i[e+32>>2];f=n+36|0;i[f>>2]=i[e+36>>2];i[n+40>>2]=i[e+40>>2];r=r<<2;A=Sn(r)|0;i[n+8>>2]=A;u=i[n>>2]|0;if(u|0)sv(A|0,i[e+8>>2]|0,u<<2|0)|0;r=Sn(r)|0;i[n+12>>2]=r;A=i[n>>2]|0;if(A|0)sv(r|0,i[e+12>>2]|0,A<<2|0)|0;r=i[f>>2]|0;if(r){A=Sn((r<<2)+8|0)|0;i[n+16>>2]=A;r=(i[f>>2]<<2)+8|0;if(r|0)sv(A|0,i[e+16>>2]|0,r|0)|0}else i[n+16>>2]=0;return}function Cr(n){n=n|0;var e=0,r=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;Z=n+24|0;u=n+20|0;e=(i[u>>2]|0)+(i[Z>>2]|0)|0;i[u>>2]=e;if(e>>>0>32768){i[u>>2]=0;if(!(i[n>>2]|0))e=0;else{A=i[n+12>>2]|0;r=0;do{d=A+(r<<2)|0;e=((i[d>>2]|0)+1|0)>>>1;i[d>>2]=e;e=(i[u>>2]|0)+e|0;i[u>>2]=e;r=r+1|0}while(r>>>0<(i[n>>2]|0)>>>0)}}d=2147483648/(e>>>0)|0;do{if((t[n+4>>0]|0)==0?(b=n+36|0,(i[b>>2]|0)!=0):0){if(i[n>>2]|0){c=i[n+8>>2]|0;l=i[n+12>>2]|0;a=n+40|0;s=n+16|0;e=0;f=0;o=0;do{r=(V(f,d)|0)>>>16;i[c+(o<<2)>>2]=r;f=(i[l+(o<<2)>>2]|0)+f|0;r=r>>>(i[a>>2]|0);if(e>>>0<r>>>0){A=o+-1|0;u=i[s>>2]|0;do{e=e+1|0;i[u+(e<<2)>>2]=A}while((e|0)!=(r|0));e=r}o=o+1|0}while(o>>>0<(i[n>>2]|0)>>>0);r=i[s>>2]|0;i[r>>2]=0;if(e>>>0>(i[b>>2]|0)>>>0){e=n;break}}else{r=i[n+16>>2]|0;i[r>>2]=0;e=0}do{e=e+1|0;i[r+(e<<2)>>2]=(i[n>>2]|0)+-1}while(e>>>0<=(i[b>>2]|0)>>>0);e=n}else h=7}while(0);if((h|0)==7)if(!(i[n>>2]|0))e=n;else{A=i[n+8>>2]|0;u=i[n+12>>2]|0;e=0;r=0;do{i[A+(e<<2)>>2]=(V(r,d)|0)>>>16;r=(i[u+(e<<2)>>2]|0)+r|0;e=e+1|0}while(e>>>0<(i[n>>2]|0)>>>0);e=n}h=((i[Z>>2]|0)*5|0)>>>2;b=(i[e>>2]<<3)+48|0;h=h>>>0>b>>>0?b:h;i[Z>>2]=h;i[n+28>>2]=h;return}function jr(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;r=Ir(e,r)|0;i[n>>2]=r;do{if(r){if(r>>>0>=32){r=i[n+28>>2]|0;break}t=i[n+12>>2]|0;if(r>>>0>t>>>0){t=r-t|0;r=Ir(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;t=r<<t|(Sr(e,t)|0)}else t=Ir(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;r=i[n>>2]|0;if((t|0)<(1<<r+-1|0)){r=t+1+(-1<<r)|0;break}else{r=t+1|0;break}}else r=Hr(e,n+48|0)|0}while(0);return r|0}function Ir(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;d=n+8|0;s=i[d>>2]|0;A=i[e+16>>2]|0;if(A){t=n+4|0;r=i[t>>2]|0;a=s>>>15;i[d>>2]=a;c=(r>>>0)/(a>>>0)|0;o=c>>>(i[e+40>>2]|0);u=i[A+(o<<2)>>2]|0;o=(i[A+(o+1<<2)>>2]|0)+1|0;f=u+1|0;l=i[e+8>>2]|0;if(o>>>0>f>>>0){A=u;u=o;do{f=(u+A|0)>>>1;o=(i[l+(f<<2)>>2]|0)>>>0>c>>>0;A=o?A:f;u=o?f:u;f=A+1|0}while(u>>>0>f>>>0);u=A}A=V(i[l+(u<<2)>>2]|0,a)|0;if((u|0)==(i[e+32>>2]|0))f=s;else f=V(i[l+(f<<2)>>2]|0,a)|0}else{l=s>>>15;i[d>>2]=l;o=i[e>>2]|0;a=i[e+8>>2]|0;t=n+4|0;r=i[t>>2]|0;c=o>>>1;A=0;f=s;u=0;do{b=V(i[a+(c<<2)>>2]|0,l)|0;s=b>>>0>r>>>0;f=s?b:f;A=s?A:b;u=s?u:c;o=s?c:o;c=(u+o|0)>>>1}while((c|0)!=(u|0))}i[t>>2]=r-A;b=f-A|0;i[d>>2]=b;if(b>>>0<16777216)Qr(n);d=(i[e+12>>2]|0)+(u<<2)|0;i[d>>2]=(i[d>>2]|0)+1;d=e+28|0;b=(i[d>>2]|0)+-1|0;i[d>>2]=b;if(!b)Cr(e);return u|0}function Sr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;if(e>>>0>19){r=(_r(n)|0)&65535;return(Sr(n,e+-16|0)|0)<<16|r|0}t=n+4|0;A=i[t>>2]|0;u=n+8|0;r=(i[u>>2]|0)>>>e;i[u>>2]=r;e=(A>>>0)/(r>>>0)|0;i[t>>2]=A-(V(e,r)|0);if(r>>>0<16777216)Qr(n);return e|0}function Hr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0;t=n+8|0;A=i[t>>2]|0;r=V(A>>>13,i[e+8>>2]|0)|0;u=n+4|0;f=i[u>>2]|0;o=f>>>0>=r>>>0;if(o){i[u>>2]=f-r;r=A-r|0;i[t>>2]=r}else{i[t>>2]=r;f=e+12|0;i[f>>2]=(i[f>>2]|0)+1}if(r>>>0<16777216)Qr(n);f=e+4|0;n=(i[f>>2]|0)+-1|0;i[f>>2]=n;if(!n)Dr(e);return o&1|0}function Qr(n){n=n|0;var e=0,r=0,t=0,A=0;e=n+4|0;r=n+8|0;t=i[e>>2]|0;do{t=t<<8|(kr(i[n>>2]|0)|0)&255;i[e>>2]=t;A=i[r>>2]<<8;i[r>>2]=A}while(A>>>0<16777216);return}function _r(n){n=n|0;var e=0,r=0,t=0,A=0;r=n+4|0;A=i[r>>2]|0;e=n+8|0;t=(i[e>>2]|0)>>>16;i[e>>2]=t;e=(A>>>0)/(t>>>0)|0;i[r>>2]=A-(V(e,t)|0);Qr(n);return e&65535|0}function Dr(n){n=n|0;var e=0,r=0,t=0,A=0,u=0;A=i[n>>2]|0;r=n+16|0;e=(i[r>>2]|0)+A|0;i[r>>2]=e;if(e>>>0>8192){t=(e+1|0)>>>1;i[r>>2]=t;u=n+12|0;e=((i[u>>2]|0)+1|0)>>>1;i[u>>2]=e;if((e|0)==(t|0)){e=t+1|0;i[r>>2]=e;r=e;e=t}else r=t}else{r=e;e=i[n+12>>2]|0}i[n+8>>2]=(V(e,2147483648/(r>>>0)|0)|0)>>>18;u=A*5|0;u=u>>>0>259?64:u>>>2;i[n>>2]=u;i[n+4>>2]=u;return}function Pr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;s=$;$=$+32|0;f=s+16|0;o=s+8|0;c=s;l=n+336|0;t=l;A=n+259|0;if(!((i[t+4>>2]|0)==0?(i[t>>2]|0)==(u[A>>0]|u[A+1>>0]<<8|u[A+2>>0]<<16|u[A+3>>0]<<24|0):0)){t=n+320|0;r=i[t>>2]|0;A=r;if(!((r|0)!=0?(i[n+312>>2]|0)!=0:0)){r=A;a=5}}else{t=n+320|0;r=i[n+320>>2]|0;a=5}if((a|0)==5){a=n+320|0;i[f>>2]=r;i[a>>2]=0;r=n+324|0;i[f+4>>2]=i[r>>2];i[r>>2]=0;Nn(f);A=n+312|0;i[f>>2]=i[A>>2];i[A>>2]=0;d=n+316|0;i[f+4>>2]=i[d>>2];i[d>>2]=0;gn(f);b=Ph(12)|0;tr(b,n+4|0);i[c>>2]=0;i[f>>2]=i[c>>2];Lr(o,b,f);b=i[o>>2]|0;i[o>>2]=i[A>>2];i[A>>2]=b;b=o+4|0;c=i[b>>2]|0;i[b>>2]=i[d>>2];i[d>>2]=c;gn(o);$r(o,i[A>>2]|0,n+300|0);A=i[o>>2]|0;d=o+4|0;c=i[d>>2]|0;i[o>>2]=0;i[d>>2]=0;i[f>>2]=i[a>>2];i[a>>2]=A;i[f+4>>2]=i[r>>2];i[r>>2]=c;Nn(f);Nn(o);r=n+328|0;c=r;c=rv(i[c>>2]|0,i[c+4>>2]|0,1,0)|0;a=W()|0;i[r>>2]=c;i[r+4>>2]=a;r=l;i[r>>2]=0;i[r+4>>2]=0;r=i[t>>2]|0}Cv[i[i[r>>2]>>2]&63](r,e)|0;a=l;a=rv(i[a>>2]|0,i[a+4>>2]|0,1,0)|0;d=W()|0;b=l;i[b>>2]=a;i[b+4>>2]=d;$=s;return}function $r(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;f=$;$=$+64|0;t=f+56|0;A=f;u=tt(r)|0;if((u|0)==-1){f=X(8)|0;At(f);F(f|0,2784,8)}r=it(r)|0;n:do{if(!r)switch(u|0){case 0:{u=Ph(4788)|0;ht(u);bt(n,e,u);break n}case 1:{u=Ph(5116)|0;vt(u);Zt(n,e,u);break n}case 2:{u=Ph(5104)|0;Vt(u);mt(n,e,u);break n}case 3:{u=Ph(5432)|0;yt(u);pt(n,e,u);break n}default:{i[n>>2]=0;i[n+4>>2]=0;break n}}else{ut(t,e);ft(i[t>>2]|0);if((u|2|0)==3)ot(i[t>>2]|0);if((u|1|0)==3)ct(i[t>>2]|0);u=i[t>>2]|0;at(A,r);lt(u,A);st(A);i[n>>2]=i[t>>2];u=t+4|0;i[n+4>>2]=i[u>>2];i[t>>2]=0;i[u>>2]=0;dt(t)}}while(0);$=f;return}function Lr(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4576;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Kr(n,t);$=r;return}function Kr(n,e){n=n|0;e=e|0;return}function qr(n){n=n|0;uZ(n);nh(n);return}function nt(n){n=n|0;n=i[n+12>>2]|0;if(n|0){cr(n);nh(n)}return}function et(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==7983?n+12|0:0)|0}function rt(n){n=n|0;yn(n,16);return}function tt(n){n=n|0;var e=0,r=0;e=(i[n+4>>2]|0)-(i[n>>2]|0)|0;n:do{if(((e|0)!=0?(r=((e|0)/12|0)+(((it(n)|0)!=0)<<31>>31)|0,(r|0)!=0):0)?(e=i[n>>2]|0,!(Rt(e,Wt()|0)|0)):0){switch(r|0){case 1:{n=0;break n}case 2:{if(Xt((i[n>>2]|0)+12|0,wt()|0)|0){n=1;break n}if(Xt((i[n>>2]|0)+12|0,Ft()|0)|0){n=2;break n}break}case 3:{if(Xt((i[n>>2]|0)+12|0,wt()|0)|0?(r=(i[n>>2]|0)+24|0,Xt(r,Ft()|0)|0):0){n=3;break n}break}default:{}}n=-1}else n=-1}while(0);return n|0}function At(n){n=n|0;bZ(n,8131);i[n>>2]=4604;return}function it(n){n=n|0;var e=0,r=0;e=i[n+4>>2]|0;if(((e|0)!=(i[n>>2]|0)?(r=e,(i[r+-12>>2]|0)==0):0)?(i[r+-4>>2]|0)==2:0)n=i[r+-8>>2]|0;else n=0;return n|0}function ut(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=$;$=$+16|0;t=r+4|0;u=r;A=Ph(24)|0;Ut(A,e);i[u>>2]=0;i[t>>2]=i[u>>2];Gt(n,A,t);$=r;return}function ft(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(4792)|0;It(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];St(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ot(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(336)|0;QA(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];_A(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ct(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(324)|0;vi(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];mi(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function lt(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;f=c+12|0;o=c;t=c+8|0;u=Ph(64)|0;Ti(u,i[n+4>>2]|0,e);A=n+8|0;i[t>>2]=0;i[f>>2]=i[t>>2];Mi(o,u,f);u=n+12|0;e=i[u>>2]|0;t=n+16|0;do{if(e>>>0>=(i[t>>2]|0)>>>0){e=(e-(i[A>>2]|0)>>3)+1|0;r=$t(A)|0;if(r>>>0<e>>>0)_Z(A);else{l=i[A>>2]|0;a=(i[t>>2]|0)-l|0;t=a>>2;_t(f,a>>3>>>0<r>>>1>>>0?t>>>0<e>>>0?e:t:r,(i[u>>2]|0)-l>>3,n+16|0);n=f+8|0;u=i[n>>2]|0;i[u>>2]=i[o>>2];t=o+4|0;i[u+4>>2]=i[t>>2];i[o>>2]=0;i[t>>2]=0;i[n>>2]=u+8;Dt(A,f);Pt(f);break}}else{Ht(f,A,1);a=f+4|0;l=i[a>>2]|0;i[l>>2]=i[o>>2];n=o+4|0;i[l+4>>2]=i[n>>2];i[o>>2]=0;i[n>>2]=0;i[a>>2]=l+8;Qt(f)}}while(0);Jt(o);$=c;return}function at(n,e){n=n|0;e=e|0;var r=0,A=0;r=$;$=$+48|0;A=r;i[n>>2]=e;t[n+4>>0]=0;Fu(n+8|0,e);Fu(n+20|0,e);gr(A,256,0,0);ku(n+32|0,e,A);Fr(A);$=r;return}function st(n){n=n|0;zu(n+32|0);Ii(n+20|0);Ii(n+8|0);return}function dt(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function bt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;Nu(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];gu(n,u,A);$=t;return}function ht(n){n=n|0;Kt(n);Su(n+4784|0);return}function Zt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;Hu(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];Qu(n,u,A);$=t;return}function vt(n){n=n|0;Kt(n);Af(n+4784|0);return}function mt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;uf(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];ff(n,u,A);$=t;return}function Vt(n){n=n|0;Kt(n);Vf(n+4784|0);return}function pt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;pf(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];yf(n,u,A);$=t;return}function yt(n){n=n|0;Kt(n);Tf(n+4784|0);return}function Rt(n,e){n=n|0;e=e|0;return(Xt(n,e)|0)^1|0}function Wt(){if((t[21456]|0)==0?Jh(21456)|0:0){Se(21536,6,20,2);Sh(21456)}return 21536}function Xt(n,e){n=n|0;e=e|0;if((i[n>>2]|0)==(i[e>>2]|0)?(i[n+8>>2]|0)==(i[e+8>>2]|0):0)n=(i[n+4>>2]|0)==(i[e+4>>2]|0);else n=0;return n|0}function wt(){if((t[21464]|0)==0?Jh(21464)|0:0){Se(21548,7,8,2);Sh(21464)}return 21548}function Ft(){if((t[21472]|0)==0?Jh(21472)|0:0){Se(21560,8,6,2);Sh(21472)}return 21560}function kt(n){n=n|0;hh(n);nh(n);return}function Ut(n,e){n=n|0;e=e|0;zt(n);i[n>>2]=4624;i[n+4>>2]=e;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;t[n+20>>0]=1;return}function Gt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4664;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Et(n,t);$=r;return}function zt(n){n=n|0;i[n>>2]=4644;return}function Nt(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0,c=0,l=0;l=$;$=$+16|0;f=l;r=i[n+8>>2]|0;o=i[n+12>>2]|0;if((r|0)!=(o|0)){c=f+4|0;do{A=i[r>>2]|0;i[f>>2]=A;u=i[r+4>>2]|0;i[c>>2]=u;if(u|0){u=u+4|0;i[u>>2]=(i[u>>2]|0)+1}e=Cv[i[(i[A>>2]|0)+12>>2]&63](A,e)|0;Jt(f);r=r+8|0}while((r|0)!=(o|0))}r=n+20|0;if(t[r>>0]|0){t[r>>0]=0;ir(i[n+4>>2]|0)}$=l;return e|0}function gt(n){n=n|0;i[n>>2]=4624;Yt(n+8|0);Mt(n);return}function Tt(n){n=n|0;gt(n);nh(n);return}function Mt(n){n=n|0;return}function Bt(n){n=n|0;P()}function Jt(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Yt(n){n=n|0;var e=0,r=0,t=0;r=i[n>>2]|0;if(r|0){t=n+4|0;e=i[t>>2]|0;if((e|0)==(r|0))e=r;else{do{e=e+-8|0;Jt(e)}while((e|0)!=(r|0));e=i[n>>2]|0}i[t>>2]=r;yn(e,(i[n+8>>2]|0)-e|0)}return}function Et(n,e){n=n|0;e=e|0;return}function xt(n){n=n|0;uZ(n);nh(n);return}function Ot(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function Ct(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==8546?n+12|0:0)|0}function jt(n){n=n|0;yn(n,16);return}function It(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=4692;i[n+4>>2]=e;Kt(n+8|0);return}function St(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4740;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Ht(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r<<3);return}function Qt(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function _t(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>536870911){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e<<3)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r<<3)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e<<3);return}function Dt(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;o=i[n>>2]|0;c=n+4|0;r=i[c>>2]|0;f=e+4|0;if((r|0)==(o|0)){A=f;u=n;t=i[f>>2]|0;r=o}else{t=i[f>>2]|0;do{u=r;r=r+-8|0;i[t+-8>>2]=i[r>>2];u=u+-4|0;i[t+-4>>2]=i[u>>2];i[r>>2]=0;i[u>>2]=0;t=(i[f>>2]|0)+-8|0;i[f>>2]=t}while((r|0)!=(o|0));A=f;u=n;r=i[n>>2]|0}i[u>>2]=t;i[A>>2]=r;o=e+8|0;f=i[c>>2]|0;i[c>>2]=i[o>>2];i[o>>2]=f;o=n+8|0;c=e+12|0;n=i[o>>2]|0;i[o>>2]=i[c>>2];i[c>>2]=n;i[e>>2]=i[A>>2];return}function Pt(n){n=n|0;var e=0,r=0,t=0,A=0;r=i[n+4>>2]|0;t=n+8|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{A=e+-8|0;i[t>>2]=A;Jt(A);e=i[t>>2]|0}while((e|0)!=(r|0));e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function $t(n){n=n|0;return 536870911}function Lt(n){n=n|0;i[n>>2]=4716;return}function Kt(n){n=n|0;uA(n);fA(n+3980|0);oA(n+4380|0);t[n+4780>>0]=0;t[n+4781>>0]=0;return}function qt(n){n=n|0;i[n>>2]=4692;vA(n+8|0);tA(n);return}function nA(n){n=n|0;qt(n);nh(n);return}function eA(n,e){n=n|0;e=e|0;return e|0}function rA(n,e){n=n|0;e=e|0;return VA(n+8|0,i[n+4>>2]|0,e)|0}function tA(n){n=n|0;return}function AA(n){n=n|0;tA(n);nh(n);return}function iA(n,e){n=n|0;e=e|0;return e|0}function uA(n){n=n|0;var e=0,r=0;aA(n);sA(n+52|0);sA(n+436|0);gr(n+852|0,64,0,0);t[n+3976>>0]=0;e=n+20|0;r=e+32|0;do{A[e>>1]=0;e=e+2|0}while((e|0)<(r|0));e=Ph(44)|0;gr(e,256,0,0);i[n+896>>2]=e;e=Ph(44)|0;gr(e,256,0,0);i[n+900>>2]=e;e=n+820|0;i[e>>2]=0;i[e+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;i[e+16>>2]=0;i[e+20>>2]=0;i[e+24>>2]=0;i[e+28>>2]=0;e=0;do{r=Ph(44)|0;gr(r,256,0,0);i[n+904+(e<<2)>>2]=r;r=Ph(44)|0;gr(r,256,0,0);i[n+1928+(e<<2)>>2]=r;r=Ph(44)|0;gr(r,256,0,0);i[n+2952+(e<<2)>>2]=r;e=e+1|0}while(e>>>0<256);return}function fA(n){n=n|0;hA(n,16,4,8,0);hA(n+80|0,16,1,8,0);hA(n+160|0,32,2,8,0);hA(n+240|0,32,22,8,0);hA(n+320|0,32,20,8,0);return}function oA(n){n=n|0;Ar(n,16,4,8,0);Ar(n+80|0,16,1,8,0);Ar(n+160|0,32,2,8,0);Ar(n+240|0,32,22,8,0);Ar(n+320|0,32,20,8,0);return}function cA(n){n=n|0;ZA(n+320|0);ZA(n+240|0);ZA(n+160|0);ZA(n+80|0);ZA(n);return}function lA(n){n=n|0;var e=0,r=0;e=i[n+896>>2]|0;if(e|0){Fr(e);nh(e)}e=i[n+900>>2]|0;if(e|0){Fr(e);nh(e)}r=0;do{e=i[n+904+(r<<2)>>2]|0;if(e|0){Fr(e);nh(e)}e=i[n+1928+(r<<2)>>2]|0;if(e|0){Fr(e);nh(e)}e=i[n+2952+(r<<2)>>2]|0;if(e|0){Fr(e);nh(e)}r=r+1|0}while((r|0)!=256);Fr(n+852|0);return}function aA(n){n=n|0;var e=0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;e=n+4|0;t[e>>0]=0;t[e+1>>0]=0;t[e+2>>0]=0;t[e+3>>0]=0;n=n+12|0;e=n;t[e>>0]=0;t[e+1>>0]=0;t[e+2>>0]=0;t[e+3>>0]=0;n=n+4|0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;return}function sA(n){n=n|0;var e=0;e=n+384|0;do{dA(n);n=n+24|0}while((n|0)!=(e|0));return}function dA(n){n=n|0;bA(n);return}function bA(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;t[n+20>>0]=1;return}function hA(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0;i[n+4>>2]=e;i[n+8>>2]=r;i[n+12>>2]=t;i[n+16>>2]=A;i[n+36>>2]=0;i[n+40>>2]=0;i[n+44>>2]=0;Xr(n+48|0);i[n+68>>2]=0;i[n+72>>2]=0;i[n+76>>2]=0;do{if(!A){r=n+20|0;if((e+-1|0)>>>0<31){i[r>>2]=e;A=1<<e;i[n+24>>2]=A;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0;break}else{i[r>>2]=32;i[n+24>>2]=0;i[n+28>>2]=-2147483648;r=2147483647;break}}else{t=n+20|0;i[t>>2]=0;i[n+24>>2]=A;r=A;u=0;while(1){r=r>>>1;e=u+1|0;if(!r)break;else u=e}i[t>>2]=(1<<u|0)==(A|0)?u:e;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0}}while(0);i[n+32>>2]=r;i[n>>2]=0;return}function ZA(n){n=n|0;var e=0,r=0,t=0,A=0,u=0;u=n+36|0;r=i[u>>2]|0;t=n+40|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{e=e+-44|0;Fr(e)}while((e|0)!=(r|0));i[t>>2]=r;t=n+68|0;A=i[t>>2]|0;r=n+72|0;e=i[r>>2]|0;if((e|0)!=(A|0))do{e=e+-44|0;Fr(e)}while((e|0)!=(A|0));i[r>>2]=A;wr(t);wr(u);return}function vA(n){n=n|0;mA(n+4380|0);cA(n+3980|0);lA(n);return}function mA(n){n=n|0;or(n+320|0);or(n+240|0);or(n+160|0);or(n+80|0);or(n);return}function VA(n,e,r){n=n|0;e=e|0;r=r|0;var o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+32|0;b=h;o=n+4781|0;if(!(t[o>>0]|0)){pA(n+4380|0);t[o>>0]=1}o=n+3976|0;if(!(t[o>>0]|0)){t[o>>0]=1;RA(yA(e)|0,r,20);WA(b,r);l=n;o=b;c=l+20|0;do{t[l>>0]=t[o>>0]|0;l=l+1|0;o=o+1|0}while((l|0)<(c|0));A[n+12>>1]=0}else{s=Ir(e,n+852|0)|0;if(s){if(s&32|0)wA((Ir(e,i[n+904+(((XA(n)|0)&255)<<2)>>2]|0)|0)&255,n);d=n+14|0;l=t[d>>0]|0;o=l&7;l=(l&255)>>>3&7;c=u[16+(l<<3)+o>>0]|0;o=u[80+(l<<3)+o>>0]|0;if(!(s&16))a=A[n+20+(c<<1)>>1]|0;else{Z=n+20+(c<<1)|0;a=(fr(n+4380|0,e,f[Z>>1]|0,c>>>0<3?c:3)|0)&65535;A[Z>>1]=a}A[n+12>>1]=a;if(s&8|0){Z=n+15|0;t[Z>>0]=Ir(e,i[n+1928+(u[Z>>0]<<2)>>2]|0)|0}if(s&4|0){d=Ir(e,i[n+896+(((u[d>>0]|0)>>>6&1)<<2)>>2]|0)|0;Z=n+16|0;t[Z>>0]=FA(d+(t[Z>>0]|0)|0)|0}if(s&2|0){Z=n+17|0;t[Z>>0]=Ir(e,i[n+2952+(u[Z>>0]<<2)>>2]|0)|0}if(s&1){Z=n+18|0;A[Z>>1]=fr(n+4460|0,e,f[Z>>1]|0,0)|0}}else{Z=t[n+14>>0]|0;o=Z&7;Z=(Z&255)>>>3&7;l=Z;c=u[16+(Z<<3)+o>>0]|0;o=u[80+(Z<<3)+o>>0]|0}a=n+52+(c*24|0)|0;s=n+4540|0;d=(l|0)==1&1;l=fr(s,e,kA(a)|0,d)|0;i[b>>2]=l;i[n>>2]=(i[n>>2]|0)+l;UA(a,b);a=n+436+(c*24|0)|0;l=kA(a)|0;c=GA(s)|0;Z=n+4620|0;c=fr(Z,e,l,(c>>>0<20?c&-2:20)|d)|0;i[b>>2]=c;l=n+4|0;i[l>>2]=(i[l>>2]|0)+c;UA(a,b);b=GA(s)|0;b=(GA(Z)|0)+b|0;Z=n+820+(o<<2)|0;b=fr(n+4700|0,e,i[Z>>2]|0,(b>>>0<36?b>>>1&2147483646:18)|d)|0;i[n+8>>2]=b;i[Z>>2]=b;zA(n,r)}$=h;return r+20|0}function pA(n){n=n|0;ur(n);ur(n+80|0);ur(n+160|0);ur(n+240|0);ur(n+320|0);return}function yA(n){n=n|0;return i[n>>2]|0}function RA(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;l=n+4|0;A=i[l>>2]|0;c=(i[n+8>>2]|0)-A|0;c=c>>>0>r>>>0?r:c;o=n+12|0;u=(i[o>>2]|0)+A|0;f=u+c|0;if(c){A=u;u=e;while(1){t[u>>0]=t[A>>0]|0;A=A+1|0;if((A|0)==(f|0))break;else u=u+1|0}A=i[l>>2]|0}i[l>>2]=A+c;r=r-c|0;if(r|0){Ur(n);u=(i[o>>2]|0)+(i[l>>2]|0)|0;f=u+r|0;A=e+c|0;while(1){t[A>>0]=t[u>>0]|0;u=u+1|0;if((u|0)==(f|0))break;else A=A+1|0}i[l>>2]=(i[l>>2]|0)+r}return}function WA(n,e){n=n|0;e=e|0;aA(n);i[n>>2]=NA(e)|0;i[n+4>>2]=NA(e+4|0)|0;i[n+8>>2]=NA(e+8|0)|0;A[n+12>>1]=gA(e+12|0)|0;wA(TA(e+14|0)|0,n);t[n+15>>0]=TA(e+15|0)|0;t[n+16>>0]=MA(e+16|0)|0;t[n+17>>0]=MA(e+17|0)|0;A[n+18>>1]=gA(e+18|0)|0;return}function XA(n){n=n|0;return t[n+14>>0]|0}function wA(n,e){n=n|0;e=e|0;t[e+14>>0]=n;return}function FA(n){n=n|0;return n&255|0}function kA(n){n=n|0;return i[n+8>>2]|0}function UA(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0,c=0,l=0;l=n+20|0;do{if(!(t[l>>0]|0)){c=n+8|0;r=i[c>>2]|0;A=i[e>>2]|0;u=n+4|0;f=i[u>>2]|0;if((r|0)>=(A|0)){if((f|0)<(A|0)){i[n>>2]=f;i[u>>2]=i[e>>2]}else i[n>>2]=A;t[l>>0]=1;break}i[n>>2]=f;i[u>>2]=r;u=n+16|0;f=i[u>>2]|0;o=i[e>>2]|0;r=n+12|0;A=i[r>>2]|0;if((f|0)<(o|0)){i[c>>2]=A;i[r>>2]=f;i[u>>2]=i[e>>2];break}if((A|0)<(o|0)){i[c>>2]=A;i[r>>2]=i[e>>2];break}else{i[c>>2]=o;break}}else{u=i[e>>2]|0;o=n+8|0;r=i[o>>2]|0;f=n+12|0;A=i[f>>2]|0;if((u|0)>=(r|0)){r=n+16|0;if((u|0)<(A|0)){i[r>>2]=A;i[f>>2]=i[e>>2]}else i[r>>2]=u;t[l>>0]=0;break}i[n+16>>2]=A;i[f>>2]=r;r=i[e>>2]|0;A=i[n>>2]|0;u=n+4|0;f=i[u>>2]|0;if((r|0)<(A|0)){i[o>>2]=f;i[u>>2]=A;i[n>>2]=i[e>>2];break}if((r|0)<(f|0)){i[o>>2]=f;i[u>>2]=i[e>>2];break}else{i[o>>2]=r;break}}}while(0);return}function GA(n){n=n|0;return i[n>>2]|0}function zA(n,e){n=n|0;e=e|0;var r=0;JA(u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24,e);r=n+4|0;JA(u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24,e+4|0);r=n+8|0;JA(u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24,e+8|0);r=n+12|0;YA(u[r>>0]|u[r+1>>0]<<8,e+12|0);EA(XA(n)|0,e+14|0);EA(t[n+15>>0]|0,e+15|0);xA(t[n+16>>0]|0,e+16|0);xA(t[n+17>>0]|0,e+17|0);n=n+18|0;YA(u[n>>0]|u[n+1>>0]<<8,e+18|0);return}function NA(n){n=n|0;return BA(n)|0}function gA(n){n=n|0;return(t[n+1>>0]<<8|u[n>>0])&65535|0}function TA(n){n=n|0;return t[n>>0]|0}function MA(n){n=n|0;return t[n>>0]|0}function BA(n){n=n|0;return(u[n+1>>0]|0)<<8|(u[n>>0]|0)|(u[n+2>>0]|0)<<16|(u[n+3>>0]|0)<<24|0}function JA(n,e){n=n|0;e=e|0;OA(n,e);return}function YA(n,e){n=n|0;e=e|0;t[e+1>>0]=(n&65535)>>>8;t[e>>0]=n;return}function EA(n,e){n=n|0;e=e|0;t[e>>0]=n;return}function xA(n,e){n=n|0;e=e|0;t[e>>0]=n;return}function OA(n,e){n=n|0;e=e|0;t[e+3>>0]=n>>>24;t[e+2>>0]=n>>>16;t[e+1>>0]=n>>>8;t[e>>0]=n;return}function CA(n,e){n=n|0;e=e|0;return}function jA(n){n=n|0;uZ(n);nh(n);return}function IA(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function SA(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==9202?n+12|0:0)|0}function HA(n){n=n|0;yn(n,16);return}function QA(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=4768;i[n+4>>2]=e;DA(n+8|0);return}function _A(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4792;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function DA(n){n=n|0;KA(n);qA(n+164|0);ni(n+244|0);t[n+324>>0]=0;t[n+325>>0]=0;return}function PA(n){n=n|0;i[n>>2]=4768;ii(n+8|0);tA(n);return}function $A(n){n=n|0;PA(n);nh(n);return}function LA(n,e){n=n|0;e=e|0;return fi(n+8|0,i[n+4>>2]|0,e)|0}function KA(n){n=n|0;var e=0,r=0,A=0,u=0,f=0,o=0,c=0;f=$;$=$+16|0;A=f;t[n>>0]=0;gr(n+4|0,516,0,0);gr(n+48|0,6,0,0);i[n+92>>2]=0;i[n+96>>2]=0;r=n+100|0;ti(r);Ai(A);u=i[A>>2]|0;A=i[A+4>>2]|0;e=4;while(1){o=r;c=o;t[c>>0]=u;t[c+1>>0]=u>>8;t[c+2>>0]=u>>16;t[c+3>>0]=u>>24;o=o+4|0;t[o>>0]=A;t[o+1>>0]=A>>8;t[o+2>>0]=A>>16;t[o+3>>0]=A>>24;e=e+-1|0;if(!e)break;else r=r+8|0}c=n+132|0;i[c>>2]=0;i[c+4>>2]=0;i[c+8>>2]=0;i[c+12>>2]=0;i[c+16>>2]=0;i[c+20>>2]=0;i[c+24>>2]=0;i[c+28>>2]=0;$=f;return}function qA(n){n=n|0;hA(n,32,9,8,0);return}function ni(n){n=n|0;Ar(n,32,9,8,0);return}function ei(n){n=n|0;ZA(n);return}function ri(n){n=n|0;Fr(n+48|0);Fr(n+4|0);return}function ti(n){n=n|0;var e=0;e=n+32|0;do{Ai(n);n=n+8|0}while((n|0)!=(e|0));return}function Ai(n){n=n|0;var e=0;e=n;t[e>>0]=0;t[e+1>>0]=0;t[e+2>>0]=0;t[e+3>>0]=0;n=n+4|0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;return}function ii(n){n=n|0;ui(n+244|0);ei(n+164|0);ri(n);return}function ui(n){n=n|0;or(n);return}function fi(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,f=0,o=0,c=0,l=0;A=n+325|0;if(!(t[A>>0]|0)){oi(n+244|0);t[A>>0]=1}if(!(t[n>>0]|0)){t[n>>0]=1;RA(yA(e)|0,r,8);o=ci(r)|0;c=W()|0;n=n+100|0;e=n;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;n=n+4|0;t[n>>0]=c;t[n+1>>0]=c>>8;t[n+2>>0]=c>>16;t[n+3>>0]=c>>24}else{c=n+92|0;n:do{if(!(i[n+132+(i[c>>2]<<2)>>2]|0)){A=Ir(e,n+48|0)|0;switch(A|0){case 1:{e=fr(n+244|0,e,0,0)|0;i[n+132+(i[c>>2]<<2)>>2]=e;e=i[c>>2]|0;l=i[n+132+(e<<2)>>2]|0;o=n+100+(e<<3)|0;f=o;A=f;f=f+4|0;l=rv(u[A>>0]|u[A+1>>0]<<8|u[A+2>>0]<<16|u[A+3>>0]<<24|0,u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|0,l|0,((l|0)<0)<<31>>31|0)|0;f=W()|0;A=o;t[A>>0]=l;t[A+1>>0]=l>>8;t[A+2>>0]=l>>16;t[A+3>>0]=l>>24;o=o+4|0;t[o>>0]=f;t[o+1>>0]=f>>8;t[o+2>>0]=f>>16;t[o+3>>0]=f>>24;i[n+148+(e<<2)>>2]=0;break n}case 2:{l=n+96|0;i[l>>2]=(i[l>>2]|0)+1&3;o=n+100+(i[c>>2]<<3)+4|0;o=fr(n+244|0,e,u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24,8)|0;A=n+100+(i[l>>2]<<3)|0;f=A;t[f>>0]=0;t[f+1>>0]=0;t[f+2>>0]=0;t[f+3>>0]=0;A=A+4|0;t[A>>0]=o;t[A+1>>0]=o>>8;t[A+2>>0]=o>>16;t[A+3>>0]=o>>24;A=li(e)|0;l=i[l>>2]|0;e=n+100+(l<<3)|0;o=e;f=o;o=o+4|0;o=u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24;A=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|A;f=e;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;e=e+4|0;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;i[c>>2]=l;i[n+132+(l<<2)>>2]=0;i[n+148+(i[c>>2]<<2)>>2]=0;break n}default:{if((A|0)<=2)break n;i[c>>2]=A+2+(i[c>>2]|0)&3;fi(n,e,r)|0;break n}}}else{o=Ir(e,n+4|0)|0;if((o|0)==1){A=fr(n+244|0,e,i[n+132+(i[c>>2]<<2)>>2]|0,1)|0;l=i[c>>2]|0;e=n+100+(l<<3)|0;o=e;f=o;o=o+4|0;A=rv(u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|0,u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24|0,A|0,((A|0)<0)<<31>>31|0)|0;o=W()|0;f=e;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;e=e+4|0;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;i[n+148+(l<<2)>>2]=0;break}if((o|0)>=511){if((o|0)==512){l=n+96|0;i[l>>2]=(i[l>>2]|0)+1&3;o=n+100+(i[c>>2]<<3)+4|0;o=fr(n+244|0,e,u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24,8)|0;A=n+100+(i[l>>2]<<3)|0;f=A;t[f>>0]=0;t[f+1>>0]=0;t[f+2>>0]=0;t[f+3>>0]=0;A=A+4|0;t[A>>0]=o;t[A+1>>0]=o>>8;t[A+2>>0]=o>>16;t[A+3>>0]=o>>24;A=li(e)|0;l=i[l>>2]|0;e=n+100+(l<<3)|0;o=e;f=o;o=o+4|0;o=u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24;A=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|A;f=e;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;e=e+4|0;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;i[c>>2]=l;i[n+132+(l<<2)>>2]=0;i[n+148+(i[c>>2]<<2)>>2]=0;break}if((o|0)<=511)break;i[c>>2]=(i[c>>2]|0)+o&3;fi(n,e,r)|0;break}do{if(!o){A=fr(n+244|0,e,0,7)|0;f=n+148+(i[c>>2]<<2)|0;i[f>>2]=(i[f>>2]|0)+1;f=i[c>>2]|0;if((i[n+148+(f<<2)>>2]|0)>3){i[n+132+(f<<2)>>2]=A;i[n+148+(i[c>>2]<<2)>>2]=0}}else{if((o|0)<500){A=n+244|0;f=V(i[n+132+(i[c>>2]<<2)>>2]|0,o)|0;if((o|0)<10){A=fr(A,e,f,2)|0;break}else{A=fr(A,e,f,3)|0;break}}if((o|0)==500){A=fr(n+244|0,e,(i[n+132+(i[c>>2]<<2)>>2]|0)*500|0,4)|0;f=n+148+(i[c>>2]<<2)|0;i[f>>2]=(i[f>>2]|0)+1;f=i[c>>2]|0;if((i[n+148+(f<<2)>>2]|0)<=3)break;i[n+132+(f<<2)>>2]=A;i[n+148+(i[c>>2]<<2)>>2]=0;break}A=500-o|0;f=n+244|0;o=i[n+132+(i[c>>2]<<2)>>2]|0;if((A|0)>-10){A=fr(f,e,V(o,A)|0,5)|0;break}A=fr(f,e,V(o,-10)|0,6)|0;f=n+148+(i[c>>2]<<2)|0;i[f>>2]=(i[f>>2]|0)+1;f=i[c>>2]|0;if((i[n+148+(f<<2)>>2]|0)>3){i[n+132+(f<<2)>>2]=A;i[n+148+(i[c>>2]<<2)>>2]=0}}}while(0);l=n+100+(i[c>>2]<<3)|0;f=l;e=f;f=f+4|0;f=rv(u[e>>0]|u[e+1>>0]<<8|u[e+2>>0]<<16|u[e+3>>0]<<24|0,u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|0,A|0,((A|0)<0)<<31>>31|0)|0;e=W()|0;o=l;t[o>>0]=f;t[o+1>>0]=f>>8;t[o+2>>0]=f>>16;t[o+3>>0]=f>>24;l=l+4|0;t[l>>0]=e;t[l+1>>0]=e>>8;t[l+2>>0]=e>>16;t[l+3>>0]=e>>24}}while(0);ai(n+100+(i[c>>2]<<3)|0,r)}return r+8|0}function oi(n){n=n|0;ur(n);return}function ci(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;t=BA(n)|0;si(r,t,BA(n+4|0)|0);n=i[r>>2]|0;R(i[r+4>>2]|0);$=e;return n|0}function li(n){n=n|0;var e=0;e=(_r(n)|0)&65535;return((_r(n)|0)&65535)<<16|e|0}function ai(n,e){n=n|0;e=e|0;var r=0;r=n;OA(u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24,e);n=n+4|0;OA(u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24,e+4|0);return}function si(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;A=n;t[A>>0]=e;t[A+1>>0]=e>>8;t[A+2>>0]=e>>16;t[A+3>>0]=e>>24;e=n+4|0;t[e>>0]=r;t[e+1>>0]=r>>8;t[e+2>>0]=r>>16;t[e+3>>0]=r>>24;return}function di(n){n=n|0;uZ(n);nh(n);return}function bi(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function hi(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==9890?n+12|0:0)|0}function Zi(n){n=n|0;yn(n,16);return}function vi(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=4820;i[n+4>>2]=e;Vi(n+8|0);return}function mi(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4844;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Vi(n){n=n|0;t[n>>0]=0;Wi(n+1|0);gr(n+8|0,128,0,0);gr(n+52|0,256,0,0);gr(n+96|0,256,0,0);gr(n+140|0,256,0,0);gr(n+184|0,256,0,0);gr(n+228|0,256,0,0);gr(n+272|0,256,0,0);return}function pi(n){n=n|0;i[n>>2]=4820;Xi(n+8|0);tA(n);return}function yi(n){n=n|0;pi(n);nh(n);return}function Ri(n,e){n=n|0;e=e|0;return wi(n+8|0,i[n+4>>2]|0,e)|0}function Wi(n){n=n|0;var e=0;t[n>>0]=0;t[n+1>>0]=0;e=n+2|0;t[e>>0]=0;t[e+1>>0]=0;n=n+4|0;t[n>>0]=0;t[n+1>>0]=0;return}function Xi(n){n=n|0;Fr(n+272|0);Fr(n+228|0);Fr(n+184|0);Fr(n+140|0);Fr(n+96|0);Fr(n+52|0);Fr(n+8|0);return}function wi(n,e,r){n=n|0;e=e|0;r=r|0;var i=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;b=$;$=$+16|0;s=b;if(!(t[n>>0]|0)){t[n>>0]=1;RA(yA(e)|0,r,6);Fi(s,r);d=n+1|0;t[d>>0]=t[s>>0]|0;t[d+1>>0]=t[s+1>>0]|0;t[d+2>>0]=t[s+2>>0]|0;t[d+3>>0]=t[s+3>>0]|0;t[d+4>>0]=t[s+4>>0]|0;t[d+5>>0]=t[s+5>>0]|0}else{d=Ir(e,n+8|0)|0;Wi(s);if(!(d&1)){i=n+1|0;i=(u[i>>0]|u[i+1>>0]<<8)&255}else{a=(Ir(e,n+52|0)|0)&255;i=n+1|0;i=(FA(a+((u[i>>0]|u[i+1>>0]<<8)&255)|0)|0)&255}A[s>>1]=i;if(!(d&2)){a=n+1|0;i=i|(u[a>>0]|u[a+1>>0]<<8)&-256}else{i=(Ir(e,n+96|0)|0)&255;a=n+1|0;i=((FA((((u[a>>0]|u[a+1>>0]<<8)&65535)>>>8)+i|0)|0)&255)<<8;i=(i|f[s>>1])&65535}A[s>>1]=i;do{if(d&64){l=n+1|0;o=(i&255)-((u[l>>0]|u[l+1>>0]<<8)&255)|0;if(!(d&4)){i=n+3|0;i=(u[i>>0]|u[i+1>>0]<<8)&255}else{i=(Ir(e,n+140|0)|0)&255;a=n+3|0;a=o+((u[a>>0]|u[a+1>>0]<<8)&255)|0;i=(FA(((a|0)<1?0:(a|0)>254?255:a&255)+i|0)|0)&255}a=s+2|0;A[a>>1]=i;if(!(d&16)){i=n+5|0;i=(u[i>>0]|u[i+1>>0]<<8)&255}else{i=Ir(e,n+228|0)|0;h=n+3|0;c=n+5|0;c=((o+(A[a>>1]&255)-((u[h>>0]|u[h+1>>0]<<8)&255)|0)/2|0)+((u[c>>0]|u[c+1>>0]<<8)&255)|0;i=(FA(((c|0)<1?0:(c|0)>254?255:c&255)+(i&255)|0)|0)&255}c=s+4|0;A[c>>1]=i;i=((f[s>>1]|0)>>>8)-(((u[l>>0]|u[l+1>>0]<<8)&65535)>>>8)|0;if(!(d&8)){o=n+3|0;o=A[a>>1]|(u[o>>0]|u[o+1>>0]<<8)&-256}else{o=(Ir(e,n+184|0)|0)&255;h=n+3|0;h=(((u[h>>0]|u[h+1>>0]<<8)&65535)>>>8)+i|0;o=((FA(((h|0)<1?0:(h|0)>254?255:h&255)+o|0)|0)&255)<<8;o=(o|f[a>>1])&65535}A[a>>1]=o;if(!(d&32)){h=n+5|0;A[c>>1]=A[c>>1]|(u[h>>0]|u[h+1>>0]<<8)&-256;break}else{h=Ir(e,n+272|0)|0;e=n+3|0;d=n+5|0;d=((((f[a>>1]|0)>>>8)+i-(((u[e>>0]|u[e+1>>0]<<8)&65535)>>>8)|0)/2|0)+(((u[d>>0]|u[d+1>>0]<<8)&65535)>>>8)|0;h=((FA(((d|0)<1?0:(d|0)>254?255:d&255)+(h&255)|0)|0)&255)<<8;A[c>>1]=h|f[c>>1];break}}else{A[s+2>>1]=i;A[s+4>>1]=i}}while(0);h=n+1|0;t[h>>0]=t[s>>0]|0;t[h+1>>0]=t[s+1>>0]|0;t[h+2>>0]=t[s+2>>0]|0;t[h+3>>0]=t[s+3>>0]|0;t[h+4>>0]=t[s+4>>0]|0;t[h+5>>0]=t[s+5>>0]|0;ki(h,r)}$=b;return r+6|0}function Fi(n,e){n=n|0;e=e|0;var r=0,t=0;t=gA(e)|0;r=gA(e+2|0)|0;Ui(n,t,r,gA(e+4|0)|0);return}function ki(n,e){n=n|0;e=e|0;var r=0;YA(u[n>>0]|u[n+1>>0]<<8,e);r=n+2|0;YA(u[r>>0]|u[r+1>>0]<<8,e+2|0);n=n+4|0;YA(u[n>>0]|u[n+1>>0]<<8,e+4|0);return}function Ui(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;t[n>>0]=e;t[n+1>>0]=e>>8;e=n+2|0;t[e>>0]=r;t[e+1>>0]=r>>8;r=n+4|0;t[r>>0]=A;t[r+1>>0]=A>>8;return}function Gi(n){n=n|0;uZ(n);nh(n);return}function zi(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Ni(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==10570?n+12|0:0)|0}function gi(n){n=n|0;yn(n,16);return}function Ti(n,e,r){n=n|0;e=e|0;r=r|0;Lt(n);i[n>>2]=4872;i[n+4>>2]=e;Bi(n+8|0,r);return}function Mi(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4896;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Bi(n,e){n=n|0;e=e|0;i[n>>2]=i[e>>2];t[n+4>>0]=t[e+4>>0]|0;xi(n+8|0,e+8|0);xi(n+20|0,e+20|0);Oi(n+32|0,e+32|0);return}function Ji(n){n=n|0;i[n>>2]=4872;st(n+8|0);tA(n);return}function Yi(n){n=n|0;Ji(n);nh(n);return}function Ei(n,e){n=n|0;e=e|0;return pu(n+8|0,i[n+4>>2]|0,e)|0}function xi(n,e){n=n|0;e=e|0;var r=0,t=0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;r=e+4|0;t=(i[r>>2]|0)-(i[e>>2]|0)|0;if(t|0){Ci(n,t);ji(n,i[e>>2]|0,i[r>>2]|0,t)}return}function Oi(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+32|0;t=r+24|0;A=r+16|0;f=r+8|0;u=r;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;Zu(f,e);vu(u,e);i[A>>2]=i[f>>2];i[A+4>>2]=i[f+4>>2];i[t>>2]=i[u>>2];i[t+4>>2]=i[u+4>>2];_i(n,A,t,0);$=r;return}function Ci(n,e){n=n|0;e=e|0;var r=0;if((Si(n)|0)>>>0<e>>>0)_Z(n);else{r=Ph(e)|0;i[n+4>>2]=r;i[n>>2]=r;i[n+8>>2]=r+e;return}}function ji(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=$;$=$+16|0;A=u;Hi(A,n,t);t=A+4|0;n=r-e|0;if((n|0)>0){av(i[t>>2]|0,e|0,n|0)|0;i[t>>2]=(i[t>>2]|0)+n}Qi(A);$=u;return}function Ii(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=e;if(e|0){i[n+4>>2]=r;yn(e,(i[n+8>>2]|0)-r|0)}return}function Si(n){n=n|0;return 2147483647}function Hi(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+r;return}function Qi(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function _i(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;Z=$;$=$+96|0;h=Z+80|0;s=Z+64|0;c=Z+48|0;l=Z+40|0;a=Z+8|0;o=Z;d=Z+32|0;b=Z+16|0;f=e;u=i[f>>2]|0;f=i[f+4>>2]|0;A=r;r=i[A>>2]|0;A=i[A+4>>2]|0;t=u;if((A|0)==(f|0))f=0;else f=((A-(i[r>>2]|0)|0)/44|0)+((r-u>>2)*93|0)+((f-(i[u>>2]|0)|0)/-44|0)|0;r=(i[n+8>>2]|0)-(i[n+4>>2]|0)|0;r=((r|0)==0?0:((r>>2)*93|0)+-1|0)-((i[n+20>>2]|0)+(i[n+16>>2]|0))|0;if(f>>>0>r>>>0)Pi(n,f-r|0);$i(l,n);$i(o,n);A=o;r=i[A>>2]|0;A=i[A+4>>2]|0;u=a;i[u>>2]=r;i[u+4>>2]=A;u=r;if(f|0){r=((A-(i[r>>2]|0)|0)/44|0)+f|0;if((r|0)>0){o=(r>>>0)/93|0;f=u+(o<<2)|0;i[a>>2]=f;r=(i[f>>2]|0)+((r-(o*93|0)|0)*44|0)|0}else{r=92-r|0;o=u+(((r|0)/-93|0)<<2)|0;i[a>>2]=o;r=(i[o>>2]|0)+((92-((r|0)%93|0)|0)*44|0)|0}i[a+4>>2]=r}i[s>>2]=i[l>>2];i[s+4>>2]=i[l+4>>2];i[h>>2]=i[a>>2];i[h+4>>2]=i[a+4>>2];Li(c,s,h);Ki(h,c);qi(s,c);if(nu(h,s)|0){u=b+4|0;f=e+4|0;do{eu(d,h);ru(b,n,d);r=i[b>>2]|0;if((r|0)!=(i[u>>2]|0)){A=i[f>>2]|0;do{Or(r,A);r=(i[b>>2]|0)+44|0;i[b>>2]=r;A=A+44|0;i[f>>2]=A;if((A-(i[t>>2]|0)|0)==4092){t=t+4|0;i[e>>2]=t;A=i[t>>2]|0;i[f>>2]=A}}while((r|0)!=(i[u>>2]|0))}tu(b);Au(h)|0}while(nu(h,s)|0)}$=Z;return}function Di(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~((t+-4-e|0)>>>2)<<2);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function Pi(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,p=0,y=0,R=0,W=0,X=0,w=0,F=0,k=0,U=0;k=$;$=$+64|0;y=k+52|0;p=k+48|0;R=k+28|0;W=k+24|0;X=k+20|0;h=k;w=n+8|0;r=i[w>>2]|0;F=n+4|0;c=i[F>>2]|0;v=((r|0)==(c|0)&1)+e|0;f=(v>>>0)/93|0;f=f+((v-(f*93|0)|0)!=0&1)|0;v=n+16|0;t=i[v>>2]|0;o=(t>>>0)/93|0;Z=f>>>0<o>>>0?f:o;e=f-Z|0;u=r;n:do{if(!e){i[v>>2]=(V(Z,-93)|0)+t;if(Z|0){o=n+12|0;l=n+12|0;a=R+4|0;s=R+8|0;d=R+12|0;e=Z;t=c;while(1){f=i[t>>2]|0;u=t+4|0;i[F>>2]=u;m=i[o>>2]|0;t=m;do{if((r|0)==(m|0)){m=i[n>>2]|0;r=m;if(u>>>0<=m>>>0){r=t-r|0;r=(r|0)==0?1:r>>1;fu(R,r,r>>>2,l);i[W>>2]=i[F>>2];i[X>>2]=i[w>>2];i[p>>2]=i[W>>2];i[y>>2]=i[X>>2];au(R,p,y);r=i[n>>2]|0;i[n>>2]=i[R>>2];i[R>>2]=r;r=i[F>>2]|0;i[F>>2]=i[a>>2];i[a>>2]=r;r=i[w>>2]|0;i[w>>2]=i[s>>2];i[s>>2]=r;r=i[o>>2]|0;i[o>>2]=i[d>>2];i[d>>2]=r;lu(R);r=i[w>>2]|0;break}m=u;r=((m-r>>2)+1|0)/-2|0;A=u+(r<<2)|0;t=t-m|0;if(!t)r=A;else{sv(A|0,u|0,t|0)|0;r=(i[F>>2]|0)+(r<<2)|0}m=A+(t>>2<<2)|0;i[w>>2]=m;i[F>>2]=r;r=m}}while(0);i[r>>2]=f;r=(i[w>>2]|0)+4|0;i[w>>2]=r;e=e+-1|0;if(!e)break n;t=i[F>>2]|0}}}else{m=n+12|0;t=i[m>>2]|0;A=t-(i[n>>2]|0)|0;r=u-c>>2;if(e>>>0>((A>>2)-r|0)>>>0){b=A>>1;d=r+e|0;fu(h,b>>>0<d>>>0?d:b,r-Z|0,n+12|0);do{i[y>>2]=Ph(4092)|0;ou(h,y);e=e+-1|0}while((e|0)!=0);if(!Z)r=i[F>>2]|0;else{o=h+8|0;c=h+12|0;l=h+4|0;a=h+16|0;s=R+4|0;d=R+8|0;b=R+12|0;f=Z;e=i[o>>2]|0;r=i[F>>2]|0;do{u=i[c>>2]|0;t=u;do{if((e|0)==(u|0)){A=i[l>>2]|0;u=i[h>>2]|0;e=u;if(A>>>0<=u>>>0){e=t-e|0;e=(e|0)==0?1:e>>1;fu(R,e,e>>>2,i[a>>2]|0);i[W>>2]=i[l>>2];i[X>>2]=i[o>>2];i[p>>2]=i[W>>2];i[y>>2]=i[X>>2];au(R,p,y);e=i[h>>2]|0;i[h>>2]=i[R>>2];i[R>>2]=e;e=i[l>>2]|0;i[l>>2]=i[s>>2];i[s>>2]=e;e=i[o>>2]|0;i[o>>2]=i[d>>2];i[d>>2]=e;e=i[c>>2]|0;i[c>>2]=i[b>>2];i[b>>2]=e;lu(R);e=i[o>>2]|0;break}U=A;e=((U-e>>2)+1|0)/-2|0;u=A+(e<<2)|0;t=t-U|0;if(!t)e=u;else{sv(u|0,A|0,t|0)|0;e=(i[l>>2]|0)+(e<<2)|0}U=u+(t>>2<<2)|0;i[o>>2]=U;i[l>>2]=e;e=U}}while(0);i[e>>2]=i[r>>2];e=(i[o>>2]|0)+4|0;i[o>>2]=e;r=(i[F>>2]|0)+4|0;i[F>>2]=r;f=f+-1|0}while((f|0)!=0)}e=i[w>>2]|0;if((e|0)!=(r|0)){do{e=e+-4|0;cu(h,e);r=i[F>>2]|0}while((e|0)!=(r|0));e=i[w>>2]|0}U=i[n>>2]|0;i[n>>2]=i[h>>2];i[h>>2]=U;U=h+4|0;i[F>>2]=i[U>>2];i[U>>2]=r;U=h+8|0;i[w>>2]=i[U>>2];i[U>>2]=e;U=h+12|0;F=i[m>>2]|0;i[m>>2]=i[U>>2];i[U>>2]=F;i[v>>2]=(i[v>>2]|0)+(V(Z,-93)|0);lu(h);break}else{e:do{if((t|0)==(u|0))l=18;else{while(1){i[y>>2]=Ph(4092)|0;iu(n,y);e=e+-1|0;if(!e)break;if((i[m>>2]|0)==(i[w>>2]|0)){l=18;break e}}r=Z;e=i[v>>2]|0}}while(0);if((l|0)==18){t=~(f>>>0>o>>>0?o:f);r=e;do{i[y>>2]=Ph(4092)|0;uu(n,y);r=r+-1|0;A=(((i[w>>2]|0)-(i[F>>2]|0)|0)==4?92:93)+(i[v>>2]|0)|0;i[v>>2]=A}while((r|0)!=0);r=e+-1-t|0;e=A}i[v>>2]=e+(V(r,-93)|0);if(!r)break;o=n+12|0;c=R+4|0;l=R+8|0;a=R+12|0;e=i[w>>2]|0;do{u=i[F>>2]|0;f=i[u>>2]|0;u=u+4|0;i[F>>2]=u;U=i[m>>2]|0;t=U;do{if((e|0)==(U|0)){U=i[n>>2]|0;e=U;if(u>>>0<=U>>>0){e=t-e|0;e=(e|0)==0?1:e>>1;fu(R,e,e>>>2,o);i[W>>2]=i[F>>2];i[X>>2]=i[w>>2];i[p>>2]=i[W>>2];i[y>>2]=i[X>>2];au(R,p,y);e=i[n>>2]|0;i[n>>2]=i[R>>2];i[R>>2]=e;e=i[F>>2]|0;i[F>>2]=i[c>>2];i[c>>2]=e;e=i[w>>2]|0;i[w>>2]=i[l>>2];i[l>>2]=e;e=i[m>>2]|0;i[m>>2]=i[a>>2];i[a>>2]=e;lu(R);e=i[w>>2]|0;break}U=u;e=((U-e>>2)+1|0)/-2|0;A=u+(e<<2)|0;t=t-U|0;if(!t)e=A;else{sv(A|0,u|0,t|0)|0;e=(i[F>>2]|0)+(e<<2)|0}U=A+(t>>2<<2)|0;i[w>>2]=U;i[F>>2]=e;e=U}}while(0);i[e>>2]=f;e=(i[w>>2]|0)+4|0;i[w>>2]=e;r=r+-1|0}while((r|0)!=0)}}}while(0);$=k;return}function $i(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=(i[e+16>>2]|0)+(i[e+20>>2]|0)|0;u=i[e+4>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function Li(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=e;e=i[A+4>>2]|0;t=n;i[t>>2]=i[A>>2];i[t+4>>2]=e;t=r;e=i[t+4>>2]|0;r=n+8|0;i[r>>2]=i[t>>2];i[r+4>>2]=e;return}function Ki(n,e){n=n|0;e=e|0;i[n>>2]=i[e>>2];i[n+4>>2]=i[e+4>>2];i[n+8>>2]=i[e+8>>2];i[n+12>>2]=i[e+12>>2];return}function qi(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;r=$;$=$+32|0;t=r+24|0;A=r+16|0;f=r+8|0;u=r;o=e+8|0;c=i[o>>2]|0;o=i[o+4>>2]|0;e=f;i[e>>2]=c;i[e+4>>2]=o;e=u;i[e>>2]=c;i[e+4>>2]=o;i[A>>2]=i[f>>2];i[A+4>>2]=i[f+4>>2];i[t>>2]=i[u>>2];i[t+4>>2]=i[u+4>>2];Li(n,A,t);$=r;return}function nu(n,e){n=n|0;e=e|0;return(bu(n,e)|0)^1|0}function eu(n,e){n=n|0;e=e|0;var r=0,t=0;r=i[e>>2]|0;t=i[e+4>>2]|0;if((r|0)==(i[e+8>>2]|0))hu(n,t,i[e+12>>2]|0);else hu(n,t,(i[r>>2]|0)+4092|0);return}function ru(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;t=i[r>>2]|0;i[n>>2]=t;i[n+4>>2]=i[r+4>>2];i[n+8>>2]=t;i[n+12>>2]=e;return}function tu(n){n=n|0;var e=0;e=(i[n+12>>2]|0)+20|0;i[e>>2]=(i[e>>2]|0)+(((i[n>>2]|0)-(i[n+8>>2]|0)|0)/44|0);return}function Au(n){n=n|0;var e=0,r=0,t=0;e=i[n>>2]|0;r=n+8|0;if((e|0)==(i[r>>2]|0)){t=r;e=i[t+4>>2]|0;r=n;i[r>>2]=i[t>>2];i[r+4>>2]=e}else{t=e+4|0;i[n>>2]=t;i[n+4>>2]=i[t>>2]}return n|0}function iu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;A=h+32|0;t=h+28|0;o=h+8|0;c=h+4|0;l=h;b=n+8|0;r=i[b>>2]|0;a=n+12|0;d=i[a>>2]|0;u=d;do{if((r|0)==(d|0)){d=n+4|0;s=i[d>>2]|0;Z=i[n>>2]|0;f=Z;if(s>>>0<=Z>>>0){r=u-f|0;r=(r|0)==0?1:r>>1;fu(o,r,r>>>2,n+12|0);i[c>>2]=i[d>>2];i[l>>2]=i[b>>2];i[t>>2]=i[c>>2];i[A>>2]=i[l>>2];au(o,t,A);r=i[n>>2]|0;i[n>>2]=i[o>>2];i[o>>2]=r;r=o+4|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=o+8|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=o+12|0;Z=i[a>>2]|0;i[a>>2]=i[r>>2];i[r>>2]=Z;lu(o);r=i[b>>2]|0;break}A=s;t=((A-f>>2)+1|0)/-2|0;n=s+(t<<2)|0;A=r-A|0;if(!A)r=n;else{sv(n|0,s|0,A|0)|0;r=(i[d>>2]|0)+(t<<2)|0}Z=n+(A>>2<<2)|0;i[b>>2]=Z;i[d>>2]=r;r=Z}}while(0);i[r>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+4;$=h;return}function uu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;t=h+32|0;r=h+28|0;f=h+8|0;o=h+4|0;c=h;b=n+4|0;s=i[b>>2]|0;d=i[n>>2]|0;l=d;do{if((s|0)==(d|0)){d=n+8|0;a=i[d>>2]|0;u=n+12|0;Z=i[u>>2]|0;A=Z;if(a>>>0>=Z>>>0){Z=A-l|0;Z=(Z|0)==0?1:Z>>1;fu(f,Z,(Z+3|0)>>>2,n+12|0);i[o>>2]=i[b>>2];i[c>>2]=i[d>>2];i[r>>2]=i[o>>2];i[t>>2]=i[c>>2];au(f,r,t);r=i[n>>2]|0;i[n>>2]=i[f>>2];i[f>>2]=r;r=f+4|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=f+8|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=f+12|0;Z=i[u>>2]|0;i[u>>2]=i[r>>2];i[r>>2]=Z;lu(f);r=i[b>>2]|0;break}t=a;n=((A-t>>2)+1|0)/2|0;A=a+(n<<2)|0;t=t-s|0;r=A+(0-(t>>2)<<2)|0;if(!t){r=A;t=A}else{sv(r|0,s|0,t|0)|0;t=(i[d>>2]|0)+(n<<2)|0}i[b>>2]=r;i[d>>2]=t}else r=s}while(0);i[r+-4>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+-4;$=h;return}function fu(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>1073741823){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e<<2)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r<<2)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e<<2);return}function ou(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;A=h+32|0;t=h+28|0;o=h+8|0;c=h+4|0;l=h;b=n+8|0;r=i[b>>2]|0;a=n+12|0;d=i[a>>2]|0;u=d;do{if((r|0)==(d|0)){d=n+4|0;s=i[d>>2]|0;Z=i[n>>2]|0;f=Z;if(s>>>0<=Z>>>0){r=u-f|0;r=(r|0)==0?1:r>>1;fu(o,r,r>>>2,i[n+16>>2]|0);i[c>>2]=i[d>>2];i[l>>2]=i[b>>2];i[t>>2]=i[c>>2];i[A>>2]=i[l>>2];au(o,t,A);r=i[n>>2]|0;i[n>>2]=i[o>>2];i[o>>2]=r;r=o+4|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=o+8|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=o+12|0;Z=i[a>>2]|0;i[a>>2]=i[r>>2];i[r>>2]=Z;lu(o);r=i[b>>2]|0;break}A=s;t=((A-f>>2)+1|0)/-2|0;n=s+(t<<2)|0;A=r-A|0;if(!A)r=n;else{sv(n|0,s|0,A|0)|0;r=(i[d>>2]|0)+(t<<2)|0}Z=n+(A>>2<<2)|0;i[b>>2]=Z;i[d>>2]=r;r=Z}}while(0);i[r>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+4;$=h;return}function cu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;t=h+32|0;r=h+28|0;f=h+8|0;o=h+4|0;c=h;b=n+4|0;s=i[b>>2]|0;d=i[n>>2]|0;l=d;do{if((s|0)==(d|0)){d=n+8|0;a=i[d>>2]|0;u=n+12|0;Z=i[u>>2]|0;A=Z;if(a>>>0>=Z>>>0){Z=A-l|0;Z=(Z|0)==0?1:Z>>1;fu(f,Z,(Z+3|0)>>>2,i[n+16>>2]|0);i[o>>2]=i[b>>2];i[c>>2]=i[d>>2];i[r>>2]=i[o>>2];i[t>>2]=i[c>>2];au(f,r,t);r=i[n>>2]|0;i[n>>2]=i[f>>2];i[f>>2]=r;r=f+4|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=f+8|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=f+12|0;Z=i[u>>2]|0;i[u>>2]=i[r>>2];i[r>>2]=Z;lu(f);r=i[b>>2]|0;break}t=a;n=((A-t>>2)+1|0)/2|0;A=a+(n<<2)|0;t=t-s|0;r=A+(0-(t>>2)<<2)|0;if(!t){r=A;t=A}else{sv(r|0,s|0,t|0)|0;t=(i[d>>2]|0)+(n<<2)|0}i[b>>2]=r;i[d>>2]=t}else r=s}while(0);i[r+-4>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+-4;$=h;return}function lu(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~((t+-4-e|0)>>>2)<<2);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function au(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;f=$;$=$+16|0;u=f;A=i[e>>2]|0;su(u,n+8|0,(i[r>>2]|0)-A>>2);n=i[u>>2]|0;t=u+4|0;if((n|0)!=(i[t>>2]|0)){r=A;do{i[n>>2]=i[r>>2];n=(i[u>>2]|0)+4|0;i[u>>2]=n;r=r+4|0}while((n|0)!=(i[t>>2]|0));i[e>>2]=r}du(u);$=f;return}function su(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=i[e>>2];i[n+4>>2]=(i[e>>2]|0)+(r<<2);i[n+8>>2]=e;return}function du(n){n=n|0;i[i[n+8>>2]>>2]=i[n>>2];return}function bu(n,e){n=n|0;e=e|0;return(i[n+4>>2]|0)==(i[e+4>>2]|0)|0}function hu(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;i[n+4>>2]=r;return}function Zu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;u=i[e+4>>2]|0;r=i[e+16>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function vu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=(i[e+16>>2]|0)+(i[e+20>>2]|0)|0;u=i[e+4>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function mu(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0;o=$;$=$+16|0;t=o+8|0;u=o;Vu(t,n);$i(u,n);A=t+4|0;e=i[A>>2]|0;u=u+4|0;if((e|0)!=(i[u>>2]|0))do{Fr(e);e=(i[A>>2]|0)+44|0;i[A>>2]=e;r=i[t>>2]|0;if((e-(i[r>>2]|0)|0)==4092){e=r+4|0;i[t>>2]=e;e=i[e>>2]|0;i[A>>2]=e}}while((e|0)!=(i[u>>2]|0));i[n+20>>2]=0;A=n+8|0;t=n+4|0;r=i[t>>2]|0;e=(i[A>>2]|0)-r>>2;if(e>>>0>2)do{yn(i[r>>2]|0,4092);r=(i[t>>2]|0)+4|0;i[t>>2]=r;e=(i[A>>2]|0)-r>>2}while(e>>>0>2);switch(e|0){case 1:{e=46;f=11;break}case 2:{e=93;f=11;break}default:{}}if((f|0)==11)i[n+16>>2]=e;$=o;return}function Vu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;u=i[e+4>>2]|0;r=i[e+16>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function pu(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,f=0,o=0,c=0,l=0,a=0,s=0;s=$;$=$+16|0;a=s;c=n+4|0;if(!(t[c>>0]|0)){a=yA(e)|0;RA(a,r,i[n>>2]|0);a=i[n>>2]|0;o=r+a|0;if(!a)A=0;else{A=r;f=i[n+8>>2]|0;while(1){t[f>>0]=t[A>>0]|0;A=A+1|0;if((A|0)==(o|0))break;else f=f+1|0}A=i[n>>2]|0}t[c>>0]=1;r=r+A|0}else{f=i[n+20>>2]|0;A=i[n+8>>2]|0;Vu(a,n+32|0);n=n+12|0;if((A|0)!=(i[n>>2]|0)){l=a+4|0;c=A;o=f;A=i[l>>2]|0;while(1){f=u[c>>0]|0;f=yu((Ir(e,A)|0)+f|0)|0;t[o>>0]=f;t[r>>0]=f;t[c>>0]=f;c=c+1|0;r=r+1|0;f=i[a>>2]|0;A=(i[l>>2]|0)+44|0;i[l>>2]=A;if((A-(i[f>>2]|0)|0)==4092){A=f+4|0;i[a>>2]=A;A=i[A>>2]|0;i[l>>2]=A}if((c|0)==(i[n>>2]|0))break;else o=o+1|0}}}$=s;return r|0}function yu(n){n=n|0;return n&255|0}function Ru(n){n=n|0;uZ(n);nh(n);return}function Wu(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Xu(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==11262?n+12|0:0)|0}function wu(n){n=n|0;yn(n,16);return}function Fu(n,e){n=n|0;e=e|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;if(e|0){Ci(n,e);Uu(n,e)}return}function ku(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;if(e|0)Gu(n,e,r);return}function Uu(n,e){n=n|0;e=e|0;var r=0,A=0,u=0;u=$;$=$+16|0;A=u;Hi(A,n,e);e=A+4|0;n=i[e>>2]|0;r=A+8|0;if((n|0)!=(i[r>>2]|0))do{t[n>>0]=0;n=(i[e>>2]|0)+1|0;i[e>>2]=n}while((n|0)!=(i[r>>2]|0));Qi(A);$=u;return}function Gu(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;b=$;$=$+96|0;d=b+80|0;l=b+64|0;f=b+48|0;o=b+40|0;c=b+8|0;A=b;a=b+32|0;s=b+16|0;t=(i[n+8>>2]|0)-(i[n+4>>2]|0)|0;t=((t|0)==0?0:((t>>2)*93|0)+-1|0)-((i[n+20>>2]|0)+(i[n+16>>2]|0))|0;if(t>>>0<e>>>0)Pi(n,e-t|0);$i(o,n);$i(A,n);t=i[A>>2]|0;A=i[A+4>>2]|0;u=c;i[u>>2]=t;i[u+4>>2]=A;u=t;if(e|0){t=((A-(i[t>>2]|0)|0)/44|0)+e|0;if((t|0)>0){e=(t>>>0)/93|0;u=u+(e<<2)|0;i[c>>2]=u;t=(i[u>>2]|0)+((t-(e*93|0)|0)*44|0)|0}else{t=92-t|0;e=u+(((t|0)/-93|0)<<2)|0;i[c>>2]=e;t=(i[e>>2]|0)+((92-((t|0)%93|0)|0)*44|0)|0}i[c+4>>2]=t}i[l>>2]=i[o>>2];i[l+4>>2]=i[o+4>>2];i[d>>2]=i[c>>2];i[d+4>>2]=i[c+4>>2];Li(f,l,d);Ki(d,f);qi(l,f);if(nu(d,l)|0){A=s+4|0;do{eu(a,d);ru(s,n,a);t=i[s>>2]|0;if((t|0)!=(i[A>>2]|0))do{Or(t,r);t=(i[s>>2]|0)+44|0;i[s>>2]=t}while((t|0)!=(i[A>>2]|0));tu(s);Au(d)|0}while(nu(d,l)|0)}$=b;return}function zu(n){n=n|0;var e=0,r=0;mu(n);e=i[n+4>>2]|0;r=i[n+8>>2]|0;if((e|0)!=(r|0))do{yn(i[e>>2]|0,4092);e=e+4|0}while((e|0)!=(r|0));Di(n);return}function Nu(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=4924;i[n+4>>2]=e;i[n+8>>2]=r;return}function gu(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4944;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function Tu(n,e){n=n|0;e=e|0;return Ju(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function Mu(n){n=n|0;var e=0,r=0;i[n>>2]=4924;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){Eu(e);nh(e)}Mt(n);return}function Bu(n){n=n|0;Mu(n);nh(n);return}function Ju(n,e,r){n=n|0;e=e|0;r=r|0;return Yu(n+4784|0,e,VA(n,e,r)|0)|0}function Yu(n,e,r){n=n|0;e=e|0;r=r|0;if(t[n>>0]|0){ir(e);t[n>>0]=0}return r|0}function Eu(n){n=n|0;vA(n);return}function xu(n,e){n=n|0;e=e|0;return}function Ou(n){n=n|0;uZ(n);nh(n);return}function Cu(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function ju(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==12004?n+12|0:0)|0}function Iu(n){n=n|0;yn(n,16);return}function Su(n){n=n|0;t[n>>0]=1;return}function Hu(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=4972;i[n+4>>2]=e;i[n+8>>2]=r;return}function Qu(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4992;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function _u(n,e){n=n|0;e=e|0;return $u(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function Du(n){n=n|0;var e=0,r=0;i[n>>2]=4972;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){Ku(e);nh(e)}Mt(n);return}function Pu(n){n=n|0;Du(n);nh(n);return}function $u(n,e,r){n=n|0;e=e|0;r=r|0;return Lu(n+4784|0,e,VA(n,e,r)|0)|0}function Lu(n,e,r){n=n|0;e=e|0;r=r|0;return Yu(n+328|0,e,fi(n,e,r)|0)|0}function Ku(n){n=n|0;qu(n+4784|0);vA(n);return}function qu(n){n=n|0;ii(n);return}function nf(n){n=n|0;uZ(n);nh(n);return}function ef(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function rf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==12827?n+12|0:0)|0}function tf(n){n=n|0;yn(n,16);return}function Af(n){n=n|0;DA(n);Su(n+328|0);return}function uf(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=5020;i[n+4>>2]=e;i[n+8>>2]=r;return}function ff(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5040;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function of(n,e){n=n|0;e=e|0;return af(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function cf(n){n=n|0;var e=0,r=0;i[n>>2]=5020;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){df(e);nh(e)}Mt(n);return}function lf(n){n=n|0;cf(n);nh(n);return}function af(n,e,r){n=n|0;e=e|0;r=r|0;return sf(n+4784|0,e,VA(n,e,r)|0)|0}function sf(n,e,r){n=n|0;e=e|0;r=r|0;return Yu(n+316|0,e,wi(n,e,r)|0)|0}function df(n){n=n|0;bf(n+4784|0);vA(n);return}function bf(n){n=n|0;Xi(n);return}function hf(n){n=n|0;uZ(n);nh(n);return}function Zf(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function vf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==13672?n+12|0:0)|0}function mf(n){n=n|0;yn(n,16);return}function Vf(n){n=n|0;Vi(n);Su(n+316|0);return}function pf(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=5068;i[n+4>>2]=e;i[n+8>>2]=r;return}function yf(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5088;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function Rf(n,e){n=n|0;e=e|0;return wf(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function Wf(n){n=n|0;var e=0,r=0;i[n>>2]=5068;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){kf(e);nh(e)}Mt(n);return}function Xf(n){n=n|0;Wf(n);nh(n);return}function wf(n,e,r){n=n|0;e=e|0;r=r|0;return Ff(n+4784|0,e,VA(n,e,r)|0)|0}function Ff(n,e,r){n=n|0;e=e|0;r=r|0;return sf(n+328|0,e,fi(n,e,r)|0)|0}function kf(n){n=n|0;Uf(n+4784|0);vA(n);return}function Uf(n){n=n|0;bf(n+328|0);ii(n);return}function Gf(n){n=n|0;uZ(n);nh(n);return}function zf(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function Nf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==14573?n+12|0:0)|0}function gf(n){n=n|0;yn(n,16);return}function Tf(n){n=n|0;DA(n);Vf(n+328|0);return}function Mf(n){n=n|0;return n+20|0}function Bf(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;i[n+4>>2]=r;i[n+8>>2]=0;return}function Jf(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=0;i[n+8>>2]=-1;return}function Yf(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=$;$=$+16|0;t=r+4|0;u=r;A=Ph(24)|0;no(A,e);i[u>>2]=0;i[t>>2]=i[u>>2];eo(n,A,t);$=r;return}function Ef(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function xf(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5116;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Cf(n,t);$=r;return}function Of(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Cf(n,e){n=n|0;e=e|0;return}function jf(n){n=n|0;uZ(n);nh(n);return}function If(n){n=n|0;n=i[n+12>>2]|0;if(n|0)nh(n);return}function Sf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==14966?n+12|0:0)|0}function Hf(n){n=n|0;yn(n,16);return}function Qf(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5144;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Df(n,t);$=r;return}function _f(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Df(n,e){n=n|0;e=e|0;return}function Pf(n){n=n|0;uZ(n);nh(n);return}function $f(n){n=n|0;n=i[n+12>>2]|0;if(n|0){qf(n);nh(n)}return}function Lf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==15127?n+12|0:0)|0}function Kf(n){n=n|0;yn(n,16);return}function qf(n){n=n|0;return}function no(n,e){n=n|0;e=e|0;zt(n);i[n>>2]=5172;i[n+4>>2]=e;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;t[n+20>>0]=1;return}function eo(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5192;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;fo(n,t);$=r;return}function ro(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0,c=0,l=0;l=$;$=$+16|0;f=l;r=i[n+8>>2]|0;o=i[n+12>>2]|0;if((r|0)!=(o|0)){c=f+4|0;do{A=i[r>>2]|0;i[f>>2]=A;u=i[r+4>>2]|0;i[c>>2]=u;if(u|0){u=u+4|0;i[u>>2]=(i[u>>2]|0)+1}e=Cv[i[(i[A>>2]|0)+12>>2]&63](A,e)|0;Jt(f);r=r+8|0}while((r|0)!=(o|0))}r=n+20|0;if(t[r>>0]|0){t[r>>0]=0;io(i[n+4>>2]|0)}$=l;return e|0}function to(n){n=n|0;i[n>>2]=5172;Yt(n+8|0);Mt(n);return}function Ao(n){n=n|0;to(n);nh(n);return}function io(n){n=n|0;var e=0;e=((uo(i[n>>2]|0)|0)&255)<<24;e=((uo(i[n>>2]|0)|0)&255)<<16|e;e=e|((uo(i[n>>2]|0)|0)&255)<<8;i[n+4>>2]=e|(uo(i[n>>2]|0)|0)&255;return}function uo(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=n+8|0;n=i[r>>2]|0;i[r>>2]=n+1;return t[e+n>>0]|0}function fo(n,e){n=n|0;e=e|0;return}function oo(n){n=n|0;uZ(n);nh(n);return}function co(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function lo(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==15450?n+12|0:0)|0}function ao(n){n=n|0;yn(n,16);return}function so(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(180)|0;ho(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];Zo(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function bo(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(180)|0;xo(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];Oo(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ho(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5220;i[n+4>>2]=e;vo(n+8|0);return}function Zo(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5244;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function vo(n){n=n|0;hA(n,32,1,8,0);Ar(n+80|0,32,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;yo(n+164|0);return}function mo(n){n=n|0;i[n>>2]=5220;Ro(n+8|0);tA(n);return}function Vo(n){n=n|0;mo(n);nh(n);return}function po(n,e){n=n|0;e=e|0;return Wo(n+8|0,i[n+4>>2]|0,e)|0}function yo(n){n=n|0;t[n+4>>0]=0;return}function Ro(n){n=n|0;or(n+80|0);ZA(n);return}function Wo(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=$;$=$+16|0;A=f;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+164|0;if(Xo(u)|0){e=wo(n+80|0,e,i[u>>2]|0,0)|0;i[A>>2]=e;JA(e,r)}else{ko(Fo(e)|0,r,4);i[A>>2]=NA(r)|0}Uo(u,A);$=f;return r+4|0}function Xo(n){n=n|0;return(t[n+4>>0]|0)!=0|0}function wo(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;r=(Go(n,e,(i[n+36>>2]|0)+(t*44|0)|0)|0)+r|0;e=i[n+24>>2]|0;if((r|0)<0)return r+e|0;else return r-(r>>>0<e>>>0?0:e)|0;return 0}function Fo(n){n=n|0;return i[n>>2]|0}function ko(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;if((r|0)>0){A=0;do{t[e+A>>0]=uo(n)|0;A=A+1|0}while((A|0)!=(r|0))}return}function Uo(n,e){n=n|0;e=e|0;var r=0;r=n+4|0;if(!(t[r>>0]|0))t[r>>0]=1;i[n>>2]=i[e>>2];return}function Go(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;r=zo(e,r)|0;i[n>>2]=r;do{if(r){if(r>>>0>=32){r=i[n+28>>2]|0;break}t=i[n+12>>2]|0;if(r>>>0>t>>>0){t=r-t|0;r=zo(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;t=r<<t|(No(e,t)|0)}else t=zo(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;r=i[n>>2]|0;if((t|0)<(1<<r+-1|0)){r=t+1+(-1<<r)|0;break}else{r=t+1|0;break}}else r=go(e,n+48|0)|0}while(0);return r|0}function zo(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;d=n+8|0;s=i[d>>2]|0;A=i[e+16>>2]|0;if(A){t=n+4|0;r=i[t>>2]|0;a=s>>>15;i[d>>2]=a;c=(r>>>0)/(a>>>0)|0;o=c>>>(i[e+40>>2]|0);u=i[A+(o<<2)>>2]|0;o=(i[A+(o+1<<2)>>2]|0)+1|0;f=u+1|0;l=i[e+8>>2]|0;if(o>>>0>f>>>0){A=u;u=o;do{f=(u+A|0)>>>1;o=(i[l+(f<<2)>>2]|0)>>>0>c>>>0;A=o?A:f;u=o?f:u;f=A+1|0}while(u>>>0>f>>>0);u=A}A=V(i[l+(u<<2)>>2]|0,a)|0;if((u|0)==(i[e+32>>2]|0))f=s;else f=V(i[l+(f<<2)>>2]|0,a)|0}else{l=s>>>15;i[d>>2]=l;o=i[e>>2]|0;a=i[e+8>>2]|0;t=n+4|0;r=i[t>>2]|0;c=o>>>1;A=0;f=s;u=0;do{b=V(i[a+(c<<2)>>2]|0,l)|0;s=b>>>0>r>>>0;f=s?b:f;A=s?A:b;u=s?u:c;o=s?c:o;c=(u+o|0)>>>1}while((c|0)!=(u|0))}i[t>>2]=r-A;b=f-A|0;i[d>>2]=b;if(b>>>0<16777216)To(n);d=(i[e+12>>2]|0)+(u<<2)|0;i[d>>2]=(i[d>>2]|0)+1;d=e+28|0;b=(i[d>>2]|0)+-1|0;i[d>>2]=b;if(!b)Cr(e);return u|0}function No(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;if(e>>>0>19){r=(Mo(n)|0)&65535;return(No(n,e+-16|0)|0)<<16|r|0}t=n+4|0;A=i[t>>2]|0;u=n+8|0;r=(i[u>>2]|0)>>>e;i[u>>2]=r;e=(A>>>0)/(r>>>0)|0;i[t>>2]=A-(V(e,r)|0);if(r>>>0<16777216)To(n);return e|0}function go(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0;t=n+8|0;A=i[t>>2]|0;r=V(A>>>13,i[e+8>>2]|0)|0;u=n+4|0;f=i[u>>2]|0;o=f>>>0>=r>>>0;if(o){i[u>>2]=f-r;r=A-r|0;i[t>>2]=r}else{i[t>>2]=r;f=e+12|0;i[f>>2]=(i[f>>2]|0)+1}if(r>>>0<16777216)To(n);f=e+4|0;n=(i[f>>2]|0)+-1|0;i[f>>2]=n;if(!n)Dr(e);return o&1|0}function To(n){n=n|0;var e=0,r=0,t=0,A=0;e=n+4|0;r=n+8|0;t=i[e>>2]|0;do{t=t<<8|(uo(i[n>>2]|0)|0)&255;i[e>>2]=t;A=i[r>>2]<<8;i[r>>2]=A}while(A>>>0<16777216);return}function Mo(n){n=n|0;var e=0,r=0,t=0,A=0;r=n+4|0;A=i[r>>2]|0;e=n+8|0;t=(i[e>>2]|0)>>>16;i[e>>2]=t;e=(A>>>0)/(t>>>0)|0;i[r>>2]=A-(V(e,t)|0);To(n);return e&65535|0}function Bo(n){n=n|0;uZ(n);nh(n);return}function Jo(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Yo(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==15904?n+12|0:0)|0}function Eo(n){n=n|0;yn(n,16);return}function xo(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5272;i[n+4>>2]=e;Co(n+8|0);return}function Oo(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5296;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Co(n){n=n|0;hA(n,32,1,8,0);Ar(n+80|0,32,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;Ho(n+164|0);return}function jo(n){n=n|0;i[n>>2]=5272;Qo(n+8|0);tA(n);return}function Io(n){n=n|0;jo(n);nh(n);return}function So(n,e){n=n|0;e=e|0;return _o(n+8|0,i[n+4>>2]|0,e)|0}function Ho(n){n=n|0;t[n+4>>0]=0;return}function Qo(n){n=n|0;or(n+80|0);ZA(n);return}function _o(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=$;$=$+16|0;A=f;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+164|0;if(Do(u)|0){e=wo(n+80|0,e,i[u>>2]|0,0)|0;i[A>>2]=e;OA(e,r)}else{ko(Fo(e)|0,r,4);i[A>>2]=BA(r)|0}Po(u,A);$=f;return r+4|0}function Do(n){n=n|0;return(t[n+4>>0]|0)!=0|0}function Po(n,e){n=n|0;e=e|0;var r=0;r=n+4|0;if(!(t[r>>0]|0))t[r>>0]=1;i[n>>2]=i[e>>2];return}function $o(n){n=n|0;uZ(n);nh(n);return}function Lo(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Ko(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==16402?n+12|0:0)|0}function qo(n){n=n|0;yn(n,16);return}function nc(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(172)|0;rc(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];tc(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ec(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(176)|0;Vc(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];pc(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function rc(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5324;i[n+4>>2]=e;Ac(n+8|0);return}function tc(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5348;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Ac(n){n=n|0;hA(n,8,1,8,0);Ar(n+80|0,8,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;oc(n+162|0);return}function ic(n){n=n|0;i[n>>2]=5324;cc(n+8|0);tA(n);return}function uc(n){n=n|0;ic(n);nh(n);return}function fc(n,e){n=n|0;e=e|0;return lc(n+8|0,i[n+4>>2]|0,e)|0}function oc(n){n=n|0;t[n+1>>0]=0;return}function cc(n){n=n|0;or(n+80|0);ZA(n);return}function lc(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0,u=0;u=$;$=$+16|0;A=u;if(!(t[n+161>>0]|0))ur(n+80|0);i=n+162|0;if(ac(i)|0){e=(wo(n+80|0,e,t[i>>0]|0,0)|0)&255;t[A>>0]=e;sc(e,r)}else{ko(Fo(e)|0,r,1);t[A>>0]=dc(r)|0}bc(i,A);$=u;return r+1|0}function ac(n){n=n|0;return(t[n+1>>0]|0)!=0|0}function sc(n,e){n=n|0;e=e|0;t[e>>0]=n;return}function dc(n){n=n|0;return t[n>>0]|0}function bc(n,e){n=n|0;e=e|0;var r=0;r=n+1|0;if(!(t[r>>0]|0))t[r>>0]=1;t[n>>0]=t[e>>0]|0;return}function hc(n){n=n|0;uZ(n);nh(n);return}function Zc(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function vc(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==16900?n+12|0:0)|0}function mc(n){n=n|0;yn(n,16);return}function Vc(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5376;i[n+4>>2]=e;yc(n+8|0);return}function pc(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5400;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function yc(n){n=n|0;hA(n,16,1,8,0);Ar(n+80|0,16,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;wc(n+162|0);return}function Rc(n){n=n|0;i[n>>2]=5376;Fc(n+8|0);tA(n);return}function Wc(n){n=n|0;Rc(n);nh(n);return}function Xc(n,e){n=n|0;e=e|0;return kc(n+8|0,i[n+4>>2]|0,e)|0}function wc(n){n=n|0;t[n+2>>0]=0;return}function Fc(n){n=n|0;or(n+80|0);ZA(n);return}function kc(n,e,r){n=n|0;e=e|0;r=r|0;var i=0,u=0,f=0;f=$;$=$+16|0;i=f;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+162|0;if(Uc(u)|0){e=(wo(n+80|0,e,A[u>>1]|0,0)|0)&65535;A[i>>1]=e;Gc(e,r)}else{ko(Fo(e)|0,r,2);A[i>>1]=zc(r)|0}Nc(u,i);$=f;return r+2|0}function Uc(n){n=n|0;return(t[n+2>>0]|0)!=0|0}function Gc(n,e){n=n|0;e=e|0;YA(n,e);return}function zc(n){n=n|0;return gA(n)|0}function Nc(n,e){n=n|0;e=e|0;var r=0;r=n+2|0;if(!(t[r>>0]|0))t[r>>0]=1;A[n>>1]=A[e>>1]|0;return}function gc(n){n=n|0;uZ(n);nh(n);return}function Tc(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Mc(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==17398?n+12|0:0)|0}function Bc(n){n=n|0;yn(n,16);return}function Jc(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(172)|0;Ec(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];xc(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function Yc(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(176)|0;qc(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];nl(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function Ec(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5428;i[n+4>>2]=e;Oc(n+8|0);return}function xc(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5452;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Oc(n){n=n|0;hA(n,8,1,8,0);Ar(n+80|0,8,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;Sc(n+162|0);return}function Cc(n){n=n|0;i[n>>2]=5428;Hc(n+8|0);tA(n);return}function jc(n){n=n|0;Cc(n);nh(n);return}function Ic(n,e){n=n|0;e=e|0;return Qc(n+8|0,i[n+4>>2]|0,e)|0}function Sc(n){n=n|0;t[n+1>>0]=0;return}function Hc(n){n=n|0;or(n+80|0);ZA(n);return}function Qc(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0,f=0;f=$;$=$+16|0;A=f;if(!(t[n+161>>0]|0))ur(n+80|0);i=n+162|0;if(_c(i)|0){e=(wo(n+80|0,e,u[i>>0]|0,0)|0)&255;t[A>>0]=e;EA(e,r)}else{ko(Fo(e)|0,r,1);t[A>>0]=TA(r)|0}Dc(i,A);$=f;return r+1|0}function _c(n){n=n|0;return(t[n+1>>0]|0)!=0|0}function Dc(n,e){n=n|0;e=e|0;var r=0;r=n+1|0;if(!(t[r>>0]|0))t[r>>0]=1;t[n>>0]=t[e>>0]|0;return}function Pc(n){n=n|0;uZ(n);nh(n);return}function $c(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Lc(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==17896?n+12|0:0)|0}function Kc(n){n=n|0;yn(n,16);return}function qc(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5480;i[n+4>>2]=e;el(n+8|0);return}function nl(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5504;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function el(n){n=n|0;hA(n,16,1,8,0);Ar(n+80|0,16,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;il(n+162|0);return}function rl(n){n=n|0;i[n>>2]=5480;ul(n+8|0);tA(n);return}function tl(n){n=n|0;rl(n);nh(n);return}function Al(n,e){n=n|0;e=e|0;return fl(n+8|0,i[n+4>>2]|0,e)|0}function il(n){n=n|0;t[n+2>>0]=0;return}function ul(n){n=n|0;or(n+80|0);ZA(n);return}function fl(n,e,r){n=n|0;e=e|0;r=r|0;var i=0,u=0,o=0;o=$;$=$+16|0;i=o;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+162|0;if(ol(u)|0){e=(wo(n+80|0,e,f[u>>1]|0,0)|0)&65535;A[i>>1]=e;YA(e,r)}else{ko(Fo(e)|0,r,2);A[i>>1]=gA(r)|0}cl(u,i);$=o;return r+2|0}function ol(n){n=n|0;return(t[n+2>>0]|0)!=0|0}function cl(n,e){n=n|0;e=e|0;var r=0;r=n+2|0;if(!(t[r>>0]|0))t[r>>0]=1;A[n>>1]=A[e>>1]|0;return}function ll(n){n=n|0;uZ(n);nh(n);return}function al(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function sl(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==18394?n+12|0:0)|0}function dl(n){n=n|0;yn(n,16);return}function bl(){return}function hl(n){n=n|0;return Wl(n)|0}function Zl(){return 0}function vl(){return 0}function ml(n){n=n|0;if(n|0){Xl(n);nh(n)}return}function Vl(){return wl()|0}function pl(){return Fl()|0}function yl(){return kl()|0}function Rl(){return 0}function Wl(n){n=n|0;return 3360}function Xl(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;t=e;i[t>>2]=i[n>>2];i[n>>2]=0;r=n+4|0;i[t+4>>2]=i[r>>2];i[r>>2]=0;bn(t);r=n+8|0;i[t>>2]=i[r>>2];i[r>>2]=0;A=n+12|0;i[t+4>>2]=i[A>>2];i[A>>2]=0;Xn(t);Xn(r);bn(n);$=e;return}function wl(){return 3360}function Fl(){return 3368}function kl(){return 3384}function Ul(){return 18579}function Gl(){return 18582}function zl(){return 18584}function Nl(){var n=0;n=Ph(16)|0;El(n);return n|0}function gl(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;r=e;A=Vl()|0;t=Ml(r)|0;r=Bl(r)|0;T(A|0,t|0,r|0,Ul()|0,12,n|0);$=e;return}function Tl(n){n=n|0;return Jl(Ev[n&3]()|0)|0}function Ml(n){n=n|0;return 1}function Bl(n){n=n|0;return Yl()|0}function Jl(n){n=n|0;return n|0}function Yl(){return 5524}function El(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;return}function xl(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Vl()|0;u=Cl(A)|0;A=jl(A)|0;e=Dl()|0;M(f|0,n|0,u|0,A|0,e|0,4,Il(t)|0,0);$=r;return}function Ol(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=Sl(e)|0;e=i[n>>2]|0;A=i[n+4>>2]|0;n=u+(A>>1)|0;if(A&1)e=i[(i[n>>2]|0)+e>>2]|0;A=Hl(r)|0;u=Ql(t)|0;Qv[e&15](n,A,u);return}function Cl(n){n=n|0;return 4}function jl(n){n=n|0;return _l()|0}function Il(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function Sl(n){n=n|0;return n|0}function Hl(n){n=n|0;return n|0}function Ql(n){n=n|0;return n|0}function _l(){return 144}function Dl(){return 18587}function Pl(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Vl()|0;u=Ll(A)|0;A=Kl(A)|0;e=ra()|0;M(f|0,n|0,u|0,A|0,e|0,7,ql(t)|0,0);$=r;return}function $l(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=Sl(e)|0;e=i[n>>2]|0;t=i[n+4>>2]|0;n=A+(t>>1)|0;if(t&1)e=i[(i[n>>2]|0)+e>>2]|0;A=na(r)|0;Hv[e&15](n,A);return}function Ll(n){n=n|0;return 3}function Kl(n){n=n|0;return ea()|0}function ql(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function na(n){n=n|0;return n|0}function ea(){return 5528}function ra(){return 18593}function ta(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Vl()|0;u=ia(A)|0;A=ua(A)|0;e=la()|0;M(f|0,n|0,u|0,A|0,e|0,41,fa(t)|0,0);$=r;return}function Aa(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;t=$;$=$+16|0;r=t;u=Sl(e)|0;e=i[n>>2]|0;A=i[n+4>>2]|0;n=u+(A>>1)|0;if(A&1)e=i[(i[n>>2]|0)+e>>2]|0;i[r>>2]=xv[e&15](n)|0;u=oa(r)|0;$=t;return u|0}function ia(n){n=n|0;return 2}function ua(n){n=n|0;return ca()|0}function fa(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function oa(n){n=n|0;return i[n>>2]|0}function ca(){return 5540}function la(){return 18598}function aa(){return}function sa(n){n=n|0;return Va(n)|0}function da(){return 0}function ba(){return 0}function ha(n){n=n|0;if(n|0){pa(n);nh(n)}return}function Za(){return ya()|0}function va(){return Ra()|0}function ma(){return Wa()|0}function Va(n){n=n|0;return 3400}function pa(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;t=e;i[t>>2]=i[n>>2];i[n>>2]=0;r=n+4|0;i[t+4>>2]=i[r>>2];i[r>>2]=0;Of(t);r=n+16|0;i[t>>2]=i[r>>2];i[r>>2]=0;A=n+20|0;i[t+4>>2]=i[A>>2];i[A>>2]=0;Ef(t);i[t>>2]=i[r>>2];i[r>>2]=0;i[t+4>>2]=i[A>>2];i[A>>2]=0;Ef(t);Ef(r);_f(n+8|0);Of(n);$=e;return}function ya(){return 3400}function Ra(){return 3408}function Wa(){return 3424}function Xa(){var n=0;n=Ph(24)|0;Na(n);return n|0}function wa(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;r=e;A=Za()|0;t=ka(r)|0;r=Ua(r)|0;T(A|0,t|0,r|0,Ul()|0,13,n|0);$=e;return}function Fa(n){n=n|0;return Ga(Ev[n&3]()|0)|0}function ka(n){n=n|0;return 1}function Ua(n){n=n|0;return za()|0}function Ga(n){n=n|0;return n|0}function za(){return 5548}function Na(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;return}function ga(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Za()|0;u=Ma(A)|0;A=Ba(A)|0;e=Dl()|0;M(f|0,n|0,u|0,A|0,e|0,5,Ja(t)|0,0);$=r;return}function Ta(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=Ya(e)|0;e=i[n>>2]|0;A=i[n+4>>2]|0;n=u+(A>>1)|0;if(A&1)e=i[(i[n>>2]|0)+e>>2]|0;A=Hl(r)|0;u=Ql(t)|0;Qv[e&15](n,A,u);return}function Ma(n){n=n|0;return 4}function Ba(n){n=n|0;return Ea()|0}function Ja(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function Ya(n){n=n|0;return n|0}function Ea(){return 160}function xa(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Za()|0;u=Ca(A)|0;A=ja(A)|0;e=ra()|0;M(f|0,n|0,u|0,A|0,e|0,8,Ia(t)|0,0);$=r;return}function Oa(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=Ya(e)|0;e=i[n>>2]|0;t=i[n+4>>2]|0;n=A+(t>>1)|0;if(t&1)e=i[(i[n>>2]|0)+e>>2]|0;A=Ql(r)|0;Hv[e&15](n,A);return}function Ca(n){n=n|0;return 3}function ja(n){n=n|0;return Sa()|0}function Ia(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function Sa(){return 5552}function Ha(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Za()|0;u=_a(A)|0;A=Da(A)|0;e=ra()|0;M(f|0,n|0,u|0,A|0,e|0,9,Pa(t)|0,0);$=r;return}function Qa(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=Ya(e)|0;e=i[n>>2]|0;t=i[n+4>>2]|0;n=A+(t>>1)|0;if(t&1)e=i[(i[n>>2]|0)+e>>2]|0;A=na(r)|0;Hv[e&15](n,A);return}function _a(n){n=n|0;return 3}function Da(n){n=n|0;return $a()|0}function Pa(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function $a(){return 5564}function La(){nn();return}function Ka(){qa();return}function qa(){ns(22144);return}function ns(n){n=n|0;var e=0;e=$;$=$+16|0;i[e>>2]=n;es();$=e;return}function es(){C(rs()|0,18653);N(ts()|0,18658,1,1,0);As(18663);is(18668);us(18680);fs(18694);os(18700);cs(18715);ls(18719);as(18732);ss(18737);ds(18751);bs(18757);x(hs()|0,18764);x(Zs()|0,18776);O(vs()|0,4,18809);O(ms()|0,2,18822);O(Vs()|0,4,18837);B(ps()|0,18852);ys(18868);Rs(18898);Ws(18935);Xs(18974);ws(19005);Fs(19045);ks(19074);Us(19112);Gs(19142);Rs(19181);Ws(19213);Xs(19246);ws(19279);Fs(19313);ks(19346);zs(19380);Ns(19411);gs(19443);return}function rs(){return Sd()|0}function ts(){return Id()|0}function As(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Cd()|0;Y(n|0,i[r>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);$=e;return}function is(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=xd()|0;Y(n|0,i[r>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);$=e;return}function us(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Yd()|0;Y(n|0,i[r>>2]|0,1,0,255);$=e;return}function fs(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Bd()|0;Y(n|0,i[r>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);$=e;return}function os(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Td()|0;Y(n|0,i[r>>2]|0,2,0,65535);$=e;return}function cs(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Nd()|0;Y(n|0,i[r>>2]|0,4,-2147483648,2147483647);$=e;return}function ls(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Gd()|0;Y(n|0,i[r>>2]|0,4,0,-1);$=e;return}function as(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=kd()|0;Y(n|0,i[r>>2]|0,4,-2147483648,2147483647);$=e;return}function ss(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=wd()|0;Y(n|0,i[r>>2]|0,4,0,-1);$=e;return}function ds(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Wd()|0;J(n|0,i[r>>2]|0,4);$=e;return}function bs(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=yd()|0;J(n|0,i[r>>2]|0,8);$=e;return}function hs(){return pd()|0}function Zs(){return Vd()|0}function vs(){return md()|0}function ms(){return vd()|0}function Vs(){return Zd()|0}function ps(){return hd()|0}function ys(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=sd()|0;n=dd()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Rs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=cd()|0;n=ld()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Ws(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=ud()|0;n=fd()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Xs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=td()|0;n=Ad()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function ws(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=nd()|0;n=ed()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Fs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Ls()|0;n=Ks()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function ks(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Ds()|0;n=Ps()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Us(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Hs()|0;n=Qs()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Gs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=js()|0;n=Is()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function zs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=xs()|0;n=Os()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Ns(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Js()|0;n=Ys()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function gs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Ts()|0;n=Ms()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Ts(){return Bs()|0}function Ms(){return 7}function Bs(){return 3440}function Js(){return Es()|0}function Ys(){return 7}function Es(){return 3448}function xs(){return Cs()|0}function Os(){return 6}function Cs(){return 3456}function js(){return Ss()|0}function Is(){return 5}function Ss(){return 3464}function Hs(){return _s()|0}function Qs(){return 4}function _s(){return 3472}function Ds(){return $s()|0}function Ps(){return 5}function $s(){return 3480}function Ls(){return qs()|0}function Ks(){return 4}function qs(){return 3488}function nd(){return rd()|0}function ed(){return 3}function rd(){return 3496}function td(){return id()|0}function Ad(){return 2}function id(){return 3504}function ud(){return od()|0}function fd(){return 1}function od(){return 3512}function cd(){return ad()|0}function ld(){return 0}function ad(){return 3520}function sd(){return bd()|0}function dd(){return 0}function bd(){return 3528}function hd(){return 3536}function Zd(){return 3544}function vd(){return 3576}function md(){return 3600}function Vd(){return 3624}function pd(){return 3648}function yd(){return Rd()|0}function Rd(){return 4144}function Wd(){return Xd()|0}function Xd(){return 4136}function wd(){return Fd()|0}function Fd(){return 4128}function kd(){return Ud()|0}function Ud(){return 4120}function Gd(){return zd()|0}function zd(){return 4112}function Nd(){return gd()|0}function gd(){return 4104}function Td(){return Md()|0}function Md(){return 4096}function Bd(){return Jd()|0}function Jd(){return 4088}function Yd(){return Ed()|0}function Ed(){return 4072}function xd(){return Od()|0}function Od(){return 4080}function Cd(){return jd()|0}function jd(){return 4064}function Id(){return 4056}function Sd(){return 4040}function Hd(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;r=e+8|0;t=e+4|0;A=e;i[A>>2]=n;i[t>>2]=i[A>>2];i[r>>2]=i[(i[t>>2]|0)+4>>2];n=Fb(i[r>>2]|0)|0;$=e;return n|0}function Qd(){return 21636}function _d(n){n=n|0;return(n+-48|0)>>>0<10|0}function Dd(){return 5576}function Pd(n,e){n=n|0;e=e|0;var r=0,A=0;r=t[n>>0]|0;A=t[e>>0]|0;if(r<<24>>24==0?1:r<<24>>24!=A<<24>>24)n=A;else{do{n=n+1|0;e=e+1|0;r=t[n>>0]|0;A=t[e>>0]|0}while(!(r<<24>>24==0?1:r<<24>>24!=A<<24>>24));n=A}return(r&255)-(n&255)|0}function $d(n){n=n|0;var e=0,r=0,A=0;A=n;n:do{if(!(A&3))r=5;else{e=A;while(1){if(!(t[n>>0]|0)){n=e;break n}n=n+1|0;e=n;if(!(e&3)){r=5;break}}}}while(0);if((r|0)==5){while(1){e=i[n>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))n=n+4|0;else break}if((e&255)<<24>>24)do{n=n+1|0}while((t[n>>0]|0)!=0)}return n-A|0}function Ld(n){n=n|0;return}function Kd(n){n=n|0;return 1}function qd(n){n=n|0;var e=0,r=0;e=n+74|0;r=t[e>>0]|0;t[e>>0]=r+255|r;e=i[n>>2]|0;if(!(e&8)){i[n+8>>2]=0;i[n+4>>2]=0;r=i[n+44>>2]|0;i[n+28>>2]=r;i[n+20>>2]=r;i[n+16>>2]=r+(i[n+48>>2]|0);n=0}else{i[n>>2]=e|32;n=-1}return n|0}function nb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0;A=r+16|0;u=i[A>>2]|0;if(!u){if(!(qd(r)|0)){u=i[A>>2]|0;f=5}else A=0}else f=5;n:do{if((f|0)==5){c=r+20|0;o=i[c>>2]|0;A=o;if((u-o|0)>>>0<e>>>0){A=jv[i[r+36>>2]&7](r,n,e)|0;break}e:do{if((t[r+75>>0]|0)<0|(e|0)==0){f=0;u=n}else{o=e;while(1){u=o+-1|0;if((t[n+u>>0]|0)==10)break;if(!u){f=0;u=n;break e}else o=u}A=jv[i[r+36>>2]&7](r,n,o)|0;if(A>>>0<o>>>0)break n;f=o;u=n+o|0;e=e-o|0;A=i[c>>2]|0}}while(0);av(A|0,u|0,e|0)|0;i[c>>2]=(i[c>>2]|0)+e;A=f+e|0}}while(0);return A|0}function eb(n,e){n=n|0;e=e|0;if(!e)e=0;else e=rb(i[e>>2]|0,i[e+4>>2]|0,n)|0;return((e|0)==0?n:e)|0}function rb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;b=(i[n>>2]|0)+1794895138|0;f=tb(i[n+8>>2]|0,b)|0;A=tb(i[n+12>>2]|0,b)|0;u=tb(i[n+16>>2]|0,b)|0;n:do{if((f>>>0<e>>>2>>>0?(d=e-(f<<2)|0,A>>>0<d>>>0&u>>>0<d>>>0):0)?((u|A)&3|0)==0:0){d=A>>>2;s=u>>>2;a=0;while(1){c=f>>>1;l=a+c|0;o=l<<1;u=o+d|0;A=tb(i[n+(u<<2)>>2]|0,b)|0;u=tb(i[n+(u+1<<2)>>2]|0,b)|0;if(!(u>>>0<e>>>0&A>>>0<(e-u|0)>>>0)){A=0;break n}if(t[n+(u+A)>>0]|0){A=0;break n}A=Pd(r,n+u|0)|0;if(!A)break;A=(A|0)<0;if((f|0)==1){A=0;break n}a=A?a:l;f=A?c:f-c|0}A=o+s|0;u=tb(i[n+(A<<2)>>2]|0,b)|0;A=tb(i[n+(A+1<<2)>>2]|0,b)|0;if(A>>>0<e>>>0&u>>>0<(e-A|0)>>>0)A=(t[n+(A+u)>>0]|0)==0?n+A|0:0;else A=0}else A=0}while(0);return A|0}function tb(n,e){n=n|0;e=e|0;var r=0;r=lv(n|0)|0;return((e|0)==0?n:r)|0}function Ab(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=e&255;A=(r|0)!=0;n:do{if(A&(n&3|0)!=0){u=e&255;while(1){if((t[n>>0]|0)==u<<24>>24){u=6;break n}n=n+1|0;r=r+-1|0;A=(r|0)!=0;if(!(A&(n&3|0)!=0)){u=5;break}}}else u=5}while(0);if((u|0)==5)if(A)u=6;else n=0;n:do{if((u|0)==6){if((t[n>>0]|0)!=(e&255)<<24>>24){A=V(f,16843009)|0;e:do{if(r>>>0>3)do{f=i[n>>2]^A;if((f&-2139062144^-2139062144)&f+-16843009|0)break e;n=n+4|0;r=r+-4|0}while(r>>>0>3)}while(0)}if(!r)n=0;else{A=e&255;while(1){if((t[n>>0]|0)==A<<24>>24)break n;r=r+-1|0;if(!r){n=0;break}else n=n+1|0}}}}while(0);return n|0}function ib(n,e,r){n=n|0;e=e|0;r=r|0;return ob(n,e,r,1,8)|0}function ub(n,e,r,A,f,o){n=n|0;e=+e;r=r|0;A=A|0;f=f|0;o=o|0;var c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0.0,v=0,m=0,p=0,y=0,R=0,X=0,w=0,F=0,k=0,U=0,G=0,z=0,N=0,g=0,T=0;T=$;$=$+560|0;a=T+32|0;y=T+536|0;g=T;N=g;s=T+540|0;i[y>>2]=0;z=s+12|0;pb(e)|0;c=W()|0;if((c|0)<0){e=-e;pb(e)|0;G=1;U=20247;c=W()|0}else{G=(f&2049|0)!=0&1;U=(f&2048|0)==0?(f&1|0)==0?20248:20253:20250}do{if(0==0&(c&2146435072|0)==2146435072){g=(o&32|0)!=0;c=G+3|0;Zb(n,32,r,c,f&-65537);lb(n,U,G);lb(n,e!=e|0.0!=0.0?g?20274:20278:g?20266:20270,3);Zb(n,32,r,c,f^8192)}else{Z=+yb(e,y)*2.0;c=Z!=0.0;if(c)i[y>>2]=(i[y>>2]|0)+-1;p=o|32;if((p|0)==97){b=o&32;v=(b|0)==0?U:U+9|0;h=G|2;c=12-A|0;do{if(!(A>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((t[v>>0]|0)==45){e=-(e+(-Z-e));break}else{e=Z+e-e;break}}else e=Z}while(0);l=i[y>>2]|0;c=(l|0)<0?0-l|0:l;c=hb(c,((c|0)<0)<<31>>31,z)|0;if((c|0)==(z|0)){c=s+11|0;t[c>>0]=48}t[c+-1>>0]=(l>>31&2)+43;d=c+-2|0;t[d>>0]=o+15;l=(A|0)<1;a=(f&8|0)==0;s=g;do{G=~~e;c=s+1|0;t[s>>0]=b|u[640+G>>0];e=(e-+(G|0))*16.0;if((c-N|0)==1?!(a&(l&e==0.0)):0){t[c>>0]=46;s=s+2|0}else s=c}while(e!=0.0);if((A|0)!=0?(-2-N+s|0)<(A|0):0){l=z;a=d;c=A+2+l-a|0}else{l=z;a=d;c=l-N-a+s|0}z=c+h|0;Zb(n,32,r,z,f);lb(n,v,h);Zb(n,48,r,z,f^65536);N=s-N|0;lb(n,g,N);g=l-a|0;Zb(n,48,c-(N+g)|0,0,0);lb(n,d,g);Zb(n,32,r,z,f^8192);c=z;break}l=(A|0)<0?6:A;if(c){c=(i[y>>2]|0)+-28|0;i[y>>2]=c;e=Z*268435456.0}else{e=Z;c=i[y>>2]|0}k=(c|0)<0?a:a+288|0;a=k;do{w=~~e>>>0;i[a>>2]=w;a=a+4|0;e=(e-+(w>>>0))*1.0e9}while(e!=0.0);w=k;if((c|0)>0){b=k;while(1){d=(c|0)<29?c:29;c=a+-4|0;if(c>>>0>=b>>>0){s=0;do{m=ov(i[c>>2]|0,0,d|0)|0;m=rv(m|0,W()|0,s|0,0)|0;R=W()|0;s=uv(m|0,R|0,1e9,0)|0;X=ev(s|0,W()|0,1e9,0)|0;X=tv(m|0,R|0,X|0,W()|0)|0;W()|0;i[c>>2]=X;c=c+-4|0}while(c>>>0>=b>>>0);if(s){X=b+-4|0;i[X>>2]=s;s=X}else s=b}else s=b;n:do{if(a>>>0>s>>>0){c=a;while(1){a=c+-4|0;if(i[a>>2]|0){a=c;break n}if(a>>>0>s>>>0)c=a;else break}}}while(0);c=(i[y>>2]|0)-d|0;i[y>>2]=c;if((c|0)>0)b=s;else break}}else s=k;if((c|0)<0){A=((l+25|0)/9|0)+1|0;m=(p|0)==102;do{v=0-c|0;v=(v|0)<9?v:9;if(s>>>0<a>>>0){d=(1<<v)+-1|0;b=1e9>>>v;h=0;c=s;do{X=i[c>>2]|0;i[c>>2]=(X>>>v)+h;h=V(X&d,b)|0;c=c+4|0}while(c>>>0<a>>>0);s=(i[s>>2]|0)==0?s+4|0:s;if(h){i[a>>2]=h;a=a+4|0}}else s=(i[s>>2]|0)==0?s+4|0:s;c=m?k:s;a=(a-c>>2|0)>(A|0)?c+(A<<2)|0:a;c=(i[y>>2]|0)+v|0;i[y>>2]=c}while((c|0)<0);m=s}else m=s;if(m>>>0<a>>>0){c=(w-m>>2)*9|0;d=i[m>>2]|0;if(d>>>0>=10){s=10;do{s=s*10|0;c=c+1|0}while(d>>>0>=s>>>0)}}else c=0;R=(p|0)==103;X=(l|0)!=0;s=l-((p|0)==102?0:c)+((X&R)<<31>>31)|0;if((s|0)<(((a-w>>2)*9|0)+-9|0)){y=s+9216|0;s=(y|0)/9|0;A=k+4+(s+-1024<<2)|0;s=y-(s*9|0)|0;if((s|0)<8){d=10;while(1){d=d*10|0;if((s|0)<7)s=s+1|0;else break}}else d=10;h=i[A>>2]|0;s=(h>>>0)/(d>>>0)|0;v=h-(V(s,d)|0)|0;b=(A+4|0)==(a|0);if(!(b&(v|0)==0)){Z=(s&1|0)==0?9007199254740992.0:9007199254740994.0;y=d>>>1;e=v>>>0<y>>>0?.5:b&(v|0)==(y|0)?1.0:1.5;if(G){y=(t[U>>0]|0)==45;e=y?-e:e;Z=y?-Z:Z}s=h-v|0;i[A>>2]=s;if(Z+e!=Z){y=s+d|0;i[A>>2]=y;if(y>>>0>999999999){d=A;c=m;while(1){s=d+-4|0;i[d>>2]=0;if(s>>>0<c>>>0){c=c+-4|0;i[c>>2]=0}y=(i[s>>2]|0)+1|0;i[s>>2]=y;if(y>>>0>999999999)d=s;else{d=c;break}}}else{s=A;d=m}c=(w-d>>2)*9|0;h=i[d>>2]|0;if(h>>>0>=10){b=10;do{b=b*10|0;c=c+1|0}while(h>>>0>=b>>>0)}}else{s=A;d=m}}else{s=A;d=m}y=s+4|0;a=a>>>0>y>>>0?y:a}else d=m;A=0-c|0;n:do{if(a>>>0>d>>>0)while(1){s=a+-4|0;if(i[s>>2]|0){y=a;p=1;break n}if(s>>>0>d>>>0)a=s;else{y=s;p=0;break}}else{y=a;p=0}}while(0);do{if(R){l=l+((X^1)&1)|0;if((l|0)>(c|0)&(c|0)>-5){b=o+-1|0;l=l+-1-c|0}else{b=o+-2|0;l=l+-1|0}if(!(f&8)){if(p?(F=i[y+-4>>2]|0,(F|0)!=0):0){if(!((F>>>0)%10|0)){s=0;a=10;do{a=a*10|0;s=s+1|0}while(!((F>>>0)%(a>>>0)|0|0))}else s=0}else s=9;a=((y-w>>2)*9|0)+-9|0;if((b|32|0)==102){o=a-s|0;o=(o|0)>0?o:0;l=(l|0)<(o|0)?l:o;break}else{o=a+c-s|0;o=(o|0)>0?o:0;l=(l|0)<(o|0)?l:o;break}}}else b=o}while(0);m=(l|0)!=0;h=m?1:f>>>3&1;v=(b|32|0)==102;if(v){R=0;c=(c|0)>0?c:0}else{a=(c|0)<0?A:c;a=hb(a,((a|0)<0)<<31>>31,z)|0;s=z;if((s-a|0)<2)do{a=a+-1|0;t[a>>0]=48}while((s-a|0)<2);t[a+-1>>0]=(c>>31&2)+43;c=a+-2|0;t[c>>0]=b;R=c;c=s-c|0}c=G+1+l+h+c|0;Zb(n,32,r,c,f);lb(n,U,G);Zb(n,48,r,c,f^65536);if(v){h=d>>>0>k>>>0?k:d;v=g+9|0;d=v;b=g+8|0;s=h;do{a=hb(i[s>>2]|0,0,v)|0;if((s|0)==(h|0)){if((a|0)==(v|0)){t[b>>0]=48;a=b}}else if(a>>>0>g>>>0){dv(g|0,48,a-N|0)|0;do{a=a+-1|0}while(a>>>0>g>>>0)}lb(n,a,d-a|0);s=s+4|0}while(s>>>0<=k>>>0);if(!((f&8|0)==0&(m^1)))lb(n,20282,1);if(s>>>0<y>>>0&(l|0)>0)while(1){a=hb(i[s>>2]|0,0,v)|0;if(a>>>0>g>>>0){dv(g|0,48,a-N|0)|0;do{a=a+-1|0}while(a>>>0>g>>>0)}lb(n,a,(l|0)<9?l:9);s=s+4|0;a=l+-9|0;if(!(s>>>0<y>>>0&(l|0)>9)){l=a;break}else l=a}Zb(n,48,l+9|0,9,0)}else{y=p?y:d+4|0;if(d>>>0<y>>>0&(l|0)>-1){A=g+9|0;m=(f&8|0)==0;p=A;h=0-N|0;v=g+8|0;b=d;do{a=hb(i[b>>2]|0,0,A)|0;if((a|0)==(A|0)){t[v>>0]=48;a=v}do{if((b|0)==(d|0)){s=a+1|0;lb(n,a,1);if(m&(l|0)<1){a=s;break}lb(n,20282,1);a=s}else{if(a>>>0<=g>>>0)break;dv(g|0,48,a+h|0)|0;do{a=a+-1|0}while(a>>>0>g>>>0)}}while(0);N=p-a|0;lb(n,a,(l|0)>(N|0)?N:l);l=l-N|0;b=b+4|0}while(b>>>0<y>>>0&(l|0)>-1)}Zb(n,48,l+18|0,18,0);lb(n,R,z-R|0)}Zb(n,32,r,c,f^8192)}}while(0);$=T;return((c|0)<(r|0)?r:c)|0}function fb(n,e){n=n|0;e=e|0;var r=0.0,t=0;t=(i[e>>2]|0)+(8-1)&~(8-1);r=+c[t>>3];i[e>>2]=t+8;c[n>>3]=r;return}function ob(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0;V=$;$=$+224|0;h=V+208|0;Z=V+160|0;v=V+80|0;m=V;f=Z;o=f+40|0;do{i[f>>2]=0;f=f+4|0}while((f|0)<(o|0));i[h>>2]=i[r>>2];if((cb(0,e,h,v,Z,A,u)|0)<0)r=-1;else{if((i[n+76>>2]|0)>-1)b=Kd(n)|0;else b=0;r=i[n>>2]|0;d=r&32;if((t[n+74>>0]|0)<1)i[n>>2]=r&-33;f=n+48|0;if(!(i[f>>2]|0)){o=n+44|0;c=i[o>>2]|0;i[o>>2]=m;l=n+28|0;i[l>>2]=m;a=n+20|0;i[a>>2]=m;i[f>>2]=80;s=n+16|0;i[s>>2]=m+80;r=cb(n,e,h,v,Z,A,u)|0;if(c){jv[i[n+36>>2]&7](n,0,0)|0;r=(i[a>>2]|0)==0?-1:r;i[o>>2]=c;i[f>>2]=0;i[s>>2]=0;i[l>>2]=0;i[a>>2]=0}}else r=cb(n,e,h,v,Z,A,u)|0;f=i[n>>2]|0;i[n>>2]=f|d;if(b|0)Ld(n);r=(f&32|0)==0?r:-1}$=V;return r|0}function cb(n,e,r,u,f,o,l){n=n|0;e=e|0;r=r|0;u=u|0;f=f|0;o=o|0;l=l|0;var a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0,p=0,y=0,R=0,X=0,w=0,F=0,k=0,U=0,G=0,z=0,N=0,g=0,T=0,M=0,B=0,J=0;B=$;$=$+64|0;g=B+56|0;M=B+40|0;k=B;G=B+48|0;z=B+60|0;i[g>>2]=e;X=(n|0)!=0;w=k+40|0;F=w;k=k+39|0;U=G+4|0;a=0;e=0;d=0;n:while(1){do{do{if((e|0)>-1)if((a|0)>(2147483647-e|0)){i[(Qd()|0)>>2]=61;e=-1;break}else{e=a+e|0;break}}while(0);v=i[g>>2]|0;a=t[v>>0]|0;if(!(a<<24>>24)){R=92;break n}s=v;e:while(1){switch(a<<24>>24){case 37:{R=10;break e}case 0:{a=s;break e}default:{}}y=s+1|0;i[g>>2]=y;a=t[y>>0]|0;s=y}e:do{if((R|0)==10){R=0;a=s;do{if((t[s+1>>0]|0)!=37)break e;a=a+1|0;s=s+2|0;i[g>>2]=s}while((t[s>>0]|0)==37)}}while(0);a=a-v|0;if(X)lb(n,v,a)}while((a|0)!=0);y=(_d(t[(i[g>>2]|0)+1>>0]|0)|0)==0;s=i[g>>2]|0;if(!y?(t[s+2>>0]|0)==36:0){V=(t[s+1>>0]|0)+-48|0;h=1;a=3}else{V=-1;h=d;a=1}a=s+a|0;i[g>>2]=a;s=t[a>>0]|0;d=(s<<24>>24)+-32|0;if(d>>>0>31|(1<<d&75913|0)==0)b=0;else{b=0;do{b=1<<d|b;a=a+1|0;i[g>>2]=a;s=t[a>>0]|0;d=(s<<24>>24)+-32|0}while(!(d>>>0>31|(1<<d&75913|0)==0))}if(s<<24>>24==42){if((_d(t[a+1>>0]|0)|0)!=0?(T=i[g>>2]|0,(t[T+2>>0]|0)==36):0){a=T+1|0;i[f+((t[a>>0]|0)+-48<<2)>>2]=10;a=i[u+((t[a>>0]|0)+-48<<3)>>2]|0;d=1;s=T+3|0}else{if(h|0){e=-1;break}if(X){y=(i[r>>2]|0)+(4-1)&~(4-1);a=i[y>>2]|0;i[r>>2]=y+4}else a=0;d=0;s=(i[g>>2]|0)+1|0}i[g>>2]=s;y=(a|0)<0;p=y?0-a|0:a;b=y?b|8192:b;y=d}else{a=ab(g)|0;if((a|0)<0){e=-1;break}p=a;y=h;s=i[g>>2]|0}do{if((t[s>>0]|0)==46){a=s+1|0;if((t[a>>0]|0)!=42){i[g>>2]=a;a=ab(g)|0;s=i[g>>2]|0;break}if(_d(t[s+2>>0]|0)|0?(N=i[g>>2]|0,(t[N+3>>0]|0)==36):0){a=N+2|0;i[f+((t[a>>0]|0)+-48<<2)>>2]=10;a=i[u+((t[a>>0]|0)+-48<<3)>>2]|0;s=N+4|0;i[g>>2]=s;break}if(y|0){e=-1;break n}if(X){m=(i[r>>2]|0)+(4-1)&~(4-1);a=i[m>>2]|0;i[r>>2]=m+4}else a=0;s=(i[g>>2]|0)+2|0;i[g>>2]=s}else a=-1}while(0);m=0;while(1){if(((t[s>>0]|0)+-65|0)>>>0>57){e=-1;break n}d=s;s=s+1|0;i[g>>2]=s;d=t[(t[d>>0]|0)+-65+(176+(m*58|0))>>0]|0;h=d&255;if((h+-1|0)>>>0>=8)break;else m=h}if(!(d<<24>>24)){e=-1;break}Z=(V|0)>-1;do{if(d<<24>>24==19){if(Z){e=-1;break n}else R=54}else{if(Z){i[f+(V<<2)>>2]=h;Z=u+(V<<3)|0;V=i[Z+4>>2]|0;R=M;i[R>>2]=i[Z>>2];i[R+4>>2]=V;R=54;break}if(!X){e=0;break n}sb(M,h,r,l);s=i[g>>2]|0;R=55}}while(0);if((R|0)==54){R=0;if(X)R=55;else a=0}e:do{if((R|0)==55){R=0;s=t[s+-1>>0]|0;s=(m|0)!=0&(s&15|0)==3?s&-33:s;d=b&-65537;V=(b&8192|0)==0?b:d;r:do{switch(s|0){case 110:switch((m&255)<<24>>24){case 0:{i[i[M>>2]>>2]=e;a=0;break e}case 1:{i[i[M>>2]>>2]=e;a=0;break e}case 2:{a=i[M>>2]|0;i[a>>2]=e;i[a+4>>2]=((e|0)<0)<<31>>31;a=0;break e}case 3:{A[i[M>>2]>>1]=e;a=0;break e}case 4:{t[i[M>>2]>>0]=e;a=0;break e}case 6:{i[i[M>>2]>>2]=e;a=0;break e}case 7:{a=i[M>>2]|0;i[a>>2]=e;i[a+4>>2]=((e|0)<0)<<31>>31;a=0;break e}default:{a=0;break e}}case 112:{s=120;a=a>>>0>8?a:8;d=V|8;R=67;break}case 88:case 120:{d=V;R=67;break}case 111:{Z=M;Z=bb(i[Z>>2]|0,i[Z+4>>2]|0,w)|0;d=F-Z|0;b=0;h=20230;a=(V&8|0)==0|(a|0)>(d|0)?a:d+1|0;d=V;R=73;break}case 105:case 100:{d=M;s=i[d>>2]|0;d=i[d+4>>2]|0;if((d|0)<0){s=tv(0,0,s|0,d|0)|0;d=W()|0;b=M;i[b>>2]=s;i[b+4>>2]=d;b=1;h=20230;R=72;break r}else{b=(V&2049|0)!=0&1;h=(V&2048|0)==0?(V&1|0)==0?20230:20232:20231;R=72;break r}}case 117:{d=M;b=0;h=20230;s=i[d>>2]|0;d=i[d+4>>2]|0;R=72;break}case 99:{t[k>>0]=i[M>>2];v=k;b=0;h=20230;Z=1;s=d;a=F;break}case 115:{m=i[M>>2]|0;m=(m|0)==0?20240:m;V=Ab(m,0,a)|0;J=(V|0)==0;v=m;b=0;h=20230;Z=J?a:V-m|0;s=d;a=J?m+a|0:V;break}case 67:{i[G>>2]=i[M>>2];i[U>>2]=0;i[M>>2]=G;h=-1;R=79;break}case 83:{if(!a){Zb(n,32,p,0,V);a=0;R=89}else{h=a;R=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{a=Ov[o&1](n,+c[M>>3],p,a,V,s)|0;break e}default:{b=0;h=20230;Z=a;s=V;a=F}}}while(0);r:do{if((R|0)==67){Z=M;Z=db(i[Z>>2]|0,i[Z+4>>2]|0,w,s&32)|0;h=M;h=(d&8|0)==0|(i[h>>2]|0)==0&(i[h+4>>2]|0)==0;b=h?0:2;h=h?20230:20230+(s>>>4)|0;R=73}else if((R|0)==72){Z=hb(s,d,w)|0;d=V;R=73}else if((R|0)==79){R=0;b=i[M>>2]|0;a=0;while(1){s=i[b>>2]|0;if(!s)break;s=vb(z,s)|0;d=(s|0)<0;if(d|s>>>0>(h-a|0)>>>0){R=83;break}a=s+a|0;if(h>>>0>a>>>0)b=b+4|0;else break}if((R|0)==83){R=0;if(d){e=-1;break n}}Zb(n,32,p,a,V);if(!a){a=0;R=89}else{d=i[M>>2]|0;b=0;while(1){s=i[d>>2]|0;if(!s){R=89;break r}s=vb(z,s)|0;b=s+b|0;if((b|0)>(a|0)){R=89;break r}lb(n,z,s);if(b>>>0>=a>>>0){R=89;break}else d=d+4|0}}}}while(0);if((R|0)==73){R=0;s=M;s=(i[s>>2]|0)!=0|(i[s+4>>2]|0)!=0;J=(a|0)!=0|s;s=F-Z+((s^1)&1)|0;v=J?Z:w;Z=J?(a|0)>(s|0)?a:s:0;s=(a|0)>-1?d&-65537:d;a=F}else if((R|0)==89){R=0;Zb(n,32,p,a,V^8192);a=(p|0)>(a|0)?p:a;break}V=a-v|0;m=(Z|0)<(V|0)?V:Z;J=m+b|0;a=(p|0)<(J|0)?J:p;Zb(n,32,a,J,s);lb(n,h,b);Zb(n,48,a,J,s^65536);Zb(n,48,m,V,0);lb(n,v,V);Zb(n,32,a,J,s^8192)}}while(0);d=y}n:do{if((R|0)==92)if(!n)if(!d)e=0;else{e=1;while(1){a=i[f+(e<<2)>>2]|0;if(!a)break;sb(u+(e<<3)|0,a,r,l);e=e+1|0;if(e>>>0>=10){e=1;break n}}while(1){if(i[f+(e<<2)>>2]|0){e=-1;break n}e=e+1|0;if(e>>>0>=10){e=1;break}}}}while(0);$=B;return e|0}function lb(n,e,r){n=n|0;e=e|0;r=r|0;if(!(i[n>>2]&32))nb(e,r,n)|0;return}function ab(n){n=n|0;var e=0,r=0;if(!(_d(t[i[n>>2]>>0]|0)|0))e=0;else{e=0;do{r=i[n>>2]|0;e=(e*10|0)+-48+(t[r>>0]|0)|0;r=r+1|0;i[n>>2]=r}while((_d(t[r>>0]|0)|0)!=0)}return e|0}function sb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0.0;n:do{if(e>>>0<=20)do{switch(e|0){case 9:{e=(i[r>>2]|0)+(4-1)&~(4-1);t=i[e>>2]|0;i[r>>2]=e+4;i[n>>2]=t;break n}case 10:{t=(i[r>>2]|0)+(4-1)&~(4-1);e=i[t>>2]|0;i[r>>2]=t+4;t=n;i[t>>2]=e;i[t+4>>2]=((e|0)<0)<<31>>31;break n}case 11:{t=(i[r>>2]|0)+(4-1)&~(4-1);e=i[t>>2]|0;i[r>>2]=t+4;t=n;i[t>>2]=e;i[t+4>>2]=0;break n}case 12:{t=(i[r>>2]|0)+(8-1)&~(8-1);e=t;A=i[e>>2]|0;e=i[e+4>>2]|0;i[r>>2]=t+8;t=n;i[t>>2]=A;i[t+4>>2]=e;break n}case 13:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;t=(t&65535)<<16>>16;A=n;i[A>>2]=t;i[A+4>>2]=((t|0)<0)<<31>>31;break n}case 14:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;A=n;i[A>>2]=t&65535;i[A+4>>2]=0;break n}case 15:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;t=(t&255)<<24>>24;A=n;i[A>>2]=t;i[A+4>>2]=((t|0)<0)<<31>>31;break n}case 16:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;A=n;i[A>>2]=t&255;i[A+4>>2]=0;break n}case 17:{A=(i[r>>2]|0)+(8-1)&~(8-1);u=+c[A>>3];i[r>>2]=A+8;c[n>>3]=u;break n}case 18:{Hv[t&15](n,r);break n}default:break n}}while(0)}while(0);return}function db(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;if(!((n|0)==0&(e|0)==0))do{r=r+-1|0;t[r>>0]=u[640+(n&15)>>0]|0|A;n=fv(n|0,e|0,4)|0;e=W()|0}while(!((n|0)==0&(e|0)==0));return r|0}function bb(n,e,r){n=n|0;e=e|0;r=r|0;if(!((n|0)==0&(e|0)==0))do{r=r+-1|0;t[r>>0]=n&7|48;n=fv(n|0,e|0,3)|0;e=W()|0}while(!((n|0)==0&(e|0)==0));return r|0}function hb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0,u=0;if(e>>>0>0|(e|0)==0&n>>>0>4294967295){do{A=n;n=uv(n|0,e|0,10,0)|0;i=e;e=W()|0;u=ev(n|0,e|0,10,0)|0;u=tv(A|0,i|0,u|0,W()|0)|0;W()|0;r=r+-1|0;t[r>>0]=u&255|48}while(i>>>0>9|(i|0)==9&A>>>0>4294967295);e=n}else e=n;if(e)do{u=e;e=(e>>>0)/10|0;r=r+-1|0;t[r>>0]=u-(e*10|0)|48}while(u>>>0>=10);return r|0}function Zb(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var i=0,u=0;u=$;$=$+256|0;i=u;if((r|0)>(t|0)&(A&73728|0)==0){A=r-t|0;dv(i|0,e<<24>>24|0,(A>>>0<256?A:256)|0)|0;if(A>>>0>255){e=r-t|0;do{lb(n,i,256);A=A+-256|0}while(A>>>0>255);A=e&255}lb(n,i,A)}$=u;return}function vb(n,e){n=n|0;e=e|0;if(!n)n=0;else n=mb(n,e,0)|0;return n|0}function mb(n,e,r){n=n|0;e=e|0;r=r|0;do{if(n){if(e>>>0<128){t[n>>0]=e;n=1;break}if(!(i[i[(Vb()|0)+176>>2]>>2]|0))if((e&-128|0)==57216){t[n>>0]=e;n=1;break}else{i[(Qd()|0)>>2]=25;n=-1;break}if(e>>>0<2048){t[n>>0]=e>>>6|192;t[n+1>>0]=e&63|128;n=2;break}if(e>>>0<55296|(e&-8192|0)==57344){t[n>>0]=e>>>12|224;t[n+1>>0]=e>>>6&63|128;t[n+2>>0]=e&63|128;n=3;break}if((e+-65536|0)>>>0<1048576){t[n>>0]=e>>>18|240;t[n+1>>0]=e>>>12&63|128;t[n+2>>0]=e>>>6&63|128;t[n+3>>0]=e&63|128;n=4;break}else{i[(Qd()|0)>>2]=25;n=-1;break}}else n=1}while(0);return n|0}function Vb(){return Dd()|0}function pb(n){n=+n;var e=0;c[l>>3]=n;e=i[l>>2]|0;R(i[l+4>>2]|0);return e|0}function yb(n,e){n=+n;e=e|0;var r=0,t=0,A=0;c[l>>3]=n;r=i[l>>2]|0;t=i[l+4>>2]|0;A=fv(r|0,t|0,52)|0;W()|0;switch(A&2047){case 0:{if(n!=0.0){n=+yb(n*18446744073709551616.0,e);r=(i[e>>2]|0)+-64|0}else r=0;i[e>>2]=r;break}case 2047:break;default:{i[e>>2]=(A&2047)+-1022;i[l>>2]=r;i[l+4>>2]=t&-2146435073|1071644672;n=+c[l>>3]}}return+n}function Rb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0;n:do{if(!r)n=0;else{while(1){A=t[n>>0]|0;i=t[e>>0]|0;if(A<<24>>24!=i<<24>>24)break;r=r+-1|0;if(!r){n=0;break n}else{n=n+1|0;e=e+1|0}}n=(A&255)-(i&255)|0}}while(0);return n|0}function Wb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;A=$;$=$+16|0;u=A;i[u>>2]=t;t=Xb(n,e,r,u)|0;$=A;return t|0}function Xb(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0,o=0,c=0;c=$;$=$+160|0;u=c+144|0;o=c;av(o|0,3672,144)|0;if((e+-1|0)>>>0>2147483646){if(!e){n=u;e=1;f=4}else{i[(Qd()|0)>>2]=61;e=-1}}else f=4;if((f|0)==4){f=-2-n|0;f=e>>>0>f>>>0?f:e;i[o+48>>2]=f;u=o+20|0;i[u>>2]=n;i[o+44>>2]=n;e=n+f|0;n=o+16|0;i[n>>2]=e;i[o+28>>2]=e;e=ib(o,r,A)|0;if(f){o=i[u>>2]|0;t[o+(((o|0)==(i[n>>2]|0))<<31>>31)>>0]=0}}$=c;return e|0}function wb(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;t=n+20|0;A=i[t>>2]|0;n=(i[n+16>>2]|0)-A|0;n=n>>>0>r>>>0?r:n;av(A|0,e|0,n|0)|0;i[t>>2]=(i[t>>2]|0)+n;return r|0}function Fb(n){n=n|0;var e=0,r=0;e=($d(n)|0)+1|0;r=DZ(e)|0;if(!r)n=0;else n=av(r|0,n|0,e|0)|0;return n|0}function kb(n,e){n=n|0;e=e|0;var r=0,A=0;r=0;while(1){if((u[656+r>>0]|0)==(n|0)){A=4;break}r=r+1|0;if((r|0)==87){n=87;A=5;break}}if((A|0)==4)if(!r)r=752;else{n=r;A=5}if((A|0)==5){r=752;do{do{A=r;r=r+1|0}while((t[A>>0]|0)!=0);n=n+-1|0}while((n|0)!=0)}return Ub(r,i[e+20>>2]|0)|0}function Ub(n,e){n=n|0;e=e|0;return eb(n,e)|0}function Gb(n){n=n|0;return kb(n,i[(zb()|0)+176>>2]|0)|0}function zb(){return Dd()|0}function Nb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;A=Gb(n)|0;n=$d(A)|0;if(n>>>0>=r>>>0){n=r+-1|0;if(!r)n=68;else{av(e|0,A|0,n|0)|0;t[e+n>>0]=0;n=68}}else{av(e|0,A|0,n+1|0)|0;n=0}return n|0}function gb(){var n=0,e=0,r=0,t=0,A=0,u=0,f=0;t=$;$=$+48|0;u=t+32|0;e=t+24|0;f=t+16|0;A=t;t=t+36|0;n=Tb()|0;if(n|0?(r=i[n>>2]|0,r|0):0){n=r+48|0;if(!(Mb(n)|0)){i[e>>2]=20420;Jb(20370,e)}e=Bb(n)|0;if((e|0)==1126902529&(W()|0)==1129074247)n=i[r+44>>2]|0;else n=r+80|0;i[t>>2]=n;r=i[r>>2]|0;n=i[r+4>>2]|0;if(jv[i[(i[954]|0)+16>>2]&7](3816,r,t)|0){f=i[t>>2]|0;f=xv[i[(i[f>>2]|0)+8>>2]&15](f)|0;i[A>>2]=20420;i[A+4>>2]=n;i[A+8>>2]=f;Jb(20284,A)}else{i[f>>2]=20420;i[f+4>>2]=n;Jb(20329,f)}}Jb(20408,u)}function Tb(){return 21640}function Mb(n){n=n|0;n=Bb(n)|0;return(n&-256|0)==1126902528&(W()|0)==1129074247|0}function Bb(n){n=n|0;var e=0;e=n;n=i[e>>2]|0;R(i[e+4>>2]|0);return n|0}function Jb(n,e){n=n|0;e=e|0;P()}function Yb(n){n=n|0;return}function Eb(n){n=n|0;Yb(n);nh(n);return}function xb(n){n=n|0;return}function Ob(n){n=n|0;return}function Cb(n,e,r){n=n|0;e=e|0;r=r|0;var u=0,f=0,o=0,c=0,l=0,a=0;a=$;$=$+64|0;c=a;if(!(Hb(n,e,0)|0)){if((e|0)!=0?(l=Pb(e,3840,3824,0)|0,(l|0)!=0):0){i[c>>2]=l;i[c+4>>2]=0;i[c+8>>2]=n;i[c+12>>2]=-1;n=c+16|0;e=c+24|0;u=c+48|0;f=n;o=f+36|0;do{i[f>>2]=0;f=f+4|0}while((f|0)<(o|0));A[n+36>>1]=0;t[n+38>>0]=0;i[u>>2]=1;_v[i[(i[l>>2]|0)+28>>2]&7](l,c,i[r>>2]|0,1);if((i[e>>2]|0)==1){i[r>>2]=i[n>>2];n=1}else n=0}else n=0}else n=1;$=a;return n|0}function jb(n,e,r,t,A,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;u=u|0;if(Hb(n,i[e+8>>2]|0,u)|0)Db(0,e,r,t,A);return}function Ib(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0;do{if(!(Hb(n,i[e+8>>2]|0,u)|0)){if(Hb(n,i[e>>2]|0,u)|0){if((i[e+16>>2]|0)!=(r|0)?(f=e+20|0,(i[f>>2]|0)!=(r|0)):0){i[e+32>>2]=A;i[f>>2]=r;u=e+40|0;i[u>>2]=(i[u>>2]|0)+1;if((i[e+36>>2]|0)==1?(i[e+24>>2]|0)==2:0)t[e+54>>0]=1;i[e+44>>2]=4;break}if((A|0)==1)i[e+32>>2]=1}}else _b(0,e,r,A)}while(0);return}function Sb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;if(Hb(n,i[e+8>>2]|0,0)|0)Qb(0,e,r,t);return}function Hb(n,e,r){n=n|0;e=e|0;r=r|0;if(r){if((n|0)==(e|0))n=1;else n=(Pd(i[n+4>>2]|0,i[e+4>>2]|0)|0)==0}else n=(i[n+4>>2]|0)==(i[e+4>>2]|0);return n|0}function Qb(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0;n=e+16|0;u=i[n>>2]|0;do{if(u){if((u|0)!=(r|0)){A=e+36|0;i[A>>2]=(i[A>>2]|0)+1;i[e+24>>2]=2;t[e+54>>0]=1;break}n=e+24|0;if((i[n>>2]|0)==2)i[n>>2]=A}else{i[n>>2]=r;i[e+24>>2]=A;i[e+36>>2]=1}}while(0);return}function _b(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;if((i[e+4>>2]|0)==(r|0)?(A=e+28|0,(i[A>>2]|0)!=1):0)i[A>>2]=t;return}function Db(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;t[e+53>>0]=1;do{if((i[e+4>>2]|0)==(A|0)){t[e+52>>0]=1;n=e+16|0;A=i[n>>2]|0;if(!A){i[n>>2]=r;i[e+24>>2]=u;i[e+36>>2]=1;if(!((u|0)==1?(i[e+48>>2]|0)==1:0))break;t[e+54>>0]=1;break}if((A|0)!=(r|0)){u=e+36|0;i[u>>2]=(i[u>>2]|0)+1;t[e+54>>0]=1;break}A=e+24|0;n=i[A>>2]|0;if((n|0)==2){i[A>>2]=u;n=u}if((n|0)==1?(i[e+48>>2]|0)==1:0)t[e+54>>0]=1}}while(0);return}function Pb(n,e,r,u){n=n|0;e=e|0;r=r|0;u=u|0;var f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;h=$;$=$+64|0;d=h;s=i[n>>2]|0;b=n+(i[s+-8>>2]|0)|0;s=i[s+-4>>2]|0;i[d>>2]=r;i[d+4>>2]=n;i[d+8>>2]=e;i[d+12>>2]=u;n=d+16|0;e=d+20|0;u=d+24|0;f=d+28|0;o=d+32|0;c=d+40|0;l=n;a=l+36|0;do{i[l>>2]=0;l=l+4|0}while((l|0)<(a|0));A[n+36>>1]=0;t[n+38>>0]=0;n:do{if(Hb(s,r,0)|0){i[d+48>>2]=1;Pv[i[(i[s>>2]|0)+20>>2]&3](s,d,b,b,1,0);n=(i[u>>2]|0)==1?b:0}else{Dv[i[(i[s>>2]|0)+24>>2]&3](s,d,b,1,0);switch(i[d+36>>2]|0){case 0:{n=(i[c>>2]|0)==1&(i[f>>2]|0)==1&(i[o>>2]|0)==1?i[e>>2]|0:0;break n}case 1:break;default:{n=0;break n}}if((i[u>>2]|0)!=1?!((i[c>>2]|0)==0&(i[f>>2]|0)==1&(i[o>>2]|0)==1):0){n=0;break}n=i[n>>2]|0}}while(0);$=h;return n|0}function $b(n){n=n|0;Yb(n);nh(n);return}function Lb(n,e,r,t,A,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;u=u|0;if(Hb(n,i[e+8>>2]|0,u)|0)Db(0,e,r,t,A);else{n=i[n+8>>2]|0;Pv[i[(i[n>>2]|0)+20>>2]&3](n,e,r,t,A,u)}return}function Kb(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0,c=0;n:do{if(!(Hb(n,i[e+8>>2]|0,u)|0)){if(!(Hb(n,i[e>>2]|0,u)|0)){o=i[n+8>>2]|0;Dv[i[(i[o>>2]|0)+24>>2]&3](o,e,r,A,u);break}if((i[e+16>>2]|0)!=(r|0)?(o=e+20|0,(i[o>>2]|0)!=(r|0)):0){i[e+32>>2]=A;A=e+44|0;do{if((i[A>>2]|0)!=4){f=e+52|0;t[f>>0]=0;c=e+53|0;t[c>>0]=0;n=i[n+8>>2]|0;Pv[i[(i[n>>2]|0)+20>>2]&3](n,e,r,r,1,u);if(t[c>>0]|0){c=(t[f>>0]|0)==0;i[A>>2]=3;if(c)break;else break n}else{i[A>>2]=4;break}}}while(0);i[o>>2]=r;c=e+40|0;i[c>>2]=(i[c>>2]|0)+1;if((i[e+36>>2]|0)!=1)break;if((i[e+24>>2]|0)!=2)break;t[e+54>>0]=1;break}if((A|0)==1)i[e+32>>2]=1}else _b(0,e,r,A)}while(0);return}function qb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;if(Hb(n,i[e+8>>2]|0,0)|0)Qb(0,e,r,t);else{n=i[n+8>>2]|0;_v[i[(i[n>>2]|0)+28>>2]&7](n,e,r,t)}return}function nh(n){n=n|0;PZ(n);return}function eh(n){n|0;return}function rh(){var n=0,e=0;Tb()|0;if((n|0?(i[n>>2]|0,e|0):0)?Mb(e+48|0)|0:0)th(i[e+12>>2]|0);th(Ah()|0)}function th(n){n|0;var e=0;$;$=$+16|0;Iv[n&3]();Jb(20559,e)}function Ah(){return 2}function ih(n){n=n|0;return}function uh(n){n=n|0;nh(n);return}function fh(n){n=n|0;return 20599}function oh(n){n=n|0;i[n>>2]=5916;sh(n+4|0);return}function ch(n){n=n|0;oh(n);nh(n);return}function lh(n){n=n|0;return ah(n+4|0)|0}function ah(n){n=n|0;return i[n>>2]|0}function sh(n){n=n|0;var e=0,r=0;if(dh(n)|0?(e=bh(i[n>>2]|0)|0,r=e+8|0,n=i[r>>2]|0,i[r>>2]=n+-1,(n|0)<1):0)nh(e);return}function dh(n){n=n|0;return 1}function bh(n){n=n|0;return n+-12|0}function hh(n){n=n|0;i[n>>2]=5936;sh(n+4|0);return}function Zh(n){n=n|0;hh(n);nh(n);return}function vh(n){n=n|0;return ah(n+4|0)|0}function mh(n){n=n|0;oh(n);nh(n);return}function Vh(n){n=n|0;oh(n);nh(n);return}function ph(){var n=0;n=$;$=$+16|0;Jb(20848,n)}function yh(n){n=n|0;Yb(n);nh(n);return}function Rh(n,e,r){n=n|0;e=e|0;r=r|0;return Hb(n,e,0)|0}function Wh(n){n=n|0;Yb(n);nh(n);return}function Xh(n,e,r){n=n|0;e=e|0;r=r|0;var u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0;d=$;$=$+64|0;a=d;do{if(!(Hb(e,4048,0)|0)){if(wh(n,e,0)|0){e=i[r>>2]|0;if(!e){e=1;break}i[r>>2]=i[e>>2];e=1;break}if((e|0)!=0?(u=Pb(e,3840,3976,0)|0,(u|0)!=0):0){e=i[r>>2]|0;if(e|0)i[r>>2]=i[e>>2];e=i[u+8>>2]|0;o=n+8|0;f=i[o>>2]|0;if((e&7&(f^7)|0)==0?((e&96^96)&f|0)==0:0){f=n+12|0;n=i[f>>2]|0;u=u+12|0;e=i[u>>2]|0;if(!(Hb(n,e,0)|0)){if(Hb(n,4040,0)|0){if(!e){e=1;break}e=(Pb(e,3840,3992,0)|0)==0;break}if(n){e=Pb(n,3840,3976,0)|0;if(e|0){if(!(i[o>>2]&1)){e=0;break}e=Fh(e,i[u>>2]|0)|0;break}e=i[f>>2]|0;if(e){e=Pb(e,3840,4008,0)|0;if(e|0){if(!(i[o>>2]&1)){e=0;break}e=kh(e,i[u>>2]|0)|0;break}e=i[f>>2]|0;if((((e|0)!=0?(c=Pb(e,3840,3824,0)|0,(c|0)!=0):0)?(l=i[u>>2]|0,(l|0)!=0):0)?(s=Pb(l,3840,3824,0)|0,(s|0)!=0):0){i[a>>2]=s;i[a+4>>2]=0;i[a+8>>2]=c;i[a+12>>2]=-1;e=a+16|0;n=a+24|0;u=a+48|0;f=e;o=f+36|0;do{i[f>>2]=0;f=f+4|0}while((f|0)<(o|0));A[e+36>>1]=0;t[e+38>>0]=0;i[u>>2]=1;_v[i[(i[s>>2]|0)+28>>2]&7](s,a,i[r>>2]|0,1);do{if((i[n>>2]|0)==1){if(!(i[r>>2]|0)){e=1;break}i[r>>2]=i[e>>2];e=1}else e=0}while(0)}else e=0}else e=0}else e=0}else e=1}else e=0}else e=0}else{i[r>>2]=0;e=1}}while(0);$=d;return e|0}function wh(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;if(!(i[n+8>>2]&24)){if((e|0)!=0?(t=Pb(e,3840,3960,0)|0,(t|0)!=0):0){r=(i[t+8>>2]&24|0)!=0;A=5}else r=0}else{r=1;A=5}if((A|0)==5)r=Hb(n,e,r)|0;return r|0}function Fh(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;while(1){if(!e){e=0;break}r=Pb(e,3840,3976,0)|0;if(!r){e=0;break}A=i[n+8>>2]|0;if(i[r+8>>2]&~A|0){e=0;break}t=n+12|0;e=i[t>>2]|0;r=r+12|0;if(Hb(e,i[r>>2]|0,0)|0){e=1;break}if((A&1|0)==0|(e|0)==0){e=0;break}n=Pb(e,3840,3976,0)|0;if(!n){f=9;break}e=i[r>>2]|0}if((f|0)==9){e=i[t>>2]|0;if((e|0)!=0?(u=Pb(e,3840,4008,0)|0,(u|0)!=0):0)e=kh(u,i[r>>2]|0)|0;else e=0}return e|0}function kh(n,e){n=n|0;e=e|0;var r=0;if((((e|0)!=0?(r=Pb(e,3840,4008,0)|0,(r|0)!=0):0)?(i[r+8>>2]&~i[n+8>>2]|0)==0:0)?Hb(i[n+12>>2]|0,i[r+12>>2]|0,0)|0:0)n=Hb(i[n+16>>2]|0,i[r+16>>2]|0,0)|0;else n=0;return n|0}function Uh(n){n=n|0;Yb(n);nh(n);return}function Gh(n,e,r,A,u,f){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;f=f|0;var o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0;if(Hb(n,i[e+8>>2]|0,f)|0)Db(0,e,r,A,u);else{v=e+52|0;c=t[v>>0]|0;Z=e+53|0;o=t[Z>>0]|0;h=i[n+12>>2]|0;s=n+16+(h<<3)|0;t[v>>0]=0;t[Z>>0]=0;Th(n+16|0,e,r,A,u,f);l=t[v>>0]|0;c=l|c;a=t[Z>>0]|0;o=a|o;n:do{if((h|0)>1){d=e+24|0;b=n+8|0;h=e+54|0;n=n+24|0;do{o=o&1;c=c&1;if(t[h>>0]|0)break n;if(!(l<<24>>24)){if(a<<24>>24?(i[b>>2]&1|0)==0:0)break n}else{if((i[d>>2]|0)==1)break n;if(!(i[b>>2]&2))break n}t[v>>0]=0;t[Z>>0]=0;Th(n,e,r,A,u,f);l=t[v>>0]|0;c=l|c;a=t[Z>>0]|0;o=a|o;n=n+8|0}while(n>>>0<s>>>0)}}while(0);t[v>>0]=c<<24>>24!=0&1;t[Z>>0]=o<<24>>24!=0&1}return}function zh(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;n:do{if(!(Hb(n,i[e+8>>2]|0,u)|0)){if(!(Hb(n,i[e>>2]|0,u)|0)){h=i[n+12>>2]|0;l=n+16+(h<<3)|0;Mh(n+16|0,e,r,A,u);f=n+24|0;if((h|0)<=1)break;n=i[n+8>>2]|0;if((n&2|0)==0?(c=e+36|0,(i[c>>2]|0)!=1):0){if(!(n&1)){n=e+54|0;while(1){if(t[n>>0]|0)break n;if((i[c>>2]|0)==1)break n;Mh(f,e,r,A,u);f=f+8|0;if(f>>>0>=l>>>0)break n}}n=e+24|0;o=e+54|0;while(1){if(t[o>>0]|0)break n;if((i[c>>2]|0)==1?(i[n>>2]|0)==1:0)break n;Mh(f,e,r,A,u);f=f+8|0;if(f>>>0>=l>>>0)break n}}n=e+54|0;while(1){if(t[n>>0]|0)break n;Mh(f,e,r,A,u);f=f+8|0;if(f>>>0>=l>>>0)break n}}if((i[e+16>>2]|0)!=(r|0)?(h=e+20|0,(i[h>>2]|0)!=(r|0)):0){i[e+32>>2]=A;b=e+44|0;if((i[b>>2]|0)!=4){c=n+16+(i[n+12>>2]<<3)|0;l=e+52|0;A=e+53|0;a=e+54|0;s=n+8|0;d=e+24|0;f=0;o=n+16|0;n=0;e:while(1){if(o>>>0>=c>>>0){o=18;break}t[l>>0]=0;t[A>>0]=0;Th(o,e,r,r,1,u);if(t[a>>0]|0){o=18;break}do{if(t[A>>0]|0){if(!(t[l>>0]|0))if(!(i[s>>2]&1)){o=19;break e}else{n=1;break}if((i[d>>2]|0)==1){f=1;o=19;break e}if(!(i[s>>2]&2)){f=1;o=19;break e}else{f=1;n=1}}}while(0);o=o+8|0}if((o|0)==18)if(n)o=19;else n=4;if((o|0)==19)n=3;i[b>>2]=n;if(f&1)break}i[h>>2]=r;r=e+40|0;i[r>>2]=(i[r>>2]|0)+1;if((i[e+36>>2]|0)!=1)break;if((i[e+24>>2]|0)!=2)break;t[e+54>>0]=1;break}if((A|0)==1)i[e+32>>2]=1}else _b(0,e,r,A)}while(0);return}function Nh(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0;n:do{if(!(Hb(n,i[e+8>>2]|0,0)|0)){f=i[n+12>>2]|0;u=n+16+(f<<3)|0;gh(n+16|0,e,r,A);if((f|0)>1){f=e+54|0;n=n+24|0;do{gh(n,e,r,A);if(t[f>>0]|0)break n;n=n+8|0}while(n>>>0<u>>>0)}}else Qb(0,e,r,A)}while(0);return}function gh(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=i[n+4>>2]|0;if(r){A=u>>8;if(u&1)A=i[(i[r>>2]|0)+A>>2]|0}else A=0;n=i[n>>2]|0;_v[i[(i[n>>2]|0)+28>>2]&7](n,e,r+A|0,(u&2|0)==0?2:t);return}function Th(n,e,r,t,A,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;u=u|0;var f=0,o=0;o=i[n+4>>2]|0;f=o>>8;if(o&1)f=i[(i[t>>2]|0)+f>>2]|0;n=i[n>>2]|0;Pv[i[(i[n>>2]|0)+20>>2]&3](n,e,r,t+f|0,(o&2|0)==0?2:A,u);return}function Mh(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0,f=0;f=i[n+4>>2]|0;u=f>>8;if(f&1)u=i[(i[r>>2]|0)+u>>2]|0;n=i[n>>2]|0;Dv[i[(i[n>>2]|0)+24>>2]&3](n,e,r+u|0,(f&2|0)==0?2:t,A);return}function Bh(n){n=n|0;i[n>>2]=5896;return}function Jh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;Yh(r,n);n=Eh(r)|0;$=e;return n|0}function Yh(n,e){n=n|0;e=e|0;Ih(n,e);return}function Eh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;xh(r,i[n+4>>2]|0);if(!((Oh(r)|0)<<24>>24))n=jh(Ch(n)|0)|0;else n=0;$=e;return n|0}function xh(n,e){n=n|0;e=e|0;i[n>>2]=e;return}function Oh(n){n=n|0;return t[i[n>>2]>>0]|0}function Ch(n){n=n|0;return n|0}function jh(n){n=n|0;var e=0,r=0,A=0,u=0;u=$;$=$+16|0;A=u;n=i[n+8>>2]|0;e=t[n>>0]|0;do{if(e<<24>>24!=1){if(!(e&2)){t[n>>0]=2;r=1;break}else Jb(20985,A)}else r=0}while(0);$=u;return r|0}function Ih(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=e;i[n+8>>2]=e+1;i[n+12>>2]=0;return}function Sh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;Yh(r,n);Hh(r);$=e;return}function Hh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;xh(r,i[n+4>>2]|0);Qh(r);_h(Ch(n)|0);$=e;return}function Qh(n){n=n|0;t[i[n>>2]>>0]=1;return}function _h(n){n=n|0;t[i[n+8>>2]>>0]=1;return}function Dh(){return 0}function Ph(n){n=n|0;var e=0,r=0;r=(n|0)==0?1:n;while(1){e=DZ(r)|0;if(e|0){n=6;break}n=Dh()|0;if(!n){n=5;break}Iv[n&3]()}if((n|0)==5){r=X(4)|0;Bh(r);F(r|0,3880,121)}else if((n|0)==6)return e|0;return 0}function $h(n){n=n|0;return Ph(n)|0}function Lh(n){n=n|0;nh(n);return}function Kh(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=$;$=$+16|0;t=A;i[t>>2]=i[r>>2];n=jv[i[(i[n>>2]|0)+16>>2]&7](n,e,t)|0;if(n)i[r>>2]=i[t>>2];$=A;return n&1|0}function qh(n){n=n|0;if(!n)n=0;else n=(Pb(n,3840,3976,0)|0)!=0&1;return n|0}function nZ(n){n=n|0;return 0}function eZ(){return(rZ()|0)>0|0}function rZ(){return k()|0}function tZ(n){n=n|0;return}function AZ(n){n=n|0;tZ(n);nh(n);return}function iZ(n){n=n|0;return 21039}function uZ(n){n=n|0;return}function fZ(n){n=n|0;var e=0,r=0;e=n+8|0;if(!((i[e>>2]|0)!=0?(r=i[e>>2]|0,i[e>>2]=r+-1,(r|0)!=0):0))Sv[i[(i[n>>2]|0)+16>>2]&255](n);return}function oZ(n){n=n|0;n=nZ(n)|0;if(!n)return;else QZ(n,21145)}function cZ(n){n=n|0;return}function lZ(n,e){n=n|0;e=e|0;var r=0,t=0;t=$d(e)|0;r=Ph(t+13|0)|0;i[r>>2]=t;i[r+4>>2]=t;i[r+8>>2]=0;r=aZ(r)|0;av(r|0,e|0,t+1|0)|0;i[n>>2]=r;return}function aZ(n){n=n|0;return n+12|0}function sZ(n,e){n=n|0;e=e|0;i[n>>2]=5916;lZ(n+4|0,e);return}function dZ(n,e){n=n|0;e=e|0;i[n>>2]=5936;lZ(n+4|0,(t[e+11>>0]|0)<0?i[e>>2]|0:e);return}function bZ(n,e){n=n|0;e=e|0;i[n>>2]=5936;lZ(n+4|0,e);return}function hZ(n){n=n|0;n=X(8)|0;sZ(n,21163);i[n>>2]=5956;F(n|0,3928,123)}function ZZ(n){n=n|0;n=X(8)|0;sZ(n,21163);i[n>>2]=5976;F(n|0,3944,123)}function vZ(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0;u=$;$=$+16|0;A=u;if(r>>>0>4294967279)hZ(n);if(r>>>0<11)t[n+11>>0]=r;else{o=r+16&-16;f=Ph(o)|0;i[n>>2]=f;i[n+8>>2]=o|-2147483648;i[n+4>>2]=r;n=f}mZ(n,e,r)|0;t[A>>0]=0;ie(n+r|0,A);$=u;return}function mZ(n,e,r){n=n|0;e=e|0;r=r|0;if(r|0)av(n|0,e|0,r|0)|0;return n|0}function VZ(n){n=n|0;if((t[n+11>>0]|0)<0)yn(i[n>>2]|0,i[n+8>>2]&2147483647);return}function pZ(n,e,r,A,u,f,o,c){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;f=f|0;o=o|0;c=c|0;var l=0,a=0,s=0,d=0,b=0;b=$;$=$+16|0;d=b;if((-18-e|0)>>>0<r>>>0)hZ(n);if((t[n+11>>0]|0)<0)s=i[n>>2]|0;else s=n;if(e>>>0<2147483623){l=r+e|0;a=e<<1;l=l>>>0<a>>>0?a:l;l=l>>>0<11?11:l+16&-16}else l=-17;a=Ph(l)|0;if(u|0)mZ(a,s,u)|0;if(o|0)mZ(a+u|0,c,o)|0;A=A-f|0;r=A-u|0;if(r|0)mZ(a+u+o|0,s+u+f|0,r)|0;r=e+1|0;if((r|0)!=11)yn(s,r);i[n>>2]=a;i[n+8>>2]=l|-2147483648;o=A+o|0;i[n+4>>2]=o;t[d>>0]=0;ie(a+o|0,d);$=b;return}function yZ(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;l=$;$=$+16|0;o=l;c=n+11|0;A=t[c>>0]|0;f=A<<24>>24<0;if(f){u=(i[n+8>>2]&2147483647)+-1|0;A=i[n+4>>2]|0}else{u=10;A=A&255}if((u-A|0)>>>0>=r>>>0){if(r|0){if(f)u=i[n>>2]|0;else u=n;mZ(u+A|0,e,r)|0;A=A+r|0;if((t[c>>0]|0)<0)i[n+4>>2]=A;else t[c>>0]=A;t[o>>0]=0;ie(u+A|0,o)}}else pZ(n,u,A+r-u|0,A,A,0,r,e);$=l;return n|0}function RZ(n,e){n=n|0;e=e|0;return yZ(n,e,te(e)|0)|0}function WZ(n,e,r){n=n|0;e=e|0;r=r|0;if(!r)n=0;else n=Rb(n,e,r)|0;return n|0}function XZ(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0;f=t[n+11>>0]|0;o=f<<24>>24<0;if(o)f=i[n+4>>2]|0;else f=f&255;if((u|0)==-1|f>>>0<e>>>0)ZZ(n);f=f-e|0;r=f>>>0<r>>>0?f:r;if(o)n=i[n>>2]|0;f=r>>>0>u>>>0;n=WZ(n+e|0,A,f?u:r)|0;if(!n)return(r>>>0<u>>>0?-1:f&1)|0;else return n|0;return 0}function wZ(n){n=n|0;return}function FZ(n){n=n|0;nh(n);return}function kZ(n){n=n|0;return 21228}function UZ(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=r;i[n+4>>2]=e;return}function GZ(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=$;$=$+16|0;t=A;Qv[i[(i[n>>2]|0)+12>>2]&15](t,n,e);if((i[t+4>>2]|0)==(i[r+4>>2]|0))n=(i[t>>2]|0)==(i[r>>2]|0);else n=0;$=A;return n|0}function zZ(n,e,r){n=n|0;e=e|0;r=r|0;return((i[e>>2]|0)==(r|0)?(i[e+4>>2]|0)==(n|0):0)|0}function NZ(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)>256)vZ(n,21176,te(21176)|0);else gZ(n,0,r);return}function gZ(n,e,r){n=n|0;e=e|0;r=r|0;TZ(n,r);return}function TZ(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0;o=$;$=$+1040|0;u=o+1024|0;r=o;f=i[(Qd()|0)>>2]|0;A=MZ(Nb(e,r,1024)|0,r)|0;if(!(t[A>>0]|0)){i[u>>2]=e;Wb(r,1024,21211,u)|0}else r=A;i[(Qd()|0)>>2]=f;vZ(n,r,te(r)|0);$=o;return}function MZ(n,e){n=n|0;e=e|0;var r=0,t=0;switch(n|0){case 0:{r=e;break}case-1:{n=i[(Qd()|0)>>2]|0;t=3;break}default:t=3}if((t|0)==3)if((n|0)==28)r=22145;else S();return r|0}function BZ(n){n=n|0;nh(n);return}function JZ(n){n=n|0;return 21353}function YZ(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)>256){xZ()|0;e=6180}else{OZ()|0;e=6176}i[n>>2]=r;i[n+4>>2]=e;return}function EZ(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)>256)vZ(n,21319,te(21319)|0);else gZ(n,0,r);return}function xZ(){if((t[21488]|0)==0?Jh(21488)|0:0)Sh(21488);return 6180}function OZ(){if((t[21480]|0)==0?Jh(21480)|0:0)Sh(21480);return 6176}function CZ(n){n=n|0;hh(n);return}function jZ(n){n=n|0;CZ(n);nh(n);return}function IZ(n,e){n=n|0;e=e|0;var r=0;r=i[e+4>>2]|0;Qv[i[(i[r>>2]|0)+24>>2]&15](n,r,i[e>>2]|0);return}function SZ(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=$;$=$+16|0;u=f;if(i[e>>2]|0){A=t[r+11>>0]|0;if(A<<24>>24<0)A=i[r+4>>2]|0;else A=A&255;if(A|0)RZ(r,21417)|0;IZ(u,e);e=t[u+11>>0]|0;A=e<<24>>24<0;yZ(r,A?i[u>>2]|0:u,A?i[u+4>>2]|0:e&255)|0;VZ(u)}i[n>>2]=i[r>>2];i[n+4>>2]=i[r+4>>2];i[n+8>>2]=i[r+8>>2];A=0;while(1){if((A|0)==3)break;i[r+(A<<2)>>2]=0;A=A+1|0}$=f;return}function HZ(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0;t=$;$=$+32|0;u=t+12|0;A=t;vZ(A,r,te(r)|0);SZ(u,e,A);dZ(n,u);VZ(u);VZ(A);i[n>>2]=6192;A=e;e=i[A+4>>2]|0;r=n+8|0;i[r>>2]=i[A>>2];i[r+4>>2]=e;$=t;return}function QZ(n,e){n=n|0;e=e|0;var r=0,t=0,A=0;A=$;$=$+16|0;t=A+8|0;r=X(16)|0;xZ()|0;i[A>>2]=n;i[A+4>>2]=6180;i[t>>2]=i[A>>2];i[t+4>>2]=i[A+4>>2];HZ(r,t,e);F(r|0,4272,136)}function _Z(n){n=n|0;n=X(8)|0;sZ(n,21420);i[n>>2]=5956;F(n|0,3928,123)}function DZ(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0,p=0,y=0,R=0;R=$;$=$+16|0;d=R;do{if(n>>>0<245){l=n>>>0<11?16:n+11&-8;n=l>>>3;s=i[5412]|0;r=s>>>n;if(r&3|0){e=(r&1^1)+n|0;n=21688+(e<<1<<2)|0;r=n+8|0;t=i[r>>2]|0;A=t+8|0;u=i[A>>2]|0;if((u|0)==(n|0))i[5412]=s&~(1<<e);else{i[u+12>>2]=n;i[r>>2]=u}y=e<<3;i[t+4>>2]=y|3;y=t+y+4|0;i[y>>2]=i[y>>2]|1;y=A;$=R;return y|0}a=i[5414]|0;if(l>>>0>a>>>0){if(r|0){e=2<<n;e=r<<n&(e|0-e);e=(e&0-e)+-1|0;o=e>>>12&16;e=e>>>o;r=e>>>5&8;e=e>>>r;u=e>>>2&4;e=e>>>u;n=e>>>1&2;e=e>>>n;t=e>>>1&1;t=(r|o|u|n|t)+(e>>>t)|0;e=21688+(t<<1<<2)|0;n=e+8|0;u=i[n>>2]|0;o=u+8|0;r=i[o>>2]|0;if((r|0)==(e|0)){n=s&~(1<<t);i[5412]=n}else{i[r+12>>2]=e;i[n>>2]=r;n=s}y=t<<3;f=y-l|0;i[u+4>>2]=l|3;A=u+l|0;i[A+4>>2]=f|1;i[u+y>>2]=f;if(a|0){t=i[5417]|0;e=a>>>3;r=21688+(e<<1<<2)|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=t;i[e+12>>2]=t;i[t+8>>2]=e;i[t+12>>2]=r}i[5414]=f;i[5417]=A;y=o;$=R;return y|0}u=i[5413]|0;if(u){r=(u&0-u)+-1|0;A=r>>>12&16;r=r>>>A;t=r>>>5&8;r=r>>>t;f=r>>>2&4;r=r>>>f;o=r>>>1&2;r=r>>>o;c=r>>>1&1;c=i[21952+((t|A|f|o|c)+(r>>>c)<<2)>>2]|0;r=c;o=c;c=(i[c+4>>2]&-8)-l|0;while(1){n=i[r+16>>2]|0;if(!n){n=i[r+20>>2]|0;if(!n)break}f=(i[n+4>>2]&-8)-l|0;A=f>>>0<c>>>0;r=n;o=A?n:o;c=A?f:c}f=o+l|0;if(f>>>0>o>>>0){A=i[o+24>>2]|0;e=i[o+12>>2]|0;do{if((e|0)==(o|0)){n=o+20|0;e=i[n>>2]|0;if(!e){n=o+16|0;e=i[n>>2]|0;if(!e){r=0;break}}while(1){t=e+20|0;r=i[t>>2]|0;if(!r){t=e+16|0;r=i[t>>2]|0;if(!r)break;else{e=r;n=t}}else{e=r;n=t}}i[n>>2]=0;r=e}else{r=i[o+8>>2]|0;i[r+12>>2]=e;i[e+8>>2]=r;r=e}}while(0);do{if(A|0){e=i[o+28>>2]|0;n=21952+(e<<2)|0;if((o|0)==(i[n>>2]|0)){i[n>>2]=r;if(!r){i[5413]=u&~(1<<e);break}}else{y=A+16|0;i[((i[y>>2]|0)==(o|0)?y:A+20|0)>>2]=r;if(!r)break}i[r+24>>2]=A;e=i[o+16>>2]|0;if(e|0){i[r+16>>2]=e;i[e+24>>2]=r}e=i[o+20>>2]|0;if(e|0){i[r+20>>2]=e;i[e+24>>2]=r}}}while(0);if(c>>>0<16){y=c+l|0;i[o+4>>2]=y|3;y=o+y+4|0;i[y>>2]=i[y>>2]|1}else{i[o+4>>2]=l|3;i[f+4>>2]=c|1;i[f+c>>2]=c;if(a|0){t=i[5417]|0;e=a>>>3;r=21688+(e<<1<<2)|0;e=1<<e;if(!(e&s)){i[5412]=e|s;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=t;i[e+12>>2]=t;i[t+8>>2]=e;i[t+12>>2]=r}i[5414]=c;i[5417]=f}y=o+8|0;$=R;return y|0}else s=l}else s=l}else s=l}else if(n>>>0<=4294967231){n=n+11|0;l=n&-8;t=i[5413]|0;if(t){A=0-l|0;n=n>>>8;if(n){if(l>>>0>16777215)c=31;else{s=(n+1048320|0)>>>16&8;Z=n<<s;o=(Z+520192|0)>>>16&4;Z=Z<<o;c=(Z+245760|0)>>>16&2;c=14-(o|s|c)+(Z<<c>>>15)|0;c=l>>>(c+7|0)&1|c<<1}}else c=0;r=i[21952+(c<<2)>>2]|0;n:do{if(!r){r=0;n=0;Z=61}else{n=0;o=l<<((c|0)==31?0:25-(c>>>1)|0);u=0;while(1){f=(i[r+4>>2]&-8)-l|0;if(f>>>0<A>>>0)if(!f){n=r;A=0;Z=65;break n}else{n=r;A=f}Z=i[r+20>>2]|0;r=i[r+16+(o>>>31<<2)>>2]|0;u=(Z|0)==0|(Z|0)==(r|0)?u:Z;if(!r){r=u;Z=61;break}else o=o<<1}}}while(0);if((Z|0)==61){if((r|0)==0&(n|0)==0){n=2<<c;n=(n|0-n)&t;if(!n){s=l;break}s=(n&0-n)+-1|0;f=s>>>12&16;s=s>>>f;u=s>>>5&8;s=s>>>u;o=s>>>2&4;s=s>>>o;c=s>>>1&2;s=s>>>c;r=s>>>1&1;n=0;r=i[21952+((u|f|o|c|r)+(s>>>r)<<2)>>2]|0}if(!r){o=n;f=A}else Z=65}if((Z|0)==65){u=r;while(1){s=(i[u+4>>2]&-8)-l|0;r=s>>>0<A>>>0;A=r?s:A;n=r?u:n;r=i[u+16>>2]|0;if(!r)r=i[u+20>>2]|0;if(!r){o=n;f=A;break}else u=r}}if(((o|0)!=0?f>>>0<((i[5414]|0)-l|0)>>>0:0)?(a=o+l|0,a>>>0>o>>>0):0){u=i[o+24>>2]|0;e=i[o+12>>2]|0;do{if((e|0)==(o|0)){n=o+20|0;e=i[n>>2]|0;if(!e){n=o+16|0;e=i[n>>2]|0;if(!e){e=0;break}}while(1){A=e+20|0;r=i[A>>2]|0;if(!r){A=e+16|0;r=i[A>>2]|0;if(!r)break;else{e=r;n=A}}else{e=r;n=A}}i[n>>2]=0}else{y=i[o+8>>2]|0;i[y+12>>2]=e;i[e+8>>2]=y}}while(0);do{if(u){n=i[o+28>>2]|0;r=21952+(n<<2)|0;if((o|0)==(i[r>>2]|0)){i[r>>2]=e;if(!e){t=t&~(1<<n);i[5413]=t;break}}else{y=u+16|0;i[((i[y>>2]|0)==(o|0)?y:u+20|0)>>2]=e;if(!e)break}i[e+24>>2]=u;n=i[o+16>>2]|0;if(n|0){i[e+16>>2]=n;i[n+24>>2]=e}n=i[o+20>>2]|0;if(n){i[e+20>>2]=n;i[n+24>>2]=e}}}while(0);n:do{if(f>>>0<16){y=f+l|0;i[o+4>>2]=y|3;y=o+y+4|0;i[y>>2]=i[y>>2]|1}else{i[o+4>>2]=l|3;i[a+4>>2]=f|1;i[a+f>>2]=f;e=f>>>3;if(f>>>0<256){r=21688+(e<<1<<2)|0;n=i[5412]|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=a;i[e+12>>2]=a;i[a+8>>2]=e;i[a+12>>2]=r;break}e=f>>>8;if(e){if(f>>>0>16777215)r=31;else{p=(e+1048320|0)>>>16&8;y=e<<p;V=(y+520192|0)>>>16&4;y=y<<V;r=(y+245760|0)>>>16&2;r=14-(V|p|r)+(y<<r>>>15)|0;r=f>>>(r+7|0)&1|r<<1}}else r=0;e=21952+(r<<2)|0;i[a+28>>2]=r;n=a+16|0;i[n+4>>2]=0;i[n>>2]=0;n=1<<r;if(!(t&n)){i[5413]=t|n;i[e>>2]=a;i[a+24>>2]=e;i[a+12>>2]=a;i[a+8>>2]=a;break}e=i[e>>2]|0;e:do{if((i[e+4>>2]&-8|0)!=(f|0)){t=f<<((r|0)==31?0:25-(r>>>1)|0);while(1){r=e+16+(t>>>31<<2)|0;n=i[r>>2]|0;if(!n)break;if((i[n+4>>2]&-8|0)==(f|0)){e=n;break e}else{t=t<<1;e=n}}i[r>>2]=a;i[a+24>>2]=e;i[a+12>>2]=a;i[a+8>>2]=a;break n}}while(0);p=e+8|0;y=i[p>>2]|0;i[y+12>>2]=a;i[p>>2]=a;i[a+8>>2]=y;i[a+12>>2]=e;i[a+24>>2]=0}}while(0);y=o+8|0;$=R;return y|0}else s=l}else s=l}else s=-1}while(0);r=i[5414]|0;if(r>>>0>=s>>>0){e=r-s|0;n=i[5417]|0;if(e>>>0>15){y=n+s|0;i[5417]=y;i[5414]=e;i[y+4>>2]=e|1;i[n+r>>2]=e;i[n+4>>2]=s|3}else{i[5414]=0;i[5417]=0;i[n+4>>2]=r|3;y=n+r+4|0;i[y>>2]=i[y>>2]|1}y=n+8|0;$=R;return y|0}f=i[5415]|0;if(f>>>0>s>>>0){V=f-s|0;i[5415]=V;y=i[5418]|0;p=y+s|0;i[5418]=p;i[p+4>>2]=V|1;i[y+4>>2]=s|3;y=y+8|0;$=R;return y|0}if(!(i[5530]|0)){i[5532]=4096;i[5531]=4096;i[5533]=-1;i[5534]=-1;i[5535]=0;i[5523]=0;i[5530]=d&-16^1431655768;n=4096}else n=i[5532]|0;o=s+48|0;c=s+47|0;u=n+c|0;A=0-n|0;l=u&A;if(l>>>0<=s>>>0){y=0;$=R;return y|0}n=i[5522]|0;if(n|0?(a=i[5520]|0,d=a+l|0,d>>>0<=a>>>0|d>>>0>n>>>0):0){y=0;$=R;return y|0}n:do{if(!(i[5523]&4)){r=i[5418]|0;e:do{if(r){t=22096;while(1){d=i[t>>2]|0;if(d>>>0<=r>>>0?(d+(i[t+4>>2]|0)|0)>>>0>r>>>0:0)break;n=i[t+8>>2]|0;if(!n){Z=128;break e}else t=n}e=u-f&A;if(e>>>0<2147483647){n=$Z(e)|0;if((n|0)==((i[t>>2]|0)+(i[t+4>>2]|0)|0)){if((n|0)!=(-1|0)){f=e;u=n;Z=145;break n}}else{t=n;Z=136}}else e=0}else Z=128}while(0);do{if((Z|0)==128){r=$Z(0)|0;if((r|0)!=(-1|0)?(e=r,b=i[5531]|0,h=b+-1|0,e=((h&e|0)==0?0:(h+e&0-b)-e|0)+l|0,b=i[5520]|0,h=e+b|0,e>>>0>s>>>0&e>>>0<2147483647):0){d=i[5522]|0;if(d|0?h>>>0<=b>>>0|h>>>0>d>>>0:0){e=0;break}n=$Z(e)|0;if((n|0)==(r|0)){f=e;u=r;Z=145;break n}else{t=n;Z=136}}else e=0}}while(0);do{if((Z|0)==136){r=0-e|0;if(!(o>>>0>e>>>0&(e>>>0<2147483647&(t|0)!=(-1|0))))if((t|0)==(-1|0)){e=0;break}else{f=e;u=t;Z=145;break n}n=i[5532]|0;n=c-e+n&0-n;if(n>>>0>=2147483647){f=e;u=t;Z=145;break n}if(($Z(n)|0)==(-1|0)){$Z(r)|0;e=0;break}else{f=n+e|0;u=t;Z=145;break n}}}while(0);i[5523]=i[5523]|4;Z=143}else{e=0;Z=143}}while(0);if(((Z|0)==143?l>>>0<2147483647:0)?(V=$Z(l)|0,h=$Z(0)|0,v=h-V|0,m=v>>>0>(s+40|0)>>>0,!((V|0)==(-1|0)|m^1|V>>>0<h>>>0&((V|0)!=(-1|0)&(h|0)!=(-1|0))^1)):0){f=m?v:e;u=V;Z=145}if((Z|0)==145){e=(i[5520]|0)+f|0;i[5520]=e;if(e>>>0>(i[5521]|0)>>>0)i[5521]=e;c=i[5418]|0;n:do{if(c){e=22096;while(1){n=i[e>>2]|0;r=i[e+4>>2]|0;if((u|0)==(n+r|0)){Z=154;break}t=i[e+8>>2]|0;if(!t)break;else e=t}if(((Z|0)==154?(p=e+4|0,(i[e+12>>2]&8|0)==0):0)?u>>>0>c>>>0&n>>>0<=c>>>0:0){i[p>>2]=r+f;y=(i[5415]|0)+f|0;V=c+8|0;V=(V&7|0)==0?0:0-V&7;p=c+V|0;V=y-V|0;i[5418]=p;i[5415]=V;i[p+4>>2]=V|1;i[c+y+4>>2]=40;i[5419]=i[5534];break}if(u>>>0<(i[5416]|0)>>>0)i[5416]=u;r=u+f|0;e=22096;while(1){if((i[e>>2]|0)==(r|0)){Z=162;break}n=i[e+8>>2]|0;if(!n)break;else e=n}if((Z|0)==162?(i[e+12>>2]&8|0)==0:0){i[e>>2]=u;a=e+4|0;i[a>>2]=(i[a>>2]|0)+f;a=u+8|0;a=u+((a&7|0)==0?0:0-a&7)|0;e=r+8|0;e=r+((e&7|0)==0?0:0-e&7)|0;l=a+s|0;o=e-a-s|0;i[a+4>>2]=s|3;e:do{if((c|0)==(e|0)){y=(i[5415]|0)+o|0;i[5415]=y;i[5418]=l;i[l+4>>2]=y|1}else{if((i[5417]|0)==(e|0)){y=(i[5414]|0)+o|0;i[5414]=y;i[5417]=l;i[l+4>>2]=y|1;i[l+y>>2]=y;break}n=i[e+4>>2]|0;if((n&3|0)==1){f=n&-8;t=n>>>3;r:do{if(n>>>0<256){n=i[e+8>>2]|0;r=i[e+12>>2]|0;if((r|0)==(n|0)){i[5412]=i[5412]&~(1<<t);break}else{i[n+12>>2]=r;i[r+8>>2]=n;break}}else{u=i[e+24>>2]|0;n=i[e+12>>2]|0;do{if((n|0)==(e|0)){r=e+16|0;t=r+4|0;n=i[t>>2]|0;if(!n){n=i[r>>2]|0;if(!n){n=0;break}}else r=t;while(1){A=n+20|0;t=i[A>>2]|0;if(!t){A=n+16|0;t=i[A>>2]|0;if(!t)break;else{n=t;r=A}}else{n=t;r=A}}i[r>>2]=0}else{y=i[e+8>>2]|0;i[y+12>>2]=n;i[n+8>>2]=y}}while(0);if(!u)break;r=i[e+28>>2]|0;t=21952+(r<<2)|0;do{if((i[t>>2]|0)!=(e|0)){y=u+16|0;i[((i[y>>2]|0)==(e|0)?y:u+20|0)>>2]=n;if(!n)break r}else{i[t>>2]=n;if(n|0)break;i[5413]=i[5413]&~(1<<r);break r}}while(0);i[n+24>>2]=u;r=e+16|0;t=i[r>>2]|0;if(t|0){i[n+16>>2]=t;i[t+24>>2]=n}r=i[r+4>>2]|0;if(!r)break;i[n+20>>2]=r;i[r+24>>2]=n}}while(0);e=e+f|0;A=f+o|0}else A=o;e=e+4|0;i[e>>2]=i[e>>2]&-2;i[l+4>>2]=A|1;i[l+A>>2]=A;e=A>>>3;if(A>>>0<256){r=21688+(e<<1<<2)|0;n=i[5412]|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=l;i[e+12>>2]=l;i[l+8>>2]=e;i[l+12>>2]=r;break}e=A>>>8;do{if(!e)t=0;else{if(A>>>0>16777215){t=31;break}p=(e+1048320|0)>>>16&8;y=e<<p;V=(y+520192|0)>>>16&4;y=y<<V;t=(y+245760|0)>>>16&2;t=14-(V|p|t)+(y<<t>>>15)|0;t=A>>>(t+7|0)&1|t<<1}}while(0);e=21952+(t<<2)|0;i[l+28>>2]=t;n=l+16|0;i[n+4>>2]=0;i[n>>2]=0;n=i[5413]|0;r=1<<t;if(!(n&r)){i[5413]=n|r;i[e>>2]=l;i[l+24>>2]=e;i[l+12>>2]=l;i[l+8>>2]=l;break}e=i[e>>2]|0;r:do{if((i[e+4>>2]&-8|0)!=(A|0)){t=A<<((t|0)==31?0:25-(t>>>1)|0);while(1){r=e+16+(t>>>31<<2)|0;n=i[r>>2]|0;if(!n)break;if((i[n+4>>2]&-8|0)==(A|0)){e=n;break r}else{t=t<<1;e=n}}i[r>>2]=l;i[l+24>>2]=e;i[l+12>>2]=l;i[l+8>>2]=l;break e}}while(0);p=e+8|0;y=i[p>>2]|0;i[y+12>>2]=l;i[p>>2]=l;i[l+8>>2]=y;i[l+12>>2]=e;i[l+24>>2]=0}}while(0);y=a+8|0;$=R;return y|0}e=22096;while(1){n=i[e>>2]|0;if(n>>>0<=c>>>0?(y=n+(i[e+4>>2]|0)|0,y>>>0>c>>>0):0)break;e=i[e+8>>2]|0}A=y+-47|0;n=A+8|0;n=A+((n&7|0)==0?0:0-n&7)|0;A=c+16|0;n=n>>>0<A>>>0?c:n;e=n+8|0;r=f+-40|0;V=u+8|0;V=(V&7|0)==0?0:0-V&7;p=u+V|0;V=r-V|0;i[5418]=p;i[5415]=V;i[p+4>>2]=V|1;i[u+r+4>>2]=40;i[5419]=i[5534];r=n+4|0;i[r>>2]=27;i[e>>2]=i[5524];i[e+4>>2]=i[5525];i[e+8>>2]=i[5526];i[e+12>>2]=i[5527];i[5524]=u;i[5525]=f;i[5527]=0;i[5526]=e;e=n+24|0;do{p=e;e=e+4|0;i[e>>2]=7}while((p+8|0)>>>0<y>>>0);if((n|0)!=(c|0)){u=n-c|0;i[r>>2]=i[r>>2]&-2;i[c+4>>2]=u|1;i[n>>2]=u;e=u>>>3;if(u>>>0<256){r=21688+(e<<1<<2)|0;n=i[5412]|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=c;i[e+12>>2]=c;i[c+8>>2]=e;i[c+12>>2]=r;break}e=u>>>8;if(e){if(u>>>0>16777215)t=31;else{p=(e+1048320|0)>>>16&8;y=e<<p;V=(y+520192|0)>>>16&4;y=y<<V;t=(y+245760|0)>>>16&2;t=14-(V|p|t)+(y<<t>>>15)|0;t=u>>>(t+7|0)&1|t<<1}}else t=0;r=21952+(t<<2)|0;i[c+28>>2]=t;i[c+20>>2]=0;i[A>>2]=0;e=i[5413]|0;n=1<<t;if(!(e&n)){i[5413]=e|n;i[r>>2]=c;i[c+24>>2]=r;i[c+12>>2]=c;i[c+8>>2]=c;break}e=i[r>>2]|0;e:do{if((i[e+4>>2]&-8|0)!=(u|0)){t=u<<((t|0)==31?0:25-(t>>>1)|0);while(1){r=e+16+(t>>>31<<2)|0;n=i[r>>2]|0;if(!n)break;if((i[n+4>>2]&-8|0)==(u|0)){e=n;break e}else{t=t<<1;e=n}}i[r>>2]=c;i[c+24>>2]=e;i[c+12>>2]=c;i[c+8>>2]=c;break n}}while(0);p=e+8|0;y=i[p>>2]|0;i[y+12>>2]=c;i[p>>2]=c;i[c+8>>2]=y;i[c+12>>2]=e;i[c+24>>2]=0}}else{y=i[5416]|0;if((y|0)==0|u>>>0<y>>>0)i[5416]=u;i[5524]=u;i[5525]=f;i[5527]=0;i[5421]=i[5530];i[5420]=-1;i[5425]=21688;i[5424]=21688;i[5427]=21696;i[5426]=21696;i[5429]=21704;i[5428]=21704;i[5431]=21712;i[5430]=21712;i[5433]=21720;i[5432]=21720;i[5435]=21728;i[5434]=21728;i[5437]=21736;i[5436]=21736;i[5439]=21744;i[5438]=21744;i[5441]=21752;i[5440]=21752;i[5443]=21760;i[5442]=21760;i[5445]=21768;i[5444]=21768;i[5447]=21776;i[5446]=21776;i[5449]=21784;i[5448]=21784;i[5451]=21792;i[5450]=21792;i[5453]=21800;i[5452]=21800;i[5455]=21808;i[5454]=21808;i[5457]=21816;i[5456]=21816;i[5459]=21824;i[5458]=21824;i[5461]=21832;i[5460]=21832;i[5463]=21840;i[5462]=21840;i[5465]=21848;i[5464]=21848;i[5467]=21856;i[5466]=21856;i[5469]=21864;i[5468]=21864;i[5471]=21872;i[5470]=21872;i[5473]=21880;i[5472]=21880;i[5475]=21888;i[5474]=21888;i[5477]=21896;i[5476]=21896;i[5479]=21904;i[5478]=21904;i[5481]=21912;i[5480]=21912;i[5483]=21920;i[5482]=21920;i[5485]=21928;i[5484]=21928;i[5487]=21936;i[5486]=21936;y=f+-40|0;V=u+8|0;V=(V&7|0)==0?0:0-V&7;p=u+V|0;V=y-V|0;i[5418]=p;i[5415]=V;i[p+4>>2]=V|1;i[u+y+4>>2]=40;i[5419]=i[5534]}}while(0);e=i[5415]|0;if(e>>>0>s>>>0){V=e-s|0;i[5415]=V;y=i[5418]|0;p=y+s|0;i[5418]=p;i[p+4>>2]=V|1;i[y+4>>2]=s|3;y=y+8|0;$=R;return y|0}}i[(Qd()|0)>>2]=48;y=0;$=R;return y|0}function PZ(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0;if(!n)return;r=n+-8|0;A=i[5416]|0;n=i[n+-4>>2]|0;e=n&-8;c=r+e|0;do{if(!(n&1)){t=i[r>>2]|0;if(!(n&3))return;f=r+(0-t)|0;u=t+e|0;if(f>>>0<A>>>0)return;if((i[5417]|0)==(f|0)){n=c+4|0;e=i[n>>2]|0;if((e&3|0)!=3){o=f;e=u;break}i[5414]=u;i[n>>2]=e&-2;i[f+4>>2]=u|1;i[f+u>>2]=u;return}r=t>>>3;if(t>>>0<256){n=i[f+8>>2]|0;e=i[f+12>>2]|0;if((e|0)==(n|0)){i[5412]=i[5412]&~(1<<r);o=f;e=u;break}else{i[n+12>>2]=e;i[e+8>>2]=n;o=f;e=u;break}}A=i[f+24>>2]|0;n=i[f+12>>2]|0;do{if((n|0)==(f|0)){e=f+16|0;r=e+4|0;n=i[r>>2]|0;if(!n){n=i[e>>2]|0;if(!n){n=0;break}}else e=r;while(1){t=n+20|0;r=i[t>>2]|0;if(!r){t=n+16|0;r=i[t>>2]|0;if(!r)break;else{n=r;e=t}}else{n=r;e=t}}i[e>>2]=0}else{o=i[f+8>>2]|0;i[o+12>>2]=n;i[n+8>>2]=o}}while(0);if(A){e=i[f+28>>2]|0;r=21952+(e<<2)|0;if((i[r>>2]|0)==(f|0)){i[r>>2]=n;if(!n){i[5413]=i[5413]&~(1<<e);o=f;e=u;break}}else{o=A+16|0;i[((i[o>>2]|0)==(f|0)?o:A+20|0)>>2]=n;if(!n){o=f;e=u;break}}i[n+24>>2]=A;e=f+16|0;r=i[e>>2]|0;if(r|0){i[n+16>>2]=r;i[r+24>>2]=n}e=i[e+4>>2]|0;if(e){i[n+20>>2]=e;i[e+24>>2]=n;o=f;e=u}else{o=f;e=u}}else{o=f;e=u}}else{o=r;f=r}}while(0);if(f>>>0>=c>>>0)return;n=c+4|0;t=i[n>>2]|0;if(!(t&1))return;if(!(t&2)){if((i[5418]|0)==(c|0)){c=(i[5415]|0)+e|0;i[5415]=c;i[5418]=o;i[o+4>>2]=c|1;if((o|0)!=(i[5417]|0))return;i[5417]=0;i[5414]=0;return}if((i[5417]|0)==(c|0)){c=(i[5414]|0)+e|0;i[5414]=c;i[5417]=f;i[o+4>>2]=c|1;i[f+c>>2]=c;return}A=(t&-8)+e|0;r=t>>>3;do{if(t>>>0<256){e=i[c+8>>2]|0;n=i[c+12>>2]|0;if((n|0)==(e|0)){i[5412]=i[5412]&~(1<<r);break}else{i[e+12>>2]=n;i[n+8>>2]=e;break}}else{u=i[c+24>>2]|0;n=i[c+12>>2]|0;do{if((n|0)==(c|0)){e=c+16|0;r=e+4|0;n=i[r>>2]|0;if(!n){n=i[e>>2]|0;if(!n){r=0;break}}else e=r;while(1){t=n+20|0;r=i[t>>2]|0;if(!r){t=n+16|0;r=i[t>>2]|0;if(!r)break;else{n=r;e=t}}else{n=r;e=t}}i[e>>2]=0;r=n}else{r=i[c+8>>2]|0;i[r+12>>2]=n;i[n+8>>2]=r;r=n}}while(0);if(u|0){n=i[c+28>>2]|0;e=21952+(n<<2)|0;if((i[e>>2]|0)==(c|0)){i[e>>2]=r;if(!r){i[5413]=i[5413]&~(1<<n);break}}else{t=u+16|0;i[((i[t>>2]|0)==(c|0)?t:u+20|0)>>2]=r;if(!r)break}i[r+24>>2]=u;n=c+16|0;e=i[n>>2]|0;if(e|0){i[r+16>>2]=e;i[e+24>>2]=r}n=i[n+4>>2]|0;if(n|0){i[r+20>>2]=n;i[n+24>>2]=r}}}}while(0);i[o+4>>2]=A|1;i[f+A>>2]=A;if((o|0)==(i[5417]|0)){i[5414]=A;return}}else{i[n>>2]=t&-2;i[o+4>>2]=e|1;i[f+e>>2]=e;A=e}n=A>>>3;if(A>>>0<256){r=21688+(n<<1<<2)|0;e=i[5412]|0;n=1<<n;if(!(e&n)){i[5412]=e|n;n=r;e=r+8|0}else{e=r+8|0;n=i[e>>2]|0}i[e>>2]=o;i[n+12>>2]=o;i[o+8>>2]=n;i[o+12>>2]=r;return}n=A>>>8;if(n){if(A>>>0>16777215)t=31;else{f=(n+1048320|0)>>>16&8;c=n<<f;u=(c+520192|0)>>>16&4;c=c<<u;t=(c+245760|0)>>>16&2;t=14-(u|f|t)+(c<<t>>>15)|0;t=A>>>(t+7|0)&1|t<<1}}else t=0;n=21952+(t<<2)|0;i[o+28>>2]=t;i[o+20>>2]=0;i[o+16>>2]=0;e=i[5413]|0;r=1<<t;n:do{if(!(e&r)){i[5413]=e|r;i[n>>2]=o;i[o+24>>2]=n;i[o+12>>2]=o;i[o+8>>2]=o}else{n=i[n>>2]|0;e:do{if((i[n+4>>2]&-8|0)!=(A|0)){t=A<<((t|0)==31?0:25-(t>>>1)|0);while(1){r=n+16+(t>>>31<<2)|0;e=i[r>>2]|0;if(!e)break;if((i[e+4>>2]&-8|0)==(A|0)){n=e;break e}else{t=t<<1;n=e}}i[r>>2]=o;i[o+24>>2]=n;i[o+12>>2]=o;i[o+8>>2]=o;break n}}while(0);f=n+8|0;c=i[f>>2]|0;i[c+12>>2]=o;i[f>>2]=o;i[o+8>>2]=c;i[o+12>>2]=n;i[o+24>>2]=0}}while(0);c=(i[5420]|0)+-1|0;i[5420]=c;if(c|0)return;n=22104;while(1){n=i[n>>2]|0;if(!n)break;else n=n+8|0}i[5420]=-1;return}function $Z(n){n=n|0;var e=0,r=0,t=0;t=n+3&-4;n=cv()|0;e=i[n>>2]|0;r=e+t|0;do{if((t|0)<1|r>>>0>e>>>0){if(r>>>0>(Q()|0)>>>0?(D(r|0)|0)==0:0)break;i[n>>2]=r;t=e;return t|0}}while(0);i[(Qd()|0)>>2]=48;t=-1;return t|0}function LZ(n){n=n|0;var e=0;e=$;$=$+n|0;$=$+15&-16;return e|0}function KZ(n){n=n|0;$=n}function qZ(){return $|0}function nv(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,i=0;i=n&65535;A=e&65535;r=V(A,i)|0;t=n>>>16;n=(r>>>16)+(V(A,t)|0)|0;A=e>>>16;e=V(A,i)|0;return(R((n>>>16)+(V(A,t)|0)+(((n&65535)+e|0)>>>16)|0),n+e<<16|r&65535|0)|0}function ev(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,i=0;A=n;i=r;r=nv(A,i)|0;n=W()|0;return(R((V(e,i)|0)+(V(t,A)|0)+n|n&0|0),r|0|0)|0}function rv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;r=n+r>>>0;return(R(e+t+(r>>>0<n>>>0|0)>>>0|0),r|0)|0}function tv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;t=e-t-(r>>>0>n>>>0|0)>>>0;return(R(t|0),n-r>>>0|0)|0}function Av(n){n=n|0;return(n?31-(p(n^n-1)|0)|0:32)|0}function iv(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;a=n;c=e;l=c;f=r;d=t;o=d;if(!l){u=(A|0)!=0;if(!o){if(u){i[A>>2]=(a>>>0)%(f>>>0);i[A+4>>2]=0}d=0;A=(a>>>0)/(f>>>0)>>>0;return(R(d|0),A)|0}else{if(!u){d=0;A=0;return(R(d|0),A)|0}i[A>>2]=n|0;i[A+4>>2]=e&0;d=0;A=0;return(R(d|0),A)|0}}u=(o|0)==0;do{if(f){if(!u){u=(p(o|0)|0)-(p(l|0)|0)|0;if(u>>>0<=31){s=u+1|0;o=31-u|0;e=u-31>>31;f=s;n=a>>>(s>>>0)&e|l<<o;e=l>>>(s>>>0)&e;u=0;o=a<<o;break}if(!A){d=0;A=0;return(R(d|0),A)|0}i[A>>2]=n|0;i[A+4>>2]=c|e&0;d=0;A=0;return(R(d|0),A)|0}u=f-1|0;if(u&f|0){o=(p(f|0)|0)+33-(p(l|0)|0)|0;h=64-o|0;s=32-o|0;c=s>>31;b=o-32|0;e=b>>31;f=o;n=s-1>>31&l>>>(b>>>0)|(l<<s|a>>>(o>>>0))&e;e=e&l>>>(o>>>0);u=a<<h&c;o=(l<<h|a>>>(b>>>0))&c|a<<s&o-33>>31;break}if(A|0){i[A>>2]=u&a;i[A+4>>2]=0}if((f|0)==1){b=c|e&0;h=n|0|0;return(R(b|0),h)|0}else{h=Av(f|0)|0;b=l>>>(h>>>0)|0;h=l<<32-h|a>>>(h>>>0)|0;return(R(b|0),h)|0}}else{if(u){if(A|0){i[A>>2]=(l>>>0)%(f>>>0);i[A+4>>2]=0}b=0;h=(l>>>0)/(f>>>0)>>>0;return(R(b|0),h)|0}if(!a){if(A|0){i[A>>2]=0;i[A+4>>2]=(l>>>0)%(o>>>0)}b=0;h=(l>>>0)/(o>>>0)>>>0;return(R(b|0),h)|0}u=o-1|0;if(!(u&o)){if(A|0){i[A>>2]=n|0;i[A+4>>2]=u&l|e&0}b=0;h=l>>>((Av(o|0)|0)>>>0);return(R(b|0),h)|0}u=(p(o|0)|0)-(p(l|0)|0)|0;if(u>>>0<=30){e=u+1|0;o=31-u|0;f=e;n=l<<o|a>>>(e>>>0);e=l>>>(e>>>0);u=0;o=a<<o;break}if(!A){b=0;h=0;return(R(b|0),h)|0}i[A>>2]=n|0;i[A+4>>2]=c|e&0;b=0;h=0;return(R(b|0),h)|0}}while(0);if(!f){l=o;c=0;o=0}else{s=r|0|0;a=d|t&0;l=rv(s|0,a|0,-1,-1)|0;r=W()|0;c=o;o=0;do{t=c;c=u>>>31|c<<1;u=o|u<<1;t=n<<1|t>>>31|0;d=n>>>31|e<<1|0;tv(l|0,r|0,t|0,d|0)|0;h=W()|0;b=h>>31|((h|0)<0?-1:0)<<1;o=b&1;n=tv(t|0,d|0,b&s|0,(((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1)&a|0)|0;e=W()|0;f=f-1|0}while((f|0)!=0);l=c;c=0}f=0;if(A|0){i[A>>2]=n;i[A+4>>2]=e}b=(u|0)>>>31|(l|f)<<1|(f<<1|u>>>31)&0|c;h=(u<<1|0>>>31)&-2|o;return(R(b|0),h)|0}function uv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;return iv(n,e,r,t,0)|0}function fv(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)<32){R(e>>>r|0);return n>>>r|(e&(1<<r)-1)<<32-r}R(0);return e>>>r-32|0}function ov(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)<32){R(e<<r|(n&(1<<r)-1<<32-r)>>>32-r|0);return n<<r}R(n<<r-32|0);return 0}function cv(){return 22176}function lv(n){n=n|0;return(n&255)<<24|(n>>8&255)<<16|(n>>16&255)<<8|n>>>24|0}function av(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;if((r|0)>=512){_(n|0,e|0,r|0)|0;return n|0}f=n|0;u=n+r|0;if((n&3)==(e&3)){while(n&3){if(!r)return f|0;t[n>>0]=t[e>>0]|0;n=n+1|0;e=e+1|0;r=r-1|0}r=u&-4|0;A=r-64|0;while((n|0)<=(A|0)){i[n>>2]=i[e>>2];i[n+4>>2]=i[e+4>>2];i[n+8>>2]=i[e+8>>2];i[n+12>>2]=i[e+12>>2];i[n+16>>2]=i[e+16>>2];i[n+20>>2]=i[e+20>>2];i[n+24>>2]=i[e+24>>2];i[n+28>>2]=i[e+28>>2];i[n+32>>2]=i[e+32>>2];i[n+36>>2]=i[e+36>>2];i[n+40>>2]=i[e+40>>2];i[n+44>>2]=i[e+44>>2];i[n+48>>2]=i[e+48>>2];i[n+52>>2]=i[e+52>>2];i[n+56>>2]=i[e+56>>2];i[n+60>>2]=i[e+60>>2];n=n+64|0;e=e+64|0}while((n|0)<(r|0)){i[n>>2]=i[e>>2];n=n+4|0;e=e+4|0}}else{r=u-4|0;while((n|0)<(r|0)){t[n>>0]=t[e>>0]|0;t[n+1>>0]=t[e+1>>0]|0;t[n+2>>0]=t[e+2>>0]|0;t[n+3>>0]=t[e+3>>0]|0;n=n+4|0;e=e+4|0}}while((n|0)<(u|0)){t[n>>0]=t[e>>0]|0;n=n+1|0;e=e+1|0}return f|0}function sv(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;if((e|0)<(n|0)&(n|0)<(e+r|0)){A=n;e=e+r|0;n=n+r|0;while((r|0)>0){n=n-1|0;e=e-1|0;r=r-1|0;t[n>>0]=t[e>>0]|0}n=A}else av(n,e,r)|0;return n|0}function dv(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0;f=n+r|0;e=e&255;if((r|0)>=67){while(n&3){t[n>>0]=e;n=n+1|0}A=f&-4|0;o=e|e<<8|e<<16|e<<24;u=A-64|0;while((n|0)<=(u|0)){i[n>>2]=o;i[n+4>>2]=o;i[n+8>>2]=o;i[n+12>>2]=o;i[n+16>>2]=o;i[n+20>>2]=o;i[n+24>>2]=o;i[n+28>>2]=o;i[n+32>>2]=o;i[n+36>>2]=o;i[n+40>>2]=o;i[n+44>>2]=o;i[n+48>>2]=o;i[n+52>>2]=o;i[n+56>>2]=o;i[n+60>>2]=o;n=n+64|0}while((n|0)<(A|0)){i[n>>2]=o;n=n+4|0}}while((n|0)<(f|0)){t[n>>0]=e;n=n+1|0}return f-r|0}function bv(n){n=n|0;return Ev[n&3]()|0}function hv(n,e){n=n|0;e=e|0;return xv[n&15](e|0)|0}function Zv(n,e,r,t,A,i,u){n=n|0;e=e|0;r=+r;t=t|0;A=A|0;i=i|0;u=u|0;return Ov[n&1](e|0,+r,t|0,A|0,i|0,u|0)|0}function vv(n,e,r){n=n|0;e=e|0;r=r|0;return Cv[n&63](e|0,r|0)|0}function mv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;return jv[n&7](e|0,r|0,t|0)|0}function Vv(n){n=n|0;Iv[n&3]()}function pv(n,e){n=n|0;e=e|0;Sv[n&255](e|0)}function yv(n,e,r){n=n|0;e=e|0;r=r|0;Hv[n&15](e|0,r|0)}function Rv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;Qv[n&15](e|0,r|0,t|0)}function Wv(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;_v[n&7](e|0,r|0,t|0,A|0)}function Xv(n,e,r,t,A,i){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;i=i|0;Dv[n&3](e|0,r|0,t|0,A|0,i|0)}function wv(n,e,r,t,A,i,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;i=i|0;u=u|0;Pv[n&3](e|0,r|0,t|0,A|0,i|0,u|0)}function Fv(){y(0);return 0}function kv(n){n=n|0;y(1);return 0}function Uv(n,e,r,t,A,i){n=n|0;e=+e;r=r|0;t=t|0;A=A|0;i=i|0;y(2);return 0}function Gv(n,e){n=n|0;e=e|0;y(3);return 0}function zv(n,e,r){n=n|0;e=e|0;r=r|0;y(4);return 0}function Nv(){y(5)}function gv(n){n=n|0;y(6)}function Tv(n,e){n=n|0;e=e|0;y(7)}function Mv(n,e,r){n=n|0;e=e|0;r=r|0;y(8)}function Bv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;y(9)}function Jv(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;y(10)}function Yv(n,e,r,t,A,i){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;i=i|0;y(11)}var Ev=[Fv,Nl,Xa,Fv];var xv=[kv,vh,ve,We,fh,lh,iZ,kZ,JZ,hl,An,sa,Tl,Fa,kv,kv];var Ov=[Uv,ub];var Cv=[Gv,Vn,Un,Re,et,Nt,Ct,eA,rA,iA,SA,LA,hi,Ri,Ni,Ei,Xu,Tu,ju,_u,rf,of,vf,Rf,Nf,Sf,Lf,ro,lo,po,Yo,So,Ko,fc,vc,Xc,Mc,Ic,Lc,Al,sl,Aa,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv];var jv=[zv,wb,Cb,Rh,Xh,GZ,zZ,zv];var Iv=[Nv,ph,gb,Nv];var Sv=[gv,uZ,vn,mn,pn,Fn,kn,Gn,hh,ue,Xe,Ze,Ve,pe,Ge,ze,Ce,je,lr,ar,sr,Nr,qr,nt,rt,kt,gt,Tt,Mt,Bt,xt,Ot,jt,qt,nA,tA,AA,jA,IA,HA,PA,$A,di,bi,Zi,pi,yi,Gi,zi,gi,Ji,Yi,Ru,Wu,wu,Mu,Bu,Ou,Cu,Iu,Du,Pu,nf,ef,tf,cf,lf,hf,Zf,mf,Wf,Xf,Gf,zf,gf,jf,If,Hf,Pf,$f,Kf,to,Ao,oo,co,ao,mo,Vo,Bo,Jo,Eo,jo,Io,$o,Lo,qo,ic,uc,hc,Zc,mc,Rc,Wc,gc,Tc,Bc,Cc,jc,Pc,$c,Kc,rl,tl,ll,al,dl,Yb,Eb,xb,Ob,$b,ih,uh,oh,ch,Zh,mh,Vh,yh,Wh,Uh,tZ,AZ,wZ,FZ,BZ,CZ,jZ,ml,ha,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv];var Hv=[Tv,me,ye,tn,fn,on,cn,ln,fb,Tv,Tv,Tv,Tv,Tv,Tv,Tv];var Qv=[Mv,UZ,NZ,YZ,EZ,rn,un,$l,Oa,Qa,Mv,Mv,Mv,Mv,Mv,Mv];var _v=[Bv,Sb,qb,Nh,Ol,Ta,Bv,Bv];var Dv=[Jv,Ib,Kb,zh];var Pv=[Yv,jb,Lb,Gh];return{__ZSt18uncaught_exceptionv:eZ,___cxa_can_catch:Kh,___cxa_is_pointer_type:qh,___embind_register_native_and_builtin_types:es,___errno_location:Qd,___getTypeName:Hd,___muldi3:ev,___udivdi3:uv,_bitshift64Lshr:fv,_bitshift64Shl:ov,_emscripten_get_sbrk_ptr:cv,_free:PZ,_i64Add:rv,_i64Subtract:tv,_llvm_bswap_i32:lv,_malloc:DZ,_memcpy:av,_memmove:sv,_memset:dv,dynCall_i:bv,dynCall_ii:hv,dynCall_iidiiii:Zv,dynCall_iii:vv,dynCall_iiii:mv,dynCall_v:Vv,dynCall_vi:pv,dynCall_vii:yv,dynCall_viii:Rv,dynCall_viiii:Wv,dynCall_viiiii:Xv,dynCall_viiiiii:wv,globalCtors:q,stackAlloc:LZ,stackRestore:KZ,stackSave:qZ}}(Xr,wr,T),kr=i.__ZSt18uncaught_exceptionv=Fr.__ZSt18uncaught_exceptionv,Ur=(i.___cxa_can_catch=Fr.___cxa_can_catch,i.___cxa_is_pointer_type=Fr.___cxa_is_pointer_type,i.___embind_register_native_and_builtin_types=Fr.___embind_register_native_and_builtin_types,i.___errno_location=Fr.___errno_location,i.___getTypeName=Fr.___getTypeName),Gr=(i.___muldi3=Fr.___muldi3,i.___udivdi3=Fr.___udivdi3,i._bitshift64Lshr=Fr._bitshift64Lshr,i._bitshift64Shl=Fr._bitshift64Shl,i._emscripten_get_sbrk_ptr=Fr._emscripten_get_sbrk_ptr,i._free=Fr._free),zr=(i._i64Add=Fr._i64Add,i._i64Subtract=Fr._i64Subtract,i._llvm_bswap_i32=Fr._llvm_bswap_i32,i._malloc=Fr._malloc),Nr=(i._memcpy=Fr._memcpy,i._memmove=Fr._memmove,i._memset=Fr._memset,i.globalCtors=Fr.globalCtors);i.stackAlloc=Fr.stackAlloc,i.stackRestore=Fr.stackRestore,i.stackSave=Fr.stackSave,i.dynCall_i=Fr.dynCall_i,i.dynCall_ii=Fr.dynCall_ii,i.dynCall_iidiiii=Fr.dynCall_iidiiii,i.dynCall_iii=Fr.dynCall_iii,i.dynCall_iiii=Fr.dynCall_iiii,i.dynCall_v=Fr.dynCall_v,i.dynCall_vi=Fr.dynCall_vi,i.dynCall_vii=Fr.dynCall_vii,i.dynCall_viii=Fr.dynCall_viii,i.dynCall_viiii=Fr.dynCall_viiii,i.dynCall_viiiii=Fr.dynCall_viiiii,i.dynCall_viiiiii=Fr.dynCall_viiiiii;if(i.asm=Fr,vn)if(pn(vn)||(vn=m(vn)),l||a){var gr=b(vn);B.set(gr,X)}else{bn();var Tr=function(n){n.byteLength&&(n=new Uint8Array(n)),B.set(n,X),i.memoryInitializerRequest&&delete i.memoryInitializerRequest.response,hn()},Mr=function(){d(vn,Tr,(function(){throw new Error("could not load memory initializer "+vn)}))},Br=Rr(vn);if(Br)Tr(Br.buffer);else if(i.memoryInitializerRequest){var Jr=function(){var n=i.memoryInitializerRequest,e=n.response;if(200!==n.status&&0!==n.status){var r=Rr(i.memoryInitializerRequestURL);if(!r)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+n.status+", retrying "+vn),void Mr();e=r.buffer}Tr(e)};i.memoryInitializerRequest.response?setTimeout(Jr,0):i.memoryInitializerRequest.addEventListener("load",Jr)}else Mr()}function Yr(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}function Er(n){function e(){Wr||(Wr=!0,i.calledRun=!0,w||(un(),fn(),i.onRuntimeInitialized&&i.onRuntimeInitialized(),on()))}n=n||f,an>0||(An(),an>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(dn=function n(){Wr||Er(),Wr||(dn=n)},i.run=Er,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return!0,Er(),i}}).call(this,r(4),"/")},function(n,e,r){(function(e){const t=r(6),A="undefined"==typeof window?e:window;A.loaders=A.loaders||{},n.exports=Object.assign(A.loaders,t)}).call(this,r(3))},function(n,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"==typeof window&&(r=window)}n.exports=r},function(n,e){var r,t,A=n.exports={};function i(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function f(n){if(r===setTimeout)return setTimeout(n,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(n,0);try{return r(n,0)}catch(e){try{return r.call(null,n,0)}catch(e){return r.call(this,n,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(n){r=i}try{t="function"==typeof clearTimeout?clearTimeout:u}catch(n){t=u}}();var o,c=[],l=!1,a=-1;function s(){l&&o&&(l=!1,o.length?c=o.concat(c):a=-1,c.length&&d())}function d(){if(!l){var n=f(s);l=!0;for(var e=c.length;e;){for(o=c,c=[];++a<e;)o&&o[a].run();a=-1,e=c.length}o=null,l=!1,function(n){if(t===clearTimeout)return clearTimeout(n);if((t===u||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(n);try{t(n)}catch(e){try{return t.call(null,n)}catch(e){return t.call(this,n)}}}(n)}}function b(n,e){this.fun=n,this.array=e}function h(){}A.nextTick=function(n){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new b(n,e)),1!==c.length||l||f(d)},b.prototype.run=function(){this.fun.apply(null,this.array)},A.title="browser",A.browser=!0,A.env={},A.argv=[],A.version="",A.versions={},A.on=h,A.addListener=h,A.once=h,A.off=h,A.removeListener=h,A.removeAllListeners=h,A.emit=h,A.prependListener=h,A.prependOnceListener=h,A.listeners=function(n){return[]},A.binding=function(n){throw new Error("process.binding is not supported")},A.cwd=function(){return"/"},A.chdir=function(n){throw new Error("process.chdir is not supported")},A.umask=function(){return 0}},function(n,e){},function(n,e,r){"use strict";r.r(e),r.d(e,"LASWorkerLoader",(function(){return t})),r.d(e,"LASLoader",(function(){return v})),r.d(e,"_typecheckLoader",(function(){return m}));const t={name:"LAS",id:"las",module:"las",version:"3.0.13",worker:!0,extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!0,binary:!0,tests:["LAS"],options:{las:{fp64:!1,skip:1,colorDepth:8}}};function A(n){let e=1/0,r=1/0,t=1/0,A=-1/0,i=-1/0,u=-1/0;const f=n.POSITION?n.POSITION.value:[],o=f&&f.length;for(let n=0;n<o;n+=3){const o=f[n],c=f[n+1],l=f[n+2];e=o<e?o:e,r=c<r?c:r,t=l<t?l:t,A=o>A?o:A,i=c>i?c:i,u=l>u?l:u}return[[e,r,t],[A,i,u]]}var i=r(1),u=r.n(i);function f(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}let o=null;const c={0:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15)}),1:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15)}),2:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15),color:[n.getUint16(20,!0),n.getUint16(22,!0),n.getUint16(24,!0)]}),3:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15),color:[n.getUint16(28,!0),n.getUint16(30,!0),n.getUint16(32,!0)]})};function l(n,e={},r,t){t=void 0===t||0===t?1:t;const A=new e(n.slice(r,r+e.BYTES_PER_ELEMENT*t));if(1===t)return A[0];const i=[];for(let n=0;n<t;n++)i.push(A[n]);return i}function a(n){let e=131;const r={pointsOffset:l(n,Uint32Array,96),pointsFormatId:l(n,Uint8Array,104),pointsStructSize:l(n,Uint16Array,105),pointsCount:l(n,Uint32Array,107),scale:l(n,Float64Array,e,3)};e+=24,r.offset=l(n,Float64Array,e,3),e+=24;const t=l(n,Float64Array,e,6);return e+=48,r.maxs=[t[0],t[2],t[4]],r.mins=[t[1],t[3],t[5]],r}class s{constructor(n){f(this,"arraybuffer",void 0),f(this,"readOffset",0),f(this,"header",{pointsOffset:0,pointsFormatId:0,pointsStructSize:0,pointsCount:0,scale:[0,0,0],offset:[0,0,0],maxs:[0],mins:[0],totalToRead:0,totalRead:0,versionAsString:"",isCompressed:!0}),this.arraybuffer=n}open(){return!0}getHeader(){return this.header=a(this.arraybuffer),this.header}readData(n,e){const{header:r,arraybuffer:t}=this;if(!r)throw new Error("Cannot start reading data till a header request is issued");let A,{readOffset:i}=this;if(e<=1){n=Math.min(n,r.pointsCount-i),A=r.pointsOffset+i*r.pointsStructSize;const e=A+n*r.pointsStructSize;return i+=n,this.readOffset=i,{buffer:t.slice(A,e),count:n,hasMoreData:i<r.pointsCount}}const u=Math.min(n*e,r.pointsCount-i),f=Math.ceil(u/e);let o=0;const c=new Uint8Array(f*r.pointsStructSize);for(let n=0;n<u;n++){if(n%e==0){A=r.pointsOffset+i*r.pointsStructSize;const n=new Uint8Array(t,A,r.pointsStructSize);c.set(n,o*r.pointsStructSize),o++}i++}return this.readOffset=i,{buffer:c.buffer,count:o,hasMoreData:i<r.pointsCount}}close(){return this.arraybuffer=null,!0}}class d{constructor(n){f(this,"arraybuffer",void 0),f(this,"instance",null),f(this,"header",null),this.arraybuffer=n,o||(o=u()())}open(){try{const{arraybuffer:n}=this;this.instance=new o.LASZip;const e=new Uint8Array(n),r=o._malloc(n.byteLength);return this.instance.arraybuffer=n,this.instance.buf=r,o.HEAPU8.set(e,r),this.instance.open(r,n.byteLength),this.instance.readOffset=0,!0}catch(n){throw new Error("Failed to open file: "+n.message)}}getHeader(){if(!this.instance)throw new Error("You need to open the file before trying to read header");try{const n=a(this.instance.arraybuffer);return n.pointsFormatId&=63,this.header=n,n}catch(n){throw new Error("Failed to get header: "+n.message)}}readData(n,e,r){if(!this.instance)throw new Error("You need to open the file before trying to read stuff");const{header:t,instance:A}=this;if(!t)throw new Error("You need to query header before reading, I maintain state that way, sorry :(");try{const e=Math.min(n*r,t.pointsCount-A.readOffset),i=Math.ceil(e/r);let u=0;const f=new Uint8Array(i*t.pointsStructSize),c=o._malloc(t.pointsStructSize);for(let n=0;n<e;n++){if(A.getPoint(c),n%r==0){const n=new Uint8Array(o.HEAPU8.buffer,c,t.pointsStructSize);f.set(n,u*t.pointsStructSize),u++}A.readOffset++}return{buffer:f.buffer,count:u,hasMoreData:A.readOffset<t.pointsCount}}catch(n){throw new Error("Failed to read data: "+n.message)}}close(){try{return null!==this.instance&&(this.instance.delete(),this.instance=null),!0}catch(n){throw new Error("Failed to close file: "+n.message)}}}class b{constructor(n,e,r){f(this,"arrayb",void 0),f(this,"decoder",void 0),f(this,"pointsCount",void 0),f(this,"pointSize",void 0),f(this,"scale",void 0),f(this,"offset",void 0),f(this,"mins",void 0),f(this,"maxs",void 0),this.arrayb=n,this.decoder=c[r.pointsFormatId],this.pointsCount=e,this.pointSize=r.pointsStructSize,this.scale=r.scale,this.offset=r.offset,this.mins=r.mins,this.maxs=r.maxs}getPoint(n){if(n<0||n>=this.pointsCount)throw new Error("Point index out of range");const e=new DataView(this.arrayb,n*this.pointSize,this.pointSize);return this.decoder(e)}}class h{constructor(n){if(f(this,"arraybuffer",void 0),f(this,"formatId",0),f(this,"loader",void 0),f(this,"isCompressed",!0),f(this,"isOpen",!1),f(this,"version",0),f(this,"versionAsString",""),this.arraybuffer=n,this.determineVersion()>13)throw new Error("Only file versions <= 1.3 are supported at this time");if(this.determineFormat(),void 0===c[this.formatId])throw new Error("The point format ID is not supported");this.loader=this.isCompressed?new d(this.arraybuffer):new s(this.arraybuffer)}determineFormat(){const n=l(this.arraybuffer,Uint8Array,104),e=(128&n)>>7,r=(64&n)>>6;if(1===e&&1===r)throw new Error("Old style compression not supported");this.formatId=63&n,this.isCompressed=1===e||1===r}determineVersion(){const n=new Int8Array(this.arraybuffer,24,2);return this.version=10*n[0]+n[1],this.versionAsString=`${n[0]}.${n[1]}`,this.version}open(){this.loader.open()&&(this.isOpen=!0)}getHeader(){return this.loader.getHeader()}readData(n,e,r){return this.loader.readData(n,e,r)}close(){this.loader.close()&&(this.isOpen=!1)}getUnpacker(){return b}}function Z(n,e={}){var r;let t,i,u,f,o,c=0;const l={};return function(n,e,r={}){const t=new h(n);try{t.open();const n=t.getHeader(),A=t.getUnpacker(),i=Math.ceil(n.pointsCount/Math.max(1,e));n.totalToRead=i;let u=0;for(;;){const f=t.readData(1e5,0,e);u+=f.count,n.totalRead=u,n.versionAsString=f.versionAsString,n.isCompressed=f.isCompressed;const o=new A(f.buffer,f.count,n);if(r(o,n),!f.hasMoreData||u>=i)break}}catch(n){throw n}finally{t.close()}}(n,null===(r=e.las)||void 0===r?void 0:r.skip,(n={},r)=>{var A,a;if(!o){var s;o=r;const n=r.totalToRead,A=null!==(s=e.las)&&void 0!==s&&s.fp64?Float64Array:Float32Array;t=new A(3*n),i=r.pointsFormatId>=2?new Uint8Array(4*n):null,u=new Uint16Array(n),f=new Uint8Array(n),Object.assign(l,{loaderData:{header:r},mode:0,attributes:{POSITION:{value:t,size:3},intensity:{value:u,size:1},classification:{value:f,size:1}}}),i&&(l.attributes.COLOR_0={value:i,size:4})}const d=n.pointsCount,{scale:[b,h,Z],offset:[v,m,V]}=r,p=function(n={},e,r){let t=!1;switch(r){case 8:t=!1;break;case 16:t=!0;break;case"auto":if(n.getPoint(0).color)for(let r=0;r<e;r++){const{color:e}=n.getPoint(r);(e[0]>255||e[1]>255||e[2]>255)&&(t=!0)}break;default:console.warn("las: illegal value for options.las.colorDepth")}return t}(n,d,null===(A=e.las)||void 0===A?void 0:A.colorDepth);for(let e=0;e<d;e++){const{position:r,color:A,intensity:o,classification:l}=n.getPoint(e);t[3*c]=r[0]*b+v,t[3*c+1]=r[1]*h+m,t[3*c+2]=r[2]*Z+V,A&&i&&(p?(i[4*c]=A[0]/256,i[4*c+1]=A[1]/256,i[4*c+2]=A[2]/256):(i[4*c]=A[0],i[4*c+1]=A[1],i[4*c+2]=A[2]),i[4*c+3]=255),u[c]=o,f[c]=l,c++}null==e||null===(a=e.onProgress)||void 0===a||a.call(e,Object.assign({header:{vertexCount:r.totalRead},progress:r.totalRead/r.totalToRead},l))}),l.header={vertexCount:o.totalToRead,boundingBox:A(l.attributes)},l}const v={...t,parse:async(n,e)=>Z(n,e),parseSync:(n,e)=>Z(n,e)},m=v}])}));
1
+ !function(n,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var t in r)("object"==typeof exports?exports:n)[t]=r[t]}}(window,(function(){return function(n){var e={};function r(t){if(e[t])return e[t].exports;var A=e[t]={i:t,l:!1,exports:{}};return n[t].call(A.exports,A,A.exports,r),A.l=!0,A.exports}return r.m=n,r.c=e,r.d=function(n,e,t){r.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:t})},r.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var A in n)r.d(t,A,function(e){return n[e]}.bind(null,A));return t},r.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(e,"a",e),e},r.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},r.p="",r(r.s=2)}([function(n,e){},function(n,e,r){(function(e,t){n.exports=function(){var A,i=void 0!==i?i:{},u={};for(A in i)i.hasOwnProperty(A)&&(u[A]=i[A]);var f=[],o=!1,c=!1,l=!1,a=!1;o="object"==typeof window,c="function"==typeof importScripts,l="object"==typeof e&&"object"==typeof e.versions&&"string"==typeof e.versions.node,a=!o&&!l&&!c;var s,d,b,h,Z,v="";function m(n){return i.locateFile?i.locateFile(n,v):v+n}l?(v=c?r(0).dirname(v)+"/":t+"/",s=function(n,e){var t=Rr(n);return t?e?t:t.toString():(h||(h=r(5)),Z||(Z=r(0)),n=Z.normalize(n),h.readFileSync(n,e?null:"utf8"))},b=function(n){var e=s(n,!0);return e.buffer||(e=new Uint8Array(e)),F(e.buffer),e},e.argv.length>1&&e.argv[1].replace(/\\/g,"/"),f=e.argv.slice(2),n.exports=i,e.on("uncaughtException",(function(n){if(!(n instanceof Yr))throw n})),e.on("unhandledRejection",Zn),function(n){e.exit(n)},i.inspect=function(){return"[Emscripten Module object]"}):a?("undefined"!=typeof read&&(s=function(n){var e=Rr(n);return e?Vr(e):read(n)}),b=function(n){var e;return(e=Rr(n))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(n)):(F("object"==typeof(e=read(n,"binary"))),e)},"undefined"!=typeof scriptArgs?f=scriptArgs:void 0!==arguments&&(f=arguments),"function"==typeof quit&&function(n){quit(n)},"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(o||c)&&(c?v=self.location.href:document.currentScript&&(v=document.currentScript.src),v=0!==v.indexOf("blob:")?v.substr(0,v.lastIndexOf("/")+1):"",s=function(n){try{var e=new XMLHttpRequest;return e.open("GET",n,!1),e.send(null),e.responseText}catch(e){var r=Rr(n);if(r)return Vr(r);throw e}},c&&(b=function(n){try{var e=new XMLHttpRequest;return e.open("GET",n,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var r=Rr(n);if(r)return r;throw e}}),d=function(n,e,r){var t=new XMLHttpRequest;t.open("GET",n,!0),t.responseType="arraybuffer",t.onload=function(){if(200==t.status||0==t.status&&t.response)e(t.response);else{var A=Rr(n);A?e(A.buffer):r()}},t.onerror=r,t.send(null)});var V=i.print||console.log.bind(console),p=i.printErr||console.warn.bind(console);for(A in u)u.hasOwnProperty(A)&&(i[A]=u[A]);u=null,i.arguments&&(f=i.arguments),i.thisProgram&&i.thisProgram,i.quit&&i.quit;new Array(0);var y=0,R=function(n){y=n},W=function(){return y},X=8;i.wasmBinary&&i.wasmBinary,i.noExitRuntime&&i.noExitRuntime;var w=!1;function F(n,e){n||Zn("Assertion failed: "+e)}var k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function U(n,e,r){for(var t=e+r,A=e;n[A]&&!(A>=t);)++A;if(A-e>16&&n.subarray&&k)return k.decode(n.subarray(e,A));for(var i="";e<A;){var u=n[e++];if(128&u){var f=63&n[e++];if(192!=(224&u)){var o=63&n[e++];if((u=224==(240&u)?(15&u)<<12|f<<6|o:(7&u)<<18|f<<12|o<<6|63&n[e++])<65536)i+=String.fromCharCode(u);else{var c=u-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&u)<<6|f)}else i+=String.fromCharCode(u)}return i}function G(n,e){return n?U(B,n,e):""}function z(n,e,r,t){if(!(t>0))return 0;for(var A=r,i=r+t-1,u=0;u<n.length;++u){var f=n.charCodeAt(u);if(f>=55296&&f<=57343)f=65536+((1023&f)<<10)|1023&n.charCodeAt(++u);if(f<=127){if(r>=i)break;e[r++]=f}else if(f<=2047){if(r+1>=i)break;e[r++]=192|f>>6,e[r++]=128|63&f}else if(f<=65535){if(r+2>=i)break;e[r++]=224|f>>12,e[r++]=128|f>>6&63,e[r++]=128|63&f}else{if(r+3>=i)break;e[r++]=240|f>>18,e[r++]=128|f>>12&63,e[r++]=128|f>>6&63,e[r++]=128|63&f}}return e[r]=0,r-A}function N(n,e,r){return z(n,B,e,r)}function g(n){for(var e=0,r=0;r<n.length;++r){var t=n.charCodeAt(r);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&n.charCodeAt(++r)),t<=127?++e:e+=t<=2047?2:t<=65535?3:4}return e}var T,M,B,J,Y,E,x,O,C,j="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function I(n,e){for(var r=n,t=r>>1,A=t+e/2;!(t>=A)&&Y[t];)++t;if((r=t<<1)-n>32&&j)return j.decode(B.subarray(n,r));for(var i=0,u="";;){var f=J[n+2*i>>1];if(0==f||i==e/2)return u;++i,u+=String.fromCharCode(f)}}function S(n,e,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=e,A=(r-=2)<2*n.length?r/2:n.length,i=0;i<A;++i){var u=n.charCodeAt(i);J[e>>1]=u,e+=2}return J[e>>1]=0,e-t}function H(n){return 2*n.length}function Q(n,e){for(var r=0,t="";!(r>=e/4);){var A=E[n+4*r>>2];if(0==A)break;if(++r,A>=65536){var i=A-65536;t+=String.fromCharCode(55296|i>>10,56320|1023&i)}else t+=String.fromCharCode(A)}return t}function _(n,e,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=e,A=t+r-4,i=0;i<n.length;++i){var u=n.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((1023&u)<<10)|1023&n.charCodeAt(++i);if(E[e>>2]=u,(e+=4)+4>A)break}return E[e>>2]=0,e-t}function D(n){for(var e=0,r=0;r<n.length;++r){var t=n.charCodeAt(r);t>=55296&&t<=57343&&++r,e+=4}return e}function P(n){T=n,i.HEAP8=M=new Int8Array(n),i.HEAP16=J=new Int16Array(n),i.HEAP32=E=new Int32Array(n),i.HEAPU8=B=new Uint8Array(n),i.HEAPU16=Y=new Uint16Array(n),i.HEAPU32=x=new Uint32Array(n),i.HEAPF32=O=new Float32Array(n),i.HEAPF64=C=new Float64Array(n)}var $=5265264,L=22176,K=i.INITIAL_MEMORY||167772160;function q(n){for(;n.length>0;){var e=n.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?i.dynCall_v(r):i.dynCall_vi(r,e.arg):r(void 0===e.arg?null:e.arg)}else e(i)}}K=(T=i.buffer?i.buffer:new ArrayBuffer(K)).byteLength,P(T),E[L>>2]=$;var nn=[],en=[],rn=[],tn=[];function An(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)cn(i.preRun.shift());q(nn)}function un(){!0,q(en)}function fn(){q(rn)}function on(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)ln(i.postRun.shift());q(tn)}function cn(n){nn.unshift(n)}function ln(n){tn.unshift(n)}Math.abs,Math.ceil,Math.floor,Math.min;var an=0,sn=null,dn=null;function bn(n){an++,i.monitorRunDependencies&&i.monitorRunDependencies(an)}function hn(n){if(an--,i.monitorRunDependencies&&i.monitorRunDependencies(an),0==an&&(null!==sn&&(clearInterval(sn),sn=null),dn)){var e=dn;dn=null,e()}}function Zn(n){throw i.onAbort&&i.onAbort(n),V(n+=""),p(n),w=!0,1,n="abort("+n+"). Build with -s ASSERTIONS=1 for more info."}i.preloadedImages={},i.preloadedAudios={};var vn=null;function mn(n,e){return String.prototype.startsWith?n.startsWith(e):0===n.indexOf(e)}var Vn="data:application/octet-stream;base64,";function pn(n){return mn(n,Vn)}en.push({func:function(){Nr()}}),vn="data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";var yn=22368;function Rn(n){return zr(n)}var Wn={},Xn=[];function wn(n){n&&Wn[n].refcount++}function Fn(n){if(!n||Wn[n])return n;for(var e in Wn)for(var r=+e,t=Wn[r].adjusted,A=t.length,i=0;i<A;i++)if(t[i]===n)return r;return n}function kn(n){var e=Wn[n];return e&&!e.caught&&(e.caught=!0,kr.uncaught_exceptions--),e&&(e.rethrown=!1),Xn.push(n),wn(Fn(n)),n}function Un(n,e,r){throw Wn[n]={ptr:n,adjusted:[n],type:e,destructor:r,refcount:0,caught:!1,rethrown:!1},n,"uncaught_exception"in kr?kr.uncaught_exceptions++:kr.uncaught_exceptions=1,n}function Gn(){return kr.uncaught_exceptions}function zn(){}function Nn(n){switch(n){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+n)}}function gn(){for(var n=new Array(256),e=0;e<256;++e)n[e]=String.fromCharCode(e);Tn=n}var Tn=void 0;function Mn(n){for(var e="",r=n;B[r];)e+=Tn[B[r++]];return e}var Bn={},Jn={},Yn={},En=48,xn=57;function On(n){if(void 0===n)return"_unknown";var e=(n=n.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=En&&e<=xn?"_"+n:n}function Cn(n,e){return n=On(n),new Function("body","return function "+n+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function jn(n,e){var r=Cn(e,(function(n){this.name=e,this.message=n;var r=new Error(n).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(n.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var In=void 0;function Sn(n){throw new In(n)}var Hn=void 0;function Qn(n){throw new Hn(n)}function _n(n,e,r){function t(e){var t=r(e);t.length!==n.length&&Qn("Mismatched type converter count");for(var A=0;A<n.length;++A)Dn(n[A],t[A])}n.forEach((function(n){Yn[n]=e}));var A=new Array(e.length),i=[],u=0;e.forEach((function(n,e){Jn.hasOwnProperty(n)?A[e]=Jn[n]:(i.push(n),Bn.hasOwnProperty(n)||(Bn[n]=[]),Bn[n].push((function(){A[e]=Jn[n],++u===i.length&&t(A)})))})),0===i.length&&t(A)}function Dn(n,e,r){if(r=r||{},!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var t=e.name;if(n||Sn('type "'+t+'" must have a positive integer typeid pointer'),Jn.hasOwnProperty(n)){if(r.ignoreDuplicateRegistrations)return;Sn("Cannot register type '"+t+"' twice")}if(Jn[n]=e,delete Yn[n],Bn.hasOwnProperty(n)){var A=Bn[n];delete Bn[n],A.forEach((function(n){n()}))}}function Pn(n,e,r,t,A){var i=Nn(r);Dn(n,{name:e=Mn(e),fromWireType:function(n){return!!n},toWireType:function(n,e){return e?t:A},argPackAdvance:8,readValueFromPointer:function(n){var t;if(1===r)t=M;else if(2===r)t=J;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+e);t=E}return this.fromWireType(t[n>>i])},destructorFunction:null})}function $n(n){if(!(this instanceof se))return!1;if(!(n instanceof se))return!1;for(var e=this.$$.ptrType.registeredClass,r=this.$$.ptr,t=n.$$.ptrType.registeredClass,A=n.$$.ptr;e.baseClass;)r=e.upcast(r),e=e.baseClass;for(;t.baseClass;)A=t.upcast(A),t=t.baseClass;return e===t&&r===A}function Ln(n){return{count:n.count,deleteScheduled:n.deleteScheduled,preservePointerOnDelete:n.preservePointerOnDelete,ptr:n.ptr,ptrType:n.ptrType,smartPtr:n.smartPtr,smartPtrType:n.smartPtrType}}function Kn(n){Sn(n.$$.ptrType.registeredClass.name+" instance already deleted")}var qn=!1;function ne(n){}function ee(n){n.smartPtr?n.smartPtrType.rawDestructor(n.smartPtr):n.ptrType.registeredClass.rawDestructor(n.ptr)}function re(n){n.count.value-=1,0===n.count.value&&ee(n)}function te(n){return"undefined"==typeof FinalizationGroup?(te=function(n){return n},n):(qn=new FinalizationGroup((function(n){for(var e=n.next();!e.done;e=n.next()){var r=e.value;r.ptr?re(r):console.warn("object already deleted: "+r.ptr)}})),ne=function(n){qn.unregister(n.$$)},(te=function(n){return qn.register(n,n.$$,n.$$),n})(n))}function Ae(){if(this.$$.ptr||Kn(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var n=te(Object.create(Object.getPrototypeOf(this),{$$:{value:Ln(this.$$)}}));return n.$$.count.value+=1,n.$$.deleteScheduled=!1,n}function ie(){this.$$.ptr||Kn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Sn("Object already scheduled for deletion"),ne(this),re(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function ue(){return!this.$$.ptr}var fe=void 0,oe=[];function ce(){for(;oe.length;){var n=oe.pop();n.$$.deleteScheduled=!1,n.delete()}}function le(){return this.$$.ptr||Kn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Sn("Object already scheduled for deletion"),oe.push(this),1===oe.length&&fe&&fe(ce),this.$$.deleteScheduled=!0,this}function ae(){se.prototype.isAliasOf=$n,se.prototype.clone=Ae,se.prototype.delete=ie,se.prototype.isDeleted=ue,se.prototype.deleteLater=le}function se(){}var de={};function be(n,e,r){if(void 0===n[e].overloadTable){var t=n[e];n[e]=function(){return n[e].overloadTable.hasOwnProperty(arguments.length)||Sn("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+n[e].overloadTable+")!"),n[e].overloadTable[arguments.length].apply(this,arguments)},n[e].overloadTable=[],n[e].overloadTable[t.argCount]=t}}function he(n,e,r){i.hasOwnProperty(n)?((void 0===r||void 0!==i[n].overloadTable&&void 0!==i[n].overloadTable[r])&&Sn("Cannot register public name '"+n+"' twice"),be(i,n,n),i.hasOwnProperty(r)&&Sn("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),i[n].overloadTable[r]=e):(i[n]=e,void 0!==r&&(i[n].numArguments=r))}function Ze(n,e,r,t,A,i,u,f){this.name=n,this.constructor=e,this.instancePrototype=r,this.rawDestructor=t,this.baseClass=A,this.getActualType=i,this.upcast=u,this.downcast=f,this.pureVirtualFunctions=[]}function ve(n,e,r){for(;e!==r;)e.upcast||Sn("Expected null or instance of "+r.name+", got an instance of "+e.name),n=e.upcast(n),e=e.baseClass;return n}function me(n,e){if(null===e)return this.isReference&&Sn("null is not a valid "+this.name),0;e.$$||Sn('Cannot pass "'+tr(e)+'" as a '+this.name),e.$$.ptr||Sn("Cannot pass deleted object as a pointer of type "+this.name);var r=e.$$.ptrType.registeredClass;return ve(e.$$.ptr,r,this.registeredClass)}function Ve(n,e){var r;if(null===e)return this.isReference&&Sn("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==n&&n.push(this.rawDestructor,r),r):0;e.$$||Sn('Cannot pass "'+tr(e)+'" as a '+this.name),e.$$.ptr||Sn("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&e.$$.ptrType.isConst&&Sn("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);var t=e.$$.ptrType.registeredClass;if(r=ve(e.$$.ptr,t,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&Sn("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?r=e.$$.smartPtr:Sn("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)r=e.$$.smartPtr;else{var A=e.clone();r=this.rawShare(r,er((function(){A.delete()}))),null!==n&&n.push(this.rawDestructor,r)}break;default:Sn("Unsupporting sharing policy")}return r}function pe(n,e){if(null===e)return this.isReference&&Sn("null is not a valid "+this.name),0;e.$$||Sn('Cannot pass "'+tr(e)+'" as a '+this.name),e.$$.ptr||Sn("Cannot pass deleted object as a pointer of type "+this.name),e.$$.ptrType.isConst&&Sn("Cannot convert argument of type "+e.$$.ptrType.name+" to parameter type "+this.name);var r=e.$$.ptrType.registeredClass;return ve(e.$$.ptr,r,this.registeredClass)}function ye(n){return this.fromWireType(x[n>>2])}function Re(n){return this.rawGetPointee&&(n=this.rawGetPointee(n)),n}function We(n){this.rawDestructor&&this.rawDestructor(n)}function Xe(n){null!==n&&n.delete()}function we(n,e,r){if(e===r)return n;if(void 0===r.baseClass)return null;var t=we(n,e,r.baseClass);return null===t?null:r.downcast(t)}function Fe(){return Object.keys(ze).length}function ke(){var n=[];for(var e in ze)ze.hasOwnProperty(e)&&n.push(ze[e]);return n}function Ue(n){fe=n,oe.length&&fe&&fe(ce)}function Ge(){i.getInheritedInstanceCount=Fe,i.getLiveInheritedInstances=ke,i.flushPendingDeletes=ce,i.setDelayFunction=Ue}var ze={};function Ne(n,e){for(void 0===e&&Sn("ptr should not be undefined");n.baseClass;)e=n.upcast(e),n=n.baseClass;return e}function ge(n,e){return e=Ne(n,e),ze[e]}function Te(n,e){return e.ptrType&&e.ptr||Qn("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&Qn("Both smartPtrType and smartPtr must be specified"),e.count={value:1},te(Object.create(n,{$$:{value:e}}))}function Me(n){var e=this.getPointee(n);if(!e)return this.destructor(n),null;var r=ge(this.registeredClass,e);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=e,r.$$.smartPtr=n,r.clone();var t=r.clone();return this.destructor(n),t}function A(){return this.isSmartPointer?Te(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:n}):Te(this.registeredClass.instancePrototype,{ptrType:this,ptr:n})}var i,u=this.registeredClass.getActualType(e),f=de[u];if(!f)return A.call(this);i=this.isConst?f.constPointerType:f.pointerType;var o=we(e,this.registeredClass,i.registeredClass);return null===o?A.call(this):this.isSmartPointer?Te(i.registeredClass.instancePrototype,{ptrType:i,ptr:o,smartPtrType:this,smartPtr:n}):Te(i.registeredClass.instancePrototype,{ptrType:i,ptr:o})}function Be(){Je.prototype.getPointee=Re,Je.prototype.destructor=We,Je.prototype.argPackAdvance=8,Je.prototype.readValueFromPointer=ye,Je.prototype.deleteObject=Xe,Je.prototype.fromWireType=Me}function Je(n,e,r,t,A,i,u,f,o,c,l){this.name=n,this.registeredClass=e,this.isReference=r,this.isConst=t,this.isSmartPointer=A,this.pointeeType=i,this.sharingPolicy=u,this.rawGetPointee=f,this.rawConstructor=o,this.rawShare=c,this.rawDestructor=l,A||void 0!==e.baseClass?this.toWireType=Ve:t?(this.toWireType=me,this.destructorFunction=null):(this.toWireType=pe,this.destructorFunction=null)}function Ye(n,e,r){i.hasOwnProperty(n)||Qn("Replacing nonexistant public symbol"),void 0!==i[n].overloadTable&&void 0!==r?i[n].overloadTable[r]=e:(i[n]=e,i[n].argCount=r)}function Ee(n,e){n=Mn(n);var r=function(r){for(var t=[],A=1;A<n.length;++A)t.push("a"+A);var i="return function "+("dynCall_"+n+"_"+e)+"("+t.join(", ")+") {\n";return i+=" return dynCall(rawFunction"+(t.length?", ":"")+t.join(", ")+");\n",i+="};\n",new Function("dynCall","rawFunction",i)(r,e)}(i["dynCall_"+n]);return"function"!=typeof r&&Sn("unknown function pointer with signature "+n+": "+e),r}var xe=void 0;function Oe(n){var e=Ur(n),r=Mn(e);return Gr(e),r}function Ce(n,e){var r=[],t={};throw e.forEach((function n(e){t[e]||Jn[e]||(Yn[e]?Yn[e].forEach(n):(r.push(e),t[e]=!0))})),new xe(n+": "+r.map(Oe).join([", "]))}function je(n,e,r,t,A,i,u,f,o,c,l,a,s){l=Mn(l),i=Ee(A,i),f&&(f=Ee(u,f)),c&&(c=Ee(o,c)),s=Ee(a,s);var d=On(l);he(d,(function(){Ce("Cannot construct "+l+" due to unbound types",[t])})),_n([n,e,r],t?[t]:[],(function(e){var r,A;e=e[0],A=t?(r=e.registeredClass).instancePrototype:se.prototype;var u=Cn(d,(function(){if(Object.getPrototypeOf(this)!==o)throw new In("Use 'new' to construct "+l);if(void 0===a.constructor_body)throw new In(l+" has no accessible constructor");var n=a.constructor_body[arguments.length];if(void 0===n)throw new In("Tried to invoke ctor of "+l+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(a.constructor_body).toString()+") parameters instead!");return n.apply(this,arguments)})),o=Object.create(A,{constructor:{value:u}});u.prototype=o;var a=new Ze(l,u,o,s,r,i,f,c),b=new Je(l,a,!0,!1,!1),h=new Je(l+"*",a,!1,!1,!1),Z=new Je(l+" const*",a,!1,!0,!1);return de[n]={pointerType:h,constPointerType:Z},Ye(d,u),[b,h,Z]}))}function Ie(n,e){for(var r=[],t=0;t<n;t++)r.push(E[(e>>2)+t]);return r}function Se(n){for(;n.length;){var e=n.pop();n.pop()(e)}}function He(n,e,r,t,A,i){F(e>0);var u=Ie(e,r);A=Ee(t,A);var f=[i],o=[];_n([],[n],(function(n){var r="constructor "+(n=n[0]).name;if(void 0===n.registeredClass.constructor_body&&(n.registeredClass.constructor_body=[]),void 0!==n.registeredClass.constructor_body[e-1])throw new In("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+n.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return n.registeredClass.constructor_body[e-1]=function(){Ce("Cannot construct "+n.name+" due to unbound types",u)},_n([],u,(function(t){return n.registeredClass.constructor_body[e-1]=function(){arguments.length!==e-1&&Sn(r+" called with "+arguments.length+" arguments, expected "+(e-1)),o.length=0,f.length=e;for(var n=1;n<e;++n)f[n]=t[n].toWireType(o,arguments[n-1]);var i=A.apply(null,f);return Se(o),t[0].fromWireType(i)},[]})),[]}))}function Qe(n,e){if(!(n instanceof Function))throw new TypeError("new_ called with constructor type "+typeof n+" which is not a function");var r=Cn(n.name||"unknownFunctionName",(function(){}));r.prototype=n.prototype;var t=new r,A=n.apply(t,e);return A instanceof Object?A:t}function _e(n,e,r,t,A){var i=e.length;i<2&&Sn("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var u=null!==e[1]&&null!==r,f=!1,o=1;o<e.length;++o)if(null!==e[o]&&void 0===e[o].destructorFunction){f=!0;break}var c="void"!==e[0].name,l="",a="";for(o=0;o<i-2;++o)l+=(0!==o?", ":"")+"arg"+o,a+=(0!==o?", ":"")+"arg"+o+"Wired";var s="return function "+On(n)+"("+l+") {\nif (arguments.length !== "+(i-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(i-2)+" args!');\n}\n";f&&(s+="var destructors = [];\n");var d=f?"destructors":"null",b=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[Sn,t,A,Se,e[0],e[1]];u&&(s+="var thisWired = classParam.toWireType("+d+", this);\n");for(o=0;o<i-2;++o)s+="var arg"+o+"Wired = argType"+o+".toWireType("+d+", arg"+o+"); // "+e[o+2].name+"\n",b.push("argType"+o),h.push(e[o+2]);if(u&&(a="thisWired"+(a.length>0?", ":"")+a),s+=(c?"var rv = ":"")+"invoker(fn"+(a.length>0?", ":"")+a+");\n",f)s+="runDestructors(destructors);\n";else for(o=u?1:2;o<e.length;++o){var Z=1===o?"thisWired":"arg"+(o-2)+"Wired";null!==e[o].destructorFunction&&(s+=Z+"_dtor("+Z+"); // "+e[o].name+"\n",b.push(Z+"_dtor"),h.push(e[o].destructorFunction))}return c&&(s+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),s+="}\n",b.push(s),Qe(Function,b).apply(null,h)}function De(n,e,r,t,A,i,u,f){var o=Ie(r,t);e=Mn(e),i=Ee(A,i),_n([],[n],(function(n){var t=(n=n[0]).name+"."+e;function A(){Ce("Cannot call "+t+" due to unbound types",o)}f&&n.registeredClass.pureVirtualFunctions.push(e);var c=n.registeredClass.instancePrototype,l=c[e];return void 0===l||void 0===l.overloadTable&&l.className!==n.name&&l.argCount===r-2?(A.argCount=r-2,A.className=n.name,c[e]=A):(be(c,e,t),c[e].overloadTable[r-2]=A),_n([],o,(function(A){var f=_e(t,A,n,i,u);return void 0===c[e].overloadTable?(f.argCount=r-2,c[e]=f):c[e].overloadTable[r-2]=f,[]})),[]}))}var Pe=[],$e=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Le(n){n>4&&0==--$e[n].refcount&&($e[n]=void 0,Pe.push(n))}function Ke(){for(var n=0,e=5;e<$e.length;++e)void 0!==$e[e]&&++n;return n}function qe(){for(var n=5;n<$e.length;++n)if(void 0!==$e[n])return $e[n];return null}function nr(){i.count_emval_handles=Ke,i.get_first_emval=qe}function er(n){switch(n){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var e=Pe.length?Pe.pop():$e.length;return $e[e]={refcount:1,value:n},e}}function rr(n,e){Dn(n,{name:e=Mn(e),fromWireType:function(n){var e=$e[n].value;return Le(n),e},toWireType:function(n,e){return er(e)},argPackAdvance:8,readValueFromPointer:ye,destructorFunction:null})}function tr(n){if(null===n)return"null";var e=typeof n;return"object"===e||"array"===e||"function"===e?n.toString():""+n}function Ar(n,e){switch(e){case 2:return function(n){return this.fromWireType(O[n>>2])};case 3:return function(n){return this.fromWireType(C[n>>3])};default:throw new TypeError("Unknown float type: "+n)}}function ir(n,e,r){var t=Nn(r);Dn(n,{name:e=Mn(e),fromWireType:function(n){return n},toWireType:function(n,e){if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+tr(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Ar(e,t),destructorFunction:null})}function ur(n,e,r){switch(e){case 0:return r?function(n){return M[n]}:function(n){return B[n]};case 1:return r?function(n){return J[n>>1]}:function(n){return Y[n>>1]};case 2:return r?function(n){return E[n>>2]}:function(n){return x[n>>2]};default:throw new TypeError("Unknown integer type: "+n)}}function fr(n,e,r,t,A){e=Mn(e),-1===A&&(A=4294967295);var i=Nn(r),u=function(n){return n};if(0===t){var f=32-8*r;u=function(n){return n<<f>>>f}}var o=-1!=e.indexOf("unsigned");Dn(n,{name:e,fromWireType:u,toWireType:function(n,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+tr(r)+'" to '+this.name);if(r<t||r>A)throw new TypeError('Passing a number "'+tr(r)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+t+", "+A+"]!");return o?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:ur(e,i,0!==t),destructorFunction:null})}function or(n,e,r){var t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function A(n){var e=x,r=e[n>>=2],A=e[n+1];return new t(T,A,r)}Dn(n,{name:r=Mn(r),fromWireType:A,argPackAdvance:8,readValueFromPointer:A},{ignoreDuplicateRegistrations:!0})}function cr(n,e){var r="std::string"===(e=Mn(e));Dn(n,{name:e,fromWireType:function(n){var e,t=x[n>>2];if(r)for(var A=n+4,i=0;i<=t;++i){var u=n+4+i;if(0==B[u]||i==t){var f=G(A,u-A);void 0===e?e=f:(e+=String.fromCharCode(0),e+=f),A=u+1}}else{var o=new Array(t);for(i=0;i<t;++i)o[i]=String.fromCharCode(B[n+4+i]);e=o.join("")}return Gr(n),e},toWireType:function(n,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var t="string"==typeof e;t||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||Sn("Cannot pass non-string to std::string");var A=(r&&t?function(){return g(e)}:function(){return e.length})(),i=zr(4+A+1);if(x[i>>2]=A,r&&t)N(e,i+4,A+1);else if(t)for(var u=0;u<A;++u){var f=e.charCodeAt(u);f>255&&(Gr(i),Sn("String has UTF-16 code units that do not fit in 8 bits")),B[i+4+u]=f}else for(u=0;u<A;++u)B[i+4+u]=e[u];return null!==n&&n.push(Gr,i),i},argPackAdvance:8,readValueFromPointer:ye,destructorFunction:function(n){Gr(n)}})}function lr(n,e,r){var t,A,i,u,f;r=Mn(r),2===e?(t=I,A=S,u=H,i=function(){return Y},f=1):4===e&&(t=Q,A=_,u=D,i=function(){return x},f=2),Dn(n,{name:r,fromWireType:function(n){for(var r,A=x[n>>2],u=i(),o=n+4,c=0;c<=A;++c){var l=n+4+c*e;if(0==u[l>>f]||c==A){var a=t(o,l-o);void 0===r?r=a:(r+=String.fromCharCode(0),r+=a),o=l+e}}return Gr(n),r},toWireType:function(n,t){"string"!=typeof t&&Sn("Cannot pass non-string to C++ string type "+r);var i=u(t),o=zr(4+i+e);return x[o>>2]=i>>f,A(t,o+4,i+e),null!==n&&n.push(Gr,o),o},argPackAdvance:8,readValueFromPointer:ye,destructorFunction:function(n){Gr(n)}})}function ar(n,e){Dn(n,{isVoid:!0,name:e=Mn(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(n,e){}})}function sr(){Zn()}function dr(){return B.length}function br(n){Zn("OOM")}function hr(n){br()}function Zr(){Zn("trap!")}function vr(n,e,r){B.copyWithin(n,e,e+r)}gn(),In=i.BindingError=jn(Error,"BindingError"),Hn=i.InternalError=jn(Error,"InternalError"),ae(),Be(),Ge(),xe=i.UnboundTypeError=jn(Error,"UnboundTypeError"),nr();var mr=!1;function Vr(n){for(var e=[],r=0;r<n.length;r++){var t=n[r];t>255&&(mr&&F(!1,"Character code "+t+" ("+String.fromCharCode(t)+") at offset "+r+" not in 0x00-0xFF."),t&=255),e.push(String.fromCharCode(t))}return e.join("")}var pr="function"==typeof atob?atob:function(n){var e,r,t,A,i,u,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",c=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=f.indexOf(n.charAt(c++))<<2|(A=f.indexOf(n.charAt(c++)))>>4,r=(15&A)<<4|(i=f.indexOf(n.charAt(c++)))>>2,t=(3&i)<<6|(u=f.indexOf(n.charAt(c++))),o+=String.fromCharCode(e),64!==i&&(o+=String.fromCharCode(r)),64!==u&&(o+=String.fromCharCode(t))}while(c<n.length);return o};function yr(n){if("boolean"==typeof l&&l){var e;try{e=Buffer.from(n,"base64")}catch(r){e=new Buffer(n,"base64")}return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}try{for(var r=pr(n),t=new Uint8Array(r.length),A=0;A<r.length;++A)t[A]=r.charCodeAt(A);return t}catch(n){throw new Error("Converting base64 string to bytes failed.")}}function Rr(n){if(pn(n))return yr(n.slice(Vn.length))}var Wr,Xr={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Float32Array:Float32Array,Float64Array:Float64Array},wr={A:vr,B:hr,C:Zr,D:yn,a:Zn,b:R,c:W,d:Rn,e:kn,f:Un,g:Gn,h:wn,i:Fn,j:zn,k:Pn,l:je,m:He,n:De,o:rr,p:ir,q:fr,r:or,s:cr,t:lr,u:ar,v:Le,w:er,x:sr,y:tr,z:dr},Fr=function(n,e,r){"use asm";var t=new n.Int8Array(r),A=new n.Int16Array(r),i=new n.Int32Array(r),u=new n.Uint8Array(r),f=new n.Uint16Array(r),o=new n.Float32Array(r),c=new n.Float64Array(r),l=e.D|0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0.0,V=n.Math.imul,p=n.Math.clz32,y=e.a,R=e.b,W=e.c,X=e.d,w=e.e,F=e.f,k=e.g,U=e.h,G=e.i,z=e.j,N=e.k,g=e.l,T=e.m,M=e.n,B=e.o,J=e.p,Y=e.q,E=e.r,x=e.s,O=e.t,C=e.u,j=e.v,I=e.w,S=e.x,H=e.y,Q=e.z,_=e.A,D=e.B,P=e.C,$=22384,L=5265264,K=0.0;function q(){La();Ka()}function nn(){en(0);return}function en(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0;n=$;$=$+16|0;e=n+8|0;r=n;bl();s=Zl()|0;u=vl()|0;A=Vl()|0;f=pl()|0;o=yl()|0;c=Rl()|0;l=Ul()|0;a=Gl()|0;t=Gl()|0;g(A|0,f|0,o|0,c|0,l|0,9,a|0,s|0,t|0,u|0,6204,zl()|0,138);gl(1);i[r>>2]=5;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xl(6211,e);i[r>>2]=3;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];Pl(6216,e);i[r>>2]=10;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];ta(6225,e);aa();u=da()|0;t=ba()|0;s=Za()|0;a=va()|0;l=ma()|0;c=Rl()|0;o=Ul()|0;f=Gl()|0;A=Gl()|0;g(s|0,a|0,l|0,c|0,o|0,11,f|0,u|0,A|0,t|0,6234,zl()|0,139);wa(2);i[r>>2]=6;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];ga(6211,e);i[r>>2]=4;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xa(6248,e);i[r>>2]=5;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xa(6265,e);i[r>>2]=6;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];xa(6280,e);i[r>>2]=7;i[r+4>>2]=0;i[e>>2]=i[r>>2];i[e+4>>2]=i[r+4>>2];Ha(6216,e);$=n;return}function rn(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0,o=0;t=$;$=$+32|0;f=t+16|0;A=t+8|0;o=t;u=Ph(20)|0;an(u,e,r);i[o>>2]=0;i[f>>2]=i[o>>2];dn(A,u,f);e=i[A>>2]|0;i[A>>2]=i[n>>2];i[n>>2]=e;e=A+4|0;r=n+4|0;u=i[e>>2]|0;i[e>>2]=i[r>>2];i[r>>2]=u;bn(A);r=Ph(352)|0;sn(r,i[n>>2]|0);u=n+8|0;i[o>>2]=0;i[f>>2]=i[o>>2];Wn(A,r,f);r=i[A>>2]|0;i[A>>2]=i[u>>2];i[u>>2]=r;u=A+4|0;r=n+12|0;e=i[u>>2]|0;i[u>>2]=i[r>>2];i[r>>2]=e;Xn(A);$=t;return}function tn(n,e){n=n|0;e=e|0;Pr(i[n+8>>2]|0,e);return}function An(n){n=n|0;n=(Mf(i[n+8>>2]|0)|0)+107|0;return u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24|0}function un(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0,o=0;t=$;$=$+32|0;u=t+16|0;A=t+8|0;f=t;o=Ph(12)|0;Bf(o,e,r);i[f>>2]=0;i[u>>2]=i[f>>2];xf(A,o,u);o=i[A>>2]|0;i[A>>2]=i[n>>2];i[n>>2]=o;o=A+4|0;r=n+4|0;e=i[o>>2]|0;i[o>>2]=i[r>>2];i[r>>2]=e;Of(A);r=n+8|0;e=Ph(12)|0;Jf(e,i[n>>2]|0);i[f>>2]=0;i[u>>2]=i[f>>2];Qf(A,e,u);e=i[A>>2]|0;i[A>>2]=i[r>>2];i[r>>2]=e;e=A+4|0;f=n+12|0;o=i[e>>2]|0;i[e>>2]=i[f>>2];i[f>>2]=o;_f(A);Yf(A,i[r>>2]|0);r=n+16|0;f=i[A>>2]|0;o=A+4|0;e=i[o>>2]|0;i[A>>2]=0;i[o>>2]=0;i[u>>2]=i[r>>2];i[r>>2]=f;r=n+20|0;i[u+4>>2]=i[r>>2];i[r>>2]=e;Ef(u);Ef(A);$=t;return}function fn(n,e){n=n|0;e=e|0;var r=0;n=n+16|0;r=i[n>>2]|0;n:do{if(r|0)switch(e|0){case 4:{so(r);break n}case 8:{bo(r);bo(i[n>>2]|0);break n}default:break n}}while(0);return}function on(n,e){n=n|0;e=e|0;var r=0;r=n+16|0;n=i[r>>2]|0;n:do{if(n|0){switch(e|0){case 1:{nc(n);break n}case 2:{ec(n);break n}case 8:{so(n);n=i[r>>2]|0;break}case 4:break;default:break n}so(n)}}while(0);return}function cn(n,e){n=n|0;e=e|0;var r=0;r=n+16|0;n=i[r>>2]|0;n:do{if(n|0){switch(e|0){case 1:{Jc(n);break n}case 2:{Yc(n);break n}case 8:{bo(n);n=i[r>>2]|0;break}case 4:break;default:break n}bo(n)}}while(0);return}function ln(n,e){n=n|0;e=e|0;n=i[n+16>>2]|0;if(n|0)Cv[i[i[n>>2]>>2]&63](n,e)|0;return}function an(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;i[n+4>>2]=r;i[n+8>>2]=0;t[n+12>>0]=0;t[n+13>>0]=0;i[n+16>>2]=0;return}function sn(n,e){n=n|0;e=e|0;i[n>>2]=e;xn(n+4|0,e);On(n+247|0);i[n+288>>2]=0;i[n+292>>2]=0;i[n+296>>2]=0;Cn(n+300|0);e=n+312|0;i[e>>2]=0;i[e+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;jn(n+328|0);In(n);return}function dn(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4296;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;hn(n,t);$=r;return}function bn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function hn(n,e){n=n|0;e=e|0;return}function Zn(n){n|0;w(n|0)|0;rh()}function vn(n){n=n|0;uZ(n);nh(n);return}function mn(n){n=n|0;n=i[n+12>>2]|0;if(n|0)nh(n);return}function Vn(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==6407?n+12|0:0)|0}function pn(n){n=n|0;yn(n,16);return}function yn(n,e){n=n|0;e=e|0;Rn(n);return}function Rn(n){n=n|0;nh(n);return}function Wn(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4324;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;wn(n,t);$=r;return}function Xn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function wn(n,e){n=n|0;e=e|0;return}function Fn(n){n=n|0;uZ(n);nh(n);return}function kn(n){n=n|0;n=i[n+12>>2]|0;if(n|0){zn(n);nh(n)}return}function Un(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==6605?n+12|0:0)|0}function Gn(n){n=n|0;yn(n,16);return}function zn(n){n=n|0;Nn(n+320|0);gn(n+312|0);Tn(n+300|0);Yn(n+288|0);Mn(n+247|0);Bn(n+4|0);return}function Nn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function gn(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Tn(n){n=n|0;Jn(n);return}function Mn(n){n=n|0;n=n+34|0;n=u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24;if(n|0)Lh(n);return}function Bn(n){n=n|0;En(i[n+12>>2]|0);return}function Jn(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=e;if(e|0){i[n+4>>2]=r;yn(e,(i[n+8>>2]|0)-r|0)}return}function Yn(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=e;if(e|0){i[n+4>>2]=r;yn(e,(i[n+8>>2]|0)-r|0)}return}function En(n){n=n|0;PZ(i[n+-4>>2]|0);return}function xn(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=Sn(1048576)|0;return}function On(n){n=n|0;var e=0;e=n+32|0;t[e>>0]=0;t[e+1>>0]=0;n=n+34|0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;return}function Cn(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;return}function jn(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;n=n+16|0;i[n>>2]=-1;i[n+4>>2]=-1;return}function In(n){n=n|0;var e=0,r=0,A=0,u=0,f=0,o=0;o=$;$=$+64|0;u=o+32|0;r=o+56|0;e=o+16|0;f=o;Hn(i[n>>2]|0,r,4);Ae(u,r,r+4|0);r=te(6693)|0;A=t[u+11>>0]|0;if((r|0)==((A<<24>>24<0?i[u+4>>2]|0:A&255)|0)){A=(XZ(u,0,-1,6693,r)|0)==0;VZ(u);if(A){r=i[n>>2]|0;i[e>>2]=0;i[e+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;i[u>>2]=i[e>>2];i[u+4>>2]=i[e+4>>2];i[u+8>>2]=i[e+8>>2];i[u+12>>2]=i[e+12>>2];_n(r,u);r=n+20|0;Hn(i[n>>2]|0,r,227);Dn(n,r);A=Pn()|0;e=i[A>>2]|0;A=i[A+4>>2]|0;if((e|0)!=(A|0))do{$n(u,e);Ln(u,r);Kn(u);e=e+24|0}while((e|0)!=(A|0));qn(n);ne(n);ee(i[n>>2]|0);A=i[n>>2]|0;e=(i[n+116>>2]|0)+8|0;r=f;i[r>>2]=0;i[r+4>>2]=0;r=f+8|0;i[r>>2]=e;i[r+4>>2]=0;i[u>>2]=i[f>>2];i[u+4>>2]=i[f+4>>2];i[u+8>>2]=i[f+8>>2];i[u+12>>2]=i[f+12>>2];_n(A,u);re(n+4|0);$=o;return}}else VZ(u);o=X(8)|0;Qn(o);F(o|0,2592,8)}function Sn(n){n=n|0;var e=0;e=DZ(n+68|0)|0;n=e+68&-64;i[n+-4>>2]=e;return n|0}function Hn(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;o=n+13|0;if(!(t[o>>0]|0)){f=n+4|0;A=i[f>>2]|0;c=n+8|0;u=i[c>>2]|0;l=A-u|0;r=(l|0)<(r|0)?l:r;if(r){sv(e|0,(i[n>>2]|0)+u|0,r|0)|0;u=i[c>>2]|0;A=i[f>>2]|0}l=u+r|0;i[c>>2]=l;i[n+16>>2]=r;if((l|0)>=(A|0))t[o>>0]=1}else t[n+12>>0]=1;return}function Qn(n){n=n|0;bZ(n,6791);i[n>>2]=4352;return}function _n(n,e){n=n|0;e=e|0;var r=0,A=0,u=0;u=e+8|0;e=i[u>>2]|0;u=i[u+4>>2]|0;r=i[n+4>>2]|0;A=((r|0)<0)<<31>>31;if((u|0)<(A|0)|(u|0)==(A|0)&e>>>0<r>>>0)i[n+8>>2]=e;else t[n+12>>0]=1;return}function Dn(n,e){n=n|0;e=e|0;var r=0.0,A=0.0,i=0,u=0.0,f=0,o=0.0,a=0,s=0.0,d=0,b=0.0;d=e+179|0;t[l>>0]=t[d>>0];t[l+1>>0]=t[d+1>>0];t[l+2>>0]=t[d+2>>0];t[l+3>>0]=t[d+3>>0];t[l+4>>0]=t[d+4>>0];t[l+5>>0]=t[d+5>>0];t[l+6>>0]=t[d+6>>0];t[l+7>>0]=t[d+7>>0];s=+c[l>>3];f=e+187|0;t[l>>0]=t[f>>0];t[l+1>>0]=t[f+1>>0];t[l+2>>0]=t[f+2>>0];t[l+3>>0]=t[f+3>>0];t[l+4>>0]=t[f+4>>0];t[l+5>>0]=t[f+5>>0];t[l+6>>0]=t[f+6>>0];t[l+7>>0]=t[f+7>>0];b=+c[l>>3];n=e+195|0;t[l>>0]=t[n>>0];t[l+1>>0]=t[n+1>>0];t[l+2>>0]=t[n+2>>0];t[l+3>>0]=t[n+3>>0];t[l+4>>0]=t[n+4>>0];t[l+5>>0]=t[n+5>>0];t[l+6>>0]=t[n+6>>0];t[l+7>>0]=t[n+7>>0];u=+c[l>>3];a=e+203|0;t[l>>0]=t[a>>0];t[l+1>>0]=t[a+1>>0];t[l+2>>0]=t[a+2>>0];t[l+3>>0]=t[a+3>>0];t[l+4>>0]=t[a+4>>0];t[l+5>>0]=t[a+5>>0];t[l+6>>0]=t[a+6>>0];t[l+7>>0]=t[a+7>>0];o=+c[l>>3];i=e+211|0;t[l>>0]=t[i>>0];t[l+1>>0]=t[i+1>>0];t[l+2>>0]=t[i+2>>0];t[l+3>>0]=t[i+3>>0];t[l+4>>0]=t[i+4>>0];t[l+5>>0]=t[i+5>>0];t[l+6>>0]=t[i+6>>0];t[l+7>>0]=t[i+7>>0];r=+c[l>>3];e=e+219|0;t[l>>0]=t[e>>0];t[l+1>>0]=t[e+1>>0];t[l+2>>0]=t[e+2>>0];t[l+3>>0]=t[e+3>>0];t[l+4>>0]=t[e+4>>0];t[l+5>>0]=t[e+5>>0];t[l+6>>0]=t[e+6>>0];t[l+7>>0]=t[e+7>>0];A=+c[l>>3];c[l>>3]=b;t[d>>0]=t[l>>0];t[d+1>>0]=t[l+1>>0];t[d+2>>0]=t[l+2>>0];t[d+3>>0]=t[l+3>>0];t[d+4>>0]=t[l+4>>0];t[d+5>>0]=t[l+5>>0];t[d+6>>0]=t[l+6>>0];t[d+7>>0]=t[l+7>>0];c[l>>3]=s;t[a>>0]=t[l>>0];t[a+1>>0]=t[l+1>>0];t[a+2>>0]=t[l+2>>0];t[a+3>>0]=t[l+3>>0];t[a+4>>0]=t[l+4>>0];t[a+5>>0]=t[l+5>>0];t[a+6>>0]=t[l+6>>0];t[a+7>>0]=t[l+7>>0];c[l>>3]=o;t[f>>0]=t[l>>0];t[f+1>>0]=t[l+1>>0];t[f+2>>0]=t[l+2>>0];t[f+3>>0]=t[l+3>>0];t[f+4>>0]=t[l+4>>0];t[f+5>>0]=t[l+5>>0];t[f+6>>0]=t[l+6>>0];t[f+7>>0]=t[l+7>>0];c[l>>3]=u;t[i>>0]=t[l>>0];t[i+1>>0]=t[l+1>>0];t[i+2>>0]=t[l+2>>0];t[i+3>>0]=t[l+3>>0];t[i+4>>0]=t[l+4>>0];t[i+5>>0]=t[l+5>>0];t[i+6>>0]=t[l+6>>0];t[i+7>>0]=t[l+7>>0];c[l>>3]=A;t[n>>0]=t[l>>0];t[n+1>>0]=t[l+1>>0];t[n+2>>0]=t[l+2>>0];t[n+3>>0]=t[l+3>>0];t[n+4>>0]=t[l+4>>0];t[n+5>>0]=t[l+5>>0];t[n+6>>0]=t[l+6>>0];t[n+7>>0]=t[l+7>>0];c[l>>3]=r;t[e>>0]=t[l>>0];t[e+1>>0]=t[l+1>>0];t[e+2>>0]=t[l+2>>0];t[e+3>>0]=t[l+3>>0];t[e+4>>0]=t[l+4>>0];t[e+5>>0]=t[l+5>>0];t[e+6>>0]=t[l+6>>0];t[e+7>>0]=t[l+7>>0];return}function Pn(){var n=0,e=0,r=0,A=0,u=0,f=0,o=0,c=0;u=$;$=$+48|0;r=u+24|0;A=u;n=u+44|0;if((t[21440]|0)==0?Jh(21440)|0:0){i[5374]=0;i[5375]=0;i[5376]=0;Sh(21440)}if((t[21448]|0)==0?Jh(21448)|0:0)Sh(21448);if((i[5374]|0)==(i[5375]|0)){oZ(21508);if((i[5374]|0)==(i[5375]|0)){t[r>>0]=t[n>>0]|0;fe(A,r);n=i[5375]|0;do{if(n>>>0>=(i[5376]|0)>>>0){n=((n-(i[5374]|0)|0)/24|0)+1|0;e=he(21496)|0;if(e>>>0<n>>>0)_Z(21496);else{f=i[5374]|0;c=((i[5376]|0)-f|0)/24|0;o=c<<1;se(r,c>>>0<e>>>1>>>0?o>>>0<n>>>0?n:o:e,((i[5375]|0)-f|0)/24|0,21504);e=r+8|0;le(i[e>>2]|0,A);i[e>>2]=(i[e>>2]|0)+24;de(21496,r);be(r);break}}else{oe(r,21496,1);c=r+4|0;le(i[c>>2]|0,A);i[c>>2]=(i[c>>2]|0)+24;ce(r)}}while(0);Kn(A)}cZ(21508)}$=u;return 21496}function $n(n,e){n=n|0;e=e|0;var r=0,t=0;r=e+16|0;t=i[r>>2]|0;do{if(t){if((e|0)==(t|0)){t=ae(n)|0;i[n+16>>2]=t;r=i[r>>2]|0;Hv[i[(i[r>>2]|0)+12>>2]&15](r,t);break}else{i[n+16>>2]=xv[i[(i[t>>2]|0)+8>>2]&15](t)|0;break}}else i[n+16>>2]=0}while(0);return}function Ln(n,e){n=n|0;e=e|0;n=i[n+16>>2]|0;if(!n){e=X(4)|0;i[e>>2]=0;Ne(e);F(e|0,4168,131)}else{Hv[i[(i[n>>2]|0)+24>>2]&15](n,e);return}}function Kn(n){n=n|0;var e=0;e=i[n+16>>2]|0;if((n|0)!=(e|0)){if(e|0)Sv[i[(i[e>>2]|0)+20>>2]&255](e)}else Sv[i[(i[e>>2]|0)+16>>2]&255](e);return}function qn(n){n=n|0;var e=0,r=0,A=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;Z=$;$=$+96|0;o=Z+16|0;b=Z;a=Z+72|0;c=i[n>>2]|0;s=f[n+114>>1]|0;d=b;i[d>>2]=0;i[d+4>>2]=0;d=b+8|0;i[d>>2]=s;i[d+4>>2]=0;i[o>>2]=i[b>>2];i[o+4>>2]=i[b+4>>2];i[o+8>>2]=i[b+8>>2];i[o+12>>2]=i[b+12>>2];_n(c,o);c=n+120|0;n:do{if(i[c>>2]|0){l=o+2|0;s=o+16|0;d=o+20|0;b=o+18|0;r=0;while(1){if(!(ge(i[n>>2]|0)|0))break n;if(Te(i[n>>2]|0)|0)break n;Hn(i[n>>2]|0,o,54);e=7277;A=l;while(1){if((t[A>>0]|0)!=(t[e>>0]|0))break;A=A+1|0;if((A|0)==(s|0)){h=8;break}else e=e+1|0}if((h|0)==8?(h=0,(u[b>>0]|u[b+1>>0]<<8)<<16>>16==22204):0)break;Be(i[n>>2]|0,(u[d>>0]|u[d+1>>0]<<8)&65535,0,1);r=r+1|0;if(r>>>0>=(i[c>>2]|0)>>>0)break n}b=(u[d>>0]|u[d+1>>0]<<8)&65535;h=$h(b)|0;Hn(i[n>>2]|0,h,b);Me(n,h);nh(h);h=n+125|0;Ye(a,n+247|0,(u[h>>0]|u[h+1>>0]<<8)&65535);Ee(n+300|0,a)|0;Tn(a);$=Z;return}}while(0);Z=X(8)|0;Je(Z);F(Z|0,2672,8)}function ne(n){n=n|0;var e=0,r=0,t=0,A=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;d=$;$=$+176|0;A=d+40|0;f=d+24|0;e=d+16|0;t=d;l=d+152|0;a=d+136|0;s=d+56|0;c=i[n>>2]|0;o=n+116|0;b=i[o>>2]|0;r=f;i[r>>2]=0;i[r+4>>2]=0;r=f+8|0;i[r>>2]=b;i[r+4>>2]=0;i[A>>2]=i[f>>2];i[A+4>>2]=i[f+4>>2];i[A+8>>2]=i[f+8>>2];i[A+12>>2]=i[f+12>>2];_n(c,A);c=e;i[c>>2]=0;i[c+4>>2]=0;Hn(i[n>>2]|0,e,8);if(!(ge(i[n>>2]|0)|0)){b=X(8)|0;qe(b);F(b|0,2704,8)}r=e;e=i[r>>2]|0;r=i[r+4>>2]|0;if((e|0)==-1&(r|0)==-1){b=X(8)|0;nr(b,7488);F(b|0,2720,8)}b=i[n>>2]|0;c=t;i[c>>2]=0;i[c+4>>2]=0;c=t+8|0;i[c>>2]=e;i[c+4>>2]=r;i[A>>2]=i[t>>2];i[A+4>>2]=i[t+4>>2];i[A+8>>2]=i[t+8>>2];i[A+12>>2]=i[t+12>>2];_n(b,A);if(!(ge(i[n>>2]|0)|0)){b=X(8)|0;qe(b);F(b|0,2704,8)}Hn(i[n>>2]|0,A,8);if(!(ge(i[n>>2]|0)|0)){b=X(8)|0;qe(b);F(b|0,2704,8)}if(i[A>>2]|0){b=X(8)|0;er(b);F(b|0,2736,8)}f=n+288|0;c=n+292|0;i[c>>2]=i[f>>2];b=n+259|0;if((u[b>>0]|u[b+1>>0]<<8|u[b+2>>0]<<16|u[b+3>>0]<<24|0)==-1){b=X(8)|0;nr(b,7606);F(b|0,2720,8)}t=A+4|0;rr(f,(i[t>>2]|0)+1|0);b=i[f>>2]|0;i[b>>2]=(i[o>>2]|0)+8;i[b+4>>2]=0;if((i[t>>2]|0)>>>0>1){xn(l,i[n>>2]|0);tr(a,l);Ar(s,32,2,8,0);ir(a);ur(s);if(!(i[t>>2]|0)){f=i[f>>2]|0;r=f}else{r=1;do{if(r>>>0>1)e=i[(i[f>>2]|0)+(r+-1<<3)>>2]|0;else e=0;o=fr(s,a,e,1)|0;e=i[f>>2]|0;b=e+(r<<3)|0;i[b>>2]=o;i[b+4>>2]=((o|0)<0)<<31>>31;r=r+1|0}while(r>>>0<=(i[t>>2]|0)>>>0);r=e;f=e}e=i[c>>2]|0;if(e-r>>3>>>0>1){A=e-f>>3;t=f;e=1;r=i[t>>2]|0;t=i[t+4>>2]|0;do{b=f+(e<<3)|0;c=b;r=rv(i[c>>2]|0,i[c+4>>2]|0,r|0,t|0)|0;t=W()|0;i[b>>2]=r;i[b+4>>2]=t;e=e+1|0}while(e>>>0<A>>>0)}or(s);cr(a);Bn(l)}$=d;return}function ee(n){n=n|0;t[n+12>>0]=0;t[n+13>>0]=0;return}function re(n){n=n|0;i[n+8>>2]=0;i[n+4>>2]=0;return}function te(n){n=n|0;return $d(n)|0}function Ae(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;o=$;$=$+16|0;u=e;f=o;A=r-u|0;if(A>>>0>4294967279)hZ(n);if(A>>>0<11)t[n+11>>0]=A;else{l=A+16&-16;c=Ph(l)|0;i[n>>2]=c;i[n+8>>2]=l|-2147483648;i[n+4>>2]=A;n=c}if((e|0)!=(r|0)){u=r-u|0;A=n;while(1){ie(A,e);e=e+1|0;if((e|0)==(r|0))break;else A=A+1|0}n=n+u|0}t[f>>0]=0;ie(n,f);$=o;return}function ie(n,e){n=n|0;e=e|0;t[n>>0]=t[e>>0]|0;return}function ue(n){n=n|0;hh(n);nh(n);return}function fe(n,e){n=n|0;e=e|0;i[n>>2]=4372;i[n+16>>2]=n;return}function oe(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r*24|0);return}function ce(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function le(n,e){n=n|0;e=e|0;var r=0,t=0;r=e+16|0;t=i[r>>2]|0;do{if(t){if((e|0)==(t|0)){t=ae(n)|0;i[n+16>>2]=t;r=i[r>>2]|0;Hv[i[(i[r>>2]|0)+12>>2]&15](r,t);break}else{i[n+16>>2]=t;i[r>>2]=0;break}}else i[n+16>>2]=0}while(0);return}function ae(n){n=n|0;return n|0}function se(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>178956970){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e*24|0)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r*24|0)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e*24|0);return}function de(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;o=i[n>>2]|0;c=n+4|0;r=i[c>>2]|0;f=e+4|0;if((r|0)==(o|0)){A=f;u=n;t=i[f>>2]|0;r=o}else{t=i[f>>2]|0;do{r=r+-24|0;le(t+-24|0,r);t=(i[f>>2]|0)+-24|0;i[f>>2]=t}while((r|0)!=(o|0));A=f;u=n;r=i[n>>2]|0}i[u>>2]=t;i[A>>2]=r;o=e+8|0;f=i[c>>2]|0;i[c>>2]=i[o>>2];i[o>>2]=f;o=n+8|0;c=e+12|0;n=i[o>>2]|0;i[o>>2]=i[c>>2];i[c>>2]=n;i[e>>2]=i[A>>2];return}function be(n){n=n|0;var e=0,r=0,t=0,A=0;r=i[n+4>>2]|0;t=n+8|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{A=e+-24|0;i[t>>2]=A;Kn(A);e=i[t>>2]|0}while((e|0)!=(r|0));e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function he(n){n=n|0;return 178956970}function Ze(n){n=n|0;nh(n);return}function ve(n){n=n|0;n=Ph(8)|0;i[n>>2]=4372;return n|0}function me(n,e){n=n|0;e=e|0;i[e>>2]=4372;return}function Ve(n){n=n|0;return}function pe(n){n=n|0;yn(n,8);return}function ye(n,e){n=n|0;e=e|0;we(n+4|0,e);return}function Re(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==7183?n+4|0:0)|0}function We(n){n=n|0;return 2664}function Xe(n){n=n|0;return}function we(n,e){n=n|0;e=e|0;Fe(n,e);return}function Fe(n,e){n=n|0;e=e|0;var r=0,A=0;n=e+104|0;e=u[n>>0]|0;r=e>>>7;A=e>>>6&1;if((r|0)==1&(A|0)!=0){A=X(8)|0;ke(A);F(A|0,2632,8)}if((r|0)==(A|0)){A=X(8)|0;Ue(A);F(A|0,2648,8)}else{t[n>>0]=e&63;return}}function ke(n){n=n|0;bZ(n,7076);i[n>>2]=4416;return}function Ue(n){n=n|0;bZ(n,7144);i[n>>2]=4436;return}function Ge(n){n=n|0;hh(n);nh(n);return}function ze(n){n=n|0;hh(n);nh(n);return}function Ne(n){n=n|0;i[n>>2]=6092;return}function ge(n){n=n|0;var e=0;e=n+12|0;n=(t[e>>0]|0)==0;t[e>>0]=0;return n|0}function Te(n){n=n|0;return(t[n+13>>0]|0)!=0|0}function Me(n,e){n=n|0;e=e|0;n=n+247|0;xe(n,e);if((u[n>>0]|u[n+1>>0]<<8)<<16>>16==2)return;else{e=X(8)|0;Oe(e);F(e|0,2688,8)}}function Be(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0;switch(A|0){case 0:break;case 2:{A=i[n+4>>2]|0;e=rv(rv(e|0,r|0,-1,-1)|0,W()|0,A|0,((A|0)<0)<<31>>31|0)|0;r=W()|0;break}case 1:{A=i[n+8>>2]|0;e=rv(A|0,((A|0)<0)<<31>>31|0,e|0,r|0)|0;r=W()|0;break}default:{r=0;e=0}}u=i[n+4>>2]|0;f=((u|0)<0)<<31>>31;A=n+12|0;if((r|0)<0|((r|0)>(f|0)|(r|0)==(f|0)&e>>>0>=u>>>0))t[A>>0]=1;else{t[A>>0]=0;i[n+8>>2]=e}return}function Je(n){n=n|0;bZ(n,7410);i[n>>2]=4476;return}function Ye(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,i=0,f=0,o=0,c=0,l=0;f=$;$=$+16|0;i=f;Cn(n);A=e+32|0;if((u[A>>0]|u[A+1>>0]<<8)<<16>>16){t=e+34|0;e=0;do{c=u[t>>0]|u[t+1>>0]<<8|u[t+2>>0]<<16|u[t+3>>0]<<24;l=c+(e*6|0)|0;o=c+(e*6|0)+2|0;c=c+(e*6|0)+4|0;Se(i,(u[l>>0]|u[l+1>>0]<<8)&65535,(u[o>>0]|u[o+1>>0]<<8)&65535,(u[c>>0]|u[c+1>>0]<<8)&65535);Ie(n,i);r=r-((u[o>>0]|u[o+1>>0]<<8)&65535)|0;e=e+1|0}while(e>>>0<((u[A>>0]|u[A+1>>0]<<8)&65535)>>>0)}if((r|0)<0){l=X(8)|0;Oe(l);F(l|0,2688,8)}if(r|0){Se(i,0,r,2);Ie(n,i)}$=f;return}function Ee(n,e){n=n|0;e=e|0;var r=0,A=0;r=$;$=$+16|0;A=r+1|0;t[A>>0]=t[r>>0]|0;Le(n,e,A);$=r;return n|0}function xe(n,e){n=n|0;e=e|0;var r=0,A=0,i=0,f=0,o=0,c=0,l=0;A=e+2|0;f=u[e>>0]|u[e+1>>0]<<8;t[n>>0]=f;t[n+1>>0]=f>>8;f=n+2|0;A=u[A>>0]|u[A+1>>0]<<8;t[f>>0]=A;t[f+1>>0]=A>>8;t[n+4>>0]=t[e+4>>0]|0;f=e+6|0;t[n+5>>0]=t[e+5>>0]|0;A=e+8|0;r=n+6|0;f=u[f>>0]|u[f+1>>0]<<8;t[r>>0]=f;t[r+1>>0]=f>>8;r=e+12|0;f=n+8|0;A=u[A>>0]|u[A+1>>0]<<8|u[A+2>>0]<<16|u[A+3>>0]<<24;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;f=n+12|0;r=u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24;t[f>>0]=r;t[f+1>>0]=r>>8;t[f+2>>0]=r>>16;t[f+3>>0]=r>>24;f=e+16|0;r=f;r=u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24;f=f+4|0;f=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24;A=n+16|0;o=A;t[o>>0]=r;t[o+1>>0]=r>>8;t[o+2>>0]=r>>16;t[o+3>>0]=r>>24;A=A+4|0;t[A>>0]=f;t[A+1>>0]=f>>8;t[A+2>>0]=f>>16;t[A+3>>0]=f>>24;A=e+32|0;f=e+24|0;o=f;o=u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24;f=f+4|0;f=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24;r=n+24|0;i=r;t[i>>0]=o;t[i+1>>0]=o>>8;t[i+2>>0]=o>>16;t[i+3>>0]=o>>24;r=r+4|0;t[r>>0]=f;t[r+1>>0]=f>>8;t[r+2>>0]=f>>16;t[r+3>>0]=f>>24;r=e+34|0;f=n+32|0;A=u[A>>0]|u[A+1>>0]<<8;t[f>>0]=A;t[f+1>>0]=A>>8;i=n+34|0;n=u[i>>0]|u[i+1>>0]<<8|u[i+2>>0]<<16|u[i+3>>0]<<24;if(!n)n=A;else{Lh(n);n=u[f>>0]|u[f+1>>0]<<8}A=$h((n&65535)*6|0)|0;t[i>>0]=A;t[i+1>>0]=A>>8;t[i+2>>0]=A>>16;t[i+3>>0]=A>>24;if(n<<16>>16?(n=e+36|0,o=u[r>>0]|u[r+1>>0]<<8,t[A>>0]=o,t[A+1>>0]=o>>8,e=e+38|0,o=A+2|0,n=u[n>>0]|u[n+1>>0]<<8,t[o>>0]=n,t[o+1>>0]=n>>8,o=A+4|0,e=u[e>>0]|u[e+1>>0]<<8,t[o>>0]=e,t[o+1>>0]=e>>8,((u[f>>0]|u[f+1>>0]<<8)&65535)>1):0){n=1;do{e=r;r=r+6|0;o=u[i>>0]|u[i+1>>0]<<8|u[i+2>>0]<<16|u[i+3>>0]<<24;c=e+8|0;A=o+(n*6|0)|0;l=u[r>>0]|u[r+1>>0]<<8;t[A>>0]=l;t[A+1>>0]=l>>8;e=e+10|0;A=o+(n*6|0)+2|0;c=u[c>>0]|u[c+1>>0]<<8;t[A>>0]=c;t[A+1>>0]=c>>8;o=o+(n*6|0)+4|0;e=u[e>>0]|u[e+1>>0]<<8;t[o>>0]=e;t[o+1>>0]=e>>8;n=n+1|0}while(n>>>0<((u[f>>0]|u[f+1>>0]<<8)&65535)>>>0)}return}function Oe(n){n=n|0;bZ(n,7354);i[n>>2]=4456;return}function Ce(n){n=n|0;hh(n);nh(n);return}function je(n){n=n|0;hh(n);nh(n);return}function Ie(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0;o=$;$=$+32|0;A=o;u=n+4|0;r=i[u>>2]|0;f=n+8|0;do{if((r|0)==(i[f>>2]|0)){r=((r-(i[n>>2]|0)|0)/12|0)+1|0;t=$e(n)|0;if(t>>>0<r>>>0)_Z(n);else{c=i[n>>2]|0;l=((i[f>>2]|0)-c|0)/12|0;f=l<<1;_e(A,l>>>0<t>>>1>>>0?f>>>0<r>>>0?r:f:t,((i[u>>2]|0)-c|0)/12|0,n+8|0);f=A+8|0;u=i[f>>2]|0;i[u>>2]=i[e>>2];i[u+4>>2]=i[e+4>>2];i[u+8>>2]=i[e+8>>2];i[f>>2]=(i[f>>2]|0)+12;De(n,A);Pe(A);break}}else{He(A,n,1);l=A+4|0;c=i[l>>2]|0;i[c>>2]=i[e>>2];i[c+4>>2]=i[e+4>>2];i[c+8>>2]=i[e+8>>2];i[l>>2]=(i[l>>2]|0)+12;Qe(A)}}while(0);$=o;return}function Se(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;i[n>>2]=e;i[n+4>>2]=r;i[n+8>>2]=t;return}function He(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r*12|0);return}function Qe(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function _e(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>357913941){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e*12|0)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r*12|0)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e*12|0);return}function De(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;t=i[n>>2]|0;f=n+4|0;u=e+4|0;A=(i[f>>2]|0)-t|0;r=(i[u>>2]|0)+(((A|0)/-12|0)*12|0)|0;i[u>>2]=r;if((A|0)>0){av(r|0,t|0,A|0)|0;t=u;r=i[u>>2]|0}else t=u;u=i[n>>2]|0;i[n>>2]=r;i[t>>2]=u;u=e+8|0;A=i[f>>2]|0;i[f>>2]=i[u>>2];i[u>>2]=A;u=n+8|0;f=e+12|0;n=i[u>>2]|0;i[u>>2]=i[f>>2];i[f>>2]=n;i[e>>2]=i[t>>2];return}function Pe(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~(((t+-12-e|0)>>>0)/12|0)*12|0);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function $e(n){n=n|0;return 357913941}function Le(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;Ke(n);i[n>>2]=i[e>>2];r=e+4|0;i[n+4>>2]=i[r>>2];t=e+8|0;i[n+8>>2]=i[t>>2];i[t>>2]=0;i[r>>2]=0;i[e>>2]=0;return}function Ke(n){n=n|0;var e=0,r=0,t=0,A=0;e=i[n>>2]|0;r=e;if(e|0){t=n+4|0;i[t>>2]=r;A=n+8|0;yn(e,(i[A>>2]|0)-r|0);i[A>>2]=0;i[t>>2]=0;i[n>>2]=0}return}function qe(n){n=n|0;bZ(n,7660);i[n>>2]=4496;return}function nr(n,e){n=n|0;e=e|0;bZ(n,e);i[n>>2]=4516;return}function er(n){n=n|0;bZ(n,7704);i[n>>2]=4536;return}function rr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0;r=n+4|0;A=i[n>>2]|0;t=(i[r>>2]|0)-A>>3;if(t>>>0>=e>>>0){if(t>>>0>e>>>0)i[r>>2]=A+(e<<3)}else dr(n,e-t|0);return}function tr(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=0;i[n+8>>2]=-1;return}function Ar(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0;i[n+4>>2]=e;i[n+8>>2]=r;i[n+12>>2]=t;i[n+16>>2]=A;i[n+36>>2]=0;i[n+40>>2]=0;i[n+44>>2]=0;Xr(n+48|0);i[n+68>>2]=0;i[n+72>>2]=0;i[n+76>>2]=0;do{if(!A){r=n+20|0;if((e+-1|0)>>>0<31){i[r>>2]=e;A=1<<e;i[n+24>>2]=A;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0;break}else{i[r>>2]=32;i[n+24>>2]=0;i[n+28>>2]=-2147483648;r=2147483647;break}}else{t=n+20|0;i[t>>2]=0;i[n+24>>2]=A;r=A;u=0;while(1){r=r>>>1;e=u+1|0;if(!r)break;else u=e}i[t>>2]=(1<<u|0)==(A|0)?u:e;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0}}while(0);i[n+32>>2]=r;i[n>>2]=0;return}function ir(n){n=n|0;var e=0;e=((kr(i[n>>2]|0)|0)&255)<<24;e=((kr(i[n>>2]|0)|0)&255)<<16|e;e=e|((kr(i[n>>2]|0)|0)&255)<<8;i[n+4>>2]=e|(kr(i[n>>2]|0)|0)&255;return}function ur(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0;Z=$;$=$+64|0;b=Z+44|0;h=Z;l=n+36|0;a=n+40|0;n:do{if((i[l>>2]|0)==(i[a>>2]|0)){s=n+8|0;e:do{if(!(i[s>>2]|0))d=n+20|0;else{A=n+20|0;u=n+44|0;f=b+4|0;o=n+44|0;c=b+8|0;t=0;while(1){gr(h,(i[A>>2]|0)+1|0,0,0);e=i[a>>2]|0;if(e>>>0<(i[u>>2]|0)>>>0){Tr(b,l,1);Br(i[f>>2]|0,h);i[f>>2]=(i[f>>2]|0)+44;Mr(b)}else{e=((e-(i[l>>2]|0)|0)/44|0)+1|0;r=xr(l)|0;if(r>>>0<e>>>0)break;v=i[l>>2]|0;V=((i[u>>2]|0)-v|0)/44|0;m=V<<1;Jr(b,V>>>0<r>>>1>>>0?m>>>0<e>>>0?e:m:r,((i[a>>2]|0)-v|0)/44|0,o);Br(i[c>>2]|0,h);i[c>>2]=(i[c>>2]|0)+44;Yr(l,b);Er(b)}Fr(h);t=t+1|0;if(t>>>0>=(i[s>>2]|0)>>>0){d=A;break e}}_Z(l)}}while(0);if(i[d>>2]|0){f=n+12|0;o=n+68|0;c=n+72|0;l=n+76|0;a=b+4|0;A=n+76|0;u=b+8|0;t=1;while(1){e=i[f>>2]|0;gr(h,1<<(t>>>0>e>>>0?e:t),0,0);e=i[c>>2]|0;if(e>>>0<(i[l>>2]|0)>>>0){Tr(b,o,1);Br(i[a>>2]|0,h);i[a>>2]=(i[a>>2]|0)+44;Mr(b)}else{e=((e-(i[o>>2]|0)|0)/44|0)+1|0;r=xr(o)|0;if(r>>>0<e>>>0)break;V=i[o>>2]|0;v=((i[l>>2]|0)-V|0)/44|0;m=v<<1;Jr(b,v>>>0<r>>>1>>>0?m>>>0<e>>>0?e:m:r,((i[c>>2]|0)-V|0)/44|0,A);Br(i[u>>2]|0,h);i[u>>2]=(i[u>>2]|0)+44;Yr(o,b);Er(b)}Fr(h);t=t+1|0;if(t>>>0>(i[d>>2]|0)>>>0)break n}_Z(o)}}}while(0);$=Z;return}function fr(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;r=(jr(n,e,(i[n+36>>2]|0)+(t*44|0)|0)|0)+r|0;e=i[n+24>>2]|0;if((r|0)<0)return r+e|0;else return r-(r>>>0<e>>>0?0:e)|0;return 0}function or(n){n=n|0;wr(n+68|0);wr(n+36|0);return}function cr(n){n=n|0;return}function lr(n){n=n|0;hh(n);nh(n);return}function ar(n){n=n|0;hh(n);nh(n);return}function sr(n){n=n|0;hh(n);nh(n);return}function dr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0;o=$;$=$+32|0;A=o;u=n+8|0;f=n+4|0;r=i[f>>2]|0;do{if((i[u>>2]|0)-r>>3>>>0<e>>>0){r=(r-(i[n>>2]|0)>>3)+e|0;t=yr(n)|0;if(t>>>0<r>>>0)_Z(n);else{c=i[n>>2]|0;l=(i[u>>2]|0)-c|0;u=l>>2;hr(A,l>>3>>>0<t>>>1>>>0?u>>>0<r>>>0?r:u:t,(i[f>>2]|0)-c>>3,n+8|0);Zr(A,e);vr(n,A);mr(A);break}}else br(n,e)}while(0);$=o;return}function br(n,e){n=n|0;e=e|0;var r=0,t=0,A=0;A=$;$=$+16|0;t=A;Vr(t,n,e);n=t+4|0;e=i[n>>2]|0;r=i[t+8>>2]|0;if((e|0)!=(r|0)){r=r+-8-e|0;dv(e|0,0,r+8&-8|0)|0;i[n>>2]=e+((r>>>3)+1<<3)}pr(t);$=A;return}function hr(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>536870911){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e<<3)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r<<3)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e<<3);return}function Zr(n,e){n=n|0;e=e|0;var r=0,t=0;t=$;$=$+16|0;r=t;Rr(r,n+8|0,e);n=i[r>>2]|0;e=i[r+4>>2]|0;if((n|0)!=(e|0)){e=e+-8-n|0;dv(n|0,0,e+8&-8|0)|0;i[r>>2]=n+((e>>>3)+1<<3)}Wr(r);$=t;return}function vr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;t=i[n>>2]|0;f=n+4|0;u=e+4|0;A=(i[f>>2]|0)-t|0;r=(i[u>>2]|0)+(0-(A>>3)<<3)|0;i[u>>2]=r;if((A|0)>0){av(r|0,t|0,A|0)|0;t=u;r=i[u>>2]|0}else t=u;u=i[n>>2]|0;i[n>>2]=r;i[t>>2]=u;u=e+8|0;A=i[f>>2]|0;i[f>>2]=i[u>>2];i[u>>2]=A;u=n+8|0;f=e+12|0;n=i[u>>2]|0;i[u>>2]=i[f>>2];i[f>>2]=n;i[e>>2]=i[t>>2];return}function mr(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~((t+-8-e|0)>>>3)<<3);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function Vr(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r<<3);return}function pr(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function yr(n){n=n|0;return 536870911}function Rr(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=i[e>>2];i[n+4>>2]=(i[e>>2]|0)+(r<<3);i[n+8>>2]=e;return}function Wr(n){n=n|0;i[i[n+8>>2]>>2]=i[n>>2];return}function Xr(n){n=n|0;i[n+12>>2]=1;i[n+16>>2]=2;i[n+8>>2]=4096;i[n+4>>2]=4;i[n>>2]=4;return}function wr(n){n=n|0;var e=0,r=0,t=0;r=i[n>>2]|0;if(r|0){t=n+4|0;e=i[t>>2]|0;if((e|0)==(r|0))e=r;else{do{e=e+-44|0;Fr(e)}while((e|0)!=(r|0));e=i[n>>2]|0}i[t>>2]=r;yn(e,(i[n+8>>2]|0)-e|0)}return}function Fr(n){n=n|0;var e=0;e=i[n+8>>2]|0;if(e|0)En(e);e=i[n+12>>2]|0;if(e|0)En(e);e=i[n+16>>2]|0;if(e|0)En(e);return}function kr(n){n=n|0;var e=0,r=0;r=n+4|0;e=i[r>>2]|0;if((e|0)>=(i[n+8>>2]|0)){Ur(n);e=i[r>>2]|0}n=i[n+12>>2]|0;i[r>>2]=e+1;return t[n+e>>0]|0}function Ur(n){n=n|0;var e=0;i[n+4>>2]=0;Hn(i[n>>2]|0,i[n+12>>2]|0,1048576);e=Gr(i[n>>2]|0)|0;i[n+8>>2]=e;if(!e){e=X(8)|0;zr(e);F(e|0,2752,8)}else return}function Gr(n){n=n|0;return i[n+16>>2]|0}function zr(n){n=n|0;bZ(n,7769);i[n>>2]=4556;return}function Nr(n){n=n|0;hh(n);nh(n);return}function gr(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0,o=0;i[n>>2]=e;t[n+4>>0]=r&1;f=n+8|0;i[f>>2]=0;o=n+12|0;i[o>>2]=0;u=n+16|0;i[u>>2]=0;if((e+-2|0)>>>0>2046){n=X(8)|0;bZ(n,7789);F(n|0,3912,8)}i[n+32>>2]=e+-1;if(e>>>0>16&(r^1)){r=3;while(1)if(1<<r+2>>>0<e>>>0)r=r+1|0;else break;e=1<<r;i[n+36>>2]=e;i[n+40>>2]=15-r;i[u>>2]=Sn((e<<2)+8|0)|0;e=i[n>>2]|0}else{i[u>>2]=0;i[n+40>>2]=0;i[n+36>>2]=0}i[f>>2]=Sn(e<<2)|0;u=Sn(i[n>>2]<<2)|0;i[o>>2]=u;i[n+20>>2]=0;e=i[n>>2]|0;r=n+24|0;i[r>>2]=e;e=(e|0)!=0;if(!A){if(e){e=0;do{i[u+(e<<2)>>2]=1;e=e+1|0}while(e>>>0<(i[n>>2]|0)>>>0)}}else if(e){e=0;do{i[u+(e<<2)>>2]=i[A+(e<<2)>>2];e=e+1|0}while(e>>>0<(i[n>>2]|0)>>>0)}Cr(n);A=((i[n>>2]|0)+6|0)>>>1;i[r>>2]=A;i[n+28>>2]=A;return}function Tr(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r*44|0);return}function Mr(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function Br(n,e){n=n|0;e=e|0;var r=0;i[n>>2]=i[e>>2];t[n+4>>0]=t[e+4>>0]|0;r=e+8|0;i[n+8>>2]=i[r>>2];i[n+12>>2]=i[e+12>>2];i[n+16>>2]=i[e+16>>2];i[n+20>>2]=i[e+20>>2];i[n+24>>2]=i[e+24>>2];i[n+28>>2]=i[e+28>>2];i[n+32>>2]=i[e+32>>2];i[n+36>>2]=i[e+36>>2];i[n+40>>2]=i[e+40>>2];i[r>>2]=0;i[r+4>>2]=0;i[r+8>>2]=0;return}function Jr(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>97612893){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e*44|0)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r*44|0)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e*44|0);return}function Yr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;o=i[n>>2]|0;c=n+4|0;r=i[c>>2]|0;f=e+4|0;if((r|0)==(o|0)){A=f;u=n;t=i[f>>2]|0;r=o}else{t=i[f>>2]|0;do{r=r+-44|0;Or(t+-44|0,r);t=(i[f>>2]|0)+-44|0;i[f>>2]=t}while((r|0)!=(o|0));A=f;u=n;r=i[n>>2]|0}i[u>>2]=t;i[A>>2]=r;o=e+8|0;f=i[c>>2]|0;i[c>>2]=i[o>>2];i[o>>2]=f;o=n+8|0;c=e+12|0;n=i[o>>2]|0;i[o>>2]=i[c>>2];i[c>>2]=n;i[e>>2]=i[A>>2];return}function Er(n){n=n|0;var e=0,r=0,t=0,A=0;r=i[n+4>>2]|0;t=n+8|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{A=e+-44|0;i[t>>2]=A;Fr(A);e=i[t>>2]|0}while((e|0)!=(r|0));e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function xr(n){n=n|0;return 97612893}function Or(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0;r=i[e>>2]|0;i[n>>2]=r;t[n+4>>0]=t[e+4>>0]|0;i[n+20>>2]=i[e+20>>2];i[n+24>>2]=i[e+24>>2];i[n+28>>2]=i[e+28>>2];i[n+32>>2]=i[e+32>>2];f=n+36|0;i[f>>2]=i[e+36>>2];i[n+40>>2]=i[e+40>>2];r=r<<2;A=Sn(r)|0;i[n+8>>2]=A;u=i[n>>2]|0;if(u|0)sv(A|0,i[e+8>>2]|0,u<<2|0)|0;r=Sn(r)|0;i[n+12>>2]=r;A=i[n>>2]|0;if(A|0)sv(r|0,i[e+12>>2]|0,A<<2|0)|0;r=i[f>>2]|0;if(r){A=Sn((r<<2)+8|0)|0;i[n+16>>2]=A;r=(i[f>>2]<<2)+8|0;if(r|0)sv(A|0,i[e+16>>2]|0,r|0)|0}else i[n+16>>2]=0;return}function Cr(n){n=n|0;var e=0,r=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;Z=n+24|0;u=n+20|0;e=(i[u>>2]|0)+(i[Z>>2]|0)|0;i[u>>2]=e;if(e>>>0>32768){i[u>>2]=0;if(!(i[n>>2]|0))e=0;else{A=i[n+12>>2]|0;r=0;do{d=A+(r<<2)|0;e=((i[d>>2]|0)+1|0)>>>1;i[d>>2]=e;e=(i[u>>2]|0)+e|0;i[u>>2]=e;r=r+1|0}while(r>>>0<(i[n>>2]|0)>>>0)}}d=2147483648/(e>>>0)|0;do{if((t[n+4>>0]|0)==0?(b=n+36|0,(i[b>>2]|0)!=0):0){if(i[n>>2]|0){c=i[n+8>>2]|0;l=i[n+12>>2]|0;a=n+40|0;s=n+16|0;e=0;f=0;o=0;do{r=(V(f,d)|0)>>>16;i[c+(o<<2)>>2]=r;f=(i[l+(o<<2)>>2]|0)+f|0;r=r>>>(i[a>>2]|0);if(e>>>0<r>>>0){A=o+-1|0;u=i[s>>2]|0;do{e=e+1|0;i[u+(e<<2)>>2]=A}while((e|0)!=(r|0));e=r}o=o+1|0}while(o>>>0<(i[n>>2]|0)>>>0);r=i[s>>2]|0;i[r>>2]=0;if(e>>>0>(i[b>>2]|0)>>>0){e=n;break}}else{r=i[n+16>>2]|0;i[r>>2]=0;e=0}do{e=e+1|0;i[r+(e<<2)>>2]=(i[n>>2]|0)+-1}while(e>>>0<=(i[b>>2]|0)>>>0);e=n}else h=7}while(0);if((h|0)==7)if(!(i[n>>2]|0))e=n;else{A=i[n+8>>2]|0;u=i[n+12>>2]|0;e=0;r=0;do{i[A+(e<<2)>>2]=(V(r,d)|0)>>>16;r=(i[u+(e<<2)>>2]|0)+r|0;e=e+1|0}while(e>>>0<(i[n>>2]|0)>>>0);e=n}h=((i[Z>>2]|0)*5|0)>>>2;b=(i[e>>2]<<3)+48|0;h=h>>>0>b>>>0?b:h;i[Z>>2]=h;i[n+28>>2]=h;return}function jr(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;r=Ir(e,r)|0;i[n>>2]=r;do{if(r){if(r>>>0>=32){r=i[n+28>>2]|0;break}t=i[n+12>>2]|0;if(r>>>0>t>>>0){t=r-t|0;r=Ir(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;t=r<<t|(Sr(e,t)|0)}else t=Ir(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;r=i[n>>2]|0;if((t|0)<(1<<r+-1|0)){r=t+1+(-1<<r)|0;break}else{r=t+1|0;break}}else r=Hr(e,n+48|0)|0}while(0);return r|0}function Ir(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;d=n+8|0;s=i[d>>2]|0;A=i[e+16>>2]|0;if(A){t=n+4|0;r=i[t>>2]|0;a=s>>>15;i[d>>2]=a;c=(r>>>0)/(a>>>0)|0;o=c>>>(i[e+40>>2]|0);u=i[A+(o<<2)>>2]|0;o=(i[A+(o+1<<2)>>2]|0)+1|0;f=u+1|0;l=i[e+8>>2]|0;if(o>>>0>f>>>0){A=u;u=o;do{f=(u+A|0)>>>1;o=(i[l+(f<<2)>>2]|0)>>>0>c>>>0;A=o?A:f;u=o?f:u;f=A+1|0}while(u>>>0>f>>>0);u=A}A=V(i[l+(u<<2)>>2]|0,a)|0;if((u|0)==(i[e+32>>2]|0))f=s;else f=V(i[l+(f<<2)>>2]|0,a)|0}else{l=s>>>15;i[d>>2]=l;o=i[e>>2]|0;a=i[e+8>>2]|0;t=n+4|0;r=i[t>>2]|0;c=o>>>1;A=0;f=s;u=0;do{b=V(i[a+(c<<2)>>2]|0,l)|0;s=b>>>0>r>>>0;f=s?b:f;A=s?A:b;u=s?u:c;o=s?c:o;c=(u+o|0)>>>1}while((c|0)!=(u|0))}i[t>>2]=r-A;b=f-A|0;i[d>>2]=b;if(b>>>0<16777216)Qr(n);d=(i[e+12>>2]|0)+(u<<2)|0;i[d>>2]=(i[d>>2]|0)+1;d=e+28|0;b=(i[d>>2]|0)+-1|0;i[d>>2]=b;if(!b)Cr(e);return u|0}function Sr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;if(e>>>0>19){r=(_r(n)|0)&65535;return(Sr(n,e+-16|0)|0)<<16|r|0}t=n+4|0;A=i[t>>2]|0;u=n+8|0;r=(i[u>>2]|0)>>>e;i[u>>2]=r;e=(A>>>0)/(r>>>0)|0;i[t>>2]=A-(V(e,r)|0);if(r>>>0<16777216)Qr(n);return e|0}function Hr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0;t=n+8|0;A=i[t>>2]|0;r=V(A>>>13,i[e+8>>2]|0)|0;u=n+4|0;f=i[u>>2]|0;o=f>>>0>=r>>>0;if(o){i[u>>2]=f-r;r=A-r|0;i[t>>2]=r}else{i[t>>2]=r;f=e+12|0;i[f>>2]=(i[f>>2]|0)+1}if(r>>>0<16777216)Qr(n);f=e+4|0;n=(i[f>>2]|0)+-1|0;i[f>>2]=n;if(!n)Dr(e);return o&1|0}function Qr(n){n=n|0;var e=0,r=0,t=0,A=0;e=n+4|0;r=n+8|0;t=i[e>>2]|0;do{t=t<<8|(kr(i[n>>2]|0)|0)&255;i[e>>2]=t;A=i[r>>2]<<8;i[r>>2]=A}while(A>>>0<16777216);return}function _r(n){n=n|0;var e=0,r=0,t=0,A=0;r=n+4|0;A=i[r>>2]|0;e=n+8|0;t=(i[e>>2]|0)>>>16;i[e>>2]=t;e=(A>>>0)/(t>>>0)|0;i[r>>2]=A-(V(e,t)|0);Qr(n);return e&65535|0}function Dr(n){n=n|0;var e=0,r=0,t=0,A=0,u=0;A=i[n>>2]|0;r=n+16|0;e=(i[r>>2]|0)+A|0;i[r>>2]=e;if(e>>>0>8192){t=(e+1|0)>>>1;i[r>>2]=t;u=n+12|0;e=((i[u>>2]|0)+1|0)>>>1;i[u>>2]=e;if((e|0)==(t|0)){e=t+1|0;i[r>>2]=e;r=e;e=t}else r=t}else{r=e;e=i[n+12>>2]|0}i[n+8>>2]=(V(e,2147483648/(r>>>0)|0)|0)>>>18;u=A*5|0;u=u>>>0>259?64:u>>>2;i[n>>2]=u;i[n+4>>2]=u;return}function Pr(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;s=$;$=$+32|0;f=s+16|0;o=s+8|0;c=s;l=n+336|0;t=l;A=n+259|0;if(!((i[t+4>>2]|0)==0?(i[t>>2]|0)==(u[A>>0]|u[A+1>>0]<<8|u[A+2>>0]<<16|u[A+3>>0]<<24|0):0)){t=n+320|0;r=i[t>>2]|0;A=r;if(!((r|0)!=0?(i[n+312>>2]|0)!=0:0)){r=A;a=5}}else{t=n+320|0;r=i[n+320>>2]|0;a=5}if((a|0)==5){a=n+320|0;i[f>>2]=r;i[a>>2]=0;r=n+324|0;i[f+4>>2]=i[r>>2];i[r>>2]=0;Nn(f);A=n+312|0;i[f>>2]=i[A>>2];i[A>>2]=0;d=n+316|0;i[f+4>>2]=i[d>>2];i[d>>2]=0;gn(f);b=Ph(12)|0;tr(b,n+4|0);i[c>>2]=0;i[f>>2]=i[c>>2];Lr(o,b,f);b=i[o>>2]|0;i[o>>2]=i[A>>2];i[A>>2]=b;b=o+4|0;c=i[b>>2]|0;i[b>>2]=i[d>>2];i[d>>2]=c;gn(o);$r(o,i[A>>2]|0,n+300|0);A=i[o>>2]|0;d=o+4|0;c=i[d>>2]|0;i[o>>2]=0;i[d>>2]=0;i[f>>2]=i[a>>2];i[a>>2]=A;i[f+4>>2]=i[r>>2];i[r>>2]=c;Nn(f);Nn(o);r=n+328|0;c=r;c=rv(i[c>>2]|0,i[c+4>>2]|0,1,0)|0;a=W()|0;i[r>>2]=c;i[r+4>>2]=a;r=l;i[r>>2]=0;i[r+4>>2]=0;r=i[t>>2]|0}Cv[i[i[r>>2]>>2]&63](r,e)|0;a=l;a=rv(i[a>>2]|0,i[a+4>>2]|0,1,0)|0;d=W()|0;b=l;i[b>>2]=a;i[b+4>>2]=d;$=s;return}function $r(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;f=$;$=$+64|0;t=f+56|0;A=f;u=tt(r)|0;if((u|0)==-1){f=X(8)|0;At(f);F(f|0,2784,8)}r=it(r)|0;n:do{if(!r)switch(u|0){case 0:{u=Ph(4788)|0;ht(u);bt(n,e,u);break n}case 1:{u=Ph(5116)|0;vt(u);Zt(n,e,u);break n}case 2:{u=Ph(5104)|0;Vt(u);mt(n,e,u);break n}case 3:{u=Ph(5432)|0;yt(u);pt(n,e,u);break n}default:{i[n>>2]=0;i[n+4>>2]=0;break n}}else{ut(t,e);ft(i[t>>2]|0);if((u|2|0)==3)ot(i[t>>2]|0);if((u|1|0)==3)ct(i[t>>2]|0);u=i[t>>2]|0;at(A,r);lt(u,A);st(A);i[n>>2]=i[t>>2];u=t+4|0;i[n+4>>2]=i[u>>2];i[t>>2]=0;i[u>>2]=0;dt(t)}}while(0);$=f;return}function Lr(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4576;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Kr(n,t);$=r;return}function Kr(n,e){n=n|0;e=e|0;return}function qr(n){n=n|0;uZ(n);nh(n);return}function nt(n){n=n|0;n=i[n+12>>2]|0;if(n|0){cr(n);nh(n)}return}function et(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==7983?n+12|0:0)|0}function rt(n){n=n|0;yn(n,16);return}function tt(n){n=n|0;var e=0,r=0;e=(i[n+4>>2]|0)-(i[n>>2]|0)|0;n:do{if(((e|0)!=0?(r=((e|0)/12|0)+(((it(n)|0)!=0)<<31>>31)|0,(r|0)!=0):0)?(e=i[n>>2]|0,!(Rt(e,Wt()|0)|0)):0){switch(r|0){case 1:{n=0;break n}case 2:{if(Xt((i[n>>2]|0)+12|0,wt()|0)|0){n=1;break n}if(Xt((i[n>>2]|0)+12|0,Ft()|0)|0){n=2;break n}break}case 3:{if(Xt((i[n>>2]|0)+12|0,wt()|0)|0?(r=(i[n>>2]|0)+24|0,Xt(r,Ft()|0)|0):0){n=3;break n}break}default:{}}n=-1}else n=-1}while(0);return n|0}function At(n){n=n|0;bZ(n,8131);i[n>>2]=4604;return}function it(n){n=n|0;var e=0,r=0;e=i[n+4>>2]|0;if(((e|0)!=(i[n>>2]|0)?(r=e,(i[r+-12>>2]|0)==0):0)?(i[r+-4>>2]|0)==2:0)n=i[r+-8>>2]|0;else n=0;return n|0}function ut(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=$;$=$+16|0;t=r+4|0;u=r;A=Ph(24)|0;Ut(A,e);i[u>>2]=0;i[t>>2]=i[u>>2];Gt(n,A,t);$=r;return}function ft(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(4792)|0;It(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];St(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ot(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(336)|0;QA(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];_A(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ct(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(324)|0;vi(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];mi(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function lt(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;f=c+12|0;o=c;t=c+8|0;u=Ph(64)|0;Ti(u,i[n+4>>2]|0,e);A=n+8|0;i[t>>2]=0;i[f>>2]=i[t>>2];Mi(o,u,f);u=n+12|0;e=i[u>>2]|0;t=n+16|0;do{if(e>>>0>=(i[t>>2]|0)>>>0){e=(e-(i[A>>2]|0)>>3)+1|0;r=$t(A)|0;if(r>>>0<e>>>0)_Z(A);else{l=i[A>>2]|0;a=(i[t>>2]|0)-l|0;t=a>>2;_t(f,a>>3>>>0<r>>>1>>>0?t>>>0<e>>>0?e:t:r,(i[u>>2]|0)-l>>3,n+16|0);n=f+8|0;u=i[n>>2]|0;i[u>>2]=i[o>>2];t=o+4|0;i[u+4>>2]=i[t>>2];i[o>>2]=0;i[t>>2]=0;i[n>>2]=u+8;Dt(A,f);Pt(f);break}}else{Ht(f,A,1);a=f+4|0;l=i[a>>2]|0;i[l>>2]=i[o>>2];n=o+4|0;i[l+4>>2]=i[n>>2];i[o>>2]=0;i[n>>2]=0;i[a>>2]=l+8;Qt(f)}}while(0);Jt(o);$=c;return}function at(n,e){n=n|0;e=e|0;var r=0,A=0;r=$;$=$+48|0;A=r;i[n>>2]=e;t[n+4>>0]=0;Fu(n+8|0,e);Fu(n+20|0,e);gr(A,256,0,0);ku(n+32|0,e,A);Fr(A);$=r;return}function st(n){n=n|0;zu(n+32|0);Ii(n+20|0);Ii(n+8|0);return}function dt(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function bt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;Nu(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];gu(n,u,A);$=t;return}function ht(n){n=n|0;Kt(n);Su(n+4784|0);return}function Zt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;Hu(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];Qu(n,u,A);$=t;return}function vt(n){n=n|0;Kt(n);Af(n+4784|0);return}function mt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;uf(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];ff(n,u,A);$=t;return}function Vt(n){n=n|0;Kt(n);Vf(n+4784|0);return}function pt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;t=$;$=$+16|0;A=t+4|0;f=t;u=Ph(12)|0;pf(u,e,r);i[f>>2]=0;i[A>>2]=i[f>>2];yf(n,u,A);$=t;return}function yt(n){n=n|0;Kt(n);Tf(n+4784|0);return}function Rt(n,e){n=n|0;e=e|0;return(Xt(n,e)|0)^1|0}function Wt(){if((t[21456]|0)==0?Jh(21456)|0:0){Se(21536,6,20,2);Sh(21456)}return 21536}function Xt(n,e){n=n|0;e=e|0;if((i[n>>2]|0)==(i[e>>2]|0)?(i[n+8>>2]|0)==(i[e+8>>2]|0):0)n=(i[n+4>>2]|0)==(i[e+4>>2]|0);else n=0;return n|0}function wt(){if((t[21464]|0)==0?Jh(21464)|0:0){Se(21548,7,8,2);Sh(21464)}return 21548}function Ft(){if((t[21472]|0)==0?Jh(21472)|0:0){Se(21560,8,6,2);Sh(21472)}return 21560}function kt(n){n=n|0;hh(n);nh(n);return}function Ut(n,e){n=n|0;e=e|0;zt(n);i[n>>2]=4624;i[n+4>>2]=e;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;t[n+20>>0]=1;return}function Gt(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4664;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Et(n,t);$=r;return}function zt(n){n=n|0;i[n>>2]=4644;return}function Nt(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0,c=0,l=0;l=$;$=$+16|0;f=l;r=i[n+8>>2]|0;o=i[n+12>>2]|0;if((r|0)!=(o|0)){c=f+4|0;do{A=i[r>>2]|0;i[f>>2]=A;u=i[r+4>>2]|0;i[c>>2]=u;if(u|0){u=u+4|0;i[u>>2]=(i[u>>2]|0)+1}e=Cv[i[(i[A>>2]|0)+12>>2]&63](A,e)|0;Jt(f);r=r+8|0}while((r|0)!=(o|0))}r=n+20|0;if(t[r>>0]|0){t[r>>0]=0;ir(i[n+4>>2]|0)}$=l;return e|0}function gt(n){n=n|0;i[n>>2]=4624;Yt(n+8|0);Mt(n);return}function Tt(n){n=n|0;gt(n);nh(n);return}function Mt(n){n=n|0;return}function Bt(n){n=n|0;P()}function Jt(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Yt(n){n=n|0;var e=0,r=0,t=0;r=i[n>>2]|0;if(r|0){t=n+4|0;e=i[t>>2]|0;if((e|0)==(r|0))e=r;else{do{e=e+-8|0;Jt(e)}while((e|0)!=(r|0));e=i[n>>2]|0}i[t>>2]=r;yn(e,(i[n+8>>2]|0)-e|0)}return}function Et(n,e){n=n|0;e=e|0;return}function xt(n){n=n|0;uZ(n);nh(n);return}function Ot(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function Ct(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==8546?n+12|0:0)|0}function jt(n){n=n|0;yn(n,16);return}function It(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=4692;i[n+4>>2]=e;Kt(n+8|0);return}function St(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4740;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Ht(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+(r<<3);return}function Qt(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function _t(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>536870911){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e<<3)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r<<3)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e<<3);return}function Dt(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;o=i[n>>2]|0;c=n+4|0;r=i[c>>2]|0;f=e+4|0;if((r|0)==(o|0)){A=f;u=n;t=i[f>>2]|0;r=o}else{t=i[f>>2]|0;do{u=r;r=r+-8|0;i[t+-8>>2]=i[r>>2];u=u+-4|0;i[t+-4>>2]=i[u>>2];i[r>>2]=0;i[u>>2]=0;t=(i[f>>2]|0)+-8|0;i[f>>2]=t}while((r|0)!=(o|0));A=f;u=n;r=i[n>>2]|0}i[u>>2]=t;i[A>>2]=r;o=e+8|0;f=i[c>>2]|0;i[c>>2]=i[o>>2];i[o>>2]=f;o=n+8|0;c=e+12|0;n=i[o>>2]|0;i[o>>2]=i[c>>2];i[c>>2]=n;i[e>>2]=i[A>>2];return}function Pt(n){n=n|0;var e=0,r=0,t=0,A=0;r=i[n+4>>2]|0;t=n+8|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{A=e+-8|0;i[t>>2]=A;Jt(A);e=i[t>>2]|0}while((e|0)!=(r|0));e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function $t(n){n=n|0;return 536870911}function Lt(n){n=n|0;i[n>>2]=4716;return}function Kt(n){n=n|0;uA(n);fA(n+3980|0);oA(n+4380|0);t[n+4780>>0]=0;t[n+4781>>0]=0;return}function qt(n){n=n|0;i[n>>2]=4692;vA(n+8|0);tA(n);return}function nA(n){n=n|0;qt(n);nh(n);return}function eA(n,e){n=n|0;e=e|0;return e|0}function rA(n,e){n=n|0;e=e|0;return VA(n+8|0,i[n+4>>2]|0,e)|0}function tA(n){n=n|0;return}function AA(n){n=n|0;tA(n);nh(n);return}function iA(n,e){n=n|0;e=e|0;return e|0}function uA(n){n=n|0;var e=0,r=0;aA(n);sA(n+52|0);sA(n+436|0);gr(n+852|0,64,0,0);t[n+3976>>0]=0;e=n+20|0;r=e+32|0;do{A[e>>1]=0;e=e+2|0}while((e|0)<(r|0));e=Ph(44)|0;gr(e,256,0,0);i[n+896>>2]=e;e=Ph(44)|0;gr(e,256,0,0);i[n+900>>2]=e;e=n+820|0;i[e>>2]=0;i[e+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;i[e+16>>2]=0;i[e+20>>2]=0;i[e+24>>2]=0;i[e+28>>2]=0;e=0;do{r=Ph(44)|0;gr(r,256,0,0);i[n+904+(e<<2)>>2]=r;r=Ph(44)|0;gr(r,256,0,0);i[n+1928+(e<<2)>>2]=r;r=Ph(44)|0;gr(r,256,0,0);i[n+2952+(e<<2)>>2]=r;e=e+1|0}while(e>>>0<256);return}function fA(n){n=n|0;hA(n,16,4,8,0);hA(n+80|0,16,1,8,0);hA(n+160|0,32,2,8,0);hA(n+240|0,32,22,8,0);hA(n+320|0,32,20,8,0);return}function oA(n){n=n|0;Ar(n,16,4,8,0);Ar(n+80|0,16,1,8,0);Ar(n+160|0,32,2,8,0);Ar(n+240|0,32,22,8,0);Ar(n+320|0,32,20,8,0);return}function cA(n){n=n|0;ZA(n+320|0);ZA(n+240|0);ZA(n+160|0);ZA(n+80|0);ZA(n);return}function lA(n){n=n|0;var e=0,r=0;e=i[n+896>>2]|0;if(e|0){Fr(e);nh(e)}e=i[n+900>>2]|0;if(e|0){Fr(e);nh(e)}r=0;do{e=i[n+904+(r<<2)>>2]|0;if(e|0){Fr(e);nh(e)}e=i[n+1928+(r<<2)>>2]|0;if(e|0){Fr(e);nh(e)}e=i[n+2952+(r<<2)>>2]|0;if(e|0){Fr(e);nh(e)}r=r+1|0}while((r|0)!=256);Fr(n+852|0);return}function aA(n){n=n|0;var e=0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;e=n+4|0;t[e>>0]=0;t[e+1>>0]=0;t[e+2>>0]=0;t[e+3>>0]=0;n=n+12|0;e=n;t[e>>0]=0;t[e+1>>0]=0;t[e+2>>0]=0;t[e+3>>0]=0;n=n+4|0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;return}function sA(n){n=n|0;var e=0;e=n+384|0;do{dA(n);n=n+24|0}while((n|0)!=(e|0));return}function dA(n){n=n|0;bA(n);return}function bA(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;t[n+20>>0]=1;return}function hA(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0;i[n+4>>2]=e;i[n+8>>2]=r;i[n+12>>2]=t;i[n+16>>2]=A;i[n+36>>2]=0;i[n+40>>2]=0;i[n+44>>2]=0;Xr(n+48|0);i[n+68>>2]=0;i[n+72>>2]=0;i[n+76>>2]=0;do{if(!A){r=n+20|0;if((e+-1|0)>>>0<31){i[r>>2]=e;A=1<<e;i[n+24>>2]=A;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0;break}else{i[r>>2]=32;i[n+24>>2]=0;i[n+28>>2]=-2147483648;r=2147483647;break}}else{t=n+20|0;i[t>>2]=0;i[n+24>>2]=A;r=A;u=0;while(1){r=r>>>1;e=u+1|0;if(!r)break;else u=e}i[t>>2]=(1<<u|0)==(A|0)?u:e;r=A>>>1;i[n+28>>2]=0-r;r=A+-1-r|0}}while(0);i[n+32>>2]=r;i[n>>2]=0;return}function ZA(n){n=n|0;var e=0,r=0,t=0,A=0,u=0;u=n+36|0;r=i[u>>2]|0;t=n+40|0;e=i[t>>2]|0;if((e|0)!=(r|0))do{e=e+-44|0;Fr(e)}while((e|0)!=(r|0));i[t>>2]=r;t=n+68|0;A=i[t>>2]|0;r=n+72|0;e=i[r>>2]|0;if((e|0)!=(A|0))do{e=e+-44|0;Fr(e)}while((e|0)!=(A|0));i[r>>2]=A;wr(t);wr(u);return}function vA(n){n=n|0;mA(n+4380|0);cA(n+3980|0);lA(n);return}function mA(n){n=n|0;or(n+320|0);or(n+240|0);or(n+160|0);or(n+80|0);or(n);return}function VA(n,e,r){n=n|0;e=e|0;r=r|0;var o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+32|0;b=h;o=n+4781|0;if(!(t[o>>0]|0)){pA(n+4380|0);t[o>>0]=1}o=n+3976|0;if(!(t[o>>0]|0)){t[o>>0]=1;RA(yA(e)|0,r,20);WA(b,r);l=n;o=b;c=l+20|0;do{t[l>>0]=t[o>>0]|0;l=l+1|0;o=o+1|0}while((l|0)<(c|0));A[n+12>>1]=0}else{s=Ir(e,n+852|0)|0;if(s){if(s&32|0)wA((Ir(e,i[n+904+(((XA(n)|0)&255)<<2)>>2]|0)|0)&255,n);d=n+14|0;l=t[d>>0]|0;o=l&7;l=(l&255)>>>3&7;c=u[16+(l<<3)+o>>0]|0;o=u[80+(l<<3)+o>>0]|0;if(!(s&16))a=A[n+20+(c<<1)>>1]|0;else{Z=n+20+(c<<1)|0;a=(fr(n+4380|0,e,f[Z>>1]|0,c>>>0<3?c:3)|0)&65535;A[Z>>1]=a}A[n+12>>1]=a;if(s&8|0){Z=n+15|0;t[Z>>0]=Ir(e,i[n+1928+(u[Z>>0]<<2)>>2]|0)|0}if(s&4|0){d=Ir(e,i[n+896+(((u[d>>0]|0)>>>6&1)<<2)>>2]|0)|0;Z=n+16|0;t[Z>>0]=FA(d+(t[Z>>0]|0)|0)|0}if(s&2|0){Z=n+17|0;t[Z>>0]=Ir(e,i[n+2952+(u[Z>>0]<<2)>>2]|0)|0}if(s&1){Z=n+18|0;A[Z>>1]=fr(n+4460|0,e,f[Z>>1]|0,0)|0}}else{Z=t[n+14>>0]|0;o=Z&7;Z=(Z&255)>>>3&7;l=Z;c=u[16+(Z<<3)+o>>0]|0;o=u[80+(Z<<3)+o>>0]|0}a=n+52+(c*24|0)|0;s=n+4540|0;d=(l|0)==1&1;l=fr(s,e,kA(a)|0,d)|0;i[b>>2]=l;i[n>>2]=(i[n>>2]|0)+l;UA(a,b);a=n+436+(c*24|0)|0;l=kA(a)|0;c=GA(s)|0;Z=n+4620|0;c=fr(Z,e,l,(c>>>0<20?c&-2:20)|d)|0;i[b>>2]=c;l=n+4|0;i[l>>2]=(i[l>>2]|0)+c;UA(a,b);b=GA(s)|0;b=(GA(Z)|0)+b|0;Z=n+820+(o<<2)|0;b=fr(n+4700|0,e,i[Z>>2]|0,(b>>>0<36?b>>>1&2147483646:18)|d)|0;i[n+8>>2]=b;i[Z>>2]=b;zA(n,r)}$=h;return r+20|0}function pA(n){n=n|0;ur(n);ur(n+80|0);ur(n+160|0);ur(n+240|0);ur(n+320|0);return}function yA(n){n=n|0;return i[n>>2]|0}function RA(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;l=n+4|0;A=i[l>>2]|0;c=(i[n+8>>2]|0)-A|0;c=c>>>0>r>>>0?r:c;o=n+12|0;u=(i[o>>2]|0)+A|0;f=u+c|0;if(c){A=u;u=e;while(1){t[u>>0]=t[A>>0]|0;A=A+1|0;if((A|0)==(f|0))break;else u=u+1|0}A=i[l>>2]|0}i[l>>2]=A+c;r=r-c|0;if(r|0){Ur(n);u=(i[o>>2]|0)+(i[l>>2]|0)|0;f=u+r|0;A=e+c|0;while(1){t[A>>0]=t[u>>0]|0;u=u+1|0;if((u|0)==(f|0))break;else A=A+1|0}i[l>>2]=(i[l>>2]|0)+r}return}function WA(n,e){n=n|0;e=e|0;aA(n);i[n>>2]=NA(e)|0;i[n+4>>2]=NA(e+4|0)|0;i[n+8>>2]=NA(e+8|0)|0;A[n+12>>1]=gA(e+12|0)|0;wA(TA(e+14|0)|0,n);t[n+15>>0]=TA(e+15|0)|0;t[n+16>>0]=MA(e+16|0)|0;t[n+17>>0]=MA(e+17|0)|0;A[n+18>>1]=gA(e+18|0)|0;return}function XA(n){n=n|0;return t[n+14>>0]|0}function wA(n,e){n=n|0;e=e|0;t[e+14>>0]=n;return}function FA(n){n=n|0;return n&255|0}function kA(n){n=n|0;return i[n+8>>2]|0}function UA(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0,c=0,l=0;l=n+20|0;do{if(!(t[l>>0]|0)){c=n+8|0;r=i[c>>2]|0;A=i[e>>2]|0;u=n+4|0;f=i[u>>2]|0;if((r|0)>=(A|0)){if((f|0)<(A|0)){i[n>>2]=f;i[u>>2]=i[e>>2]}else i[n>>2]=A;t[l>>0]=1;break}i[n>>2]=f;i[u>>2]=r;u=n+16|0;f=i[u>>2]|0;o=i[e>>2]|0;r=n+12|0;A=i[r>>2]|0;if((f|0)<(o|0)){i[c>>2]=A;i[r>>2]=f;i[u>>2]=i[e>>2];break}if((A|0)<(o|0)){i[c>>2]=A;i[r>>2]=i[e>>2];break}else{i[c>>2]=o;break}}else{u=i[e>>2]|0;o=n+8|0;r=i[o>>2]|0;f=n+12|0;A=i[f>>2]|0;if((u|0)>=(r|0)){r=n+16|0;if((u|0)<(A|0)){i[r>>2]=A;i[f>>2]=i[e>>2]}else i[r>>2]=u;t[l>>0]=0;break}i[n+16>>2]=A;i[f>>2]=r;r=i[e>>2]|0;A=i[n>>2]|0;u=n+4|0;f=i[u>>2]|0;if((r|0)<(A|0)){i[o>>2]=f;i[u>>2]=A;i[n>>2]=i[e>>2];break}if((r|0)<(f|0)){i[o>>2]=f;i[u>>2]=i[e>>2];break}else{i[o>>2]=r;break}}}while(0);return}function GA(n){n=n|0;return i[n>>2]|0}function zA(n,e){n=n|0;e=e|0;var r=0;JA(u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24,e);r=n+4|0;JA(u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24,e+4|0);r=n+8|0;JA(u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24,e+8|0);r=n+12|0;YA(u[r>>0]|u[r+1>>0]<<8,e+12|0);EA(XA(n)|0,e+14|0);EA(t[n+15>>0]|0,e+15|0);xA(t[n+16>>0]|0,e+16|0);xA(t[n+17>>0]|0,e+17|0);n=n+18|0;YA(u[n>>0]|u[n+1>>0]<<8,e+18|0);return}function NA(n){n=n|0;return BA(n)|0}function gA(n){n=n|0;return(t[n+1>>0]<<8|u[n>>0])&65535|0}function TA(n){n=n|0;return t[n>>0]|0}function MA(n){n=n|0;return t[n>>0]|0}function BA(n){n=n|0;return(u[n+1>>0]|0)<<8|(u[n>>0]|0)|(u[n+2>>0]|0)<<16|(u[n+3>>0]|0)<<24|0}function JA(n,e){n=n|0;e=e|0;OA(n,e);return}function YA(n,e){n=n|0;e=e|0;t[e+1>>0]=(n&65535)>>>8;t[e>>0]=n;return}function EA(n,e){n=n|0;e=e|0;t[e>>0]=n;return}function xA(n,e){n=n|0;e=e|0;t[e>>0]=n;return}function OA(n,e){n=n|0;e=e|0;t[e+3>>0]=n>>>24;t[e+2>>0]=n>>>16;t[e+1>>0]=n>>>8;t[e>>0]=n;return}function CA(n,e){n=n|0;e=e|0;return}function jA(n){n=n|0;uZ(n);nh(n);return}function IA(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function SA(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==9202?n+12|0:0)|0}function HA(n){n=n|0;yn(n,16);return}function QA(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=4768;i[n+4>>2]=e;DA(n+8|0);return}function _A(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4792;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function DA(n){n=n|0;KA(n);qA(n+164|0);ni(n+244|0);t[n+324>>0]=0;t[n+325>>0]=0;return}function PA(n){n=n|0;i[n>>2]=4768;ii(n+8|0);tA(n);return}function $A(n){n=n|0;PA(n);nh(n);return}function LA(n,e){n=n|0;e=e|0;return fi(n+8|0,i[n+4>>2]|0,e)|0}function KA(n){n=n|0;var e=0,r=0,A=0,u=0,f=0,o=0,c=0;f=$;$=$+16|0;A=f;t[n>>0]=0;gr(n+4|0,516,0,0);gr(n+48|0,6,0,0);i[n+92>>2]=0;i[n+96>>2]=0;r=n+100|0;ti(r);Ai(A);u=i[A>>2]|0;A=i[A+4>>2]|0;e=4;while(1){o=r;c=o;t[c>>0]=u;t[c+1>>0]=u>>8;t[c+2>>0]=u>>16;t[c+3>>0]=u>>24;o=o+4|0;t[o>>0]=A;t[o+1>>0]=A>>8;t[o+2>>0]=A>>16;t[o+3>>0]=A>>24;e=e+-1|0;if(!e)break;else r=r+8|0}c=n+132|0;i[c>>2]=0;i[c+4>>2]=0;i[c+8>>2]=0;i[c+12>>2]=0;i[c+16>>2]=0;i[c+20>>2]=0;i[c+24>>2]=0;i[c+28>>2]=0;$=f;return}function qA(n){n=n|0;hA(n,32,9,8,0);return}function ni(n){n=n|0;Ar(n,32,9,8,0);return}function ei(n){n=n|0;ZA(n);return}function ri(n){n=n|0;Fr(n+48|0);Fr(n+4|0);return}function ti(n){n=n|0;var e=0;e=n+32|0;do{Ai(n);n=n+8|0}while((n|0)!=(e|0));return}function Ai(n){n=n|0;var e=0;e=n;t[e>>0]=0;t[e+1>>0]=0;t[e+2>>0]=0;t[e+3>>0]=0;n=n+4|0;t[n>>0]=0;t[n+1>>0]=0;t[n+2>>0]=0;t[n+3>>0]=0;return}function ii(n){n=n|0;ui(n+244|0);ei(n+164|0);ri(n);return}function ui(n){n=n|0;or(n);return}function fi(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,f=0,o=0,c=0,l=0;A=n+325|0;if(!(t[A>>0]|0)){oi(n+244|0);t[A>>0]=1}if(!(t[n>>0]|0)){t[n>>0]=1;RA(yA(e)|0,r,8);o=ci(r)|0;c=W()|0;n=n+100|0;e=n;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;n=n+4|0;t[n>>0]=c;t[n+1>>0]=c>>8;t[n+2>>0]=c>>16;t[n+3>>0]=c>>24}else{c=n+92|0;n:do{if(!(i[n+132+(i[c>>2]<<2)>>2]|0)){A=Ir(e,n+48|0)|0;switch(A|0){case 1:{e=fr(n+244|0,e,0,0)|0;i[n+132+(i[c>>2]<<2)>>2]=e;e=i[c>>2]|0;l=i[n+132+(e<<2)>>2]|0;o=n+100+(e<<3)|0;f=o;A=f;f=f+4|0;l=rv(u[A>>0]|u[A+1>>0]<<8|u[A+2>>0]<<16|u[A+3>>0]<<24|0,u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|0,l|0,((l|0)<0)<<31>>31|0)|0;f=W()|0;A=o;t[A>>0]=l;t[A+1>>0]=l>>8;t[A+2>>0]=l>>16;t[A+3>>0]=l>>24;o=o+4|0;t[o>>0]=f;t[o+1>>0]=f>>8;t[o+2>>0]=f>>16;t[o+3>>0]=f>>24;i[n+148+(e<<2)>>2]=0;break n}case 2:{l=n+96|0;i[l>>2]=(i[l>>2]|0)+1&3;o=n+100+(i[c>>2]<<3)+4|0;o=fr(n+244|0,e,u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24,8)|0;A=n+100+(i[l>>2]<<3)|0;f=A;t[f>>0]=0;t[f+1>>0]=0;t[f+2>>0]=0;t[f+3>>0]=0;A=A+4|0;t[A>>0]=o;t[A+1>>0]=o>>8;t[A+2>>0]=o>>16;t[A+3>>0]=o>>24;A=li(e)|0;l=i[l>>2]|0;e=n+100+(l<<3)|0;o=e;f=o;o=o+4|0;o=u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24;A=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|A;f=e;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;e=e+4|0;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;i[c>>2]=l;i[n+132+(l<<2)>>2]=0;i[n+148+(i[c>>2]<<2)>>2]=0;break n}default:{if((A|0)<=2)break n;i[c>>2]=A+2+(i[c>>2]|0)&3;fi(n,e,r)|0;break n}}}else{o=Ir(e,n+4|0)|0;if((o|0)==1){A=fr(n+244|0,e,i[n+132+(i[c>>2]<<2)>>2]|0,1)|0;l=i[c>>2]|0;e=n+100+(l<<3)|0;o=e;f=o;o=o+4|0;A=rv(u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|0,u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24|0,A|0,((A|0)<0)<<31>>31|0)|0;o=W()|0;f=e;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;e=e+4|0;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;i[n+148+(l<<2)>>2]=0;break}if((o|0)>=511){if((o|0)==512){l=n+96|0;i[l>>2]=(i[l>>2]|0)+1&3;o=n+100+(i[c>>2]<<3)+4|0;o=fr(n+244|0,e,u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24,8)|0;A=n+100+(i[l>>2]<<3)|0;f=A;t[f>>0]=0;t[f+1>>0]=0;t[f+2>>0]=0;t[f+3>>0]=0;A=A+4|0;t[A>>0]=o;t[A+1>>0]=o>>8;t[A+2>>0]=o>>16;t[A+3>>0]=o>>24;A=li(e)|0;l=i[l>>2]|0;e=n+100+(l<<3)|0;o=e;f=o;o=o+4|0;o=u[o>>0]|u[o+1>>0]<<8|u[o+2>>0]<<16|u[o+3>>0]<<24;A=u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|A;f=e;t[f>>0]=A;t[f+1>>0]=A>>8;t[f+2>>0]=A>>16;t[f+3>>0]=A>>24;e=e+4|0;t[e>>0]=o;t[e+1>>0]=o>>8;t[e+2>>0]=o>>16;t[e+3>>0]=o>>24;i[c>>2]=l;i[n+132+(l<<2)>>2]=0;i[n+148+(i[c>>2]<<2)>>2]=0;break}if((o|0)<=511)break;i[c>>2]=(i[c>>2]|0)+o&3;fi(n,e,r)|0;break}do{if(!o){A=fr(n+244|0,e,0,7)|0;f=n+148+(i[c>>2]<<2)|0;i[f>>2]=(i[f>>2]|0)+1;f=i[c>>2]|0;if((i[n+148+(f<<2)>>2]|0)>3){i[n+132+(f<<2)>>2]=A;i[n+148+(i[c>>2]<<2)>>2]=0}}else{if((o|0)<500){A=n+244|0;f=V(i[n+132+(i[c>>2]<<2)>>2]|0,o)|0;if((o|0)<10){A=fr(A,e,f,2)|0;break}else{A=fr(A,e,f,3)|0;break}}if((o|0)==500){A=fr(n+244|0,e,(i[n+132+(i[c>>2]<<2)>>2]|0)*500|0,4)|0;f=n+148+(i[c>>2]<<2)|0;i[f>>2]=(i[f>>2]|0)+1;f=i[c>>2]|0;if((i[n+148+(f<<2)>>2]|0)<=3)break;i[n+132+(f<<2)>>2]=A;i[n+148+(i[c>>2]<<2)>>2]=0;break}A=500-o|0;f=n+244|0;o=i[n+132+(i[c>>2]<<2)>>2]|0;if((A|0)>-10){A=fr(f,e,V(o,A)|0,5)|0;break}A=fr(f,e,V(o,-10)|0,6)|0;f=n+148+(i[c>>2]<<2)|0;i[f>>2]=(i[f>>2]|0)+1;f=i[c>>2]|0;if((i[n+148+(f<<2)>>2]|0)>3){i[n+132+(f<<2)>>2]=A;i[n+148+(i[c>>2]<<2)>>2]=0}}}while(0);l=n+100+(i[c>>2]<<3)|0;f=l;e=f;f=f+4|0;f=rv(u[e>>0]|u[e+1>>0]<<8|u[e+2>>0]<<16|u[e+3>>0]<<24|0,u[f>>0]|u[f+1>>0]<<8|u[f+2>>0]<<16|u[f+3>>0]<<24|0,A|0,((A|0)<0)<<31>>31|0)|0;e=W()|0;o=l;t[o>>0]=f;t[o+1>>0]=f>>8;t[o+2>>0]=f>>16;t[o+3>>0]=f>>24;l=l+4|0;t[l>>0]=e;t[l+1>>0]=e>>8;t[l+2>>0]=e>>16;t[l+3>>0]=e>>24}}while(0);ai(n+100+(i[c>>2]<<3)|0,r)}return r+8|0}function oi(n){n=n|0;ur(n);return}function ci(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;t=BA(n)|0;si(r,t,BA(n+4|0)|0);n=i[r>>2]|0;R(i[r+4>>2]|0);$=e;return n|0}function li(n){n=n|0;var e=0;e=(_r(n)|0)&65535;return((_r(n)|0)&65535)<<16|e|0}function ai(n,e){n=n|0;e=e|0;var r=0;r=n;OA(u[r>>0]|u[r+1>>0]<<8|u[r+2>>0]<<16|u[r+3>>0]<<24,e);n=n+4|0;OA(u[n>>0]|u[n+1>>0]<<8|u[n+2>>0]<<16|u[n+3>>0]<<24,e+4|0);return}function si(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;A=n;t[A>>0]=e;t[A+1>>0]=e>>8;t[A+2>>0]=e>>16;t[A+3>>0]=e>>24;e=n+4|0;t[e>>0]=r;t[e+1>>0]=r>>8;t[e+2>>0]=r>>16;t[e+3>>0]=r>>24;return}function di(n){n=n|0;uZ(n);nh(n);return}function bi(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function hi(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==9890?n+12|0:0)|0}function Zi(n){n=n|0;yn(n,16);return}function vi(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=4820;i[n+4>>2]=e;Vi(n+8|0);return}function mi(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4844;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Vi(n){n=n|0;t[n>>0]=0;Wi(n+1|0);gr(n+8|0,128,0,0);gr(n+52|0,256,0,0);gr(n+96|0,256,0,0);gr(n+140|0,256,0,0);gr(n+184|0,256,0,0);gr(n+228|0,256,0,0);gr(n+272|0,256,0,0);return}function pi(n){n=n|0;i[n>>2]=4820;Xi(n+8|0);tA(n);return}function yi(n){n=n|0;pi(n);nh(n);return}function Ri(n,e){n=n|0;e=e|0;return wi(n+8|0,i[n+4>>2]|0,e)|0}function Wi(n){n=n|0;var e=0;t[n>>0]=0;t[n+1>>0]=0;e=n+2|0;t[e>>0]=0;t[e+1>>0]=0;n=n+4|0;t[n>>0]=0;t[n+1>>0]=0;return}function Xi(n){n=n|0;Fr(n+272|0);Fr(n+228|0);Fr(n+184|0);Fr(n+140|0);Fr(n+96|0);Fr(n+52|0);Fr(n+8|0);return}function wi(n,e,r){n=n|0;e=e|0;r=r|0;var i=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;b=$;$=$+16|0;s=b;if(!(t[n>>0]|0)){t[n>>0]=1;RA(yA(e)|0,r,6);Fi(s,r);d=n+1|0;t[d>>0]=t[s>>0]|0;t[d+1>>0]=t[s+1>>0]|0;t[d+2>>0]=t[s+2>>0]|0;t[d+3>>0]=t[s+3>>0]|0;t[d+4>>0]=t[s+4>>0]|0;t[d+5>>0]=t[s+5>>0]|0}else{d=Ir(e,n+8|0)|0;Wi(s);if(!(d&1)){i=n+1|0;i=(u[i>>0]|u[i+1>>0]<<8)&255}else{a=(Ir(e,n+52|0)|0)&255;i=n+1|0;i=(FA(a+((u[i>>0]|u[i+1>>0]<<8)&255)|0)|0)&255}A[s>>1]=i;if(!(d&2)){a=n+1|0;i=i|(u[a>>0]|u[a+1>>0]<<8)&-256}else{i=(Ir(e,n+96|0)|0)&255;a=n+1|0;i=((FA((((u[a>>0]|u[a+1>>0]<<8)&65535)>>>8)+i|0)|0)&255)<<8;i=(i|f[s>>1])&65535}A[s>>1]=i;do{if(d&64){l=n+1|0;o=(i&255)-((u[l>>0]|u[l+1>>0]<<8)&255)|0;if(!(d&4)){i=n+3|0;i=(u[i>>0]|u[i+1>>0]<<8)&255}else{i=(Ir(e,n+140|0)|0)&255;a=n+3|0;a=o+((u[a>>0]|u[a+1>>0]<<8)&255)|0;i=(FA(((a|0)<1?0:(a|0)>254?255:a&255)+i|0)|0)&255}a=s+2|0;A[a>>1]=i;if(!(d&16)){i=n+5|0;i=(u[i>>0]|u[i+1>>0]<<8)&255}else{i=Ir(e,n+228|0)|0;h=n+3|0;c=n+5|0;c=((o+(A[a>>1]&255)-((u[h>>0]|u[h+1>>0]<<8)&255)|0)/2|0)+((u[c>>0]|u[c+1>>0]<<8)&255)|0;i=(FA(((c|0)<1?0:(c|0)>254?255:c&255)+(i&255)|0)|0)&255}c=s+4|0;A[c>>1]=i;i=((f[s>>1]|0)>>>8)-(((u[l>>0]|u[l+1>>0]<<8)&65535)>>>8)|0;if(!(d&8)){o=n+3|0;o=A[a>>1]|(u[o>>0]|u[o+1>>0]<<8)&-256}else{o=(Ir(e,n+184|0)|0)&255;h=n+3|0;h=(((u[h>>0]|u[h+1>>0]<<8)&65535)>>>8)+i|0;o=((FA(((h|0)<1?0:(h|0)>254?255:h&255)+o|0)|0)&255)<<8;o=(o|f[a>>1])&65535}A[a>>1]=o;if(!(d&32)){h=n+5|0;A[c>>1]=A[c>>1]|(u[h>>0]|u[h+1>>0]<<8)&-256;break}else{h=Ir(e,n+272|0)|0;e=n+3|0;d=n+5|0;d=((((f[a>>1]|0)>>>8)+i-(((u[e>>0]|u[e+1>>0]<<8)&65535)>>>8)|0)/2|0)+(((u[d>>0]|u[d+1>>0]<<8)&65535)>>>8)|0;h=((FA(((d|0)<1?0:(d|0)>254?255:d&255)+(h&255)|0)|0)&255)<<8;A[c>>1]=h|f[c>>1];break}}else{A[s+2>>1]=i;A[s+4>>1]=i}}while(0);h=n+1|0;t[h>>0]=t[s>>0]|0;t[h+1>>0]=t[s+1>>0]|0;t[h+2>>0]=t[s+2>>0]|0;t[h+3>>0]=t[s+3>>0]|0;t[h+4>>0]=t[s+4>>0]|0;t[h+5>>0]=t[s+5>>0]|0;ki(h,r)}$=b;return r+6|0}function Fi(n,e){n=n|0;e=e|0;var r=0,t=0;t=gA(e)|0;r=gA(e+2|0)|0;Ui(n,t,r,gA(e+4|0)|0);return}function ki(n,e){n=n|0;e=e|0;var r=0;YA(u[n>>0]|u[n+1>>0]<<8,e);r=n+2|0;YA(u[r>>0]|u[r+1>>0]<<8,e+2|0);n=n+4|0;YA(u[n>>0]|u[n+1>>0]<<8,e+4|0);return}function Ui(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;t[n>>0]=e;t[n+1>>0]=e>>8;e=n+2|0;t[e>>0]=r;t[e+1>>0]=r>>8;r=n+4|0;t[r>>0]=A;t[r+1>>0]=A>>8;return}function Gi(n){n=n|0;uZ(n);nh(n);return}function zi(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Ni(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==10570?n+12|0:0)|0}function gi(n){n=n|0;yn(n,16);return}function Ti(n,e,r){n=n|0;e=e|0;r=r|0;Lt(n);i[n>>2]=4872;i[n+4>>2]=e;Bi(n+8|0,r);return}function Mi(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4896;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Bi(n,e){n=n|0;e=e|0;i[n>>2]=i[e>>2];t[n+4>>0]=t[e+4>>0]|0;xi(n+8|0,e+8|0);xi(n+20|0,e+20|0);Oi(n+32|0,e+32|0);return}function Ji(n){n=n|0;i[n>>2]=4872;st(n+8|0);tA(n);return}function Yi(n){n=n|0;Ji(n);nh(n);return}function Ei(n,e){n=n|0;e=e|0;return pu(n+8|0,i[n+4>>2]|0,e)|0}function xi(n,e){n=n|0;e=e|0;var r=0,t=0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;r=e+4|0;t=(i[r>>2]|0)-(i[e>>2]|0)|0;if(t|0){Ci(n,t);ji(n,i[e>>2]|0,i[r>>2]|0,t)}return}function Oi(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+32|0;t=r+24|0;A=r+16|0;f=r+8|0;u=r;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;Zu(f,e);vu(u,e);i[A>>2]=i[f>>2];i[A+4>>2]=i[f+4>>2];i[t>>2]=i[u>>2];i[t+4>>2]=i[u+4>>2];_i(n,A,t,0);$=r;return}function Ci(n,e){n=n|0;e=e|0;var r=0;if((Si(n)|0)>>>0<e>>>0)_Z(n);else{r=Ph(e)|0;i[n+4>>2]=r;i[n>>2]=r;i[n+8>>2]=r+e;return}}function ji(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=$;$=$+16|0;A=u;Hi(A,n,t);t=A+4|0;n=r-e|0;if((n|0)>0){av(i[t>>2]|0,e|0,n|0)|0;i[t>>2]=(i[t>>2]|0)+n}Qi(A);$=u;return}function Ii(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=e;if(e|0){i[n+4>>2]=r;yn(e,(i[n+8>>2]|0)-r|0)}return}function Si(n){n=n|0;return 2147483647}function Hi(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;e=i[e+4>>2]|0;i[n+4>>2]=e;i[n+8>>2]=e+r;return}function Qi(n){n=n|0;i[(i[n>>2]|0)+4>>2]=i[n+4>>2];return}function _i(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;Z=$;$=$+96|0;h=Z+80|0;s=Z+64|0;c=Z+48|0;l=Z+40|0;a=Z+8|0;o=Z;d=Z+32|0;b=Z+16|0;f=e;u=i[f>>2]|0;f=i[f+4>>2]|0;A=r;r=i[A>>2]|0;A=i[A+4>>2]|0;t=u;if((A|0)==(f|0))f=0;else f=((A-(i[r>>2]|0)|0)/44|0)+((r-u>>2)*93|0)+((f-(i[u>>2]|0)|0)/-44|0)|0;r=(i[n+8>>2]|0)-(i[n+4>>2]|0)|0;r=((r|0)==0?0:((r>>2)*93|0)+-1|0)-((i[n+20>>2]|0)+(i[n+16>>2]|0))|0;if(f>>>0>r>>>0)Pi(n,f-r|0);$i(l,n);$i(o,n);A=o;r=i[A>>2]|0;A=i[A+4>>2]|0;u=a;i[u>>2]=r;i[u+4>>2]=A;u=r;if(f|0){r=((A-(i[r>>2]|0)|0)/44|0)+f|0;if((r|0)>0){o=(r>>>0)/93|0;f=u+(o<<2)|0;i[a>>2]=f;r=(i[f>>2]|0)+((r-(o*93|0)|0)*44|0)|0}else{r=92-r|0;o=u+(((r|0)/-93|0)<<2)|0;i[a>>2]=o;r=(i[o>>2]|0)+((92-((r|0)%93|0)|0)*44|0)|0}i[a+4>>2]=r}i[s>>2]=i[l>>2];i[s+4>>2]=i[l+4>>2];i[h>>2]=i[a>>2];i[h+4>>2]=i[a+4>>2];Li(c,s,h);Ki(h,c);qi(s,c);if(nu(h,s)|0){u=b+4|0;f=e+4|0;do{eu(d,h);ru(b,n,d);r=i[b>>2]|0;if((r|0)!=(i[u>>2]|0)){A=i[f>>2]|0;do{Or(r,A);r=(i[b>>2]|0)+44|0;i[b>>2]=r;A=A+44|0;i[f>>2]=A;if((A-(i[t>>2]|0)|0)==4092){t=t+4|0;i[e>>2]=t;A=i[t>>2]|0;i[f>>2]=A}}while((r|0)!=(i[u>>2]|0))}tu(b);Au(h)|0}while(nu(h,s)|0)}$=Z;return}function Di(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~((t+-4-e|0)>>>2)<<2);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function Pi(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,p=0,y=0,R=0,W=0,X=0,w=0,F=0,k=0,U=0;k=$;$=$+64|0;y=k+52|0;p=k+48|0;R=k+28|0;W=k+24|0;X=k+20|0;h=k;w=n+8|0;r=i[w>>2]|0;F=n+4|0;c=i[F>>2]|0;v=((r|0)==(c|0)&1)+e|0;f=(v>>>0)/93|0;f=f+((v-(f*93|0)|0)!=0&1)|0;v=n+16|0;t=i[v>>2]|0;o=(t>>>0)/93|0;Z=f>>>0<o>>>0?f:o;e=f-Z|0;u=r;n:do{if(!e){i[v>>2]=(V(Z,-93)|0)+t;if(Z|0){o=n+12|0;l=n+12|0;a=R+4|0;s=R+8|0;d=R+12|0;e=Z;t=c;while(1){f=i[t>>2]|0;u=t+4|0;i[F>>2]=u;m=i[o>>2]|0;t=m;do{if((r|0)==(m|0)){m=i[n>>2]|0;r=m;if(u>>>0<=m>>>0){r=t-r|0;r=(r|0)==0?1:r>>1;fu(R,r,r>>>2,l);i[W>>2]=i[F>>2];i[X>>2]=i[w>>2];i[p>>2]=i[W>>2];i[y>>2]=i[X>>2];au(R,p,y);r=i[n>>2]|0;i[n>>2]=i[R>>2];i[R>>2]=r;r=i[F>>2]|0;i[F>>2]=i[a>>2];i[a>>2]=r;r=i[w>>2]|0;i[w>>2]=i[s>>2];i[s>>2]=r;r=i[o>>2]|0;i[o>>2]=i[d>>2];i[d>>2]=r;lu(R);r=i[w>>2]|0;break}m=u;r=((m-r>>2)+1|0)/-2|0;A=u+(r<<2)|0;t=t-m|0;if(!t)r=A;else{sv(A|0,u|0,t|0)|0;r=(i[F>>2]|0)+(r<<2)|0}m=A+(t>>2<<2)|0;i[w>>2]=m;i[F>>2]=r;r=m}}while(0);i[r>>2]=f;r=(i[w>>2]|0)+4|0;i[w>>2]=r;e=e+-1|0;if(!e)break n;t=i[F>>2]|0}}}else{m=n+12|0;t=i[m>>2]|0;A=t-(i[n>>2]|0)|0;r=u-c>>2;if(e>>>0>((A>>2)-r|0)>>>0){b=A>>1;d=r+e|0;fu(h,b>>>0<d>>>0?d:b,r-Z|0,n+12|0);do{i[y>>2]=Ph(4092)|0;ou(h,y);e=e+-1|0}while((e|0)!=0);if(!Z)r=i[F>>2]|0;else{o=h+8|0;c=h+12|0;l=h+4|0;a=h+16|0;s=R+4|0;d=R+8|0;b=R+12|0;f=Z;e=i[o>>2]|0;r=i[F>>2]|0;do{u=i[c>>2]|0;t=u;do{if((e|0)==(u|0)){A=i[l>>2]|0;u=i[h>>2]|0;e=u;if(A>>>0<=u>>>0){e=t-e|0;e=(e|0)==0?1:e>>1;fu(R,e,e>>>2,i[a>>2]|0);i[W>>2]=i[l>>2];i[X>>2]=i[o>>2];i[p>>2]=i[W>>2];i[y>>2]=i[X>>2];au(R,p,y);e=i[h>>2]|0;i[h>>2]=i[R>>2];i[R>>2]=e;e=i[l>>2]|0;i[l>>2]=i[s>>2];i[s>>2]=e;e=i[o>>2]|0;i[o>>2]=i[d>>2];i[d>>2]=e;e=i[c>>2]|0;i[c>>2]=i[b>>2];i[b>>2]=e;lu(R);e=i[o>>2]|0;break}U=A;e=((U-e>>2)+1|0)/-2|0;u=A+(e<<2)|0;t=t-U|0;if(!t)e=u;else{sv(u|0,A|0,t|0)|0;e=(i[l>>2]|0)+(e<<2)|0}U=u+(t>>2<<2)|0;i[o>>2]=U;i[l>>2]=e;e=U}}while(0);i[e>>2]=i[r>>2];e=(i[o>>2]|0)+4|0;i[o>>2]=e;r=(i[F>>2]|0)+4|0;i[F>>2]=r;f=f+-1|0}while((f|0)!=0)}e=i[w>>2]|0;if((e|0)!=(r|0)){do{e=e+-4|0;cu(h,e);r=i[F>>2]|0}while((e|0)!=(r|0));e=i[w>>2]|0}U=i[n>>2]|0;i[n>>2]=i[h>>2];i[h>>2]=U;U=h+4|0;i[F>>2]=i[U>>2];i[U>>2]=r;U=h+8|0;i[w>>2]=i[U>>2];i[U>>2]=e;U=h+12|0;F=i[m>>2]|0;i[m>>2]=i[U>>2];i[U>>2]=F;i[v>>2]=(i[v>>2]|0)+(V(Z,-93)|0);lu(h);break}else{e:do{if((t|0)==(u|0))l=18;else{while(1){i[y>>2]=Ph(4092)|0;iu(n,y);e=e+-1|0;if(!e)break;if((i[m>>2]|0)==(i[w>>2]|0)){l=18;break e}}r=Z;e=i[v>>2]|0}}while(0);if((l|0)==18){t=~(f>>>0>o>>>0?o:f);r=e;do{i[y>>2]=Ph(4092)|0;uu(n,y);r=r+-1|0;A=(((i[w>>2]|0)-(i[F>>2]|0)|0)==4?92:93)+(i[v>>2]|0)|0;i[v>>2]=A}while((r|0)!=0);r=e+-1-t|0;e=A}i[v>>2]=e+(V(r,-93)|0);if(!r)break;o=n+12|0;c=R+4|0;l=R+8|0;a=R+12|0;e=i[w>>2]|0;do{u=i[F>>2]|0;f=i[u>>2]|0;u=u+4|0;i[F>>2]=u;U=i[m>>2]|0;t=U;do{if((e|0)==(U|0)){U=i[n>>2]|0;e=U;if(u>>>0<=U>>>0){e=t-e|0;e=(e|0)==0?1:e>>1;fu(R,e,e>>>2,o);i[W>>2]=i[F>>2];i[X>>2]=i[w>>2];i[p>>2]=i[W>>2];i[y>>2]=i[X>>2];au(R,p,y);e=i[n>>2]|0;i[n>>2]=i[R>>2];i[R>>2]=e;e=i[F>>2]|0;i[F>>2]=i[c>>2];i[c>>2]=e;e=i[w>>2]|0;i[w>>2]=i[l>>2];i[l>>2]=e;e=i[m>>2]|0;i[m>>2]=i[a>>2];i[a>>2]=e;lu(R);e=i[w>>2]|0;break}U=u;e=((U-e>>2)+1|0)/-2|0;A=u+(e<<2)|0;t=t-U|0;if(!t)e=A;else{sv(A|0,u|0,t|0)|0;e=(i[F>>2]|0)+(e<<2)|0}U=A+(t>>2<<2)|0;i[w>>2]=U;i[F>>2]=e;e=U}}while(0);i[e>>2]=f;e=(i[w>>2]|0)+4|0;i[w>>2]=e;r=r+-1|0}while((r|0)!=0)}}}while(0);$=k;return}function $i(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=(i[e+16>>2]|0)+(i[e+20>>2]|0)|0;u=i[e+4>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function Li(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=e;e=i[A+4>>2]|0;t=n;i[t>>2]=i[A>>2];i[t+4>>2]=e;t=r;e=i[t+4>>2]|0;r=n+8|0;i[r>>2]=i[t>>2];i[r+4>>2]=e;return}function Ki(n,e){n=n|0;e=e|0;i[n>>2]=i[e>>2];i[n+4>>2]=i[e+4>>2];i[n+8>>2]=i[e+8>>2];i[n+12>>2]=i[e+12>>2];return}function qi(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0;r=$;$=$+32|0;t=r+24|0;A=r+16|0;f=r+8|0;u=r;o=e+8|0;c=i[o>>2]|0;o=i[o+4>>2]|0;e=f;i[e>>2]=c;i[e+4>>2]=o;e=u;i[e>>2]=c;i[e+4>>2]=o;i[A>>2]=i[f>>2];i[A+4>>2]=i[f+4>>2];i[t>>2]=i[u>>2];i[t+4>>2]=i[u+4>>2];Li(n,A,t);$=r;return}function nu(n,e){n=n|0;e=e|0;return(bu(n,e)|0)^1|0}function eu(n,e){n=n|0;e=e|0;var r=0,t=0;r=i[e>>2]|0;t=i[e+4>>2]|0;if((r|0)==(i[e+8>>2]|0))hu(n,t,i[e+12>>2]|0);else hu(n,t,(i[r>>2]|0)+4092|0);return}function ru(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;t=i[r>>2]|0;i[n>>2]=t;i[n+4>>2]=i[r+4>>2];i[n+8>>2]=t;i[n+12>>2]=e;return}function tu(n){n=n|0;var e=0;e=(i[n+12>>2]|0)+20|0;i[e>>2]=(i[e>>2]|0)+(((i[n>>2]|0)-(i[n+8>>2]|0)|0)/44|0);return}function Au(n){n=n|0;var e=0,r=0,t=0;e=i[n>>2]|0;r=n+8|0;if((e|0)==(i[r>>2]|0)){t=r;e=i[t+4>>2]|0;r=n;i[r>>2]=i[t>>2];i[r+4>>2]=e}else{t=e+4|0;i[n>>2]=t;i[n+4>>2]=i[t>>2]}return n|0}function iu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;A=h+32|0;t=h+28|0;o=h+8|0;c=h+4|0;l=h;b=n+8|0;r=i[b>>2]|0;a=n+12|0;d=i[a>>2]|0;u=d;do{if((r|0)==(d|0)){d=n+4|0;s=i[d>>2]|0;Z=i[n>>2]|0;f=Z;if(s>>>0<=Z>>>0){r=u-f|0;r=(r|0)==0?1:r>>1;fu(o,r,r>>>2,n+12|0);i[c>>2]=i[d>>2];i[l>>2]=i[b>>2];i[t>>2]=i[c>>2];i[A>>2]=i[l>>2];au(o,t,A);r=i[n>>2]|0;i[n>>2]=i[o>>2];i[o>>2]=r;r=o+4|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=o+8|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=o+12|0;Z=i[a>>2]|0;i[a>>2]=i[r>>2];i[r>>2]=Z;lu(o);r=i[b>>2]|0;break}A=s;t=((A-f>>2)+1|0)/-2|0;n=s+(t<<2)|0;A=r-A|0;if(!A)r=n;else{sv(n|0,s|0,A|0)|0;r=(i[d>>2]|0)+(t<<2)|0}Z=n+(A>>2<<2)|0;i[b>>2]=Z;i[d>>2]=r;r=Z}}while(0);i[r>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+4;$=h;return}function uu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;t=h+32|0;r=h+28|0;f=h+8|0;o=h+4|0;c=h;b=n+4|0;s=i[b>>2]|0;d=i[n>>2]|0;l=d;do{if((s|0)==(d|0)){d=n+8|0;a=i[d>>2]|0;u=n+12|0;Z=i[u>>2]|0;A=Z;if(a>>>0>=Z>>>0){Z=A-l|0;Z=(Z|0)==0?1:Z>>1;fu(f,Z,(Z+3|0)>>>2,n+12|0);i[o>>2]=i[b>>2];i[c>>2]=i[d>>2];i[r>>2]=i[o>>2];i[t>>2]=i[c>>2];au(f,r,t);r=i[n>>2]|0;i[n>>2]=i[f>>2];i[f>>2]=r;r=f+4|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=f+8|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=f+12|0;Z=i[u>>2]|0;i[u>>2]=i[r>>2];i[r>>2]=Z;lu(f);r=i[b>>2]|0;break}t=a;n=((A-t>>2)+1|0)/2|0;A=a+(n<<2)|0;t=t-s|0;r=A+(0-(t>>2)<<2)|0;if(!t){r=A;t=A}else{sv(r|0,s|0,t|0)|0;t=(i[d>>2]|0)+(n<<2)|0}i[b>>2]=r;i[d>>2]=t}else r=s}while(0);i[r+-4>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+-4;$=h;return}function fu(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;A=n+12|0;i[A>>2]=0;i[n+16>>2]=t;do{if(e){if(e>>>0>1073741823){A=X(8)|0;sZ(A,6723);i[A>>2]=5956;F(A|0,3928,123)}else{t=Ph(e<<2)|0;break}}else t=0}while(0);i[n>>2]=t;r=t+(r<<2)|0;i[n+8>>2]=r;i[n+4>>2]=r;i[A>>2]=t+(e<<2);return}function ou(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;A=h+32|0;t=h+28|0;o=h+8|0;c=h+4|0;l=h;b=n+8|0;r=i[b>>2]|0;a=n+12|0;d=i[a>>2]|0;u=d;do{if((r|0)==(d|0)){d=n+4|0;s=i[d>>2]|0;Z=i[n>>2]|0;f=Z;if(s>>>0<=Z>>>0){r=u-f|0;r=(r|0)==0?1:r>>1;fu(o,r,r>>>2,i[n+16>>2]|0);i[c>>2]=i[d>>2];i[l>>2]=i[b>>2];i[t>>2]=i[c>>2];i[A>>2]=i[l>>2];au(o,t,A);r=i[n>>2]|0;i[n>>2]=i[o>>2];i[o>>2]=r;r=o+4|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=o+8|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=o+12|0;Z=i[a>>2]|0;i[a>>2]=i[r>>2];i[r>>2]=Z;lu(o);r=i[b>>2]|0;break}A=s;t=((A-f>>2)+1|0)/-2|0;n=s+(t<<2)|0;A=r-A|0;if(!A)r=n;else{sv(n|0,s|0,A|0)|0;r=(i[d>>2]|0)+(t<<2)|0}Z=n+(A>>2<<2)|0;i[b>>2]=Z;i[d>>2]=r;r=Z}}while(0);i[r>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+4;$=h;return}function cu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0;h=$;$=$+48|0;t=h+32|0;r=h+28|0;f=h+8|0;o=h+4|0;c=h;b=n+4|0;s=i[b>>2]|0;d=i[n>>2]|0;l=d;do{if((s|0)==(d|0)){d=n+8|0;a=i[d>>2]|0;u=n+12|0;Z=i[u>>2]|0;A=Z;if(a>>>0>=Z>>>0){Z=A-l|0;Z=(Z|0)==0?1:Z>>1;fu(f,Z,(Z+3|0)>>>2,i[n+16>>2]|0);i[o>>2]=i[b>>2];i[c>>2]=i[d>>2];i[r>>2]=i[o>>2];i[t>>2]=i[c>>2];au(f,r,t);r=i[n>>2]|0;i[n>>2]=i[f>>2];i[f>>2]=r;r=f+4|0;Z=i[b>>2]|0;i[b>>2]=i[r>>2];i[r>>2]=Z;r=f+8|0;Z=i[d>>2]|0;i[d>>2]=i[r>>2];i[r>>2]=Z;r=f+12|0;Z=i[u>>2]|0;i[u>>2]=i[r>>2];i[r>>2]=Z;lu(f);r=i[b>>2]|0;break}t=a;n=((A-t>>2)+1|0)/2|0;A=a+(n<<2)|0;t=t-s|0;r=A+(0-(t>>2)<<2)|0;if(!t){r=A;t=A}else{sv(r|0,s|0,t|0)|0;t=(i[d>>2]|0)+(n<<2)|0}i[b>>2]=r;i[d>>2]=t}else r=s}while(0);i[r+-4>>2]=i[e>>2];i[b>>2]=(i[b>>2]|0)+-4;$=h;return}function lu(n){n=n|0;var e=0,r=0,t=0;e=i[n+4>>2]|0;r=n+8|0;t=i[r>>2]|0;if((t|0)!=(e|0))i[r>>2]=t+(~((t+-4-e|0)>>>2)<<2);e=i[n>>2]|0;if(e|0)yn(e,(i[n+12>>2]|0)-e|0);return}function au(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0;f=$;$=$+16|0;u=f;A=i[e>>2]|0;su(u,n+8|0,(i[r>>2]|0)-A>>2);n=i[u>>2]|0;t=u+4|0;if((n|0)!=(i[t>>2]|0)){r=A;do{i[n>>2]=i[r>>2];n=(i[u>>2]|0)+4|0;i[u>>2]=n;r=r+4|0}while((n|0)!=(i[t>>2]|0));i[e>>2]=r}du(u);$=f;return}function su(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=i[e>>2];i[n+4>>2]=(i[e>>2]|0)+(r<<2);i[n+8>>2]=e;return}function du(n){n=n|0;i[i[n+8>>2]>>2]=i[n>>2];return}function bu(n,e){n=n|0;e=e|0;return(i[n+4>>2]|0)==(i[e+4>>2]|0)|0}function hu(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;i[n+4>>2]=r;return}function Zu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;u=i[e+4>>2]|0;r=i[e+16>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function vu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=(i[e+16>>2]|0)+(i[e+20>>2]|0)|0;u=i[e+4>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function mu(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0;o=$;$=$+16|0;t=o+8|0;u=o;Vu(t,n);$i(u,n);A=t+4|0;e=i[A>>2]|0;u=u+4|0;if((e|0)!=(i[u>>2]|0))do{Fr(e);e=(i[A>>2]|0)+44|0;i[A>>2]=e;r=i[t>>2]|0;if((e-(i[r>>2]|0)|0)==4092){e=r+4|0;i[t>>2]=e;e=i[e>>2]|0;i[A>>2]=e}}while((e|0)!=(i[u>>2]|0));i[n+20>>2]=0;A=n+8|0;t=n+4|0;r=i[t>>2]|0;e=(i[A>>2]|0)-r>>2;if(e>>>0>2)do{yn(i[r>>2]|0,4092);r=(i[t>>2]|0)+4|0;i[t>>2]=r;e=(i[A>>2]|0)-r>>2}while(e>>>0>2);switch(e|0){case 1:{e=46;f=11;break}case 2:{e=93;f=11;break}default:{}}if((f|0)==11)i[n+16>>2]=e;$=o;return}function Vu(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;u=i[e+4>>2]|0;r=i[e+16>>2]|0;t=(r>>>0)/93|0;A=u+(t<<2)|0;if((i[e+8>>2]|0)==(u|0))e=0;else e=(i[A>>2]|0)+((r-(t*93|0)|0)*44|0)|0;i[n>>2]=A;i[n+4>>2]=e;return}function pu(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,f=0,o=0,c=0,l=0,a=0,s=0;s=$;$=$+16|0;a=s;c=n+4|0;if(!(t[c>>0]|0)){a=yA(e)|0;RA(a,r,i[n>>2]|0);a=i[n>>2]|0;o=r+a|0;if(!a)A=0;else{A=r;f=i[n+8>>2]|0;while(1){t[f>>0]=t[A>>0]|0;A=A+1|0;if((A|0)==(o|0))break;else f=f+1|0}A=i[n>>2]|0}t[c>>0]=1;r=r+A|0}else{f=i[n+20>>2]|0;A=i[n+8>>2]|0;Vu(a,n+32|0);n=n+12|0;if((A|0)!=(i[n>>2]|0)){l=a+4|0;c=A;o=f;A=i[l>>2]|0;while(1){f=u[c>>0]|0;f=yu((Ir(e,A)|0)+f|0)|0;t[o>>0]=f;t[r>>0]=f;t[c>>0]=f;c=c+1|0;r=r+1|0;f=i[a>>2]|0;A=(i[l>>2]|0)+44|0;i[l>>2]=A;if((A-(i[f>>2]|0)|0)==4092){A=f+4|0;i[a>>2]=A;A=i[A>>2]|0;i[l>>2]=A}if((c|0)==(i[n>>2]|0))break;else o=o+1|0}}}$=s;return r|0}function yu(n){n=n|0;return n&255|0}function Ru(n){n=n|0;uZ(n);nh(n);return}function Wu(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Xu(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==11262?n+12|0:0)|0}function wu(n){n=n|0;yn(n,16);return}function Fu(n,e){n=n|0;e=e|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;if(e|0){Ci(n,e);Uu(n,e)}return}function ku(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;if(e|0)Gu(n,e,r);return}function Uu(n,e){n=n|0;e=e|0;var r=0,A=0,u=0;u=$;$=$+16|0;A=u;Hi(A,n,e);e=A+4|0;n=i[e>>2]|0;r=A+8|0;if((n|0)!=(i[r>>2]|0))do{t[n>>0]=0;n=(i[e>>2]|0)+1|0;i[e>>2]=n}while((n|0)!=(i[r>>2]|0));Qi(A);$=u;return}function Gu(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;b=$;$=$+96|0;d=b+80|0;l=b+64|0;f=b+48|0;o=b+40|0;c=b+8|0;A=b;a=b+32|0;s=b+16|0;t=(i[n+8>>2]|0)-(i[n+4>>2]|0)|0;t=((t|0)==0?0:((t>>2)*93|0)+-1|0)-((i[n+20>>2]|0)+(i[n+16>>2]|0))|0;if(t>>>0<e>>>0)Pi(n,e-t|0);$i(o,n);$i(A,n);t=i[A>>2]|0;A=i[A+4>>2]|0;u=c;i[u>>2]=t;i[u+4>>2]=A;u=t;if(e|0){t=((A-(i[t>>2]|0)|0)/44|0)+e|0;if((t|0)>0){e=(t>>>0)/93|0;u=u+(e<<2)|0;i[c>>2]=u;t=(i[u>>2]|0)+((t-(e*93|0)|0)*44|0)|0}else{t=92-t|0;e=u+(((t|0)/-93|0)<<2)|0;i[c>>2]=e;t=(i[e>>2]|0)+((92-((t|0)%93|0)|0)*44|0)|0}i[c+4>>2]=t}i[l>>2]=i[o>>2];i[l+4>>2]=i[o+4>>2];i[d>>2]=i[c>>2];i[d+4>>2]=i[c+4>>2];Li(f,l,d);Ki(d,f);qi(l,f);if(nu(d,l)|0){A=s+4|0;do{eu(a,d);ru(s,n,a);t=i[s>>2]|0;if((t|0)!=(i[A>>2]|0))do{Or(t,r);t=(i[s>>2]|0)+44|0;i[s>>2]=t}while((t|0)!=(i[A>>2]|0));tu(s);Au(d)|0}while(nu(d,l)|0)}$=b;return}function zu(n){n=n|0;var e=0,r=0;mu(n);e=i[n+4>>2]|0;r=i[n+8>>2]|0;if((e|0)!=(r|0))do{yn(i[e>>2]|0,4092);e=e+4|0}while((e|0)!=(r|0));Di(n);return}function Nu(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=4924;i[n+4>>2]=e;i[n+8>>2]=r;return}function gu(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4944;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function Tu(n,e){n=n|0;e=e|0;return Ju(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function Mu(n){n=n|0;var e=0,r=0;i[n>>2]=4924;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){Eu(e);nh(e)}Mt(n);return}function Bu(n){n=n|0;Mu(n);nh(n);return}function Ju(n,e,r){n=n|0;e=e|0;r=r|0;return Yu(n+4784|0,e,VA(n,e,r)|0)|0}function Yu(n,e,r){n=n|0;e=e|0;r=r|0;if(t[n>>0]|0){ir(e);t[n>>0]=0}return r|0}function Eu(n){n=n|0;vA(n);return}function xu(n,e){n=n|0;e=e|0;return}function Ou(n){n=n|0;uZ(n);nh(n);return}function Cu(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function ju(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==12004?n+12|0:0)|0}function Iu(n){n=n|0;yn(n,16);return}function Su(n){n=n|0;t[n>>0]=1;return}function Hu(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=4972;i[n+4>>2]=e;i[n+8>>2]=r;return}function Qu(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=4992;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function _u(n,e){n=n|0;e=e|0;return $u(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function Du(n){n=n|0;var e=0,r=0;i[n>>2]=4972;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){Ku(e);nh(e)}Mt(n);return}function Pu(n){n=n|0;Du(n);nh(n);return}function $u(n,e,r){n=n|0;e=e|0;r=r|0;return Lu(n+4784|0,e,VA(n,e,r)|0)|0}function Lu(n,e,r){n=n|0;e=e|0;r=r|0;return Yu(n+328|0,e,fi(n,e,r)|0)|0}function Ku(n){n=n|0;qu(n+4784|0);vA(n);return}function qu(n){n=n|0;ii(n);return}function nf(n){n=n|0;uZ(n);nh(n);return}function ef(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function rf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==12827?n+12|0:0)|0}function tf(n){n=n|0;yn(n,16);return}function Af(n){n=n|0;DA(n);Su(n+328|0);return}function uf(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=5020;i[n+4>>2]=e;i[n+8>>2]=r;return}function ff(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5040;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function of(n,e){n=n|0;e=e|0;return af(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function cf(n){n=n|0;var e=0,r=0;i[n>>2]=5020;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){df(e);nh(e)}Mt(n);return}function lf(n){n=n|0;cf(n);nh(n);return}function af(n,e,r){n=n|0;e=e|0;r=r|0;return sf(n+4784|0,e,VA(n,e,r)|0)|0}function sf(n,e,r){n=n|0;e=e|0;r=r|0;return Yu(n+316|0,e,wi(n,e,r)|0)|0}function df(n){n=n|0;bf(n+4784|0);vA(n);return}function bf(n){n=n|0;Xi(n);return}function hf(n){n=n|0;uZ(n);nh(n);return}function Zf(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function vf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==13672?n+12|0:0)|0}function mf(n){n=n|0;yn(n,16);return}function Vf(n){n=n|0;Vi(n);Su(n+316|0);return}function pf(n,e,r){n=n|0;e=e|0;r=r|0;zt(n);i[n>>2]=5068;i[n+4>>2]=e;i[n+8>>2]=r;return}function yf(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5088;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;xu(n,t);$=r;return}function Rf(n,e){n=n|0;e=e|0;return wf(i[n+8>>2]|0,i[n+4>>2]|0,e)|0}function Wf(n){n=n|0;var e=0,r=0;i[n>>2]=5068;r=n+8|0;e=i[r>>2]|0;i[r>>2]=0;if(e|0){kf(e);nh(e)}Mt(n);return}function Xf(n){n=n|0;Wf(n);nh(n);return}function wf(n,e,r){n=n|0;e=e|0;r=r|0;return Ff(n+4784|0,e,VA(n,e,r)|0)|0}function Ff(n,e,r){n=n|0;e=e|0;r=r|0;return sf(n+328|0,e,fi(n,e,r)|0)|0}function kf(n){n=n|0;Uf(n+4784|0);vA(n);return}function Uf(n){n=n|0;bf(n+328|0);ii(n);return}function Gf(n){n=n|0;uZ(n);nh(n);return}function zf(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function Nf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==14573?n+12|0:0)|0}function gf(n){n=n|0;yn(n,16);return}function Tf(n){n=n|0;DA(n);Vf(n+328|0);return}function Mf(n){n=n|0;return n+20|0}function Bf(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=e;i[n+4>>2]=r;i[n+8>>2]=0;return}function Jf(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=0;i[n+8>>2]=-1;return}function Yf(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;r=$;$=$+16|0;t=r+4|0;u=r;A=Ph(24)|0;no(A,e);i[u>>2]=0;i[t>>2]=i[u>>2];eo(n,A,t);$=r;return}function Ef(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function xf(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5116;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Cf(n,t);$=r;return}function Of(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Cf(n,e){n=n|0;e=e|0;return}function jf(n){n=n|0;uZ(n);nh(n);return}function If(n){n=n|0;n=i[n+12>>2]|0;if(n|0)nh(n);return}function Sf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==14966?n+12|0:0)|0}function Hf(n){n=n|0;yn(n,16);return}function Qf(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5144;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;Df(n,t);$=r;return}function _f(n){n=n|0;var e=0,r=0;n=i[n+4>>2]|0;if(n|0?(r=n+4|0,e=i[r>>2]|0,i[r>>2]=e+-1,(e|0)==0):0){Sv[i[(i[n>>2]|0)+8>>2]&255](n);fZ(n)}return}function Df(n,e){n=n|0;e=e|0;return}function Pf(n){n=n|0;uZ(n);nh(n);return}function $f(n){n=n|0;n=i[n+12>>2]|0;if(n|0){qf(n);nh(n)}return}function Lf(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==15127?n+12|0:0)|0}function Kf(n){n=n|0;yn(n,16);return}function qf(n){n=n|0;return}function no(n,e){n=n|0;e=e|0;zt(n);i[n>>2]=5172;i[n+4>>2]=e;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;t[n+20>>0]=1;return}function eo(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5192;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;fo(n,t);$=r;return}function ro(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0,c=0,l=0;l=$;$=$+16|0;f=l;r=i[n+8>>2]|0;o=i[n+12>>2]|0;if((r|0)!=(o|0)){c=f+4|0;do{A=i[r>>2]|0;i[f>>2]=A;u=i[r+4>>2]|0;i[c>>2]=u;if(u|0){u=u+4|0;i[u>>2]=(i[u>>2]|0)+1}e=Cv[i[(i[A>>2]|0)+12>>2]&63](A,e)|0;Jt(f);r=r+8|0}while((r|0)!=(o|0))}r=n+20|0;if(t[r>>0]|0){t[r>>0]=0;io(i[n+4>>2]|0)}$=l;return e|0}function to(n){n=n|0;i[n>>2]=5172;Yt(n+8|0);Mt(n);return}function Ao(n){n=n|0;to(n);nh(n);return}function io(n){n=n|0;var e=0;e=((uo(i[n>>2]|0)|0)&255)<<24;e=((uo(i[n>>2]|0)|0)&255)<<16|e;e=e|((uo(i[n>>2]|0)|0)&255)<<8;i[n+4>>2]=e|(uo(i[n>>2]|0)|0)&255;return}function uo(n){n=n|0;var e=0,r=0;e=i[n>>2]|0;r=n+8|0;n=i[r>>2]|0;i[r>>2]=n+1;return t[e+n>>0]|0}function fo(n,e){n=n|0;e=e|0;return}function oo(n){n=n|0;uZ(n);nh(n);return}function co(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+8>>2]&255](n);return}function lo(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==15450?n+12|0:0)|0}function ao(n){n=n|0;yn(n,16);return}function so(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(180)|0;ho(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];Zo(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function bo(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(180)|0;xo(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];Oo(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ho(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5220;i[n+4>>2]=e;vo(n+8|0);return}function Zo(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5244;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function vo(n){n=n|0;hA(n,32,1,8,0);Ar(n+80|0,32,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;yo(n+164|0);return}function mo(n){n=n|0;i[n>>2]=5220;Ro(n+8|0);tA(n);return}function Vo(n){n=n|0;mo(n);nh(n);return}function po(n,e){n=n|0;e=e|0;return Wo(n+8|0,i[n+4>>2]|0,e)|0}function yo(n){n=n|0;t[n+4>>0]=0;return}function Ro(n){n=n|0;or(n+80|0);ZA(n);return}function Wo(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=$;$=$+16|0;A=f;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+164|0;if(Xo(u)|0){e=wo(n+80|0,e,i[u>>2]|0,0)|0;i[A>>2]=e;JA(e,r)}else{ko(Fo(e)|0,r,4);i[A>>2]=NA(r)|0}Uo(u,A);$=f;return r+4|0}function Xo(n){n=n|0;return(t[n+4>>0]|0)!=0|0}function wo(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;r=(Go(n,e,(i[n+36>>2]|0)+(t*44|0)|0)|0)+r|0;e=i[n+24>>2]|0;if((r|0)<0)return r+e|0;else return r-(r>>>0<e>>>0?0:e)|0;return 0}function Fo(n){n=n|0;return i[n>>2]|0}function ko(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;if((r|0)>0){A=0;do{t[e+A>>0]=uo(n)|0;A=A+1|0}while((A|0)!=(r|0))}return}function Uo(n,e){n=n|0;e=e|0;var r=0;r=n+4|0;if(!(t[r>>0]|0))t[r>>0]=1;i[n>>2]=i[e>>2];return}function Go(n,e,r){n=n|0;e=e|0;r=r|0;var t=0;r=zo(e,r)|0;i[n>>2]=r;do{if(r){if(r>>>0>=32){r=i[n+28>>2]|0;break}t=i[n+12>>2]|0;if(r>>>0>t>>>0){t=r-t|0;r=zo(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;t=r<<t|(No(e,t)|0)}else t=zo(e,(i[n+68>>2]|0)+((r+-1|0)*44|0)|0)|0;r=i[n>>2]|0;if((t|0)<(1<<r+-1|0)){r=t+1+(-1<<r)|0;break}else{r=t+1|0;break}}else r=go(e,n+48|0)|0}while(0);return r|0}function zo(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;d=n+8|0;s=i[d>>2]|0;A=i[e+16>>2]|0;if(A){t=n+4|0;r=i[t>>2]|0;a=s>>>15;i[d>>2]=a;c=(r>>>0)/(a>>>0)|0;o=c>>>(i[e+40>>2]|0);u=i[A+(o<<2)>>2]|0;o=(i[A+(o+1<<2)>>2]|0)+1|0;f=u+1|0;l=i[e+8>>2]|0;if(o>>>0>f>>>0){A=u;u=o;do{f=(u+A|0)>>>1;o=(i[l+(f<<2)>>2]|0)>>>0>c>>>0;A=o?A:f;u=o?f:u;f=A+1|0}while(u>>>0>f>>>0);u=A}A=V(i[l+(u<<2)>>2]|0,a)|0;if((u|0)==(i[e+32>>2]|0))f=s;else f=V(i[l+(f<<2)>>2]|0,a)|0}else{l=s>>>15;i[d>>2]=l;o=i[e>>2]|0;a=i[e+8>>2]|0;t=n+4|0;r=i[t>>2]|0;c=o>>>1;A=0;f=s;u=0;do{b=V(i[a+(c<<2)>>2]|0,l)|0;s=b>>>0>r>>>0;f=s?b:f;A=s?A:b;u=s?u:c;o=s?c:o;c=(u+o|0)>>>1}while((c|0)!=(u|0))}i[t>>2]=r-A;b=f-A|0;i[d>>2]=b;if(b>>>0<16777216)To(n);d=(i[e+12>>2]|0)+(u<<2)|0;i[d>>2]=(i[d>>2]|0)+1;d=e+28|0;b=(i[d>>2]|0)+-1|0;i[d>>2]=b;if(!b)Cr(e);return u|0}function No(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;if(e>>>0>19){r=(Mo(n)|0)&65535;return(No(n,e+-16|0)|0)<<16|r|0}t=n+4|0;A=i[t>>2]|0;u=n+8|0;r=(i[u>>2]|0)>>>e;i[u>>2]=r;e=(A>>>0)/(r>>>0)|0;i[t>>2]=A-(V(e,r)|0);if(r>>>0<16777216)To(n);return e|0}function go(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0,o=0;t=n+8|0;A=i[t>>2]|0;r=V(A>>>13,i[e+8>>2]|0)|0;u=n+4|0;f=i[u>>2]|0;o=f>>>0>=r>>>0;if(o){i[u>>2]=f-r;r=A-r|0;i[t>>2]=r}else{i[t>>2]=r;f=e+12|0;i[f>>2]=(i[f>>2]|0)+1}if(r>>>0<16777216)To(n);f=e+4|0;n=(i[f>>2]|0)+-1|0;i[f>>2]=n;if(!n)Dr(e);return o&1|0}function To(n){n=n|0;var e=0,r=0,t=0,A=0;e=n+4|0;r=n+8|0;t=i[e>>2]|0;do{t=t<<8|(uo(i[n>>2]|0)|0)&255;i[e>>2]=t;A=i[r>>2]<<8;i[r>>2]=A}while(A>>>0<16777216);return}function Mo(n){n=n|0;var e=0,r=0,t=0,A=0;r=n+4|0;A=i[r>>2]|0;e=n+8|0;t=(i[e>>2]|0)>>>16;i[e>>2]=t;e=(A>>>0)/(t>>>0)|0;i[r>>2]=A-(V(e,t)|0);To(n);return e&65535|0}function Bo(n){n=n|0;uZ(n);nh(n);return}function Jo(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Yo(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==15904?n+12|0:0)|0}function Eo(n){n=n|0;yn(n,16);return}function xo(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5272;i[n+4>>2]=e;Co(n+8|0);return}function Oo(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5296;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Co(n){n=n|0;hA(n,32,1,8,0);Ar(n+80|0,32,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;Ho(n+164|0);return}function jo(n){n=n|0;i[n>>2]=5272;Qo(n+8|0);tA(n);return}function Io(n){n=n|0;jo(n);nh(n);return}function So(n,e){n=n|0;e=e|0;return _o(n+8|0,i[n+4>>2]|0,e)|0}function Ho(n){n=n|0;t[n+4>>0]=0;return}function Qo(n){n=n|0;or(n+80|0);ZA(n);return}function _o(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=$;$=$+16|0;A=f;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+164|0;if(Do(u)|0){e=wo(n+80|0,e,i[u>>2]|0,0)|0;i[A>>2]=e;OA(e,r)}else{ko(Fo(e)|0,r,4);i[A>>2]=BA(r)|0}Po(u,A);$=f;return r+4|0}function Do(n){n=n|0;return(t[n+4>>0]|0)!=0|0}function Po(n,e){n=n|0;e=e|0;var r=0;r=n+4|0;if(!(t[r>>0]|0))t[r>>0]=1;i[n>>2]=i[e>>2];return}function $o(n){n=n|0;uZ(n);nh(n);return}function Lo(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Ko(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==16402?n+12|0:0)|0}function qo(n){n=n|0;yn(n,16);return}function nc(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(172)|0;rc(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];tc(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function ec(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(176)|0;Vc(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];pc(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function rc(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5324;i[n+4>>2]=e;Ac(n+8|0);return}function tc(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5348;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Ac(n){n=n|0;hA(n,8,1,8,0);Ar(n+80|0,8,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;oc(n+162|0);return}function ic(n){n=n|0;i[n>>2]=5324;cc(n+8|0);tA(n);return}function uc(n){n=n|0;ic(n);nh(n);return}function fc(n,e){n=n|0;e=e|0;return lc(n+8|0,i[n+4>>2]|0,e)|0}function oc(n){n=n|0;t[n+1>>0]=0;return}function cc(n){n=n|0;or(n+80|0);ZA(n);return}function lc(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0,u=0;u=$;$=$+16|0;A=u;if(!(t[n+161>>0]|0))ur(n+80|0);i=n+162|0;if(ac(i)|0){e=(wo(n+80|0,e,t[i>>0]|0,0)|0)&255;t[A>>0]=e;sc(e,r)}else{ko(Fo(e)|0,r,1);t[A>>0]=dc(r)|0}bc(i,A);$=u;return r+1|0}function ac(n){n=n|0;return(t[n+1>>0]|0)!=0|0}function sc(n,e){n=n|0;e=e|0;t[e>>0]=n;return}function dc(n){n=n|0;return t[n>>0]|0}function bc(n,e){n=n|0;e=e|0;var r=0;r=n+1|0;if(!(t[r>>0]|0))t[r>>0]=1;t[n>>0]=t[e>>0]|0;return}function hc(n){n=n|0;uZ(n);nh(n);return}function Zc(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function vc(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==16900?n+12|0:0)|0}function mc(n){n=n|0;yn(n,16);return}function Vc(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5376;i[n+4>>2]=e;yc(n+8|0);return}function pc(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5400;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function yc(n){n=n|0;hA(n,16,1,8,0);Ar(n+80|0,16,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;wc(n+162|0);return}function Rc(n){n=n|0;i[n>>2]=5376;Fc(n+8|0);tA(n);return}function Wc(n){n=n|0;Rc(n);nh(n);return}function Xc(n,e){n=n|0;e=e|0;return kc(n+8|0,i[n+4>>2]|0,e)|0}function wc(n){n=n|0;t[n+2>>0]=0;return}function Fc(n){n=n|0;or(n+80|0);ZA(n);return}function kc(n,e,r){n=n|0;e=e|0;r=r|0;var i=0,u=0,f=0;f=$;$=$+16|0;i=f;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+162|0;if(Uc(u)|0){e=(wo(n+80|0,e,A[u>>1]|0,0)|0)&65535;A[i>>1]=e;Gc(e,r)}else{ko(Fo(e)|0,r,2);A[i>>1]=zc(r)|0}Nc(u,i);$=f;return r+2|0}function Uc(n){n=n|0;return(t[n+2>>0]|0)!=0|0}function Gc(n,e){n=n|0;e=e|0;YA(n,e);return}function zc(n){n=n|0;return gA(n)|0}function Nc(n,e){n=n|0;e=e|0;var r=0;r=n+2|0;if(!(t[r>>0]|0))t[r>>0]=1;A[n>>1]=A[e>>1]|0;return}function gc(n){n=n|0;uZ(n);nh(n);return}function Tc(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Mc(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==17398?n+12|0:0)|0}function Bc(n){n=n|0;yn(n,16);return}function Jc(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(172)|0;Ec(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];xc(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function Yc(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0;c=$;$=$+32|0;t=c+12|0;A=c;e=c+8|0;f=Ph(176)|0;qc(f,i[n+4>>2]|0);u=n+8|0;i[e>>2]=0;i[t>>2]=i[e>>2];nl(A,f,t);f=n+12|0;e=i[f>>2]|0;o=n+16|0;do{if(e>>>0>=(i[o>>2]|0)>>>0){e=(e-(i[u>>2]|0)>>3)+1|0;r=$t(u)|0;if(r>>>0<e>>>0)_Z(u);else{l=i[u>>2]|0;a=(i[o>>2]|0)-l|0;o=a>>2;_t(t,a>>3>>>0<r>>>1>>>0?o>>>0<e>>>0?e:o:r,(i[f>>2]|0)-l>>3,n+16|0);o=t+8|0;f=i[o>>2]|0;i[f>>2]=i[A>>2];n=A+4|0;i[f+4>>2]=i[n>>2];i[A>>2]=0;i[n>>2]=0;i[o>>2]=f+8;Dt(u,t);Pt(t);break}}else{Ht(t,u,1);a=t+4|0;l=i[a>>2]|0;i[l>>2]=i[A>>2];o=A+4|0;i[l+4>>2]=i[o>>2];i[A>>2]=0;i[o>>2]=0;i[a>>2]=l+8;Qt(t)}}while(0);Jt(A);$=c;return}function Ec(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5428;i[n+4>>2]=e;Oc(n+8|0);return}function xc(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5452;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function Oc(n){n=n|0;hA(n,8,1,8,0);Ar(n+80|0,8,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;Sc(n+162|0);return}function Cc(n){n=n|0;i[n>>2]=5428;Hc(n+8|0);tA(n);return}function jc(n){n=n|0;Cc(n);nh(n);return}function Ic(n,e){n=n|0;e=e|0;return Qc(n+8|0,i[n+4>>2]|0,e)|0}function Sc(n){n=n|0;t[n+1>>0]=0;return}function Hc(n){n=n|0;or(n+80|0);ZA(n);return}function Qc(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0,f=0;f=$;$=$+16|0;A=f;if(!(t[n+161>>0]|0))ur(n+80|0);i=n+162|0;if(_c(i)|0){e=(wo(n+80|0,e,u[i>>0]|0,0)|0)&255;t[A>>0]=e;EA(e,r)}else{ko(Fo(e)|0,r,1);t[A>>0]=TA(r)|0}Dc(i,A);$=f;return r+1|0}function _c(n){n=n|0;return(t[n+1>>0]|0)!=0|0}function Dc(n,e){n=n|0;e=e|0;var r=0;r=n+1|0;if(!(t[r>>0]|0))t[r>>0]=1;t[n>>0]=t[e>>0]|0;return}function Pc(n){n=n|0;uZ(n);nh(n);return}function $c(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function Lc(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==17896?n+12|0:0)|0}function Kc(n){n=n|0;yn(n,16);return}function qc(n,e){n=n|0;e=e|0;Lt(n);i[n>>2]=5480;i[n+4>>2]=e;el(n+8|0);return}function nl(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;r=$;$=$+16|0;t=r;i[n>>2]=e;A=Ph(16)|0;i[A+4>>2]=0;i[A+8>>2]=0;i[A>>2]=5504;i[A+12>>2]=e;i[n+4>>2]=A;i[t>>2]=e;i[t+4>>2]=e;CA(n,t);$=r;return}function el(n){n=n|0;hA(n,16,1,8,0);Ar(n+80|0,16,1,8,0);t[n+160>>0]=0;t[n+161>>0]=0;il(n+162|0);return}function rl(n){n=n|0;i[n>>2]=5480;ul(n+8|0);tA(n);return}function tl(n){n=n|0;rl(n);nh(n);return}function Al(n,e){n=n|0;e=e|0;return fl(n+8|0,i[n+4>>2]|0,e)|0}function il(n){n=n|0;t[n+2>>0]=0;return}function ul(n){n=n|0;or(n+80|0);ZA(n);return}function fl(n,e,r){n=n|0;e=e|0;r=r|0;var i=0,u=0,o=0;o=$;$=$+16|0;i=o;if(!(t[n+161>>0]|0))ur(n+80|0);u=n+162|0;if(ol(u)|0){e=(wo(n+80|0,e,f[u>>1]|0,0)|0)&65535;A[i>>1]=e;YA(e,r)}else{ko(Fo(e)|0,r,2);A[i>>1]=gA(r)|0}cl(u,i);$=o;return r+2|0}function ol(n){n=n|0;return(t[n+2>>0]|0)!=0|0}function cl(n,e){n=n|0;e=e|0;var r=0;r=n+2|0;if(!(t[r>>0]|0))t[r>>0]=1;A[n>>1]=A[e>>1]|0;return}function ll(n){n=n|0;uZ(n);nh(n);return}function al(n){n=n|0;n=i[n+12>>2]|0;if(n|0)Sv[i[(i[n>>2]|0)+4>>2]&255](n);return}function sl(n,e){n=n|0;e=e|0;return((i[e+4>>2]|0)==18394?n+12|0:0)|0}function dl(n){n=n|0;yn(n,16);return}function bl(){return}function hl(n){n=n|0;return Wl(n)|0}function Zl(){return 0}function vl(){return 0}function ml(n){n=n|0;if(n|0){Xl(n);nh(n)}return}function Vl(){return wl()|0}function pl(){return Fl()|0}function yl(){return kl()|0}function Rl(){return 0}function Wl(n){n=n|0;return 3360}function Xl(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;t=e;i[t>>2]=i[n>>2];i[n>>2]=0;r=n+4|0;i[t+4>>2]=i[r>>2];i[r>>2]=0;bn(t);r=n+8|0;i[t>>2]=i[r>>2];i[r>>2]=0;A=n+12|0;i[t+4>>2]=i[A>>2];i[A>>2]=0;Xn(t);Xn(r);bn(n);$=e;return}function wl(){return 3360}function Fl(){return 3368}function kl(){return 3384}function Ul(){return 18579}function Gl(){return 18582}function zl(){return 18584}function Nl(){var n=0;n=Ph(16)|0;El(n);return n|0}function gl(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;r=e;A=Vl()|0;t=Ml(r)|0;r=Bl(r)|0;T(A|0,t|0,r|0,Ul()|0,12,n|0);$=e;return}function Tl(n){n=n|0;return Jl(Ev[n&3]()|0)|0}function Ml(n){n=n|0;return 1}function Bl(n){n=n|0;return Yl()|0}function Jl(n){n=n|0;return n|0}function Yl(){return 5524}function El(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;return}function xl(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Vl()|0;u=Cl(A)|0;A=jl(A)|0;e=Dl()|0;M(f|0,n|0,u|0,A|0,e|0,4,Il(t)|0,0);$=r;return}function Ol(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=Sl(e)|0;e=i[n>>2]|0;A=i[n+4>>2]|0;n=u+(A>>1)|0;if(A&1)e=i[(i[n>>2]|0)+e>>2]|0;A=Hl(r)|0;u=Ql(t)|0;Qv[e&15](n,A,u);return}function Cl(n){n=n|0;return 4}function jl(n){n=n|0;return _l()|0}function Il(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function Sl(n){n=n|0;return n|0}function Hl(n){n=n|0;return n|0}function Ql(n){n=n|0;return n|0}function _l(){return 144}function Dl(){return 18587}function Pl(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Vl()|0;u=Ll(A)|0;A=Kl(A)|0;e=ra()|0;M(f|0,n|0,u|0,A|0,e|0,7,ql(t)|0,0);$=r;return}function $l(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=Sl(e)|0;e=i[n>>2]|0;t=i[n+4>>2]|0;n=A+(t>>1)|0;if(t&1)e=i[(i[n>>2]|0)+e>>2]|0;A=na(r)|0;Hv[e&15](n,A);return}function Ll(n){n=n|0;return 3}function Kl(n){n=n|0;return ea()|0}function ql(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function na(n){n=n|0;return n|0}function ea(){return 5528}function ra(){return 18593}function ta(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Vl()|0;u=ia(A)|0;A=ua(A)|0;e=la()|0;M(f|0,n|0,u|0,A|0,e|0,41,fa(t)|0,0);$=r;return}function Aa(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0;t=$;$=$+16|0;r=t;u=Sl(e)|0;e=i[n>>2]|0;A=i[n+4>>2]|0;n=u+(A>>1)|0;if(A&1)e=i[(i[n>>2]|0)+e>>2]|0;i[r>>2]=xv[e&15](n)|0;u=oa(r)|0;$=t;return u|0}function ia(n){n=n|0;return 2}function ua(n){n=n|0;return ca()|0}function fa(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function oa(n){n=n|0;return i[n>>2]|0}function ca(){return 5540}function la(){return 18598}function aa(){return}function sa(n){n=n|0;return Va(n)|0}function da(){return 0}function ba(){return 0}function ha(n){n=n|0;if(n|0){pa(n);nh(n)}return}function Za(){return ya()|0}function va(){return Ra()|0}function ma(){return Wa()|0}function Va(n){n=n|0;return 3400}function pa(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;t=e;i[t>>2]=i[n>>2];i[n>>2]=0;r=n+4|0;i[t+4>>2]=i[r>>2];i[r>>2]=0;Of(t);r=n+16|0;i[t>>2]=i[r>>2];i[r>>2]=0;A=n+20|0;i[t+4>>2]=i[A>>2];i[A>>2]=0;Ef(t);i[t>>2]=i[r>>2];i[r>>2]=0;i[t+4>>2]=i[A>>2];i[A>>2]=0;Ef(t);Ef(r);_f(n+8|0);Of(n);$=e;return}function ya(){return 3400}function Ra(){return 3408}function Wa(){return 3424}function Xa(){var n=0;n=Ph(24)|0;Na(n);return n|0}function wa(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;r=e;A=Za()|0;t=ka(r)|0;r=Ua(r)|0;T(A|0,t|0,r|0,Ul()|0,13,n|0);$=e;return}function Fa(n){n=n|0;return Ga(Ev[n&3]()|0)|0}function ka(n){n=n|0;return 1}function Ua(n){n=n|0;return za()|0}function Ga(n){n=n|0;return n|0}function za(){return 5548}function Na(n){n=n|0;i[n>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;return}function ga(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Za()|0;u=Ma(A)|0;A=Ba(A)|0;e=Dl()|0;M(f|0,n|0,u|0,A|0,e|0,5,Ja(t)|0,0);$=r;return}function Ta(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=Ya(e)|0;e=i[n>>2]|0;A=i[n+4>>2]|0;n=u+(A>>1)|0;if(A&1)e=i[(i[n>>2]|0)+e>>2]|0;A=Hl(r)|0;u=Ql(t)|0;Qv[e&15](n,A,u);return}function Ma(n){n=n|0;return 4}function Ba(n){n=n|0;return Ea()|0}function Ja(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function Ya(n){n=n|0;return n|0}function Ea(){return 160}function xa(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Za()|0;u=Ca(A)|0;A=ja(A)|0;e=ra()|0;M(f|0,n|0,u|0,A|0,e|0,8,Ia(t)|0,0);$=r;return}function Oa(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=Ya(e)|0;e=i[n>>2]|0;t=i[n+4>>2]|0;n=A+(t>>1)|0;if(t&1)e=i[(i[n>>2]|0)+e>>2]|0;A=Ql(r)|0;Hv[e&15](n,A);return}function Ca(n){n=n|0;return 3}function ja(n){n=n|0;return Sa()|0}function Ia(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function Sa(){return 5552}function Ha(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;r=$;$=$+16|0;t=r;A=r+8|0;f=i[e+4>>2]|0;i[t>>2]=i[e>>2];i[t+4>>2]=f;f=Za()|0;u=_a(A)|0;A=Da(A)|0;e=ra()|0;M(f|0,n|0,u|0,A|0,e|0,9,Pa(t)|0,0);$=r;return}function Qa(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=Ya(e)|0;e=i[n>>2]|0;t=i[n+4>>2]|0;n=A+(t>>1)|0;if(t&1)e=i[(i[n>>2]|0)+e>>2]|0;A=na(r)|0;Hv[e&15](n,A);return}function _a(n){n=n|0;return 3}function Da(n){n=n|0;return $a()|0}function Pa(n){n=n|0;var e=0,r=0;e=Ph(8)|0;r=i[n+4>>2]|0;i[e>>2]=i[n>>2];i[e+4>>2]=r;return e|0}function $a(){return 5564}function La(){nn();return}function Ka(){qa();return}function qa(){ns(22144);return}function ns(n){n=n|0;var e=0;e=$;$=$+16|0;i[e>>2]=n;es();$=e;return}function es(){C(rs()|0,18653);N(ts()|0,18658,1,1,0);As(18663);is(18668);us(18680);fs(18694);os(18700);cs(18715);ls(18719);as(18732);ss(18737);ds(18751);bs(18757);x(hs()|0,18764);x(Zs()|0,18776);O(vs()|0,4,18809);O(ms()|0,2,18822);O(Vs()|0,4,18837);B(ps()|0,18852);ys(18868);Rs(18898);Ws(18935);Xs(18974);ws(19005);Fs(19045);ks(19074);Us(19112);Gs(19142);Rs(19181);Ws(19213);Xs(19246);ws(19279);Fs(19313);ks(19346);zs(19380);Ns(19411);gs(19443);return}function rs(){return Sd()|0}function ts(){return Id()|0}function As(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Cd()|0;Y(n|0,i[r>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);$=e;return}function is(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=xd()|0;Y(n|0,i[r>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);$=e;return}function us(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Yd()|0;Y(n|0,i[r>>2]|0,1,0,255);$=e;return}function fs(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Bd()|0;Y(n|0,i[r>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);$=e;return}function os(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Td()|0;Y(n|0,i[r>>2]|0,2,0,65535);$=e;return}function cs(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Nd()|0;Y(n|0,i[r>>2]|0,4,-2147483648,2147483647);$=e;return}function ls(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Gd()|0;Y(n|0,i[r>>2]|0,4,0,-1);$=e;return}function as(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=kd()|0;Y(n|0,i[r>>2]|0,4,-2147483648,2147483647);$=e;return}function ss(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=wd()|0;Y(n|0,i[r>>2]|0,4,0,-1);$=e;return}function ds(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=Wd()|0;J(n|0,i[r>>2]|0,4);$=e;return}function bs(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;i[r>>2]=n;n=yd()|0;J(n|0,i[r>>2]|0,8);$=e;return}function hs(){return pd()|0}function Zs(){return Vd()|0}function vs(){return md()|0}function ms(){return vd()|0}function Vs(){return Zd()|0}function ps(){return hd()|0}function ys(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=sd()|0;n=dd()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Rs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=cd()|0;n=ld()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Ws(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=ud()|0;n=fd()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Xs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=td()|0;n=Ad()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function ws(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=nd()|0;n=ed()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Fs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Ls()|0;n=Ks()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function ks(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Ds()|0;n=Ps()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Us(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Hs()|0;n=Qs()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Gs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=js()|0;n=Is()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function zs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=xs()|0;n=Os()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Ns(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Js()|0;n=Ys()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function gs(n){n=n|0;var e=0,r=0,t=0;e=$;$=$+16|0;r=e;i[r>>2]=n;t=Ts()|0;n=Ms()|0;E(t|0,n|0,i[r>>2]|0);$=e;return}function Ts(){return Bs()|0}function Ms(){return 7}function Bs(){return 3440}function Js(){return Es()|0}function Ys(){return 7}function Es(){return 3448}function xs(){return Cs()|0}function Os(){return 6}function Cs(){return 3456}function js(){return Ss()|0}function Is(){return 5}function Ss(){return 3464}function Hs(){return _s()|0}function Qs(){return 4}function _s(){return 3472}function Ds(){return $s()|0}function Ps(){return 5}function $s(){return 3480}function Ls(){return qs()|0}function Ks(){return 4}function qs(){return 3488}function nd(){return rd()|0}function ed(){return 3}function rd(){return 3496}function td(){return id()|0}function Ad(){return 2}function id(){return 3504}function ud(){return od()|0}function fd(){return 1}function od(){return 3512}function cd(){return ad()|0}function ld(){return 0}function ad(){return 3520}function sd(){return bd()|0}function dd(){return 0}function bd(){return 3528}function hd(){return 3536}function Zd(){return 3544}function vd(){return 3576}function md(){return 3600}function Vd(){return 3624}function pd(){return 3648}function yd(){return Rd()|0}function Rd(){return 4144}function Wd(){return Xd()|0}function Xd(){return 4136}function wd(){return Fd()|0}function Fd(){return 4128}function kd(){return Ud()|0}function Ud(){return 4120}function Gd(){return zd()|0}function zd(){return 4112}function Nd(){return gd()|0}function gd(){return 4104}function Td(){return Md()|0}function Md(){return 4096}function Bd(){return Jd()|0}function Jd(){return 4088}function Yd(){return Ed()|0}function Ed(){return 4072}function xd(){return Od()|0}function Od(){return 4080}function Cd(){return jd()|0}function jd(){return 4064}function Id(){return 4056}function Sd(){return 4040}function Hd(n){n=n|0;var e=0,r=0,t=0,A=0;e=$;$=$+16|0;r=e+8|0;t=e+4|0;A=e;i[A>>2]=n;i[t>>2]=i[A>>2];i[r>>2]=i[(i[t>>2]|0)+4>>2];n=Fb(i[r>>2]|0)|0;$=e;return n|0}function Qd(){return 21636}function _d(n){n=n|0;return(n+-48|0)>>>0<10|0}function Dd(){return 5576}function Pd(n,e){n=n|0;e=e|0;var r=0,A=0;r=t[n>>0]|0;A=t[e>>0]|0;if(r<<24>>24==0?1:r<<24>>24!=A<<24>>24)n=A;else{do{n=n+1|0;e=e+1|0;r=t[n>>0]|0;A=t[e>>0]|0}while(!(r<<24>>24==0?1:r<<24>>24!=A<<24>>24));n=A}return(r&255)-(n&255)|0}function $d(n){n=n|0;var e=0,r=0,A=0;A=n;n:do{if(!(A&3))r=5;else{e=A;while(1){if(!(t[n>>0]|0)){n=e;break n}n=n+1|0;e=n;if(!(e&3)){r=5;break}}}}while(0);if((r|0)==5){while(1){e=i[n>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))n=n+4|0;else break}if((e&255)<<24>>24)do{n=n+1|0}while((t[n>>0]|0)!=0)}return n-A|0}function Ld(n){n=n|0;return}function Kd(n){n=n|0;return 1}function qd(n){n=n|0;var e=0,r=0;e=n+74|0;r=t[e>>0]|0;t[e>>0]=r+255|r;e=i[n>>2]|0;if(!(e&8)){i[n+8>>2]=0;i[n+4>>2]=0;r=i[n+44>>2]|0;i[n+28>>2]=r;i[n+20>>2]=r;i[n+16>>2]=r+(i[n+48>>2]|0);n=0}else{i[n>>2]=e|32;n=-1}return n|0}function nb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0;A=r+16|0;u=i[A>>2]|0;if(!u){if(!(qd(r)|0)){u=i[A>>2]|0;f=5}else A=0}else f=5;n:do{if((f|0)==5){c=r+20|0;o=i[c>>2]|0;A=o;if((u-o|0)>>>0<e>>>0){A=jv[i[r+36>>2]&7](r,n,e)|0;break}e:do{if((t[r+75>>0]|0)<0|(e|0)==0){f=0;u=n}else{o=e;while(1){u=o+-1|0;if((t[n+u>>0]|0)==10)break;if(!u){f=0;u=n;break e}else o=u}A=jv[i[r+36>>2]&7](r,n,o)|0;if(A>>>0<o>>>0)break n;f=o;u=n+o|0;e=e-o|0;A=i[c>>2]|0}}while(0);av(A|0,u|0,e|0)|0;i[c>>2]=(i[c>>2]|0)+e;A=f+e|0}}while(0);return A|0}function eb(n,e){n=n|0;e=e|0;if(!e)e=0;else e=rb(i[e>>2]|0,i[e+4>>2]|0,n)|0;return((e|0)==0?n:e)|0}function rb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0;b=(i[n>>2]|0)+1794895138|0;f=tb(i[n+8>>2]|0,b)|0;A=tb(i[n+12>>2]|0,b)|0;u=tb(i[n+16>>2]|0,b)|0;n:do{if((f>>>0<e>>>2>>>0?(d=e-(f<<2)|0,A>>>0<d>>>0&u>>>0<d>>>0):0)?((u|A)&3|0)==0:0){d=A>>>2;s=u>>>2;a=0;while(1){c=f>>>1;l=a+c|0;o=l<<1;u=o+d|0;A=tb(i[n+(u<<2)>>2]|0,b)|0;u=tb(i[n+(u+1<<2)>>2]|0,b)|0;if(!(u>>>0<e>>>0&A>>>0<(e-u|0)>>>0)){A=0;break n}if(t[n+(u+A)>>0]|0){A=0;break n}A=Pd(r,n+u|0)|0;if(!A)break;A=(A|0)<0;if((f|0)==1){A=0;break n}a=A?a:l;f=A?c:f-c|0}A=o+s|0;u=tb(i[n+(A<<2)>>2]|0,b)|0;A=tb(i[n+(A+1<<2)>>2]|0,b)|0;if(A>>>0<e>>>0&u>>>0<(e-A|0)>>>0)A=(t[n+(A+u)>>0]|0)==0?n+A|0:0;else A=0}else A=0}while(0);return A|0}function tb(n,e){n=n|0;e=e|0;var r=0;r=lv(n|0)|0;return((e|0)==0?n:r)|0}function Ab(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=e&255;A=(r|0)!=0;n:do{if(A&(n&3|0)!=0){u=e&255;while(1){if((t[n>>0]|0)==u<<24>>24){u=6;break n}n=n+1|0;r=r+-1|0;A=(r|0)!=0;if(!(A&(n&3|0)!=0)){u=5;break}}}else u=5}while(0);if((u|0)==5)if(A)u=6;else n=0;n:do{if((u|0)==6){if((t[n>>0]|0)!=(e&255)<<24>>24){A=V(f,16843009)|0;e:do{if(r>>>0>3)do{f=i[n>>2]^A;if((f&-2139062144^-2139062144)&f+-16843009|0)break e;n=n+4|0;r=r+-4|0}while(r>>>0>3)}while(0)}if(!r)n=0;else{A=e&255;while(1){if((t[n>>0]|0)==A<<24>>24)break n;r=r+-1|0;if(!r){n=0;break}else n=n+1|0}}}}while(0);return n|0}function ib(n,e,r){n=n|0;e=e|0;r=r|0;return ob(n,e,r,1,8)|0}function ub(n,e,r,A,f,o){n=n|0;e=+e;r=r|0;A=A|0;f=f|0;o=o|0;var c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0.0,v=0,m=0,p=0,y=0,R=0,X=0,w=0,F=0,k=0,U=0,G=0,z=0,N=0,g=0,T=0;T=$;$=$+560|0;a=T+32|0;y=T+536|0;g=T;N=g;s=T+540|0;i[y>>2]=0;z=s+12|0;pb(e)|0;c=W()|0;if((c|0)<0){e=-e;pb(e)|0;G=1;U=20247;c=W()|0}else{G=(f&2049|0)!=0&1;U=(f&2048|0)==0?(f&1|0)==0?20248:20253:20250}do{if(0==0&(c&2146435072|0)==2146435072){g=(o&32|0)!=0;c=G+3|0;Zb(n,32,r,c,f&-65537);lb(n,U,G);lb(n,e!=e|0.0!=0.0?g?20274:20278:g?20266:20270,3);Zb(n,32,r,c,f^8192)}else{Z=+yb(e,y)*2.0;c=Z!=0.0;if(c)i[y>>2]=(i[y>>2]|0)+-1;p=o|32;if((p|0)==97){b=o&32;v=(b|0)==0?U:U+9|0;h=G|2;c=12-A|0;do{if(!(A>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((t[v>>0]|0)==45){e=-(e+(-Z-e));break}else{e=Z+e-e;break}}else e=Z}while(0);l=i[y>>2]|0;c=(l|0)<0?0-l|0:l;c=hb(c,((c|0)<0)<<31>>31,z)|0;if((c|0)==(z|0)){c=s+11|0;t[c>>0]=48}t[c+-1>>0]=(l>>31&2)+43;d=c+-2|0;t[d>>0]=o+15;l=(A|0)<1;a=(f&8|0)==0;s=g;do{G=~~e;c=s+1|0;t[s>>0]=b|u[640+G>>0];e=(e-+(G|0))*16.0;if((c-N|0)==1?!(a&(l&e==0.0)):0){t[c>>0]=46;s=s+2|0}else s=c}while(e!=0.0);if((A|0)!=0?(-2-N+s|0)<(A|0):0){l=z;a=d;c=A+2+l-a|0}else{l=z;a=d;c=l-N-a+s|0}z=c+h|0;Zb(n,32,r,z,f);lb(n,v,h);Zb(n,48,r,z,f^65536);N=s-N|0;lb(n,g,N);g=l-a|0;Zb(n,48,c-(N+g)|0,0,0);lb(n,d,g);Zb(n,32,r,z,f^8192);c=z;break}l=(A|0)<0?6:A;if(c){c=(i[y>>2]|0)+-28|0;i[y>>2]=c;e=Z*268435456.0}else{e=Z;c=i[y>>2]|0}k=(c|0)<0?a:a+288|0;a=k;do{w=~~e>>>0;i[a>>2]=w;a=a+4|0;e=(e-+(w>>>0))*1.0e9}while(e!=0.0);w=k;if((c|0)>0){b=k;while(1){d=(c|0)<29?c:29;c=a+-4|0;if(c>>>0>=b>>>0){s=0;do{m=ov(i[c>>2]|0,0,d|0)|0;m=rv(m|0,W()|0,s|0,0)|0;R=W()|0;s=uv(m|0,R|0,1e9,0)|0;X=ev(s|0,W()|0,1e9,0)|0;X=tv(m|0,R|0,X|0,W()|0)|0;W()|0;i[c>>2]=X;c=c+-4|0}while(c>>>0>=b>>>0);if(s){X=b+-4|0;i[X>>2]=s;s=X}else s=b}else s=b;n:do{if(a>>>0>s>>>0){c=a;while(1){a=c+-4|0;if(i[a>>2]|0){a=c;break n}if(a>>>0>s>>>0)c=a;else break}}}while(0);c=(i[y>>2]|0)-d|0;i[y>>2]=c;if((c|0)>0)b=s;else break}}else s=k;if((c|0)<0){A=((l+25|0)/9|0)+1|0;m=(p|0)==102;do{v=0-c|0;v=(v|0)<9?v:9;if(s>>>0<a>>>0){d=(1<<v)+-1|0;b=1e9>>>v;h=0;c=s;do{X=i[c>>2]|0;i[c>>2]=(X>>>v)+h;h=V(X&d,b)|0;c=c+4|0}while(c>>>0<a>>>0);s=(i[s>>2]|0)==0?s+4|0:s;if(h){i[a>>2]=h;a=a+4|0}}else s=(i[s>>2]|0)==0?s+4|0:s;c=m?k:s;a=(a-c>>2|0)>(A|0)?c+(A<<2)|0:a;c=(i[y>>2]|0)+v|0;i[y>>2]=c}while((c|0)<0);m=s}else m=s;if(m>>>0<a>>>0){c=(w-m>>2)*9|0;d=i[m>>2]|0;if(d>>>0>=10){s=10;do{s=s*10|0;c=c+1|0}while(d>>>0>=s>>>0)}}else c=0;R=(p|0)==103;X=(l|0)!=0;s=l-((p|0)==102?0:c)+((X&R)<<31>>31)|0;if((s|0)<(((a-w>>2)*9|0)+-9|0)){y=s+9216|0;s=(y|0)/9|0;A=k+4+(s+-1024<<2)|0;s=y-(s*9|0)|0;if((s|0)<8){d=10;while(1){d=d*10|0;if((s|0)<7)s=s+1|0;else break}}else d=10;h=i[A>>2]|0;s=(h>>>0)/(d>>>0)|0;v=h-(V(s,d)|0)|0;b=(A+4|0)==(a|0);if(!(b&(v|0)==0)){Z=(s&1|0)==0?9007199254740992.0:9007199254740994.0;y=d>>>1;e=v>>>0<y>>>0?.5:b&(v|0)==(y|0)?1.0:1.5;if(G){y=(t[U>>0]|0)==45;e=y?-e:e;Z=y?-Z:Z}s=h-v|0;i[A>>2]=s;if(Z+e!=Z){y=s+d|0;i[A>>2]=y;if(y>>>0>999999999){d=A;c=m;while(1){s=d+-4|0;i[d>>2]=0;if(s>>>0<c>>>0){c=c+-4|0;i[c>>2]=0}y=(i[s>>2]|0)+1|0;i[s>>2]=y;if(y>>>0>999999999)d=s;else{d=c;break}}}else{s=A;d=m}c=(w-d>>2)*9|0;h=i[d>>2]|0;if(h>>>0>=10){b=10;do{b=b*10|0;c=c+1|0}while(h>>>0>=b>>>0)}}else{s=A;d=m}}else{s=A;d=m}y=s+4|0;a=a>>>0>y>>>0?y:a}else d=m;A=0-c|0;n:do{if(a>>>0>d>>>0)while(1){s=a+-4|0;if(i[s>>2]|0){y=a;p=1;break n}if(s>>>0>d>>>0)a=s;else{y=s;p=0;break}}else{y=a;p=0}}while(0);do{if(R){l=l+((X^1)&1)|0;if((l|0)>(c|0)&(c|0)>-5){b=o+-1|0;l=l+-1-c|0}else{b=o+-2|0;l=l+-1|0}if(!(f&8)){if(p?(F=i[y+-4>>2]|0,(F|0)!=0):0){if(!((F>>>0)%10|0)){s=0;a=10;do{a=a*10|0;s=s+1|0}while(!((F>>>0)%(a>>>0)|0|0))}else s=0}else s=9;a=((y-w>>2)*9|0)+-9|0;if((b|32|0)==102){o=a-s|0;o=(o|0)>0?o:0;l=(l|0)<(o|0)?l:o;break}else{o=a+c-s|0;o=(o|0)>0?o:0;l=(l|0)<(o|0)?l:o;break}}}else b=o}while(0);m=(l|0)!=0;h=m?1:f>>>3&1;v=(b|32|0)==102;if(v){R=0;c=(c|0)>0?c:0}else{a=(c|0)<0?A:c;a=hb(a,((a|0)<0)<<31>>31,z)|0;s=z;if((s-a|0)<2)do{a=a+-1|0;t[a>>0]=48}while((s-a|0)<2);t[a+-1>>0]=(c>>31&2)+43;c=a+-2|0;t[c>>0]=b;R=c;c=s-c|0}c=G+1+l+h+c|0;Zb(n,32,r,c,f);lb(n,U,G);Zb(n,48,r,c,f^65536);if(v){h=d>>>0>k>>>0?k:d;v=g+9|0;d=v;b=g+8|0;s=h;do{a=hb(i[s>>2]|0,0,v)|0;if((s|0)==(h|0)){if((a|0)==(v|0)){t[b>>0]=48;a=b}}else if(a>>>0>g>>>0){dv(g|0,48,a-N|0)|0;do{a=a+-1|0}while(a>>>0>g>>>0)}lb(n,a,d-a|0);s=s+4|0}while(s>>>0<=k>>>0);if(!((f&8|0)==0&(m^1)))lb(n,20282,1);if(s>>>0<y>>>0&(l|0)>0)while(1){a=hb(i[s>>2]|0,0,v)|0;if(a>>>0>g>>>0){dv(g|0,48,a-N|0)|0;do{a=a+-1|0}while(a>>>0>g>>>0)}lb(n,a,(l|0)<9?l:9);s=s+4|0;a=l+-9|0;if(!(s>>>0<y>>>0&(l|0)>9)){l=a;break}else l=a}Zb(n,48,l+9|0,9,0)}else{y=p?y:d+4|0;if(d>>>0<y>>>0&(l|0)>-1){A=g+9|0;m=(f&8|0)==0;p=A;h=0-N|0;v=g+8|0;b=d;do{a=hb(i[b>>2]|0,0,A)|0;if((a|0)==(A|0)){t[v>>0]=48;a=v}do{if((b|0)==(d|0)){s=a+1|0;lb(n,a,1);if(m&(l|0)<1){a=s;break}lb(n,20282,1);a=s}else{if(a>>>0<=g>>>0)break;dv(g|0,48,a+h|0)|0;do{a=a+-1|0}while(a>>>0>g>>>0)}}while(0);N=p-a|0;lb(n,a,(l|0)>(N|0)?N:l);l=l-N|0;b=b+4|0}while(b>>>0<y>>>0&(l|0)>-1)}Zb(n,48,l+18|0,18,0);lb(n,R,z-R|0)}Zb(n,32,r,c,f^8192)}}while(0);$=T;return((c|0)<(r|0)?r:c)|0}function fb(n,e){n=n|0;e=e|0;var r=0.0,t=0;t=(i[e>>2]|0)+(8-1)&~(8-1);r=+c[t>>3];i[e>>2]=t+8;c[n>>3]=r;return}function ob(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0;V=$;$=$+224|0;h=V+208|0;Z=V+160|0;v=V+80|0;m=V;f=Z;o=f+40|0;do{i[f>>2]=0;f=f+4|0}while((f|0)<(o|0));i[h>>2]=i[r>>2];if((cb(0,e,h,v,Z,A,u)|0)<0)r=-1;else{if((i[n+76>>2]|0)>-1)b=Kd(n)|0;else b=0;r=i[n>>2]|0;d=r&32;if((t[n+74>>0]|0)<1)i[n>>2]=r&-33;f=n+48|0;if(!(i[f>>2]|0)){o=n+44|0;c=i[o>>2]|0;i[o>>2]=m;l=n+28|0;i[l>>2]=m;a=n+20|0;i[a>>2]=m;i[f>>2]=80;s=n+16|0;i[s>>2]=m+80;r=cb(n,e,h,v,Z,A,u)|0;if(c){jv[i[n+36>>2]&7](n,0,0)|0;r=(i[a>>2]|0)==0?-1:r;i[o>>2]=c;i[f>>2]=0;i[s>>2]=0;i[l>>2]=0;i[a>>2]=0}}else r=cb(n,e,h,v,Z,A,u)|0;f=i[n>>2]|0;i[n>>2]=f|d;if(b|0)Ld(n);r=(f&32|0)==0?r:-1}$=V;return r|0}function cb(n,e,r,u,f,o,l){n=n|0;e=e|0;r=r|0;u=u|0;f=f|0;o=o|0;l=l|0;var a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0,p=0,y=0,R=0,X=0,w=0,F=0,k=0,U=0,G=0,z=0,N=0,g=0,T=0,M=0,B=0,J=0;B=$;$=$+64|0;g=B+56|0;M=B+40|0;k=B;G=B+48|0;z=B+60|0;i[g>>2]=e;X=(n|0)!=0;w=k+40|0;F=w;k=k+39|0;U=G+4|0;a=0;e=0;d=0;n:while(1){do{do{if((e|0)>-1)if((a|0)>(2147483647-e|0)){i[(Qd()|0)>>2]=61;e=-1;break}else{e=a+e|0;break}}while(0);v=i[g>>2]|0;a=t[v>>0]|0;if(!(a<<24>>24)){R=92;break n}s=v;e:while(1){switch(a<<24>>24){case 37:{R=10;break e}case 0:{a=s;break e}default:{}}y=s+1|0;i[g>>2]=y;a=t[y>>0]|0;s=y}e:do{if((R|0)==10){R=0;a=s;do{if((t[s+1>>0]|0)!=37)break e;a=a+1|0;s=s+2|0;i[g>>2]=s}while((t[s>>0]|0)==37)}}while(0);a=a-v|0;if(X)lb(n,v,a)}while((a|0)!=0);y=(_d(t[(i[g>>2]|0)+1>>0]|0)|0)==0;s=i[g>>2]|0;if(!y?(t[s+2>>0]|0)==36:0){V=(t[s+1>>0]|0)+-48|0;h=1;a=3}else{V=-1;h=d;a=1}a=s+a|0;i[g>>2]=a;s=t[a>>0]|0;d=(s<<24>>24)+-32|0;if(d>>>0>31|(1<<d&75913|0)==0)b=0;else{b=0;do{b=1<<d|b;a=a+1|0;i[g>>2]=a;s=t[a>>0]|0;d=(s<<24>>24)+-32|0}while(!(d>>>0>31|(1<<d&75913|0)==0))}if(s<<24>>24==42){if((_d(t[a+1>>0]|0)|0)!=0?(T=i[g>>2]|0,(t[T+2>>0]|0)==36):0){a=T+1|0;i[f+((t[a>>0]|0)+-48<<2)>>2]=10;a=i[u+((t[a>>0]|0)+-48<<3)>>2]|0;d=1;s=T+3|0}else{if(h|0){e=-1;break}if(X){y=(i[r>>2]|0)+(4-1)&~(4-1);a=i[y>>2]|0;i[r>>2]=y+4}else a=0;d=0;s=(i[g>>2]|0)+1|0}i[g>>2]=s;y=(a|0)<0;p=y?0-a|0:a;b=y?b|8192:b;y=d}else{a=ab(g)|0;if((a|0)<0){e=-1;break}p=a;y=h;s=i[g>>2]|0}do{if((t[s>>0]|0)==46){a=s+1|0;if((t[a>>0]|0)!=42){i[g>>2]=a;a=ab(g)|0;s=i[g>>2]|0;break}if(_d(t[s+2>>0]|0)|0?(N=i[g>>2]|0,(t[N+3>>0]|0)==36):0){a=N+2|0;i[f+((t[a>>0]|0)+-48<<2)>>2]=10;a=i[u+((t[a>>0]|0)+-48<<3)>>2]|0;s=N+4|0;i[g>>2]=s;break}if(y|0){e=-1;break n}if(X){m=(i[r>>2]|0)+(4-1)&~(4-1);a=i[m>>2]|0;i[r>>2]=m+4}else a=0;s=(i[g>>2]|0)+2|0;i[g>>2]=s}else a=-1}while(0);m=0;while(1){if(((t[s>>0]|0)+-65|0)>>>0>57){e=-1;break n}d=s;s=s+1|0;i[g>>2]=s;d=t[(t[d>>0]|0)+-65+(176+(m*58|0))>>0]|0;h=d&255;if((h+-1|0)>>>0>=8)break;else m=h}if(!(d<<24>>24)){e=-1;break}Z=(V|0)>-1;do{if(d<<24>>24==19){if(Z){e=-1;break n}else R=54}else{if(Z){i[f+(V<<2)>>2]=h;Z=u+(V<<3)|0;V=i[Z+4>>2]|0;R=M;i[R>>2]=i[Z>>2];i[R+4>>2]=V;R=54;break}if(!X){e=0;break n}sb(M,h,r,l);s=i[g>>2]|0;R=55}}while(0);if((R|0)==54){R=0;if(X)R=55;else a=0}e:do{if((R|0)==55){R=0;s=t[s+-1>>0]|0;s=(m|0)!=0&(s&15|0)==3?s&-33:s;d=b&-65537;V=(b&8192|0)==0?b:d;r:do{switch(s|0){case 110:switch((m&255)<<24>>24){case 0:{i[i[M>>2]>>2]=e;a=0;break e}case 1:{i[i[M>>2]>>2]=e;a=0;break e}case 2:{a=i[M>>2]|0;i[a>>2]=e;i[a+4>>2]=((e|0)<0)<<31>>31;a=0;break e}case 3:{A[i[M>>2]>>1]=e;a=0;break e}case 4:{t[i[M>>2]>>0]=e;a=0;break e}case 6:{i[i[M>>2]>>2]=e;a=0;break e}case 7:{a=i[M>>2]|0;i[a>>2]=e;i[a+4>>2]=((e|0)<0)<<31>>31;a=0;break e}default:{a=0;break e}}case 112:{s=120;a=a>>>0>8?a:8;d=V|8;R=67;break}case 88:case 120:{d=V;R=67;break}case 111:{Z=M;Z=bb(i[Z>>2]|0,i[Z+4>>2]|0,w)|0;d=F-Z|0;b=0;h=20230;a=(V&8|0)==0|(a|0)>(d|0)?a:d+1|0;d=V;R=73;break}case 105:case 100:{d=M;s=i[d>>2]|0;d=i[d+4>>2]|0;if((d|0)<0){s=tv(0,0,s|0,d|0)|0;d=W()|0;b=M;i[b>>2]=s;i[b+4>>2]=d;b=1;h=20230;R=72;break r}else{b=(V&2049|0)!=0&1;h=(V&2048|0)==0?(V&1|0)==0?20230:20232:20231;R=72;break r}}case 117:{d=M;b=0;h=20230;s=i[d>>2]|0;d=i[d+4>>2]|0;R=72;break}case 99:{t[k>>0]=i[M>>2];v=k;b=0;h=20230;Z=1;s=d;a=F;break}case 115:{m=i[M>>2]|0;m=(m|0)==0?20240:m;V=Ab(m,0,a)|0;J=(V|0)==0;v=m;b=0;h=20230;Z=J?a:V-m|0;s=d;a=J?m+a|0:V;break}case 67:{i[G>>2]=i[M>>2];i[U>>2]=0;i[M>>2]=G;h=-1;R=79;break}case 83:{if(!a){Zb(n,32,p,0,V);a=0;R=89}else{h=a;R=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{a=Ov[o&1](n,+c[M>>3],p,a,V,s)|0;break e}default:{b=0;h=20230;Z=a;s=V;a=F}}}while(0);r:do{if((R|0)==67){Z=M;Z=db(i[Z>>2]|0,i[Z+4>>2]|0,w,s&32)|0;h=M;h=(d&8|0)==0|(i[h>>2]|0)==0&(i[h+4>>2]|0)==0;b=h?0:2;h=h?20230:20230+(s>>>4)|0;R=73}else if((R|0)==72){Z=hb(s,d,w)|0;d=V;R=73}else if((R|0)==79){R=0;b=i[M>>2]|0;a=0;while(1){s=i[b>>2]|0;if(!s)break;s=vb(z,s)|0;d=(s|0)<0;if(d|s>>>0>(h-a|0)>>>0){R=83;break}a=s+a|0;if(h>>>0>a>>>0)b=b+4|0;else break}if((R|0)==83){R=0;if(d){e=-1;break n}}Zb(n,32,p,a,V);if(!a){a=0;R=89}else{d=i[M>>2]|0;b=0;while(1){s=i[d>>2]|0;if(!s){R=89;break r}s=vb(z,s)|0;b=s+b|0;if((b|0)>(a|0)){R=89;break r}lb(n,z,s);if(b>>>0>=a>>>0){R=89;break}else d=d+4|0}}}}while(0);if((R|0)==73){R=0;s=M;s=(i[s>>2]|0)!=0|(i[s+4>>2]|0)!=0;J=(a|0)!=0|s;s=F-Z+((s^1)&1)|0;v=J?Z:w;Z=J?(a|0)>(s|0)?a:s:0;s=(a|0)>-1?d&-65537:d;a=F}else if((R|0)==89){R=0;Zb(n,32,p,a,V^8192);a=(p|0)>(a|0)?p:a;break}V=a-v|0;m=(Z|0)<(V|0)?V:Z;J=m+b|0;a=(p|0)<(J|0)?J:p;Zb(n,32,a,J,s);lb(n,h,b);Zb(n,48,a,J,s^65536);Zb(n,48,m,V,0);lb(n,v,V);Zb(n,32,a,J,s^8192)}}while(0);d=y}n:do{if((R|0)==92)if(!n)if(!d)e=0;else{e=1;while(1){a=i[f+(e<<2)>>2]|0;if(!a)break;sb(u+(e<<3)|0,a,r,l);e=e+1|0;if(e>>>0>=10){e=1;break n}}while(1){if(i[f+(e<<2)>>2]|0){e=-1;break n}e=e+1|0;if(e>>>0>=10){e=1;break}}}}while(0);$=B;return e|0}function lb(n,e,r){n=n|0;e=e|0;r=r|0;if(!(i[n>>2]&32))nb(e,r,n)|0;return}function ab(n){n=n|0;var e=0,r=0;if(!(_d(t[i[n>>2]>>0]|0)|0))e=0;else{e=0;do{r=i[n>>2]|0;e=(e*10|0)+-48+(t[r>>0]|0)|0;r=r+1|0;i[n>>2]=r}while((_d(t[r>>0]|0)|0)!=0)}return e|0}function sb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0.0;n:do{if(e>>>0<=20)do{switch(e|0){case 9:{e=(i[r>>2]|0)+(4-1)&~(4-1);t=i[e>>2]|0;i[r>>2]=e+4;i[n>>2]=t;break n}case 10:{t=(i[r>>2]|0)+(4-1)&~(4-1);e=i[t>>2]|0;i[r>>2]=t+4;t=n;i[t>>2]=e;i[t+4>>2]=((e|0)<0)<<31>>31;break n}case 11:{t=(i[r>>2]|0)+(4-1)&~(4-1);e=i[t>>2]|0;i[r>>2]=t+4;t=n;i[t>>2]=e;i[t+4>>2]=0;break n}case 12:{t=(i[r>>2]|0)+(8-1)&~(8-1);e=t;A=i[e>>2]|0;e=i[e+4>>2]|0;i[r>>2]=t+8;t=n;i[t>>2]=A;i[t+4>>2]=e;break n}case 13:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;t=(t&65535)<<16>>16;A=n;i[A>>2]=t;i[A+4>>2]=((t|0)<0)<<31>>31;break n}case 14:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;A=n;i[A>>2]=t&65535;i[A+4>>2]=0;break n}case 15:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;t=(t&255)<<24>>24;A=n;i[A>>2]=t;i[A+4>>2]=((t|0)<0)<<31>>31;break n}case 16:{A=(i[r>>2]|0)+(4-1)&~(4-1);t=i[A>>2]|0;i[r>>2]=A+4;A=n;i[A>>2]=t&255;i[A+4>>2]=0;break n}case 17:{A=(i[r>>2]|0)+(8-1)&~(8-1);u=+c[A>>3];i[r>>2]=A+8;c[n>>3]=u;break n}case 18:{Hv[t&15](n,r);break n}default:break n}}while(0)}while(0);return}function db(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;if(!((n|0)==0&(e|0)==0))do{r=r+-1|0;t[r>>0]=u[640+(n&15)>>0]|0|A;n=fv(n|0,e|0,4)|0;e=W()|0}while(!((n|0)==0&(e|0)==0));return r|0}function bb(n,e,r){n=n|0;e=e|0;r=r|0;if(!((n|0)==0&(e|0)==0))do{r=r+-1|0;t[r>>0]=n&7|48;n=fv(n|0,e|0,3)|0;e=W()|0}while(!((n|0)==0&(e|0)==0));return r|0}function hb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0,u=0;if(e>>>0>0|(e|0)==0&n>>>0>4294967295){do{A=n;n=uv(n|0,e|0,10,0)|0;i=e;e=W()|0;u=ev(n|0,e|0,10,0)|0;u=tv(A|0,i|0,u|0,W()|0)|0;W()|0;r=r+-1|0;t[r>>0]=u&255|48}while(i>>>0>9|(i|0)==9&A>>>0>4294967295);e=n}else e=n;if(e)do{u=e;e=(e>>>0)/10|0;r=r+-1|0;t[r>>0]=u-(e*10|0)|48}while(u>>>0>=10);return r|0}function Zb(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var i=0,u=0;u=$;$=$+256|0;i=u;if((r|0)>(t|0)&(A&73728|0)==0){A=r-t|0;dv(i|0,e<<24>>24|0,(A>>>0<256?A:256)|0)|0;if(A>>>0>255){e=r-t|0;do{lb(n,i,256);A=A+-256|0}while(A>>>0>255);A=e&255}lb(n,i,A)}$=u;return}function vb(n,e){n=n|0;e=e|0;if(!n)n=0;else n=mb(n,e,0)|0;return n|0}function mb(n,e,r){n=n|0;e=e|0;r=r|0;do{if(n){if(e>>>0<128){t[n>>0]=e;n=1;break}if(!(i[i[(Vb()|0)+176>>2]>>2]|0))if((e&-128|0)==57216){t[n>>0]=e;n=1;break}else{i[(Qd()|0)>>2]=25;n=-1;break}if(e>>>0<2048){t[n>>0]=e>>>6|192;t[n+1>>0]=e&63|128;n=2;break}if(e>>>0<55296|(e&-8192|0)==57344){t[n>>0]=e>>>12|224;t[n+1>>0]=e>>>6&63|128;t[n+2>>0]=e&63|128;n=3;break}if((e+-65536|0)>>>0<1048576){t[n>>0]=e>>>18|240;t[n+1>>0]=e>>>12&63|128;t[n+2>>0]=e>>>6&63|128;t[n+3>>0]=e&63|128;n=4;break}else{i[(Qd()|0)>>2]=25;n=-1;break}}else n=1}while(0);return n|0}function Vb(){return Dd()|0}function pb(n){n=+n;var e=0;c[l>>3]=n;e=i[l>>2]|0;R(i[l+4>>2]|0);return e|0}function yb(n,e){n=+n;e=e|0;var r=0,t=0,A=0;c[l>>3]=n;r=i[l>>2]|0;t=i[l+4>>2]|0;A=fv(r|0,t|0,52)|0;W()|0;switch(A&2047){case 0:{if(n!=0.0){n=+yb(n*18446744073709551616.0,e);r=(i[e>>2]|0)+-64|0}else r=0;i[e>>2]=r;break}case 2047:break;default:{i[e>>2]=(A&2047)+-1022;i[l>>2]=r;i[l+4>>2]=t&-2146435073|1071644672;n=+c[l>>3]}}return+n}function Rb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,i=0;n:do{if(!r)n=0;else{while(1){A=t[n>>0]|0;i=t[e>>0]|0;if(A<<24>>24!=i<<24>>24)break;r=r+-1|0;if(!r){n=0;break n}else{n=n+1|0;e=e+1|0}}n=(A&255)-(i&255)|0}}while(0);return n|0}function Wb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;A=$;$=$+16|0;u=A;i[u>>2]=t;t=Xb(n,e,r,u)|0;$=A;return t|0}function Xb(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0,o=0,c=0;c=$;$=$+160|0;u=c+144|0;o=c;av(o|0,3672,144)|0;if((e+-1|0)>>>0>2147483646){if(!e){n=u;e=1;f=4}else{i[(Qd()|0)>>2]=61;e=-1}}else f=4;if((f|0)==4){f=-2-n|0;f=e>>>0>f>>>0?f:e;i[o+48>>2]=f;u=o+20|0;i[u>>2]=n;i[o+44>>2]=n;e=n+f|0;n=o+16|0;i[n>>2]=e;i[o+28>>2]=e;e=ib(o,r,A)|0;if(f){o=i[u>>2]|0;t[o+(((o|0)==(i[n>>2]|0))<<31>>31)>>0]=0}}$=c;return e|0}function wb(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;t=n+20|0;A=i[t>>2]|0;n=(i[n+16>>2]|0)-A|0;n=n>>>0>r>>>0?r:n;av(A|0,e|0,n|0)|0;i[t>>2]=(i[t>>2]|0)+n;return r|0}function Fb(n){n=n|0;var e=0,r=0;e=($d(n)|0)+1|0;r=DZ(e)|0;if(!r)n=0;else n=av(r|0,n|0,e|0)|0;return n|0}function kb(n,e){n=n|0;e=e|0;var r=0,A=0;r=0;while(1){if((u[656+r>>0]|0)==(n|0)){A=4;break}r=r+1|0;if((r|0)==87){n=87;A=5;break}}if((A|0)==4)if(!r)r=752;else{n=r;A=5}if((A|0)==5){r=752;do{do{A=r;r=r+1|0}while((t[A>>0]|0)!=0);n=n+-1|0}while((n|0)!=0)}return Ub(r,i[e+20>>2]|0)|0}function Ub(n,e){n=n|0;e=e|0;return eb(n,e)|0}function Gb(n){n=n|0;return kb(n,i[(zb()|0)+176>>2]|0)|0}function zb(){return Dd()|0}function Nb(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;A=Gb(n)|0;n=$d(A)|0;if(n>>>0>=r>>>0){n=r+-1|0;if(!r)n=68;else{av(e|0,A|0,n|0)|0;t[e+n>>0]=0;n=68}}else{av(e|0,A|0,n+1|0)|0;n=0}return n|0}function gb(){var n=0,e=0,r=0,t=0,A=0,u=0,f=0;t=$;$=$+48|0;u=t+32|0;e=t+24|0;f=t+16|0;A=t;t=t+36|0;n=Tb()|0;if(n|0?(r=i[n>>2]|0,r|0):0){n=r+48|0;if(!(Mb(n)|0)){i[e>>2]=20420;Jb(20370,e)}e=Bb(n)|0;if((e|0)==1126902529&(W()|0)==1129074247)n=i[r+44>>2]|0;else n=r+80|0;i[t>>2]=n;r=i[r>>2]|0;n=i[r+4>>2]|0;if(jv[i[(i[954]|0)+16>>2]&7](3816,r,t)|0){f=i[t>>2]|0;f=xv[i[(i[f>>2]|0)+8>>2]&15](f)|0;i[A>>2]=20420;i[A+4>>2]=n;i[A+8>>2]=f;Jb(20284,A)}else{i[f>>2]=20420;i[f+4>>2]=n;Jb(20329,f)}}Jb(20408,u)}function Tb(){return 21640}function Mb(n){n=n|0;n=Bb(n)|0;return(n&-256|0)==1126902528&(W()|0)==1129074247|0}function Bb(n){n=n|0;var e=0;e=n;n=i[e>>2]|0;R(i[e+4>>2]|0);return n|0}function Jb(n,e){n=n|0;e=e|0;P()}function Yb(n){n=n|0;return}function Eb(n){n=n|0;Yb(n);nh(n);return}function xb(n){n=n|0;return}function Ob(n){n=n|0;return}function Cb(n,e,r){n=n|0;e=e|0;r=r|0;var u=0,f=0,o=0,c=0,l=0,a=0;a=$;$=$+64|0;c=a;if(!(Hb(n,e,0)|0)){if((e|0)!=0?(l=Pb(e,3840,3824,0)|0,(l|0)!=0):0){i[c>>2]=l;i[c+4>>2]=0;i[c+8>>2]=n;i[c+12>>2]=-1;n=c+16|0;e=c+24|0;u=c+48|0;f=n;o=f+36|0;do{i[f>>2]=0;f=f+4|0}while((f|0)<(o|0));A[n+36>>1]=0;t[n+38>>0]=0;i[u>>2]=1;_v[i[(i[l>>2]|0)+28>>2]&7](l,c,i[r>>2]|0,1);if((i[e>>2]|0)==1){i[r>>2]=i[n>>2];n=1}else n=0}else n=0}else n=1;$=a;return n|0}function jb(n,e,r,t,A,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;u=u|0;if(Hb(n,i[e+8>>2]|0,u)|0)Db(0,e,r,t,A);return}function Ib(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0;do{if(!(Hb(n,i[e+8>>2]|0,u)|0)){if(Hb(n,i[e>>2]|0,u)|0){if((i[e+16>>2]|0)!=(r|0)?(f=e+20|0,(i[f>>2]|0)!=(r|0)):0){i[e+32>>2]=A;i[f>>2]=r;u=e+40|0;i[u>>2]=(i[u>>2]|0)+1;if((i[e+36>>2]|0)==1?(i[e+24>>2]|0)==2:0)t[e+54>>0]=1;i[e+44>>2]=4;break}if((A|0)==1)i[e+32>>2]=1}}else _b(0,e,r,A)}while(0);return}function Sb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;if(Hb(n,i[e+8>>2]|0,0)|0)Qb(0,e,r,t);return}function Hb(n,e,r){n=n|0;e=e|0;r=r|0;if(r){if((n|0)==(e|0))n=1;else n=(Pd(i[n+4>>2]|0,i[e+4>>2]|0)|0)==0}else n=(i[n+4>>2]|0)==(i[e+4>>2]|0);return n|0}function Qb(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0;n=e+16|0;u=i[n>>2]|0;do{if(u){if((u|0)!=(r|0)){A=e+36|0;i[A>>2]=(i[A>>2]|0)+1;i[e+24>>2]=2;t[e+54>>0]=1;break}n=e+24|0;if((i[n>>2]|0)==2)i[n>>2]=A}else{i[n>>2]=r;i[e+24>>2]=A;i[e+36>>2]=1}}while(0);return}function _b(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0;if((i[e+4>>2]|0)==(r|0)?(A=e+28|0,(i[A>>2]|0)!=1):0)i[A>>2]=t;return}function Db(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;t[e+53>>0]=1;do{if((i[e+4>>2]|0)==(A|0)){t[e+52>>0]=1;n=e+16|0;A=i[n>>2]|0;if(!A){i[n>>2]=r;i[e+24>>2]=u;i[e+36>>2]=1;if(!((u|0)==1?(i[e+48>>2]|0)==1:0))break;t[e+54>>0]=1;break}if((A|0)!=(r|0)){u=e+36|0;i[u>>2]=(i[u>>2]|0)+1;t[e+54>>0]=1;break}A=e+24|0;n=i[A>>2]|0;if((n|0)==2){i[A>>2]=u;n=u}if((n|0)==1?(i[e+48>>2]|0)==1:0)t[e+54>>0]=1}}while(0);return}function Pb(n,e,r,u){n=n|0;e=e|0;r=r|0;u=u|0;var f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;h=$;$=$+64|0;d=h;s=i[n>>2]|0;b=n+(i[s+-8>>2]|0)|0;s=i[s+-4>>2]|0;i[d>>2]=r;i[d+4>>2]=n;i[d+8>>2]=e;i[d+12>>2]=u;n=d+16|0;e=d+20|0;u=d+24|0;f=d+28|0;o=d+32|0;c=d+40|0;l=n;a=l+36|0;do{i[l>>2]=0;l=l+4|0}while((l|0)<(a|0));A[n+36>>1]=0;t[n+38>>0]=0;n:do{if(Hb(s,r,0)|0){i[d+48>>2]=1;Pv[i[(i[s>>2]|0)+20>>2]&3](s,d,b,b,1,0);n=(i[u>>2]|0)==1?b:0}else{Dv[i[(i[s>>2]|0)+24>>2]&3](s,d,b,1,0);switch(i[d+36>>2]|0){case 0:{n=(i[c>>2]|0)==1&(i[f>>2]|0)==1&(i[o>>2]|0)==1?i[e>>2]|0:0;break n}case 1:break;default:{n=0;break n}}if((i[u>>2]|0)!=1?!((i[c>>2]|0)==0&(i[f>>2]|0)==1&(i[o>>2]|0)==1):0){n=0;break}n=i[n>>2]|0}}while(0);$=h;return n|0}function $b(n){n=n|0;Yb(n);nh(n);return}function Lb(n,e,r,t,A,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;u=u|0;if(Hb(n,i[e+8>>2]|0,u)|0)Db(0,e,r,t,A);else{n=i[n+8>>2]|0;Pv[i[(i[n>>2]|0)+20>>2]&3](n,e,r,t,A,u)}return}function Kb(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0,c=0;n:do{if(!(Hb(n,i[e+8>>2]|0,u)|0)){if(!(Hb(n,i[e>>2]|0,u)|0)){o=i[n+8>>2]|0;Dv[i[(i[o>>2]|0)+24>>2]&3](o,e,r,A,u);break}if((i[e+16>>2]|0)!=(r|0)?(o=e+20|0,(i[o>>2]|0)!=(r|0)):0){i[e+32>>2]=A;A=e+44|0;do{if((i[A>>2]|0)!=4){f=e+52|0;t[f>>0]=0;c=e+53|0;t[c>>0]=0;n=i[n+8>>2]|0;Pv[i[(i[n>>2]|0)+20>>2]&3](n,e,r,r,1,u);if(t[c>>0]|0){c=(t[f>>0]|0)==0;i[A>>2]=3;if(c)break;else break n}else{i[A>>2]=4;break}}}while(0);i[o>>2]=r;c=e+40|0;i[c>>2]=(i[c>>2]|0)+1;if((i[e+36>>2]|0)!=1)break;if((i[e+24>>2]|0)!=2)break;t[e+54>>0]=1;break}if((A|0)==1)i[e+32>>2]=1}else _b(0,e,r,A)}while(0);return}function qb(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;if(Hb(n,i[e+8>>2]|0,0)|0)Qb(0,e,r,t);else{n=i[n+8>>2]|0;_v[i[(i[n>>2]|0)+28>>2]&7](n,e,r,t)}return}function nh(n){n=n|0;PZ(n);return}function eh(n){n|0;return}function rh(){var n=0,e=0;Tb()|0;if((n|0?(i[n>>2]|0,e|0):0)?Mb(e+48|0)|0:0)th(i[e+12>>2]|0);th(Ah()|0)}function th(n){n|0;var e=0;$;$=$+16|0;Iv[n&3]();Jb(20559,e)}function Ah(){return 2}function ih(n){n=n|0;return}function uh(n){n=n|0;nh(n);return}function fh(n){n=n|0;return 20599}function oh(n){n=n|0;i[n>>2]=5916;sh(n+4|0);return}function ch(n){n=n|0;oh(n);nh(n);return}function lh(n){n=n|0;return ah(n+4|0)|0}function ah(n){n=n|0;return i[n>>2]|0}function sh(n){n=n|0;var e=0,r=0;if(dh(n)|0?(e=bh(i[n>>2]|0)|0,r=e+8|0,n=i[r>>2]|0,i[r>>2]=n+-1,(n|0)<1):0)nh(e);return}function dh(n){n=n|0;return 1}function bh(n){n=n|0;return n+-12|0}function hh(n){n=n|0;i[n>>2]=5936;sh(n+4|0);return}function Zh(n){n=n|0;hh(n);nh(n);return}function vh(n){n=n|0;return ah(n+4|0)|0}function mh(n){n=n|0;oh(n);nh(n);return}function Vh(n){n=n|0;oh(n);nh(n);return}function ph(){var n=0;n=$;$=$+16|0;Jb(20848,n)}function yh(n){n=n|0;Yb(n);nh(n);return}function Rh(n,e,r){n=n|0;e=e|0;r=r|0;return Hb(n,e,0)|0}function Wh(n){n=n|0;Yb(n);nh(n);return}function Xh(n,e,r){n=n|0;e=e|0;r=r|0;var u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0;d=$;$=$+64|0;a=d;do{if(!(Hb(e,4048,0)|0)){if(wh(n,e,0)|0){e=i[r>>2]|0;if(!e){e=1;break}i[r>>2]=i[e>>2];e=1;break}if((e|0)!=0?(u=Pb(e,3840,3976,0)|0,(u|0)!=0):0){e=i[r>>2]|0;if(e|0)i[r>>2]=i[e>>2];e=i[u+8>>2]|0;o=n+8|0;f=i[o>>2]|0;if((e&7&(f^7)|0)==0?((e&96^96)&f|0)==0:0){f=n+12|0;n=i[f>>2]|0;u=u+12|0;e=i[u>>2]|0;if(!(Hb(n,e,0)|0)){if(Hb(n,4040,0)|0){if(!e){e=1;break}e=(Pb(e,3840,3992,0)|0)==0;break}if(n){e=Pb(n,3840,3976,0)|0;if(e|0){if(!(i[o>>2]&1)){e=0;break}e=Fh(e,i[u>>2]|0)|0;break}e=i[f>>2]|0;if(e){e=Pb(e,3840,4008,0)|0;if(e|0){if(!(i[o>>2]&1)){e=0;break}e=kh(e,i[u>>2]|0)|0;break}e=i[f>>2]|0;if((((e|0)!=0?(c=Pb(e,3840,3824,0)|0,(c|0)!=0):0)?(l=i[u>>2]|0,(l|0)!=0):0)?(s=Pb(l,3840,3824,0)|0,(s|0)!=0):0){i[a>>2]=s;i[a+4>>2]=0;i[a+8>>2]=c;i[a+12>>2]=-1;e=a+16|0;n=a+24|0;u=a+48|0;f=e;o=f+36|0;do{i[f>>2]=0;f=f+4|0}while((f|0)<(o|0));A[e+36>>1]=0;t[e+38>>0]=0;i[u>>2]=1;_v[i[(i[s>>2]|0)+28>>2]&7](s,a,i[r>>2]|0,1);do{if((i[n>>2]|0)==1){if(!(i[r>>2]|0)){e=1;break}i[r>>2]=i[e>>2];e=1}else e=0}while(0)}else e=0}else e=0}else e=0}else e=1}else e=0}else e=0}else{i[r>>2]=0;e=1}}while(0);$=d;return e|0}function wh(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;if(!(i[n+8>>2]&24)){if((e|0)!=0?(t=Pb(e,3840,3960,0)|0,(t|0)!=0):0){r=(i[t+8>>2]&24|0)!=0;A=5}else r=0}else{r=1;A=5}if((A|0)==5)r=Hb(n,e,r)|0;return r|0}function Fh(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,u=0,f=0;while(1){if(!e){e=0;break}r=Pb(e,3840,3976,0)|0;if(!r){e=0;break}A=i[n+8>>2]|0;if(i[r+8>>2]&~A|0){e=0;break}t=n+12|0;e=i[t>>2]|0;r=r+12|0;if(Hb(e,i[r>>2]|0,0)|0){e=1;break}if((A&1|0)==0|(e|0)==0){e=0;break}n=Pb(e,3840,3976,0)|0;if(!n){f=9;break}e=i[r>>2]|0}if((f|0)==9){e=i[t>>2]|0;if((e|0)!=0?(u=Pb(e,3840,4008,0)|0,(u|0)!=0):0)e=kh(u,i[r>>2]|0)|0;else e=0}return e|0}function kh(n,e){n=n|0;e=e|0;var r=0;if((((e|0)!=0?(r=Pb(e,3840,4008,0)|0,(r|0)!=0):0)?(i[r+8>>2]&~i[n+8>>2]|0)==0:0)?Hb(i[n+12>>2]|0,i[r+12>>2]|0,0)|0:0)n=Hb(i[n+16>>2]|0,i[r+16>>2]|0,0)|0;else n=0;return n|0}function Uh(n){n=n|0;Yb(n);nh(n);return}function Gh(n,e,r,A,u,f){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;f=f|0;var o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0;if(Hb(n,i[e+8>>2]|0,f)|0)Db(0,e,r,A,u);else{v=e+52|0;c=t[v>>0]|0;Z=e+53|0;o=t[Z>>0]|0;h=i[n+12>>2]|0;s=n+16+(h<<3)|0;t[v>>0]=0;t[Z>>0]=0;Th(n+16|0,e,r,A,u,f);l=t[v>>0]|0;c=l|c;a=t[Z>>0]|0;o=a|o;n:do{if((h|0)>1){d=e+24|0;b=n+8|0;h=e+54|0;n=n+24|0;do{o=o&1;c=c&1;if(t[h>>0]|0)break n;if(!(l<<24>>24)){if(a<<24>>24?(i[b>>2]&1|0)==0:0)break n}else{if((i[d>>2]|0)==1)break n;if(!(i[b>>2]&2))break n}t[v>>0]=0;t[Z>>0]=0;Th(n,e,r,A,u,f);l=t[v>>0]|0;c=l|c;a=t[Z>>0]|0;o=a|o;n=n+8|0}while(n>>>0<s>>>0)}}while(0);t[v>>0]=c<<24>>24!=0&1;t[Z>>0]=o<<24>>24!=0&1}return}function zh(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;n:do{if(!(Hb(n,i[e+8>>2]|0,u)|0)){if(!(Hb(n,i[e>>2]|0,u)|0)){h=i[n+12>>2]|0;l=n+16+(h<<3)|0;Mh(n+16|0,e,r,A,u);f=n+24|0;if((h|0)<=1)break;n=i[n+8>>2]|0;if((n&2|0)==0?(c=e+36|0,(i[c>>2]|0)!=1):0){if(!(n&1)){n=e+54|0;while(1){if(t[n>>0]|0)break n;if((i[c>>2]|0)==1)break n;Mh(f,e,r,A,u);f=f+8|0;if(f>>>0>=l>>>0)break n}}n=e+24|0;o=e+54|0;while(1){if(t[o>>0]|0)break n;if((i[c>>2]|0)==1?(i[n>>2]|0)==1:0)break n;Mh(f,e,r,A,u);f=f+8|0;if(f>>>0>=l>>>0)break n}}n=e+54|0;while(1){if(t[n>>0]|0)break n;Mh(f,e,r,A,u);f=f+8|0;if(f>>>0>=l>>>0)break n}}if((i[e+16>>2]|0)!=(r|0)?(h=e+20|0,(i[h>>2]|0)!=(r|0)):0){i[e+32>>2]=A;b=e+44|0;if((i[b>>2]|0)!=4){c=n+16+(i[n+12>>2]<<3)|0;l=e+52|0;A=e+53|0;a=e+54|0;s=n+8|0;d=e+24|0;f=0;o=n+16|0;n=0;e:while(1){if(o>>>0>=c>>>0){o=18;break}t[l>>0]=0;t[A>>0]=0;Th(o,e,r,r,1,u);if(t[a>>0]|0){o=18;break}do{if(t[A>>0]|0){if(!(t[l>>0]|0))if(!(i[s>>2]&1)){o=19;break e}else{n=1;break}if((i[d>>2]|0)==1){f=1;o=19;break e}if(!(i[s>>2]&2)){f=1;o=19;break e}else{f=1;n=1}}}while(0);o=o+8|0}if((o|0)==18)if(n)o=19;else n=4;if((o|0)==19)n=3;i[b>>2]=n;if(f&1)break}i[h>>2]=r;r=e+40|0;i[r>>2]=(i[r>>2]|0)+1;if((i[e+36>>2]|0)!=1)break;if((i[e+24>>2]|0)!=2)break;t[e+54>>0]=1;break}if((A|0)==1)i[e+32>>2]=1}else _b(0,e,r,A)}while(0);return}function Nh(n,e,r,A){n=n|0;e=e|0;r=r|0;A=A|0;var u=0,f=0;n:do{if(!(Hb(n,i[e+8>>2]|0,0)|0)){f=i[n+12>>2]|0;u=n+16+(f<<3)|0;gh(n+16|0,e,r,A);if((f|0)>1){f=e+54|0;n=n+24|0;do{gh(n,e,r,A);if(t[f>>0]|0)break n;n=n+8|0}while(n>>>0<u>>>0)}}else Qb(0,e,r,A)}while(0);return}function gh(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,u=0;u=i[n+4>>2]|0;if(r){A=u>>8;if(u&1)A=i[(i[r>>2]|0)+A>>2]|0}else A=0;n=i[n>>2]|0;_v[i[(i[n>>2]|0)+28>>2]&7](n,e,r+A|0,(u&2|0)==0?2:t);return}function Th(n,e,r,t,A,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;u=u|0;var f=0,o=0;o=i[n+4>>2]|0;f=o>>8;if(o&1)f=i[(i[t>>2]|0)+f>>2]|0;n=i[n>>2]|0;Pv[i[(i[n>>2]|0)+20>>2]&3](n,e,r,t+f|0,(o&2|0)==0?2:A,u);return}function Mh(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0,f=0;f=i[n+4>>2]|0;u=f>>8;if(f&1)u=i[(i[r>>2]|0)+u>>2]|0;n=i[n>>2]|0;Dv[i[(i[n>>2]|0)+24>>2]&3](n,e,r+u|0,(f&2|0)==0?2:t,A);return}function Bh(n){n=n|0;i[n>>2]=5896;return}function Jh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;Yh(r,n);n=Eh(r)|0;$=e;return n|0}function Yh(n,e){n=n|0;e=e|0;Ih(n,e);return}function Eh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;xh(r,i[n+4>>2]|0);if(!((Oh(r)|0)<<24>>24))n=jh(Ch(n)|0)|0;else n=0;$=e;return n|0}function xh(n,e){n=n|0;e=e|0;i[n>>2]=e;return}function Oh(n){n=n|0;return t[i[n>>2]>>0]|0}function Ch(n){n=n|0;return n|0}function jh(n){n=n|0;var e=0,r=0,A=0,u=0;u=$;$=$+16|0;A=u;n=i[n+8>>2]|0;e=t[n>>0]|0;do{if(e<<24>>24!=1){if(!(e&2)){t[n>>0]=2;r=1;break}else Jb(20985,A)}else r=0}while(0);$=u;return r|0}function Ih(n,e){n=n|0;e=e|0;i[n>>2]=e;i[n+4>>2]=e;i[n+8>>2]=e+1;i[n+12>>2]=0;return}function Sh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;Yh(r,n);Hh(r);$=e;return}function Hh(n){n=n|0;var e=0,r=0;e=$;$=$+16|0;r=e;xh(r,i[n+4>>2]|0);Qh(r);_h(Ch(n)|0);$=e;return}function Qh(n){n=n|0;t[i[n>>2]>>0]=1;return}function _h(n){n=n|0;t[i[n+8>>2]>>0]=1;return}function Dh(){return 0}function Ph(n){n=n|0;var e=0,r=0;r=(n|0)==0?1:n;while(1){e=DZ(r)|0;if(e|0){n=6;break}n=Dh()|0;if(!n){n=5;break}Iv[n&3]()}if((n|0)==5){r=X(4)|0;Bh(r);F(r|0,3880,121)}else if((n|0)==6)return e|0;return 0}function $h(n){n=n|0;return Ph(n)|0}function Lh(n){n=n|0;nh(n);return}function Kh(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=$;$=$+16|0;t=A;i[t>>2]=i[r>>2];n=jv[i[(i[n>>2]|0)+16>>2]&7](n,e,t)|0;if(n)i[r>>2]=i[t>>2];$=A;return n&1|0}function qh(n){n=n|0;if(!n)n=0;else n=(Pb(n,3840,3976,0)|0)!=0&1;return n|0}function nZ(n){n=n|0;return 0}function eZ(){return(rZ()|0)>0|0}function rZ(){return k()|0}function tZ(n){n=n|0;return}function AZ(n){n=n|0;tZ(n);nh(n);return}function iZ(n){n=n|0;return 21039}function uZ(n){n=n|0;return}function fZ(n){n=n|0;var e=0,r=0;e=n+8|0;if(!((i[e>>2]|0)!=0?(r=i[e>>2]|0,i[e>>2]=r+-1,(r|0)!=0):0))Sv[i[(i[n>>2]|0)+16>>2]&255](n);return}function oZ(n){n=n|0;n=nZ(n)|0;if(!n)return;else QZ(n,21145)}function cZ(n){n=n|0;return}function lZ(n,e){n=n|0;e=e|0;var r=0,t=0;t=$d(e)|0;r=Ph(t+13|0)|0;i[r>>2]=t;i[r+4>>2]=t;i[r+8>>2]=0;r=aZ(r)|0;av(r|0,e|0,t+1|0)|0;i[n>>2]=r;return}function aZ(n){n=n|0;return n+12|0}function sZ(n,e){n=n|0;e=e|0;i[n>>2]=5916;lZ(n+4|0,e);return}function dZ(n,e){n=n|0;e=e|0;i[n>>2]=5936;lZ(n+4|0,(t[e+11>>0]|0)<0?i[e>>2]|0:e);return}function bZ(n,e){n=n|0;e=e|0;i[n>>2]=5936;lZ(n+4|0,e);return}function hZ(n){n=n|0;n=X(8)|0;sZ(n,21163);i[n>>2]=5956;F(n|0,3928,123)}function ZZ(n){n=n|0;n=X(8)|0;sZ(n,21163);i[n>>2]=5976;F(n|0,3944,123)}function vZ(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0;u=$;$=$+16|0;A=u;if(r>>>0>4294967279)hZ(n);if(r>>>0<11)t[n+11>>0]=r;else{o=r+16&-16;f=Ph(o)|0;i[n>>2]=f;i[n+8>>2]=o|-2147483648;i[n+4>>2]=r;n=f}mZ(n,e,r)|0;t[A>>0]=0;ie(n+r|0,A);$=u;return}function mZ(n,e,r){n=n|0;e=e|0;r=r|0;if(r|0)av(n|0,e|0,r|0)|0;return n|0}function VZ(n){n=n|0;if((t[n+11>>0]|0)<0)yn(i[n>>2]|0,i[n+8>>2]&2147483647);return}function pZ(n,e,r,A,u,f,o,c){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;f=f|0;o=o|0;c=c|0;var l=0,a=0,s=0,d=0,b=0;b=$;$=$+16|0;d=b;if((-18-e|0)>>>0<r>>>0)hZ(n);if((t[n+11>>0]|0)<0)s=i[n>>2]|0;else s=n;if(e>>>0<2147483623){l=r+e|0;a=e<<1;l=l>>>0<a>>>0?a:l;l=l>>>0<11?11:l+16&-16}else l=-17;a=Ph(l)|0;if(u|0)mZ(a,s,u)|0;if(o|0)mZ(a+u|0,c,o)|0;A=A-f|0;r=A-u|0;if(r|0)mZ(a+u+o|0,s+u+f|0,r)|0;r=e+1|0;if((r|0)!=11)yn(s,r);i[n>>2]=a;i[n+8>>2]=l|-2147483648;o=A+o|0;i[n+4>>2]=o;t[d>>0]=0;ie(a+o|0,d);$=b;return}function yZ(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0,c=0,l=0;l=$;$=$+16|0;o=l;c=n+11|0;A=t[c>>0]|0;f=A<<24>>24<0;if(f){u=(i[n+8>>2]&2147483647)+-1|0;A=i[n+4>>2]|0}else{u=10;A=A&255}if((u-A|0)>>>0>=r>>>0){if(r|0){if(f)u=i[n>>2]|0;else u=n;mZ(u+A|0,e,r)|0;A=A+r|0;if((t[c>>0]|0)<0)i[n+4>>2]=A;else t[c>>0]=A;t[o>>0]=0;ie(u+A|0,o)}}else pZ(n,u,A+r-u|0,A,A,0,r,e);$=l;return n|0}function RZ(n,e){n=n|0;e=e|0;return yZ(n,e,te(e)|0)|0}function WZ(n,e,r){n=n|0;e=e|0;r=r|0;if(!r)n=0;else n=Rb(n,e,r)|0;return n|0}function XZ(n,e,r,A,u){n=n|0;e=e|0;r=r|0;A=A|0;u=u|0;var f=0,o=0;f=t[n+11>>0]|0;o=f<<24>>24<0;if(o)f=i[n+4>>2]|0;else f=f&255;if((u|0)==-1|f>>>0<e>>>0)ZZ(n);f=f-e|0;r=f>>>0<r>>>0?f:r;if(o)n=i[n>>2]|0;f=r>>>0>u>>>0;n=WZ(n+e|0,A,f?u:r)|0;if(!n)return(r>>>0<u>>>0?-1:f&1)|0;else return n|0;return 0}function wZ(n){n=n|0;return}function FZ(n){n=n|0;nh(n);return}function kZ(n){n=n|0;return 21228}function UZ(n,e,r){n=n|0;e=e|0;r=r|0;i[n>>2]=r;i[n+4>>2]=e;return}function GZ(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0;A=$;$=$+16|0;t=A;Qv[i[(i[n>>2]|0)+12>>2]&15](t,n,e);if((i[t+4>>2]|0)==(i[r+4>>2]|0))n=(i[t>>2]|0)==(i[r>>2]|0);else n=0;$=A;return n|0}function zZ(n,e,r){n=n|0;e=e|0;r=r|0;return((i[e>>2]|0)==(r|0)?(i[e+4>>2]|0)==(n|0):0)|0}function NZ(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)>256)vZ(n,21176,te(21176)|0);else gZ(n,0,r);return}function gZ(n,e,r){n=n|0;e=e|0;r=r|0;TZ(n,r);return}function TZ(n,e){n=n|0;e=e|0;var r=0,A=0,u=0,f=0,o=0;o=$;$=$+1040|0;u=o+1024|0;r=o;f=i[(Qd()|0)>>2]|0;A=MZ(Nb(e,r,1024)|0,r)|0;if(!(t[A>>0]|0)){i[u>>2]=e;Wb(r,1024,21211,u)|0}else r=A;i[(Qd()|0)>>2]=f;vZ(n,r,te(r)|0);$=o;return}function MZ(n,e){n=n|0;e=e|0;var r=0,t=0;switch(n|0){case 0:{r=e;break}case-1:{n=i[(Qd()|0)>>2]|0;t=3;break}default:t=3}if((t|0)==3)if((n|0)==28)r=22145;else S();return r|0}function BZ(n){n=n|0;nh(n);return}function JZ(n){n=n|0;return 21353}function YZ(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)>256){xZ()|0;e=6180}else{OZ()|0;e=6176}i[n>>2]=r;i[n+4>>2]=e;return}function EZ(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)>256)vZ(n,21319,te(21319)|0);else gZ(n,0,r);return}function xZ(){if((t[21488]|0)==0?Jh(21488)|0:0)Sh(21488);return 6180}function OZ(){if((t[21480]|0)==0?Jh(21480)|0:0)Sh(21480);return 6176}function CZ(n){n=n|0;hh(n);return}function jZ(n){n=n|0;CZ(n);nh(n);return}function IZ(n,e){n=n|0;e=e|0;var r=0;r=i[e+4>>2]|0;Qv[i[(i[r>>2]|0)+24>>2]&15](n,r,i[e>>2]|0);return}function SZ(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;f=$;$=$+16|0;u=f;if(i[e>>2]|0){A=t[r+11>>0]|0;if(A<<24>>24<0)A=i[r+4>>2]|0;else A=A&255;if(A|0)RZ(r,21417)|0;IZ(u,e);e=t[u+11>>0]|0;A=e<<24>>24<0;yZ(r,A?i[u>>2]|0:u,A?i[u+4>>2]|0:e&255)|0;VZ(u)}i[n>>2]=i[r>>2];i[n+4>>2]=i[r+4>>2];i[n+8>>2]=i[r+8>>2];A=0;while(1){if((A|0)==3)break;i[r+(A<<2)>>2]=0;A=A+1|0}$=f;return}function HZ(n,e,r){n=n|0;e=e|0;r=r|0;var t=0,A=0,u=0;t=$;$=$+32|0;u=t+12|0;A=t;vZ(A,r,te(r)|0);SZ(u,e,A);dZ(n,u);VZ(u);VZ(A);i[n>>2]=6192;A=e;e=i[A+4>>2]|0;r=n+8|0;i[r>>2]=i[A>>2];i[r+4>>2]=e;$=t;return}function QZ(n,e){n=n|0;e=e|0;var r=0,t=0,A=0;A=$;$=$+16|0;t=A+8|0;r=X(16)|0;xZ()|0;i[A>>2]=n;i[A+4>>2]=6180;i[t>>2]=i[A>>2];i[t+4>>2]=i[A+4>>2];HZ(r,t,e);F(r|0,4272,136)}function _Z(n){n=n|0;n=X(8)|0;sZ(n,21420);i[n>>2]=5956;F(n|0,3928,123)}function DZ(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0,Z=0,v=0,m=0,V=0,p=0,y=0,R=0;R=$;$=$+16|0;d=R;do{if(n>>>0<245){l=n>>>0<11?16:n+11&-8;n=l>>>3;s=i[5412]|0;r=s>>>n;if(r&3|0){e=(r&1^1)+n|0;n=21688+(e<<1<<2)|0;r=n+8|0;t=i[r>>2]|0;A=t+8|0;u=i[A>>2]|0;if((u|0)==(n|0))i[5412]=s&~(1<<e);else{i[u+12>>2]=n;i[r>>2]=u}y=e<<3;i[t+4>>2]=y|3;y=t+y+4|0;i[y>>2]=i[y>>2]|1;y=A;$=R;return y|0}a=i[5414]|0;if(l>>>0>a>>>0){if(r|0){e=2<<n;e=r<<n&(e|0-e);e=(e&0-e)+-1|0;o=e>>>12&16;e=e>>>o;r=e>>>5&8;e=e>>>r;u=e>>>2&4;e=e>>>u;n=e>>>1&2;e=e>>>n;t=e>>>1&1;t=(r|o|u|n|t)+(e>>>t)|0;e=21688+(t<<1<<2)|0;n=e+8|0;u=i[n>>2]|0;o=u+8|0;r=i[o>>2]|0;if((r|0)==(e|0)){n=s&~(1<<t);i[5412]=n}else{i[r+12>>2]=e;i[n>>2]=r;n=s}y=t<<3;f=y-l|0;i[u+4>>2]=l|3;A=u+l|0;i[A+4>>2]=f|1;i[u+y>>2]=f;if(a|0){t=i[5417]|0;e=a>>>3;r=21688+(e<<1<<2)|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=t;i[e+12>>2]=t;i[t+8>>2]=e;i[t+12>>2]=r}i[5414]=f;i[5417]=A;y=o;$=R;return y|0}u=i[5413]|0;if(u){r=(u&0-u)+-1|0;A=r>>>12&16;r=r>>>A;t=r>>>5&8;r=r>>>t;f=r>>>2&4;r=r>>>f;o=r>>>1&2;r=r>>>o;c=r>>>1&1;c=i[21952+((t|A|f|o|c)+(r>>>c)<<2)>>2]|0;r=c;o=c;c=(i[c+4>>2]&-8)-l|0;while(1){n=i[r+16>>2]|0;if(!n){n=i[r+20>>2]|0;if(!n)break}f=(i[n+4>>2]&-8)-l|0;A=f>>>0<c>>>0;r=n;o=A?n:o;c=A?f:c}f=o+l|0;if(f>>>0>o>>>0){A=i[o+24>>2]|0;e=i[o+12>>2]|0;do{if((e|0)==(o|0)){n=o+20|0;e=i[n>>2]|0;if(!e){n=o+16|0;e=i[n>>2]|0;if(!e){r=0;break}}while(1){t=e+20|0;r=i[t>>2]|0;if(!r){t=e+16|0;r=i[t>>2]|0;if(!r)break;else{e=r;n=t}}else{e=r;n=t}}i[n>>2]=0;r=e}else{r=i[o+8>>2]|0;i[r+12>>2]=e;i[e+8>>2]=r;r=e}}while(0);do{if(A|0){e=i[o+28>>2]|0;n=21952+(e<<2)|0;if((o|0)==(i[n>>2]|0)){i[n>>2]=r;if(!r){i[5413]=u&~(1<<e);break}}else{y=A+16|0;i[((i[y>>2]|0)==(o|0)?y:A+20|0)>>2]=r;if(!r)break}i[r+24>>2]=A;e=i[o+16>>2]|0;if(e|0){i[r+16>>2]=e;i[e+24>>2]=r}e=i[o+20>>2]|0;if(e|0){i[r+20>>2]=e;i[e+24>>2]=r}}}while(0);if(c>>>0<16){y=c+l|0;i[o+4>>2]=y|3;y=o+y+4|0;i[y>>2]=i[y>>2]|1}else{i[o+4>>2]=l|3;i[f+4>>2]=c|1;i[f+c>>2]=c;if(a|0){t=i[5417]|0;e=a>>>3;r=21688+(e<<1<<2)|0;e=1<<e;if(!(e&s)){i[5412]=e|s;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=t;i[e+12>>2]=t;i[t+8>>2]=e;i[t+12>>2]=r}i[5414]=c;i[5417]=f}y=o+8|0;$=R;return y|0}else s=l}else s=l}else s=l}else if(n>>>0<=4294967231){n=n+11|0;l=n&-8;t=i[5413]|0;if(t){A=0-l|0;n=n>>>8;if(n){if(l>>>0>16777215)c=31;else{s=(n+1048320|0)>>>16&8;Z=n<<s;o=(Z+520192|0)>>>16&4;Z=Z<<o;c=(Z+245760|0)>>>16&2;c=14-(o|s|c)+(Z<<c>>>15)|0;c=l>>>(c+7|0)&1|c<<1}}else c=0;r=i[21952+(c<<2)>>2]|0;n:do{if(!r){r=0;n=0;Z=61}else{n=0;o=l<<((c|0)==31?0:25-(c>>>1)|0);u=0;while(1){f=(i[r+4>>2]&-8)-l|0;if(f>>>0<A>>>0)if(!f){n=r;A=0;Z=65;break n}else{n=r;A=f}Z=i[r+20>>2]|0;r=i[r+16+(o>>>31<<2)>>2]|0;u=(Z|0)==0|(Z|0)==(r|0)?u:Z;if(!r){r=u;Z=61;break}else o=o<<1}}}while(0);if((Z|0)==61){if((r|0)==0&(n|0)==0){n=2<<c;n=(n|0-n)&t;if(!n){s=l;break}s=(n&0-n)+-1|0;f=s>>>12&16;s=s>>>f;u=s>>>5&8;s=s>>>u;o=s>>>2&4;s=s>>>o;c=s>>>1&2;s=s>>>c;r=s>>>1&1;n=0;r=i[21952+((u|f|o|c|r)+(s>>>r)<<2)>>2]|0}if(!r){o=n;f=A}else Z=65}if((Z|0)==65){u=r;while(1){s=(i[u+4>>2]&-8)-l|0;r=s>>>0<A>>>0;A=r?s:A;n=r?u:n;r=i[u+16>>2]|0;if(!r)r=i[u+20>>2]|0;if(!r){o=n;f=A;break}else u=r}}if(((o|0)!=0?f>>>0<((i[5414]|0)-l|0)>>>0:0)?(a=o+l|0,a>>>0>o>>>0):0){u=i[o+24>>2]|0;e=i[o+12>>2]|0;do{if((e|0)==(o|0)){n=o+20|0;e=i[n>>2]|0;if(!e){n=o+16|0;e=i[n>>2]|0;if(!e){e=0;break}}while(1){A=e+20|0;r=i[A>>2]|0;if(!r){A=e+16|0;r=i[A>>2]|0;if(!r)break;else{e=r;n=A}}else{e=r;n=A}}i[n>>2]=0}else{y=i[o+8>>2]|0;i[y+12>>2]=e;i[e+8>>2]=y}}while(0);do{if(u){n=i[o+28>>2]|0;r=21952+(n<<2)|0;if((o|0)==(i[r>>2]|0)){i[r>>2]=e;if(!e){t=t&~(1<<n);i[5413]=t;break}}else{y=u+16|0;i[((i[y>>2]|0)==(o|0)?y:u+20|0)>>2]=e;if(!e)break}i[e+24>>2]=u;n=i[o+16>>2]|0;if(n|0){i[e+16>>2]=n;i[n+24>>2]=e}n=i[o+20>>2]|0;if(n){i[e+20>>2]=n;i[n+24>>2]=e}}}while(0);n:do{if(f>>>0<16){y=f+l|0;i[o+4>>2]=y|3;y=o+y+4|0;i[y>>2]=i[y>>2]|1}else{i[o+4>>2]=l|3;i[a+4>>2]=f|1;i[a+f>>2]=f;e=f>>>3;if(f>>>0<256){r=21688+(e<<1<<2)|0;n=i[5412]|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=a;i[e+12>>2]=a;i[a+8>>2]=e;i[a+12>>2]=r;break}e=f>>>8;if(e){if(f>>>0>16777215)r=31;else{p=(e+1048320|0)>>>16&8;y=e<<p;V=(y+520192|0)>>>16&4;y=y<<V;r=(y+245760|0)>>>16&2;r=14-(V|p|r)+(y<<r>>>15)|0;r=f>>>(r+7|0)&1|r<<1}}else r=0;e=21952+(r<<2)|0;i[a+28>>2]=r;n=a+16|0;i[n+4>>2]=0;i[n>>2]=0;n=1<<r;if(!(t&n)){i[5413]=t|n;i[e>>2]=a;i[a+24>>2]=e;i[a+12>>2]=a;i[a+8>>2]=a;break}e=i[e>>2]|0;e:do{if((i[e+4>>2]&-8|0)!=(f|0)){t=f<<((r|0)==31?0:25-(r>>>1)|0);while(1){r=e+16+(t>>>31<<2)|0;n=i[r>>2]|0;if(!n)break;if((i[n+4>>2]&-8|0)==(f|0)){e=n;break e}else{t=t<<1;e=n}}i[r>>2]=a;i[a+24>>2]=e;i[a+12>>2]=a;i[a+8>>2]=a;break n}}while(0);p=e+8|0;y=i[p>>2]|0;i[y+12>>2]=a;i[p>>2]=a;i[a+8>>2]=y;i[a+12>>2]=e;i[a+24>>2]=0}}while(0);y=o+8|0;$=R;return y|0}else s=l}else s=l}else s=-1}while(0);r=i[5414]|0;if(r>>>0>=s>>>0){e=r-s|0;n=i[5417]|0;if(e>>>0>15){y=n+s|0;i[5417]=y;i[5414]=e;i[y+4>>2]=e|1;i[n+r>>2]=e;i[n+4>>2]=s|3}else{i[5414]=0;i[5417]=0;i[n+4>>2]=r|3;y=n+r+4|0;i[y>>2]=i[y>>2]|1}y=n+8|0;$=R;return y|0}f=i[5415]|0;if(f>>>0>s>>>0){V=f-s|0;i[5415]=V;y=i[5418]|0;p=y+s|0;i[5418]=p;i[p+4>>2]=V|1;i[y+4>>2]=s|3;y=y+8|0;$=R;return y|0}if(!(i[5530]|0)){i[5532]=4096;i[5531]=4096;i[5533]=-1;i[5534]=-1;i[5535]=0;i[5523]=0;i[5530]=d&-16^1431655768;n=4096}else n=i[5532]|0;o=s+48|0;c=s+47|0;u=n+c|0;A=0-n|0;l=u&A;if(l>>>0<=s>>>0){y=0;$=R;return y|0}n=i[5522]|0;if(n|0?(a=i[5520]|0,d=a+l|0,d>>>0<=a>>>0|d>>>0>n>>>0):0){y=0;$=R;return y|0}n:do{if(!(i[5523]&4)){r=i[5418]|0;e:do{if(r){t=22096;while(1){d=i[t>>2]|0;if(d>>>0<=r>>>0?(d+(i[t+4>>2]|0)|0)>>>0>r>>>0:0)break;n=i[t+8>>2]|0;if(!n){Z=128;break e}else t=n}e=u-f&A;if(e>>>0<2147483647){n=$Z(e)|0;if((n|0)==((i[t>>2]|0)+(i[t+4>>2]|0)|0)){if((n|0)!=(-1|0)){f=e;u=n;Z=145;break n}}else{t=n;Z=136}}else e=0}else Z=128}while(0);do{if((Z|0)==128){r=$Z(0)|0;if((r|0)!=(-1|0)?(e=r,b=i[5531]|0,h=b+-1|0,e=((h&e|0)==0?0:(h+e&0-b)-e|0)+l|0,b=i[5520]|0,h=e+b|0,e>>>0>s>>>0&e>>>0<2147483647):0){d=i[5522]|0;if(d|0?h>>>0<=b>>>0|h>>>0>d>>>0:0){e=0;break}n=$Z(e)|0;if((n|0)==(r|0)){f=e;u=r;Z=145;break n}else{t=n;Z=136}}else e=0}}while(0);do{if((Z|0)==136){r=0-e|0;if(!(o>>>0>e>>>0&(e>>>0<2147483647&(t|0)!=(-1|0))))if((t|0)==(-1|0)){e=0;break}else{f=e;u=t;Z=145;break n}n=i[5532]|0;n=c-e+n&0-n;if(n>>>0>=2147483647){f=e;u=t;Z=145;break n}if(($Z(n)|0)==(-1|0)){$Z(r)|0;e=0;break}else{f=n+e|0;u=t;Z=145;break n}}}while(0);i[5523]=i[5523]|4;Z=143}else{e=0;Z=143}}while(0);if(((Z|0)==143?l>>>0<2147483647:0)?(V=$Z(l)|0,h=$Z(0)|0,v=h-V|0,m=v>>>0>(s+40|0)>>>0,!((V|0)==(-1|0)|m^1|V>>>0<h>>>0&((V|0)!=(-1|0)&(h|0)!=(-1|0))^1)):0){f=m?v:e;u=V;Z=145}if((Z|0)==145){e=(i[5520]|0)+f|0;i[5520]=e;if(e>>>0>(i[5521]|0)>>>0)i[5521]=e;c=i[5418]|0;n:do{if(c){e=22096;while(1){n=i[e>>2]|0;r=i[e+4>>2]|0;if((u|0)==(n+r|0)){Z=154;break}t=i[e+8>>2]|0;if(!t)break;else e=t}if(((Z|0)==154?(p=e+4|0,(i[e+12>>2]&8|0)==0):0)?u>>>0>c>>>0&n>>>0<=c>>>0:0){i[p>>2]=r+f;y=(i[5415]|0)+f|0;V=c+8|0;V=(V&7|0)==0?0:0-V&7;p=c+V|0;V=y-V|0;i[5418]=p;i[5415]=V;i[p+4>>2]=V|1;i[c+y+4>>2]=40;i[5419]=i[5534];break}if(u>>>0<(i[5416]|0)>>>0)i[5416]=u;r=u+f|0;e=22096;while(1){if((i[e>>2]|0)==(r|0)){Z=162;break}n=i[e+8>>2]|0;if(!n)break;else e=n}if((Z|0)==162?(i[e+12>>2]&8|0)==0:0){i[e>>2]=u;a=e+4|0;i[a>>2]=(i[a>>2]|0)+f;a=u+8|0;a=u+((a&7|0)==0?0:0-a&7)|0;e=r+8|0;e=r+((e&7|0)==0?0:0-e&7)|0;l=a+s|0;o=e-a-s|0;i[a+4>>2]=s|3;e:do{if((c|0)==(e|0)){y=(i[5415]|0)+o|0;i[5415]=y;i[5418]=l;i[l+4>>2]=y|1}else{if((i[5417]|0)==(e|0)){y=(i[5414]|0)+o|0;i[5414]=y;i[5417]=l;i[l+4>>2]=y|1;i[l+y>>2]=y;break}n=i[e+4>>2]|0;if((n&3|0)==1){f=n&-8;t=n>>>3;r:do{if(n>>>0<256){n=i[e+8>>2]|0;r=i[e+12>>2]|0;if((r|0)==(n|0)){i[5412]=i[5412]&~(1<<t);break}else{i[n+12>>2]=r;i[r+8>>2]=n;break}}else{u=i[e+24>>2]|0;n=i[e+12>>2]|0;do{if((n|0)==(e|0)){r=e+16|0;t=r+4|0;n=i[t>>2]|0;if(!n){n=i[r>>2]|0;if(!n){n=0;break}}else r=t;while(1){A=n+20|0;t=i[A>>2]|0;if(!t){A=n+16|0;t=i[A>>2]|0;if(!t)break;else{n=t;r=A}}else{n=t;r=A}}i[r>>2]=0}else{y=i[e+8>>2]|0;i[y+12>>2]=n;i[n+8>>2]=y}}while(0);if(!u)break;r=i[e+28>>2]|0;t=21952+(r<<2)|0;do{if((i[t>>2]|0)!=(e|0)){y=u+16|0;i[((i[y>>2]|0)==(e|0)?y:u+20|0)>>2]=n;if(!n)break r}else{i[t>>2]=n;if(n|0)break;i[5413]=i[5413]&~(1<<r);break r}}while(0);i[n+24>>2]=u;r=e+16|0;t=i[r>>2]|0;if(t|0){i[n+16>>2]=t;i[t+24>>2]=n}r=i[r+4>>2]|0;if(!r)break;i[n+20>>2]=r;i[r+24>>2]=n}}while(0);e=e+f|0;A=f+o|0}else A=o;e=e+4|0;i[e>>2]=i[e>>2]&-2;i[l+4>>2]=A|1;i[l+A>>2]=A;e=A>>>3;if(A>>>0<256){r=21688+(e<<1<<2)|0;n=i[5412]|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=l;i[e+12>>2]=l;i[l+8>>2]=e;i[l+12>>2]=r;break}e=A>>>8;do{if(!e)t=0;else{if(A>>>0>16777215){t=31;break}p=(e+1048320|0)>>>16&8;y=e<<p;V=(y+520192|0)>>>16&4;y=y<<V;t=(y+245760|0)>>>16&2;t=14-(V|p|t)+(y<<t>>>15)|0;t=A>>>(t+7|0)&1|t<<1}}while(0);e=21952+(t<<2)|0;i[l+28>>2]=t;n=l+16|0;i[n+4>>2]=0;i[n>>2]=0;n=i[5413]|0;r=1<<t;if(!(n&r)){i[5413]=n|r;i[e>>2]=l;i[l+24>>2]=e;i[l+12>>2]=l;i[l+8>>2]=l;break}e=i[e>>2]|0;r:do{if((i[e+4>>2]&-8|0)!=(A|0)){t=A<<((t|0)==31?0:25-(t>>>1)|0);while(1){r=e+16+(t>>>31<<2)|0;n=i[r>>2]|0;if(!n)break;if((i[n+4>>2]&-8|0)==(A|0)){e=n;break r}else{t=t<<1;e=n}}i[r>>2]=l;i[l+24>>2]=e;i[l+12>>2]=l;i[l+8>>2]=l;break e}}while(0);p=e+8|0;y=i[p>>2]|0;i[y+12>>2]=l;i[p>>2]=l;i[l+8>>2]=y;i[l+12>>2]=e;i[l+24>>2]=0}}while(0);y=a+8|0;$=R;return y|0}e=22096;while(1){n=i[e>>2]|0;if(n>>>0<=c>>>0?(y=n+(i[e+4>>2]|0)|0,y>>>0>c>>>0):0)break;e=i[e+8>>2]|0}A=y+-47|0;n=A+8|0;n=A+((n&7|0)==0?0:0-n&7)|0;A=c+16|0;n=n>>>0<A>>>0?c:n;e=n+8|0;r=f+-40|0;V=u+8|0;V=(V&7|0)==0?0:0-V&7;p=u+V|0;V=r-V|0;i[5418]=p;i[5415]=V;i[p+4>>2]=V|1;i[u+r+4>>2]=40;i[5419]=i[5534];r=n+4|0;i[r>>2]=27;i[e>>2]=i[5524];i[e+4>>2]=i[5525];i[e+8>>2]=i[5526];i[e+12>>2]=i[5527];i[5524]=u;i[5525]=f;i[5527]=0;i[5526]=e;e=n+24|0;do{p=e;e=e+4|0;i[e>>2]=7}while((p+8|0)>>>0<y>>>0);if((n|0)!=(c|0)){u=n-c|0;i[r>>2]=i[r>>2]&-2;i[c+4>>2]=u|1;i[n>>2]=u;e=u>>>3;if(u>>>0<256){r=21688+(e<<1<<2)|0;n=i[5412]|0;e=1<<e;if(!(n&e)){i[5412]=n|e;e=r;n=r+8|0}else{n=r+8|0;e=i[n>>2]|0}i[n>>2]=c;i[e+12>>2]=c;i[c+8>>2]=e;i[c+12>>2]=r;break}e=u>>>8;if(e){if(u>>>0>16777215)t=31;else{p=(e+1048320|0)>>>16&8;y=e<<p;V=(y+520192|0)>>>16&4;y=y<<V;t=(y+245760|0)>>>16&2;t=14-(V|p|t)+(y<<t>>>15)|0;t=u>>>(t+7|0)&1|t<<1}}else t=0;r=21952+(t<<2)|0;i[c+28>>2]=t;i[c+20>>2]=0;i[A>>2]=0;e=i[5413]|0;n=1<<t;if(!(e&n)){i[5413]=e|n;i[r>>2]=c;i[c+24>>2]=r;i[c+12>>2]=c;i[c+8>>2]=c;break}e=i[r>>2]|0;e:do{if((i[e+4>>2]&-8|0)!=(u|0)){t=u<<((t|0)==31?0:25-(t>>>1)|0);while(1){r=e+16+(t>>>31<<2)|0;n=i[r>>2]|0;if(!n)break;if((i[n+4>>2]&-8|0)==(u|0)){e=n;break e}else{t=t<<1;e=n}}i[r>>2]=c;i[c+24>>2]=e;i[c+12>>2]=c;i[c+8>>2]=c;break n}}while(0);p=e+8|0;y=i[p>>2]|0;i[y+12>>2]=c;i[p>>2]=c;i[c+8>>2]=y;i[c+12>>2]=e;i[c+24>>2]=0}}else{y=i[5416]|0;if((y|0)==0|u>>>0<y>>>0)i[5416]=u;i[5524]=u;i[5525]=f;i[5527]=0;i[5421]=i[5530];i[5420]=-1;i[5425]=21688;i[5424]=21688;i[5427]=21696;i[5426]=21696;i[5429]=21704;i[5428]=21704;i[5431]=21712;i[5430]=21712;i[5433]=21720;i[5432]=21720;i[5435]=21728;i[5434]=21728;i[5437]=21736;i[5436]=21736;i[5439]=21744;i[5438]=21744;i[5441]=21752;i[5440]=21752;i[5443]=21760;i[5442]=21760;i[5445]=21768;i[5444]=21768;i[5447]=21776;i[5446]=21776;i[5449]=21784;i[5448]=21784;i[5451]=21792;i[5450]=21792;i[5453]=21800;i[5452]=21800;i[5455]=21808;i[5454]=21808;i[5457]=21816;i[5456]=21816;i[5459]=21824;i[5458]=21824;i[5461]=21832;i[5460]=21832;i[5463]=21840;i[5462]=21840;i[5465]=21848;i[5464]=21848;i[5467]=21856;i[5466]=21856;i[5469]=21864;i[5468]=21864;i[5471]=21872;i[5470]=21872;i[5473]=21880;i[5472]=21880;i[5475]=21888;i[5474]=21888;i[5477]=21896;i[5476]=21896;i[5479]=21904;i[5478]=21904;i[5481]=21912;i[5480]=21912;i[5483]=21920;i[5482]=21920;i[5485]=21928;i[5484]=21928;i[5487]=21936;i[5486]=21936;y=f+-40|0;V=u+8|0;V=(V&7|0)==0?0:0-V&7;p=u+V|0;V=y-V|0;i[5418]=p;i[5415]=V;i[p+4>>2]=V|1;i[u+y+4>>2]=40;i[5419]=i[5534]}}while(0);e=i[5415]|0;if(e>>>0>s>>>0){V=e-s|0;i[5415]=V;y=i[5418]|0;p=y+s|0;i[5418]=p;i[p+4>>2]=V|1;i[y+4>>2]=s|3;y=y+8|0;$=R;return y|0}}i[(Qd()|0)>>2]=48;y=0;$=R;return y|0}function PZ(n){n=n|0;var e=0,r=0,t=0,A=0,u=0,f=0,o=0,c=0;if(!n)return;r=n+-8|0;A=i[5416]|0;n=i[n+-4>>2]|0;e=n&-8;c=r+e|0;do{if(!(n&1)){t=i[r>>2]|0;if(!(n&3))return;f=r+(0-t)|0;u=t+e|0;if(f>>>0<A>>>0)return;if((i[5417]|0)==(f|0)){n=c+4|0;e=i[n>>2]|0;if((e&3|0)!=3){o=f;e=u;break}i[5414]=u;i[n>>2]=e&-2;i[f+4>>2]=u|1;i[f+u>>2]=u;return}r=t>>>3;if(t>>>0<256){n=i[f+8>>2]|0;e=i[f+12>>2]|0;if((e|0)==(n|0)){i[5412]=i[5412]&~(1<<r);o=f;e=u;break}else{i[n+12>>2]=e;i[e+8>>2]=n;o=f;e=u;break}}A=i[f+24>>2]|0;n=i[f+12>>2]|0;do{if((n|0)==(f|0)){e=f+16|0;r=e+4|0;n=i[r>>2]|0;if(!n){n=i[e>>2]|0;if(!n){n=0;break}}else e=r;while(1){t=n+20|0;r=i[t>>2]|0;if(!r){t=n+16|0;r=i[t>>2]|0;if(!r)break;else{n=r;e=t}}else{n=r;e=t}}i[e>>2]=0}else{o=i[f+8>>2]|0;i[o+12>>2]=n;i[n+8>>2]=o}}while(0);if(A){e=i[f+28>>2]|0;r=21952+(e<<2)|0;if((i[r>>2]|0)==(f|0)){i[r>>2]=n;if(!n){i[5413]=i[5413]&~(1<<e);o=f;e=u;break}}else{o=A+16|0;i[((i[o>>2]|0)==(f|0)?o:A+20|0)>>2]=n;if(!n){o=f;e=u;break}}i[n+24>>2]=A;e=f+16|0;r=i[e>>2]|0;if(r|0){i[n+16>>2]=r;i[r+24>>2]=n}e=i[e+4>>2]|0;if(e){i[n+20>>2]=e;i[e+24>>2]=n;o=f;e=u}else{o=f;e=u}}else{o=f;e=u}}else{o=r;f=r}}while(0);if(f>>>0>=c>>>0)return;n=c+4|0;t=i[n>>2]|0;if(!(t&1))return;if(!(t&2)){if((i[5418]|0)==(c|0)){c=(i[5415]|0)+e|0;i[5415]=c;i[5418]=o;i[o+4>>2]=c|1;if((o|0)!=(i[5417]|0))return;i[5417]=0;i[5414]=0;return}if((i[5417]|0)==(c|0)){c=(i[5414]|0)+e|0;i[5414]=c;i[5417]=f;i[o+4>>2]=c|1;i[f+c>>2]=c;return}A=(t&-8)+e|0;r=t>>>3;do{if(t>>>0<256){e=i[c+8>>2]|0;n=i[c+12>>2]|0;if((n|0)==(e|0)){i[5412]=i[5412]&~(1<<r);break}else{i[e+12>>2]=n;i[n+8>>2]=e;break}}else{u=i[c+24>>2]|0;n=i[c+12>>2]|0;do{if((n|0)==(c|0)){e=c+16|0;r=e+4|0;n=i[r>>2]|0;if(!n){n=i[e>>2]|0;if(!n){r=0;break}}else e=r;while(1){t=n+20|0;r=i[t>>2]|0;if(!r){t=n+16|0;r=i[t>>2]|0;if(!r)break;else{n=r;e=t}}else{n=r;e=t}}i[e>>2]=0;r=n}else{r=i[c+8>>2]|0;i[r+12>>2]=n;i[n+8>>2]=r;r=n}}while(0);if(u|0){n=i[c+28>>2]|0;e=21952+(n<<2)|0;if((i[e>>2]|0)==(c|0)){i[e>>2]=r;if(!r){i[5413]=i[5413]&~(1<<n);break}}else{t=u+16|0;i[((i[t>>2]|0)==(c|0)?t:u+20|0)>>2]=r;if(!r)break}i[r+24>>2]=u;n=c+16|0;e=i[n>>2]|0;if(e|0){i[r+16>>2]=e;i[e+24>>2]=r}n=i[n+4>>2]|0;if(n|0){i[r+20>>2]=n;i[n+24>>2]=r}}}}while(0);i[o+4>>2]=A|1;i[f+A>>2]=A;if((o|0)==(i[5417]|0)){i[5414]=A;return}}else{i[n>>2]=t&-2;i[o+4>>2]=e|1;i[f+e>>2]=e;A=e}n=A>>>3;if(A>>>0<256){r=21688+(n<<1<<2)|0;e=i[5412]|0;n=1<<n;if(!(e&n)){i[5412]=e|n;n=r;e=r+8|0}else{e=r+8|0;n=i[e>>2]|0}i[e>>2]=o;i[n+12>>2]=o;i[o+8>>2]=n;i[o+12>>2]=r;return}n=A>>>8;if(n){if(A>>>0>16777215)t=31;else{f=(n+1048320|0)>>>16&8;c=n<<f;u=(c+520192|0)>>>16&4;c=c<<u;t=(c+245760|0)>>>16&2;t=14-(u|f|t)+(c<<t>>>15)|0;t=A>>>(t+7|0)&1|t<<1}}else t=0;n=21952+(t<<2)|0;i[o+28>>2]=t;i[o+20>>2]=0;i[o+16>>2]=0;e=i[5413]|0;r=1<<t;n:do{if(!(e&r)){i[5413]=e|r;i[n>>2]=o;i[o+24>>2]=n;i[o+12>>2]=o;i[o+8>>2]=o}else{n=i[n>>2]|0;e:do{if((i[n+4>>2]&-8|0)!=(A|0)){t=A<<((t|0)==31?0:25-(t>>>1)|0);while(1){r=n+16+(t>>>31<<2)|0;e=i[r>>2]|0;if(!e)break;if((i[e+4>>2]&-8|0)==(A|0)){n=e;break e}else{t=t<<1;n=e}}i[r>>2]=o;i[o+24>>2]=n;i[o+12>>2]=o;i[o+8>>2]=o;break n}}while(0);f=n+8|0;c=i[f>>2]|0;i[c+12>>2]=o;i[f>>2]=o;i[o+8>>2]=c;i[o+12>>2]=n;i[o+24>>2]=0}}while(0);c=(i[5420]|0)+-1|0;i[5420]=c;if(c|0)return;n=22104;while(1){n=i[n>>2]|0;if(!n)break;else n=n+8|0}i[5420]=-1;return}function $Z(n){n=n|0;var e=0,r=0,t=0;t=n+3&-4;n=cv()|0;e=i[n>>2]|0;r=e+t|0;do{if((t|0)<1|r>>>0>e>>>0){if(r>>>0>(Q()|0)>>>0?(D(r|0)|0)==0:0)break;i[n>>2]=r;t=e;return t|0}}while(0);i[(Qd()|0)>>2]=48;t=-1;return t|0}function LZ(n){n=n|0;var e=0;e=$;$=$+n|0;$=$+15&-16;return e|0}function KZ(n){n=n|0;$=n}function qZ(){return $|0}function nv(n,e){n=n|0;e=e|0;var r=0,t=0,A=0,i=0;i=n&65535;A=e&65535;r=V(A,i)|0;t=n>>>16;n=(r>>>16)+(V(A,t)|0)|0;A=e>>>16;e=V(A,i)|0;return(R((n>>>16)+(V(A,t)|0)+(((n&65535)+e|0)>>>16)|0),n+e<<16|r&65535|0)|0}function ev(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;var A=0,i=0;A=n;i=r;r=nv(A,i)|0;n=W()|0;return(R((V(e,i)|0)+(V(t,A)|0)+n|n&0|0),r|0|0)|0}function rv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;r=n+r>>>0;return(R(e+t+(r>>>0<n>>>0|0)>>>0|0),r|0)|0}function tv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;t=e-t-(r>>>0>n>>>0|0)>>>0;return(R(t|0),n-r>>>0|0)|0}function Av(n){n=n|0;return(n?31-(p(n^n-1)|0)|0:32)|0}function iv(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;var u=0,f=0,o=0,c=0,l=0,a=0,s=0,d=0,b=0,h=0;a=n;c=e;l=c;f=r;d=t;o=d;if(!l){u=(A|0)!=0;if(!o){if(u){i[A>>2]=(a>>>0)%(f>>>0);i[A+4>>2]=0}d=0;A=(a>>>0)/(f>>>0)>>>0;return(R(d|0),A)|0}else{if(!u){d=0;A=0;return(R(d|0),A)|0}i[A>>2]=n|0;i[A+4>>2]=e&0;d=0;A=0;return(R(d|0),A)|0}}u=(o|0)==0;do{if(f){if(!u){u=(p(o|0)|0)-(p(l|0)|0)|0;if(u>>>0<=31){s=u+1|0;o=31-u|0;e=u-31>>31;f=s;n=a>>>(s>>>0)&e|l<<o;e=l>>>(s>>>0)&e;u=0;o=a<<o;break}if(!A){d=0;A=0;return(R(d|0),A)|0}i[A>>2]=n|0;i[A+4>>2]=c|e&0;d=0;A=0;return(R(d|0),A)|0}u=f-1|0;if(u&f|0){o=(p(f|0)|0)+33-(p(l|0)|0)|0;h=64-o|0;s=32-o|0;c=s>>31;b=o-32|0;e=b>>31;f=o;n=s-1>>31&l>>>(b>>>0)|(l<<s|a>>>(o>>>0))&e;e=e&l>>>(o>>>0);u=a<<h&c;o=(l<<h|a>>>(b>>>0))&c|a<<s&o-33>>31;break}if(A|0){i[A>>2]=u&a;i[A+4>>2]=0}if((f|0)==1){b=c|e&0;h=n|0|0;return(R(b|0),h)|0}else{h=Av(f|0)|0;b=l>>>(h>>>0)|0;h=l<<32-h|a>>>(h>>>0)|0;return(R(b|0),h)|0}}else{if(u){if(A|0){i[A>>2]=(l>>>0)%(f>>>0);i[A+4>>2]=0}b=0;h=(l>>>0)/(f>>>0)>>>0;return(R(b|0),h)|0}if(!a){if(A|0){i[A>>2]=0;i[A+4>>2]=(l>>>0)%(o>>>0)}b=0;h=(l>>>0)/(o>>>0)>>>0;return(R(b|0),h)|0}u=o-1|0;if(!(u&o)){if(A|0){i[A>>2]=n|0;i[A+4>>2]=u&l|e&0}b=0;h=l>>>((Av(o|0)|0)>>>0);return(R(b|0),h)|0}u=(p(o|0)|0)-(p(l|0)|0)|0;if(u>>>0<=30){e=u+1|0;o=31-u|0;f=e;n=l<<o|a>>>(e>>>0);e=l>>>(e>>>0);u=0;o=a<<o;break}if(!A){b=0;h=0;return(R(b|0),h)|0}i[A>>2]=n|0;i[A+4>>2]=c|e&0;b=0;h=0;return(R(b|0),h)|0}}while(0);if(!f){l=o;c=0;o=0}else{s=r|0|0;a=d|t&0;l=rv(s|0,a|0,-1,-1)|0;r=W()|0;c=o;o=0;do{t=c;c=u>>>31|c<<1;u=o|u<<1;t=n<<1|t>>>31|0;d=n>>>31|e<<1|0;tv(l|0,r|0,t|0,d|0)|0;h=W()|0;b=h>>31|((h|0)<0?-1:0)<<1;o=b&1;n=tv(t|0,d|0,b&s|0,(((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1)&a|0)|0;e=W()|0;f=f-1|0}while((f|0)!=0);l=c;c=0}f=0;if(A|0){i[A>>2]=n;i[A+4>>2]=e}b=(u|0)>>>31|(l|f)<<1|(f<<1|u>>>31)&0|c;h=(u<<1|0>>>31)&-2|o;return(R(b|0),h)|0}function uv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;return iv(n,e,r,t,0)|0}function fv(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)<32){R(e>>>r|0);return n>>>r|(e&(1<<r)-1)<<32-r}R(0);return e>>>r-32|0}function ov(n,e,r){n=n|0;e=e|0;r=r|0;if((r|0)<32){R(e<<r|(n&(1<<r)-1<<32-r)>>>32-r|0);return n<<r}R(n<<r-32|0);return 0}function cv(){return 22176}function lv(n){n=n|0;return(n&255)<<24|(n>>8&255)<<16|(n>>16&255)<<8|n>>>24|0}function av(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0;if((r|0)>=512){_(n|0,e|0,r|0)|0;return n|0}f=n|0;u=n+r|0;if((n&3)==(e&3)){while(n&3){if(!r)return f|0;t[n>>0]=t[e>>0]|0;n=n+1|0;e=e+1|0;r=r-1|0}r=u&-4|0;A=r-64|0;while((n|0)<=(A|0)){i[n>>2]=i[e>>2];i[n+4>>2]=i[e+4>>2];i[n+8>>2]=i[e+8>>2];i[n+12>>2]=i[e+12>>2];i[n+16>>2]=i[e+16>>2];i[n+20>>2]=i[e+20>>2];i[n+24>>2]=i[e+24>>2];i[n+28>>2]=i[e+28>>2];i[n+32>>2]=i[e+32>>2];i[n+36>>2]=i[e+36>>2];i[n+40>>2]=i[e+40>>2];i[n+44>>2]=i[e+44>>2];i[n+48>>2]=i[e+48>>2];i[n+52>>2]=i[e+52>>2];i[n+56>>2]=i[e+56>>2];i[n+60>>2]=i[e+60>>2];n=n+64|0;e=e+64|0}while((n|0)<(r|0)){i[n>>2]=i[e>>2];n=n+4|0;e=e+4|0}}else{r=u-4|0;while((n|0)<(r|0)){t[n>>0]=t[e>>0]|0;t[n+1>>0]=t[e+1>>0]|0;t[n+2>>0]=t[e+2>>0]|0;t[n+3>>0]=t[e+3>>0]|0;n=n+4|0;e=e+4|0}}while((n|0)<(u|0)){t[n>>0]=t[e>>0]|0;n=n+1|0;e=e+1|0}return f|0}function sv(n,e,r){n=n|0;e=e|0;r=r|0;var A=0;if((e|0)<(n|0)&(n|0)<(e+r|0)){A=n;e=e+r|0;n=n+r|0;while((r|0)>0){n=n-1|0;e=e-1|0;r=r-1|0;t[n>>0]=t[e>>0]|0}n=A}else av(n,e,r)|0;return n|0}function dv(n,e,r){n=n|0;e=e|0;r=r|0;var A=0,u=0,f=0,o=0;f=n+r|0;e=e&255;if((r|0)>=67){while(n&3){t[n>>0]=e;n=n+1|0}A=f&-4|0;o=e|e<<8|e<<16|e<<24;u=A-64|0;while((n|0)<=(u|0)){i[n>>2]=o;i[n+4>>2]=o;i[n+8>>2]=o;i[n+12>>2]=o;i[n+16>>2]=o;i[n+20>>2]=o;i[n+24>>2]=o;i[n+28>>2]=o;i[n+32>>2]=o;i[n+36>>2]=o;i[n+40>>2]=o;i[n+44>>2]=o;i[n+48>>2]=o;i[n+52>>2]=o;i[n+56>>2]=o;i[n+60>>2]=o;n=n+64|0}while((n|0)<(A|0)){i[n>>2]=o;n=n+4|0}}while((n|0)<(f|0)){t[n>>0]=e;n=n+1|0}return f-r|0}function bv(n){n=n|0;return Ev[n&3]()|0}function hv(n,e){n=n|0;e=e|0;return xv[n&15](e|0)|0}function Zv(n,e,r,t,A,i,u){n=n|0;e=e|0;r=+r;t=t|0;A=A|0;i=i|0;u=u|0;return Ov[n&1](e|0,+r,t|0,A|0,i|0,u|0)|0}function vv(n,e,r){n=n|0;e=e|0;r=r|0;return Cv[n&63](e|0,r|0)|0}function mv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;return jv[n&7](e|0,r|0,t|0)|0}function Vv(n){n=n|0;Iv[n&3]()}function pv(n,e){n=n|0;e=e|0;Sv[n&255](e|0)}function yv(n,e,r){n=n|0;e=e|0;r=r|0;Hv[n&15](e|0,r|0)}function Rv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;Qv[n&15](e|0,r|0,t|0)}function Wv(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;_v[n&7](e|0,r|0,t|0,A|0)}function Xv(n,e,r,t,A,i){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;i=i|0;Dv[n&3](e|0,r|0,t|0,A|0,i|0)}function wv(n,e,r,t,A,i,u){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;i=i|0;u=u|0;Pv[n&3](e|0,r|0,t|0,A|0,i|0,u|0)}function Fv(){y(0);return 0}function kv(n){n=n|0;y(1);return 0}function Uv(n,e,r,t,A,i){n=n|0;e=+e;r=r|0;t=t|0;A=A|0;i=i|0;y(2);return 0}function Gv(n,e){n=n|0;e=e|0;y(3);return 0}function zv(n,e,r){n=n|0;e=e|0;r=r|0;y(4);return 0}function Nv(){y(5)}function gv(n){n=n|0;y(6)}function Tv(n,e){n=n|0;e=e|0;y(7)}function Mv(n,e,r){n=n|0;e=e|0;r=r|0;y(8)}function Bv(n,e,r,t){n=n|0;e=e|0;r=r|0;t=t|0;y(9)}function Jv(n,e,r,t,A){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;y(10)}function Yv(n,e,r,t,A,i){n=n|0;e=e|0;r=r|0;t=t|0;A=A|0;i=i|0;y(11)}var Ev=[Fv,Nl,Xa,Fv];var xv=[kv,vh,ve,We,fh,lh,iZ,kZ,JZ,hl,An,sa,Tl,Fa,kv,kv];var Ov=[Uv,ub];var Cv=[Gv,Vn,Un,Re,et,Nt,Ct,eA,rA,iA,SA,LA,hi,Ri,Ni,Ei,Xu,Tu,ju,_u,rf,of,vf,Rf,Nf,Sf,Lf,ro,lo,po,Yo,So,Ko,fc,vc,Xc,Mc,Ic,Lc,Al,sl,Aa,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv,Gv];var jv=[zv,wb,Cb,Rh,Xh,GZ,zZ,zv];var Iv=[Nv,ph,gb,Nv];var Sv=[gv,uZ,vn,mn,pn,Fn,kn,Gn,hh,ue,Xe,Ze,Ve,pe,Ge,ze,Ce,je,lr,ar,sr,Nr,qr,nt,rt,kt,gt,Tt,Mt,Bt,xt,Ot,jt,qt,nA,tA,AA,jA,IA,HA,PA,$A,di,bi,Zi,pi,yi,Gi,zi,gi,Ji,Yi,Ru,Wu,wu,Mu,Bu,Ou,Cu,Iu,Du,Pu,nf,ef,tf,cf,lf,hf,Zf,mf,Wf,Xf,Gf,zf,gf,jf,If,Hf,Pf,$f,Kf,to,Ao,oo,co,ao,mo,Vo,Bo,Jo,Eo,jo,Io,$o,Lo,qo,ic,uc,hc,Zc,mc,Rc,Wc,gc,Tc,Bc,Cc,jc,Pc,$c,Kc,rl,tl,ll,al,dl,Yb,Eb,xb,Ob,$b,ih,uh,oh,ch,Zh,mh,Vh,yh,Wh,Uh,tZ,AZ,wZ,FZ,BZ,CZ,jZ,ml,ha,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv,gv];var Hv=[Tv,me,ye,tn,fn,on,cn,ln,fb,Tv,Tv,Tv,Tv,Tv,Tv,Tv];var Qv=[Mv,UZ,NZ,YZ,EZ,rn,un,$l,Oa,Qa,Mv,Mv,Mv,Mv,Mv,Mv];var _v=[Bv,Sb,qb,Nh,Ol,Ta,Bv,Bv];var Dv=[Jv,Ib,Kb,zh];var Pv=[Yv,jb,Lb,Gh];return{__ZSt18uncaught_exceptionv:eZ,___cxa_can_catch:Kh,___cxa_is_pointer_type:qh,___embind_register_native_and_builtin_types:es,___errno_location:Qd,___getTypeName:Hd,___muldi3:ev,___udivdi3:uv,_bitshift64Lshr:fv,_bitshift64Shl:ov,_emscripten_get_sbrk_ptr:cv,_free:PZ,_i64Add:rv,_i64Subtract:tv,_llvm_bswap_i32:lv,_malloc:DZ,_memcpy:av,_memmove:sv,_memset:dv,dynCall_i:bv,dynCall_ii:hv,dynCall_iidiiii:Zv,dynCall_iii:vv,dynCall_iiii:mv,dynCall_v:Vv,dynCall_vi:pv,dynCall_vii:yv,dynCall_viii:Rv,dynCall_viiii:Wv,dynCall_viiiii:Xv,dynCall_viiiiii:wv,globalCtors:q,stackAlloc:LZ,stackRestore:KZ,stackSave:qZ}}(Xr,wr,T),kr=i.__ZSt18uncaught_exceptionv=Fr.__ZSt18uncaught_exceptionv,Ur=(i.___cxa_can_catch=Fr.___cxa_can_catch,i.___cxa_is_pointer_type=Fr.___cxa_is_pointer_type,i.___embind_register_native_and_builtin_types=Fr.___embind_register_native_and_builtin_types,i.___errno_location=Fr.___errno_location,i.___getTypeName=Fr.___getTypeName),Gr=(i.___muldi3=Fr.___muldi3,i.___udivdi3=Fr.___udivdi3,i._bitshift64Lshr=Fr._bitshift64Lshr,i._bitshift64Shl=Fr._bitshift64Shl,i._emscripten_get_sbrk_ptr=Fr._emscripten_get_sbrk_ptr,i._free=Fr._free),zr=(i._i64Add=Fr._i64Add,i._i64Subtract=Fr._i64Subtract,i._llvm_bswap_i32=Fr._llvm_bswap_i32,i._malloc=Fr._malloc),Nr=(i._memcpy=Fr._memcpy,i._memmove=Fr._memmove,i._memset=Fr._memset,i.globalCtors=Fr.globalCtors);i.stackAlloc=Fr.stackAlloc,i.stackRestore=Fr.stackRestore,i.stackSave=Fr.stackSave,i.dynCall_i=Fr.dynCall_i,i.dynCall_ii=Fr.dynCall_ii,i.dynCall_iidiiii=Fr.dynCall_iidiiii,i.dynCall_iii=Fr.dynCall_iii,i.dynCall_iiii=Fr.dynCall_iiii,i.dynCall_v=Fr.dynCall_v,i.dynCall_vi=Fr.dynCall_vi,i.dynCall_vii=Fr.dynCall_vii,i.dynCall_viii=Fr.dynCall_viii,i.dynCall_viiii=Fr.dynCall_viiii,i.dynCall_viiiii=Fr.dynCall_viiiii,i.dynCall_viiiiii=Fr.dynCall_viiiiii;if(i.asm=Fr,vn)if(pn(vn)||(vn=m(vn)),l||a){var gr=b(vn);B.set(gr,X)}else{bn();var Tr=function(n){n.byteLength&&(n=new Uint8Array(n)),B.set(n,X),i.memoryInitializerRequest&&delete i.memoryInitializerRequest.response,hn()},Mr=function(){d(vn,Tr,(function(){throw new Error("could not load memory initializer "+vn)}))},Br=Rr(vn);if(Br)Tr(Br.buffer);else if(i.memoryInitializerRequest){var Jr=function(){var n=i.memoryInitializerRequest,e=n.response;if(200!==n.status&&0!==n.status){var r=Rr(i.memoryInitializerRequestURL);if(!r)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+n.status+", retrying "+vn),void Mr();e=r.buffer}Tr(e)};i.memoryInitializerRequest.response?setTimeout(Jr,0):i.memoryInitializerRequest.addEventListener("load",Jr)}else Mr()}function Yr(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}function Er(n){function e(){Wr||(Wr=!0,i.calledRun=!0,w||(un(),fn(),i.onRuntimeInitialized&&i.onRuntimeInitialized(),on()))}n=n||f,an>0||(An(),an>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(dn=function n(){Wr||Er(),Wr||(dn=n)},i.run=Er,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return!0,Er(),i}}).call(this,r(4),"/")},function(n,e,r){(function(e){const t=r(6),A="undefined"==typeof window?e:window;A.loaders=A.loaders||{},n.exports=Object.assign(A.loaders,t)}).call(this,r(3))},function(n,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"==typeof window&&(r=window)}n.exports=r},function(n,e){var r,t,A=n.exports={};function i(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function f(n){if(r===setTimeout)return setTimeout(n,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(n,0);try{return r(n,0)}catch(e){try{return r.call(null,n,0)}catch(e){return r.call(this,n,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(n){r=i}try{t="function"==typeof clearTimeout?clearTimeout:u}catch(n){t=u}}();var o,c=[],l=!1,a=-1;function s(){l&&o&&(l=!1,o.length?c=o.concat(c):a=-1,c.length&&d())}function d(){if(!l){var n=f(s);l=!0;for(var e=c.length;e;){for(o=c,c=[];++a<e;)o&&o[a].run();a=-1,e=c.length}o=null,l=!1,function(n){if(t===clearTimeout)return clearTimeout(n);if((t===u||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(n);try{t(n)}catch(e){try{return t.call(null,n)}catch(e){return t.call(this,n)}}}(n)}}function b(n,e){this.fun=n,this.array=e}function h(){}A.nextTick=function(n){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new b(n,e)),1!==c.length||l||f(d)},b.prototype.run=function(){this.fun.apply(null,this.array)},A.title="browser",A.browser=!0,A.env={},A.argv=[],A.version="",A.versions={},A.on=h,A.addListener=h,A.once=h,A.off=h,A.removeListener=h,A.removeAllListeners=h,A.emit=h,A.prependListener=h,A.prependOnceListener=h,A.listeners=function(n){return[]},A.binding=function(n){throw new Error("process.binding is not supported")},A.cwd=function(){return"/"},A.chdir=function(n){throw new Error("process.chdir is not supported")},A.umask=function(){return 0}},function(n,e){},function(n,e,r){"use strict";r.r(e),r.d(e,"LASWorkerLoader",(function(){return t})),r.d(e,"LASLoader",(function(){return v})),r.d(e,"_typecheckLoader",(function(){return m}));const t={name:"LAS",id:"las",module:"las",version:"3.0.14",worker:!0,extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!0,binary:!0,tests:["LAS"],options:{las:{fp64:!1,skip:1,colorDepth:8}}};function A(n){let e=1/0,r=1/0,t=1/0,A=-1/0,i=-1/0,u=-1/0;const f=n.POSITION?n.POSITION.value:[],o=f&&f.length;for(let n=0;n<o;n+=3){const o=f[n],c=f[n+1],l=f[n+2];e=o<e?o:e,r=c<r?c:r,t=l<t?l:t,A=o>A?o:A,i=c>i?c:i,u=l>u?l:u}return[[e,r,t],[A,i,u]]}var i=r(1),u=r.n(i);function f(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}let o=null;const c={0:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15)}),1:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15)}),2:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15),color:[n.getUint16(20,!0),n.getUint16(22,!0),n.getUint16(24,!0)]}),3:n=>({position:[n.getInt32(0,!0),n.getInt32(4,!0),n.getInt32(8,!0)],intensity:n.getUint16(12,!0),classification:n.getUint8(15),color:[n.getUint16(28,!0),n.getUint16(30,!0),n.getUint16(32,!0)]})};function l(n,e={},r,t){t=void 0===t||0===t?1:t;const A=new e(n.slice(r,r+e.BYTES_PER_ELEMENT*t));if(1===t)return A[0];const i=[];for(let n=0;n<t;n++)i.push(A[n]);return i}function a(n){let e=131;const r={pointsOffset:l(n,Uint32Array,96),pointsFormatId:l(n,Uint8Array,104),pointsStructSize:l(n,Uint16Array,105),pointsCount:l(n,Uint32Array,107),scale:l(n,Float64Array,e,3)};e+=24,r.offset=l(n,Float64Array,e,3),e+=24;const t=l(n,Float64Array,e,6);return e+=48,r.maxs=[t[0],t[2],t[4]],r.mins=[t[1],t[3],t[5]],r}class s{constructor(n){f(this,"arraybuffer",void 0),f(this,"readOffset",0),f(this,"header",{pointsOffset:0,pointsFormatId:0,pointsStructSize:0,pointsCount:0,scale:[0,0,0],offset:[0,0,0],maxs:[0],mins:[0],totalToRead:0,totalRead:0,versionAsString:"",isCompressed:!0}),this.arraybuffer=n}open(){return!0}getHeader(){return this.header=a(this.arraybuffer),this.header}readData(n,e){const{header:r,arraybuffer:t}=this;if(!r)throw new Error("Cannot start reading data till a header request is issued");let A,{readOffset:i}=this;if(e<=1){n=Math.min(n,r.pointsCount-i),A=r.pointsOffset+i*r.pointsStructSize;const e=A+n*r.pointsStructSize;return i+=n,this.readOffset=i,{buffer:t.slice(A,e),count:n,hasMoreData:i<r.pointsCount}}const u=Math.min(n*e,r.pointsCount-i),f=Math.ceil(u/e);let o=0;const c=new Uint8Array(f*r.pointsStructSize);for(let n=0;n<u;n++){if(n%e==0){A=r.pointsOffset+i*r.pointsStructSize;const n=new Uint8Array(t,A,r.pointsStructSize);c.set(n,o*r.pointsStructSize),o++}i++}return this.readOffset=i,{buffer:c.buffer,count:o,hasMoreData:i<r.pointsCount}}close(){return this.arraybuffer=null,!0}}class d{constructor(n){f(this,"arraybuffer",void 0),f(this,"instance",null),f(this,"header",null),this.arraybuffer=n,o||(o=u()())}open(){try{const{arraybuffer:n}=this;this.instance=new o.LASZip;const e=new Uint8Array(n),r=o._malloc(n.byteLength);return this.instance.arraybuffer=n,this.instance.buf=r,o.HEAPU8.set(e,r),this.instance.open(r,n.byteLength),this.instance.readOffset=0,!0}catch(n){throw new Error("Failed to open file: "+n.message)}}getHeader(){if(!this.instance)throw new Error("You need to open the file before trying to read header");try{const n=a(this.instance.arraybuffer);return n.pointsFormatId&=63,this.header=n,n}catch(n){throw new Error("Failed to get header: "+n.message)}}readData(n,e,r){if(!this.instance)throw new Error("You need to open the file before trying to read stuff");const{header:t,instance:A}=this;if(!t)throw new Error("You need to query header before reading, I maintain state that way, sorry :(");try{const e=Math.min(n*r,t.pointsCount-A.readOffset),i=Math.ceil(e/r);let u=0;const f=new Uint8Array(i*t.pointsStructSize),c=o._malloc(t.pointsStructSize);for(let n=0;n<e;n++){if(A.getPoint(c),n%r==0){const n=new Uint8Array(o.HEAPU8.buffer,c,t.pointsStructSize);f.set(n,u*t.pointsStructSize),u++}A.readOffset++}return{buffer:f.buffer,count:u,hasMoreData:A.readOffset<t.pointsCount}}catch(n){throw new Error("Failed to read data: "+n.message)}}close(){try{return null!==this.instance&&(this.instance.delete(),this.instance=null),!0}catch(n){throw new Error("Failed to close file: "+n.message)}}}class b{constructor(n,e,r){f(this,"arrayb",void 0),f(this,"decoder",void 0),f(this,"pointsCount",void 0),f(this,"pointSize",void 0),f(this,"scale",void 0),f(this,"offset",void 0),f(this,"mins",void 0),f(this,"maxs",void 0),this.arrayb=n,this.decoder=c[r.pointsFormatId],this.pointsCount=e,this.pointSize=r.pointsStructSize,this.scale=r.scale,this.offset=r.offset,this.mins=r.mins,this.maxs=r.maxs}getPoint(n){if(n<0||n>=this.pointsCount)throw new Error("Point index out of range");const e=new DataView(this.arrayb,n*this.pointSize,this.pointSize);return this.decoder(e)}}class h{constructor(n){if(f(this,"arraybuffer",void 0),f(this,"formatId",0),f(this,"loader",void 0),f(this,"isCompressed",!0),f(this,"isOpen",!1),f(this,"version",0),f(this,"versionAsString",""),this.arraybuffer=n,this.determineVersion()>13)throw new Error("Only file versions <= 1.3 are supported at this time");if(this.determineFormat(),void 0===c[this.formatId])throw new Error("The point format ID is not supported");this.loader=this.isCompressed?new d(this.arraybuffer):new s(this.arraybuffer)}determineFormat(){const n=l(this.arraybuffer,Uint8Array,104),e=(128&n)>>7,r=(64&n)>>6;if(1===e&&1===r)throw new Error("Old style compression not supported");this.formatId=63&n,this.isCompressed=1===e||1===r}determineVersion(){const n=new Int8Array(this.arraybuffer,24,2);return this.version=10*n[0]+n[1],this.versionAsString=`${n[0]}.${n[1]}`,this.version}open(){this.loader.open()&&(this.isOpen=!0)}getHeader(){return this.loader.getHeader()}readData(n,e,r){return this.loader.readData(n,e,r)}close(){this.loader.close()&&(this.isOpen=!1)}getUnpacker(){return b}}function Z(n,e={}){var r;let t,i,u,f,o,c=0;const l={};return function(n,e,r={}){const t=new h(n);try{t.open();const n=t.getHeader(),A=t.getUnpacker(),i=Math.ceil(n.pointsCount/Math.max(1,e));n.totalToRead=i;let u=0;for(;;){const f=t.readData(1e5,0,e);u+=f.count,n.totalRead=u,n.versionAsString=f.versionAsString,n.isCompressed=f.isCompressed;const o=new A(f.buffer,f.count,n);if(r(o,n),!f.hasMoreData||u>=i)break}}catch(n){throw n}finally{t.close()}}(n,null===(r=e.las)||void 0===r?void 0:r.skip,(n={},r)=>{var A,a;if(!o){var s;o=r;const n=r.totalToRead,A=null!==(s=e.las)&&void 0!==s&&s.fp64?Float64Array:Float32Array;t=new A(3*n),i=r.pointsFormatId>=2?new Uint8Array(4*n):null,u=new Uint16Array(n),f=new Uint8Array(n),Object.assign(l,{loaderData:{header:r},mode:0,attributes:{POSITION:{value:t,size:3},intensity:{value:u,size:1},classification:{value:f,size:1}}}),i&&(l.attributes.COLOR_0={value:i,size:4})}const d=n.pointsCount,{scale:[b,h,Z],offset:[v,m,V]}=r,p=function(n={},e,r){let t=!1;switch(r){case 8:t=!1;break;case 16:t=!0;break;case"auto":if(n.getPoint(0).color)for(let r=0;r<e;r++){const{color:e}=n.getPoint(r);(e[0]>255||e[1]>255||e[2]>255)&&(t=!0)}break;default:console.warn("las: illegal value for options.las.colorDepth")}return t}(n,d,null===(A=e.las)||void 0===A?void 0:A.colorDepth);for(let e=0;e<d;e++){const{position:r,color:A,intensity:o,classification:l}=n.getPoint(e);t[3*c]=r[0]*b+v,t[3*c+1]=r[1]*h+m,t[3*c+2]=r[2]*Z+V,A&&i&&(p?(i[4*c]=A[0]/256,i[4*c+1]=A[1]/256,i[4*c+2]=A[2]/256):(i[4*c]=A[0],i[4*c+1]=A[1],i[4*c+2]=A[2]),i[4*c+3]=255),u[c]=o,f[c]=l,c++}null==e||null===(a=e.onProgress)||void 0===a||a.call(e,Object.assign({header:{vertexCount:r.totalRead},progress:r.totalRead/r.totalToRead},l))}),l.header={vertexCount:o.totalToRead,boundingBox:A(l.attributes)},l}const v={...t,parse:async(n,e)=>Z(n,e),parseSync:(n,e)=>Z(n,e)},m=v}])}));
2
2
  //# sourceMappingURL=dist.min.js.map