diff --git a/README.md b/README.md index d2ad181..26a1445 100755 --- a/README.md +++ b/README.md @@ -49,6 +49,14 @@ and add this object to your loaders: } ``` +also, if you have some problems with fs, you can add this to your webpack config: + +```js +node: { + fs: 'empty', +}, +``` + ## Motivation asm-dom is a minimal WebAssembly virtual DOM focused on performance. It is born from the idea to test the powerful of WebAssembly in a common use case that is not gaming, VR, AR or Image / video editing. Unfortunately, at the moment, [GC / DOM / Web API Integration](http://webassembly.org/docs/gc/) is a future feature 🦄, so, asm-dom isn't totally developed in wasm. All interactions with the DOM are written in Javascript. This is a big disadvantage because of the overhead of the binding between JS and WASM, in the future asm-dom will be even more powerful, anyway results are satisfying. Last but not least, this project aims to be an example for those who want to try WebAssembly and emscripten! @@ -96,7 +104,7 @@ By default asm-dom returns an `init` function that takes an optional configurati By default asm-dom uses WebAssembly if supported, otherwise asm.js -Please note that **this function have to be called only one time in your application**. +Please note that **this function creates the module only the first time that is called, the next times returns a Promise that resolve with the same, cached object**. ```js import init from 'asm-dom'; @@ -152,8 +160,7 @@ patch(vnode, newVnode); Here is a list of things that have to be done to complete this project: - examples -- sometimes tests fail in a non-deterministic way with error `err.uncaught = true;` -- use requestAnimationFrame? (there is a branch with this name) +- sometimes tests fail in a non-deterministic way with error `err.uncaught = true;` - use the closure compiler (cause problems with wasm, need to update emscripten) ## Benchmarks diff --git a/compiled/asm-dom.bc b/compiled/asm-dom.bc index f55fd58..9e083ac 100644 Binary files a/compiled/asm-dom.bc and b/compiled/asm-dom.bc differ diff --git a/compiled/asm-dom.o b/compiled/asm-dom.o index f55fd58..9e083ac 100644 Binary files a/compiled/asm-dom.o and b/compiled/asm-dom.o differ diff --git a/compiled/asmjs/asm-dom.asm.js b/compiled/asmjs/asm-dom.asm.js index 49c587d..9746789 100644 --- a/compiled/asmjs/asm-dom.asm.js +++ b/compiled/asmjs/asm-dom.asm.js @@ -49,8 +49,8 @@ function(a,c,b){window.asmDomHelpers.domApi.insertBefore(a,c,window.asmDomHelper Ta=l.N;C=Ta+9056;Pa.push({T:function(){gc()}},{T:function(){hc()}});U([8,4,0,0,153,11,0,0,176,4,0,0,12,12,0,0,0,0,0,0,8,0,0,0,176,4,0,0,128,12,0,0,1,0,0,0,8,0,0,0,8,4,0,0,1,13,0,0,8,4,0,0,83,13,0,0,204,4,0,0,20,13,0,0,0,0,0,0,1,0,0,0,56,0,0,0,0,0,0,0,8,4,0,0,229,13,0,0,204,4,0,0,185,13,0,0,0,0,0,0,1,0,0,0,88,0,0,0,0,0,0,0,204,4,0,0,149,13,0,0,0,0,0,0,1,0,0,0,96,0,0,0,0,0,0,0,176,4,0,0,10,14,0,0,0,0,0,0,120,0,0,0,176,4,0,0,47,14,0,0,1,0,0,0,120,0,0,0,204,4,0,0,216,18,0,0,0,0,0,0,1,0,0,0,56,0,0,0,0, 0,0,0,204,4,0,0,153,18,0,0,0,0,0,0,1,0,0,0,56,0,0,0,0,0,0,0,8,4,0,0,122,18,0,0,8,4,0,0,91,18,0,0,8,4,0,0,60,18,0,0,8,4,0,0,29,18,0,0,8,4,0,0,254,17,0,0,8,4,0,0,223,17,0,0,8,4,0,0,192,17,0,0,8,4,0,0,161,17,0,0,8,4,0,0,130,17,0,0,8,4,0,0,99,17,0,0,8,4,0,0,68,17,0,0,8,4,0,0,37,17,0,0,8,4,0,0,93,30,0,0,48,4,0,0,189,30,0,0,88,1,0,0,0,0,0,0,48,4,0,0,106,30,0,0,104,1,0,0,0,0,0,0,8,4,0,0,139,30,0,0,48,4,0,0,152,30,0,0,72,1,0,0,0,0,0,0,48,4,0,0,174,31,0,0,64,1,0,0,0,0,0,0,48,4,0,0,187,31,0,0,64,1,0,0,0,0, 0,0,48,4,0,0,203,31,0,0,144,1,0,0,0,0,0,0,48,4,0,0,0,32,0,0,88,1,0,0,0,0,0,0,48,4,0,0,220,31,0,0,176,1,0,0,0,0,0,0,48,4,0,0,34,32,0,0,88,1,0,0,0,0,0,0,148,4,0,0,74,32,0,0,148,4,0,0,76,32,0,0,148,4,0,0,79,32,0,0,148,4,0,0,81,32,0,0,148,4,0,0,83,32,0,0,148,4,0,0,85,32,0,0,148,4,0,0,87,32,0,0,148,4,0,0,89,32,0,0,148,4,0,0,91,32,0,0,148,4,0,0,93,32,0,0,148,4,0,0,95,32,0,0,148,4,0,0,97,32,0,0,148,4,0,0,99,32,0,0,148,4,0,0,101,32,0,0,48,4,0,0,103,32,0,0,72,1,0,0,0,0,0,0,16,0,0,0,40,2,0,0,32,0,0,0,48,0, -0,0,8,0,0,0,64,0,0,0,224,1,0,0,8,0,0,0,64,0,0,0,64,0,0,0,144,0,0,0,224,1,0,0,144,0,0,0,40,2,0,0,224,1,0,0,144,0,0,0,40,2,0,0,40,2,0,0,40,2,0,0,160,0,0,0,48,0,0,0,120,0,0,0,40,2,0,0,240,1,0,0,120,0,0,0,40,2,0,0,40,2,0,0,40,2,0,0,64,0,0,0,40,2,0,0,64,0,0,0,240,1,0,0,40,2,0,0,64,0,0,0,40,2,0,0,40,2,0,0,64,0,0,0,64,0,0,0,40,2,0,0,64,0,0,0,8,0,0,0,40,2,0,0,64,0,0,0,120,0,0,0,40,2,0,0,64,0,0,0,8,0,0,0,40,2,0,0,40,2,0,0,64,0,0,0,8,0,0,0,64,0,0,0,40,2,0,0,64,0,0,0,8,0,0,0,120,0,0,0,40,2,0,0,64,0,0,0,64,0, -0,0,8,0,0,0,120,0,0,0,40,2,0,0,64,0,0,0,8,0,0,0,32,2,0,0,224,1,0,0,40,2,0,0,32,2,0,0,40,2,0,0,40,2,0,0,40,2,0,0,40,2,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,92,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,72,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,112,1,0,0,1,0,0,0,5,0,0, +0,0,8,0,0,0,64,0,0,0,224,1,0,0,8,0,0,0,64,0,0,0,64,0,0,0,144,0,0,0,224,1,0,0,144,0,0,0,32,2,0,0,224,1,0,0,144,0,0,0,40,2,0,0,32,2,0,0,40,2,0,0,160,0,0,0,48,0,0,0,120,0,0,0,40,2,0,0,240,1,0,0,120,0,0,0,40,2,0,0,32,2,0,0,32,2,0,0,64,0,0,0,32,2,0,0,64,0,0,0,240,1,0,0,32,2,0,0,64,0,0,0,32,2,0,0,32,2,0,0,64,0,0,0,64,0,0,0,32,2,0,0,64,0,0,0,8,0,0,0,32,2,0,0,64,0,0,0,120,0,0,0,32,2,0,0,64,0,0,0,8,0,0,0,32,2,0,0,32,2,0,0,64,0,0,0,8,0,0,0,64,0,0,0,32,2,0,0,64,0,0,0,8,0,0,0,120,0,0,0,32,2,0,0,64,0,0,0,64,0, +0,0,8,0,0,0,120,0,0,0,32,2,0,0,64,0,0,0,8,0,0,0,32,2,0,0,224,1,0,0,32,2,0,0,32,2,0,0,32,2,0,0,32,2,0,0,32,2,0,0,32,2,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,92,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,72,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,112,1,0,0,1,0,0,0,5,0,0, 0,3,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,128,1,0,0,6,0,0,0,7,0,0,0,2,0,0,0,0,0,0,0,144,1,0,0,8,0,0,0,9,0,0,0,3,0,0,0,0,0,0,0,160,1,0,0,8,0,0,0,10,0,0,0,3,0,0,0,0,0,0,0,208,1,0,0,1,0,0,0,11,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,192,1,0,0,1,0,0,0,12,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,80,2,0,0,1,0,0,0,13,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,77,97,112,83,116,114,105,110,103,83,116,114,105,110,103,0,86,78,111,100,101,80,116,114,86,101,99,116,111,114,0,123,32,119,105, 110,100,111,119,91,39,97,115,109,68,111,109,72,101,108,112,101,114,115,39,93,91,39,100,105,102,102,39,93,40,36,48,44,32,36,49,44,32,36,50,41,59,32,125,0,123,32,119,105,110,100,111,119,91,39,97,115,109,68,111,109,72,101,108,112,101,114,115,39,93,91,39,100,111,109,65,112,105,39,93,91,39,114,101,109,111,118,101,65,116,116,114,105,98,117,116,101,39,93,40,32,36,48,44,32,119,105,110,100,111,119,91,39,97,115,109,68,111,109,39,93,91,39,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,39, 93,40,36,49,41,32,41,59,32,125,0,123,32,119,105,110,100,111,119,91,39,97,115,109,68,111,109,72,101,108,112,101,114,115,39,93,91,39,100,111,109,65,112,105,39,93,91,39,115,101,116,65,116,116,114,105,98,117,116,101,39,93,40,32,36,48,44,32,119,105,110,100,111,119,91,39,97,115,109,68,111,109,39,93,91,39,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,39,93,40,36,49,41,44,32,119,105,110,100,111,119,91,39,97,115,109,68,111,109,39,93,91,39,80,111,105,110,116,101,114,95,115,116,114,105,110, @@ -67,8 +67,8 @@ Ta=l.N;C=Ta+9056;Pa.push({T:function(){gc()}},{T:function(){hc()}});U([8,4,0,0,1 73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,83,54,95,78,83,95,52,108,101,115,115,73,83,54,95,69,69,78,83,52,95,73,78,83,95,52,112,97,105,114,73,75,83,54,95,83,54,95,69,69,69,69,69,69,0,80,78,83,116,51,95,95,50,51,109,97,112,73,78,83,95,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99, 69,69,69,69,83,54,95,78,83,95,52,108,101,115,115,73,83,54,95,69,69,78,83,52,95,73,78,83,95,52,112,97,105,114,73,75,83,54,95,83,54,95,69,69,69,69,69,69,0,80,75,78,83,116,51,95,95,50,51,109,97,112,73,78,83,95,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,83,54,95,78,83,95,52,108,101,115,115,73,83,54,95,69,69,78,83,52,95,73,78,83,95,52,112,97,105,114,73,75,83,54, 95,83,54,95,69,69,69,69,69,69,0,105,105,0,118,0,118,105,0,105,105,105,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,78,83,116,51,95,95,50,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,50,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,105,105,105,105,0,118,105, -105,105,105,0,112,117,115,104,95,98,97,99,107,0,114,101,115,105,122,101,0,78,83,116,51,95,95,50,54,118,101,99,116,111,114,73,106,78,83,95,57,97,108,108,111,99,97,116,111,114,73,106,69,69,69,69,0,78,83,116,51,95,95,50,49,51,95,95,118,101,99,116,111,114,95,98,97,115,101,73,106,78,83,95,57,97,108,108,111,99,97,116,111,114,73,106,69,69,69,69,0,78,83,116,51,95,95,50,50,48,95,95,118,101,99,116,111,114,95,98,97,115,101,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,80,78,83,116,51,95,95,50,54,118,101, -99,116,111,114,73,106,78,83,95,57,97,108,108,111,99,97,116,111,114,73,106,69,69,69,69,0,80,75,78,83,116,51,95,95,50,54,118,101,99,116,111,114,73,106,78,83,95,57,97,108,108,111,99,97,116,111,114,73,106,69,69,69,69,0,118,105,105,105,0,105,105,105,105,105,0,109,97,112,58,58,97,116,58,32,32,107,101,121,32,110,111,116,32,102,111,117,110,100,0,105,105,105,105,105,105,0,118,105,105,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,115, +105,105,105,0,112,117,115,104,95,98,97,99,107,0,114,101,115,105,122,101,0,78,83,116,51,95,95,50,54,118,101,99,116,111,114,73,105,78,83,95,57,97,108,108,111,99,97,116,111,114,73,105,69,69,69,69,0,78,83,116,51,95,95,50,49,51,95,95,118,101,99,116,111,114,95,98,97,115,101,73,105,78,83,95,57,97,108,108,111,99,97,116,111,114,73,105,69,69,69,69,0,78,83,116,51,95,95,50,50,48,95,95,118,101,99,116,111,114,95,98,97,115,101,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,80,78,83,116,51,95,95,50,54,118,101, +99,116,111,114,73,105,78,83,95,57,97,108,108,111,99,97,116,111,114,73,105,69,69,69,69,0,80,75,78,83,116,51,95,95,50,54,118,101,99,116,111,114,73,105,78,83,95,57,97,108,108,111,99,97,116,111,114,73,105,69,69,69,69,0,118,105,105,105,0,105,105,105,105,105,0,109,97,112,58,58,97,116,58,32,32,107,101,121,32,110,111,116,32,102,111,117,110,100,0,105,105,105,105,105,105,0,118,105,105,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,115, 116,100,58,58,119,115,116,114,105,110,103,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109, 115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110, 116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116, @@ -130,7 +130,7 @@ DYNAMICTOP_PTR:T,tempDoublePtr:ic,ABORT:na,STACKTOP:B,STACK_MAX:Ea,cttz_i8:pc};/ var k=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_iiii;var aa=env.invoke_viiiii;var ba=env.invoke_i;var ca=env.invoke_vi;var da=env.invoke_vii;var ea=env.invoke_ii;var fa=env.invoke_viii;var ga=env.invoke_v;var ha=env.invoke_iiiii;var ia=env.invoke_viiiiii;var ja=env.invoke_iii;var ka=env.invoke_iiiiii;var la=env.invoke_viiii;var ma=env.floatReadValueFromPointer;var na=env.simpleReadValueFromPointer;var oa=env.throwInternalError;var pa=env.get_first_emval;var qa=env.getLiveInheritedInstances;var ra=env.___assert_fail;var sa=env.__ZSt18uncaught_exceptionv;var ta=env.ClassHandle;var ua=env._emscripten_asm_const_ii;var va=env.getShiftFromSize;var wa=env.___cxa_begin_catch;var xa=env._emscripten_memcpy_big;var ya=env.runDestructor;var za=env.throwInstanceAlreadyDeleted;var Aa=env.__embind_register_std_string;var Ba=env.init_RegisteredPointer;var Ca=env.__embind_register_class_function;var Da=env.flushPendingDeletes;var Ea=env.makeClassHandle;var Fa=env.whenDependentTypesAreResolved;var Ga=env.__embind_register_class_constructor;var Ha=env.init_ClassHandle;var Ia=env.___syscall140;var Ja=env.ClassHandle_clone;var Ka=env.___syscall146;var La=env.RegisteredClass;var Ma=env.___cxa_find_matching_catch;var Na=env.embind_init_charCodes;var Oa=env.___setErrNo;var Pa=env.__embind_register_bool;var Qa=env.___resumeException;var Ra=env.createNamedFunction;var Sa=env.__embind_register_emval;var Ta=env.__emval_decref;var Ua=env._pthread_once;var Va=env.__embind_register_class;var Wa=env.constNoSmartPtrRawPointerToWireType;var Xa=env.heap32VectorToArray;var Ya=env.ClassHandle_delete;var Za=env.RegisteredPointer_destructor;var _a=env.___syscall6;var $a=env.ensureOverloadTable;var ab=env.new_;var bb=env.downcastPointer;var cb=env.replacePublicSymbol;var db=env.init_embind;var eb=env.ClassHandle_deleteLater;var fb=env.RegisteredPointer_deleteObject;var gb=env.ClassHandle_isDeleted;var hb=env.__embind_register_integer;var ib=env.___cxa_allocate_exception;var jb=env.__emval_take_value;var kb=env._embind_repr;var lb=env._pthread_getspecific;var mb=env.throwUnboundTypeError;var nb=env.craftInvokerFunction;var ob=env.runDestructors;var pb=env.requireRegisteredType;var qb=env.makeLegalFunctionName;var rb=env._pthread_key_create;var sb=env.upcastPointer;var tb=env.init_emval;var ub=env.shallowCopyInternalPointer;var vb=env._emscripten_asm_const_iii;var wb=env.nonConstNoSmartPtrRawPointerToWireType;var xb=env.genericPointerToWireType;var yb=env._abort;var zb=env.throwBindingError;var Ab=env.getTypeName;var Bb=env.exposePublicSymbol;var Cb=env.RegisteredPointer_fromWireType;var Db=env.__embind_register_memory_view;var Eb=env.getInheritedInstance;var Fb=env.setDelayFunction;var Gb=env.___gxx_personality_v0;var Hb=env.extendError;var Ib=env.__embind_register_void;var Jb=env.__embind_register_function;var Kb=env.RegisteredPointer_getPointee;var Lb=env.__emval_register;var Mb=env.__embind_register_std_wstring;var Nb=env.ClassHandle_isAliasOf;var Ob=env.__emval_incref;var Pb=env.RegisteredPointer;var Qb=env.readLatin1String;var Rb=env.getBasestPointer;var Sb=env.getInheritedInstanceCount;var Tb=env.__embind_register_float;var Ub=env.integerReadValueFromPointer;var Vb=env._pthread_setspecific;var Wb=env._emscripten_asm_const_iiii;var Xb=env.registerType;var Yb=env.___cxa_throw;var Zb=env.count_emval_handles;var _b=env.requireFunction;var $b=0.0; // EMSCRIPTEN_START_FUNCS -function nc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;do if(a>>>0<245){r=a>>>0<11?16:a+11&-8;o=c[2133]|0;if(o>>>(r>>>3)&3|0){d=8572+((o>>>(r>>>3)&1^1)+(r>>>3)<<1<<2)|0;a=c[d+8>>2]|0;b=c[a+8>>2]|0;do if((d|0)!=(b|0)){if(b>>>0<(c[2137]|0)>>>0)yb();if((c[b+12>>2]|0)==(a|0)){c[b+12>>2]=d;c[d+8>>2]=b;break}else yb()}else c[2133]=o&~(1<<(o>>>(r>>>3)&1^1)+(r>>>3));while(0);G=(o>>>(r>>>3)&1^1)+(r>>>3)<<3;c[a+4>>2]=G|3;c[a+G+4>>2]=c[a+G+4>>2]|1;G=a+8|0;l=H;return G|0}p=c[2135]|0;if(r>>>0>p>>>0){if(o>>>(r>>>3)|0){a=o>>>(r>>>3)<<(r>>>3)&(2<<(r>>>3)|0-(2<<(r>>>3)));d=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);e=d>>>(d>>>5&8)>>>(d>>>(d>>>5&8)>>>2&4);e=(d>>>5&8|((a&0-a)+-1|0)>>>12&16|d>>>(d>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))|0;d=c[8572+(e<<1<<2)+8>>2]|0;a=c[d+8>>2]|0;do if((8572+(e<<1<<2)|0)!=(a|0)){if(a>>>0<(c[2137]|0)>>>0)yb();if((c[a+12>>2]|0)==(d|0)){c[a+12>>2]=8572+(e<<1<<2);c[8572+(e<<1<<2)+8>>2]=a;f=o;break}else yb()}else{c[2133]=o&~(1<>2]=r|3;c[d+r+4>>2]=(e<<3)-r|1;c[d+r+((e<<3)-r)>>2]=(e<<3)-r;if(p|0){b=c[2138]|0;if(f&1<<(p>>>3)){a=c[8572+(p>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{h=8572+(p>>>3<<1<<2)+8|0;i=a}}else{c[2133]=f|1<<(p>>>3);h=8572+(p>>>3<<1<<2)+8|0;i=8572+(p>>>3<<1<<2)|0}c[h>>2]=b;c[i+12>>2]=b;c[b+8>>2]=i;c[b+12>>2]=8572+(p>>>3<<1<<2)}c[2135]=(e<<3)-r;c[2138]=d+r;G=d+8|0;l=H;return G|0}k=c[2134]|0;if(k){b=((k&0-k)+-1|0)>>>(((k&0-k)+-1|0)>>>12&16);d=b>>>(b>>>5&8)>>>(b>>>(b>>>5&8)>>>2&4);d=c[8836+((b>>>5&8|((k&0-k)+-1|0)>>>12&16|b>>>(b>>>5&8)>>>2&4|d>>>1&2|d>>>(d>>>1&2)>>>1&1)+(d>>>(d>>>1&2)>>>(d>>>(d>>>1&2)>>>1&1))<<2)>>2]|0;b=(c[d+4>>2]&-8)-r|0;a=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a)j=b;else{do{F=(c[a+4>>2]&-8)-r|0;G=F>>>0>>0;b=G?F:b;d=G?a:d;a=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=b}g=c[2137]|0;if(d>>>0>>0)yb();i=d+r|0;if(d>>>0>=i>>>0)yb();h=c[d+24>>2]|0;a=c[d+12>>2]|0;do if((a|0)==(d|0)){b=d+20|0;a=c[b>>2]|0;if(!a){b=d+16|0;a=c[b>>2]|0;if(!a){m=0;break}}while(1){f=a+20|0;e=c[f>>2]|0;if(e|0){a=e;b=f;continue}f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;b=f}}if(b>>>0>>0)yb();else{c[b>>2]=0;m=a;break}}else{b=c[d+8>>2]|0;if(b>>>0>>0)yb();if((c[b+12>>2]|0)!=(d|0))yb();if((c[a+8>>2]|0)==(d|0)){c[b+12>>2]=a;c[a+8>>2]=b;m=a;break}else yb()}while(0);a:do if(h|0){a=c[d+28>>2]|0;b=(m|0)==0;do if((d|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=m;if(b){c[2134]=k&~(1<>>0>=(c[2137]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(d|0)&1)<<2)>>2]=m;if(b)break a;else break}else yb();while(0);b=c[2137]|0;if(m>>>0>>0)yb();c[m+24>>2]=h;a=c[d+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[m+16>>2]=a;c[a+24>>2]=m;break}while(0);a=c[d+20>>2]|0;if(a|0)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}while(0);if(j>>>0<16){G=j+r|0;c[d+4>>2]=G|3;G=d+G+4|0;c[G>>2]=c[G>>2]|1}else{c[d+4>>2]=r|3;c[i+4>>2]=j|1;c[i+j>>2]=j;if(p|0){b=c[2138]|0;if(1<<(p>>>3)&o){a=c[8572+(p>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{n=8572+(p>>>3<<1<<2)+8|0;q=a}}else{c[2133]=1<<(p>>>3)|o;n=8572+(p>>>3<<1<<2)+8|0;q=8572+(p>>>3<<1<<2)|0}c[n>>2]=b;c[q+12>>2]=b;c[b+8>>2]=q;c[b+12>>2]=8572+(p>>>3<<1<<2)}c[2135]=j;c[2138]=i}G=d+8|0;l=H;return G|0}}}else if(a>>>0<=4294967231){r=a+11&-8;k=c[2134]|0;if(k){if((a+11|0)>>>8)if(r>>>0>16777215)j=31;else{j=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);j=14-((j+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)+(j<<((j+520192|0)>>>16&4)<<(((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;j=r>>>(j+7|0)&1|j<<1}else j=0;a=c[8836+(j<<2)>>2]|0;b:do if(!a){d=0-r|0;a=0;b=0;z=81}else{h=0-r|0;f=0;i=r<<((j|0)==31?0:25-(j>>>1)|0);b=0;while(1){d=(c[a+4>>2]&-8)-r|0;if(d>>>0>>0)if(!d){d=0;e=a;b=a;z=85;break b}else b=a;else d=h;e=c[a+20>>2]|0;a=c[a+16+(i>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(a|0)?f:e;e=(a|0)==0;if(e){a=f;z=81;break}else{h=d;i=i<<((e^1)&1)}}}while(0);if((z|0)==81){if((a|0)==0&(b|0)==0){a=2<>>(q>>>12&16)>>>(q>>>(q>>>12&16)>>>5&8);a=b>>>(b>>>2&4)>>>(b>>>(b>>>2&4)>>>1&2);a=c[8836+((q>>>(q>>>12&16)>>>5&8|q>>>12&16|b>>>2&4|b>>>(b>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0;b=0}if(!a){i=d;j=b}else{e=a;z=85}}if((z|0)==85)while(1){z=0;a=(c[e+4>>2]&-8)-r|0;q=a>>>0>>0;a=q?a:d;b=q?e:b;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=a;j=b;break}else{d=a;z=85}}if((j|0)!=0?i>>>0<((c[2135]|0)-r|0)>>>0:0){f=c[2137]|0;if(j>>>0>>0)yb();h=j+r|0;if(j>>>0>=h>>>0)yb();g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(d|0){a=d;b=e;continue}e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}if(b>>>0>>0)yb();else{c[b>>2]=0;o=a;break}}else{b=c[j+8>>2]|0;if(b>>>0>>0)yb();if((c[b+12>>2]|0)!=(j|0))yb();if((c[a+8>>2]|0)==(j|0)){c[b+12>>2]=a;c[a+8>>2]=b;o=a;break}else yb()}while(0);c:do if(g){a=c[j+28>>2]|0;b=(o|0)==0;do if((j|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=o;if(b){c[2134]=k&~(1<>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=o;if(b){v=k;break c}else break}else yb();while(0);b=c[2137]|0;if(o>>>0>>0)yb();c[o+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[j+20>>2]|0;if(a)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[o+20>>2]=a;c[a+24>>2]=o;v=k;break}else v=k}else v=k;while(0);do if(i>>>0>=16){c[j+4>>2]=r|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){a=c[2133]|0;if(a&1<>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{p=8572+(b<<1<<2)+8|0;u=a}}else{c[2133]=a|1<>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=8572+(b<<1<<2);break}a=i>>>8;if(a)if(i>>>0>16777215)a=31;else{G=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);a=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(G+245760|0)>>>16&2)+(G<<((G+245760|0)>>>16&2)>>>15)|0;a=i>>>(a+7|0)&1|a<<1}else a=0;d=8836+(a<<2)|0;c[h+28>>2]=a;c[h+16+4>>2]=0;c[h+16>>2]=0;b=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=i<<((a|0)==31?0:25-(a>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){z=139;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=136;break}else{b=b<<1;e=a}}if((z|0)==136)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((z|0)==139){b=e+8|0;a=c[b>>2]|0;G=c[2137]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else yb()}}else{G=i+r|0;c[j+4>>2]=G|3;G=j+G+4|0;c[G>>2]=c[G>>2]|1}while(0);G=j+8|0;l=H;return G|0}}}else r=-1;while(0);d=c[2135]|0;if(d>>>0>=r>>>0){b=d-r|0;a=c[2138]|0;if(b>>>0>15){G=a+r|0;c[2138]=G;c[2135]=b;c[G+4>>2]=b|1;c[G+b>>2]=b;c[a+4>>2]=r|3}else{c[2135]=0;c[2138]=0;c[a+4>>2]=d|3;c[a+d+4>>2]=c[a+d+4>>2]|1}G=a+8|0;l=H;return G|0}f=c[2136]|0;if(f>>>0>r>>>0){E=f-r|0;c[2136]=E;G=c[2139]|0;F=G+r|0;c[2139]=F;c[F+4>>2]=E|1;c[G+4>>2]=r|3;G=G+8|0;l=H;return G|0}if(!(c[2251]|0)){c[2253]=4096;c[2252]=4096;c[2254]=-1;c[2255]=-1;c[2256]=0;c[2244]=0;c[H>>2]=H&-16^1431655768;c[2251]=H&-16^1431655768;a=4096}else a=c[2253]|0;h=r+48|0;i=r+47|0;k=a+i|0;j=0-a|0;if((k&j)>>>0<=r>>>0){G=0;l=H;return G|0}a=c[2243]|0;if(a|0?(v=c[2241]|0,(v+(k&j)|0)>>>0<=v>>>0?1:(v+(k&j)|0)>>>0>a>>>0):0){G=0;l=H;return G|0}d:do if(!(c[2244]&4)){b=c[2139]|0;e:do if(b){d=8980;while(1){a=c[d>>2]|0;if(a>>>0<=b>>>0?(t=d+4|0,(a+(c[t>>2]|0)|0)>>>0>b>>>0):0)break;a=c[d+8>>2]|0;if(!a){z=163;break e}else d=a}if((k-f&j)>>>0<2147483647){a=_d(k-f&j|0)|0;if((a|0)==((c[d>>2]|0)+(c[t>>2]|0)|0))if((a|0)==(-1|0))a=k-f&j;else{h=a;g=k-f&j;z=180;break d}else{e=a;d=k-f&j;z=171}}else a=0}else z=163;while(0);do if((z|0)==163){b=_d(0)|0;if((b|0)!=(-1|0)?(g=c[2252]|0,g=((g+-1&b|0)==0?0:(g+-1+b&0-g)-b|0)+(k&j)|0,s=c[2241]|0,g>>>0>r>>>0&g>>>0<2147483647):0){v=c[2243]|0;if(v|0?(g+s|0)>>>0<=s>>>0|(g+s|0)>>>0>v>>>0:0){a=0;break}a=_d(g|0)|0;if((a|0)==(b|0)){h=b;z=180;break d}else{e=a;d=g;z=171}}else a=0}while(0);do if((z|0)==171){b=0-d|0;if(!(h>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=e;g=d;z=180;break d}a=c[2253]|0;a=i-d+a&0-a;if(a>>>0>=2147483647){h=e;g=d;z=180;break d}if((_d(a|0)|0)==(-1|0)){_d(b|0)|0;a=0;break}else{h=e;g=a+d|0;z=180;break d}}while(0);c[2244]=c[2244]|4;z=178}else{a=0;z=178}while(0);if(((z|0)==178?(k&j)>>>0<2147483647:0)?(w=_d(k&j|0)|0,x=_d(0)|0,y=(x-w|0)>>>0>(r+40|0)>>>0,!((w|0)==(-1|0)|y^1|w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))^1)):0){h=w;g=y?x-w|0:a;z=180}if((z|0)==180){a=(c[2241]|0)+g|0;c[2241]=a;if(a>>>0>(c[2242]|0)>>>0)c[2242]=a;k=c[2139]|0;do if(k){f=8980;while(1){a=c[f>>2]|0;e=f+4|0;b=c[e>>2]|0;if((h|0)==(a+b|0)){z=190;break}d=c[f+8>>2]|0;if(!d)break;else f=d}if(((z|0)==190?(c[f+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[e>>2]=b+g;F=(k+8&7|0)==0?0:0-(k+8)&7;G=(c[2136]|0)+(g-F)|0;c[2139]=k+F;c[2136]=G;c[k+F+4>>2]=G|1;c[k+F+G+4>>2]=40;c[2140]=c[2255];break}a=c[2137]|0;if(h>>>0>>0){c[2137]=h;j=h}else j=a;d=h+g|0;b=8980;while(1){if((c[b>>2]|0)==(d|0)){z=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((z|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=h;n=b+4|0;c[n>>2]=(c[n>>2]|0)+g;n=h+8|0;n=h+((n&7|0)==0?0:0-n&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;m=n+r|0;i=a-n-r|0;c[n+4>>2]=r|3;do if((a|0)!=(k|0)){if((a|0)==(c[2138]|0)){G=(c[2135]|0)+i|0;c[2135]=G;c[2138]=m;c[m+4>>2]=G|1;c[m+G>>2]=G;break}h=c[a+4>>2]|0;if((h&3|0)==1){f:do if(h>>>0>=256){g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){E=0;break}else f=a+16|0}else f=a+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(d|0){b=d;f=e;continue}e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;f=e}}if(f>>>0>>0)yb();else{c[f>>2]=0;E=b;break}}else{d=c[a+8>>2]|0;if(d>>>0>>0)yb();if((c[d+12>>2]|0)!=(a|0))yb();if((c[b+8>>2]|0)==(a|0)){c[d+12>>2]=b;c[b+8>>2]=d;E=b;break}else yb()}while(0);if(!g)break;b=c[a+28>>2]|0;d=(E|0)==0;do if((a|0)!=(c[8836+(b<<2)>>2]|0))if(g>>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(a|0)&1)<<2)>>2]=E;if(d)break f;else break}else yb();else{c[8836+(b<<2)>>2]=E;if(!d)break;c[2134]=c[2134]&~(1<>>0>>0)yb();c[E+24>>2]=g;b=c[a+16>>2]|0;do if(b|0)if(b>>>0>>0)yb();else{c[E+16>>2]=b;c[b+24>>2]=E;break}while(0);b=c[a+16+4>>2]|0;if(!b)break;if(b>>>0<(c[2137]|0)>>>0)yb();else{c[E+20>>2]=b;c[b+24>>2]=E;break}}else{b=c[a+8>>2]|0;d=c[a+12>>2]|0;do if((b|0)!=(8572+(h>>>3<<1<<2)|0)){if(b>>>0>>0)yb();if((c[b+12>>2]|0)==(a|0))break;yb()}while(0);if((d|0)==(b|0)){c[2133]=c[2133]&~(1<<(h>>>3));break}do if((d|0)==(8572+(h>>>3<<1<<2)|0))D=d+8|0;else{if(d>>>0>>0)yb();if((c[d+8>>2]|0)==(a|0)){D=d+8|0;break}yb()}while(0);c[b+12>>2]=d;c[D>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;b=a+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){a=c[2133]|0;do if(!(a&1<>2]|0;if(a>>>0>=(c[2137]|0)>>>0){F=8572+(b<<1<<2)+8|0;G=a;break}yb()}while(0);c[F>>2]=m;c[G+12>>2]=m;c[m+8>>2]=G;c[m+12>>2]=8572+(b<<1<<2);break}a=f>>>8;do if(!a)b=0;else{if(f>>>0>16777215){b=31;break}b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=8836+(b<<2)|0;c[m+28>>2]=b;c[m+16+4>>2]=0;c[m+16>>2]=0;a=c[2134]|0;d=1<>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}b=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){z=265;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=262;break}else{b=b<<1;e=a}}if((z|0)==262)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((z|0)==265){b=e+8|0;a=c[b>>2]|0;G=c[2137]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else yb()}}else{G=(c[2136]|0)+i|0;c[2136]=G;c[2139]=m;c[m+4>>2]=G|1}while(0);G=n+8|0;l=H;return G|0}b=8980;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(A=a+(c[b+4>>2]|0)|0,A>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=A+-47+((A+-47+8&7|0)==0?0:0-(A+-47+8)&7)|0;f=f>>>0<(k+16|0)>>>0?k:f;a=h+8|0;a=(a&7|0)==0?0:0-a&7;G=h+a|0;a=g+-40-a|0;c[2139]=G;c[2136]=a;c[G+4>>2]=a|1;c[G+a+4>>2]=40;c[2140]=c[2255];c[f+4>>2]=27;c[f+8>>2]=c[2245];c[f+8+4>>2]=c[2246];c[f+8+8>>2]=c[2247];c[f+8+12>>2]=c[2248];c[2245]=h;c[2246]=g;c[2248]=0;c[2247]=f+8;a=f+24|0;do{G=a;a=a+4|0;c[a>>2]=7}while((G+8|0)>>>0>>0);if((f|0)!=(k|0)){c[f+4>>2]=c[f+4>>2]&-2;c[k+4>>2]=f-k|1;c[f>>2]=f-k;if((f-k|0)>>>0<256){b=8572+((f-k|0)>>>3<<1<<2)|0;a=c[2133]|0;if(a&1<<((f-k|0)>>>3)){a=c[b+8>>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{B=b+8|0;C=a}}else{c[2133]=a|1<<((f-k|0)>>>3);B=b+8|0;C=b}c[B>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=b;break}if((f-k|0)>>>8)if((f-k|0)>>>0>16777215)b=31;else{b=(f-k|0)>>>8<<((((f-k|0)>>>8)+1048320|0)>>>16&8);b=14-((b+520192|0)>>>16&4|(((f-k|0)>>>8)+1048320|0)>>>16&8|((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)+(b<<((b+520192|0)>>>16&4)<<(((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;b=(f-k|0)>>>(b+7|0)&1|b<<1}else b=0;e=8836+(b<<2)|0;c[k+28>>2]=b;c[k+20>>2]=0;c[k+16>>2]=0;a=c[2134]|0;d=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}b=f-k<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f-k|0)){z=292;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=289;break}else{b=b<<1;e=a}}if((z|0)==289)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((z|0)==292){b=e+8|0;a=c[b>>2]|0;G=c[2137]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else yb()}}}else{G=c[2137]|0;if((G|0)==0|h>>>0>>0)c[2137]=h;c[2245]=h;c[2246]=g;c[2248]=0;c[2142]=c[2251];c[2141]=-1;a=0;do{G=8572+(a<<1<<2)|0;c[G+12>>2]=G;c[G+8>>2]=G;a=a+1|0}while((a|0)!=32);G=h+8|0;G=(G&7|0)==0?0:0-G&7;F=h+G|0;G=g+-40-G|0;c[2139]=F;c[2136]=G;c[F+4>>2]=G|1;c[F+G+4>>2]=40;c[2140]=c[2255]}while(0);a=c[2136]|0;if(a>>>0>r>>>0){E=a-r|0;c[2136]=E;G=c[2139]|0;F=G+r|0;c[2139]=F;c[F+4>>2]=E|1;c[G+4>>2]=r|3;G=G+8|0;l=H;return G|0}}c[2260]=12;G=0;l=H;return G|0}function oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+32|0;c[d+48>>2]=c[b+48>>2];Ac(b,d);k=a[d+24+11>>0]|0;if(k<<24>>24<0)e=c[d+28>>2]|0;else e=k&255;if(e|0){if(k<<24>>24<0)i=c[d+28>>2]|0;else i=k&255;f=a[b+24+11>>0]|0;j=f<<24>>24<0?c[b+28>>2]|0:f&255;if(k<<24>>24<0)h=c[d+24>>2]|0;else h=d+24|0;g=j>>>0>>0;e=g?j:i;if(!((e|0)!=0?(Rd(h,f<<24>>24<0?c[b+24>>2]|0:b+24|0,e)|0)!=0:0))y=204;if((y|0)==204?i>>>0>=j>>>0&(g^1):0){l=H;return}if(k<<24>>24<0)e=c[d+24>>2]|0;else e=d+24|0;vb(14,c[d+48>>2]|0,e|0)|0;l=H;return}h=c[d+52>>2]|0;g=c[d+56>>2]|0;j=c[b+56>>2]|0;k=c[b+52>>2]|0;if((h|0)==(g|0)){if((k|0)!=(j|0)){ua(12,c[(c[k>>2]|0)+48>>2]|0)|0;if(!((j-k>>2)+-1|0)){l=H;return}else e=1;do{ua(12,c[(c[(c[b+52>>2]|0)+(e<<2)>>2]|0)+48>>2]|0)|0;e=e+1|0}while(e>>>0<=((j-k>>2)+-1|0)>>>0);l=H;return}e=a[b+24+11>>0]|0;if(e<<24>>24<0)e=c[b+28>>2]|0;else e=e&255;if(!e){l=H;return}ua(13,c[d+48>>2]|0)|0;l=H;return}if((k|0)==(j|0)){e=a[b+24+11>>0]|0;if(e<<24>>24<0)e=c[b+28>>2]|0;else e=e&255;if(!e){e=g;f=h;g=h}else{ua(13,c[d+48>>2]|0)|0;g=c[d+52>>2]|0;e=c[d+56>>2]|0;f=g}h=c[d+48>>2]|0;f=(e-f>>2)+-1|0;Wb(11,h|0,Bc(c[g>>2]|0)|0,0)|0;if(!f){l=H;return}else e=1;do{Wb(11,h|0,Bc(c[(c[d+52>>2]|0)+(e<<2)>>2]|0)|0,0)|0;e=e+1|0}while(e>>>0<=f>>>0);l=H;return}G=c[d+48>>2]|0;do if((j-k|0)<4|(g-h|0)<4)if((j-k|0)<4){n=h;m=h;f=0;k=(g-h>>2)+-1|0;j=0;e=0;y=170}else{f=0;i=(g-h|0)<4;h=(j-k>>2)+-1|0;e=0;g=0;y=177}else{f=0;p=(g-h>>2)+-1|0;q=c[h+((g-h>>2)+-1<<2)>>2]|0;r=0;n=h;h=(j-k>>2)+-1|0;m=c[k+((j-k>>2)+-1<<2)>>2]|0;e=0;g=0;i=c[k>>2]|0;a:while(1){j=n;k=m;while(1){w=c[j>>2]|0;j=q;z=h;m=k;h=i;b:while(1){n=m+48|0;q=j;A=g;o=h;while(1){if(Zc(o,w)|0){y=13;break b}if(Zc(m,q)|0)break;if(!(Zc(o,q)|0)){y=19;break b}oc(o,q);Wb(9,G|0,c[o+48>>2]|0,c[n>>2]|0)|0;g=A+1|0;k=p+-1|0;j=c[d+52>>2]|0;h=(A|0)>=(z|0);i=(r|0)>=(p|0);if(h|i){y=165;break a}else{p=k;q=c[j+(k<<2)>>2]|0;A=g;o=c[(c[b+52>>2]|0)+(g<<2)>>2]|0}}oc(m,q);h=z+-1|0;k=p+-1|0;j=c[d+52>>2]|0;g=(A|0)>=(z|0);i=(r|0)>=(p|0);if(g|i){y=166;break a}else{p=k;j=c[j+(k<<2)>>2]|0;z=h;m=c[(c[b+52>>2]|0)+(h<<2)>>2]|0;g=A;h=o}}if((y|0)==13){oc(o,w);o=A+1|0;h=z;n=m;g=o;o=c[(c[b+52>>2]|0)+(o<<2)>>2]|0}else if((y|0)==19){if(!(Zc(m,w)|0))break;oc(m,w);Wb(10,G|0,c[n>>2]|0,c[o+48>>2]|0)|0;n=z+-1|0;h=n;n=c[(c[b+52>>2]|0)+(n<<2)>>2]|0;g=A}j=r+1|0;m=c[d+52>>2]|0;k=(g|0)>(h|0);i=(r|0)>=(p|0);if(i|k){y=167;break a}else{r=j;j=m+(j<<2)|0;k=n;i=o}}if(!e){s=ie(12)|0;c[s+4>>2]=0;c[s+8>>2]=0;c[s>>2]=s+4;if((A|0)>(z|0)){f=s;e=s}else{n=A;while(1){f=c[(c[b+52>>2]|0)+(n<<2)>>2]|0;e=a[f+12+11>>0]|0;if(e<<24>>24<0)e=c[f+16>>2]|0;else e=e&255;if(e|0){Od(H,f+12|0);c[H+12>>2]=n;e=c[s+4>>2]|0;do if(e){k=a[H+11>>0]|0;j=k<<24>>24<0?c[H+4>>2]|0:k&255;k=k<<24>>24<0?c[H>>2]|0:H;c:while(1){h=e+16|0;g=a[h+11>>0]|0;i=g<<24>>24<0?c[e+20>>2]|0:g&255;f=i>>>0>>0?i:j;if((f|0)!=0?(E=Rd(k,g<<24>>24<0?c[h>>2]|0:h,f)|0,(E|0)!=0):0)if((E|0)<0)y=34;else y=36;else if(j>>>0>>0)y=34;else y=36;if((y|0)==34){f=c[e>>2]|0;if(!f){y=35;break}else e=f}else if((y|0)==36){y=0;f=j>>>0>>0?j:i;do if(f){f=Rd(g<<24>>24<0?c[h>>2]|0:h,k,f)|0;if(!f){y=38;break}if((f|0)>=0){y=43;break c}}else y=38;while(0);if((y|0)==38?(0,i>>>0>=j>>>0):0){y=43;break}g=e+4|0;f=c[g>>2]|0;if(!f){y=42;break}else e=f}}if((y|0)==35){f=e;c[H+16>>2]=f;g=e;break}else if((y|0)==42){f=e;c[H+16>>2]=f;break}else if((y|0)==43){f=e;c[H+16>>2]=f;g=H+16|0;break}}else{c[H+16>>2]=s+4;f=s+4|0;g=s+4|0}while(0);if(!(c[g>>2]|0)){e=ie(32)|0;c[e+16>>2]=c[H>>2];c[e+16+4>>2]=c[H+4>>2];c[e+16+8>>2]=c[H+8>>2];c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[e+28>>2]=c[H+12>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[s>>2]>>2]|0;if(f){c[s>>2]=f;e=c[g>>2]|0}Dc(c[s+4>>2]|0,e);c[s+8>>2]=(c[s+8>>2]|0)+1}Ue(H)}if((n|0)<(z|0))n=n+1|0;else{f=s;e=s;break}}}}v=e+4|0;g=c[v>>2]|0;d:do if(!g)y=64;else{t=a[w+12+11>>0]|0;s=t<<24>>24<0?c[w+16>>2]|0:t&255;t=t<<24>>24<0?c[w+12>>2]|0:w+12|0;h=g;while(1){k=h+16|0;j=a[k+11>>0]|0;n=j<<24>>24<0?c[h+20>>2]|0:j&255;i=n>>>0>>0?n:s;if((i|0)!=0?(D=Rd(t,j<<24>>24<0?c[k>>2]|0:k,i)|0,(D|0)!=0):0)if((D|0)<0)y=57;else y=58;else if(s>>>0>>0)y=57;else y=58;if((y|0)!=57)if((y|0)==58){y=0;i=s>>>0>>0?s:n;if((i|0)!=0?(C=Rd(j<<24>>24<0?c[k>>2]|0:k,t,i)|0,(C|0)!=0):0){if((C|0)>=0)break}else y=60;if((y|0)==60?(0,n>>>0>=s>>>0):0)break;h=h+4|0}h=c[h>>2]|0;if(!h){y=64;break d}}while(1){k=g+16|0;i=a[k+11>>0]|0;j=i<<24>>24<0?c[g+20>>2]|0:i&255;h=j>>>0>>0?j:s;if((h|0)!=0?(F=Rd(t,i<<24>>24<0?c[k>>2]|0:k,h)|0,(F|0)!=0):0)if((F|0)<0)y=69;else y=70;else if(s>>>0>>0)y=69;else y=70;if((y|0)==69){g=c[g>>2]|0;if(!g){y=77;break a}}else if((y|0)==70){y=0;h=s>>>0>>0?s:j;if((h|0)!=0?(B=Rd(i<<24>>24<0?c[k>>2]|0:k,t,h)|0,(B|0)!=0):0){if((B|0)>=0)break}else y=72;if((y|0)==72?(y=0,j>>>0>=s>>>0):0)break;g=c[g+4>>2]|0;if(!g){y=77;break a}}}if(!g){y=77;break a}x=c[(c[b+52>>2]|0)+(c[g+28>>2]<<2)>>2]|0;g=a[x+11>>0]|0;if(g<<24>>24<0)k=c[x+4>>2]|0;else k=g&255;j=a[w+11>>0]|0;n=j<<24>>24<0?c[w+4>>2]|0:j&255;if(g<<24>>24<0)i=c[x>>2]|0;else i=x;h=n>>>0>>0;g=h?n:k;if(!((g|0)!=0?(Rd(i,j<<24>>24<0?c[w>>2]|0:w,g)|0)!=0:0))y=86;if((y|0)==86?(y=0,k>>>0>=n>>>0&(h^1)):0){oc(x,w);h=c[v>>2]|0;e:do if(h|0){t=a[w+12+11>>0]|0;u=t<<24>>24<0?c[w+16>>2]|0:t&255;t=t<<24>>24<0?c[w+12>>2]|0:w+12|0;s=v;i=h;f:while(1){g=i;g:while(1){k=g+16|0;j=a[k+11>>0]|0;n=j<<24>>24<0?c[g+20>>2]|0:j&255;i=u>>>0>>0?u:n;do if(i){i=Rd(j<<24>>24<0?c[k>>2]|0:k,t,i)|0;if(!i){y=93;break}if((i|0)>=0)break g}else y=93;while(0);if((y|0)==93?(y=0,n>>>0>=u>>>0):0)break;g=c[g+4>>2]|0;if(!g){w=s;break f}}i=c[g>>2]|0;if(!i){w=g;break}else s=g}if((w|0)!=(v|0)){j=w+16|0;i=a[j+11>>0]|0;k=i<<24>>24<0?c[w+20>>2]|0:i&255;g=k>>>0>>0?k:u;do if(g){g=Rd(t,i<<24>>24<0?c[j>>2]|0:j,g)|0;if(!g){y=100;break}if((g|0)<0)break e}else y=100;while(0);if((y|0)==100?(y=0,u>>>0>>0):0)break;v=w+4|0;g=c[v>>2]|0;if(!g){i=w;while(1){g=c[i+8>>2]|0;if((c[g>>2]|0)==(i|0))break;else i=g}}else while(1){i=c[g>>2]|0;if(!i)break;else g=i}if((c[e>>2]|0)==(w|0))c[e>>2]=g;g=e+8|0;c[g>>2]=(c[g>>2]|0)+-1;g=c[w>>2]|0;do if(!g){g=0;i=w}else{i=c[v>>2]|0;if(!i){i=w;break}while(1){g=c[i>>2]|0;if(!g){g=0;break}else i=g}}while(0);u=i+4|0;t=c[(g|0?i:u)>>2]|0;s=i+8|0;if(t|0)c[t+8>>2]=c[s>>2];g=c[s>>2]|0;j=c[g>>2]|0;do if((j|0)==(i|0)){c[g>>2]=t;if((i|0)==(h|0)){h=t;j=0;break}j=c[g+4>>2]|0}else c[g+4>>2]=t;while(0);k=i+12|0;n=(a[k>>0]|0)!=0;if((i|0)!=(w|0)){I=w+8|0;g=c[I>>2]|0;c[s>>2]=g;c[((c[c[I>>2]>>2]|0)==(w|0)?g:g+4|0)>>2]=i;g=c[w>>2]|0;c[i>>2]=g;c[g+8>>2]=i;g=c[v>>2]|0;c[u>>2]=g;if(g|0)c[g+8>>2]=i;a[k>>0]=a[w+12>>0]|0;h=(h|0)==(w|0)?i:h}h:do if(n&(h|0)!=0){if(t|0){a[t+12>>0]=1;break}while(1){k=j+8|0;n=c[k>>2]|0;g=j+12|0;i=(a[g>>0]|0)!=0;if((c[n>>2]|0)==(j|0)){if(!i){a[g>>0]=1;a[n+12>>0]=0;i=j+4|0;g=c[i>>2]|0;c[n>>2]=g;if(g|0)c[g+8>>2]=n;c[k>>2]=c[n+8>>2];I=c[n+8>>2]|0;c[((c[I>>2]|0)==(n|0)?I:I+4|0)>>2]=j;c[i>>2]=n;c[n+8>>2]=j;h=(h|0)==(n|0)?j:h;j=c[n>>2]|0}g=c[j>>2]|0;if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=159;break}i=j+4|0;k=c[i>>2]|0;if(k|0?(a[k+12>>0]|0)==0:0){y=154;break}a[j+12>>0]=0;g=c[j+8>>2]|0;if((g|0)==(h|0)|(a[g+12>>0]|0)==0){y=153;break}}else{if(!i){a[g>>0]=1;a[n+12>>0]=0;g=c[n+4>>2]|0;i=c[g>>2]|0;c[n+4>>2]=i;if(i|0)c[i+8>>2]=n;c[g+8>>2]=c[n+8>>2];I=c[n+8>>2]|0;c[((c[I>>2]|0)==(n|0)?I:I+4|0)>>2]=g;c[g>>2]=n;c[n+8>>2]=g;I=c[j>>2]|0;h=(h|0)==(I|0)?j:h;j=c[I+4>>2]|0}i=c[j>>2]|0;g=c[j+4>>2]|0;if(i|0?(a[i+12>>0]|0)==0:0){y=136;break}if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=141;break}a[j+12>>0]=0;g=c[j+8>>2]|0;if((g|0)==(h|0)){g=h;y=135;break}if(!(a[g+12>>0]|0)){y=135;break}}j=c[g+8>>2]|0;j=c[((c[j>>2]|0)==(g|0)?j+4|0:j)>>2]|0}do if((y|0)==135){y=0;a[g+12>>0]=1;break h}else if((y|0)==136){if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=141;break}a[i+12>>0]=1;a[j+12>>0]=0;g=c[i+4>>2]|0;c[j>>2]=g;if(g|0)c[g+8>>2]=j;h=j+8|0;c[i+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(j|0)?g:g+4|0)>>2]=i;c[i+4>>2]=j;c[h>>2]=i;h=j;g=i;y=141}else if((y|0)==153){y=0;a[g+12>>0]=1;break h}else if((y|0)==154){if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=159;break}a[k+12>>0]=1;a[j+12>>0]=0;g=c[k>>2]|0;c[i>>2]=g;if(g|0)c[g+8>>2]=j;h=j+8|0;c[k+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(j|0)?g:g+4|0)>>2]=k;c[k>>2]=j;c[h>>2]=k;h=j;g=k;y=159}while(0);if((y|0)==141){y=0;i=c[g+8>>2]|0;a[g+12>>0]=a[i+12>>0]|0;a[i+12>>0]=1;a[h+12>>0]=1;g=c[i+4>>2]|0;h=c[g>>2]|0;c[i+4>>2]=h;if(h|0)c[h+8>>2]=i;c[g+8>>2]=c[i+8>>2];I=c[i+8>>2]|0;c[((c[I>>2]|0)==(i|0)?I:I+4|0)>>2]=g;c[g>>2]=i;c[i+8>>2]=g;break}else if((y|0)==159){y=0;i=c[g+8>>2]|0;a[g+12>>0]=a[i+12>>0]|0;a[i+12>>0]=1;a[h+12>>0]=1;g=c[i>>2]|0;h=c[g+4>>2]|0;c[i>>2]=h;if(h|0)c[h+8>>2]=i;c[g+8>>2]=c[i+8>>2];I=c[i+8>>2]|0;c[((c[I>>2]|0)==(i|0)?I:I+4|0)>>2]=g;c[g+4>>2]=i;c[i+8>>2]=g;break}}while(0);Ue(w+16|0);ag(w)}}while(0);Wb(10,G|0,c[x+48>>2]|0,c[o+48>>2]|0)|0;break}I=Bc(w)|0;Wb(10,G|0,I|0,c[o+48>>2]|0)|0}while(0);if((y|0)==64){I=Bc(w)|0;Wb(10,G|0,I|0,c[o+48>>2]|0)|0}j=r+1|0;h=c[d+52>>2]|0;g=(A|0)>(z|0);i=(r|0)>=(p|0);if(g|i){y=168;break}else{r=j;n=h+(j<<2)|0;h=z;g=A;i=o}}if((y|0)==77){I=ib(8)|0;jf(I);c[I>>2]=1152;Yb(I|0,416,8)}else if((y|0)==165)if(h){n=j;m=j;j=r;y=170;break}else{h=z;y=177;break}else if((y|0)==166)if(g){n=j;m=j;j=r;y=170;break}else{g=A;y=177;break}else if((y|0)==167)if(k){n=m;k=p;y=170;break}else{y=177;break}else if((y|0)==168)if(g){n=h;m=h;k=p;y=170;break}else{h=z;g=A;y=177;break}}while(0);do if((y|0)==170){g=k+1|0;i=j>>>0>k>>>0;if(g>>>0>(((c[d+56>>2]|0)-n>>2)+-1|0)>>>0){if(i)break;Wb(11,G|0,Bc(c[m+(j<<2)>>2]|0)|0,0)|0;g=j+1|0;if(g>>>0>k>>>0)break;do{Wb(11,G|0,Bc(c[(c[d+52>>2]|0)+(g<<2)>>2]|0)|0,0)|0;g=g+1|0}while(g>>>0<=k>>>0)}else{h=c[(c[m+(g<<2)>>2]|0)+48>>2]|0;if(i)break;Wb(11,G|0,Bc(c[m+(j<<2)>>2]|0)|0,h|0)|0;g=j+1|0;if(g>>>0>k>>>0)break;do{Wb(11,G|0,Bc(c[(c[d+52>>2]|0)+(g<<2)>>2]|0)|0,h|0)|0;g=g+1|0}while(g>>>0<=k>>>0)}}else if((y|0)==177)if(!(g>>>0>h>>>0|i^1))do{ua(12,c[(c[(c[b+52>>2]|0)+(g<<2)>>2]|0)+48>>2]|0)|0;g=g+1|0}while(g>>>0<=h>>>0);while(0);if(!e){l=H;return}td(c[e+4>>2]|0);ag(f);l=H;return}function pc(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+560|0;B=C+524|0;c[C>>2]=0;A=C+512+12|0;Oe(e)|0;if((D|0)<0){y=1;x=5361;e=-e}else{y=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?5362:5367):5364}Oe(e)|0;z=D&2146435072;do if(z>>>0<2146435072|(z|0)==2146435072&0<0){p=+Qf(e,C)*2.0;if(p!=0.0)c[C>>2]=(c[C>>2]|0)+-1;if((i|32|0)==97){o=(i&32|0)==0?x:x+9|0;n=y|2;do if(!(g>>>0>11|(12-g|0)==0)){j=12-g|0;e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[o>>0]|0)==45){e=-(e+(-p-e));break}else{e=p+e-e;break}}else e=p;while(0);k=c[C>>2]|0;j=(k|0)<0?0-k|0:k;j=Fd(j,((j|0)<0)<<31>>31,A)|0;if((j|0)==(A|0)){a[C+512+11>>0]=48;j=C+512+11|0}a[j+-1>>0]=(k>>31&2)+43;m=j+-2|0;a[m>>0]=i+15;k=C+524|0;while(1){z=~~e;j=k+1|0;a[k>>0]=d[5392+z>>0]|i&32;e=(e-+(z|0))*16.0;if((j-B|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[j>>0]=46;j=k+2|0}if(!(e!=0.0))break;else k=j}B=j-B|0;j=(g|0)!=0&(B+-2|0)<(g|0)?g+2|0:B;Jd(b,32,f,A-m+n+j|0,h);cf(b,o,n);Jd(b,48,f,A-m+n+j|0,h^65536);cf(b,C+524|0,B);Jd(b,48,j-B|0,0,0);cf(b,m,A-m|0);Jd(b,32,f,A-m+n+j|0,h^8192);j=A-m+n+j|0;break}k=(g|0)<0?6:g;if(p!=0.0){m=(c[C>>2]|0)+-28|0;c[C>>2]=m;e=p*268435456.0}else{m=c[C>>2]|0;e=p}z=(m|0)<0?C+8|0:C+8+288|0;n=z;do{v=~~e>>>0;c[n>>2]=v;n=n+4|0;e=(e-+(v>>>0))*1.0e9}while(e!=0.0);if((m|0)>0){j=z;do{g=(m|0)<29?m:29;m=n+-4|0;if(m>>>0>=j>>>0){o=0;do{u=De(c[m>>2]|0,0,g|0)|0;u=Qe(u|0,D|0,o|0,0)|0;v=D;t=te(u|0,v|0,1e9,0)|0;c[m>>2]=t;o=gf(u|0,v|0,1e9,0)|0;m=m+-4|0}while(m>>>0>=j>>>0);if(o){j=j+-4|0;c[j>>2]=o}}while(1){if(n>>>0<=j>>>0)break;m=n+-4|0;if(!(c[m>>2]|0))n=m;else break}m=(c[C>>2]|0)-g|0;c[C>>2]=m}while((m|0)>0)}else j=z;if((m|0)<0){do{g=0-m|0;g=(g|0)<9?g:9;if(j>>>0>>0){o=0;m=j;do{v=c[m>>2]|0;c[m>>2]=(v>>>g)+o;o=S(v&(1<>>g)|0;m=m+4|0}while(m>>>0>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(!o)m=n;else{c[n>>2]=o;m=n+4|0}}else{j=(c[j>>2]|0)==0?j+4|0:j;m=n}n=(i|32|0)==102?z:j;n=(m-n>>2|0)>(((k+25|0)/9|0)+1|0)?n+(((k+25|0)/9|0)+1<<2)|0:m;m=(c[C>>2]|0)+g|0;c[C>>2]=m}while((m|0)<0);s=n}else s=n;if(j>>>0>>0){m=(z-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0<10)n=m;else{n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0);n=m}}else n=0;g=k-((i|32|0)!=102?n:0)+(((k|0)!=0&(i|32|0)==103)<<31>>31)|0;if((g|0)<(((s-z>>2)*9|0)+-9|0)){m=z+4+(((g+9216|0)/9|0)+-1024<<2)|0;if((((g+9216|0)%9|0)+1|0)<9){o=10;g=((g+9216|0)%9|0)+1|0;do{o=o*10|0;g=g+1|0}while((g|0)!=9)}else o=10;q=c[m>>2]|0;r=(q>>>0)%(o>>>0)|0;g=(m+4|0)==(s|0);if(!(g&(r|0)==0)){p=(((q>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(o|0)/2|0;e=r>>>0>>0?.5:g&(r|0)==(v|0)?1.0:1.5;if(y){v=(a[x>>0]|0)==45;p=v?-p:p;e=v?-e:e}c[m>>2]=q-r;if(p+e!=p){v=q-r+o|0;c[m>>2]=v;if(v>>>0>999999999)while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}v=(c[n>>2]|0)+1|0;c[n>>2]=v;if(v>>>0>999999999)m=n;else{m=n;break}}n=(z-j>>2)*9|0;g=c[j>>2]|0;if(g>>>0>=10){o=10;do{o=o*10|0;n=n+1|0}while(g>>>0>=o>>>0)}}}u=m+4|0;v=j;j=s>>>0>u>>>0?u:s}else{v=j;j=s}u=j;while(1){if(u>>>0<=v>>>0){t=0;break}j=u+-4|0;if(!(c[j>>2]|0))u=j;else{t=1;break}}g=0-n|0;do if((i|32|0)==103){s=(n|0)>-5?((((k|0)!=0^1)&1)+k|0)>(n|0):0;o=(s?-1:-2)+i|0;k=(((k|0)!=0^1)&1)+k+-1+(s?g:0)|0;if(!(h&8)){if(t?(w=c[u+-4>>2]|0,(w|0)!=0):0)if(!((w>>>0)%10|0)){m=10;j=0;do{m=m*10|0;j=j+1|0}while(!((w>>>0)%(m>>>0)|0|0))}else j=0;else j=9;m=((u-z>>2)*9|0)+-9|0;if((o|32|0)==102){m=m-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}else{m=m+n-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}}else{r=h&8;m=o}}else{r=h&8;m=i}while(0);q=k|r;o=(m|32|0)==102;if(o){s=0;j=(n|0)>0?n:0}else{j=(n|0)<0?g:n;j=Fd(j,((j|0)<0)<<31>>31,A)|0;if((A-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((A-j|0)<2);a[j+-1>>0]=(n>>31&2)+43;j=j+-2|0;a[j>>0]=m;s=j;j=A-j|0}j=y+1+k+((q|0)!=0&1)+j|0;Jd(b,32,f,j,h);cf(b,x,y);Jd(b,48,f,j,h^65536);if(o){o=v>>>0>z>>>0?z:v;n=o;do{m=Fd(c[n>>2]|0,0,C+524+9|0)|0;if((n|0)==(o|0)){if((m|0)==(C+524+9|0)){a[C+524+8>>0]=48;m=C+524+8|0}}else if(m>>>0>(C+524|0)>>>0){kd(C+524|0,48,m-B|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}cf(b,m,C+524+9-m|0);n=n+4|0}while(n>>>0<=z>>>0);if(q|0)cf(b,8335,1);if((k|0)>0&n>>>0>>0)while(1){m=Fd(c[n>>2]|0,0,C+524+9|0)|0;if(m>>>0>(C+524|0)>>>0){kd(C+524|0,48,m-B|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}cf(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!((k|0)>9&n>>>0>>0)){k=m;break}else k=m}Jd(b,48,k+9|0,9,0)}else{q=t?u:v+4|0;if((k|0)>-1){g=(r|0)==0;o=v;do{m=Fd(c[o>>2]|0,0,C+524+9|0)|0;if((m|0)==(C+524+9|0)){a[C+524+8>>0]=48;m=C+524+8|0}do if((o|0)==(v|0)){n=m+1|0;cf(b,m,1);if(g&(k|0)<1){m=n;break}cf(b,8335,1);m=n}else{if(m>>>0<=(C+524|0)>>>0)break;kd(C+524|0,48,m+(0-B)|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}while(0);z=C+524+9-m|0;cf(b,m,(k|0)>(z|0)?z:k);k=k-z|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Jd(b,48,k+18|0,18,0);cf(b,s,A-s|0)}Jd(b,32,f,j,h^8192)}else{j=y+3|0;Jd(b,32,f,j,h&-65537);cf(b,x,y);cf(b,e!=e|0.0!=0.0?(i&32|0?7300:5388):i&32|0?5380:5384,3);Jd(b,32,f,j,h^8192)}while(0);l=C;return ((j|0)<(f|0)?f:j)|0}function qc(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;c[y+16>>2]=e;x=y+24+40|0;q=e;e=0;j=0;n=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[2260]=75;e=-1;break}else{e=j+e|0;break}while(0);j=a[q>>0]|0;if(!(j<<24>>24)){w=87;break}else k=q;b:while(1){switch(j<<24>>24){case 37:{j=k;w=9;break b}case 0:{j=k;break b}default:{}}v=k+1|0;c[y+16>>2]=v;j=a[v>>0]|0;k=v}c:do if((w|0)==9)while(1){w=0;if((a[j+1>>0]|0)!=37)break c;k=k+1|0;j=j+2|0;c[y+16>>2]=j;if((a[j>>0]|0)==37)w=9;else break}while(0);k=k-q|0;if(d|0)cf(d,q,k);if(k|0){q=j;j=k;continue}m=j+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10){v=(a[j+2>>0]|0)==36;s=v?k:-1;p=v?1:n;m=v?j+3|0:m}else{s=-1;p=n}c[y+16>>2]=m;j=a[m>>0]|0;d:do if(((j<<24>>24)+-32|0)>>>0<32){o=j;n=0;k=(j<<24>>24)+-32|0;while(1){j=1<>2]=m;j=a[m>>0]|0;k=(j<<24>>24)+-32|0;if(k>>>0>=32){o=n;break}else o=j}}else o=0;while(0);if(j<<24>>24==42){k=m+1|0;j=(a[k>>0]|0)+-48|0;if(j>>>0<10?(a[m+2>>0]|0)==36:0){c[i+(j<<2)>>2]=10;n=1;j=m+3|0;k=c[g+((a[k>>0]|0)+-48<<3)>>2]|0}else{if(p|0){e=-1;break}if(d|0){n=(c[f>>2]|0)+(4-1)&~(4-1);v=c[n>>2]|0;c[f>>2]=n+4;n=0;j=k;k=v}else{n=0;j=k;k=0}}c[y+16>>2]=j;u=(k|0)<0;m=j;r=u?o|8192:o;v=n;u=u?0-k|0:k}else{j=fe(y+16|0)|0;if((j|0)<0){e=-1;break}m=c[y+16>>2]|0;r=o;v=p;u=j}do if((a[m>>0]|0)==46){j=m+1|0;if((a[j>>0]|0)!=42){c[y+16>>2]=j;o=fe(y+16|0)|0;j=c[y+16>>2]|0;break}j=m+2|0;k=(a[j>>0]|0)+-48|0;if(k>>>0<10?(a[m+3>>0]|0)==36:0){c[i+(k<<2)>>2]=10;o=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;j=m+4|0;c[y+16>>2]=j;break}if(v|0){e=-1;break a}if(d|0){t=(c[f>>2]|0)+(4-1)&~(4-1);k=c[t>>2]|0;c[f>>2]=t+4}else k=0;c[y+16>>2]=j;o=k}else{j=m;o=-1}while(0);p=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}t=j+1|0;c[y+16>>2]=t;k=a[(a[j>>0]|0)+-65+(4887+(p*58|0))>>0]|0;if(((k&255)+-1|0)>>>0<8){j=t;p=k&255}else break}if(!(k<<24>>24)){e=-1;break}m=(s|0)>-1;do if(k<<24>>24==19)if(m){e=-1;break a}else w=49;else{if(m){c[i+(s<<2)>>2]=k&255;s=g+(s<<3)|0;w=c[s+4>>2]|0;c[y>>2]=c[s>>2];c[y+4>>2]=w;w=49;break}if(!d){e=0;break a}Ec(y,k&255,f)}while(0);if((w|0)==49?(w=0,(d|0)==0):0){q=t;j=0;n=v;continue}n=a[j>>0]|0;n=(p|0)!=0&(n&15|0)==3?n&-33:n;k=r&-65537;s=(r&8192|0)==0?r:k;e:do switch(n|0){case 110:switch((p&255)<<24>>24){case 0:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 1:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 2:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}case 3:{b[c[y>>2]>>1]=e;q=t;j=0;n=v;continue a}case 4:{a[c[y>>2]>>0]=e;q=t;j=0;n=v;continue a}case 6:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 7:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}default:{q=t;j=0;n=v;continue a}}case 112:{j=s|8;k=o>>>0>8?o:8;n=120;w=61;break}case 88:case 120:{j=s;k=o;w=61;break}case 111:{q=c[y>>2]|0;r=c[y+4>>2]|0;k=ne(q,r,x)|0;p=k;j=s;k=(s&8|0)==0|(o|0)>(x-k|0)?o:x-k+1|0;m=0;o=5351;w=67;break}case 105:case 100:{j=c[y>>2]|0;k=c[y+4>>2]|0;if((k|0)<0){j=He(0,0,j|0,k|0)|0;k=D;c[y>>2]=j;c[y+4>>2]=k;m=1;n=5351;w=66;break e}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?5351:5353):5352;w=66;break e}}case 117:{j=c[y>>2]|0;k=c[y+4>>2]|0;m=0;n=5351;w=66;break}case 99:{a[y+24+39>>0]=c[y>>2];q=y+24+39|0;p=k;n=1;m=0;k=5351;j=x;break}case 109:{j=Tf(c[2260]|0)|0;w=71;break}case 115:{j=c[y>>2]|0;j=j|0?j:7304;w=71;break}case 67:{c[y+8>>2]=c[y>>2];c[y+8+4>>2]=0;c[y>>2]=y+8;j=y+8|0;o=-1;w=75;break}case 83:{j=c[y>>2]|0;if(!o){Jd(d,32,u,0,s);j=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=t;j=pc(d,+h[y>>3],u,o,s,n)|0;n=v;continue a}default:{p=s;n=o;m=0;k=5351;j=x}}while(0);f:do if((w|0)==61){q=c[y>>2]|0;r=c[y+4>>2]|0;p=je(q,r,x,n&32)|0;o=(j&8|0)==0|(q|0)==0&(r|0)==0;m=o?0:2;o=o?5351:5351+(n>>4)|0;w=67}else if((w|0)==66){q=j;r=k;p=Fd(j,k,x)|0;j=s;k=o;o=n;w=67}else if((w|0)==71){w=0;s=Xc(j,o)|0;q=j;p=k;n=(s|0)==0?o:s-j|0;m=0;k=5351;j=(s|0)==0?j+o|0:s}else if((w|0)==75){w=0;m=0;k=0;p=j;while(1){n=c[p>>2]|0;if(!n)break;k=df(y+20|0,n)|0;if((k|0)<0|k>>>0>(o-m|0)>>>0)break;m=k+m|0;if(o>>>0>m>>>0)p=p+4|0;else break}if((k|0)<0){e=-1;break a}Jd(d,32,u,m,s);if(!m){j=0;w=84}else{n=0;while(1){k=c[j>>2]|0;if(!k){j=m;w=84;break f}k=df(y+20|0,k)|0;n=k+n|0;if((n|0)>(m|0)){j=m;w=84;break f}cf(d,y+20|0,k);if(n>>>0>=m>>>0){j=m;w=84;break}else j=j+4|0}}}while(0);if((w|0)==67){w=0;n=(q|0)!=0|(r|0)!=0;s=n|(k|0)!=0;n=x-p+((n^1)&1)|0;q=s?p:x;p=(k|0)>-1?j&-65537:j;n=s?((k|0)>(n|0)?k:n):k;k=o;j=x}else if((w|0)==84){w=0;Jd(d,32,u,j,s^8192);q=t;j=(u|0)>(j|0)?u:j;n=v;continue}s=j-q|0;r=(n|0)<(s|0)?s:n;n=r+m|0;j=(u|0)<(n|0)?n:u;Jd(d,32,j,n,p);cf(d,k,m);Jd(d,48,j,n,p^65536);Jd(d,48,r,s,0);cf(d,q,s);Jd(d,32,j,n,p^8192);q=t;n=v}g:do if((w|0)==87)if(!d)if(!n)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;Ec(g+(e<<3)|0,j,f);e=e+1|0;if((e|0)>=10){e=1;break g}}while(1){e=e+1|0;if((e|0)>=10){e=1;break g}if(c[i+(e<<2)>>2]|0){e=-1;break}}}while(0);l=y;return e|0}function rc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;h=c[2137]|0;if((a+-8|0)>>>0>>0)yb();b=c[a+-4>>2]|0;if((b&3|0)==1)yb();o=a+-8+(b&-8)|0;a:do if(!(b&1)){d=c[a+-8>>2]|0;if(!(b&3))return;k=a+-8+(0-d)|0;j=d+(b&-8)|0;if(k>>>0>>0)yb();if((k|0)==(c[2138]|0)){a=c[o+4>>2]|0;if((a&3|0)!=3){m=k;r=k;f=j;break}c[2135]=j;c[o+4>>2]=a&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}if(d>>>0<256){a=c[k+8>>2]|0;b=c[k+12>>2]|0;if((a|0)!=(8572+(d>>>3<<1<<2)|0)){if(a>>>0>>0)yb();if((c[a+12>>2]|0)!=(k|0))yb()}if((b|0)==(a|0)){c[2133]=c[2133]&~(1<<(d>>>3));m=k;r=k;f=j;break}if((b|0)!=(8572+(d>>>3<<1<<2)|0)){if(b>>>0>>0)yb();if((c[b+8>>2]|0)!=(k|0))yb();else e=b+8|0}else e=b+8|0;c[a+12>>2]=b;c[e>>2]=a;m=k;r=k;f=j;break}g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){a=c[k+16+4>>2]|0;if(!a){a=c[k+16>>2]|0;if(!a){i=0;break}else e=k+16|0}else e=k+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}if(e>>>0>>0)yb();else{c[e>>2]=0;i=a;break}}else{b=c[k+8>>2]|0;if(b>>>0>>0)yb();if((c[b+12>>2]|0)!=(k|0))yb();if((c[a+8>>2]|0)==(k|0)){c[b+12>>2]=a;c[a+8>>2]=b;i=a;break}else yb()}while(0);if(g){a=c[k+28>>2]|0;b=(i|0)==0;do if((k|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=i;if(b){c[2134]=c[2134]&~(1<>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(b){m=k;r=k;f=j;break a}else break}else yb();while(0);b=c[2137]|0;if(i>>>0>>0)yb();c[i+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[i+16>>2]=a;c[a+24>>2]=i;break}while(0);a=c[k+16+4>>2]|0;if(a)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[i+20>>2]=a;c[a+24>>2]=i;m=k;r=k;f=j;break}else{m=k;r=k;f=j}}else{m=k;r=k;f=j}}else{m=a+-8|0;r=a+-8|0;f=b&-8}while(0);if(m>>>0>=o>>>0)yb();d=c[o+4>>2]|0;if(!(d&1))yb();if(!(d&2)){a=c[2138]|0;if((o|0)==(c[2139]|0)){q=(c[2136]|0)+f|0;c[2136]=q;c[2139]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[2138]=0;c[2135]=0;return}if((o|0)==(a|0)){q=(c[2135]|0)+f|0;c[2135]=q;c[2138]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(d&-8)+f|0;b:do if(d>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){a=c[o+16+4>>2]|0;if(!a){a=c[o+16>>2]|0;if(!a){n=0;break}else e=o+16|0}else e=o+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}if(e>>>0<(c[2137]|0)>>>0)yb();else{c[e>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[2137]|0)>>>0)yb();if((c[b+12>>2]|0)!=(o|0))yb();if((c[a+8>>2]|0)==(o|0)){c[b+12>>2]=a;c[a+8>>2]=b;n=a;break}else yb()}while(0);if(g|0){a=c[o+28>>2]|0;b=(n|0)==0;do if((o|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=n;if(b){c[2134]=c[2134]&~(1<>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(b)break b;else break}else yb();while(0);b=c[2137]|0;if(n>>>0>>0)yb();c[n+24>>2]=g;a=c[o+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);a=c[o+16+4>>2]|0;if(a|0)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;if((a|0)!=(8572+(d>>>3<<1<<2)|0)){if(a>>>0<(c[2137]|0)>>>0)yb();if((c[a+12>>2]|0)!=(o|0))yb()}if((b|0)==(a|0)){c[2133]=c[2133]&~(1<<(d>>>3));break}if((b|0)!=(8572+(d>>>3<<1<<2)|0)){if(b>>>0<(c[2137]|0)>>>0)yb();if((c[b+8>>2]|0)!=(o|0))yb();else l=b+8|0}else l=b+8|0;c[a+12>>2]=b;c[l>>2]=a}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[2138]|0)){c[2135]=f;return}}else{c[o+4>>2]=d&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}b=f>>>3;if(f>>>0<256){a=c[2133]|0;if(a&1<>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{p=8572+(b<<1<<2)+8|0;q=a}}else{c[2133]=a|1<>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=8572+(b<<1<<2);return}a=f>>>8;if(a)if(f>>>0>16777215)b=31;else{b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=8836+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;a=c[2134]|0;d=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){b=e+8|0;a=c[b>>2]|0;q=c[2137]|0;if(a>>>0>=q>>>0&e>>>0>=q>>>0){c[a+12>>2]=r;c[b>>2]=r;c[r+8>>2]=a;c[r+12>>2]=e;c[r+24>>2]=0;break}else yb()}}else{c[2134]=a|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[2141]|0)+-1|0;c[2141]=r;if(!r)a=8988;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[2141]=-1;return}function sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;a:do if((b+4|0)!=(d|0)){n=a[e+11>>0]|0;p=n<<24>>24<0?c[e+4>>2]|0:n&255;i=a[d+16+11>>0]|0;k=i<<24>>24<0?c[d+20>>2]|0:i&255;g=k>>>0

>>0?k:p;if((g|0)!=0?(h=Rd(n<<24>>24<0?c[e>>2]|0:e,i<<24>>24<0?c[d+16>>2]|0:d+16|0,g)|0,(h|0)!=0):0){if((h|0)<0){r=6;break}}else r=4;if((r|0)==4?p>>>0>>0:0){r=6;break}g=p>>>0>>0?p:k;if((g|0)!=0?(j=Rd(i<<24>>24<0?c[d+16>>2]|0:d+16|0,n<<24>>24<0?c[e>>2]|0:e,g)|0,(j|0)!=0):0){if((j|0)>=0)r=34}else r=20;if((r|0)==20?k>>>0>=p>>>0:0)r=34;if((r|0)==34){c[s>>2]=d;d=s;break}m=c[d+4>>2]|0;if(!m){h=d;while(1){g=c[h+8>>2]|0;if((c[g>>2]|0)==(h|0))break;else h=g}}else{h=m;while(1){g=c[h>>2]|0;if(!g){g=h;break}else h=g}}do if((g|0)!=(b+4|0)){j=g+16|0;i=a[j+11>>0]|0;k=i<<24>>24<0?c[g+20>>2]|0:i&255;h=k>>>0

>>0?k:p;if((g|0)!=0?(h=Rd(n<<24>>24<0?c[e>>2]|0:e,i<<24>>24<0?c[d+16>>2]|0:d+16|0,g)|0,(h|0)!=0):0){if((h|0)<0){r=6;break}}else r=4;if((r|0)==4?p>>>0>>0:0){r=6;break}g=p>>>0>>0?p:k;if((g|0)!=0?(j=Rd(i<<24>>24<0?c[d+16>>2]|0:d+16|0,n<<24>>24<0?c[e>>2]|0:e,g)|0,(j|0)!=0):0){if((j|0)>=0)r=34}else r=20;if((r|0)==20?k>>>0>=p>>>0:0)r=34;if((r|0)==34){c[s>>2]=d;d=s;break}m=c[d+4>>2]|0;if(!m){h=d;while(1){g=c[h+8>>2]|0;if((c[g>>2]|0)==(h|0))break;else h=g}}else{h=m;while(1){g=c[h>>2]|0;if(!g){g=h;break}else h=g}}do if((g|0)!=(b+4|0)){j=g+16|0;i=a[j+11>>0]|0;k=i<<24>>24<0?c[g+20>>2]|0:i&255;h=k>>>0

>>0?k:p;if((h|0)!=0?(o=Rd(n<<24>>24<0?c[e>>2]|0:e,i<<24>>24<0?c[j>>2]|0:j,h)|0,(o|0)!=0):0){if((o|0)<0)break}else r=28;if((r|0)==28?p>>>0>>0:0)break;d=Hc(b,s,e)|0;break a}while(0);if(!m){c[s>>2]=d;d=d+4|0;break}else{c[s>>2]=g;d=g;break}}else r=6;while(0);b:do if((r|0)==6){o=c[d>>2]|0;do if((c[b>>2]|0)==(d|0))g=d;else{if(!o){h=d;while(1){g=c[h+8>>2]|0;if((c[g>>2]|0)==(h|0))h=g;else{h=g;break}}}else{h=o;while(1){g=c[h+4>>2]|0;if(!g)break;else h=g}}g=h;n=h+16|0;m=a[n+11>>0]|0;j=m<<24>>24<0?c[h+20>>2]|0:m&255;i=a[e+11>>0]|0;k=i<<24>>24<0?c[e+4>>2]|0:i&255;h=k>>>0>>0?k:j;if((h|0)!=0?(q=Rd(m<<24>>24<0?c[n>>2]|0:n,i<<24>>24<0?c[e>>2]|0:e,h)|0,(q|0)!=0):0){if((q|0)<0)break}else r=12;if((r|0)==12?j>>>0>>0:0)break;d=Hc(b,s,e)|0;break b}while(0);if(!o){c[s>>2]=d;break}else{d=g;c[s>>2]=d;d=d+4|0;break}}while(0);if(c[d>>2]|0){l=s;return}g=ie(40)|0;Od(g+16|0,f);Od(g+28|0,f+12|0);h=c[s>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[d>>2]=g;h=c[c[b>>2]>>2]|0;if(h){c[b>>2]=h;g=c[d>>2]|0}Dc(c[b+4>>2]|0,g);c[b+8>>2]=(c[b+8>>2]|0)+1;l=s;return}function tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;c[m+40>>2]=0;k=m+40+4|0;c[k>>2]=0;c[m+40+8>>2]=0;f=c[e>>2]|0;a:do if((c[e+4>>2]|0)!=(f|0)){h=0;i=0;g=0;while(1){f=c[f+(g<<2)>>2]|0;c[m+36>>2]=f;if(h>>>0>>0){c[h>>2]=f;c[k>>2]=h+4}else bd(m+40|0,m+36|0);g=g+1|0;f=c[e>>2]|0;if(g>>>0>=(c[e+4>>2]|0)-f>>2>>>0)break a;h=c[k>>2]|0;i=c[m+40+8>>2]|0}}while(0);j=ie(64)|0;Od(m+24|0,a);Od(m+12|0,b);c[m+4>>2]=0;c[m+8>>2]=0;c[m>>2]=m+4;f=c[d>>2]|0;if((f|0)!=(d+4|0)){g=f;while(1){f=f+16|0;sc(m,m+4|0,f,f);f=c[g+4>>2]|0;if(!f)while(1){f=c[g+8>>2]|0;if((c[f>>2]|0)==(g|0))break;else g=f}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(d+4|0))break;else g=f}}e=c[k>>2]|0;a=c[m+40>>2]|0;if(e-a>>2){if(e-a>>2>>>0>1073741823)wf();f=ie(e-a|0)|0;if((e-a|0)>0){Jc(f|0,a|0,e-a|0)|0;b=f;i=f+((e-a|0)>>>2<<2)|0}else{b=f;i=f}}else{b=0;i=0}Od(j,m+24|0);c[j+12>>2]=0;c[j+12+4>>2]=0;c[j+12+8>>2]=0;Od(j+24|0,m+12|0);c[j+40>>2]=0;c[j+44>>2]=0;c[j+36>>2]=j+40;f=c[m>>2]|0;if((f|0)!=(m+4|0)){h=f;g=f;while(1){f=h+16|0;sc(j+36|0,j+40|0,f,f);f=c[g+4>>2]|0;if(!f)while(1){f=c[g+8>>2]|0;if((c[f>>2]|0)==(g|0))break;else g=f}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(m+4|0))break;else{h=f;g=f}}}c[j+52>>2]=0;c[j+56>>2]=0;c[j+60>>2]=0;g=i-b|0;if(g>>2|0){if(g>>2>>>0>1073741823)wf();f=ie(g)|0;c[j+56>>2]=f;c[j+52>>2]=f;c[j+60>>2]=f+(g>>2<<2);if((g|0)>0){Jc(f|0,b|0,g|0)|0;c[j+56>>2]=f+(g>>>2<<2)}}f=Wc(j)|0;if(b|0)ag(b);rd(c[m+4>>2]|0);Ue(m+12|0);Ue(m+24|0);if(!a){l=m;return f|0}if((e|0)!=(a|0))c[k>>2]=e+(~((e+-4-a|0)>>>2)<<2);ag(a);l=m;return f|0}function uc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (D=e,f)|0}else{if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (D=e,f)|0}do if(d){if(e|0){h=(V(e|0)|0)-(V(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (D=e,f)|0}if(d-1&d|0){h=(V(d|0)|0)+33-(V(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (D=e,f)|0}else{f=ke(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (D=e,f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (D=e,f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (D=d,f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((ke(e|0)|0)>>>0);return (D=d,f)|0}h=(V(e|0)|0)-(V(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (D=e,f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=Qe(d|0|0,e|e&0|0,-1,-1)|0;l=D;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;He(k|0,l|0,p|0,o|0)|0;n=D;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=He(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=D;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (D=o,p)|0}function vc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(qf(b,c[d+8>>2]|0)|0)){if(!(qf(b,c[d>>2]|0)|0)){i=c[b+12>>2]|0;Pd(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;Pd(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;Pd(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;Pd(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;f=c[b+12>>2]|0;b:do if((f|0)>0){i=0;h=0;j=b+16|0;c:do{a[d+52>>0]=0;a[d+53>>0]=0;Ld(j,d,e,e,1,g);if(a[d+54>>0]|0)break;do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;break c}else{h=1;break}if((c[d+24>>2]|0)==1){i=22;break b}if(!(c[b+8>>2]&2)){i=22;break b}else{i=1;h=1}}while(0);j=j+8|0}while(j>>>0<(b+16+(f<<3)|0)>>>0);if(i)i=21;else i=18}else{h=0;i=18}while(0);if((i|0)==18){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)i=22;else h=4}else i=21}if((i|0)==21)if(h)i=22;else h=4;if((i|0)==22)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else se(d,e,f);while(0);return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=ie(64)|0;Od(i+24|0,a);c[i+12+4>>2]=0;c[i+12+8>>2]=0;g=i+12+4|0;c[i+12>>2]=g;a=c[b>>2]|0;if((a|0)==(b+4|0))a=g;else{f=a;e=a;while(1){a=f+16|0;sc(i+12|0,g,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=g;break}else{f=a;e=a}}}Od(i,d);Od(h,i+24|0);c[h+12>>2]=0;c[h+12+4>>2]=0;c[h+12+8>>2]=0;Od(h+24|0,i);c[h+40>>2]=0;c[h+44>>2]=0;c[h+36>>2]=h+40;e=c[i+12>>2]|0;if((e|0)==(a|0)){d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+60|0;c[d>>2]=0;Ue(i);g=c[g>>2]|0;rd(g);Ue(i+24|0);l=i;return h|0}f=e;while(1){a=f+16|0;sc(h+36|0,h+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(g|0))break;else{f=a;e=a}}d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+60|0;c[d>>2]=0;Ue(i);g=c[g>>2]|0;rd(g);Ue(i+24|0);l=i;return h|0}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=ie(64)|0;Od(h+12|0,a);c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=h+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=h+4|0;else{f=a;e=a;while(1){a=f+16|0;sc(h,h+4|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=h+4|0;break}else{f=a;e=a}}}Od(g,h+12|0);c[g+40>>2]=0;c[g+44>>2]=0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;c[g+12+12>>2]=0;c[g+12+16>>2]=0;c[g+12+20>>2]=0;c[g+36>>2]=g+40;e=c[h>>2]|0;if((e|0)!=(a|0)){f=e;while(1){a=f+16|0;sc(g+36|0,g+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(h+4|0))break;else{f=a;e=a}}}c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;rd(c[h+4>>2]|0);Ue(h+12|0);a=c[d>>2]|0;if((c[d+4>>2]|0)==(a|0)){d=Wc(g)|0;l=h;return d|0}f=0;do{a=c[a+(f<<2)>>2]|0;c[h+24>>2]=a;e=c[g+56>>2]|0;if(e>>>0<(c[g+60>>2]|0)>>>0){c[e>>2]=a;c[g+56>>2]=(c[g+56>>2]|0)+4}else bd(g+52|0,h+24|0);f=f+1|0;a=c[d>>2]|0}while(f>>>0<(c[d+4>>2]|0)-a>>2>>>0);d=Wc(g)|0;l=h;return d|0}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=ie(64)|0;Od(h+12|0,a);c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=h+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=h+4|0;else{f=a;e=a;while(1){a=f+16|0;sc(h,h+4|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=h+4|0;break}else{f=a;e=a}}}Od(g,h+12|0);c[g+40>>2]=0;c[g+44>>2]=0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;c[g+12+12>>2]=0;c[g+12+16>>2]=0;c[g+12+20>>2]=0;c[g+36>>2]=g+40;e=c[h>>2]|0;if((e|0)==(a|0)){b=g+52|0;c[b>>2]=0;b=g+56|0;c[b>>2]=0;b=g+60|0;c[b>>2]=0;b=Wc(g)|0;f=c[h+4>>2]|0;rd(f);Ue(h+12|0);g=g+48|0;c[g>>2]=d;d=b;l=h;return d|0}f=e;while(1){a=f+16|0;sc(g+36|0,g+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(h+4|0))break;else{f=a;e=a}}b=g+52|0;c[b>>2]=0;b=g+56|0;c[b>>2]=0;b=g+60|0;c[b>>2]=0;b=Wc(g)|0;f=c[h+4>>2]|0;rd(f);Ue(h+12|0);g=g+48|0;c[g>>2]=d;d=b;l=h;return d|0}function zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=ie(64)|0;Od(g+12|0,a);c[g+4>>2]=0;c[g+8>>2]=0;c[g>>2]=g+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=g+4|0;else{e=a;d=a;while(1){a=e+16|0;sc(g,g+4|0,a,a);a=c[d+4>>2]|0;if(!a)while(1){a=c[d+8>>2]|0;if((c[a>>2]|0)==(d|0))break;else d=a}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(b+4|0)){a=g+4|0;break}else{e=a;d=a}}}Od(f,g+12|0);c[f+40>>2]=0;c[f+44>>2]=0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;c[f+12+12>>2]=0;c[f+12+16>>2]=0;c[f+12+20>>2]=0;c[f+36>>2]=f+40;d=c[g>>2]|0;if((d|0)==(a|0)){b=f+52|0;c[b>>2]=0;b=f+56|0;c[b>>2]=0;b=f+60|0;c[b>>2]=0;f=Wc(f)|0;b=c[g+4>>2]|0;rd(b);Ue(g+12|0);l=g;return f|0}e=d;while(1){a=e+16|0;sc(f+36|0,f+40|0,a,a);a=c[d+4>>2]|0;if(!a)while(1){a=c[d+8>>2]|0;if((c[a>>2]|0)==(d|0))break;else d=a}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(g+4|0))break;else{e=a;d=a}}b=f+52|0;c[b>>2]=0;b=f+56|0;c[b>>2]=0;b=f+60|0;c[b>>2]=0;f=Wc(f)|0;b=c[g+4>>2]|0;rd(b);Ue(g+12|0);l=g;return f|0}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;Wb(0,b|0,d|0,c[d+48>>2]|0)|0;if((c[b+44>>2]|0)==0?(c[d+44>>2]|0)==0:0){l=q;return}e=c[b+36>>2]|0;if((e|0)!=(b+40|0)){f=e;while(1){e=e+16|0;if(!(Rc(d+36|0,e)|0)){if((a[e+11>>0]|0)<0)e=c[e>>2]|0;vb(1,c[d+48>>2]|0,e|0)|0}e=c[f+4>>2]|0;if(!e)while(1){e=c[f+8>>2]|0;if((c[e>>2]|0)==(f|0))break;else f=e}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(b+40|0))break;else f=e}}e=c[d+36>>2]|0;if((e|0)==(d+40|0)){l=q;return}f=e;o=e;a:while(1){g=o+16|0;do if(Rc(b+36|0,g)|0){e=c[(Ic(b+36|0,q,g)|0)>>2]|0;if(!e){p=18;break a}n=o+28|0;h=a[e+28+11>>0]|0;if(h<<24>>24<0)k=c[e+28+4>>2]|0;else k=h&255;j=a[n+11>>0]|0;m=j<<24>>24<0?c[o+32>>2]|0:j&255;if(h<<24>>24<0)i=c[e+28>>2]|0;else i=e+28|0;h=m>>>0>>0;e=h?m:k;if(e|0?Rd(i,j<<24>>24<0?c[n>>2]|0:n,e)|0:0){p=27;break}if(!(k>>>0>=m>>>0&(h^1)))p=27}else p=27;while(0);if((p|0)==27){p=0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;e=o+28|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;Wb(2,c[d+48>>2]|0,g|0,e|0)|0}e=c[f+4>>2]|0;if(!e)while(1){e=c[f+8>>2]|0;if((c[e>>2]|0)==(f|0))break;else f=e}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(d+40|0)){p=38;break}else{f=e;o=e}}if((p|0)==18){q=ib(8)|0;jf(q);c[q>>2]=1152;Yb(q|0,416,8)}else if((p|0)==38){l=q;return}}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+32|0;if(!(ye(b)|0)){if((a[b+24+11>>0]|0)<0)d=c[b+24>>2]|0;else d=b+24|0;c[b+48>>2]=ua(3,d|0)|0;b=b+48|0;b=c[b>>2]|0;l=f;return b|0}d=a[b+11>>0]|0;if(d<<24>>24<0)d=c[b+4>>2]|0;else d=d&255;if(!d){if((a[b+24+11>>0]|0)<0)d=c[b+24>>2]|0;else d=b+24|0;c[b+48>>2]=ua(4,d|0)|0;b=b+48|0;b=c[b>>2]|0;l=f;return b|0}c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;Id(f+12|0,1908,2);e=(Rc(b+36|0,f+12|0)|0)==0;Ue(f+12|0);if(e){if((a[b+11>>0]|0)<0)d=c[b>>2]|0;else d=b;c[b+48>>2]=ua(6,d|0)|0}else{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,1908,2);d=c[(Ic(b+36|0,f+12|0,f)|0)>>2]|0;if(!d){f=ib(8)|0;jf(f);c[f>>2]=1152;Yb(f|0,416,8)}if((a[d+28+11>>0]|0)<0)e=c[d+28>>2]|0;else e=d+28|0;if((a[b+11>>0]|0)<0)d=c[b>>2]|0;else d=b;c[b+48>>2]=vb(5,e|0,d|0)|0;Ue(f)}Ac(c[2116]|0,b);d=c[b+52>>2]|0;if((d|0)!=(c[b+56>>2]|0)){e=0;do{g=c[b+48>>2]|0;vb(7,g|0,Bc(c[d+(e<<2)>>2]|0)|0)|0;e=e+1|0;d=c[b+52>>2]|0}while((e|0)!=((c[b+56>>2]|0)-d>>2|0));d=b+48|0;g=c[d>>2]|0;l=f;return g|0}d=a[b+24+11>>0]|0;if(d<<24>>24<0)e=c[b+28>>2]|0;else e=d&255;if(!e){g=b+48|0;g=c[g>>2]|0;l=f;return g|0}if(d<<24>>24<0)d=c[b+24>>2]|0;else d=b+24|0;vb(8,c[b+48>>2]|0,d|0)|0;g=b+48|0;g=c[g>>2]|0;l=f;return g|0}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=ie(64)|0;Od(h+12|0,a);c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=h+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=h+4|0;else{f=a;e=a;while(1){a=f+16|0;sc(h,h+4|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=h+4|0;break}else{f=a;e=a}}}b=c[d>>2]|0;Od(g,h+12|0);c[g+40>>2]=0;c[g+44>>2]=0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;c[g+12+12>>2]=0;c[g+12+16>>2]=0;c[g+12+20>>2]=0;c[g+36>>2]=g+40;f=c[h>>2]|0;if((f|0)!=(a|0)){e=f;a=f;while(1){a=a+16|0;sc(g+36|0,g+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(h+4|0))break;else e=a}}c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;d=ie(4)|0;c[g+52>>2]=d;c[g+60>>2]=d+4;c[d>>2]=b;c[g+56>>2]=d+4;g=Wc(g)|0;rd(c[h+4>>2]|0);Ue(h+12|0);l=h;return g|0}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a[d+12>>0]=(d|0)==(b|0)&1;if((d|0)==(b|0))return;while(1){g=d+8|0;h=c[g>>2]|0;if(a[h+12>>0]|0){e=23;break}f=c[h+8>>2]|0;e=c[f>>2]|0;if((e|0)==(h|0)){e=c[f+4>>2]|0;if(!e){e=7;break}if(!(a[e+12>>0]|0))d=e+12|0;else{e=7;break}}else{if(!e){e=16;break}if(!(a[e+12>>0]|0))d=e+12|0;else{e=16;break}}a[h+12>>0]=1;a[f+12>>0]=(f|0)==(b|0)&1;a[d>>0]=1;if((f|0)==(b|0)){e=23;break}else d=f}if((e|0)==7){if((c[h>>2]|0)==(d|0))d=h;else{e=c[h+4>>2]|0;d=c[e>>2]|0;c[h+4>>2]=d;if(!d)d=f;else{c[d+8>>2]=h;d=c[h+8>>2]|0}c[e+8>>2]=d;d=c[h+8>>2]|0;c[((c[d>>2]|0)==(h|0)?d:d+4|0)>>2]=e;c[e>>2]=h;c[h+8>>2]=e;d=e;f=c[e+8>>2]|0}a[d+12>>0]=1;a[f+12>>0]=0;d=c[f>>2]|0;e=c[d+4>>2]|0;c[f>>2]=e;if(e|0)c[e+8>>2]=f;h=f+8|0;c[d+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(f|0)?g:g+4|0)>>2]=d;c[d+4>>2]=f;c[h>>2]=d;return}else if((e|0)==16){if((c[h>>2]|0)==(d|0)){b=d+4|0;e=c[b>>2]|0;c[h>>2]=e;if(e){c[e+8>>2]=h;f=c[h+8>>2]|0}c[g>>2]=f;f=c[h+8>>2]|0;c[((c[f>>2]|0)==(h|0)?f:f+4|0)>>2]=d;c[b>>2]=h;c[h+8>>2]=d;f=c[g>>2]|0}else d=h;a[d+12>>0]=1;a[f+12>>0]=0;h=f+4|0;d=c[h>>2]|0;e=c[d>>2]|0;c[h>>2]=e;if(e|0)c[e+8>>2]=f;h=f+8|0;c[d+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(f|0)?g:g+4|0)>>2]=d;c[d>>2]=f;c[h>>2]=d;return}else if((e|0)==23)return}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Fc(){var a=0,b=0,d=0;Va(8,16,32,0,3317,4,3320,0,3320,0,1260,3322,14);Ga(8,1,608,3317,5,1);a=ie(8)|0;c[a>>2]=6;c[a+4>>2]=0;Ca(8,2956,2,612,3325,1,a|0,0);a=ie(4)|0;c[a>>2]=2;Ca(8,2961,3,620,3449,6,a|0,0);a=ie(4)|0;c[a>>2]=1;Ca(8,2965,4,632,3454,4,a|0,0);Va(120,144,160,0,3317,7,3320,0,3320,0,1276,3322,15);Ga(120,1,648,3317,8,2);a=ie(8)|0;c[a>>2]=1;c[a+4>>2]=0;Ca(120,3460,3,652,3669,2,a|0,0);a=ie(8)|0;c[a>>2]=3;c[a+4>>2]=0;Ca(120,3470,4,664,3454,5,a|0,0);a=ie(8)|0;c[a>>2]=9;c[a+4>>2]=0;Ca(120,2956,2,680,3325,3,a|0,0);a=ie(4)|0;c[a>>2]=4;Ca(120,2961,3,688,3449,7,a|0,0);a=ie(4)|0;c[a>>2]=8;Ca(120,2965,4,700,3674,1,a|0,0);Jb(1598,2,716,3325,5,10);Jb(1603,3,724,3449,9,6);Jb(1609,3,736,3449,10,7);Jb(1615,3,748,3449,11,8);Jb(1621,3,760,3449,12,9);Jb(1627,3,772,3449,13,10);Jb(1633,4,784,3674,2,14);Jb(1640,4,800,3674,3,15);Jb(1647,4,816,3674,4,16);Jb(1654,5,832,3704,1,5);Jb(1662,4,852,3674,6,17);Jb(1669,2,868,3711,2,16);Jb(1682,2,876,3325,11,11);a=ie(64)|0;c[a+40>>2]=0;c[a+44>>2]=0;b=a;d=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a+36>>2]=a+40;c[a+52>>2]=0;c[a+56>>2]=0;c[a+60>>2]=0;c[2116]=a;Jb(2945,3,884,3449,18,12);return}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;e=c[b+4>>2]|0;if(!e){o=1;l=p;return o|0}k=a[d+11>>0]|0;n=k<<24>>24<0?c[d+4>>2]|0:k&255;k=k<<24>>24<0?c[d>>2]|0:d;i=b+4|0;a:while(1){d=e;while(1){g=d+16|0;f=a[g+11>>0]|0;h=f<<24>>24<0?c[d+20>>2]|0:f&255;e=n>>>0>>0?n:h;if((e|0)!=0?(j=Rd(f<<24>>24<0?c[g>>2]|0:g,k,e)|0,(j|0)!=0):0){if((j|0)>=0)break}else o=6;if((o|0)==6?(o=0,h>>>0>=n>>>0):0)break;d=c[d+4>>2]|0;if(!d){d=i;break a}}e=c[d>>2]|0;if(!e)break;else i=d}if((d|0)==(b+4|0)){o=1;l=p;return o|0}g=d+16|0;f=a[g+11>>0]|0;h=f<<24>>24<0?c[d+20>>2]|0:f&255;e=h>>>0>>0?h:n;if((e|0)!=0?(m=Rd(k,f<<24>>24<0?c[g>>2]|0:g,e)|0,(m|0)!=0):0){if((m|0)<0){o=1;l=p;return o|0}}else o=13;if((o|0)==13?n>>>0>>0:0){o=1;l=p;return o|0}m=d+28|0;k=a[m+11>>0]|0;n=k<<24>>24<0?c[d+32>>2]|0:k&255;o=nc(n+4|0)|0;c[o>>2]=n;Jc(o+4|0,(k<<24>>24<0?c[m>>2]|0:m)|0,n|0)|0;c[p>>2]=o;o=jb(64,p|0)|0;l=p;return o|0}function Hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[b+4>>2]|0;if(!f){c[d>>2]=b+4;m=b+4|0;return m|0}j=a[e+11>>0]|0;k=j<<24>>24<0?c[e+4>>2]|0:j&255;j=j<<24>>24<0?c[e>>2]|0:e;while(1){g=f+16|0;e=a[g+11>>0]|0;h=e<<24>>24<0?c[f+20>>2]|0:e&255;b=h>>>0>>0?h:k;if((b|0)!=0?(m=Rd(j,e<<24>>24<0?c[g>>2]|0:g,b)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=9;else if(k>>>0>>0)i=7;else i=9;if((i|0)==7){b=c[f>>2]|0;if(!b){i=8;break}}else if((i|0)==9){i=0;b=k>>>0>>0?k:h;if((b|0)!=0?(l=Rd(e<<24>>24<0?c[g>>2]|0:g,j,b)|0,(l|0)!=0):0){if((l|0)>=0){i=16;break}}else i=11;if((i|0)==11?(0,h>>>0>=k>>>0):0){i=16;break}e=f+4|0;b=c[e>>2]|0;if(!b){i=15;break}}f=b}if((i|0)==8){c[d>>2]=f;m=f;return m|0}else if((i|0)==15){c[d>>2]=f;m=e;return m|0}else if((i|0)==16){c[d>>2]=f;m=d;return m|0}return 0}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[b+4>>2]|0;if(!f){c[d>>2]=b+4;m=b+4|0;return m|0}j=a[e+11>>0]|0;k=j<<24>>24<0?c[e+4>>2]|0:j&255;j=j<<24>>24<0?c[e>>2]|0:e;while(1){h=f+16|0;e=a[h+11>>0]|0;g=e<<24>>24<0?c[f+20>>2]|0:e&255;b=g>>>0>>0?g:k;if((b|0)!=0?(m=Rd(j,e<<24>>24<0?c[h>>2]|0:h,b)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=9;else if(k>>>0>>0)i=7;else i=9;if((i|0)==7){b=c[f>>2]|0;if(!b){i=8;break}}else if((i|0)==9){i=0;b=k>>>0>>0?k:g;if((b|0)!=0?(l=Rd(e<<24>>24<0?c[h>>2]|0:h,j,b)|0,(l|0)!=0):0){if((l|0)>=0){i=16;break}}else i=11;if((i|0)==11?(0,g>>>0>=k>>>0):0){i=16;break}e=f+4|0;b=c[e>>2]|0;if(!b){i=15;break}}f=b}if((i|0)==8){c[d>>2]=f;m=f;return m|0}else if((i|0)==15){c[d>>2]=f;m=e;return m|0}else if((i|0)==16){c[d>>2]=f;m=d;return m|0}return 0}function Jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return xa(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[a+4>>2]|0;j=c[a>>2]|0;l=k-j>>2;if(l>>>0>=b>>>0){if(l>>>0<=b>>>0)return;if((k|0)==(j+(b<<2)|0))return;c[a+4>>2]=k+(~((k+-4-(j+(b<<2))|0)>>>2)<<2);return}e=c[a+8>>2]|0;if(e-k>>2>>>0>=(b-l|0)>>>0){e=k;f=b-l|0;while(1){c[e>>2]=c[d>>2];f=f+-1|0;if(!f)break;else e=e+4|0}c[a+4>>2]=k+(b-l<<2);return}if(b>>>0>1073741823)wf();e=e-j>>2>>>0<536870911?(e-j>>1>>>0>>0?b:e-j>>1):1073741823;do if(e)if(e>>>0>1073741823){a=ib(4)|0;Pf(a);Yb(a|0,384,6)}else{i=ie(e<<2)|0;break}else i=0;while(0);h=i+(l<<2)|0;f=h;g=b-l|0;while(1){c[f>>2]=c[d>>2];g=g+-1|0;if(!g)break;else f=f+4|0}if((k-j|0)>0)Jc(h+(0-l<<2)|0,j|0,k-j|0)|0;c[a>>2]=h+(0-l<<2);c[a+4>>2]=h+(b-l<<2);c[a+8>>2]=i+(e<<2);if(!j)return;ag(j);return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;g=c[a+28>>2]|0;c[i+32>>2]=g;g=(c[a+20>>2]|0)-g|0;c[i+32+4>>2]=g;c[i+32+8>>2]=b;c[i+32+12>>2]=d;c[i>>2]=c[a+60>>2];c[i+4>>2]=i+32;c[i+8>>2]=2;b=nf(Ka(146,i|0)|0)|0;a:do if((g+d|0)!=(b|0)){e=i+32|0;f=2;g=g+d|0;while(1){if((b|0)<0)break;g=g-b|0;j=c[e+4>>2]|0;k=b>>>0>j>>>0;e=k?e+8|0:e;f=(k<<31>>31)+f|0;j=b-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=e;c[i+16+8>>2]=f;b=nf(Ka(146,i+16|0)|0)|0;if((g|0)==(b|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}l=i;return d|0}function Mc(){Ib(480,8401);Pa(496,8406,1,1,0);hb(504,8349,1,-128,127);hb(520,8354,1,-128,127);hb(512,8366,1,0,255);hb(528,8380,2,-32768,32767);hb(536,8386,2,0,65535);hb(544,8411,4,-2147483648,2147483647);hb(552,8415,4,0,-1);hb(560,8428,4,-2147483648,2147483647);hb(568,8433,4,0,-1);Tb(576,8447,4);Tb(584,8453,8);Aa(64,8337);Aa(176,3715);Mb(200,4,3748);Sa(48,3761);Db(224,0,3777);Db(232,0,3807);Db(240,1,3844);Db(248,2,3883);Db(256,3,3914);Db(264,4,3954);Db(272,5,3983);Db(280,4,4021);Db(288,5,4051);Db(232,0,4090);Db(240,1,4122);Db(248,2,4155);Db(256,3,4188);Db(264,4,4222);Db(272,5,4255);Db(296,6,4289);Db(304,7,4320);Db(312,7,4352);return}function Nc(b,d){b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=(a[d>>0]|0)==0;d=ie(64)|0;if(f){Od(e,b);Od(d,e);c[d+40>>2]=0;c[d+44>>2]=0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;c[d+12+12>>2]=0;c[d+12+16>>2]=0;c[d+12+20>>2]=0;c[d+36>>2]=d+40;c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;Wc(d)|0;Ue(e);f=d;l=e;return f|0}else{Od(e+12|0,b);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Od(d+24|0,e+12|0);c[d+40>>2]=0;c[d+44>>2]=0;c[d+36>>2]=d+40;c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;Wc(d)|0;Ue(e+12|0);f=d;l=e;return f|0}return 0}function Oc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(qf(b,c[d+8>>2]|0)|0)){if(!(qf(b,c[d>>2]|0)|0)){h=c[b+8>>2]|0;bc[c[(c[h>>2]|0)+24>>2]&3](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;b=c[b+8>>2]|0;jc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){f=3;h=11}else f=3;else{f=4;h=11}if((h|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1}c[d+44>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else se(d,e,f);while(0);return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=ie(64)|0;Od(g,a);Od(f,g);c[f+40>>2]=0;c[f+44>>2]=0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;c[f+12+12>>2]=0;c[f+12+16>>2]=0;c[f+12+20>>2]=0;c[f+36>>2]=f+40;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;Ue(g);a=c[b>>2]|0;if((c[b+4>>2]|0)==(a|0)){b=Wc(f)|0;l=g;return b|0}e=0;do{a=c[a+(e<<2)>>2]|0;c[g+12>>2]=a;d=c[f+56>>2]|0;if(d>>>0<(c[f+60>>2]|0)>>>0){c[d>>2]=a;c[f+56>>2]=(c[f+56>>2]|0)+4}else bd(f+52|0,g+12|0);e=e+1|0;a=c[b>>2]|0}while(e>>>0<(c[b+4>>2]|0)-a>>2>>>0);b=Wc(f)|0;l=g;return b|0}function Qc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if(qf(b,c[d+8>>2]|0)|0)pd(d,e,f,g);else{i=a[d+52>>0]|0;j=a[d+53>>0]|0;k=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;Ld(b+16|0,d,e,f,g,h);a:do if((k|0)>1){l=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;Ld(l,d,e,f,g,h);l=l+8|0}while(l>>>0<(b+16+(k<<3)|0)>>>0)}while(0);a[d+52>>0]=i;a[d+53>>0]=j}return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[b+4>>2]|0;if(!b){l=0;return l|0}i=a[d+11>>0]|0;j=i<<24>>24<0?c[d+4>>2]|0:i&255;i=i<<24>>24<0?c[d>>2]|0:d;while(1){f=b+16|0;e=a[f+11>>0]|0;g=e<<24>>24<0?c[b+20>>2]|0:e&255;d=g>>>0>>0?g:j;if((d|0)!=0?(l=Rd(i,e<<24>>24<0?c[f>>2]|0:f,d)|0,(l|0)!=0):0)if((l|0)<0)h=7;else h=8;else if(j>>>0>>0)h=7;else h=8;if((h|0)!=7)if((h|0)==8){h=0;d=j>>>0>>0?j:g;if((d|0)!=0?(k=Rd(e<<24>>24<0?c[f>>2]|0:f,i,d)|0,(k|0)!=0):0){if((k|0)>=0){b=1;h=14;break}}else h=10;if((h|0)==10?(0,g>>>0>=j>>>0):0){b=1;h=14;break}b=b+4|0}b=c[b>>2]|0;if(!b){b=0;h=14;break}}if((h|0)==14)return b|0;return 0}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;c[d>>2]=c[c[d>>2]>>2];if(!(re(a,b)|0))if(((b|0)!=0?(f=Vc(b,448)|0,(f|0)!=0):0)?(c[f+8>>2]&~c[a+8>>2]|0)==0:0){a=c[a+12>>2]|0;if(!(qf(a,c[f+12>>2]|0)|0)?!(qf(a,480)|0):0)if((((a|0)!=0?(h=Vc(a,328)|0,(h|0)!=0):0)?(e=c[f+12>>2]|0,(e|0)!=0):0)?(g=Vc(e,328)|0,(g|0)!=0):0){a=i+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[i>>2]=g;c[i+8>>2]=h;c[i+12>>2]=-1;c[i+48>>2]=1;mc[c[(c[g>>2]|0)+28>>2]&7](g,i,c[d>>2]|0,1);if((c[i+24>>2]|0)==1){c[d>>2]=c[i+16>>2];a=1}else a=0}else a=0;else a=1}else a=0;else a=1;l=i;return a|0}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b>>2]|0)+1794895138|0;f=ff(c[b+8>>2]|0,n)|0;l=ff(c[b+12>>2]|0,n)|0;m=ff(c[b+16>>2]|0,n)|0;a:do if((f>>>0>>2>>>0?l>>>0<(d-(f<<2)|0)>>>0&m>>>0<(d-(f<<2)|0)>>>0:0)?((m|l)&3|0)==0:0){k=0;while(1){i=f>>>1;j=k+i|0;g=ff(c[b+((j<<1)+(l>>>2)<<2)>>2]|0,n)|0;h=ff(c[b+((j<<1)+(l>>>2)+1<<2)>>2]|0,n)|0;if(!(h>>>0>>0&g>>>0<(d-h|0)>>>0)){f=0;break a}if(a[b+(h+g)>>0]|0){f=0;break a}g=ae(e,b+h|0)|0;if(!g)break;if((f|0)==1){f=0;break a}else{k=(g|0)<0?k:j;f=(g|0)<0?i:f-i|0}}g=ff(c[b+((j<<1)+(m>>>2)<<2)>>2]|0,n)|0;f=ff(c[b+((j<<1)+(m>>>2)+1<<2)>>2]|0,n)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=Hc(a,h,b)|0;e=c[f>>2]|0;if(e|0){a=e;a=a+28|0;ce(a,d)|0;l=h;return}g=ie(40)|0;Od(g+16|0,b);c[g+28>>2]=0;c[g+28+4>>2]=0;c[g+28+8>>2]=0;e=c[h>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=e;c[f>>2]=g;e=c[c[a>>2]>>2]|0;if(!e)e=g;else{c[a>>2]=e;e=c[f>>2]|0}Dc(c[a+4>>2]|0,e);c[a+8>>2]=(c[a+8>>2]|0)+1;a=g;a=a+28|0;ce(a,d)|0;l=h;return}function Vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+64|0;g=c[d>>2]|0;h=d+(c[g+-8>>2]|0)|0;g=c[g+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=344;e=qf(g,e)|0;d=i+12|0;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(e){c[i+48>>2]=1;jc[c[(c[g>>2]|0)+20>>2]&3](g,i,h,h,1,0);e=(c[i+24>>2]|0)==1?h:0}else{bc[c[(c[g>>2]|0)+24>>2]&3](g,i,h,1,0);switch(c[i+36>>2]|0){case 0:{e=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{e=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){e=0;break}e=c[i+16>>2]|0}while(0);l=i;return e|0}function Wc(a){a=a|0;var b=0,d=0;d=l;l=l+32|0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;Id(d+12|0,1594,3);b=(Rc(a+36|0,d+12|0)|0)==0;Ue(d+12|0);if(b){l=d;return a|0}c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Id(d,1594,3);b=c[(Ic(a+36|0,d+12|0,d)|0)>>2]|0;if(!b){d=ib(8)|0;jf(d);c[d>>2]=1152;Yb(d|0,416,8)}ce(a+12|0,b+28|0)|0;Ue(d);l=d;return a|0}function Xc(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=d;d=(d|0)!=0;f=4;break}}}else{e=d;d=(d|0)!=0;f=4}while(0);b:do if((f|0)==4)if(d){if(a[b>>0]|0){c:do if(e>>>0>3)while(1){d=c[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){f=10;break c}}else f=10;while(0);if((f|0)==10)if(!e){e=0;break}while(1){if(!(a[b>>0]|0))break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}else e=0;while(0);return (e|0?b:0)|0}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;d=c[a+8>>2]|0;if((g|0)!=(d|0)){c[g>>2]=c[b>>2];c[a+4>>2]=g+4;return}h=c[a>>2]|0;if(((g-h>>2)+1|0)>>>0>1073741823)wf();d=d-h>>2>>>0<536870911?(d-h>>1>>>0<((g-h>>2)+1|0)>>>0?(g-h>>2)+1|0:d-h>>1):1073741823;do if(d)if(d>>>0>1073741823){a=ib(4)|0;Pf(a);Yb(a|0,384,6)}else{f=ie(d<<2)|0;break}else f=0;while(0);e=f+(g-h>>2<<2)|0;c[e>>2]=c[b>>2];if((g-h|0)>0)Jc(e+(0-(g-h>>2)<<2)|0,h|0,g-h|0)|0;c[a>>2]=e+(0-(g-h>>2)<<2);c[a+4>>2]=e+4;c[a+8>>2]=f+(d<<2);if(!h)return;ag(h);return}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=a[b+12+11>>0]|0;if(f<<24>>24<0)j=c[b+16>>2]|0;else j=f&255;i=a[d+12+11>>0]|0;k=i<<24>>24<0?c[d+16>>2]|0:i&255;if(f<<24>>24<0)h=c[b+12>>2]|0;else h=b+12|0;g=k>>>0>>0;f=g?k:j;if(f|0?Rd(h,i<<24>>24<0?c[d+12>>2]|0:d+12|0,f)|0:0){d=0;return d|0}if(!(j>>>0>=k>>>0&(g^1))){d=0;return d|0}f=a[b+11>>0]|0;if(f<<24>>24<0)i=c[b+4>>2]|0;else i=f&255;h=a[d+11>>0]|0;j=h<<24>>24<0?c[d+4>>2]|0:h&255;if(f<<24>>24<0)b=c[b>>2]|0;g=j>>>0>>0;f=g?j:i;if(!((f|0)!=0?(e=Rd(b,h<<24>>24<0?c[d>>2]|0:d,f)|0,(e|0)!=0):0))e=i>>>0>>0?-1:g&1;d=(e|0)==0;return d|0}function _c(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+56>>2]|0;d=c[a+52>>2]|0;if(b-d>>2){e=d;b=b-d>>2;do{b=b+-1|0;_c(c[e+(b<<2)>>2]|0);e=c[a+52>>2]|0}while((b|0)!=0);b=c[a+56>>2]|0;d=e}f=d;e=b+(~((b+-4-f|0)>>>2)<<2)|0;if((b|0)!=(d|0)){c[a+56>>2]=e;b=e}if(d|0){if((b|0)!=(d|0))c[a+56>>2]=b+(~((b+-4-f|0)>>>2)<<2);ag(d)}rd(c[a+40>>2]|0);Ue(a+24|0);Ue(a+12|0);Ue(a);ag(a);return}function $c(){var a=0,b=0,d=0,e=0;e=l;l=l+48|0;a=ue()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=c[d+48>>2]|0;b=c[d+48+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){c[e+24>>2]=7764;Re(7714,e+24|0)}if((a|0)==1126902529&(b|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(qd(320,d,e+36|0)|0){d=c[e+36>>2]|0;d=fc[c[(c[d>>2]|0)+8>>2]&15](d)|0;c[e>>2]=7764;c[e+4>>2]=a;c[e+8>>2]=d;Re(7628,e)}else{c[e+16>>2]=7764;c[e+16+4>>2]=a;Re(7673,e+16|0)}}Re(7752,e+32|0)}function ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!($d(e)|0)){f=c[e+16>>2]|0;g=5}}else g=5;a:do if((g|0)==5){g=c[e+20>>2]|0;if((f-g|0)>>>0>>0){ac[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){f=d;break b}f=h+-1|0;if((a[b+f>>0]|0)==10)break;else h=f}if((ac[c[e+36>>2]&31](e,b,h)|0)>>>0>>0)break a;g=c[e+20>>2]|0;f=d-h|0;b=b+h|0}else f=d;while(0);Jc(g|0,b|0,f|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+f}while(0);return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=(c[a+4>>2]|0)-e|0;if(((h>>2)+1|0)>>>0>1073741823)wf();d=(c[a+8>>2]|0)-e|0;d=d>>2>>>0<536870911?(d>>1>>>0<((h>>2)+1|0)>>>0?(h>>2)+1|0:d>>1):1073741823;do if(d)if(d>>>0>1073741823){a=ib(4)|0;Pf(a);Yb(a|0,384,6)}else{g=ie(d<<2)|0;break}else g=0;while(0);f=g+(h>>2<<2)|0;c[f>>2]=c[b>>2];if((h|0)>0)Jc(f+(0-(h>>2)<<2)|0,e|0,h|0)|0;c[a>>2]=f+(0-(h>>2)<<2);c[a+4>>2]=f+4;c[a+8>>2]=g+(d<<2);if(!e)return;ag(e);return}function cd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=c[b>>2]|0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;Id(g+12|0,b+4|0,h);b=c[d>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Id(g,d+4|0,b);a=ic[a&7](g+12|0,g,e,f)|0;Ue(g);Ue(g+12|0);l=g;return a|0}function dd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;a=c[a>>2]|0;g=c[d>>2]|0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;Id(f+12|0,d+4|0,g);d=c[e>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,e+4|0,d);gc[a&3](b,f+12|0,f);Ue(f);Ue(f+12|0);l=f;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=ie(64)|0;Od(d+12|0,a);Od(d,b);Od(e,d+12|0);c[e+12>>2]=0;c[e+12+4>>2]=0;c[e+12+8>>2]=0;Od(e+24|0,d);c[e+40>>2]=0;c[e+44>>2]=0;c[e+36>>2]=e+40;c[e+52>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=Wc(e)|0;Ue(d);Ue(d+12|0);l=d;return b|0}function fd(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[2127]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[2260]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[2260]=84;b=-1;break}}else b=1;while(0);return b|0}function gd(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((-18-d|0)>>>0>>0)uf();if((a[b+11>>0]|0)<0)k=c[b>>2]|0;else k=b;if(d>>>0<2147483623){j=(e+d|0)>>>0>>0?d<<1:e+d|0;j=j>>>0<11?11:j+16&-16}else j=-17;e=ie(j)|0;if(h|0)Xe(e,i,h)|0;if(f-g|0)Xe(e+h|0,k+g|0,f-g|0)|0;if((d|0)!=10)ag(k);c[b>>2]=e;c[b+8>>2]=j|-2147483648;c[b+4>>2]=f-g+h;vf(e+(f-g+h)|0,0);return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=c[b>>2]|0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;Id(f+12|0,b+4|0,g);b=c[e>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,e+4|0,b);a=ac[a&31](f+12|0,d,f)|0;Ue(f);Ue(f+12|0);l=f;return a|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=ie(64)|0;Od(d,a);b=c[b>>2]|0;Od(e,d);c[e+40>>2]=0;c[e+44>>2]=0;c[e+12>>2]=0;c[e+12+4>>2]=0;c[e+12+8>>2]=0;c[e+12+12>>2]=0;c[e+12+16>>2]=0;c[e+12+20>>2]=0;c[e+36>>2]=e+40;c[e+52>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;a=ie(4)|0;c[e+52>>2]=a;c[e+60>>2]=a+4;c[a>>2]=b;c[e+56>>2]=a+4;a=Wc(e)|0;Ue(d);l=d;return a|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+224|0;e=g+80|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g+120>>2]=c[d>>2];if((qc(0,b,g+120|0,g,g+80|0)|0)>=0){d=c[224]|0;if((a[970]|0)<1)c[224]=d&-33;if(!(c[236]|0)){e=c[235]|0;c[235]=g+136;c[231]=g+136;c[229]=g+136;c[236]=80;c[228]=g+136+80;qc(896,b,g+120|0,g,g+80|0)|0;if(e|0){ac[c[932>>2]&31](896,0,0)|0;c[235]=e;c[236]=0;c[228]=0;c[231]=0;c[229]=0}}else qc(896,b,g+120|0,g,g+80|0)|0;c[224]=c[224]|d&32}l=g;return}function kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function ld(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(qf(b,c[d+8>>2]|0)|0)){if(qf(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else se(d,e,f);while(0);return}function md(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(qf(b,c[d+8>>2]|0)|0)){g=c[b+12>>2]|0;Sd(b+16|0,d,e,f);if((g|0)>1){h=b+24|0;do{Sd(h,d,e,f);if(a[d+54>>0]|0)break a;h=h+8|0}while(h>>>0<(b+16+(g<<3)|0)>>>0)}}else Hd(d,e,f);while(0);return}function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b+11>>0]|0;if(f<<24>>24<0)g=(c[b+8>>2]&2147483647)+-1|0;else g=10;do if(g>>>0>=e>>>0){if(f<<24>>24<0)f=c[b>>2]|0;else f=b;We(f,d,e)|0;vf(f+e|0,0);if((a[b+11>>0]|0)<0){c[b+4>>2]=e;break}else{a[b+11>>0]=e;break}}else{if(f<<24>>24<0)f=c[b+4>>2]|0;else f=f&255;gd(b,g,e-g|0,f,f,e,d)}while(0);return b|0}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=c[b>>2]|0;c[e+12>>2]=0;c[e+12+4>>2]=0;c[e+12+8>>2]=0;Id(e+12|0,b+4|0,f);b=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Id(e,d+4|0,b);a=kc[a&15](e+12|0,e)|0;Ue(e);Ue(e+12|0);l=e;return a|0}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+64|0;if(!(qf(a,b)|0))if((b|0)!=0?(f=Vc(b,328)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;mc[c[(c[f>>2]|0)+28>>2]&7](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;l=g;return b|0}function rd(a){a=a|0;if(!a)return;else{rd(c[a>>2]|0);rd(c[a+4>>2]|0);Ue(a+28|0);Ue(a+16|0);ag(a);return}}function sd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=ie(64)|0;Od(b,a);Od(d,b);c[d+40>>2]=0;c[d+44>>2]=0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;c[d+12+12>>2]=0;c[d+12+16>>2]=0;c[d+12+20>>2]=0;c[d+36>>2]=d+40;c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;a=Wc(d)|0;Ue(b);l=b;return a|0}function td(a){a=a|0;if(!a)return;else{td(c[a>>2]|0);td(c[a+4>>2]|0);Ue(a+16|0);ag(a);return}}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;a=c[a>>2]|0;f=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Id(e,d+4|0,f);b=kc[a&15](b,e)|0;Ob(b|0);Ta(b|0);Ue(e);l=e;return b|0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=c[b>>2]|0;c[f+4>>2]=0;c[f+4+4>>2]=0;c[f+4+8>>2]=0;Id(f+4|0,b+4|0,g);c[f>>2]=e;a=ac[a&31](f+4|0,d,f)|0;Ue(f+4|0);l=f;return a|0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=c[b>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,b+4|0,g);a=ac[a&31](f,d,e)|0;Ue(f);l=f;return a|0}function xd(b){b=b|0;var d=0,e=0,f=0;a:do if(!(b&3)){d=b;f=4}else{d=b;e=b;while(1){if(!(a[e>>0]|0))break a;e=e+1|0;d=e;if(!(d&3)){d=e;f=4;break}}}while(0);if((f|0)==4){while(1){e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))d=d+4|0;else break}if((e&255)<<24>>24)do d=d+1|0;while((a[d>>0]|0)!=0)}return d-b|0}function yd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=Fe(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+yd(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=c[b>>2]|0;c[e+4>>2]=0;c[e+4+4>>2]=0;c[e+4+8>>2]=0;Id(e+4|0,b+4|0,f);c[e>>2]=d;a=kc[a&15](e+4|0,e)|0;Ue(e+4|0);l=e;return a|0}function Ad(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[5408+f>>0]|0)==(b|0)){g=2;break}f=f+1|0;if((f|0)==87){f=87;b=5496;g=5;break}}if((g|0)==2)if(!f)f=5496;else{b=5496;g=5}if((g|0)==5)while(1){do{g=b;b=b+1|0}while((a[g>>0]|0)!=0);f=f+-1|0;if(!f){f=b;break}else g=5}return Lf(f,c[e+20>>2]|0)|0}function Bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=c[d>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,d+4|0,g);a[f+12>>0]=e&1;b=kc[b&15](f,f+12|0)|0;Ue(f);l=f;return b|0}function Cd(){var b=0,e=0,f=0;f=l;l=l+16|0;a[f>>0]=10;b=c[228]|0;if(!b)if(!($d(896)|0)){b=c[228]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[229]|0;if(!(e>>>0>=b>>>0|(a[971]|0)==10)){c[229]=e+1;a[e>>0]=10;b=10;break}if((ac[c[932>>2]&31](896,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);l=f;return b|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=c[b>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Id(e,b+4|0,f);a=kc[a&15](e,d)|0;Ue(e);l=e;return a|0}function Ed(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;if(e<<24>>24<0)f=c[b+4>>2]|0;else f=e&255;if((d|0)==-1)tf();if(e<<24>>24<0)e=c[b>>2]|0;else e=b;b=f>>>0>d>>>0;e=Te(e,b?d:f)|0;if(!e)return (f>>>0>>0?-1:b&1)|0;else return e|0;return 0}function Fd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=te(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=gf(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=c[b>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Id(d,b+4|0,e);a=fc[a&15](d)|0;Ue(d);l=d;return a|0}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function Id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(e>>>0>4294967279)uf();if(e>>>0<11)a[b+11>>0]=e;else{f=ie(e+16&-16)|0;c[b>>2]=f;c[b+8>>2]=e+16&-16|-2147483648;c[b+4>>2]=e;b=f}Xe(b,d,e)|0;vf(b+e|0,0);return}function Jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=l;l=l+256|0;if((c|0)>(d|0)&(e&73728|0)==0){kd(f|0,b|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{cf(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;cf(a,f,b)}l=f;return}function Kd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(qf(a,c[b+8>>2]|0)|0)pd(b,d,e,f);else{a=c[a+8>>2]|0;jc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Ld(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if(!(h&1))i=h>>8;else i=c[(c[e>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;jc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+i|0,h&2|0?f:2,g);return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=c[a>>2]|0;a=c[a+4>>2]|0;if(a&1)f=c[(c[b+(a>>1)>>2]|0)+f>>2]|0;c[g>>2]=e;gc[f&3](b+(a>>1)|0,d,g);l=g;return}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(qf(a,c[b+8>>2]|0)|0)Hd(b,d,e);else{a=c[a+8>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function Od(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)Id(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function Pd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+4>>2]|0;if(!(g&1))h=g>>8;else h=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;bc[c[(c[a>>2]|0)+24>>2]&3](a,b,d+h|0,g&2|0?e:2,f);return}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=c[a>>2]|0;a=c[a+4>>2]|0;if(a&1)e=c[(c[b+(a>>1)>>2]|0)+e>>2]|0;c[f>>2]=d;ec[e&3](b+(a>>1)|0,f);l=f;return}function Rd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function Sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+4>>2]|0;if(!(f&1))g=f>>8;else g=c[(c[d>>2]|0)+(f>>8)>>2]|0;a=c[a>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+g|0,f&2|0?e:2);return}function Td(a,b){a=a|0;b=b|0;var d=0;if(Zc(a,b)|0){oc(a,b);return b|0}d=ua(15,c[a+48>>2]|0)|0;Bc(b)|0;if(!d)return b|0;Wb(9,d|0,c[b+48>>2]|0,c[a+48>>2]|0)|0;ua(12,c[a+48>>2]|0)|0;return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;a=c[a+4>>2]|0;if(!(a&1)){b=fc[d&15](b+(a>>1)|0)|0;return b|0}else{d=c[(c[b+(a>>1)>>2]|0)+d>>2]|0;b=fc[d&15](b+(a>>1)|0)|0;return b|0}return 0}function Vd(){var b=0,d=0,e=0;e=(a[971]|0)==10;do if((c[243]|0)<0){if(!e?(b=c[229]|0,b>>>0<(c[228]|0)>>>0):0){c[229]=b+1;a[b>>0]=10;break}Cd()|0}else{if(!e?(d=c[229]|0,d>>>0<(c[228]|0)>>>0):0){c[229]=d+1;a[d>>0]=10;break}Cd()|0}while(0);return}function Wd(a){a=a|0;if(!a)return;rd(c[a+4>>2]|0);ag(a);return}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((nf(Ia(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;l=e;return a|0}function Yd(b){b=b|0;var d=0,e=0,f=0,g=0;d=ie(36)|0;c[d>>2]=23;c[d+4>>2]=23;c[d+8>>2]=0;d=zf(d)|0;e=d;f=3680;g=e+24|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));c[b>>2]=d;return}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=c[a>>2]|0;if((c[a+4>>2]|0)-d>>2>>>0<=b>>>0){a=1;l=e;return a|0}c[e>>2]=c[d+(b<<2)>>2];a=jb(544,e|0)|0;l=e;return a|0}function _d(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Oa(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Oa(12);c[i>>2]=b;return -1}return b|0}function $d(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function ae(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function be(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(qf(a,c[b+8>>2]|0)|0)pd(b,d,e,f);return}function ce(b,d){b=b|0;d=d|0;var e=0;if((b|0)!=(d|0)){e=a[d+11>>0]|0;nd(b,e<<24>>24<0?c[d>>2]|0:d,e<<24>>24<0?c[d+4>>2]|0:e&255)|0}return b|0}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;a=c[a>>2]|0;c[f>>2]=e;b=ac[a&31](b,d,f)|0;l=f;return b|0}function ee(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Jc(b,c,d)|0;return b|0}function fe(b){b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;e=(a[d>>0]|0)+-48|0;if(e>>>0<10){f=d;d=0;do{d=(d*10|0)+e|0;f=f+1|0;c[b>>2]=f;e=(a[f>>0]|0)+-48|0}while(e>>>0<10)}else d=0;return d|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(qf(a,c[b+8>>2]|0)|0)Hd(b,d,e);return}function he(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;if(b|0){d=c[a+4>>2]|0;if((d|0)!=(b|0))c[a+4>>2]=d+(~((d+-4-b|0)>>>2)<<2);ag(b)}ag(a);return}function ie(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=nc(b)|0;a:do if(!a)do{a=yf()|0;if(!a){a=0;break a}hc[a&3]();a=nc(b)|0}while(!(a|0));while(0);return a|0}function je(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[5392+(b&15)>>0]|0|f;b=Fe(b|0,c|0,4)|0;c=D}while(!((b|0)==0&(c|0)==0));return e|0}function ke(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function le(){var a=0,b=0;b=ue()|0;if((b|0?(a=c[b>>2]|0,a|0):0)?((c[a+48>>2]&-256|0)==1126902528?(c[a+48+4>>2]|0)==1129074247:0):0)Ze(c[a+12>>2]|0);Ze(Af()|0)}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=c[d>>2];a=ac[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=e;return a&1|0}function ne(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Fe(b|0,c|0,3)|0;c=D}while(!((b|0)==0&(c|0)==0));return d|0}function oe(){var a=0;a=ie(12)|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=a+4;return a|0}function pe(a,b,d){a=a|0;b=b|0;d=d|0;b=kc[c[a>>2]&15](b,d)|0;Ob(b|0);Ta(b|0);return b|0}function qe(a){a=a|0;var b=0,d=0;d=Mf(c[a>>2]|0)|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)ag((c[a>>2]|0)+-12|0);return}function re(a,b){a=a|0;b=b|0;if(qf(a,b)|0)a=1;else a=qf(b,488)|0;return a|0}function se(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;uc(a,b,d,e,f|0)|0;l=f;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function ue(){var a=0,b=0;a=l;l=l+16|0;if(!(Ua(9028,2)|0)){b=lb(c[2258]|0)|0;l=a;return b|0}else Re(7903,a);return 0}function ve(a){a=a|0;var b=0;b=l;l=l+16|0;rc(a);if(!(Vb(c[2258]|0,0)|0)){l=b;return}else Re(8002,b)}function we(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;a=fc[a&15](d)|0;l=d;return a|0}function xe(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=cg(c[a+60>>2]|0)|0;a=nf(_a(6,b|0)|0)|0;l=b;return a|0}function ye(a){a=a|0;return Ed(a,Yf()|0)|0}function ze(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;dc[a&31](d);l=d;return}function Ae(){var a=0;a=l;l=l+16|0;if(!(rb(9032,17)|0)){l=a;return}else Re(7952,a)}function Be(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;jc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;c[(c[a>>2]|0)+(b<<2)>>2]=c[d>>2];return 1}function De(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return a|0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ge(){}function He(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function Ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return lc[a&1](b|0,c|0,d|0,e|0,f|0)|0}function Je(a){a=a|0;var b=0,c=0;c=(xd(a)|0)+1|0;b=nc(c)|0;if(!b)b=0;else Jc(b|0,a|0,c|0)|0;return b|0}function Ke(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Tc(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Le(a,b,c){a=a|0;b=b|0;c=c|0;return qf(a,b)|0}function Me(a){a=a|0;return 8}function Ne(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;bc[a&3](b|0,c|0,d|0,e|0,f|0)}function Oe(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function Pe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ic[a&7](b|0,c|0,d|0,e|0)|0}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (D=b+d+(a+c>>>0>>>0>>0|0)>>>0,a+c>>>0|0)|0}function Re(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;jd(a,d);Vd();yb()}function Se(a){a=a|0;return c[a+8>>2]|0}function Te(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Rd(a,8333,b)|0;return b|0}function Ue(b){b=b|0;if((a[b+11>>0]|0)<0)ag(c[b>>2]|0);return}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;mc[a&7](b|0,c|0,d|0,e|0)}function We(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ee(a|0,b|0,c|0)|0;return a|0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Jc(a|0,b|0,c|0)|0;return a|0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;return kc[a&15](b,c)|0}function Ze(a){a=a|0;var b=0;b=l;l=l+16|0;hc[a&3]();Re(8055,b)}function _e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac[a&31](b|0,c|0,d|0)|0}function $e(a){a=a|0;if(!a)a=0;else a=(Vc(a,448)|0)!=0;return a&1|0}function af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;gc[a&3](b|0,c|0,d|0)}function bf(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ad(b,d,a);return}function df(a,b){a=a|0;b=b|0;if(!a)a=0;else a=fd(a,b)|0;return a|0}function ef(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>2|0}function ff(a,b){a=a|0;b=b|0;var c=0;c=kf(a|0)|0;return ((b|0)==0?a:c)|0}function gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uc(a,b,c,d,0)|0}function hf(a){a=a|0;c[a>>2]=1132;qe(a+4|0);return}function jf(a){a=a|0;c[a>>2]=1132;Yd(a+4|0);return}function kf(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function lf(a,b,c){a=a|0;b=b|0;c=c|0;return kc[a&15](b|0,c|0)|0}function mf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(9)}function nf(a){a=a|0;if(a>>>0>4294963200){c[2260]=0-a;a=-1}return a|0}function of(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(11);return 0}function pf(a){a=a|0;return 120}function qf(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function rf(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function sf(a,b,c){a=a|0;b=b|0;c=c|0;ec[a&3](b|0,c|0)}function tf(){ra(7578,7460,1194,7607)}function uf(){ra(7431,7460,1183,7557)}function vf(b,c){b=b|0;c=c|0;a[b>>0]=c;return}function wf(){ra(7311,7334,304,7557)}function xf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(1)}function yf(){var a=0;a=c[2259]|0;c[2259]=a+0;return a|0}function zf(a){a=a|0;return a+12|0}function Af(){var a=0;a=c[255]|0;c[255]=a+0;return a|0}function Bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(8);return 0}function Cf(a){a=a|0;_c(c[a>>2]|0);return}function Df(a){a=a|0;wa(a|0)|0;le()}function Ef(a,b){a=a|0;b=b|0;return fc[a&15](b|0)|0}function Ff(a){a=a|0;hf(a);ag(a);return}function Gf(a){a=a|0;return cg(c[a+4>>2]|0)|0}function Hf(a,b){a=a|0;b=b|0;l=a;m=b}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(12)}function Jf(a){a=a|0;return c[(c[a>>2]|0)+48>>2]|0}function Kf(a,b){a=a|0;b=b|0;dc[a&31](b|0)}function Lf(a,b){a=a|0;b=b|0;return Ke(a,b)|0}function Mf(a){a=a|0;return a+-4|0}function Nf(a){a=a|0;return Je(c[a+4>>2]|0)|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;W(0);return 0}function Pf(a){a=a|0;c[a>>2]=1112;return}function Qf(a,b){a=+a;b=b|0;return +(+yd(a,b))}function Rf(a){a=a|0;return cc[a&3]()|0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;W(6)}function Tf(a){a=a|0;return Ad(a,8508)|0}function Uf(a,b){a=a|0;b=b|0;W(10);return 0}function Vf(a){a=a|0;ag(a);return}function Wf(a){a=a|0;hc[a&3]()}function Xf(a){a=a|0;return 8095}function Yf(){return 1}function Zf(a,b){a=a|0;b=b|0;W(4)}function _f(a){a=a|0;return}function $f(a){a=a|0;l=a}function ag(a){a=a|0;rc(a);return}function bg(a){a=a|0;D=a}function cg(a){a=a|0;return a|0}function dg(){return 8468}function eg(a){a=a|0;W(5);return 0}function fg(){return D|0}function gg(){return l|0}function hg(a){a=a|0;W(3)}function ig(){W(2);return 0}function jg(){W(7)} // EMSCRIPTEN_END_FUNCS var ac=[Of,Lc,Xd,qd,Le,Sc,ud,pe,Ce,Bd,zd,od,Dd,Dd,Cc,wc,xc,yc,Ye,Of,Of,Of,Of,Of,Of,Of,Of,Of,Of,Of,Of,Of];var bc=[xf,ld,Oc,vc];var cc=[ig,oe,Ee,ig];var dc=[hg,_f,Vf,_f,_f,Vf,_f,Vf,hf,Ff,Ff,Vf,Vf,Vf,Wd,he,Cf,ve,hg,hg,hg,hg,hg,hg,hg,hg,hg,hg,hg,hg,hg,hg];var ec=[Zf,Yc,ze,Zf];var fc=[eg,xe,Xf,Gf,Me,Rf,Se,pf,Rf,ef,sd,Jf,eg,eg,eg,eg];var gc=[Sf,Uc,Qd,Kc];var hc=[jg,$c,Ae,jg];var ic=[Bf,de,vd,hd,wd,tc,wd,Bf];var jc=[mf,be,Kd,Qc];var kc=[Uf,Ud,Gc,Ud,Zd,Gd,Nc,id,ed,zc,Pc,we,Td,Uf,Uf,Uf];var lc=[of,cd];var mc=[If,ge,Nd,md,dd,Md,If,If];return{_llvm_cttz_i32:ke,___cxa_can_catch:me,_free:rc,___udivmoddi4:uc,___cxa_is_pointer_type:$e,_i64Add:Qe,_memmove:ee,_i64Subtract:He,_memset:kd,_malloc:nc,_emscripten_get_global_libc:dg,_memcpy:Jc,___getTypeName:Nf,_sbrk:_d,_bitshift64Lshr:Fe,___udivdi3:gf,___uremdi3:te,_llvm_bswap_i32:kf,_bitshift64Shl:De,__GLOBAL__sub_I_app_cpp:Fc,__GLOBAL__sub_I_bind_cpp:Mc,runPostSets:Ge,stackAlloc:bf,stackSave:gg,stackRestore:$f,establishStackSpace:Hf,setTempRet0:bg,getTempRet0:fg,setThrew:rf,stackAlloc:bf,stackSave:gg,stackRestore:$f,establishStackSpace:Hf,setThrew:rf,setTempRet0:bg,getTempRet0:fg,dynCall_iiii:_e,dynCall_viiiii:Ne,dynCall_i:Rf,dynCall_vi:Kf,dynCall_vii:sf,dynCall_ii:Ef,dynCall_viii:af,dynCall_v:Wf,dynCall_iiiii:Pe,dynCall_viiiiii:Be,dynCall_iii:lf,dynCall_iiiiii:Ie,dynCall_viiii:Ve}}) diff --git a/compiled/wasm/asm-dom.asm.js b/compiled/wasm/asm-dom.asm.js index ff026da..4da796f 100644 --- a/compiled/wasm/asm-dom.asm.js +++ b/compiled/wasm/asm-dom.asm.js @@ -579,7 +579,7 @@ function __Z4h_tiRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE } return (0)|0; } -function __Z4h_snRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKj($sel,$node) { +function __Z4h_snRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKi($sel,$node) { $sel = $sel|0; $node = $node|0; var $0 = 0, $1 = 0, $__end_$i$i$i = 0, $__end_cap_$i$i$i = 0, $__first_$i$i$i$i$i = 0, $__left_$i$i$i$i$i$i = 0, $add$ptr$i9$i$i = 0, $agg$tmp = 0, $call = 0, $call$i$i$i$i11$i$i = 0, $call4 = 0, $children$i = 0, $key$i = 0, $props$i = 0, label = 0, sp = 0; @@ -795,7 +795,7 @@ function __Z4h_sdRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($agg$tmp); STACKTOP = sp;return ($14|0); } -function __Z4h_scRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6vectorIjNS3_IjEEEE($sel,$children) { +function __Z4h_scRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6vectorIiNS3_IiEEEE($sel,$children) { $sel = $sel|0; $children = $children|0; var $$in = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $__begin_$i$i$i = 0, $__end_$i = 0, $__end_$i$i$i = 0, $__end_cap_$i$i$i = 0, $__first_$i$i$i$i$i = 0, $__left_$i$i$i$i$i$i = 0, $agg$tmp = 0, $arrayidx$i = 0, $call = 0; @@ -864,7 +864,7 @@ function __Z4h_scRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE $2 = $call6; STACKTOP = sp;return ($2|0); } -function __ZNKSt3__26vectorIjNS_9allocatorIjEEE4sizeEv($this) { +function __ZNKSt3__26vectorIiNS_9allocatorIiEEE4sizeEv($this) { $this = $this|0; var $0 = 0, $1 = 0, $__end_ = 0, $sub$ptr$div = 0, $sub$ptr$sub = 0, label = 0, sp = 0; sp = STACKTOP; @@ -875,7 +875,7 @@ function __ZNKSt3__26vectorIjNS_9allocatorIjEEE4sizeEv($this) { $sub$ptr$div = $sub$ptr$sub >> 2; return ($sub$ptr$div|0); } -function __Z5h_sdnRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKj($sel,$nodeProps,$node) { +function __Z5h_sdnRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKi($sel,$nodeProps,$node) { $sel = $sel|0; $nodeProps = $nodeProps|0; $node = $node|0; @@ -1168,7 +1168,7 @@ function __Z5h_sdtRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEE __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($agg$tmp); STACKTOP = sp;return ($14|0); } -function __Z5h_sdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIjNS3_IjEEEE($sel,$nodeProps,$children) { +function __Z5h_sdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIiNS3_IiEEEE($sel,$nodeProps,$children) { $sel = $sel|0; $nodeProps = $nodeProps|0; $children = $children|0; @@ -1343,7 +1343,7 @@ function __Z5h_sdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEE $17 = $call10; STACKTOP = sp;return ($17|0); } -function __Z6h_stdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES7_RKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIjNS3_IjEEEE($sel,$text,$nodeProps,$children) { +function __Z6h_stdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES7_RKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIiNS3_IiEEEE($sel,$text,$nodeProps,$children) { $sel = $sel|0; $text = $text|0; $nodeProps = $nodeProps|0; @@ -1826,7 +1826,7 @@ function __Z11deleteVNodeP5VNode($vnode) { __ZdlPv($vnode); return; } -function __Z14deleteVNodePtrRKj($vnodePtr) { +function __Z14deleteVNodePtrRKi($vnodePtr) { $vnodePtr = $vnodePtr|0; var $0 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -1834,7 +1834,7 @@ function __Z14deleteVNodePtrRKj($vnodePtr) { __Z11deleteVNodeP5VNode($0); return; } -function __Z7getNodeRKj($vnodePtr) { +function __Z7getNodeRKi($vnodePtr) { $vnodePtr = $vnodePtr|0; var $0 = 0, $1 = 0, $elm = 0, label = 0, sp = 0; sp = STACKTOP; @@ -3746,7 +3746,7 @@ function __Z10patchVnodeP5VNodeS0_($oldVnode,$vnode) { __ZdlPv($214); STACKTOP = sp;return; } -function __Z14patch_vnodePtrjj($oldVnode,$vnode) { +function __Z14patch_vnodePtrii($oldVnode,$vnode) { $oldVnode = $oldVnode|0; $vnode = $vnode|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $call$i = 0, $call1$i = 0, $call1$i15$i = 0, $call6$i = 0, $elm$i = 0, $elm4$i = 0, $tobool$i = 0, label = 0, sp = 0; @@ -4790,7 +4790,7 @@ function __ZN10emscripten8internal15FunctionInvokerIPFvRNSt3__23mapINS2_12basic_ __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp); STACKTOP = sp;return; } -function __ZNSt3__26vectorIjNS_9allocatorIjEEE9push_backERKj($this,$__x) { +function __ZNSt3__26vectorIiNS_9allocatorIiEEE9push_backERKi($this,$__x) { $this = $this|0; $__x = $__x|0; var $$sroa$speculated$$i$i = 0, $$sroa$speculated$i$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $__end_ = 0, $__first_$i$i$i = 0, $add$i = 0, $add$ptr$i$i = 0, $add$ptr$i$i$i = 0, $add$ptr5$i$i = 0; @@ -4872,7 +4872,7 @@ function __ZNSt3__26vectorIjNS_9allocatorIjEEE9push_backERKj($this,$__x) { __ZdlPv($11); return; } -function __ZNSt3__26vectorIjNS_9allocatorIjEEE6resizeEjRKj($this,$__sz,$__x) { +function __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEjRKi($this,$__sz,$__x) { $this = $this|0; $__sz = $__sz|0; $__x = $__x|0; @@ -5001,7 +5001,7 @@ function __ZNSt3__26vectorIjNS_9allocatorIjEEE6resizeEjRKj($this,$__sz,$__x) { __ZdlPv($13); return; } -function __ZN10emscripten8internal12VectorAccessINSt3__26vectorIjNS2_9allocatorIjEEEEE3getERKS6_j($v,$index) { +function __ZN10emscripten8internal12VectorAccessINSt3__26vectorIiNS2_9allocatorIiEEEEE3getERKS6_j($v,$index) { $v = $v|0; $index = $index|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $__end_$i = 0, $argv$i = 0, $arrayidx$i = 0, $call4$i = 0, $cmp = 0, $retval$sroa$0$0 = 0, $sub$ptr$div$i = 0, $sub$ptr$sub$i = 0, label = 0, sp = 0; @@ -5022,11 +5022,11 @@ function __ZN10emscripten8internal12VectorAccessINSt3__26vectorIjNS2_9allocatorI $arrayidx$i = (($2) + ($index<<2)|0); $3 = load4($arrayidx$i); store4($argv$i,$3); - $call4$i = (__emval_take_value((1568|0),($argv$i|0))|0); + $call4$i = (__emval_take_value((1560|0),($argv$i|0))|0); $retval$sroa$0$0 = $call4$i; STACKTOP = sp;return ($retval$sroa$0$0|0); } -function __ZN10emscripten8internal12VectorAccessINSt3__26vectorIjNS2_9allocatorIjEEEEE3setERS6_jRKj($v,$index,$value) { +function __ZN10emscripten8internal12VectorAccessINSt3__26vectorIiNS2_9allocatorIiEEEEE3setERS6_jRKi($v,$index,$value) { $v = $v|0; $index = $index|0; $value = $value|0; @@ -5038,13 +5038,13 @@ function __ZN10emscripten8internal12VectorAccessINSt3__26vectorIjNS2_9allocatorI store4($arrayidx$i,$0); return 1; } -function __ZN10emscripten8internal13getActualTypeINSt3__26vectorIjNS2_9allocatorIjEEEEEEPKvPT_($ptr) { +function __ZN10emscripten8internal13getActualTypeINSt3__26vectorIiNS2_9allocatorIiEEEEEEPKvPT_($ptr) { $ptr = $ptr|0; var label = 0, sp = 0; sp = STACKTOP; return (1136|0); } -function __ZN10emscripten8internal14raw_destructorINSt3__26vectorIjNS2_9allocatorIjEEEEEEvPT_($ptr) { +function __ZN10emscripten8internal14raw_destructorINSt3__26vectorIiNS2_9allocatorIiEEEEEEvPT_($ptr) { $ptr = $ptr|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $__end_$i$i$i = 0, $cmp$i = 0, $cmp1$i$i$i = 0, $isnull = 0, $scevgep$i$i$i = 0, $scevgep5$i$i$i = 0, label = 0, sp = 0; sp = STACKTOP; @@ -5073,7 +5073,7 @@ function __ZN10emscripten8internal14raw_destructorINSt3__26vectorIjNS2_9allocato __ZdlPv($ptr); return; } -function __ZN10emscripten8internal12operator_newINSt3__26vectorIjNS2_9allocatorIjEEEEJEEEPT_DpOT0_() { +function __ZN10emscripten8internal12operator_newINSt3__26vectorIiNS2_9allocatorIiEEEEJEEEPT_DpOT0_() { var $__end_$i$i = 0, $__end_cap_$i$i = 0, $call = 0, label = 0, sp = 0; sp = STACKTOP; $call = (__Znwj(12)|0); @@ -5084,14 +5084,14 @@ function __ZN10emscripten8internal12operator_newINSt3__26vectorIjNS2_9allocatorI store4($__end_cap_$i$i,0); return ($call|0); } -function __ZN10emscripten8internal7InvokerIPNSt3__26vectorIjNS2_9allocatorIjEEEEJEE6invokeEPFS7_vE($fn) { +function __ZN10emscripten8internal7InvokerIPNSt3__26vectorIiNS2_9allocatorIiEEEEJEE6invokeEPFS7_vE($fn) { $fn = $fn|0; var $call = 0, label = 0, sp = 0; sp = STACKTOP; $call = (FUNCTION_TABLE_i[$fn & 3]()|0); return ($call|0); } -function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocatorIjEEEEFvRKjEvPS6_JS8_EE6invokeERKSA_SB_j($method,$wireThis,$args) { +function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIiNS2_9allocatorIiEEEEFvRKiEvPS6_JS8_EE6invokeERKSA_SB_i($method,$wireThis,$args) { $method = $method|0; $wireThis = $wireThis|0; $args = $args|0; @@ -5119,7 +5119,7 @@ function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocato FUNCTION_TABLE_vii[$3 & 3]($0,$ref$tmp); STACKTOP = sp;return; } -function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocatorIjEEEEFvjRKjEvPS6_JjS8_EE6invokeERKSA_SB_jj($method,$wireThis,$args,$args1) { +function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIiNS2_9allocatorIiEEEEFvjRKiEvPS6_JjS8_EE6invokeERKSA_SB_ji($method,$wireThis,$args,$args1) { $method = $method|0; $wireThis = $wireThis|0; $args = $args|0; @@ -5148,7 +5148,7 @@ function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocato FUNCTION_TABLE_viii[$3 & 3]($0,$args,$ref$tmp); STACKTOP = sp;return; } -function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocatorIjEEEEKFjvEjPKS6_JEE6invokeERKS8_SA_($method,$wireThis) { +function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIiNS2_9allocatorIiEEEEKFjvEjPKS6_JEE6invokeERKS8_SA_($method,$wireThis) { $method = $method|0; $wireThis = $wireThis|0; var $$elt1 = 0, $$unpack = 0, $$unpack2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $call1 = 0, $memptr$adj$shifted = 0, $memptr$isvirtual = 0, $memptr$nonvirtualfn = 0, $memptr$virtualfn = 0, $vtable = 0, label = 0, sp = 0; @@ -5175,7 +5175,7 @@ function __ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocato } return (0)|0; } -function __ZN10emscripten8internal15FunctionInvokerIPFNS_3valERKNSt3__26vectorIjNS3_9allocatorIjEEEEjES2_S9_JjEE6invokeEPSB_PS7_j($function,$wireThis,$args) { +function __ZN10emscripten8internal15FunctionInvokerIPFNS_3valERKNSt3__26vectorIiNS3_9allocatorIiEEEEjES2_S9_JjEE6invokeEPSB_PS7_j($function,$wireThis,$args) { $function = $function|0; $wireThis = $wireThis|0; $args = $args|0; @@ -5187,7 +5187,7 @@ function __ZN10emscripten8internal15FunctionInvokerIPFNS_3valERKNSt3__26vectorIj __emval_decref(($call2|0)); return ($call2|0); } -function __ZN10emscripten8internal15FunctionInvokerIPFbRNSt3__26vectorIjNS2_9allocatorIjEEEEjRKjEbS7_JjS9_EE6invokeEPSB_PS6_jj($function,$wireThis,$args,$args1) { +function __ZN10emscripten8internal15FunctionInvokerIPFbRNSt3__26vectorIiNS2_9allocatorIiEEEEjRKiEbS7_JjS9_EE6invokeEPSB_PS6_ji($function,$wireThis,$args,$args1) { $function = $function|0; $wireThis = $wireThis|0; $args = $args|0; @@ -5522,7 +5522,7 @@ function __ZNSt3__26vectorIP5VNodeNS_9allocatorIS2_EEE21__push_back_slow_pathIS2 __ZdlPv($8); return; } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFjSA_EPNS0_11BindingTypeIS8_EUt_E($fn,$args) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiSA_EPNS0_11BindingTypeIS8_EUt_E($fn,$args) { $fn = $fn|0; $args = $args|0; var $0 = 0, $arraydecay$i = 0, $call = 0, $ref$tmp1 = 0, label = 0, sp = 0; @@ -5537,7 +5537,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp1); STACKTOP = sp;return ($call|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKbEE6invokeEPFjSA_SC_EPNS0_11BindingTypeIS8_EUt_Eb($fn,$args,$args1) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKbEE6invokeEPFiSA_SC_EPNS0_11BindingTypeIS8_EUt_Eb($fn,$args,$args1) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5556,7 +5556,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp3); STACKTOP = sp;return ($call7|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKjEE6invokeEPFjSA_SC_EPNS0_11BindingTypeIS8_EUt_Ej($fn,$args,$args1) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKiEE6invokeEPFiSA_SC_EPNS0_11BindingTypeIS8_EUt_Ei($fn,$args,$args1) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5574,7 +5574,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp3); STACKTOP = sp;return ($call6|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_EE6invokeEPFjSA_SA_EPNS0_11BindingTypeIS8_EUt_ESH_($fn,$args,$args1) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_EE6invokeEPFiSA_SA_EPNS0_11BindingTypeIS8_EUt_ESH_($fn,$args,$args1) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5596,7 +5596,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp3); STACKTOP = sp;return ($call|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEEE6invokeEPFjSA_SJ_EPNS0_11BindingTypeIS8_EUt_EPSH_($fn,$args,$args1) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEEE6invokeEPFiSA_SJ_EPNS0_11BindingTypeIS8_EUt_EPSH_($fn,$args,$args1) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5612,7 +5612,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp3); STACKTOP = sp;return ($call5|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_6vectorIjNS6_IjEEEEEE6invokeEPFjSA_SF_EPNS0_11BindingTypeIS8_EUt_EPSD_($fn,$args,$args1) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_6vectorIiNS6_IiEEEEEE6invokeEPFiSA_SF_EPNS0_11BindingTypeIS8_EUt_EPSD_($fn,$args,$args1) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5628,7 +5628,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp3); STACKTOP = sp;return ($call5|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKjEE6invokeEPFjSA_SJ_SL_EPNS0_11BindingTypeIS8_EUt_EPSH_j($fn,$args,$args1,$args3) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKiEE6invokeEPFiSA_SJ_SL_EPNS0_11BindingTypeIS8_EUt_EPSH_i($fn,$args,$args1,$args3) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5647,7 +5647,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp5); STACKTOP = sp;return ($call11|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEESA_EE6invokeEPFjSA_SJ_SA_EPNS0_11BindingTypeIS8_EUt_EPSH_SQ_($fn,$args,$args1,$args3) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEESA_EE6invokeEPFiSA_SJ_SA_EPNS0_11BindingTypeIS8_EUt_EPSH_SQ_($fn,$args,$args1,$args3) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5670,7 +5670,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp5); STACKTOP = sp;return ($call11|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIjNS6_IjEEEEEE6invokeEPFjSA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_EPSH_PSM_($fn,$args,$args1,$args3) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIiNS6_IiEEEEEE6invokeEPFiSA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_EPSH_PSM_($fn,$args,$args1,$args3) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5687,7 +5687,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp5); STACKTOP = sp;return ($call9|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_RKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIjNS6_IjEEEEEE6invokeEPFjSA_SA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_ESV_PSH_PSM_($fn,$args,$args1,$args3,$args5) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_RKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIiNS6_IiEEEEEE6invokeEPFiSA_SA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_ESV_PSH_PSM_($fn,$args,$args1,$args3,$args5) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5711,7 +5711,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp7); STACKTOP = sp;return ($call14|0); } -function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEiEE6invokeEPFjSA_SJ_iEPNS0_11BindingTypeIS8_EUt_EPSH_i($fn,$args,$args1,$args3) { +function __ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEiEE6invokeEPFiSA_SJ_iEPNS0_11BindingTypeIS8_EUt_EPSH_i($fn,$args,$args1,$args3) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -5728,7 +5728,7 @@ function __ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($ref$tmp5); STACKTOP = sp;return ($call9|0); } -function __ZN10emscripten8internal7InvokerIvJRKjEE6invokeEPFvS3_Ej($fn,$args) { +function __ZN10emscripten8internal7InvokerIvJRKiEE6invokeEPFvS3_Ei($fn,$args) { $fn = $fn|0; $args = $args|0; var $ref$tmp = 0, label = 0, sp = 0; @@ -5739,7 +5739,7 @@ function __ZN10emscripten8internal7InvokerIvJRKjEE6invokeEPFvS3_Ej($fn,$args) { FUNCTION_TABLE_vi[$fn & 31]($ref$tmp); STACKTOP = sp;return; } -function __ZN10emscripten8internal7InvokerIiJRKjEE6invokeEPFiS3_Ej($fn,$args) { +function __ZN10emscripten8internal7InvokerIiJRKiEE6invokeEPFiS3_Ei($fn,$args) { $fn = $fn|0; $args = $args|0; var $call2 = 0, $ref$tmp1 = 0, label = 0, sp = 0; @@ -5750,7 +5750,7 @@ function __ZN10emscripten8internal7InvokerIiJRKjEE6invokeEPFiS3_Ej($fn,$args) { $call2 = (FUNCTION_TABLE_ii[$fn & 15]($ref$tmp1)|0); STACKTOP = sp;return ($call2|0); } -function __ZN10emscripten8internal7InvokerIjJjjEE6invokeEPFjjjEjj($fn,$args,$args1) { +function __ZN10emscripten8internal7InvokerIiJiiEE6invokeEPFiiiEii($fn,$args,$args1) { $fn = $fn|0; $args = $args|0; $args1 = $args1|0; @@ -14422,21 +14422,21 @@ function b12(p0,p1,p2,p3) { } // EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_iiii = [b0,___stdio_write,___stdio_seek,__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZN10emscripten8internal15FunctionInvokerIPFNS_3valERKNSt3__23mapINS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEESA_NS3_4lessISA_EENS8_INS3_4pairIKSA_SA_EEEEEERSE_ES2_SJ_JSK_EE6invokeEPSM_PSH_PNS0_11BindingTypeISA_EUt_E,__ZN10emscripten8internal15FunctionInvokerIPFNS_3valERKNSt3__26vectorIjNS3_9allocatorIjEEEEjES2_S9_JjEE6invokeEPSB_PS7_j,__ZN10emscripten8internal12VectorAccessINSt3__26vectorIjNS2_9allocatorIjEEEEE3setERS6_jRKj,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKbEE6invokeEPFjSA_SC_EPNS0_11BindingTypeIS8_EUt_Eb,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKjEE6invokeEPFjSA_SC_EPNS0_11BindingTypeIS8_EUt_Ej,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_EE6invokeEPFjSA_SA_EPNS0_11BindingTypeIS8_EUt_ESH_,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEEE6invokeEPFjSA_SJ_EPNS0_11BindingTypeIS8_EUt_EPSH_,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_6vectorIjNS6_IjEEEEEE6invokeEPFjSA_SF_EPNS0_11BindingTypeIS8_EUt_EPSD_,__Z5h_sdnRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKj,__Z5h_sdtRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEES7_,__Z5h_sdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIjNS3_IjEEEE,__Z5h_elmRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEEi,__ZN10emscripten8internal7InvokerIjJjjEE6invokeEPFjjjEjj,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0 +var FUNCTION_TABLE_iiii = [b0,___stdio_write,___stdio_seek,__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZN10emscripten8internal15FunctionInvokerIPFNS_3valERKNSt3__23mapINS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEESA_NS3_4lessISA_EENS8_INS3_4pairIKSA_SA_EEEEEERSE_ES2_SJ_JSK_EE6invokeEPSM_PSH_PNS0_11BindingTypeISA_EUt_E,__ZN10emscripten8internal15FunctionInvokerIPFNS_3valERKNSt3__26vectorIiNS3_9allocatorIiEEEEjES2_S9_JjEE6invokeEPSB_PS7_j,__ZN10emscripten8internal12VectorAccessINSt3__26vectorIiNS2_9allocatorIiEEEEE3setERS6_jRKi,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKbEE6invokeEPFiSA_SC_EPNS0_11BindingTypeIS8_EUt_Eb,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKiEE6invokeEPFiSA_SC_EPNS0_11BindingTypeIS8_EUt_Ei,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_EE6invokeEPFiSA_SA_EPNS0_11BindingTypeIS8_EUt_ESH_,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEEE6invokeEPFiSA_SJ_EPNS0_11BindingTypeIS8_EUt_EPSH_,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_6vectorIiNS6_IiEEEEEE6invokeEPFiSA_SF_EPNS0_11BindingTypeIS8_EUt_EPSD_,__Z5h_sdnRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKi,__Z5h_sdtRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEES7_,__Z5h_sdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIiNS3_IiEEEE,__Z5h_elmRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEEi,__ZN10emscripten8internal7InvokerIiJiiEE6invokeEPFiiiEii,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0 ,b0,b0,b0]; var FUNCTION_TABLE_viiiii = [b1,__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib]; -var FUNCTION_TABLE_i = [b2,__ZN10emscripten8internal12operator_newINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEJEEEPT_DpOT0_,__ZN10emscripten8internal12operator_newINSt3__26vectorIjNS2_9allocatorIjEEEEJEEEPT_DpOT0_,b2]; -var FUNCTION_TABLE_vi = [b3,__ZN10__cxxabiv116__shim_type_infoD2Ev,__ZN10__cxxabiv117__class_type_infoD0Ev,__ZNK10__cxxabiv116__shim_type_info5noop1Ev,__ZNK10__cxxabiv116__shim_type_info5noop2Ev,__ZN10__cxxabiv120__si_class_type_infoD0Ev,__ZNSt9bad_allocD2Ev,__ZNSt9bad_allocD0Ev,__ZNSt11logic_errorD2Ev,__ZNSt11logic_errorD0Ev,__ZNSt12out_of_rangeD0Ev,__ZN10__cxxabiv123__fundamental_type_infoD0Ev,__ZN10__cxxabiv119__pointer_type_infoD0Ev,__ZN10__cxxabiv121__vmi_class_type_infoD0Ev,__ZN10emscripten8internal14raw_destructorINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEEEvPT_,__ZN10emscripten8internal14raw_destructorINSt3__26vectorIjNS2_9allocatorIjEEEEEEvPT_,__Z14deleteVNodePtrRKj,__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 +var FUNCTION_TABLE_i = [b2,__ZN10emscripten8internal12operator_newINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEJEEEPT_DpOT0_,__ZN10emscripten8internal12operator_newINSt3__26vectorIiNS2_9allocatorIiEEEEJEEEPT_DpOT0_,b2]; +var FUNCTION_TABLE_vi = [b3,__ZN10__cxxabiv116__shim_type_infoD2Ev,__ZN10__cxxabiv117__class_type_infoD0Ev,__ZNK10__cxxabiv116__shim_type_info5noop1Ev,__ZNK10__cxxabiv116__shim_type_info5noop2Ev,__ZN10__cxxabiv120__si_class_type_infoD0Ev,__ZNSt9bad_allocD2Ev,__ZNSt9bad_allocD0Ev,__ZNSt11logic_errorD2Ev,__ZNSt11logic_errorD0Ev,__ZNSt12out_of_rangeD0Ev,__ZN10__cxxabiv123__fundamental_type_infoD0Ev,__ZN10__cxxabiv119__pointer_type_infoD0Ev,__ZN10__cxxabiv121__vmi_class_type_infoD0Ev,__ZN10emscripten8internal14raw_destructorINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEEEvPT_,__ZN10emscripten8internal14raw_destructorINSt3__26vectorIiNS2_9allocatorIiEEEEEEvPT_,__Z14deleteVNodePtrRKi,__ZN10__cxxabiv112_GLOBAL__N_19destruct_EPv,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 ,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,__ZNSt3__26vectorIjNS_9allocatorIjEEE9push_backERKj,__ZN10emscripten8internal7InvokerIvJRKjEE6invokeEPFvS3_Ej,b4]; -var FUNCTION_TABLE_ii = [b5,___stdio_close,__ZNKSt9bad_alloc4whatEv,__ZNKSt11logic_error4whatEv,__ZN10emscripten8internal13getActualTypeINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEEEPKvPT_,__ZN10emscripten8internal7InvokerIPNSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEJEE6invokeEPFSH_vE,__ZNKSt3__23mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES6_NS_4lessIS6_EENS4_INS_4pairIKS6_S6_EEEEE4sizeEv,__ZN10emscripten8internal13getActualTypeINSt3__26vectorIjNS2_9allocatorIjEEEEEEPKvPT_,__ZN10emscripten8internal7InvokerIPNSt3__26vectorIjNS2_9allocatorIjEEEEJEE6invokeEPFS7_vE,__ZNKSt3__26vectorIjNS_9allocatorIjEEE4sizeEv,__Z3h_sRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE,__Z7getNodeRKj,b5,b5,b5,b5]; -var FUNCTION_TABLE_viii = [b6,__ZN10emscripten8internal9MapAccessINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEE3setERSG_RSD_SJ_,__ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocatorIjEEEEFvRKjEvPS6_JS8_EE6invokeERKSA_SB_j,__ZNSt3__26vectorIjNS_9allocatorIjEEE6resizeEjRKj]; +var FUNCTION_TABLE_vii = [b4,__ZNSt3__26vectorIiNS_9allocatorIiEEE9push_backERKi,__ZN10emscripten8internal7InvokerIvJRKiEE6invokeEPFvS3_Ei,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,__ZNKSt9bad_alloc4whatEv,__ZNKSt11logic_error4whatEv,__ZN10emscripten8internal13getActualTypeINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEEEPKvPT_,__ZN10emscripten8internal7InvokerIPNSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEJEE6invokeEPFSH_vE,__ZNKSt3__23mapINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES6_NS_4lessIS6_EENS4_INS_4pairIKS6_S6_EEEEE4sizeEv,__ZN10emscripten8internal13getActualTypeINSt3__26vectorIiNS2_9allocatorIiEEEEEEPKvPT_,__ZN10emscripten8internal7InvokerIPNSt3__26vectorIiNS2_9allocatorIiEEEEJEE6invokeEPFS7_vE,__ZNKSt3__26vectorIiNS_9allocatorIiEEE4sizeEv,__Z3h_sRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE,__Z7getNodeRKi,b5,b5,b5,b5]; +var FUNCTION_TABLE_viii = [b6,__ZN10emscripten8internal9MapAccessINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEE3setERSG_RSD_SJ_,__ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIiNS2_9allocatorIiEEEEFvRKiEvPS6_JS8_EE6invokeERKSA_SB_i,__ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEjRKi]; var FUNCTION_TABLE_v = [b7,__ZL25default_terminate_handlerv,__ZN10__cxxabiv112_GLOBAL__N_110construct_Ev,b7]; -var FUNCTION_TABLE_iiiii = [b8,__ZN10emscripten8internal15FunctionInvokerIPFbRNSt3__26vectorIjNS2_9allocatorIjEEEEjRKjEbS7_JjS9_EE6invokeEPSB_PS6_jj,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKjEE6invokeEPFjSA_SJ_SL_EPNS0_11BindingTypeIS8_EUt_EPSH_j,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEESA_EE6invokeEPFjSA_SJ_SA_EPNS0_11BindingTypeIS8_EUt_EPSH_SQ_,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIjNS6_IjEEEEEE6invokeEPFjSA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_EPSH_PSM_,__Z6h_stdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES7_RKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIjNS3_IjEEEE,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEiEE6invokeEPFjSA_SJ_iEPNS0_11BindingTypeIS8_EUt_EPSH_i,b8]; +var FUNCTION_TABLE_iiiii = [b8,__ZN10emscripten8internal15FunctionInvokerIPFbRNSt3__26vectorIiNS2_9allocatorIiEEEEjRKiEbS7_JjS9_EE6invokeEPSB_PS6_ji,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKiEE6invokeEPFiSA_SJ_SL_EPNS0_11BindingTypeIS8_EUt_EPSH_i,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEESA_EE6invokeEPFiSA_SJ_SA_EPNS0_11BindingTypeIS8_EUt_EPSH_SQ_,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIiNS6_IiEEEEEE6invokeEPFiSA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_EPSH_PSM_,__Z6h_stdcRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES7_RKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEERKNS_6vectorIiNS3_IiEEEE,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEEiEE6invokeEPFiSA_SJ_iEPNS0_11BindingTypeIS8_EUt_EPSH_i,b8]; var FUNCTION_TABLE_viiiiii = [b9,__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib]; -var FUNCTION_TABLE_iii = [b10,__ZN10emscripten8internal13MethodInvokerIMNSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEKFjvEjPKSG_JEE6invokeERKSI_SK_,__ZN10emscripten8internal9MapAccessINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEE3getERKSG_RSD_,__ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocatorIjEEEEKFjvEjPKS6_JEE6invokeERKS8_SA_,__ZN10emscripten8internal12VectorAccessINSt3__26vectorIjNS2_9allocatorIjEEEEE3getERKS6_j,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFjSA_EPNS0_11BindingTypeIS8_EUt_E,__Z4h_tiRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKb,__Z4h_snRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKj,__Z4h_stRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES7_,__Z4h_sdRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEE,__Z4h_scRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6vectorIjNS3_IjEEEE,__ZN10emscripten8internal7InvokerIiJRKjEE6invokeEPFiS3_Ej,__Z14patch_vnodePtrjj,b10,b10,b10]; -var FUNCTION_TABLE_iiiiii = [b11,__ZN10emscripten8internal7InvokerIjJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_RKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIjNS6_IjEEEEEE6invokeEPFjSA_SA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_ESV_PSH_PSM_]; -var FUNCTION_TABLE_viiii = [b12,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZN10emscripten8internal15FunctionInvokerIPFvRNSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEERSD_SI_EvSH_JSI_SI_EE6invokeEPSK_PSG_PNS0_11BindingTypeIS9_EUt_ESR_,__ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIjNS2_9allocatorIjEEEEFvjRKjEvPS6_JjS8_EE6invokeERKSA_SB_jj,b12,b12]; +var FUNCTION_TABLE_iii = [b10,__ZN10emscripten8internal13MethodInvokerIMNSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEKFjvEjPKSG_JEE6invokeERKSI_SK_,__ZN10emscripten8internal9MapAccessINSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEEE3getERKSG_RSD_,__ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIiNS2_9allocatorIiEEEEKFjvEjPKS6_JEE6invokeERKS8_SA_,__ZN10emscripten8internal12VectorAccessINSt3__26vectorIiNS2_9allocatorIiEEEEE3getERKS6_j,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiSA_EPNS0_11BindingTypeIS8_EUt_E,__Z4h_tiRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKb,__Z4h_snRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKi,__Z4h_stRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES7_,__Z4h_sdRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_3mapIS5_S5_NS_4lessIS5_EENS3_INS_4pairIS6_S5_EEEEEE,__Z4h_scRKNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6vectorIiNS3_IiEEEE,__ZN10emscripten8internal7InvokerIiJRKiEE6invokeEPFiS3_Ei,__Z14patch_vnodePtrii,b10,b10,b10]; +var FUNCTION_TABLE_iiiiii = [b11,__ZN10emscripten8internal7InvokerIiJRKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_RKNS2_3mapIS8_S8_NS2_4lessIS8_EENS6_INS2_4pairIS9_S8_EEEEEERKNS2_6vectorIiNS6_IiEEEEEE6invokeEPFiSA_SA_SJ_SO_EPNS0_11BindingTypeIS8_EUt_ESV_PSH_PSM_]; +var FUNCTION_TABLE_viiii = [b12,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZN10emscripten8internal15FunctionInvokerIPFvRNSt3__23mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEERSD_SI_EvSH_JSI_SI_EE6invokeEPSK_PSG_PNS0_11BindingTypeIS9_EUt_ESR_,__ZN10emscripten8internal13MethodInvokerIMNSt3__26vectorIiNS2_9allocatorIiEEEEFvjRKiEvPS6_JjS8_EE6invokeERKSA_SB_ji,b12,b12]; return { _sbrk: _sbrk, ___cxa_can_catch: ___cxa_can_catch, _free: _free, ___cxa_is_pointer_type: ___cxa_is_pointer_type, _memmove: _memmove, _memset: _memset, _malloc: _malloc, _emscripten_get_global_libc: _emscripten_get_global_libc, _memcpy: _memcpy, ___getTypeName: ___getTypeName, _llvm_bswap_i32: _llvm_bswap_i32, __GLOBAL__sub_I_app_cpp: __GLOBAL__sub_I_app_cpp, __GLOBAL__sub_I_bind_cpp: __GLOBAL__sub_I_bind_cpp, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_viiiii: dynCall_viiiii, dynCall_i: dynCall_i, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_iiiiii: dynCall_iiiiii, dynCall_viiii: dynCall_viiii }; }) diff --git a/compiled/wasm/asm-dom.wasm b/compiled/wasm/asm-dom.wasm index e86cca2..c12bcf4 100644 Binary files a/compiled/wasm/asm-dom.wasm and b/compiled/wasm/asm-dom.wasm differ diff --git a/examples/todomvc/.babelrc b/examples/todomvc/.babelrc new file mode 100755 index 0000000..8026cec --- /dev/null +++ b/examples/todomvc/.babelrc @@ -0,0 +1,18 @@ +{ + "presets": ["es2015", "stage-0"], + "plugins": [ + "dynamic-import-webpack", + "transform-object-rest-spread", + "transform-es3-member-expression-literals", + "transform-es3-property-literals" + ], + "env": { + "commonjs": { + "plugins": [ + ["transform-es2015-modules-commonjs", { "loose": true }]] + }, + "es": { + "plugins": [] + } + } +} diff --git a/examples/todomvc/.editorconfig b/examples/todomvc/.editorconfig new file mode 100755 index 0000000..21d8764 --- /dev/null +++ b/examples/todomvc/.editorconfig @@ -0,0 +1,15 @@ +# EditorConfig helps developers define and maintain +# consistent coding styles between different editors and IDEs. + +root = true + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +indent_style = tab +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/examples/todomvc/.eslintignore b/examples/todomvc/.eslintignore new file mode 100755 index 0000000..c409f7b --- /dev/null +++ b/examples/todomvc/.eslintignore @@ -0,0 +1,2 @@ +**/dist/** +**/node_modules/** diff --git a/examples/todomvc/.eslintrc b/examples/todomvc/.eslintrc new file mode 100755 index 0000000..c330cba --- /dev/null +++ b/examples/todomvc/.eslintrc @@ -0,0 +1,34 @@ +{ + "ecmaFeatures": { + "modules": true + }, + "env": { + "browser": true, + "node": true + }, + "parser": "babel-eslint", + "rules": { + "global-require": "off", + "object-shorthand": "off", + "no-mixed-operators": "off", + "no-plusplus": "off", + "no-continue": "off", + "dot-notation": "off", + "no-restricted-syntax": "off", + "quote-props": "off", + "no-underscore-dangle": "off", + "no-param-reassign": "off", + "valid-jsdoc": 2, + "quotes": [2, "single"], + "strict": [2, "never"] + }, + "extends": "airbnb/base", + "globals": { + "describe" : false, + "it" : false, + "before" : false, + "beforeEach" : false, + "after" : false, + "afterEach" : false + } +} diff --git a/examples/todomvc/.gitignore b/examples/todomvc/.gitignore new file mode 100755 index 0000000..b05fbee --- /dev/null +++ b/examples/todomvc/.gitignore @@ -0,0 +1,10 @@ +node_modules +.DS_Store +*.log +dist +lib +es +coverage +_book +.nyc_output +.vscode \ No newline at end of file diff --git a/examples/todomvc/package.json b/examples/todomvc/package.json new file mode 100644 index 0000000..bdd1390 --- /dev/null +++ b/examples/todomvc/package.json @@ -0,0 +1,43 @@ +{ + "name": "reorder-animation", + "version": "0.0.1", + "description": "A simple asm-dom example", + "scripts": { + "start": "webpack-dev-server --env.dev", + "build": "cross-env BABEL_ENV=commonjs webpack --env.prod src/index.js", + "lint": "eslint src" + }, + "devDependencies": { + "arraybuffer-loader": "0.2.2", + "babel-cli": "6.24.1", + "babel-core": "6.24.1", + "babel-eslint": "7.2.3", + "babel-loader": "7.0.0", + "babel-plugin-dynamic-import-webpack": "1.0.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", + "babel-plugin-transform-es3-member-expression-literals": "6.22.0", + "babel-plugin-transform-es3-property-literals": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.23.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-0": "6.24.1", + "babel-register": "6.24.1", + "compression-webpack-plugin": "0.4.0", + "cross-env": "4.0.0", + "css-loader": "0.28.1", + "eslint": "3.19.0", + "eslint-config-airbnb": "14.1.0", + "eslint-plugin-import": "2.2.0", + "eslint-plugin-jsx-a11y": "4.0.0", + "eslint-plugin-react": "6.10.3", + "style-loader": "0.17.0", + "webpack": "2.4.1", + "webpack-dev-server": "2.4.5" + }, + "dependencies": { + "asm-dom": "file:../../", + "babel-polyfill": "6.23.0", + "todomvc-app-css": "2.0.1", + "todomvc-common": "1.0.2", + "union-type": "0.1.6" + } +} diff --git a/examples/todomvc/src/helpers.js b/examples/todomvc/src/helpers.js new file mode 100755 index 0000000..7519612 --- /dev/null +++ b/examples/todomvc/src/helpers.js @@ -0,0 +1,41 @@ +export function classnames(obj) { + return Object.keys(obj).reduce((x, y) => { + if (obj[y]) { + return `${x} ${y}`; + } + return x; + }, ''); +} + +export function isBoolean(arg) { + return typeof arg === 'boolean'; +} + +export function bind(fn, ...args) { + return (...args2) => fn(...[...args, ...args2]); +} + +export function sequence(...fns) { + return (...args) => { + let res = fns[0](...args); + for (let i = 1; i < fns.length; i++) { + res = fns[i](res); + } + return res; + }; +} + +export function propGetter(path) { + const props = path.split('.'); + return (target) => { + for (let i = 0; i < props.length; i++) { + if (!target) { + target = target[props[i]]; + } else { + return; + } + } + // eslint-disable-next-line + return target; + }; +} diff --git a/examples/todomvc/src/index.js b/examples/todomvc/src/index.js new file mode 100755 index 0000000..259af48 --- /dev/null +++ b/examples/todomvc/src/index.js @@ -0,0 +1,24 @@ +import init from 'asm-dom'; +import 'todomvc-common/base.css'; +import 'todomvc-app-css/index.css'; +import todos from './todos'; + +init().then((asmDom) => { + const { h, patch } = asmDom; + + function main(initState, oldVnode, { view, update }) { + const newVnode = view(h, initState, (e) => { + const newState = update(initState, e); + main(newState, newVnode, { view, update }); + }); + patch(oldVnode, newVnode); + } + + const state = todos.init(); + + main( + state, + document.querySelector('.todoapp'), + todos, + ); +}); diff --git a/examples/todomvc/src/task.js b/examples/todomvc/src/task.js new file mode 100755 index 0000000..7539d0f --- /dev/null +++ b/examples/todomvc/src/task.js @@ -0,0 +1,74 @@ +import Type from 'union-type'; +import { bind, sequence, isBoolean, classnames } from './helpers'; + +const KEY_ENTER = 13; + +// model : {id: Number, title: String, done: Boolean, editing: Boolean, editingValue: String } +const Action = Type({ + SetTitle: [String], + Toggle: [isBoolean], + StartEdit: [], + CommitEdit: [String], + CancelEdit: [], +}); + +const targetChecked = e => e.target.checked; +// const targetValue = e => e.target.value; + +function onInput(handler, e) { + if (e.keyCode === KEY_ENTER) { + handler(Action.CommitEdit(e.target.value)); + } +} + +function view(h, task, handler, remove) { + return h('li', { + className: classnames({ completed: !!task.done && !task.editing, editing: task.editing }), + key: task.id, + }, [ + h('div.view', [ + h('input', { + checked: !!task.done, + type: 'checkbox', + className: 'toggle', + raw: { + onclick: sequence(targetChecked, Action.Toggle, handler), + }, + }), + h('label', { + raw: { + ondblclick: bind(handler, Action.StartEdit()), + }, + }, task.title), + h('button.destroy', { + className: 'destroy', + raw: { + onclick: bind(remove, task.id), + }, + }), + ]), + h('input', { + value: task.title, + className: 'edit', + raw: { + onblur: bind(handler, Action.CancelEdit()), + onkeydown: bind(onInput, handler), + }, + }), + ]); +} + +function init(id, title) { + return { id, title, done: false, editing: false, editingValue: '' }; +} + +function update(task, action) { + return Action.case({ + Toggle: done => ({ ...task, done }), + StartEdit: () => ({ ...task, editing: true, editingValue: task.title }), + CommitEdit: title => ({ ...task, title, editing: false, editingValue: '' }), + CancelEdit: () => ({ ...task, editing: false, editingValue: '' }), + }, action); +} + +export default { view, init, update, Action }; diff --git a/examples/todomvc/src/todos.js b/examples/todomvc/src/todos.js new file mode 100755 index 0000000..9c0795f --- /dev/null +++ b/examples/todomvc/src/todos.js @@ -0,0 +1,178 @@ +import Type from 'union-type'; +import { bind, sequence, isBoolean, classnames } from './helpers'; +import task from './task'; + +const KEY_ENTER = 13; + +// model : { nextID: Number, editingTitle: String, tasks: [task.model], filter: String } +const Action = Type({ + Add: [String], + Remove: [Number], + Archive: [], + ToggleAll: [isBoolean], + Filter: [String], + Modify: [Number, task.Action], +}); + +const targetChecked = e => e.target.checked; +// const targetValue = e => e.target.value; + +function onInput(handler, e) { + if (e.keyCode === KEY_ENTER) { + handler(Action.Add(e.target.value)); + } +} + +function remainingTodos(tasks) { + // eslint-disable-next-line + return tasks.reduce((acc, task) => !task.done ? acc + 1 : acc, 0); +} + +function filteredTodos(tasks, filter) { + /* eslint-disable */ + return filter === 'completed' ? tasks.filter(todo => todo.done) + : filter === 'active' ? tasks.filter(todo => !todo.done) + : tasks; + /* eslint-enable */ +} + +function view(h, model, handler) { + const remaining = remainingTodos(model.tasks); + const filtered = filteredTodos(model.tasks, model.filter); + + window.onhashchange = () => handler(Action.Filter(window.location.hash.substr(2) || 'all')); + + return h('section', { + className: 'todoapp', + raw: { + onclick: () => console.log('clicked'), + }, + }, [ + h('header', { + className: 'header', + }, [ + h('h1', 'todos'), + h('input', { + id: 'new-todo', + className: 'new-todo', + placeholder: 'What needs to be done?', + value: model.editingTitle, + raw: { onkeydown: bind(onInput, handler) }, + }), + ]), + h('section', { + className: 'main', + style: `display: ${model.tasks.length ? 'block' : 'none'}`, + }, [ + h('input', { + className: 'toggle-all', + type: 'checkbox', + checked: remaining === 0, + raw: { + onclick: sequence(targetChecked, Action.ToggleAll, handler), + }, + }), + h('ul', { + className: 'todo-list', + }, filtered.map(todo => + task.view( + h, + todo, + action => handler(Action.Modify(todo.id, action)), + id => handler(Action.Remove(id)), + ))), + ]), + h('footer', { + className: 'footer', + style: `display: ${model.tasks.length ? 'block' : 'none'}`, + }, [ + h('span', { + className: 'todo-count', + }, [ + h('strong', remaining), + ` item${remaining === 1 ? '' : 's'} left`, + ]), + h('ul', { + className: 'filters', + }, [ + h('li', [h('a', { className: classnames({ selected: model.filter === 'all' }), href: '#/' }, 'All')]), + h('li', [h('a', { className: classnames({ selected: model.filter === 'active' }), href: '#/active' }, 'Active')]), + h('li', [h('a', { className: classnames({ selected: model.filter === 'completed' }), href: '#/completed' }, 'Completed')]), + ]), + h('button', { + className: 'clear-completed', + raw: { onclick: bind(handler, Action.Archive()) }, + }, 'Clear completed'), + ]), + ]); +} + +function init(tasks = []) { + return { + // eslint-disable-next-line + nextID: tasks.reduce((acc, task) => Math.max(acc, task.id), 0) + 1, + tasks, + editingTitle: '', + filter: 'all', + }; +} + +function addTodo(model, title) { + return { + ...model, + tasks: [ + ...model.tasks, + task.init(model.nextID, title), + ], + editingTitle: '', + nextID: model.nextID + 1, + }; +} + +function removeTodo(model, id) { + return { + ...model, + // eslint-disable-next-line + tasks : model.tasks.filter(taskModel => taskModel.id !== id) + }; +} + +function archiveTodos(model) { + return { + ...model, + // eslint-disable-next-line + tasks : model.tasks.filter( taskModel => !taskModel.done), + }; +} + +function toggleAll(model, done) { + return { + ...model, + // eslint-disable-next-line + tasks : model.tasks.map(taskModel => task.update(taskModel, task.Action.Toggle(done))) + }; +} + + +function modifyTodo(model, id, action) { + return { + ...model, + tasks: model.tasks.map( + // eslint-disable-next-line + taskModel => taskModel.id !== id ? taskModel : task.update(taskModel, action) + ), + }; +} + +function update(model, action) { + return Action.case({ + Add: title => addTodo(model, title), + Remove: id => removeTodo(model, id), + Archive: () => archiveTodos(model), + ToggleAll: done => toggleAll(model, done), + Filter: filter => ({ ...model, filter }), + Modify: (id, action2) => modifyTodo(model, id, action2), + }, action); +} + +export default { view, init, update, Action }; diff --git a/examples/todomvc/webpack.config.js b/examples/todomvc/webpack.config.js new file mode 100644 index 0000000..d42f074 --- /dev/null +++ b/examples/todomvc/webpack.config.js @@ -0,0 +1,69 @@ +var webpack = require('webpack'); +var resolve = require('path').resolve; +var CompressionPlugin = require('compression-webpack-plugin'); + +module.exports = env => { + var addPlugin = (add, plugin) => add ? plugin : undefined; + var ifProd = plugin => addPlugin(env.prod, plugin); + var removeEmpty = array => array.filter(i => !!i); + var plugin = { + 'process.env': { + NODE_ENV: JSON.stringify(ifProd('production') || 'development'), + }, + }; + return { + entry: ['babel-polyfill', './index.js'], + output: { + filename: 'bundle.js', + path: resolve(__dirname, 'dist'), + pathinfo: !env.prod, + }, + context: resolve(__dirname, 'src'), + devtool: env.prod ? 'source-map' : 'eval', + bail: env.prod, + node: { + fs: 'empty', + }, + devServer: { + contentBase: resolve(__dirname, 'dist'), + historyApiFallback: true, + compress: true, + port: 9000, + }, + module: { + loaders: [{ + test: /\.js$/, + loaders: ['babel-loader'], + exclude: [/node_modules/], + }, + { + test: /\.wasm$/, + loaders: ['arraybuffer-loader'], + }, { + test: /\.css$/, + use: ['style-loader', 'css-loader'], + }], + }, + plugins: removeEmpty([ + ifProd(new webpack.LoaderOptionsPlugin({ + minimize: true, + debug: false, + quiet: true, + })), + new webpack.DefinePlugin(plugin), + ifProd(new webpack.optimize.UglifyJsPlugin({ + compress: { + screw_ie8: true, // eslint-disable-line + warnings: false, + }, + })), + ifProd(new CompressionPlugin({ + asset: '[path].gz[query]', + algorithm: 'gzip', + test: /\.js$|\.css$|\.html$/, + threshold: 10240, + minRatio: 0.8, + })), + ]), + }; +}; diff --git a/package.json b/package.json index e8404e4..5850a29 100644 --- a/package.json +++ b/package.json @@ -78,11 +78,9 @@ "eslint-plugin-react": "6.10.3", "expect": "1.20.2", "istanbul": "0.4.5", - "jison": "0.4.17", "jsdom": "9.12.0", "knuth-shuffle": "1.0.1", "mocha": "3.2.0", - "ncp": "2.0.0", "nyc": "10.2.0", "pre-commit": "1.2.2", "raw-loader": "0.5.1", diff --git a/src/cpp/Diff/diff.cpp b/src/cpp/Diff/diff.cpp index 2dd4123..531f3b9 100644 --- a/src/cpp/Diff/diff.cpp +++ b/src/cpp/Diff/diff.cpp @@ -7,7 +7,7 @@ void diff(VNode* __restrict__ const oldVnode, VNode* __restrict__ const vnode) { EM_ASM_({ window['asmDomHelpers']['diff']($0, $1, $2); - }, reinterpret_cast(oldVnode), reinterpret_cast(vnode), vnode->elm); + }, reinterpret_cast(oldVnode), reinterpret_cast(vnode), vnode->elm); if (oldVnode->props.empty() && vnode->props.empty()) return; diff --git a/src/cpp/H/h.cpp b/src/cpp/H/h.cpp index 67296b4..ca0f626 100644 --- a/src/cpp/H/h.cpp +++ b/src/cpp/H/h.cpp @@ -12,82 +12,81 @@ VNode* const adjustVNode(VNode* const vnode) { return vnode; } -std::size_t h_s(const std::string& sel) { - return reinterpret_cast(adjustVNode(new VNode(sel))); +int h_s(const std::string& sel) { + return reinterpret_cast(adjustVNode(new VNode(sel))); }; -std::size_t h_ti(const std::string& text, const bool& isText) { +int h_ti(const std::string& text, const bool& isText) { if (isText) { - return reinterpret_cast(adjustVNode(new VNode(text, true))); + return reinterpret_cast(adjustVNode(new VNode(text, true))); } else { - return reinterpret_cast(adjustVNode(new VNode(text))); + return reinterpret_cast(adjustVNode(new VNode(text))); } }; -std::size_t h_sn(const std::string& sel, const std::size_t& node) { - return reinterpret_cast(adjustVNode(new VNode(sel, reinterpret_cast(node)))); +int h_sn(const std::string& sel, const int& node) { + return reinterpret_cast(adjustVNode(new VNode(sel, reinterpret_cast(node)))); }; -std::size_t h_st(const std::string& sel, const std::string& text) { - return reinterpret_cast(adjustVNode(new VNode(sel, text))); +int h_st(const std::string& sel, const std::string& text) { + return reinterpret_cast(adjustVNode(new VNode(sel, text))); }; -std::size_t h_sd(const std::string& sel, const std::map& nodeProps) { - return reinterpret_cast(adjustVNode(new VNode(sel, nodeProps))); +int h_sd(const std::string& sel, const std::map& nodeProps) { + return reinterpret_cast(adjustVNode(new VNode(sel, nodeProps))); }; -std::size_t h_sc(const std::string& sel, const std::vector& children) { +int h_sc(const std::string& sel, const std::vector& children) { VNode* vnode = new VNode(sel); - for(std::vector::size_type i = 0; i < children.size(); ++i) { + for(std::vector::size_type i = 0; i < children.size(); ++i) { vnode->children.push_back(reinterpret_cast(children[i])); } - return reinterpret_cast(adjustVNode(vnode)); + return reinterpret_cast(adjustVNode(vnode)); }; -std::size_t h_sdn(const std::string& sel, const std::map& nodeProps, const std::size_t& node) { - return reinterpret_cast(adjustVNode(new VNode(sel, nodeProps, reinterpret_cast(node)))); +int h_sdn(const std::string& sel, const std::map& nodeProps, const int& node) { + return reinterpret_cast(adjustVNode(new VNode(sel, nodeProps, reinterpret_cast(node)))); }; -std::size_t h_sdt(const std::string& sel, const std::map& nodeProps, const std::string& text) { - return reinterpret_cast(new VNode(sel, nodeProps, text)); +int h_sdt(const std::string& sel, const std::map& nodeProps, const std::string& text) { + return reinterpret_cast(new VNode(sel, nodeProps, text)); }; -std::size_t h_sdc(const std::string& sel, const std::map& nodeProps, const std::vector& children) { +int h_sdc(const std::string& sel, const std::map& nodeProps, const std::vector& children) { VNode* vnode = new VNode(sel, nodeProps); - for(std::vector::size_type i = 0; i < children.size(); ++i) { + for(std::vector::size_type i = 0; i < children.size(); ++i) { vnode->children.push_back(reinterpret_cast(children[i])); } - return reinterpret_cast(adjustVNode(vnode)); + return reinterpret_cast(adjustVNode(vnode)); }; -std::size_t h_stdc(const std::string& sel, const std::string& text, const std::map& nodeProps, const std::vector& children) { +int h_stdc(const std::string& sel, const std::string& text, const std::map& nodeProps, const std::vector& children) { std::vector vnodes; - for(std::vector::size_type i = 0; i < children.size(); ++i) { + for(std::vector::size_type i = 0; i < children.size(); ++i) { vnodes.push_back(reinterpret_cast(children[i])); } - return reinterpret_cast(adjustVNode(new VNode(sel, text, nodeProps, vnodes))); + return reinterpret_cast(adjustVNode(new VNode(sel, text, nodeProps, vnodes))); }; -std::size_t h_elm(const std::string& sel, const std::map& nodeProps, const int elm) { +int h_elm(const std::string& sel, const std::map& nodeProps, const int elm) { VNode* vnode = adjustVNode(new VNode(sel, nodeProps)); vnode->elm = elm; - return reinterpret_cast(vnode); + return reinterpret_cast(vnode); }; void deleteVNode(VNode* const vnode) { for (std::vector::size_type i = vnode->children.size(); i--;) { deleteVNode(vnode->children[i]); - // vnode->children[i] = NULL; } vnode->children.clear(); delete vnode; } -void deleteVNodePtr(const std::size_t& vnodePtr) { +void deleteVNodePtr(const int& vnodePtr) { deleteVNode(reinterpret_cast(vnodePtr)); }; -int getNode(const std::size_t& vnodePtr) { +int getNode(const int& vnodePtr) { return reinterpret_cast(vnodePtr)->elm; } diff --git a/src/cpp/H/h.hpp b/src/cpp/H/h.hpp index 9361e9c..c7ec332 100644 --- a/src/cpp/H/h.hpp +++ b/src/cpp/H/h.hpp @@ -3,23 +3,23 @@ #include "../VNode/VNode.hpp" -std::size_t h_s(const std::string& sel); +int h_s(const std::string& sel); -std::size_t h_ti(const std::string& text, const bool& isText); -std::size_t h_sn(const std::string& sel, const std::size_t& node); -std::size_t h_st(const std::string& sel, const std::string& text); -std::size_t h_sd(const std::string& sel, const std::map& nodeProps); -std::size_t h_sc(const std::string& sel, const std::vector& children); +int h_ti(const std::string& text, const bool& isText); +int h_sn(const std::string& sel, const int& node); +int h_st(const std::string& sel, const std::string& text); +int h_sd(const std::string& sel, const std::map& nodeProps); +int h_sc(const std::string& sel, const std::vector& children); -std::size_t h_sdn(const std::string& sel, const std::map& nodeProps, const std::size_t& node); -std::size_t h_sdt(const std::string& sel, const std::map& nodeProps, const std::string& text); -std::size_t h_sdc(const std::string& sel, const std::map& nodeProps, const std::vector& children); +int h_sdn(const std::string& sel, const std::map& nodeProps, const int& node); +int h_sdt(const std::string& sel, const std::map& nodeProps, const std::string& text); +int h_sdc(const std::string& sel, const std::map& nodeProps, const std::vector& children); -std::size_t h_stdc(const std::string& sel, const std::string& text, const std::map& nodeProps, const std::vector& children); +int h_stdc(const std::string& sel, const std::string& text, const std::map& nodeProps, const std::vector& children); -std::size_t h_elm(const std::string& sel, const std::map& nodeProps, const int elm); +int h_elm(const std::string& sel, const std::map& nodeProps, const int elm); void deleteVNode(VNode* const vnode); -void deleteVNodePtr(const std::size_t& vnode); +void deleteVNodePtr(const int& vnode); #endif diff --git a/src/cpp/Main/main.cpp b/src/cpp/Main/main.cpp index ebe0355..d07e315 100644 --- a/src/cpp/Main/main.cpp +++ b/src/cpp/Main/main.cpp @@ -244,8 +244,8 @@ VNode* patch_vnode(VNode* __restrict__ const oldVnode, VNode* __restrict__ const return vnode; }; -std::size_t patch_vnodePtr(const std::size_t oldVnode, const std::size_t vnode) { - return reinterpret_cast(patch_vnode(reinterpret_cast(oldVnode), reinterpret_cast(vnode))); +int patch_vnodePtr(const int oldVnode, const int vnode) { + return reinterpret_cast(patch_vnode(reinterpret_cast(oldVnode), reinterpret_cast(vnode))); }; EMSCRIPTEN_BINDINGS(patch_function) { diff --git a/src/cpp/Main/main.hpp b/src/cpp/Main/main.hpp index 67f0c6f..4c637bb 100644 --- a/src/cpp/Main/main.hpp +++ b/src/cpp/Main/main.hpp @@ -5,7 +5,7 @@ #include #include -std::size_t patch_vnodePtr(const std::size_t oldVnode, const std::size_t vnode); +int patch_vnodePtr(const int oldVnode, const int vnode); void updateChildren( emscripten::val parentElm, std::vector& oldCh, diff --git a/src/cpp/VNode/VNode.cpp b/src/cpp/VNode/VNode.cpp index 8056f64..f87ca4d 100644 --- a/src/cpp/VNode/VNode.cpp +++ b/src/cpp/VNode/VNode.cpp @@ -6,5 +6,5 @@ EMSCRIPTEN_BINDINGS(vnode) { emscripten::register_map("MapStringString"); - emscripten::register_vector("VNodePtrVector"); + emscripten::register_vector("VNodePtrVector"); } diff --git a/src/index.js b/src/index.js index adfff6d..6611c0b 100755 --- a/src/index.js +++ b/src/index.js @@ -3,13 +3,24 @@ import patch from './js/patch'; import diff from './js/diff'; import domApi, { nodes } from './js/domApi'; +const cache = {}; + // import() is compiled to require.ensure, this is a polyfill for nodejs // an alternative solution is needed if (typeof require.ensure !== 'function') require.ensure = (d, c) => { c(require); }; export default (config) => { + config = config || {}; + + if (cache.lib && !config.hardReload) { + return Promise.resolve(cache.lib); + } + config = config || {}; let result; + const readyPromise = new Promise((resolve) => { + config['_main'] = () => resolve(cache); + }); if ((config.useWasm || 'WebAssembly' in window) && !config.useAsmJS) { result = import('./js/loadWasm').then(x => x.default(config)); } else { @@ -19,9 +30,15 @@ export default (config) => { return result .then(lib => lib(config)) .then((lib) => { - if (!window && global) global.window = {}; + cache.lib = lib; + if (!window && global) global.window = {}; window.asmDom = lib; + window.asmDomHelpers = { + domApi, + vnodesData: {}, + diff, + }; lib.h = h; lib.patch = patch; @@ -31,12 +48,7 @@ export default (config) => { lib._deleteVNode(oldVnode); }; - window.asmDomHelpers = { - domApi, - vnodesData: {}, - diff, - }; - - return lib; - }); + return readyPromise; + }) + .then(x => x.lib); }; diff --git a/src/js/domApi.js b/src/js/domApi.js index 7d0dce4..20a514d 100644 --- a/src/js/domApi.js +++ b/src/js/domApi.js @@ -34,18 +34,22 @@ export default { return node.asmDomPtr || (nodes[++ptr] = addPtr(node)) && ptr; }, 'insertBefore'(parentNodePtr, newNodePtr, referenceNodePtr) { + // if (!nodes[parentNodePtr].appendChild) return; nodes[parentNodePtr].insertBefore(nodes[newNodePtr], nodes[referenceNodePtr]); }, 'removeChild'(childPtr) { recycler.collect(nodes[childPtr]); }, 'appendChild'(parentPtr, childPtr) { + // if (!nodes[parentPtr].appendChild) return; nodes[parentPtr].appendChild(nodes[childPtr]); }, 'removeAttribute'(nodePtr, attr) { + // if (!nodes[nodePtr].removeAttribute) return; nodes[nodePtr].removeAttribute(attr); }, 'setAttribute'(nodePtr, attr, value) { + // if (!nodes[nodePtr].setAttribute) return; // xChar = 120 // colonChar = 58 if (attr.charCodeAt(0) !== 120) { diff --git a/src/js/domRecycler.js b/src/js/domRecycler.js index 275d458..e750892 100644 --- a/src/js/domRecycler.js +++ b/src/js/domRecycler.js @@ -31,6 +31,7 @@ const recycler = { clean(node) { node.remove(); let i = node.attributes && node.attributes.length; + while (node.firstChild) recycler.collect(node.firstChild); while (i--) node.removeAttribute(node.attributes[i].name); if (node.asmDomRaws) { for (i = node.asmDomRaws.length; i--;) node[node.asmDomRaws[i]] = undefined; diff --git a/test/attributes.spec.js b/test/attributes.spec.js index 34bb906..7262bea 100644 --- a/test/attributes.spec.js +++ b/test/attributes.spec.js @@ -10,7 +10,9 @@ describe('attributes', function testAttributes() { let patch; before((done) => { - init().then((asmDom) => { + init({ + hardReload: true, + }).then((asmDom) => { vdom = asmDom; h = vdom.h; patch = vdom.patch; diff --git a/test/dataset.spec.js b/test/dataset.spec.js index 04bdd41..87fad32 100644 --- a/test/dataset.spec.js +++ b/test/dataset.spec.js @@ -10,7 +10,9 @@ describe('dataset', function testDataset() { let patch; before((done) => { - init().then((asmDom) => { + init({ + hardReload: true, + }).then((asmDom) => { vdom = asmDom; h = vdom.h; patch = vdom.patch; diff --git a/test/eventlisteners.spec.js b/test/eventlisteners.spec.js index f6d5c3f..41faa49 100644 --- a/test/eventlisteners.spec.js +++ b/test/eventlisteners.spec.js @@ -10,7 +10,9 @@ describe('eventlisteners', function testEventlisteners() { let patch; before((done) => { - init().then((asmDom) => { + init({ + hardReload: true, + }).then((asmDom) => { vdom = asmDom; h = vdom.h; patch = vdom.patch; diff --git a/test/h.spec.js b/test/h.spec.js index 7fae621..15647fe 100644 --- a/test/h.spec.js +++ b/test/h.spec.js @@ -8,7 +8,9 @@ describe('h', function test() { let h; before((done) => { - init().then((asmDom) => { + init({ + hardReload: true, + }).then((asmDom) => { vdom = asmDom; h = vdom.h; done(); diff --git a/test/index.spec.js b/test/index.spec.js index 0aeb4c1..bf3d613 100644 --- a/test/index.spec.js +++ b/test/index.spec.js @@ -9,7 +9,9 @@ describe('load', function test() { }); it('should load asm-dom using asm.js', (done) => { - init().then((vdom) => { + init({ + hardReload: true, + }).then((vdom) => { expect(vdom.h).toExist(); expect(vdom.usingWasm).toBeFalsy(); done(); @@ -19,6 +21,7 @@ describe('load', function test() { it('should load asm-dom using asm.js (by config)', (done) => { init({ useAsmJS: true, + hardReload: true, }).then((vdom) => { expect(vdom.h).toExist(); expect(vdom.usingWasm).toBeFalsy(); @@ -29,7 +32,9 @@ describe('load', function test() { it('should load asm-dom using wasm', (done) => { window.WebAssembly = {}; // .wasm file throw a SyntaxError on node - init().catch((ex) => { + init({ + hardReload: true, + }).catch((ex) => { expect(ex).toBeA(SyntaxError); done(); }); @@ -39,6 +44,7 @@ describe('load', function test() { // .wasm file throw a SyntaxError on node init({ useWasm: true, + hardReload: true, }).catch((ex) => { expect(ex).toBeA(SyntaxError); done(); diff --git a/test/patch.spec.js b/test/patch.spec.js index b316558..8a5a489 100644 --- a/test/patch.spec.js +++ b/test/patch.spec.js @@ -35,9 +35,9 @@ describe('patch', function testPatch() { const inner = prop('innerHTML'); before((done) => { - init(/* { - TOTAL_MEMORY: 16777216 * 5, - } */).then((asmDom) => { + init({ + hardReload: true, + }).then((asmDom) => { vdom = asmDom; h = vdom.h; patch = vdom.patch; diff --git a/test/props.spec.js b/test/props.spec.js index bc1558e..6860010 100644 --- a/test/props.spec.js +++ b/test/props.spec.js @@ -10,7 +10,9 @@ describe('props', function testProps() { let patch; before((done) => { - init().then((asmDom) => { + init({ + hardReload: true, + }).then((asmDom) => { vdom = asmDom; h = vdom.h; patch = vdom.patch;

>>0?k:p;if((h|0)!=0?(o=Rd(n<<24>>24<0?c[e>>2]|0:e,i<<24>>24<0?c[j>>2]|0:j,h)|0,(o|0)!=0):0){if((o|0)<0)break}else r=28;if((r|0)==28?p>>>0>>0:0)break;d=Hc(b,s,e)|0;break a}while(0);if(!m){c[s>>2]=d;d=d+4|0;break}else{c[s>>2]=g;d=g;break}}else r=6;while(0);b:do if((r|0)==6){o=c[d>>2]|0;do if((c[b>>2]|0)==(d|0))g=d;else{if(!o){h=d;while(1){g=c[h+8>>2]|0;if((c[g>>2]|0)==(h|0))h=g;else{h=g;break}}}else{h=o;while(1){g=c[h+4>>2]|0;if(!g)break;else h=g}}g=h;n=h+16|0;m=a[n+11>>0]|0;j=m<<24>>24<0?c[h+20>>2]|0:m&255;i=a[e+11>>0]|0;k=i<<24>>24<0?c[e+4>>2]|0:i&255;h=k>>>0>>0?k:j;if((h|0)!=0?(q=Rd(m<<24>>24<0?c[n>>2]|0:n,i<<24>>24<0?c[e>>2]|0:e,h)|0,(q|0)!=0):0){if((q|0)<0)break}else r=12;if((r|0)==12?j>>>0>>0:0)break;d=Hc(b,s,e)|0;break b}while(0);if(!o){c[s>>2]=d;break}else{d=g;c[s>>2]=d;d=d+4|0;break}}while(0);if(c[d>>2]|0){l=s;return}g=ie(40)|0;Od(g+16|0,f);Od(g+28|0,f+12|0);h=c[s>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=h;c[d>>2]=g;h=c[c[b>>2]>>2]|0;if(h){c[b>>2]=h;g=c[d>>2]|0}Dc(c[b+4>>2]|0,g);c[b+8>>2]=(c[b+8>>2]|0)+1;l=s;return}function tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;c[m+40>>2]=0;k=m+40+4|0;c[k>>2]=0;c[m+40+8>>2]=0;f=c[e>>2]|0;a:do if((c[e+4>>2]|0)!=(f|0)){h=0;i=0;g=0;while(1){f=c[f+(g<<2)>>2]|0;c[m+36>>2]=f;if(h>>>0>>0){c[h>>2]=f;c[k>>2]=h+4}else bd(m+40|0,m+36|0);g=g+1|0;f=c[e>>2]|0;if(g>>>0>=(c[e+4>>2]|0)-f>>2>>>0)break a;h=c[k>>2]|0;i=c[m+40+8>>2]|0}}while(0);j=ie(64)|0;Od(m+24|0,a);Od(m+12|0,b);c[m+4>>2]=0;c[m+8>>2]=0;c[m>>2]=m+4;f=c[d>>2]|0;if((f|0)!=(d+4|0)){g=f;while(1){f=f+16|0;sc(m,m+4|0,f,f);f=c[g+4>>2]|0;if(!f)while(1){f=c[g+8>>2]|0;if((c[f>>2]|0)==(g|0))break;else g=f}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(d+4|0))break;else g=f}}e=c[k>>2]|0;a=c[m+40>>2]|0;if(e-a>>2){if(e-a>>2>>>0>1073741823)wf();f=ie(e-a|0)|0;if((e-a|0)>0){Jc(f|0,a|0,e-a|0)|0;b=f;i=f+((e-a|0)>>>2<<2)|0}else{b=f;i=f}}else{b=0;i=0}Od(j,m+24|0);c[j+12>>2]=0;c[j+12+4>>2]=0;c[j+12+8>>2]=0;Od(j+24|0,m+12|0);c[j+40>>2]=0;c[j+44>>2]=0;c[j+36>>2]=j+40;f=c[m>>2]|0;if((f|0)!=(m+4|0)){h=f;g=f;while(1){f=h+16|0;sc(j+36|0,j+40|0,f,f);f=c[g+4>>2]|0;if(!f)while(1){f=c[g+8>>2]|0;if((c[f>>2]|0)==(g|0))break;else g=f}else while(1){g=c[f>>2]|0;if(!g)break;else f=g}if((f|0)==(m+4|0))break;else{h=f;g=f}}}c[j+52>>2]=0;c[j+56>>2]=0;c[j+60>>2]=0;g=i-b|0;if(g>>2|0){if(g>>2>>>0>1073741823)wf();f=ie(g)|0;c[j+56>>2]=f;c[j+52>>2]=f;c[j+60>>2]=f+(g>>2<<2);if((g|0)>0){Jc(f|0,b|0,g|0)|0;c[j+56>>2]=f+(g>>>2<<2)}}f=Wc(j)|0;if(b|0)ag(b);rd(c[m+4>>2]|0);Ue(m+12|0);Ue(m+24|0);if(!a){l=m;return f|0}if((e|0)!=(a|0))c[k>>2]=e+(~((e+-4-a|0)>>>2)<<2);ag(a);l=m;return f|0}function uc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (D=e,f)|0}else{if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (D=e,f)|0}do if(d){if(e|0){h=(V(e|0)|0)-(V(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (D=e,f)|0}if(d-1&d|0){h=(V(d|0)|0)+33-(V(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (D=e,f)|0}else{f=ke(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (D=e,f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (D=e,f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (D=d,f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((ke(e|0)|0)>>>0);return (D=d,f)|0}h=(V(e|0)|0)-(V(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (D=e,f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (D=e,f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=Qe(d|0|0,e|e&0|0,-1,-1)|0;l=D;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;He(k|0,l|0,p|0,o|0)|0;n=D;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=He(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=D;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (D=o,p)|0}function vc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(qf(b,c[d+8>>2]|0)|0)){if(!(qf(b,c[d>>2]|0)|0)){i=c[b+12>>2]|0;Pd(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;Pd(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;Pd(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}else h=b+24|0;while(1){if(a[d+54>>0]|0)break a;Pd(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;f=c[b+12>>2]|0;b:do if((f|0)>0){i=0;h=0;j=b+16|0;c:do{a[d+52>>0]=0;a[d+53>>0]=0;Ld(j,d,e,e,1,g);if(a[d+54>>0]|0)break;do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;break c}else{h=1;break}if((c[d+24>>2]|0)==1){i=22;break b}if(!(c[b+8>>2]&2)){i=22;break b}else{i=1;h=1}}while(0);j=j+8|0}while(j>>>0<(b+16+(f<<3)|0)>>>0);if(i)i=21;else i=18}else{h=0;i=18}while(0);if((i|0)==18){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)i=22;else h=4}else i=21}if((i|0)==21)if(h)i=22;else h=4;if((i|0)==22)h=3;c[d+44>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else se(d,e,f);while(0);return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=ie(64)|0;Od(i+24|0,a);c[i+12+4>>2]=0;c[i+12+8>>2]=0;g=i+12+4|0;c[i+12>>2]=g;a=c[b>>2]|0;if((a|0)==(b+4|0))a=g;else{f=a;e=a;while(1){a=f+16|0;sc(i+12|0,g,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=g;break}else{f=a;e=a}}}Od(i,d);Od(h,i+24|0);c[h+12>>2]=0;c[h+12+4>>2]=0;c[h+12+8>>2]=0;Od(h+24|0,i);c[h+40>>2]=0;c[h+44>>2]=0;c[h+36>>2]=h+40;e=c[i+12>>2]|0;if((e|0)==(a|0)){d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+60|0;c[d>>2]=0;Ue(i);g=c[g>>2]|0;rd(g);Ue(i+24|0);l=i;return h|0}f=e;while(1){a=f+16|0;sc(h+36|0,h+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(g|0))break;else{f=a;e=a}}d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+60|0;c[d>>2]=0;Ue(i);g=c[g>>2]|0;rd(g);Ue(i+24|0);l=i;return h|0}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=ie(64)|0;Od(h+12|0,a);c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=h+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=h+4|0;else{f=a;e=a;while(1){a=f+16|0;sc(h,h+4|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=h+4|0;break}else{f=a;e=a}}}Od(g,h+12|0);c[g+40>>2]=0;c[g+44>>2]=0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;c[g+12+12>>2]=0;c[g+12+16>>2]=0;c[g+12+20>>2]=0;c[g+36>>2]=g+40;e=c[h>>2]|0;if((e|0)!=(a|0)){f=e;while(1){a=f+16|0;sc(g+36|0,g+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(h+4|0))break;else{f=a;e=a}}}c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;rd(c[h+4>>2]|0);Ue(h+12|0);a=c[d>>2]|0;if((c[d+4>>2]|0)==(a|0)){d=Wc(g)|0;l=h;return d|0}f=0;do{a=c[a+(f<<2)>>2]|0;c[h+24>>2]=a;e=c[g+56>>2]|0;if(e>>>0<(c[g+60>>2]|0)>>>0){c[e>>2]=a;c[g+56>>2]=(c[g+56>>2]|0)+4}else bd(g+52|0,h+24|0);f=f+1|0;a=c[d>>2]|0}while(f>>>0<(c[d+4>>2]|0)-a>>2>>>0);d=Wc(g)|0;l=h;return d|0}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=ie(64)|0;Od(h+12|0,a);c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=h+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=h+4|0;else{f=a;e=a;while(1){a=f+16|0;sc(h,h+4|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=h+4|0;break}else{f=a;e=a}}}Od(g,h+12|0);c[g+40>>2]=0;c[g+44>>2]=0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;c[g+12+12>>2]=0;c[g+12+16>>2]=0;c[g+12+20>>2]=0;c[g+36>>2]=g+40;e=c[h>>2]|0;if((e|0)==(a|0)){b=g+52|0;c[b>>2]=0;b=g+56|0;c[b>>2]=0;b=g+60|0;c[b>>2]=0;b=Wc(g)|0;f=c[h+4>>2]|0;rd(f);Ue(h+12|0);g=g+48|0;c[g>>2]=d;d=b;l=h;return d|0}f=e;while(1){a=f+16|0;sc(g+36|0,g+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(h+4|0))break;else{f=a;e=a}}b=g+52|0;c[b>>2]=0;b=g+56|0;c[b>>2]=0;b=g+60|0;c[b>>2]=0;b=Wc(g)|0;f=c[h+4>>2]|0;rd(f);Ue(h+12|0);g=g+48|0;c[g>>2]=d;d=b;l=h;return d|0}function zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=ie(64)|0;Od(g+12|0,a);c[g+4>>2]=0;c[g+8>>2]=0;c[g>>2]=g+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=g+4|0;else{e=a;d=a;while(1){a=e+16|0;sc(g,g+4|0,a,a);a=c[d+4>>2]|0;if(!a)while(1){a=c[d+8>>2]|0;if((c[a>>2]|0)==(d|0))break;else d=a}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(b+4|0)){a=g+4|0;break}else{e=a;d=a}}}Od(f,g+12|0);c[f+40>>2]=0;c[f+44>>2]=0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;c[f+12+12>>2]=0;c[f+12+16>>2]=0;c[f+12+20>>2]=0;c[f+36>>2]=f+40;d=c[g>>2]|0;if((d|0)==(a|0)){b=f+52|0;c[b>>2]=0;b=f+56|0;c[b>>2]=0;b=f+60|0;c[b>>2]=0;f=Wc(f)|0;b=c[g+4>>2]|0;rd(b);Ue(g+12|0);l=g;return f|0}e=d;while(1){a=e+16|0;sc(f+36|0,f+40|0,a,a);a=c[d+4>>2]|0;if(!a)while(1){a=c[d+8>>2]|0;if((c[a>>2]|0)==(d|0))break;else d=a}else while(1){d=c[a>>2]|0;if(!d)break;else a=d}if((a|0)==(g+4|0))break;else{e=a;d=a}}b=f+52|0;c[b>>2]=0;b=f+56|0;c[b>>2]=0;b=f+60|0;c[b>>2]=0;f=Wc(f)|0;b=c[g+4>>2]|0;rd(b);Ue(g+12|0);l=g;return f|0}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;Wb(0,b|0,d|0,c[d+48>>2]|0)|0;if((c[b+44>>2]|0)==0?(c[d+44>>2]|0)==0:0){l=q;return}e=c[b+36>>2]|0;if((e|0)!=(b+40|0)){f=e;while(1){e=e+16|0;if(!(Rc(d+36|0,e)|0)){if((a[e+11>>0]|0)<0)e=c[e>>2]|0;vb(1,c[d+48>>2]|0,e|0)|0}e=c[f+4>>2]|0;if(!e)while(1){e=c[f+8>>2]|0;if((c[e>>2]|0)==(f|0))break;else f=e}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(b+40|0))break;else f=e}}e=c[d+36>>2]|0;if((e|0)==(d+40|0)){l=q;return}f=e;o=e;a:while(1){g=o+16|0;do if(Rc(b+36|0,g)|0){e=c[(Ic(b+36|0,q,g)|0)>>2]|0;if(!e){p=18;break a}n=o+28|0;h=a[e+28+11>>0]|0;if(h<<24>>24<0)k=c[e+28+4>>2]|0;else k=h&255;j=a[n+11>>0]|0;m=j<<24>>24<0?c[o+32>>2]|0:j&255;if(h<<24>>24<0)i=c[e+28>>2]|0;else i=e+28|0;h=m>>>0>>0;e=h?m:k;if(e|0?Rd(i,j<<24>>24<0?c[n>>2]|0:n,e)|0:0){p=27;break}if(!(k>>>0>=m>>>0&(h^1)))p=27}else p=27;while(0);if((p|0)==27){p=0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;e=o+28|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;Wb(2,c[d+48>>2]|0,g|0,e|0)|0}e=c[f+4>>2]|0;if(!e)while(1){e=c[f+8>>2]|0;if((c[e>>2]|0)==(f|0))break;else f=e}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((e|0)==(d+40|0)){p=38;break}else{f=e;o=e}}if((p|0)==18){q=ib(8)|0;jf(q);c[q>>2]=1152;Yb(q|0,416,8)}else if((p|0)==38){l=q;return}}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+32|0;if(!(ye(b)|0)){if((a[b+24+11>>0]|0)<0)d=c[b+24>>2]|0;else d=b+24|0;c[b+48>>2]=ua(3,d|0)|0;b=b+48|0;b=c[b>>2]|0;l=f;return b|0}d=a[b+11>>0]|0;if(d<<24>>24<0)d=c[b+4>>2]|0;else d=d&255;if(!d){if((a[b+24+11>>0]|0)<0)d=c[b+24>>2]|0;else d=b+24|0;c[b+48>>2]=ua(4,d|0)|0;b=b+48|0;b=c[b>>2]|0;l=f;return b|0}c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;Id(f+12|0,1908,2);e=(Rc(b+36|0,f+12|0)|0)==0;Ue(f+12|0);if(e){if((a[b+11>>0]|0)<0)d=c[b>>2]|0;else d=b;c[b+48>>2]=ua(6,d|0)|0}else{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,1908,2);d=c[(Ic(b+36|0,f+12|0,f)|0)>>2]|0;if(!d){f=ib(8)|0;jf(f);c[f>>2]=1152;Yb(f|0,416,8)}if((a[d+28+11>>0]|0)<0)e=c[d+28>>2]|0;else e=d+28|0;if((a[b+11>>0]|0)<0)d=c[b>>2]|0;else d=b;c[b+48>>2]=vb(5,e|0,d|0)|0;Ue(f)}Ac(c[2116]|0,b);d=c[b+52>>2]|0;if((d|0)!=(c[b+56>>2]|0)){e=0;do{g=c[b+48>>2]|0;vb(7,g|0,Bc(c[d+(e<<2)>>2]|0)|0)|0;e=e+1|0;d=c[b+52>>2]|0}while((e|0)!=((c[b+56>>2]|0)-d>>2|0));d=b+48|0;g=c[d>>2]|0;l=f;return g|0}d=a[b+24+11>>0]|0;if(d<<24>>24<0)e=c[b+28>>2]|0;else e=d&255;if(!e){g=b+48|0;g=c[g>>2]|0;l=f;return g|0}if(d<<24>>24<0)d=c[b+24>>2]|0;else d=b+24|0;vb(8,c[b+48>>2]|0,d|0)|0;g=b+48|0;g=c[g>>2]|0;l=f;return g|0}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=ie(64)|0;Od(h+12|0,a);c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=h+4;a=c[b>>2]|0;if((a|0)==(b+4|0))a=h+4|0;else{f=a;e=a;while(1){a=f+16|0;sc(h,h+4|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(b+4|0)){a=h+4|0;break}else{f=a;e=a}}}b=c[d>>2]|0;Od(g,h+12|0);c[g+40>>2]=0;c[g+44>>2]=0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;c[g+12+12>>2]=0;c[g+12+16>>2]=0;c[g+12+20>>2]=0;c[g+36>>2]=g+40;f=c[h>>2]|0;if((f|0)!=(a|0)){e=f;a=f;while(1){a=a+16|0;sc(g+36|0,g+40|0,a,a);a=c[e+4>>2]|0;if(!a)while(1){a=c[e+8>>2]|0;if((c[a>>2]|0)==(e|0))break;else e=a}else while(1){e=c[a>>2]|0;if(!e)break;else a=e}if((a|0)==(h+4|0))break;else e=a}}c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;d=ie(4)|0;c[g+52>>2]=d;c[g+60>>2]=d+4;c[d>>2]=b;c[g+56>>2]=d+4;g=Wc(g)|0;rd(c[h+4>>2]|0);Ue(h+12|0);l=h;return g|0}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a[d+12>>0]=(d|0)==(b|0)&1;if((d|0)==(b|0))return;while(1){g=d+8|0;h=c[g>>2]|0;if(a[h+12>>0]|0){e=23;break}f=c[h+8>>2]|0;e=c[f>>2]|0;if((e|0)==(h|0)){e=c[f+4>>2]|0;if(!e){e=7;break}if(!(a[e+12>>0]|0))d=e+12|0;else{e=7;break}}else{if(!e){e=16;break}if(!(a[e+12>>0]|0))d=e+12|0;else{e=16;break}}a[h+12>>0]=1;a[f+12>>0]=(f|0)==(b|0)&1;a[d>>0]=1;if((f|0)==(b|0)){e=23;break}else d=f}if((e|0)==7){if((c[h>>2]|0)==(d|0))d=h;else{e=c[h+4>>2]|0;d=c[e>>2]|0;c[h+4>>2]=d;if(!d)d=f;else{c[d+8>>2]=h;d=c[h+8>>2]|0}c[e+8>>2]=d;d=c[h+8>>2]|0;c[((c[d>>2]|0)==(h|0)?d:d+4|0)>>2]=e;c[e>>2]=h;c[h+8>>2]=e;d=e;f=c[e+8>>2]|0}a[d+12>>0]=1;a[f+12>>0]=0;d=c[f>>2]|0;e=c[d+4>>2]|0;c[f>>2]=e;if(e|0)c[e+8>>2]=f;h=f+8|0;c[d+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(f|0)?g:g+4|0)>>2]=d;c[d+4>>2]=f;c[h>>2]=d;return}else if((e|0)==16){if((c[h>>2]|0)==(d|0)){b=d+4|0;e=c[b>>2]|0;c[h>>2]=e;if(e){c[e+8>>2]=h;f=c[h+8>>2]|0}c[g>>2]=f;f=c[h+8>>2]|0;c[((c[f>>2]|0)==(h|0)?f:f+4|0)>>2]=d;c[b>>2]=h;c[h+8>>2]=d;f=c[g>>2]|0}else d=h;a[d+12>>0]=1;a[f+12>>0]=0;h=f+4|0;d=c[h>>2]|0;e=c[d>>2]|0;c[h>>2]=e;if(e|0)c[e+8>>2]=f;h=f+8|0;c[d+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(f|0)?g:g+4|0)>>2]=d;c[d>>2]=f;c[h>>2]=d;return}else if((e|0)==23)return}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Fc(){var a=0,b=0,d=0;Va(8,16,32,0,3317,4,3320,0,3320,0,1260,3322,14);Ga(8,1,608,3317,5,1);a=ie(8)|0;c[a>>2]=6;c[a+4>>2]=0;Ca(8,2956,2,612,3325,1,a|0,0);a=ie(4)|0;c[a>>2]=2;Ca(8,2961,3,620,3449,6,a|0,0);a=ie(4)|0;c[a>>2]=1;Ca(8,2965,4,632,3454,4,a|0,0);Va(120,144,160,0,3317,7,3320,0,3320,0,1276,3322,15);Ga(120,1,648,3317,8,2);a=ie(8)|0;c[a>>2]=1;c[a+4>>2]=0;Ca(120,3460,3,652,3669,2,a|0,0);a=ie(8)|0;c[a>>2]=3;c[a+4>>2]=0;Ca(120,3470,4,664,3454,5,a|0,0);a=ie(8)|0;c[a>>2]=9;c[a+4>>2]=0;Ca(120,2956,2,680,3325,3,a|0,0);a=ie(4)|0;c[a>>2]=4;Ca(120,2961,3,688,3449,7,a|0,0);a=ie(4)|0;c[a>>2]=8;Ca(120,2965,4,700,3674,1,a|0,0);Jb(1598,2,716,3325,5,10);Jb(1603,3,724,3449,9,6);Jb(1609,3,736,3449,10,7);Jb(1615,3,748,3449,11,8);Jb(1621,3,760,3449,12,9);Jb(1627,3,772,3449,13,10);Jb(1633,4,784,3674,2,14);Jb(1640,4,800,3674,3,15);Jb(1647,4,816,3674,4,16);Jb(1654,5,832,3704,1,5);Jb(1662,4,852,3674,6,17);Jb(1669,2,868,3711,2,16);Jb(1682,2,876,3325,11,11);a=ie(64)|0;c[a+40>>2]=0;c[a+44>>2]=0;b=a;d=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a+36>>2]=a+40;c[a+52>>2]=0;c[a+56>>2]=0;c[a+60>>2]=0;c[2116]=a;Jb(2945,3,884,3449,18,12);return}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;e=c[b+4>>2]|0;if(!e){o=1;l=p;return o|0}k=a[d+11>>0]|0;n=k<<24>>24<0?c[d+4>>2]|0:k&255;k=k<<24>>24<0?c[d>>2]|0:d;i=b+4|0;a:while(1){d=e;while(1){g=d+16|0;f=a[g+11>>0]|0;h=f<<24>>24<0?c[d+20>>2]|0:f&255;e=n>>>0>>0?n:h;if((e|0)!=0?(j=Rd(f<<24>>24<0?c[g>>2]|0:g,k,e)|0,(j|0)!=0):0){if((j|0)>=0)break}else o=6;if((o|0)==6?(o=0,h>>>0>=n>>>0):0)break;d=c[d+4>>2]|0;if(!d){d=i;break a}}e=c[d>>2]|0;if(!e)break;else i=d}if((d|0)==(b+4|0)){o=1;l=p;return o|0}g=d+16|0;f=a[g+11>>0]|0;h=f<<24>>24<0?c[d+20>>2]|0:f&255;e=h>>>0>>0?h:n;if((e|0)!=0?(m=Rd(k,f<<24>>24<0?c[g>>2]|0:g,e)|0,(m|0)!=0):0){if((m|0)<0){o=1;l=p;return o|0}}else o=13;if((o|0)==13?n>>>0>>0:0){o=1;l=p;return o|0}m=d+28|0;k=a[m+11>>0]|0;n=k<<24>>24<0?c[d+32>>2]|0:k&255;o=nc(n+4|0)|0;c[o>>2]=n;Jc(o+4|0,(k<<24>>24<0?c[m>>2]|0:m)|0,n|0)|0;c[p>>2]=o;o=jb(64,p|0)|0;l=p;return o|0}function Hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[b+4>>2]|0;if(!f){c[d>>2]=b+4;m=b+4|0;return m|0}j=a[e+11>>0]|0;k=j<<24>>24<0?c[e+4>>2]|0:j&255;j=j<<24>>24<0?c[e>>2]|0:e;while(1){g=f+16|0;e=a[g+11>>0]|0;h=e<<24>>24<0?c[f+20>>2]|0:e&255;b=h>>>0>>0?h:k;if((b|0)!=0?(m=Rd(j,e<<24>>24<0?c[g>>2]|0:g,b)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=9;else if(k>>>0>>0)i=7;else i=9;if((i|0)==7){b=c[f>>2]|0;if(!b){i=8;break}}else if((i|0)==9){i=0;b=k>>>0>>0?k:h;if((b|0)!=0?(l=Rd(e<<24>>24<0?c[g>>2]|0:g,j,b)|0,(l|0)!=0):0){if((l|0)>=0){i=16;break}}else i=11;if((i|0)==11?(0,h>>>0>=k>>>0):0){i=16;break}e=f+4|0;b=c[e>>2]|0;if(!b){i=15;break}}f=b}if((i|0)==8){c[d>>2]=f;m=f;return m|0}else if((i|0)==15){c[d>>2]=f;m=e;return m|0}else if((i|0)==16){c[d>>2]=f;m=d;return m|0}return 0}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[b+4>>2]|0;if(!f){c[d>>2]=b+4;m=b+4|0;return m|0}j=a[e+11>>0]|0;k=j<<24>>24<0?c[e+4>>2]|0:j&255;j=j<<24>>24<0?c[e>>2]|0:e;while(1){h=f+16|0;e=a[h+11>>0]|0;g=e<<24>>24<0?c[f+20>>2]|0:e&255;b=g>>>0>>0?g:k;if((b|0)!=0?(m=Rd(j,e<<24>>24<0?c[h>>2]|0:h,b)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=9;else if(k>>>0>>0)i=7;else i=9;if((i|0)==7){b=c[f>>2]|0;if(!b){i=8;break}}else if((i|0)==9){i=0;b=k>>>0>>0?k:g;if((b|0)!=0?(l=Rd(e<<24>>24<0?c[h>>2]|0:h,j,b)|0,(l|0)!=0):0){if((l|0)>=0){i=16;break}}else i=11;if((i|0)==11?(0,g>>>0>=k>>>0):0){i=16;break}e=f+4|0;b=c[e>>2]|0;if(!b){i=15;break}}f=b}if((i|0)==8){c[d>>2]=f;m=f;return m|0}else if((i|0)==15){c[d>>2]=f;m=e;return m|0}else if((i|0)==16){c[d>>2]=f;m=d;return m|0}return 0}function Jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return xa(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[a+4>>2]|0;j=c[a>>2]|0;l=k-j>>2;if(l>>>0>=b>>>0){if(l>>>0<=b>>>0)return;if((k|0)==(j+(b<<2)|0))return;c[a+4>>2]=k+(~((k+-4-(j+(b<<2))|0)>>>2)<<2);return}e=c[a+8>>2]|0;if(e-k>>2>>>0>=(b-l|0)>>>0){e=k;f=b-l|0;while(1){c[e>>2]=c[d>>2];f=f+-1|0;if(!f)break;else e=e+4|0}c[a+4>>2]=k+(b-l<<2);return}if(b>>>0>1073741823)wf();e=e-j>>2>>>0<536870911?(e-j>>1>>>0>>0?b:e-j>>1):1073741823;do if(e)if(e>>>0>1073741823){a=ib(4)|0;Pf(a);Yb(a|0,384,6)}else{i=ie(e<<2)|0;break}else i=0;while(0);h=i+(l<<2)|0;f=h;g=b-l|0;while(1){c[f>>2]=c[d>>2];g=g+-1|0;if(!g)break;else f=f+4|0}if((k-j|0)>0)Jc(h+(0-l<<2)|0,j|0,k-j|0)|0;c[a>>2]=h+(0-l<<2);c[a+4>>2]=h+(b-l<<2);c[a+8>>2]=i+(e<<2);if(!j)return;ag(j);return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;g=c[a+28>>2]|0;c[i+32>>2]=g;g=(c[a+20>>2]|0)-g|0;c[i+32+4>>2]=g;c[i+32+8>>2]=b;c[i+32+12>>2]=d;c[i>>2]=c[a+60>>2];c[i+4>>2]=i+32;c[i+8>>2]=2;b=nf(Ka(146,i|0)|0)|0;a:do if((g+d|0)!=(b|0)){e=i+32|0;f=2;g=g+d|0;while(1){if((b|0)<0)break;g=g-b|0;j=c[e+4>>2]|0;k=b>>>0>j>>>0;e=k?e+8|0:e;f=(k<<31>>31)+f|0;j=b-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=e;c[i+16+8>>2]=f;b=nf(Ka(146,i+16|0)|0)|0;if((g|0)==(b|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}l=i;return d|0}function Mc(){Ib(480,8401);Pa(496,8406,1,1,0);hb(504,8349,1,-128,127);hb(520,8354,1,-128,127);hb(512,8366,1,0,255);hb(528,8380,2,-32768,32767);hb(536,8386,2,0,65535);hb(544,8411,4,-2147483648,2147483647);hb(552,8415,4,0,-1);hb(560,8428,4,-2147483648,2147483647);hb(568,8433,4,0,-1);Tb(576,8447,4);Tb(584,8453,8);Aa(64,8337);Aa(176,3715);Mb(200,4,3748);Sa(48,3761);Db(224,0,3777);Db(232,0,3807);Db(240,1,3844);Db(248,2,3883);Db(256,3,3914);Db(264,4,3954);Db(272,5,3983);Db(280,4,4021);Db(288,5,4051);Db(232,0,4090);Db(240,1,4122);Db(248,2,4155);Db(256,3,4188);Db(264,4,4222);Db(272,5,4255);Db(296,6,4289);Db(304,7,4320);Db(312,7,4352);return}function Nc(b,d){b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=(a[d>>0]|0)==0;d=ie(64)|0;if(f){Od(e,b);Od(d,e);c[d+40>>2]=0;c[d+44>>2]=0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;c[d+12+12>>2]=0;c[d+12+16>>2]=0;c[d+12+20>>2]=0;c[d+36>>2]=d+40;c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;Wc(d)|0;Ue(e);f=d;l=e;return f|0}else{Od(e+12|0,b);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Od(d+24|0,e+12|0);c[d+40>>2]=0;c[d+44>>2]=0;c[d+36>>2]=d+40;c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;Wc(d)|0;Ue(e+12|0);f=d;l=e;return f|0}return 0}function Oc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(qf(b,c[d+8>>2]|0)|0)){if(!(qf(b,c[d>>2]|0)|0)){h=c[b+8>>2]|0;bc[c[(c[h>>2]|0)+24>>2]&3](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;b=c[b+8>>2]|0;jc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){f=3;h=11}else f=3;else{f=4;h=11}if((h|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1}c[d+44>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else se(d,e,f);while(0);return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=ie(64)|0;Od(g,a);Od(f,g);c[f+40>>2]=0;c[f+44>>2]=0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;c[f+12+12>>2]=0;c[f+12+16>>2]=0;c[f+12+20>>2]=0;c[f+36>>2]=f+40;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;Ue(g);a=c[b>>2]|0;if((c[b+4>>2]|0)==(a|0)){b=Wc(f)|0;l=g;return b|0}e=0;do{a=c[a+(e<<2)>>2]|0;c[g+12>>2]=a;d=c[f+56>>2]|0;if(d>>>0<(c[f+60>>2]|0)>>>0){c[d>>2]=a;c[f+56>>2]=(c[f+56>>2]|0)+4}else bd(f+52|0,g+12|0);e=e+1|0;a=c[b>>2]|0}while(e>>>0<(c[b+4>>2]|0)-a>>2>>>0);b=Wc(f)|0;l=g;return b|0}function Qc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if(qf(b,c[d+8>>2]|0)|0)pd(d,e,f,g);else{i=a[d+52>>0]|0;j=a[d+53>>0]|0;k=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;Ld(b+16|0,d,e,f,g,h);a:do if((k|0)>1){l=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;Ld(l,d,e,f,g,h);l=l+8|0}while(l>>>0<(b+16+(k<<3)|0)>>>0)}while(0);a[d+52>>0]=i;a[d+53>>0]=j}return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[b+4>>2]|0;if(!b){l=0;return l|0}i=a[d+11>>0]|0;j=i<<24>>24<0?c[d+4>>2]|0:i&255;i=i<<24>>24<0?c[d>>2]|0:d;while(1){f=b+16|0;e=a[f+11>>0]|0;g=e<<24>>24<0?c[b+20>>2]|0:e&255;d=g>>>0>>0?g:j;if((d|0)!=0?(l=Rd(i,e<<24>>24<0?c[f>>2]|0:f,d)|0,(l|0)!=0):0)if((l|0)<0)h=7;else h=8;else if(j>>>0>>0)h=7;else h=8;if((h|0)!=7)if((h|0)==8){h=0;d=j>>>0>>0?j:g;if((d|0)!=0?(k=Rd(e<<24>>24<0?c[f>>2]|0:f,i,d)|0,(k|0)!=0):0){if((k|0)>=0){b=1;h=14;break}}else h=10;if((h|0)==10?(0,g>>>0>=j>>>0):0){b=1;h=14;break}b=b+4|0}b=c[b>>2]|0;if(!b){b=0;h=14;break}}if((h|0)==14)return b|0;return 0}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;c[d>>2]=c[c[d>>2]>>2];if(!(re(a,b)|0))if(((b|0)!=0?(f=Vc(b,448)|0,(f|0)!=0):0)?(c[f+8>>2]&~c[a+8>>2]|0)==0:0){a=c[a+12>>2]|0;if(!(qf(a,c[f+12>>2]|0)|0)?!(qf(a,480)|0):0)if((((a|0)!=0?(h=Vc(a,328)|0,(h|0)!=0):0)?(e=c[f+12>>2]|0,(e|0)!=0):0)?(g=Vc(e,328)|0,(g|0)!=0):0){a=i+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[i>>2]=g;c[i+8>>2]=h;c[i+12>>2]=-1;c[i+48>>2]=1;mc[c[(c[g>>2]|0)+28>>2]&7](g,i,c[d>>2]|0,1);if((c[i+24>>2]|0)==1){c[d>>2]=c[i+16>>2];a=1}else a=0}else a=0;else a=1}else a=0;else a=1;l=i;return a|0}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b>>2]|0)+1794895138|0;f=ff(c[b+8>>2]|0,n)|0;l=ff(c[b+12>>2]|0,n)|0;m=ff(c[b+16>>2]|0,n)|0;a:do if((f>>>0>>2>>>0?l>>>0<(d-(f<<2)|0)>>>0&m>>>0<(d-(f<<2)|0)>>>0:0)?((m|l)&3|0)==0:0){k=0;while(1){i=f>>>1;j=k+i|0;g=ff(c[b+((j<<1)+(l>>>2)<<2)>>2]|0,n)|0;h=ff(c[b+((j<<1)+(l>>>2)+1<<2)>>2]|0,n)|0;if(!(h>>>0>>0&g>>>0<(d-h|0)>>>0)){f=0;break a}if(a[b+(h+g)>>0]|0){f=0;break a}g=ae(e,b+h|0)|0;if(!g)break;if((f|0)==1){f=0;break a}else{k=(g|0)<0?k:j;f=(g|0)<0?i:f-i|0}}g=ff(c[b+((j<<1)+(m>>>2)<<2)>>2]|0,n)|0;f=ff(c[b+((j<<1)+(m>>>2)+1<<2)>>2]|0,n)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=Hc(a,h,b)|0;e=c[f>>2]|0;if(e|0){a=e;a=a+28|0;ce(a,d)|0;l=h;return}g=ie(40)|0;Od(g+16|0,b);c[g+28>>2]=0;c[g+28+4>>2]=0;c[g+28+8>>2]=0;e=c[h>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=e;c[f>>2]=g;e=c[c[a>>2]>>2]|0;if(!e)e=g;else{c[a>>2]=e;e=c[f>>2]|0}Dc(c[a+4>>2]|0,e);c[a+8>>2]=(c[a+8>>2]|0)+1;a=g;a=a+28|0;ce(a,d)|0;l=h;return}function Vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+64|0;g=c[d>>2]|0;h=d+(c[g+-8>>2]|0)|0;g=c[g+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=344;e=qf(g,e)|0;d=i+12|0;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(e){c[i+48>>2]=1;jc[c[(c[g>>2]|0)+20>>2]&3](g,i,h,h,1,0);e=(c[i+24>>2]|0)==1?h:0}else{bc[c[(c[g>>2]|0)+24>>2]&3](g,i,h,1,0);switch(c[i+36>>2]|0){case 0:{e=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{e=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){e=0;break}e=c[i+16>>2]|0}while(0);l=i;return e|0}function Wc(a){a=a|0;var b=0,d=0;d=l;l=l+32|0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;Id(d+12|0,1594,3);b=(Rc(a+36|0,d+12|0)|0)==0;Ue(d+12|0);if(b){l=d;return a|0}c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Id(d,1594,3);b=c[(Ic(a+36|0,d+12|0,d)|0)>>2]|0;if(!b){d=ib(8)|0;jf(d);c[d>>2]=1152;Yb(d|0,416,8)}ce(a+12|0,b+28|0)|0;Ue(d);l=d;return a|0}function Xc(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=d;d=(d|0)!=0;f=4;break}}}else{e=d;d=(d|0)!=0;f=4}while(0);b:do if((f|0)==4)if(d){if(a[b>>0]|0){c:do if(e>>>0>3)while(1){d=c[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){f=10;break c}}else f=10;while(0);if((f|0)==10)if(!e){e=0;break}while(1){if(!(a[b>>0]|0))break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}else e=0;while(0);return (e|0?b:0)|0}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;d=c[a+8>>2]|0;if((g|0)!=(d|0)){c[g>>2]=c[b>>2];c[a+4>>2]=g+4;return}h=c[a>>2]|0;if(((g-h>>2)+1|0)>>>0>1073741823)wf();d=d-h>>2>>>0<536870911?(d-h>>1>>>0<((g-h>>2)+1|0)>>>0?(g-h>>2)+1|0:d-h>>1):1073741823;do if(d)if(d>>>0>1073741823){a=ib(4)|0;Pf(a);Yb(a|0,384,6)}else{f=ie(d<<2)|0;break}else f=0;while(0);e=f+(g-h>>2<<2)|0;c[e>>2]=c[b>>2];if((g-h|0)>0)Jc(e+(0-(g-h>>2)<<2)|0,h|0,g-h|0)|0;c[a>>2]=e+(0-(g-h>>2)<<2);c[a+4>>2]=e+4;c[a+8>>2]=f+(d<<2);if(!h)return;ag(h);return}function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=a[b+12+11>>0]|0;if(f<<24>>24<0)j=c[b+16>>2]|0;else j=f&255;i=a[d+12+11>>0]|0;k=i<<24>>24<0?c[d+16>>2]|0:i&255;if(f<<24>>24<0)h=c[b+12>>2]|0;else h=b+12|0;g=k>>>0>>0;f=g?k:j;if(f|0?Rd(h,i<<24>>24<0?c[d+12>>2]|0:d+12|0,f)|0:0){d=0;return d|0}if(!(j>>>0>=k>>>0&(g^1))){d=0;return d|0}f=a[b+11>>0]|0;if(f<<24>>24<0)i=c[b+4>>2]|0;else i=f&255;h=a[d+11>>0]|0;j=h<<24>>24<0?c[d+4>>2]|0:h&255;if(f<<24>>24<0)b=c[b>>2]|0;g=j>>>0>>0;f=g?j:i;if(!((f|0)!=0?(e=Rd(b,h<<24>>24<0?c[d>>2]|0:d,f)|0,(e|0)!=0):0))e=i>>>0>>0?-1:g&1;d=(e|0)==0;return d|0}function _c(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+56>>2]|0;d=c[a+52>>2]|0;if(b-d>>2){e=d;b=b-d>>2;do{b=b+-1|0;_c(c[e+(b<<2)>>2]|0);e=c[a+52>>2]|0}while((b|0)!=0);b=c[a+56>>2]|0;d=e}f=d;e=b+(~((b+-4-f|0)>>>2)<<2)|0;if((b|0)!=(d|0)){c[a+56>>2]=e;b=e}if(d|0){if((b|0)!=(d|0))c[a+56>>2]=b+(~((b+-4-f|0)>>>2)<<2);ag(d)}rd(c[a+40>>2]|0);Ue(a+24|0);Ue(a+12|0);Ue(a);ag(a);return}function $c(){var a=0,b=0,d=0,e=0;e=l;l=l+48|0;a=ue()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=c[d+48>>2]|0;b=c[d+48+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){c[e+24>>2]=7764;Re(7714,e+24|0)}if((a|0)==1126902529&(b|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(qd(320,d,e+36|0)|0){d=c[e+36>>2]|0;d=fc[c[(c[d>>2]|0)+8>>2]&15](d)|0;c[e>>2]=7764;c[e+4>>2]=a;c[e+8>>2]=d;Re(7628,e)}else{c[e+16>>2]=7764;c[e+16+4>>2]=a;Re(7673,e+16|0)}}Re(7752,e+32|0)}function ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!($d(e)|0)){f=c[e+16>>2]|0;g=5}}else g=5;a:do if((g|0)==5){g=c[e+20>>2]|0;if((f-g|0)>>>0>>0){ac[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){f=d;break b}f=h+-1|0;if((a[b+f>>0]|0)==10)break;else h=f}if((ac[c[e+36>>2]&31](e,b,h)|0)>>>0>>0)break a;g=c[e+20>>2]|0;f=d-h|0;b=b+h|0}else f=d;while(0);Jc(g|0,b|0,f|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+f}while(0);return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=(c[a+4>>2]|0)-e|0;if(((h>>2)+1|0)>>>0>1073741823)wf();d=(c[a+8>>2]|0)-e|0;d=d>>2>>>0<536870911?(d>>1>>>0<((h>>2)+1|0)>>>0?(h>>2)+1|0:d>>1):1073741823;do if(d)if(d>>>0>1073741823){a=ib(4)|0;Pf(a);Yb(a|0,384,6)}else{g=ie(d<<2)|0;break}else g=0;while(0);f=g+(h>>2<<2)|0;c[f>>2]=c[b>>2];if((h|0)>0)Jc(f+(0-(h>>2)<<2)|0,e|0,h|0)|0;c[a>>2]=f+(0-(h>>2)<<2);c[a+4>>2]=f+4;c[a+8>>2]=g+(d<<2);if(!e)return;ag(e);return}function cd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=c[b>>2]|0;c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;Id(g+12|0,b+4|0,h);b=c[d>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Id(g,d+4|0,b);a=ic[a&7](g+12|0,g,e,f)|0;Ue(g);Ue(g+12|0);l=g;return a|0}function dd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;a=c[a>>2]|0;g=c[d>>2]|0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;Id(f+12|0,d+4|0,g);d=c[e>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,e+4|0,d);gc[a&3](b,f+12|0,f);Ue(f);Ue(f+12|0);l=f;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=ie(64)|0;Od(d+12|0,a);Od(d,b);Od(e,d+12|0);c[e+12>>2]=0;c[e+12+4>>2]=0;c[e+12+8>>2]=0;Od(e+24|0,d);c[e+40>>2]=0;c[e+44>>2]=0;c[e+36>>2]=e+40;c[e+52>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;b=Wc(e)|0;Ue(d);Ue(d+12|0);l=d;return b|0}function fd(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[2127]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[2260]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[2260]=84;b=-1;break}}else b=1;while(0);return b|0}function gd(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((-18-d|0)>>>0>>0)uf();if((a[b+11>>0]|0)<0)k=c[b>>2]|0;else k=b;if(d>>>0<2147483623){j=(e+d|0)>>>0>>0?d<<1:e+d|0;j=j>>>0<11?11:j+16&-16}else j=-17;e=ie(j)|0;if(h|0)Xe(e,i,h)|0;if(f-g|0)Xe(e+h|0,k+g|0,f-g|0)|0;if((d|0)!=10)ag(k);c[b>>2]=e;c[b+8>>2]=j|-2147483648;c[b+4>>2]=f-g+h;vf(e+(f-g+h)|0,0);return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=c[b>>2]|0;c[f+12>>2]=0;c[f+12+4>>2]=0;c[f+12+8>>2]=0;Id(f+12|0,b+4|0,g);b=c[e>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,e+4|0,b);a=ac[a&31](f+12|0,d,f)|0;Ue(f);Ue(f+12|0);l=f;return a|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=ie(64)|0;Od(d,a);b=c[b>>2]|0;Od(e,d);c[e+40>>2]=0;c[e+44>>2]=0;c[e+12>>2]=0;c[e+12+4>>2]=0;c[e+12+8>>2]=0;c[e+12+12>>2]=0;c[e+12+16>>2]=0;c[e+12+20>>2]=0;c[e+36>>2]=e+40;c[e+52>>2]=0;c[e+56>>2]=0;c[e+60>>2]=0;a=ie(4)|0;c[e+52>>2]=a;c[e+60>>2]=a+4;c[a>>2]=b;c[e+56>>2]=a+4;a=Wc(e)|0;Ue(d);l=d;return a|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+224|0;e=g+80|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g+120>>2]=c[d>>2];if((qc(0,b,g+120|0,g,g+80|0)|0)>=0){d=c[224]|0;if((a[970]|0)<1)c[224]=d&-33;if(!(c[236]|0)){e=c[235]|0;c[235]=g+136;c[231]=g+136;c[229]=g+136;c[236]=80;c[228]=g+136+80;qc(896,b,g+120|0,g,g+80|0)|0;if(e|0){ac[c[932>>2]&31](896,0,0)|0;c[235]=e;c[236]=0;c[228]=0;c[231]=0;c[229]=0}}else qc(896,b,g+120|0,g,g+80|0)|0;c[224]=c[224]|d&32}l=g;return}function kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function ld(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(qf(b,c[d+8>>2]|0)|0)){if(qf(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else se(d,e,f);while(0);return}function md(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(qf(b,c[d+8>>2]|0)|0)){g=c[b+12>>2]|0;Sd(b+16|0,d,e,f);if((g|0)>1){h=b+24|0;do{Sd(h,d,e,f);if(a[d+54>>0]|0)break a;h=h+8|0}while(h>>>0<(b+16+(g<<3)|0)>>>0)}}else Hd(d,e,f);while(0);return}function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b+11>>0]|0;if(f<<24>>24<0)g=(c[b+8>>2]&2147483647)+-1|0;else g=10;do if(g>>>0>=e>>>0){if(f<<24>>24<0)f=c[b>>2]|0;else f=b;We(f,d,e)|0;vf(f+e|0,0);if((a[b+11>>0]|0)<0){c[b+4>>2]=e;break}else{a[b+11>>0]=e;break}}else{if(f<<24>>24<0)f=c[b+4>>2]|0;else f=f&255;gd(b,g,e-g|0,f,f,e,d)}while(0);return b|0}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=c[b>>2]|0;c[e+12>>2]=0;c[e+12+4>>2]=0;c[e+12+8>>2]=0;Id(e+12|0,b+4|0,f);b=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Id(e,d+4|0,b);a=kc[a&15](e+12|0,e)|0;Ue(e);Ue(e+12|0);l=e;return a|0}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+64|0;if(!(qf(a,b)|0))if((b|0)!=0?(f=Vc(b,328)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;mc[c[(c[f>>2]|0)+28>>2]&7](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;l=g;return b|0}function rd(a){a=a|0;if(!a)return;else{rd(c[a>>2]|0);rd(c[a+4>>2]|0);Ue(a+28|0);Ue(a+16|0);ag(a);return}}function sd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=ie(64)|0;Od(b,a);Od(d,b);c[d+40>>2]=0;c[d+44>>2]=0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;c[d+12+12>>2]=0;c[d+12+16>>2]=0;c[d+12+20>>2]=0;c[d+36>>2]=d+40;c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;a=Wc(d)|0;Ue(b);l=b;return a|0}function td(a){a=a|0;if(!a)return;else{td(c[a>>2]|0);td(c[a+4>>2]|0);Ue(a+16|0);ag(a);return}}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;a=c[a>>2]|0;f=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Id(e,d+4|0,f);b=kc[a&15](b,e)|0;Ob(b|0);Ta(b|0);Ue(e);l=e;return b|0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=c[b>>2]|0;c[f+4>>2]=0;c[f+4+4>>2]=0;c[f+4+8>>2]=0;Id(f+4|0,b+4|0,g);c[f>>2]=e;a=ac[a&31](f+4|0,d,f)|0;Ue(f+4|0);l=f;return a|0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=c[b>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,b+4|0,g);a=ac[a&31](f,d,e)|0;Ue(f);l=f;return a|0}function xd(b){b=b|0;var d=0,e=0,f=0;a:do if(!(b&3)){d=b;f=4}else{d=b;e=b;while(1){if(!(a[e>>0]|0))break a;e=e+1|0;d=e;if(!(d&3)){d=e;f=4;break}}}while(0);if((f|0)==4){while(1){e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))d=d+4|0;else break}if((e&255)<<24>>24)do d=d+1|0;while((a[d>>0]|0)!=0)}return d-b|0}function yd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=Fe(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+yd(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=c[b>>2]|0;c[e+4>>2]=0;c[e+4+4>>2]=0;c[e+4+8>>2]=0;Id(e+4|0,b+4|0,f);c[e>>2]=d;a=kc[a&15](e+4|0,e)|0;Ue(e+4|0);l=e;return a|0}function Ad(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[5408+f>>0]|0)==(b|0)){g=2;break}f=f+1|0;if((f|0)==87){f=87;b=5496;g=5;break}}if((g|0)==2)if(!f)f=5496;else{b=5496;g=5}if((g|0)==5)while(1){do{g=b;b=b+1|0}while((a[g>>0]|0)!=0);f=f+-1|0;if(!f){f=b;break}else g=5}return Lf(f,c[e+20>>2]|0)|0}function Bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=c[d>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Id(f,d+4|0,g);a[f+12>>0]=e&1;b=kc[b&15](f,f+12|0)|0;Ue(f);l=f;return b|0}function Cd(){var b=0,e=0,f=0;f=l;l=l+16|0;a[f>>0]=10;b=c[228]|0;if(!b)if(!($d(896)|0)){b=c[228]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[229]|0;if(!(e>>>0>=b>>>0|(a[971]|0)==10)){c[229]=e+1;a[e>>0]=10;b=10;break}if((ac[c[932>>2]&31](896,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);l=f;return b|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=c[b>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Id(e,b+4|0,f);a=kc[a&15](e,d)|0;Ue(e);l=e;return a|0}function Ed(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;if(e<<24>>24<0)f=c[b+4>>2]|0;else f=e&255;if((d|0)==-1)tf();if(e<<24>>24<0)e=c[b>>2]|0;else e=b;b=f>>>0>d>>>0;e=Te(e,b?d:f)|0;if(!e)return (f>>>0>>0?-1:b&1)|0;else return e|0;return 0}function Fd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=te(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=gf(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=c[b>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Id(d,b+4|0,e);a=fc[a&15](d)|0;Ue(d);l=d;return a|0}function Hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function Id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(e>>>0>4294967279)uf();if(e>>>0<11)a[b+11>>0]=e;else{f=ie(e+16&-16)|0;c[b>>2]=f;c[b+8>>2]=e+16&-16|-2147483648;c[b+4>>2]=e;b=f}Xe(b,d,e)|0;vf(b+e|0,0);return}function Jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=l;l=l+256|0;if((c|0)>(d|0)&(e&73728|0)==0){kd(f|0,b|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{cf(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;cf(a,f,b)}l=f;return}function Kd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(qf(a,c[b+8>>2]|0)|0)pd(b,d,e,f);else{a=c[a+8>>2]|0;jc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Ld(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if(!(h&1))i=h>>8;else i=c[(c[e>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;jc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+i|0,h&2|0?f:2,g);return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=c[a>>2]|0;a=c[a+4>>2]|0;if(a&1)f=c[(c[b+(a>>1)>>2]|0)+f>>2]|0;c[g>>2]=e;gc[f&3](b+(a>>1)|0,d,g);l=g;return}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(qf(a,c[b+8>>2]|0)|0)Hd(b,d,e);else{a=c[a+8>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function Od(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)Id(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function Pd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+4>>2]|0;if(!(g&1))h=g>>8;else h=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;bc[c[(c[a>>2]|0)+24>>2]&3](a,b,d+h|0,g&2|0?e:2,f);return}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=c[a>>2]|0;a=c[a+4>>2]|0;if(a&1)e=c[(c[b+(a>>1)>>2]|0)+e>>2]|0;c[f>>2]=d;ec[e&3](b+(a>>1)|0,f);l=f;return}function Rd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function Sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+4>>2]|0;if(!(f&1))g=f>>8;else g=c[(c[d>>2]|0)+(f>>8)>>2]|0;a=c[a>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+g|0,f&2|0?e:2);return}function Td(a,b){a=a|0;b=b|0;var d=0;if(Zc(a,b)|0){oc(a,b);return b|0}d=ua(15,c[a+48>>2]|0)|0;Bc(b)|0;if(!d)return b|0;Wb(9,d|0,c[b+48>>2]|0,c[a+48>>2]|0)|0;ua(12,c[a+48>>2]|0)|0;return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;a=c[a+4>>2]|0;if(!(a&1)){b=fc[d&15](b+(a>>1)|0)|0;return b|0}else{d=c[(c[b+(a>>1)>>2]|0)+d>>2]|0;b=fc[d&15](b+(a>>1)|0)|0;return b|0}return 0}function Vd(){var b=0,d=0,e=0;e=(a[971]|0)==10;do if((c[243]|0)<0){if(!e?(b=c[229]|0,b>>>0<(c[228]|0)>>>0):0){c[229]=b+1;a[b>>0]=10;break}Cd()|0}else{if(!e?(d=c[229]|0,d>>>0<(c[228]|0)>>>0):0){c[229]=d+1;a[d>>0]=10;break}Cd()|0}while(0);return}function Wd(a){a=a|0;if(!a)return;rd(c[a+4>>2]|0);ag(a);return}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((nf(Ia(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;l=e;return a|0}function Yd(b){b=b|0;var d=0,e=0,f=0,g=0;d=ie(36)|0;c[d>>2]=23;c[d+4>>2]=23;c[d+8>>2]=0;d=zf(d)|0;e=d;f=3680;g=e+24|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));c[b>>2]=d;return}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=c[a>>2]|0;if((c[a+4>>2]|0)-d>>2>>>0<=b>>>0){a=1;l=e;return a|0}c[e>>2]=c[d+(b<<2)>>2];a=jb(552,e|0)|0;l=e;return a|0}function _d(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Oa(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Oa(12);c[i>>2]=b;return -1}return b|0}function $d(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function ae(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function be(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(qf(a,c[b+8>>2]|0)|0)pd(b,d,e,f);return}function ce(b,d){b=b|0;d=d|0;var e=0;if((b|0)!=(d|0)){e=a[d+11>>0]|0;nd(b,e<<24>>24<0?c[d>>2]|0:d,e<<24>>24<0?c[d+4>>2]|0:e&255)|0}return b|0}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;a=c[a>>2]|0;c[f>>2]=e;b=ac[a&31](b,d,f)|0;l=f;return b|0}function ee(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Jc(b,c,d)|0;return b|0}function fe(b){b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;e=(a[d>>0]|0)+-48|0;if(e>>>0<10){f=d;d=0;do{d=(d*10|0)+e|0;f=f+1|0;c[b>>2]=f;e=(a[f>>0]|0)+-48|0}while(e>>>0<10)}else d=0;return d|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(qf(a,c[b+8>>2]|0)|0)Hd(b,d,e);return}function he(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;if(b|0){d=c[a+4>>2]|0;if((d|0)!=(b|0))c[a+4>>2]=d+(~((d+-4-b|0)>>>2)<<2);ag(b)}ag(a);return}function ie(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=nc(b)|0;a:do if(!a)do{a=yf()|0;if(!a){a=0;break a}hc[a&3]();a=nc(b)|0}while(!(a|0));while(0);return a|0}function je(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[5392+(b&15)>>0]|0|f;b=Fe(b|0,c|0,4)|0;c=D}while(!((b|0)==0&(c|0)==0));return e|0}function ke(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function le(){var a=0,b=0;b=ue()|0;if((b|0?(a=c[b>>2]|0,a|0):0)?((c[a+48>>2]&-256|0)==1126902528?(c[a+48+4>>2]|0)==1129074247:0):0)Ze(c[a+12>>2]|0);Ze(Af()|0)}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=c[d>>2];a=ac[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=e;return a&1|0}function ne(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Fe(b|0,c|0,3)|0;c=D}while(!((b|0)==0&(c|0)==0));return d|0}function oe(){var a=0;a=ie(12)|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=a+4;return a|0}function pe(a,b,d){a=a|0;b=b|0;d=d|0;b=kc[c[a>>2]&15](b,d)|0;Ob(b|0);Ta(b|0);return b|0}function qe(a){a=a|0;var b=0,d=0;d=Mf(c[a>>2]|0)|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)ag((c[a>>2]|0)+-12|0);return}function re(a,b){a=a|0;b=b|0;if(qf(a,b)|0)a=1;else a=qf(b,488)|0;return a|0}function se(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;uc(a,b,d,e,f|0)|0;l=f;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function ue(){var a=0,b=0;a=l;l=l+16|0;if(!(Ua(9028,2)|0)){b=lb(c[2258]|0)|0;l=a;return b|0}else Re(7903,a);return 0}function ve(a){a=a|0;var b=0;b=l;l=l+16|0;rc(a);if(!(Vb(c[2258]|0,0)|0)){l=b;return}else Re(8002,b)}function we(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;a=fc[a&15](d)|0;l=d;return a|0}function xe(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=cg(c[a+60>>2]|0)|0;a=nf(_a(6,b|0)|0)|0;l=b;return a|0}function ye(a){a=a|0;return Ed(a,Yf()|0)|0}function ze(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;dc[a&31](d);l=d;return}function Ae(){var a=0;a=l;l=l+16|0;if(!(rb(9032,17)|0)){l=a;return}else Re(7952,a)}function Be(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;jc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;c[(c[a>>2]|0)+(b<<2)>>2]=c[d>>2];return 1}function De(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return a|0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ge(){}function He(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function Ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return lc[a&1](b|0,c|0,d|0,e|0,f|0)|0}function Je(a){a=a|0;var b=0,c=0;c=(xd(a)|0)+1|0;b=nc(c)|0;if(!b)b=0;else Jc(b|0,a|0,c|0)|0;return b|0}function Ke(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Tc(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Le(a,b,c){a=a|0;b=b|0;c=c|0;return qf(a,b)|0}function Me(a){a=a|0;return 8}function Ne(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;bc[a&3](b|0,c|0,d|0,e|0,f|0)}function Oe(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function Pe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ic[a&7](b|0,c|0,d|0,e|0)|0}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (D=b+d+(a+c>>>0>>>0>>0|0)>>>0,a+c>>>0|0)|0}function Re(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;jd(a,d);Vd();yb()}function Se(a){a=a|0;return c[a+8>>2]|0}function Te(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Rd(a,8333,b)|0;return b|0}function Ue(b){b=b|0;if((a[b+11>>0]|0)<0)ag(c[b>>2]|0);return}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;mc[a&7](b|0,c|0,d|0,e|0)}function We(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ee(a|0,b|0,c|0)|0;return a|0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Jc(a|0,b|0,c|0)|0;return a|0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;return kc[a&15](b,c)|0}function Ze(a){a=a|0;var b=0;b=l;l=l+16|0;hc[a&3]();Re(8055,b)}function _e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ac[a&31](b|0,c|0,d|0)|0}function $e(a){a=a|0;if(!a)a=0;else a=(Vc(a,448)|0)!=0;return a&1|0}function af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;gc[a&3](b|0,c|0,d|0)}function bf(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ad(b,d,a);return}function df(a,b){a=a|0;b=b|0;if(!a)a=0;else a=fd(a,b)|0;return a|0}function ef(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>2|0}function ff(a,b){a=a|0;b=b|0;var c=0;c=kf(a|0)|0;return ((b|0)==0?a:c)|0}function gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uc(a,b,c,d,0)|0}function hf(a){a=a|0;c[a>>2]=1132;qe(a+4|0);return}function jf(a){a=a|0;c[a>>2]=1132;Yd(a+4|0);return}function kf(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function lf(a,b,c){a=a|0;b=b|0;c=c|0;return kc[a&15](b|0,c|0)|0}function mf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(9)}function nf(a){a=a|0;if(a>>>0>4294963200){c[2260]=0-a;a=-1}return a|0}function of(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(11);return 0}function pf(a){a=a|0;return 120}function qf(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function rf(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function sf(a,b,c){a=a|0;b=b|0;c=c|0;ec[a&3](b|0,c|0)}function tf(){ra(7578,7460,1194,7607)}function uf(){ra(7431,7460,1183,7557)}function vf(b,c){b=b|0;c=c|0;a[b>>0]=c;return}function wf(){ra(7311,7334,304,7557)}function xf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(1)}function yf(){var a=0;a=c[2259]|0;c[2259]=a+0;return a|0}function zf(a){a=a|0;return a+12|0}function Af(){var a=0;a=c[255]|0;c[255]=a+0;return a|0}function Bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(8);return 0}function Cf(a){a=a|0;_c(c[a>>2]|0);return}function Df(a){a=a|0;wa(a|0)|0;le()}function Ef(a,b){a=a|0;b=b|0;return fc[a&15](b|0)|0}function Ff(a){a=a|0;hf(a);ag(a);return}function Gf(a){a=a|0;return cg(c[a+4>>2]|0)|0}function Hf(a,b){a=a|0;b=b|0;l=a;m=b}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(12)}function Jf(a){a=a|0;return c[(c[a>>2]|0)+48>>2]|0}function Kf(a,b){a=a|0;b=b|0;dc[a&31](b|0)}function Lf(a,b){a=a|0;b=b|0;return Ke(a,b)|0}function Mf(a){a=a|0;return a+-4|0}function Nf(a){a=a|0;return Je(c[a+4>>2]|0)|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;W(0);return 0}function Pf(a){a=a|0;c[a>>2]=1112;return}function Qf(a,b){a=+a;b=b|0;return +(+yd(a,b))}function Rf(a){a=a|0;return cc[a&3]()|0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;W(6)}function Tf(a){a=a|0;return Ad(a,8508)|0}function Uf(a,b){a=a|0;b=b|0;W(10);return 0}function Vf(a){a=a|0;ag(a);return}function Wf(a){a=a|0;hc[a&3]()}function Xf(a){a=a|0;return 8095}function Yf(){return 1}function Zf(a,b){a=a|0;b=b|0;W(4)}function _f(a){a=a|0;return}function $f(a){a=a|0;l=a}function ag(a){a=a|0;rc(a);return}function bg(a){a=a|0;D=a}function cg(a){a=a|0;return a|0}function dg(){return 8468}function eg(a){a=a|0;W(5);return 0}function fg(){return D|0}function gg(){return l|0}function hg(a){a=a|0;W(3)}function ig(){W(2);return 0}function jg(){W(7)} +function nc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;do if(a>>>0<245){r=a>>>0<11?16:a+11&-8;o=c[2133]|0;if(o>>>(r>>>3)&3|0){d=8572+((o>>>(r>>>3)&1^1)+(r>>>3)<<1<<2)|0;a=c[d+8>>2]|0;b=c[a+8>>2]|0;do if((d|0)!=(b|0)){if(b>>>0<(c[2137]|0)>>>0)yb();if((c[b+12>>2]|0)==(a|0)){c[b+12>>2]=d;c[d+8>>2]=b;break}else yb()}else c[2133]=o&~(1<<(o>>>(r>>>3)&1^1)+(r>>>3));while(0);G=(o>>>(r>>>3)&1^1)+(r>>>3)<<3;c[a+4>>2]=G|3;c[a+G+4>>2]=c[a+G+4>>2]|1;G=a+8|0;l=H;return G|0}p=c[2135]|0;if(r>>>0>p>>>0){if(o>>>(r>>>3)|0){a=o>>>(r>>>3)<<(r>>>3)&(2<<(r>>>3)|0-(2<<(r>>>3)));d=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);e=d>>>(d>>>5&8)>>>(d>>>(d>>>5&8)>>>2&4);e=(d>>>5&8|((a&0-a)+-1|0)>>>12&16|d>>>(d>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))|0;d=c[8572+(e<<1<<2)+8>>2]|0;a=c[d+8>>2]|0;do if((8572+(e<<1<<2)|0)!=(a|0)){if(a>>>0<(c[2137]|0)>>>0)yb();if((c[a+12>>2]|0)==(d|0)){c[a+12>>2]=8572+(e<<1<<2);c[8572+(e<<1<<2)+8>>2]=a;f=o;break}else yb()}else{c[2133]=o&~(1<>2]=r|3;c[d+r+4>>2]=(e<<3)-r|1;c[d+r+((e<<3)-r)>>2]=(e<<3)-r;if(p|0){b=c[2138]|0;if(f&1<<(p>>>3)){a=c[8572+(p>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{h=8572+(p>>>3<<1<<2)+8|0;i=a}}else{c[2133]=f|1<<(p>>>3);h=8572+(p>>>3<<1<<2)+8|0;i=8572+(p>>>3<<1<<2)|0}c[h>>2]=b;c[i+12>>2]=b;c[b+8>>2]=i;c[b+12>>2]=8572+(p>>>3<<1<<2)}c[2135]=(e<<3)-r;c[2138]=d+r;G=d+8|0;l=H;return G|0}k=c[2134]|0;if(k){b=((k&0-k)+-1|0)>>>(((k&0-k)+-1|0)>>>12&16);d=b>>>(b>>>5&8)>>>(b>>>(b>>>5&8)>>>2&4);d=c[8836+((b>>>5&8|((k&0-k)+-1|0)>>>12&16|b>>>(b>>>5&8)>>>2&4|d>>>1&2|d>>>(d>>>1&2)>>>1&1)+(d>>>(d>>>1&2)>>>(d>>>(d>>>1&2)>>>1&1))<<2)>>2]|0;b=(c[d+4>>2]&-8)-r|0;a=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a)j=b;else{do{F=(c[a+4>>2]&-8)-r|0;G=F>>>0>>0;b=G?F:b;d=G?a:d;a=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=b}g=c[2137]|0;if(d>>>0>>0)yb();i=d+r|0;if(d>>>0>=i>>>0)yb();h=c[d+24>>2]|0;a=c[d+12>>2]|0;do if((a|0)==(d|0)){b=d+20|0;a=c[b>>2]|0;if(!a){b=d+16|0;a=c[b>>2]|0;if(!a){m=0;break}}while(1){f=a+20|0;e=c[f>>2]|0;if(e|0){a=e;b=f;continue}f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;b=f}}if(b>>>0>>0)yb();else{c[b>>2]=0;m=a;break}}else{b=c[d+8>>2]|0;if(b>>>0>>0)yb();if((c[b+12>>2]|0)!=(d|0))yb();if((c[a+8>>2]|0)==(d|0)){c[b+12>>2]=a;c[a+8>>2]=b;m=a;break}else yb()}while(0);a:do if(h|0){a=c[d+28>>2]|0;b=(m|0)==0;do if((d|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=m;if(b){c[2134]=k&~(1<>>0>=(c[2137]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(d|0)&1)<<2)>>2]=m;if(b)break a;else break}else yb();while(0);b=c[2137]|0;if(m>>>0>>0)yb();c[m+24>>2]=h;a=c[d+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[m+16>>2]=a;c[a+24>>2]=m;break}while(0);a=c[d+20>>2]|0;if(a|0)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}while(0);if(j>>>0<16){G=j+r|0;c[d+4>>2]=G|3;G=d+G+4|0;c[G>>2]=c[G>>2]|1}else{c[d+4>>2]=r|3;c[i+4>>2]=j|1;c[i+j>>2]=j;if(p|0){b=c[2138]|0;if(1<<(p>>>3)&o){a=c[8572+(p>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{n=8572+(p>>>3<<1<<2)+8|0;q=a}}else{c[2133]=1<<(p>>>3)|o;n=8572+(p>>>3<<1<<2)+8|0;q=8572+(p>>>3<<1<<2)|0}c[n>>2]=b;c[q+12>>2]=b;c[b+8>>2]=q;c[b+12>>2]=8572+(p>>>3<<1<<2)}c[2135]=j;c[2138]=i}G=d+8|0;l=H;return G|0}}}else if(a>>>0<=4294967231){r=a+11&-8;k=c[2134]|0;if(k){if((a+11|0)>>>8)if(r>>>0>16777215)j=31;else{j=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);j=14-((j+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)+(j<<((j+520192|0)>>>16&4)<<(((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;j=r>>>(j+7|0)&1|j<<1}else j=0;a=c[8836+(j<<2)>>2]|0;b:do if(!a){d=0-r|0;a=0;b=0;z=81}else{h=0-r|0;f=0;i=r<<((j|0)==31?0:25-(j>>>1)|0);b=0;while(1){d=(c[a+4>>2]&-8)-r|0;if(d>>>0>>0)if(!d){d=0;e=a;b=a;z=85;break b}else b=a;else d=h;e=c[a+20>>2]|0;a=c[a+16+(i>>>31<<2)>>2]|0;f=(e|0)==0|(e|0)==(a|0)?f:e;e=(a|0)==0;if(e){a=f;z=81;break}else{h=d;i=i<<((e^1)&1)}}}while(0);if((z|0)==81){if((a|0)==0&(b|0)==0){a=2<>>(q>>>12&16)>>>(q>>>(q>>>12&16)>>>5&8);a=b>>>(b>>>2&4)>>>(b>>>(b>>>2&4)>>>1&2);a=c[8836+((q>>>(q>>>12&16)>>>5&8|q>>>12&16|b>>>2&4|b>>>(b>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0;b=0}if(!a){i=d;j=b}else{e=a;z=85}}if((z|0)==85)while(1){z=0;a=(c[e+4>>2]&-8)-r|0;q=a>>>0>>0;a=q?a:d;b=q?e:b;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=a;j=b;break}else{d=a;z=85}}if((j|0)!=0?i>>>0<((c[2135]|0)-r|0)>>>0:0){f=c[2137]|0;if(j>>>0>>0)yb();h=j+r|0;if(j>>>0>=h>>>0)yb();g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){o=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(d|0){a=d;b=e;continue}e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}if(b>>>0>>0)yb();else{c[b>>2]=0;o=a;break}}else{b=c[j+8>>2]|0;if(b>>>0>>0)yb();if((c[b+12>>2]|0)!=(j|0))yb();if((c[a+8>>2]|0)==(j|0)){c[b+12>>2]=a;c[a+8>>2]=b;o=a;break}else yb()}while(0);c:do if(g){a=c[j+28>>2]|0;b=(o|0)==0;do if((j|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=o;if(b){c[2134]=k&~(1<>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=o;if(b){v=k;break c}else break}else yb();while(0);b=c[2137]|0;if(o>>>0>>0)yb();c[o+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[o+16>>2]=a;c[a+24>>2]=o;break}while(0);a=c[j+20>>2]|0;if(a)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[o+20>>2]=a;c[a+24>>2]=o;v=k;break}else v=k}else v=k;while(0);do if(i>>>0>=16){c[j+4>>2]=r|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){a=c[2133]|0;if(a&1<>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{p=8572+(b<<1<<2)+8|0;u=a}}else{c[2133]=a|1<>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=8572+(b<<1<<2);break}a=i>>>8;if(a)if(i>>>0>16777215)a=31;else{G=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);a=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(G+245760|0)>>>16&2)+(G<<((G+245760|0)>>>16&2)>>>15)|0;a=i>>>(a+7|0)&1|a<<1}else a=0;d=8836+(a<<2)|0;c[h+28>>2]=a;c[h+16+4>>2]=0;c[h+16>>2]=0;b=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=i<<((a|0)==31?0:25-(a>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){z=139;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=136;break}else{b=b<<1;e=a}}if((z|0)==136)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((z|0)==139){b=e+8|0;a=c[b>>2]|0;G=c[2137]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else yb()}}else{G=i+r|0;c[j+4>>2]=G|3;G=j+G+4|0;c[G>>2]=c[G>>2]|1}while(0);G=j+8|0;l=H;return G|0}}}else r=-1;while(0);d=c[2135]|0;if(d>>>0>=r>>>0){b=d-r|0;a=c[2138]|0;if(b>>>0>15){G=a+r|0;c[2138]=G;c[2135]=b;c[G+4>>2]=b|1;c[G+b>>2]=b;c[a+4>>2]=r|3}else{c[2135]=0;c[2138]=0;c[a+4>>2]=d|3;c[a+d+4>>2]=c[a+d+4>>2]|1}G=a+8|0;l=H;return G|0}f=c[2136]|0;if(f>>>0>r>>>0){E=f-r|0;c[2136]=E;G=c[2139]|0;F=G+r|0;c[2139]=F;c[F+4>>2]=E|1;c[G+4>>2]=r|3;G=G+8|0;l=H;return G|0}if(!(c[2251]|0)){c[2253]=4096;c[2252]=4096;c[2254]=-1;c[2255]=-1;c[2256]=0;c[2244]=0;c[H>>2]=H&-16^1431655768;c[2251]=H&-16^1431655768;a=4096}else a=c[2253]|0;h=r+48|0;i=r+47|0;k=a+i|0;j=0-a|0;if((k&j)>>>0<=r>>>0){G=0;l=H;return G|0}a=c[2243]|0;if(a|0?(v=c[2241]|0,(v+(k&j)|0)>>>0<=v>>>0?1:(v+(k&j)|0)>>>0>a>>>0):0){G=0;l=H;return G|0}d:do if(!(c[2244]&4)){b=c[2139]|0;e:do if(b){d=8980;while(1){a=c[d>>2]|0;if(a>>>0<=b>>>0?(t=d+4|0,(a+(c[t>>2]|0)|0)>>>0>b>>>0):0)break;a=c[d+8>>2]|0;if(!a){z=163;break e}else d=a}if((k-f&j)>>>0<2147483647){a=_d(k-f&j|0)|0;if((a|0)==((c[d>>2]|0)+(c[t>>2]|0)|0))if((a|0)==(-1|0))a=k-f&j;else{h=a;g=k-f&j;z=180;break d}else{e=a;d=k-f&j;z=171}}else a=0}else z=163;while(0);do if((z|0)==163){b=_d(0)|0;if((b|0)!=(-1|0)?(g=c[2252]|0,g=((g+-1&b|0)==0?0:(g+-1+b&0-g)-b|0)+(k&j)|0,s=c[2241]|0,g>>>0>r>>>0&g>>>0<2147483647):0){v=c[2243]|0;if(v|0?(g+s|0)>>>0<=s>>>0|(g+s|0)>>>0>v>>>0:0){a=0;break}a=_d(g|0)|0;if((a|0)==(b|0)){h=b;z=180;break d}else{e=a;d=g;z=171}}else a=0}while(0);do if((z|0)==171){b=0-d|0;if(!(h>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=e;g=d;z=180;break d}a=c[2253]|0;a=i-d+a&0-a;if(a>>>0>=2147483647){h=e;g=d;z=180;break d}if((_d(a|0)|0)==(-1|0)){_d(b|0)|0;a=0;break}else{h=e;g=a+d|0;z=180;break d}}while(0);c[2244]=c[2244]|4;z=178}else{a=0;z=178}while(0);if(((z|0)==178?(k&j)>>>0<2147483647:0)?(w=_d(k&j|0)|0,x=_d(0)|0,y=(x-w|0)>>>0>(r+40|0)>>>0,!((w|0)==(-1|0)|y^1|w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))^1)):0){h=w;g=y?x-w|0:a;z=180}if((z|0)==180){a=(c[2241]|0)+g|0;c[2241]=a;if(a>>>0>(c[2242]|0)>>>0)c[2242]=a;k=c[2139]|0;do if(k){f=8980;while(1){a=c[f>>2]|0;e=f+4|0;b=c[e>>2]|0;if((h|0)==(a+b|0)){z=190;break}d=c[f+8>>2]|0;if(!d)break;else f=d}if(((z|0)==190?(c[f+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[e>>2]=b+g;F=(k+8&7|0)==0?0:0-(k+8)&7;G=(c[2136]|0)+(g-F)|0;c[2139]=k+F;c[2136]=G;c[k+F+4>>2]=G|1;c[k+F+G+4>>2]=40;c[2140]=c[2255];break}a=c[2137]|0;if(h>>>0>>0){c[2137]=h;j=h}else j=a;d=h+g|0;b=8980;while(1){if((c[b>>2]|0)==(d|0)){z=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((z|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=h;n=b+4|0;c[n>>2]=(c[n>>2]|0)+g;n=h+8|0;n=h+((n&7|0)==0?0:0-n&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;m=n+r|0;i=a-n-r|0;c[n+4>>2]=r|3;do if((a|0)!=(k|0)){if((a|0)==(c[2138]|0)){G=(c[2135]|0)+i|0;c[2135]=G;c[2138]=m;c[m+4>>2]=G|1;c[m+G>>2]=G;break}h=c[a+4>>2]|0;if((h&3|0)==1){f:do if(h>>>0>=256){g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){E=0;break}else f=a+16|0}else f=a+16+4|0;while(1){e=b+20|0;d=c[e>>2]|0;if(d|0){b=d;f=e;continue}e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;f=e}}if(f>>>0>>0)yb();else{c[f>>2]=0;E=b;break}}else{d=c[a+8>>2]|0;if(d>>>0>>0)yb();if((c[d+12>>2]|0)!=(a|0))yb();if((c[b+8>>2]|0)==(a|0)){c[d+12>>2]=b;c[b+8>>2]=d;E=b;break}else yb()}while(0);if(!g)break;b=c[a+28>>2]|0;d=(E|0)==0;do if((a|0)!=(c[8836+(b<<2)>>2]|0))if(g>>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(a|0)&1)<<2)>>2]=E;if(d)break f;else break}else yb();else{c[8836+(b<<2)>>2]=E;if(!d)break;c[2134]=c[2134]&~(1<>>0>>0)yb();c[E+24>>2]=g;b=c[a+16>>2]|0;do if(b|0)if(b>>>0>>0)yb();else{c[E+16>>2]=b;c[b+24>>2]=E;break}while(0);b=c[a+16+4>>2]|0;if(!b)break;if(b>>>0<(c[2137]|0)>>>0)yb();else{c[E+20>>2]=b;c[b+24>>2]=E;break}}else{b=c[a+8>>2]|0;d=c[a+12>>2]|0;do if((b|0)!=(8572+(h>>>3<<1<<2)|0)){if(b>>>0>>0)yb();if((c[b+12>>2]|0)==(a|0))break;yb()}while(0);if((d|0)==(b|0)){c[2133]=c[2133]&~(1<<(h>>>3));break}do if((d|0)==(8572+(h>>>3<<1<<2)|0))D=d+8|0;else{if(d>>>0>>0)yb();if((c[d+8>>2]|0)==(a|0)){D=d+8|0;break}yb()}while(0);c[b+12>>2]=d;c[D>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;b=a+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){a=c[2133]|0;do if(!(a&1<>2]|0;if(a>>>0>=(c[2137]|0)>>>0){F=8572+(b<<1<<2)+8|0;G=a;break}yb()}while(0);c[F>>2]=m;c[G+12>>2]=m;c[m+8>>2]=G;c[m+12>>2]=8572+(b<<1<<2);break}a=f>>>8;do if(!a)b=0;else{if(f>>>0>16777215){b=31;break}b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=8836+(b<<2)|0;c[m+28>>2]=b;c[m+16+4>>2]=0;c[m+16>>2]=0;a=c[2134]|0;d=1<>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}b=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){z=265;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=262;break}else{b=b<<1;e=a}}if((z|0)==262)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((z|0)==265){b=e+8|0;a=c[b>>2]|0;G=c[2137]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else yb()}}else{G=(c[2136]|0)+i|0;c[2136]=G;c[2139]=m;c[m+4>>2]=G|1}while(0);G=n+8|0;l=H;return G|0}b=8980;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(A=a+(c[b+4>>2]|0)|0,A>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=A+-47+((A+-47+8&7|0)==0?0:0-(A+-47+8)&7)|0;f=f>>>0<(k+16|0)>>>0?k:f;a=h+8|0;a=(a&7|0)==0?0:0-a&7;G=h+a|0;a=g+-40-a|0;c[2139]=G;c[2136]=a;c[G+4>>2]=a|1;c[G+a+4>>2]=40;c[2140]=c[2255];c[f+4>>2]=27;c[f+8>>2]=c[2245];c[f+8+4>>2]=c[2246];c[f+8+8>>2]=c[2247];c[f+8+12>>2]=c[2248];c[2245]=h;c[2246]=g;c[2248]=0;c[2247]=f+8;a=f+24|0;do{G=a;a=a+4|0;c[a>>2]=7}while((G+8|0)>>>0>>0);if((f|0)!=(k|0)){c[f+4>>2]=c[f+4>>2]&-2;c[k+4>>2]=f-k|1;c[f>>2]=f-k;if((f-k|0)>>>0<256){b=8572+((f-k|0)>>>3<<1<<2)|0;a=c[2133]|0;if(a&1<<((f-k|0)>>>3)){a=c[b+8>>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{B=b+8|0;C=a}}else{c[2133]=a|1<<((f-k|0)>>>3);B=b+8|0;C=b}c[B>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=b;break}if((f-k|0)>>>8)if((f-k|0)>>>0>16777215)b=31;else{b=(f-k|0)>>>8<<((((f-k|0)>>>8)+1048320|0)>>>16&8);b=14-((b+520192|0)>>>16&4|(((f-k|0)>>>8)+1048320|0)>>>16&8|((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)+(b<<((b+520192|0)>>>16&4)<<(((b<<((b+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;b=(f-k|0)>>>(b+7|0)&1|b<<1}else b=0;e=8836+(b<<2)|0;c[k+28>>2]=b;c[k+20>>2]=0;c[k+16>>2]=0;a=c[2134]|0;d=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}b=f-k<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f-k|0)){z=292;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){z=289;break}else{b=b<<1;e=a}}if((z|0)==289)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((z|0)==292){b=e+8|0;a=c[b>>2]|0;G=c[2137]|0;if(a>>>0>=G>>>0&e>>>0>=G>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else yb()}}}else{G=c[2137]|0;if((G|0)==0|h>>>0>>0)c[2137]=h;c[2245]=h;c[2246]=g;c[2248]=0;c[2142]=c[2251];c[2141]=-1;a=0;do{G=8572+(a<<1<<2)|0;c[G+12>>2]=G;c[G+8>>2]=G;a=a+1|0}while((a|0)!=32);G=h+8|0;G=(G&7|0)==0?0:0-G&7;F=h+G|0;G=g+-40-G|0;c[2139]=F;c[2136]=G;c[F+4>>2]=G|1;c[F+G+4>>2]=40;c[2140]=c[2255]}while(0);a=c[2136]|0;if(a>>>0>r>>>0){E=a-r|0;c[2136]=E;G=c[2139]|0;F=G+r|0;c[2139]=F;c[F+4>>2]=E|1;c[G+4>>2]=r|3;G=G+8|0;l=H;return G|0}}c[2260]=12;G=0;l=H;return G|0}function oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+32|0;c[d+48>>2]=c[b+48>>2];Ac(b,d);k=a[d+24+11>>0]|0;if(k<<24>>24<0)e=c[d+28>>2]|0;else e=k&255;if(e|0){if(k<<24>>24<0)i=c[d+28>>2]|0;else i=k&255;f=a[b+24+11>>0]|0;j=f<<24>>24<0?c[b+28>>2]|0:f&255;if(k<<24>>24<0)h=c[d+24>>2]|0;else h=d+24|0;g=j>>>0>>0;e=g?j:i;if(!((e|0)!=0?(Rd(h,f<<24>>24<0?c[b+24>>2]|0:b+24|0,e)|0)!=0:0))y=204;if((y|0)==204?i>>>0>=j>>>0&(g^1):0){l=H;return}if(k<<24>>24<0)e=c[d+24>>2]|0;else e=d+24|0;vb(14,c[d+48>>2]|0,e|0)|0;l=H;return}h=c[d+52>>2]|0;g=c[d+56>>2]|0;j=c[b+56>>2]|0;k=c[b+52>>2]|0;if((h|0)==(g|0)){if((k|0)!=(j|0)){ua(12,c[(c[k>>2]|0)+48>>2]|0)|0;if(!((j-k>>2)+-1|0)){l=H;return}else e=1;do{ua(12,c[(c[(c[b+52>>2]|0)+(e<<2)>>2]|0)+48>>2]|0)|0;e=e+1|0}while(e>>>0<=((j-k>>2)+-1|0)>>>0);l=H;return}e=a[b+24+11>>0]|0;if(e<<24>>24<0)e=c[b+28>>2]|0;else e=e&255;if(!e){l=H;return}ua(13,c[d+48>>2]|0)|0;l=H;return}if((k|0)==(j|0)){e=a[b+24+11>>0]|0;if(e<<24>>24<0)e=c[b+28>>2]|0;else e=e&255;if(!e){e=g;f=h;g=h}else{ua(13,c[d+48>>2]|0)|0;g=c[d+52>>2]|0;e=c[d+56>>2]|0;f=g}h=c[d+48>>2]|0;f=(e-f>>2)+-1|0;Wb(11,h|0,Bc(c[g>>2]|0)|0,0)|0;if(!f){l=H;return}else e=1;do{Wb(11,h|0,Bc(c[(c[d+52>>2]|0)+(e<<2)>>2]|0)|0,0)|0;e=e+1|0}while(e>>>0<=f>>>0);l=H;return}G=c[d+48>>2]|0;do if((j-k|0)<4|(g-h|0)<4)if((j-k|0)<4){n=h;m=h;f=0;k=(g-h>>2)+-1|0;j=0;e=0;y=170}else{f=0;i=(g-h|0)<4;h=(j-k>>2)+-1|0;e=0;g=0;y=177}else{f=0;p=(g-h>>2)+-1|0;q=c[h+((g-h>>2)+-1<<2)>>2]|0;r=0;n=h;h=(j-k>>2)+-1|0;m=c[k+((j-k>>2)+-1<<2)>>2]|0;e=0;g=0;i=c[k>>2]|0;a:while(1){j=n;k=m;while(1){w=c[j>>2]|0;j=q;z=h;m=k;h=i;b:while(1){n=m+48|0;q=j;A=g;o=h;while(1){if(Zc(o,w)|0){y=13;break b}if(Zc(m,q)|0)break;if(!(Zc(o,q)|0)){y=19;break b}oc(o,q);Wb(9,G|0,c[o+48>>2]|0,c[n>>2]|0)|0;g=A+1|0;k=p+-1|0;j=c[d+52>>2]|0;h=(A|0)>=(z|0);i=(r|0)>=(p|0);if(h|i){y=165;break a}else{p=k;q=c[j+(k<<2)>>2]|0;A=g;o=c[(c[b+52>>2]|0)+(g<<2)>>2]|0}}oc(m,q);h=z+-1|0;k=p+-1|0;j=c[d+52>>2]|0;g=(A|0)>=(z|0);i=(r|0)>=(p|0);if(g|i){y=166;break a}else{p=k;j=c[j+(k<<2)>>2]|0;z=h;m=c[(c[b+52>>2]|0)+(h<<2)>>2]|0;g=A;h=o}}if((y|0)==13){oc(o,w);o=A+1|0;h=z;n=m;g=o;o=c[(c[b+52>>2]|0)+(o<<2)>>2]|0}else if((y|0)==19){if(!(Zc(m,w)|0))break;oc(m,w);Wb(10,G|0,c[n>>2]|0,c[o+48>>2]|0)|0;n=z+-1|0;h=n;n=c[(c[b+52>>2]|0)+(n<<2)>>2]|0;g=A}j=r+1|0;m=c[d+52>>2]|0;k=(g|0)>(h|0);i=(r|0)>=(p|0);if(i|k){y=167;break a}else{r=j;j=m+(j<<2)|0;k=n;i=o}}if(!e){s=ie(12)|0;c[s+4>>2]=0;c[s+8>>2]=0;c[s>>2]=s+4;if((A|0)>(z|0)){f=s;e=s}else{n=A;while(1){f=c[(c[b+52>>2]|0)+(n<<2)>>2]|0;e=a[f+12+11>>0]|0;if(e<<24>>24<0)e=c[f+16>>2]|0;else e=e&255;if(e|0){Od(H,f+12|0);c[H+12>>2]=n;e=c[s+4>>2]|0;do if(e){k=a[H+11>>0]|0;j=k<<24>>24<0?c[H+4>>2]|0:k&255;k=k<<24>>24<0?c[H>>2]|0:H;c:while(1){h=e+16|0;g=a[h+11>>0]|0;i=g<<24>>24<0?c[e+20>>2]|0:g&255;f=i>>>0>>0?i:j;if((f|0)!=0?(E=Rd(k,g<<24>>24<0?c[h>>2]|0:h,f)|0,(E|0)!=0):0)if((E|0)<0)y=34;else y=36;else if(j>>>0>>0)y=34;else y=36;if((y|0)==34){f=c[e>>2]|0;if(!f){y=35;break}else e=f}else if((y|0)==36){y=0;f=j>>>0>>0?j:i;do if(f){f=Rd(g<<24>>24<0?c[h>>2]|0:h,k,f)|0;if(!f){y=38;break}if((f|0)>=0){y=43;break c}}else y=38;while(0);if((y|0)==38?(0,i>>>0>=j>>>0):0){y=43;break}g=e+4|0;f=c[g>>2]|0;if(!f){y=42;break}else e=f}}if((y|0)==35){f=e;c[H+16>>2]=f;g=e;break}else if((y|0)==42){f=e;c[H+16>>2]=f;break}else if((y|0)==43){f=e;c[H+16>>2]=f;g=H+16|0;break}}else{c[H+16>>2]=s+4;f=s+4|0;g=s+4|0}while(0);if(!(c[g>>2]|0)){e=ie(32)|0;c[e+16>>2]=c[H>>2];c[e+16+4>>2]=c[H+4>>2];c[e+16+8>>2]=c[H+8>>2];c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[e+28>>2]=c[H+12>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=f;c[g>>2]=e;f=c[c[s>>2]>>2]|0;if(f){c[s>>2]=f;e=c[g>>2]|0}Dc(c[s+4>>2]|0,e);c[s+8>>2]=(c[s+8>>2]|0)+1}Ue(H)}if((n|0)<(z|0))n=n+1|0;else{f=s;e=s;break}}}}v=e+4|0;g=c[v>>2]|0;d:do if(!g)y=64;else{t=a[w+12+11>>0]|0;s=t<<24>>24<0?c[w+16>>2]|0:t&255;t=t<<24>>24<0?c[w+12>>2]|0:w+12|0;h=g;while(1){k=h+16|0;j=a[k+11>>0]|0;n=j<<24>>24<0?c[h+20>>2]|0:j&255;i=n>>>0>>0?n:s;if((i|0)!=0?(D=Rd(t,j<<24>>24<0?c[k>>2]|0:k,i)|0,(D|0)!=0):0)if((D|0)<0)y=57;else y=58;else if(s>>>0>>0)y=57;else y=58;if((y|0)!=57)if((y|0)==58){y=0;i=s>>>0>>0?s:n;if((i|0)!=0?(C=Rd(j<<24>>24<0?c[k>>2]|0:k,t,i)|0,(C|0)!=0):0){if((C|0)>=0)break}else y=60;if((y|0)==60?(0,n>>>0>=s>>>0):0)break;h=h+4|0}h=c[h>>2]|0;if(!h){y=64;break d}}while(1){k=g+16|0;i=a[k+11>>0]|0;j=i<<24>>24<0?c[g+20>>2]|0:i&255;h=j>>>0>>0?j:s;if((h|0)!=0?(F=Rd(t,i<<24>>24<0?c[k>>2]|0:k,h)|0,(F|0)!=0):0)if((F|0)<0)y=69;else y=70;else if(s>>>0>>0)y=69;else y=70;if((y|0)==69){g=c[g>>2]|0;if(!g){y=77;break a}}else if((y|0)==70){y=0;h=s>>>0>>0?s:j;if((h|0)!=0?(B=Rd(i<<24>>24<0?c[k>>2]|0:k,t,h)|0,(B|0)!=0):0){if((B|0)>=0)break}else y=72;if((y|0)==72?(y=0,j>>>0>=s>>>0):0)break;g=c[g+4>>2]|0;if(!g){y=77;break a}}}if(!g){y=77;break a}x=c[(c[b+52>>2]|0)+(c[g+28>>2]<<2)>>2]|0;g=a[x+11>>0]|0;if(g<<24>>24<0)k=c[x+4>>2]|0;else k=g&255;j=a[w+11>>0]|0;n=j<<24>>24<0?c[w+4>>2]|0:j&255;if(g<<24>>24<0)i=c[x>>2]|0;else i=x;h=n>>>0>>0;g=h?n:k;if(!((g|0)!=0?(Rd(i,j<<24>>24<0?c[w>>2]|0:w,g)|0)!=0:0))y=86;if((y|0)==86?(y=0,k>>>0>=n>>>0&(h^1)):0){oc(x,w);h=c[v>>2]|0;e:do if(h|0){t=a[w+12+11>>0]|0;u=t<<24>>24<0?c[w+16>>2]|0:t&255;t=t<<24>>24<0?c[w+12>>2]|0:w+12|0;s=v;i=h;f:while(1){g=i;g:while(1){k=g+16|0;j=a[k+11>>0]|0;n=j<<24>>24<0?c[g+20>>2]|0:j&255;i=u>>>0>>0?u:n;do if(i){i=Rd(j<<24>>24<0?c[k>>2]|0:k,t,i)|0;if(!i){y=93;break}if((i|0)>=0)break g}else y=93;while(0);if((y|0)==93?(y=0,n>>>0>=u>>>0):0)break;g=c[g+4>>2]|0;if(!g){w=s;break f}}i=c[g>>2]|0;if(!i){w=g;break}else s=g}if((w|0)!=(v|0)){j=w+16|0;i=a[j+11>>0]|0;k=i<<24>>24<0?c[w+20>>2]|0:i&255;g=k>>>0>>0?k:u;do if(g){g=Rd(t,i<<24>>24<0?c[j>>2]|0:j,g)|0;if(!g){y=100;break}if((g|0)<0)break e}else y=100;while(0);if((y|0)==100?(y=0,u>>>0>>0):0)break;v=w+4|0;g=c[v>>2]|0;if(!g){i=w;while(1){g=c[i+8>>2]|0;if((c[g>>2]|0)==(i|0))break;else i=g}}else while(1){i=c[g>>2]|0;if(!i)break;else g=i}if((c[e>>2]|0)==(w|0))c[e>>2]=g;g=e+8|0;c[g>>2]=(c[g>>2]|0)+-1;g=c[w>>2]|0;do if(!g){g=0;i=w}else{i=c[v>>2]|0;if(!i){i=w;break}while(1){g=c[i>>2]|0;if(!g){g=0;break}else i=g}}while(0);u=i+4|0;t=c[(g|0?i:u)>>2]|0;s=i+8|0;if(t|0)c[t+8>>2]=c[s>>2];g=c[s>>2]|0;j=c[g>>2]|0;do if((j|0)==(i|0)){c[g>>2]=t;if((i|0)==(h|0)){h=t;j=0;break}j=c[g+4>>2]|0}else c[g+4>>2]=t;while(0);k=i+12|0;n=(a[k>>0]|0)!=0;if((i|0)!=(w|0)){I=w+8|0;g=c[I>>2]|0;c[s>>2]=g;c[((c[c[I>>2]>>2]|0)==(w|0)?g:g+4|0)>>2]=i;g=c[w>>2]|0;c[i>>2]=g;c[g+8>>2]=i;g=c[v>>2]|0;c[u>>2]=g;if(g|0)c[g+8>>2]=i;a[k>>0]=a[w+12>>0]|0;h=(h|0)==(w|0)?i:h}h:do if(n&(h|0)!=0){if(t|0){a[t+12>>0]=1;break}while(1){k=j+8|0;n=c[k>>2]|0;g=j+12|0;i=(a[g>>0]|0)!=0;if((c[n>>2]|0)==(j|0)){if(!i){a[g>>0]=1;a[n+12>>0]=0;i=j+4|0;g=c[i>>2]|0;c[n>>2]=g;if(g|0)c[g+8>>2]=n;c[k>>2]=c[n+8>>2];I=c[n+8>>2]|0;c[((c[I>>2]|0)==(n|0)?I:I+4|0)>>2]=j;c[i>>2]=n;c[n+8>>2]=j;h=(h|0)==(n|0)?j:h;j=c[n>>2]|0}g=c[j>>2]|0;if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=159;break}i=j+4|0;k=c[i>>2]|0;if(k|0?(a[k+12>>0]|0)==0:0){y=154;break}a[j+12>>0]=0;g=c[j+8>>2]|0;if((g|0)==(h|0)|(a[g+12>>0]|0)==0){y=153;break}}else{if(!i){a[g>>0]=1;a[n+12>>0]=0;g=c[n+4>>2]|0;i=c[g>>2]|0;c[n+4>>2]=i;if(i|0)c[i+8>>2]=n;c[g+8>>2]=c[n+8>>2];I=c[n+8>>2]|0;c[((c[I>>2]|0)==(n|0)?I:I+4|0)>>2]=g;c[g>>2]=n;c[n+8>>2]=g;I=c[j>>2]|0;h=(h|0)==(I|0)?j:h;j=c[I+4>>2]|0}i=c[j>>2]|0;g=c[j+4>>2]|0;if(i|0?(a[i+12>>0]|0)==0:0){y=136;break}if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=141;break}a[j+12>>0]=0;g=c[j+8>>2]|0;if((g|0)==(h|0)){g=h;y=135;break}if(!(a[g+12>>0]|0)){y=135;break}}j=c[g+8>>2]|0;j=c[((c[j>>2]|0)==(g|0)?j+4|0:j)>>2]|0}do if((y|0)==135){y=0;a[g+12>>0]=1;break h}else if((y|0)==136){if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=141;break}a[i+12>>0]=1;a[j+12>>0]=0;g=c[i+4>>2]|0;c[j>>2]=g;if(g|0)c[g+8>>2]=j;h=j+8|0;c[i+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(j|0)?g:g+4|0)>>2]=i;c[i+4>>2]=j;c[h>>2]=i;h=j;g=i;y=141}else if((y|0)==153){y=0;a[g+12>>0]=1;break h}else if((y|0)==154){if(g|0?(a[g+12>>0]|0)==0:0){h=g;g=j;y=159;break}a[k+12>>0]=1;a[j+12>>0]=0;g=c[k>>2]|0;c[i>>2]=g;if(g|0)c[g+8>>2]=j;h=j+8|0;c[k+8>>2]=c[h>>2];g=c[h>>2]|0;c[((c[g>>2]|0)==(j|0)?g:g+4|0)>>2]=k;c[k>>2]=j;c[h>>2]=k;h=j;g=k;y=159}while(0);if((y|0)==141){y=0;i=c[g+8>>2]|0;a[g+12>>0]=a[i+12>>0]|0;a[i+12>>0]=1;a[h+12>>0]=1;g=c[i+4>>2]|0;h=c[g>>2]|0;c[i+4>>2]=h;if(h|0)c[h+8>>2]=i;c[g+8>>2]=c[i+8>>2];I=c[i+8>>2]|0;c[((c[I>>2]|0)==(i|0)?I:I+4|0)>>2]=g;c[g>>2]=i;c[i+8>>2]=g;break}else if((y|0)==159){y=0;i=c[g+8>>2]|0;a[g+12>>0]=a[i+12>>0]|0;a[i+12>>0]=1;a[h+12>>0]=1;g=c[i>>2]|0;h=c[g+4>>2]|0;c[i>>2]=h;if(h|0)c[h+8>>2]=i;c[g+8>>2]=c[i+8>>2];I=c[i+8>>2]|0;c[((c[I>>2]|0)==(i|0)?I:I+4|0)>>2]=g;c[g+4>>2]=i;c[i+8>>2]=g;break}}while(0);Ue(w+16|0);ag(w)}}while(0);Wb(10,G|0,c[x+48>>2]|0,c[o+48>>2]|0)|0;break}I=Bc(w)|0;Wb(10,G|0,I|0,c[o+48>>2]|0)|0}while(0);if((y|0)==64){I=Bc(w)|0;Wb(10,G|0,I|0,c[o+48>>2]|0)|0}j=r+1|0;h=c[d+52>>2]|0;g=(A|0)>(z|0);i=(r|0)>=(p|0);if(g|i){y=168;break}else{r=j;n=h+(j<<2)|0;h=z;g=A;i=o}}if((y|0)==77){I=ib(8)|0;jf(I);c[I>>2]=1152;Yb(I|0,416,8)}else if((y|0)==165)if(h){n=j;m=j;j=r;y=170;break}else{h=z;y=177;break}else if((y|0)==166)if(g){n=j;m=j;j=r;y=170;break}else{g=A;y=177;break}else if((y|0)==167)if(k){n=m;k=p;y=170;break}else{y=177;break}else if((y|0)==168)if(g){n=h;m=h;k=p;y=170;break}else{h=z;g=A;y=177;break}}while(0);do if((y|0)==170){g=k+1|0;i=j>>>0>k>>>0;if(g>>>0>(((c[d+56>>2]|0)-n>>2)+-1|0)>>>0){if(i)break;Wb(11,G|0,Bc(c[m+(j<<2)>>2]|0)|0,0)|0;g=j+1|0;if(g>>>0>k>>>0)break;do{Wb(11,G|0,Bc(c[(c[d+52>>2]|0)+(g<<2)>>2]|0)|0,0)|0;g=g+1|0}while(g>>>0<=k>>>0)}else{h=c[(c[m+(g<<2)>>2]|0)+48>>2]|0;if(i)break;Wb(11,G|0,Bc(c[m+(j<<2)>>2]|0)|0,h|0)|0;g=j+1|0;if(g>>>0>k>>>0)break;do{Wb(11,G|0,Bc(c[(c[d+52>>2]|0)+(g<<2)>>2]|0)|0,h|0)|0;g=g+1|0}while(g>>>0<=k>>>0)}}else if((y|0)==177)if(!(g>>>0>h>>>0|i^1))do{ua(12,c[(c[(c[b+52>>2]|0)+(g<<2)>>2]|0)+48>>2]|0)|0;g=g+1|0}while(g>>>0<=h>>>0);while(0);if(!e){l=H;return}td(c[e+4>>2]|0);ag(f);l=H;return}function pc(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+560|0;B=C+524|0;c[C>>2]=0;A=C+512+12|0;Oe(e)|0;if((D|0)<0){y=1;x=5361;e=-e}else{y=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?5362:5367):5364}Oe(e)|0;z=D&2146435072;do if(z>>>0<2146435072|(z|0)==2146435072&0<0){p=+Qf(e,C)*2.0;if(p!=0.0)c[C>>2]=(c[C>>2]|0)+-1;if((i|32|0)==97){o=(i&32|0)==0?x:x+9|0;n=y|2;do if(!(g>>>0>11|(12-g|0)==0)){j=12-g|0;e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[o>>0]|0)==45){e=-(e+(-p-e));break}else{e=p+e-e;break}}else e=p;while(0);k=c[C>>2]|0;j=(k|0)<0?0-k|0:k;j=Fd(j,((j|0)<0)<<31>>31,A)|0;if((j|0)==(A|0)){a[C+512+11>>0]=48;j=C+512+11|0}a[j+-1>>0]=(k>>31&2)+43;m=j+-2|0;a[m>>0]=i+15;k=C+524|0;while(1){z=~~e;j=k+1|0;a[k>>0]=d[5392+z>>0]|i&32;e=(e-+(z|0))*16.0;if((j-B|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[j>>0]=46;j=k+2|0}if(!(e!=0.0))break;else k=j}B=j-B|0;j=(g|0)!=0&(B+-2|0)<(g|0)?g+2|0:B;Jd(b,32,f,A-m+n+j|0,h);cf(b,o,n);Jd(b,48,f,A-m+n+j|0,h^65536);cf(b,C+524|0,B);Jd(b,48,j-B|0,0,0);cf(b,m,A-m|0);Jd(b,32,f,A-m+n+j|0,h^8192);j=A-m+n+j|0;break}k=(g|0)<0?6:g;if(p!=0.0){m=(c[C>>2]|0)+-28|0;c[C>>2]=m;e=p*268435456.0}else{m=c[C>>2]|0;e=p}z=(m|0)<0?C+8|0:C+8+288|0;n=z;do{v=~~e>>>0;c[n>>2]=v;n=n+4|0;e=(e-+(v>>>0))*1.0e9}while(e!=0.0);if((m|0)>0){j=z;do{g=(m|0)<29?m:29;m=n+-4|0;if(m>>>0>=j>>>0){o=0;do{u=De(c[m>>2]|0,0,g|0)|0;u=Qe(u|0,D|0,o|0,0)|0;v=D;t=te(u|0,v|0,1e9,0)|0;c[m>>2]=t;o=gf(u|0,v|0,1e9,0)|0;m=m+-4|0}while(m>>>0>=j>>>0);if(o){j=j+-4|0;c[j>>2]=o}}while(1){if(n>>>0<=j>>>0)break;m=n+-4|0;if(!(c[m>>2]|0))n=m;else break}m=(c[C>>2]|0)-g|0;c[C>>2]=m}while((m|0)>0)}else j=z;if((m|0)<0){do{g=0-m|0;g=(g|0)<9?g:9;if(j>>>0>>0){o=0;m=j;do{v=c[m>>2]|0;c[m>>2]=(v>>>g)+o;o=S(v&(1<>>g)|0;m=m+4|0}while(m>>>0>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(!o)m=n;else{c[n>>2]=o;m=n+4|0}}else{j=(c[j>>2]|0)==0?j+4|0:j;m=n}n=(i|32|0)==102?z:j;n=(m-n>>2|0)>(((k+25|0)/9|0)+1|0)?n+(((k+25|0)/9|0)+1<<2)|0:m;m=(c[C>>2]|0)+g|0;c[C>>2]=m}while((m|0)<0);s=n}else s=n;if(j>>>0>>0){m=(z-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0<10)n=m;else{n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0);n=m}}else n=0;g=k-((i|32|0)!=102?n:0)+(((k|0)!=0&(i|32|0)==103)<<31>>31)|0;if((g|0)<(((s-z>>2)*9|0)+-9|0)){m=z+4+(((g+9216|0)/9|0)+-1024<<2)|0;if((((g+9216|0)%9|0)+1|0)<9){o=10;g=((g+9216|0)%9|0)+1|0;do{o=o*10|0;g=g+1|0}while((g|0)!=9)}else o=10;q=c[m>>2]|0;r=(q>>>0)%(o>>>0)|0;g=(m+4|0)==(s|0);if(!(g&(r|0)==0)){p=(((q>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(o|0)/2|0;e=r>>>0>>0?.5:g&(r|0)==(v|0)?1.0:1.5;if(y){v=(a[x>>0]|0)==45;p=v?-p:p;e=v?-e:e}c[m>>2]=q-r;if(p+e!=p){v=q-r+o|0;c[m>>2]=v;if(v>>>0>999999999)while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}v=(c[n>>2]|0)+1|0;c[n>>2]=v;if(v>>>0>999999999)m=n;else{m=n;break}}n=(z-j>>2)*9|0;g=c[j>>2]|0;if(g>>>0>=10){o=10;do{o=o*10|0;n=n+1|0}while(g>>>0>=o>>>0)}}}u=m+4|0;v=j;j=s>>>0>u>>>0?u:s}else{v=j;j=s}u=j;while(1){if(u>>>0<=v>>>0){t=0;break}j=u+-4|0;if(!(c[j>>2]|0))u=j;else{t=1;break}}g=0-n|0;do if((i|32|0)==103){s=(n|0)>-5?((((k|0)!=0^1)&1)+k|0)>(n|0):0;o=(s?-1:-2)+i|0;k=(((k|0)!=0^1)&1)+k+-1+(s?g:0)|0;if(!(h&8)){if(t?(w=c[u+-4>>2]|0,(w|0)!=0):0)if(!((w>>>0)%10|0)){m=10;j=0;do{m=m*10|0;j=j+1|0}while(!((w>>>0)%(m>>>0)|0|0))}else j=0;else j=9;m=((u-z>>2)*9|0)+-9|0;if((o|32|0)==102){m=m-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}else{m=m+n-j|0;m=(m|0)>0?m:0;r=0;k=(k|0)<(m|0)?k:m;m=o;break}}else{r=h&8;m=o}}else{r=h&8;m=i}while(0);q=k|r;o=(m|32|0)==102;if(o){s=0;j=(n|0)>0?n:0}else{j=(n|0)<0?g:n;j=Fd(j,((j|0)<0)<<31>>31,A)|0;if((A-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((A-j|0)<2);a[j+-1>>0]=(n>>31&2)+43;j=j+-2|0;a[j>>0]=m;s=j;j=A-j|0}j=y+1+k+((q|0)!=0&1)+j|0;Jd(b,32,f,j,h);cf(b,x,y);Jd(b,48,f,j,h^65536);if(o){o=v>>>0>z>>>0?z:v;n=o;do{m=Fd(c[n>>2]|0,0,C+524+9|0)|0;if((n|0)==(o|0)){if((m|0)==(C+524+9|0)){a[C+524+8>>0]=48;m=C+524+8|0}}else if(m>>>0>(C+524|0)>>>0){kd(C+524|0,48,m-B|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}cf(b,m,C+524+9-m|0);n=n+4|0}while(n>>>0<=z>>>0);if(q|0)cf(b,8335,1);if((k|0)>0&n>>>0>>0)while(1){m=Fd(c[n>>2]|0,0,C+524+9|0)|0;if(m>>>0>(C+524|0)>>>0){kd(C+524|0,48,m-B|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}cf(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!((k|0)>9&n>>>0>>0)){k=m;break}else k=m}Jd(b,48,k+9|0,9,0)}else{q=t?u:v+4|0;if((k|0)>-1){g=(r|0)==0;o=v;do{m=Fd(c[o>>2]|0,0,C+524+9|0)|0;if((m|0)==(C+524+9|0)){a[C+524+8>>0]=48;m=C+524+8|0}do if((o|0)==(v|0)){n=m+1|0;cf(b,m,1);if(g&(k|0)<1){m=n;break}cf(b,8335,1);m=n}else{if(m>>>0<=(C+524|0)>>>0)break;kd(C+524|0,48,m+(0-B)|0)|0;do m=m+-1|0;while(m>>>0>(C+524|0)>>>0)}while(0);z=C+524+9-m|0;cf(b,m,(k|0)>(z|0)?z:k);k=k-z|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Jd(b,48,k+18|0,18,0);cf(b,s,A-s|0)}Jd(b,32,f,j,h^8192)}else{j=y+3|0;Jd(b,32,f,j,h&-65537);cf(b,x,y);cf(b,e!=e|0.0!=0.0?(i&32|0?7300:5388):i&32|0?5380:5384,3);Jd(b,32,f,j,h^8192)}while(0);l=C;return ((j|0)<(f|0)?f:j)|0}function qc(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;c[y+16>>2]=e;x=y+24+40|0;q=e;e=0;j=0;n=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[2260]=75;e=-1;break}else{e=j+e|0;break}while(0);j=a[q>>0]|0;if(!(j<<24>>24)){w=87;break}else k=q;b:while(1){switch(j<<24>>24){case 37:{j=k;w=9;break b}case 0:{j=k;break b}default:{}}v=k+1|0;c[y+16>>2]=v;j=a[v>>0]|0;k=v}c:do if((w|0)==9)while(1){w=0;if((a[j+1>>0]|0)!=37)break c;k=k+1|0;j=j+2|0;c[y+16>>2]=j;if((a[j>>0]|0)==37)w=9;else break}while(0);k=k-q|0;if(d|0)cf(d,q,k);if(k|0){q=j;j=k;continue}m=j+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10){v=(a[j+2>>0]|0)==36;s=v?k:-1;p=v?1:n;m=v?j+3|0:m}else{s=-1;p=n}c[y+16>>2]=m;j=a[m>>0]|0;d:do if(((j<<24>>24)+-32|0)>>>0<32){o=j;n=0;k=(j<<24>>24)+-32|0;while(1){j=1<>2]=m;j=a[m>>0]|0;k=(j<<24>>24)+-32|0;if(k>>>0>=32){o=n;break}else o=j}}else o=0;while(0);if(j<<24>>24==42){k=m+1|0;j=(a[k>>0]|0)+-48|0;if(j>>>0<10?(a[m+2>>0]|0)==36:0){c[i+(j<<2)>>2]=10;n=1;j=m+3|0;k=c[g+((a[k>>0]|0)+-48<<3)>>2]|0}else{if(p|0){e=-1;break}if(d|0){n=(c[f>>2]|0)+(4-1)&~(4-1);v=c[n>>2]|0;c[f>>2]=n+4;n=0;j=k;k=v}else{n=0;j=k;k=0}}c[y+16>>2]=j;u=(k|0)<0;m=j;r=u?o|8192:o;v=n;u=u?0-k|0:k}else{j=fe(y+16|0)|0;if((j|0)<0){e=-1;break}m=c[y+16>>2]|0;r=o;v=p;u=j}do if((a[m>>0]|0)==46){j=m+1|0;if((a[j>>0]|0)!=42){c[y+16>>2]=j;o=fe(y+16|0)|0;j=c[y+16>>2]|0;break}j=m+2|0;k=(a[j>>0]|0)+-48|0;if(k>>>0<10?(a[m+3>>0]|0)==36:0){c[i+(k<<2)>>2]=10;o=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;j=m+4|0;c[y+16>>2]=j;break}if(v|0){e=-1;break a}if(d|0){t=(c[f>>2]|0)+(4-1)&~(4-1);k=c[t>>2]|0;c[f>>2]=t+4}else k=0;c[y+16>>2]=j;o=k}else{j=m;o=-1}while(0);p=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}t=j+1|0;c[y+16>>2]=t;k=a[(a[j>>0]|0)+-65+(4887+(p*58|0))>>0]|0;if(((k&255)+-1|0)>>>0<8){j=t;p=k&255}else break}if(!(k<<24>>24)){e=-1;break}m=(s|0)>-1;do if(k<<24>>24==19)if(m){e=-1;break a}else w=49;else{if(m){c[i+(s<<2)>>2]=k&255;s=g+(s<<3)|0;w=c[s+4>>2]|0;c[y>>2]=c[s>>2];c[y+4>>2]=w;w=49;break}if(!d){e=0;break a}Ec(y,k&255,f)}while(0);if((w|0)==49?(w=0,(d|0)==0):0){q=t;j=0;n=v;continue}n=a[j>>0]|0;n=(p|0)!=0&(n&15|0)==3?n&-33:n;k=r&-65537;s=(r&8192|0)==0?r:k;e:do switch(n|0){case 110:switch((p&255)<<24>>24){case 0:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 1:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 2:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}case 3:{b[c[y>>2]>>1]=e;q=t;j=0;n=v;continue a}case 4:{a[c[y>>2]>>0]=e;q=t;j=0;n=v;continue a}case 6:{c[c[y>>2]>>2]=e;q=t;j=0;n=v;continue a}case 7:{q=c[y>>2]|0;c[q>>2]=e;c[q+4>>2]=((e|0)<0)<<31>>31;q=t;j=0;n=v;continue a}default:{q=t;j=0;n=v;continue a}}case 112:{j=s|8;k=o>>>0>8?o:8;n=120;w=61;break}case 88:case 120:{j=s;k=o;w=61;break}case 111:{q=c[y>>2]|0;r=c[y+4>>2]|0;k=ne(q,r,x)|0;p=k;j=s;k=(s&8|0)==0|(o|0)>(x-k|0)?o:x-k+1|0;m=0;o=5351;w=67;break}case 105:case 100:{j=c[y>>2]|0;k=c[y+4>>2]|0;if((k|0)<0){j=He(0,0,j|0,k|0)|0;k=D;c[y>>2]=j;c[y+4>>2]=k;m=1;n=5351;w=66;break e}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?5351:5353):5352;w=66;break e}}case 117:{j=c[y>>2]|0;k=c[y+4>>2]|0;m=0;n=5351;w=66;break}case 99:{a[y+24+39>>0]=c[y>>2];q=y+24+39|0;p=k;n=1;m=0;k=5351;j=x;break}case 109:{j=Tf(c[2260]|0)|0;w=71;break}case 115:{j=c[y>>2]|0;j=j|0?j:7304;w=71;break}case 67:{c[y+8>>2]=c[y>>2];c[y+8+4>>2]=0;c[y>>2]=y+8;j=y+8|0;o=-1;w=75;break}case 83:{j=c[y>>2]|0;if(!o){Jd(d,32,u,0,s);j=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=t;j=pc(d,+h[y>>3],u,o,s,n)|0;n=v;continue a}default:{p=s;n=o;m=0;k=5351;j=x}}while(0);f:do if((w|0)==61){q=c[y>>2]|0;r=c[y+4>>2]|0;p=je(q,r,x,n&32)|0;o=(j&8|0)==0|(q|0)==0&(r|0)==0;m=o?0:2;o=o?5351:5351+(n>>4)|0;w=67}else if((w|0)==66){q=j;r=k;p=Fd(j,k,x)|0;j=s;k=o;o=n;w=67}else if((w|0)==71){w=0;s=Xc(j,o)|0;q=j;p=k;n=(s|0)==0?o:s-j|0;m=0;k=5351;j=(s|0)==0?j+o|0:s}else if((w|0)==75){w=0;m=0;k=0;p=j;while(1){n=c[p>>2]|0;if(!n)break;k=df(y+20|0,n)|0;if((k|0)<0|k>>>0>(o-m|0)>>>0)break;m=k+m|0;if(o>>>0>m>>>0)p=p+4|0;else break}if((k|0)<0){e=-1;break a}Jd(d,32,u,m,s);if(!m){j=0;w=84}else{n=0;while(1){k=c[j>>2]|0;if(!k){j=m;w=84;break f}k=df(y+20|0,k)|0;n=k+n|0;if((n|0)>(m|0)){j=m;w=84;break f}cf(d,y+20|0,k);if(n>>>0>=m>>>0){j=m;w=84;break}else j=j+4|0}}}while(0);if((w|0)==67){w=0;n=(q|0)!=0|(r|0)!=0;s=n|(k|0)!=0;n=x-p+((n^1)&1)|0;q=s?p:x;p=(k|0)>-1?j&-65537:j;n=s?((k|0)>(n|0)?k:n):k;k=o;j=x}else if((w|0)==84){w=0;Jd(d,32,u,j,s^8192);q=t;j=(u|0)>(j|0)?u:j;n=v;continue}s=j-q|0;r=(n|0)<(s|0)?s:n;n=r+m|0;j=(u|0)<(n|0)?n:u;Jd(d,32,j,n,p);cf(d,k,m);Jd(d,48,j,n,p^65536);Jd(d,48,r,s,0);cf(d,q,s);Jd(d,32,j,n,p^8192);q=t;n=v}g:do if((w|0)==87)if(!d)if(!n)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;Ec(g+(e<<3)|0,j,f);e=e+1|0;if((e|0)>=10){e=1;break g}}while(1){e=e+1|0;if((e|0)>=10){e=1;break g}if(c[i+(e<<2)>>2]|0){e=-1;break}}}while(0);l=y;return e|0}function rc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;h=c[2137]|0;if((a+-8|0)>>>0>>0)yb();b=c[a+-4>>2]|0;if((b&3|0)==1)yb();o=a+-8+(b&-8)|0;a:do if(!(b&1)){d=c[a+-8>>2]|0;if(!(b&3))return;k=a+-8+(0-d)|0;j=d+(b&-8)|0;if(k>>>0>>0)yb();if((k|0)==(c[2138]|0)){a=c[o+4>>2]|0;if((a&3|0)!=3){m=k;r=k;f=j;break}c[2135]=j;c[o+4>>2]=a&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}if(d>>>0<256){a=c[k+8>>2]|0;b=c[k+12>>2]|0;if((a|0)!=(8572+(d>>>3<<1<<2)|0)){if(a>>>0>>0)yb();if((c[a+12>>2]|0)!=(k|0))yb()}if((b|0)==(a|0)){c[2133]=c[2133]&~(1<<(d>>>3));m=k;r=k;f=j;break}if((b|0)!=(8572+(d>>>3<<1<<2)|0)){if(b>>>0>>0)yb();if((c[b+8>>2]|0)!=(k|0))yb();else e=b+8|0}else e=b+8|0;c[a+12>>2]=b;c[e>>2]=a;m=k;r=k;f=j;break}g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){a=c[k+16+4>>2]|0;if(!a){a=c[k+16>>2]|0;if(!a){i=0;break}else e=k+16|0}else e=k+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}if(e>>>0>>0)yb();else{c[e>>2]=0;i=a;break}}else{b=c[k+8>>2]|0;if(b>>>0>>0)yb();if((c[b+12>>2]|0)!=(k|0))yb();if((c[a+8>>2]|0)==(k|0)){c[b+12>>2]=a;c[a+8>>2]=b;i=a;break}else yb()}while(0);if(g){a=c[k+28>>2]|0;b=(i|0)==0;do if((k|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=i;if(b){c[2134]=c[2134]&~(1<>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(b){m=k;r=k;f=j;break a}else break}else yb();while(0);b=c[2137]|0;if(i>>>0>>0)yb();c[i+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[i+16>>2]=a;c[a+24>>2]=i;break}while(0);a=c[k+16+4>>2]|0;if(a)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[i+20>>2]=a;c[a+24>>2]=i;m=k;r=k;f=j;break}else{m=k;r=k;f=j}}else{m=k;r=k;f=j}}else{m=a+-8|0;r=a+-8|0;f=b&-8}while(0);if(m>>>0>=o>>>0)yb();d=c[o+4>>2]|0;if(!(d&1))yb();if(!(d&2)){a=c[2138]|0;if((o|0)==(c[2139]|0)){q=(c[2136]|0)+f|0;c[2136]=q;c[2139]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[2138]=0;c[2135]=0;return}if((o|0)==(a|0)){q=(c[2135]|0)+f|0;c[2135]=q;c[2138]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(d&-8)+f|0;b:do if(d>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){a=c[o+16+4>>2]|0;if(!a){a=c[o+16>>2]|0;if(!a){n=0;break}else e=o+16|0}else e=o+16+4|0;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}if(e>>>0<(c[2137]|0)>>>0)yb();else{c[e>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[2137]|0)>>>0)yb();if((c[b+12>>2]|0)!=(o|0))yb();if((c[a+8>>2]|0)==(o|0)){c[b+12>>2]=a;c[a+8>>2]=b;n=a;break}else yb()}while(0);if(g|0){a=c[o+28>>2]|0;b=(n|0)==0;do if((o|0)==(c[8836+(a<<2)>>2]|0)){c[8836+(a<<2)>>2]=n;if(b){c[2134]=c[2134]&~(1<>>0>=(c[2137]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(b)break b;else break}else yb();while(0);b=c[2137]|0;if(n>>>0>>0)yb();c[n+24>>2]=g;a=c[o+16>>2]|0;do if(a|0)if(a>>>0>>0)yb();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);a=c[o+16+4>>2]|0;if(a|0)if(a>>>0<(c[2137]|0)>>>0)yb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;if((a|0)!=(8572+(d>>>3<<1<<2)|0)){if(a>>>0<(c[2137]|0)>>>0)yb();if((c[a+12>>2]|0)!=(o|0))yb()}if((b|0)==(a|0)){c[2133]=c[2133]&~(1<<(d>>>3));break}if((b|0)!=(8572+(d>>>3<<1<<2)|0)){if(b>>>0<(c[2137]|0)>>>0)yb();if((c[b+8>>2]|0)!=(o|0))yb();else l=b+8|0}else l=b+8|0;c[a+12>>2]=b;c[l>>2]=a}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[2138]|0)){c[2135]=f;return}}else{c[o+4>>2]=d&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}b=f>>>3;if(f>>>0<256){a=c[2133]|0;if(a&1<>2]|0;if(a>>>0<(c[2137]|0)>>>0)yb();else{p=8572+(b<<1<<2)+8|0;q=a}}else{c[2133]=a|1<>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=8572+(b<<1<<2);return}a=f>>>8;if(a)if(f>>>0>16777215)b=31;else{b=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=8836+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;a=c[2134]|0;d=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[2137]|0)>>>0)yb();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){b=e+8|0;a=c[b>>2]|0;q=c[2137]|0;if(a>>>0>=q>>>0&e>>>0>=q>>>0){c[a+12>>2]=r;c[b>>2]=r;c[r+8>>2]=a;c[r+12>>2]=e;c[r+24>>2]=0;break}else yb()}}else{c[2134]=a|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[2141]|0)+-1|0;c[2141]=r;if(!r)a=8988;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[2141]=-1;return}function sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;a:do if((b+4|0)!=(d|0)){n=a[e+11>>0]|0;p=n<<24>>24<0?c[e+4>>2]|0:n&255;i=a[d+16+11>>0]|0;k=i<<24>>24<0?c[d+20>>2]|0:i&255;g=k>>>0